sebastiano.tronto.net

Source files and build scripts for my personal website
git clone https://git.tronto.net/sebastiano.tronto.net
Download | Log | Files | Refs | README

commit 2aa3b0d78e7f31598ba43a25ac374ef0e18ba220
parent 6927f1dac6136daddb65c38f61b0f160ff5efea2
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date:   Sat, 10 Sep 2022 00:10:18 +0200

Added blog post

Diffstat:
Asrc/blog/2022-09-10-netbooks/darkstar.jpg | 0
Asrc/blog/2022-09-10-netbooks/final.jpg | 0
Asrc/blog/2022-09-10-netbooks/hd.jpg | 0
Asrc/blog/2022-09-10-netbooks/netbooks.md | 305++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/blog/2022-09-10-netbooks/scramble.jpg | 0
Msrc/blog/blog.md | 1+
Msrc/blog/feed.xml | 7+++++++
7 files changed, 313 insertions(+), 0 deletions(-)

diff --git a/src/blog/2022-09-10-netbooks/darkstar.jpg b/src/blog/2022-09-10-netbooks/darkstar.jpg Binary files differ. diff --git a/src/blog/2022-09-10-netbooks/final.jpg b/src/blog/2022-09-10-netbooks/final.jpg Binary files differ. diff --git a/src/blog/2022-09-10-netbooks/hd.jpg b/src/blog/2022-09-10-netbooks/hd.jpg Binary files differ. diff --git a/src/blog/2022-09-10-netbooks/netbooks.md b/src/blog/2022-09-10-netbooks/netbooks.md @@ -0,0 +1,305 @@ +# Long live netbooks! + +[*Netbook*](https://en.wikipedia.org/wiki/Netbook) was a term used +around 2010 to describe small laptops. They could be anywhere from 8" +to 11" in screen size. One of the most popular lines of netbooks were the +[Asus eee PCs](https://en.wikipedia.org/wiki/Asus_Eee_PC). + +The appeal was clear: you could bring this tiny computer around and take +advantage of any free wifi connection - be it on a train, in a pub or +at school - to surf the web. + +Netbooks had an unfortunate destiny for at least two reasons. Firstly, +laptop technology was not at a point where you could have a small, +relatively powerful and cheap device all in one. Most netbooks were +underpowered and struggled to run Windows out of the box. Secondly, +smartphones and tablets, that came out very shortly after, quickly +overtook the netbooks' market share and sent them to oblivion. + +This post is going to be in two parts: first I want to talk about the +netbook I got in 2010 and how it turned out to be useful in 2022. The +second part is going to be a list of steps I took to set it up after +re-installing OpenBSD on it. + +## Part 1: My "darkstar" + +### In the 2010's + +Back in 2010, when I was in high school, I started going on 4-5 days long +trips about once every two months or so. I did not have a laptop, only a +desktop PC, so my mother thought it was a good idea to get me a netbook. +She chose an Asus 1001px, a very standard 10" netbook. It was in many +ways un unremarkable machine, with 1Gb of ram a weak dual core CPU. But +it got its job done. + +![My netbook](darkstar.jpg) + +It ran some Windows monstrosity that I did not dare touching (was it +Vista or 7?). I immediately installed Linux on it. My favorite distro +at the time was [Slackware](http://www.slackware.com/), but I decided +to try out Arch on this one. I used the hostname *darkstar*, because +it was the default on my favourite distro and it fit nicely with it's +black plastic. I have used that name for this laptop on every other OS +I installed on it ever since. + +Arch Linux was a bad choice: since I would use this netbook only once +every two months, every time I updated it something broke. Or, as an Arch +fanboy would say nowadays, "something required manual intervention". At +some point I got rid of Arch and installed Slackware. + +I also used it without problems at the beginning of university, in 2013, +but after a few months I bought a more powerful 15" regular laptop. +All in all I have not used my darkstar much, but it was a useful tool. + +### Distro hopping in 2020 + +When the first lockdowns came in March 2020 I had decided to use my +netbook for some little experiments. Nothing crazy, just trying out some +distros and play around with them - had *distro-hopped* since 2011 or so. + +I installed [Alpine](https://www.alpinelinux.org/) first. It was fine, +but the lack of man pages by default did not amuse me. Then I tried +[Void](https://voidlinux.org/), that I ended up installing on my main +laptop later that year and I am still using as my main OS to this day. +Finally I decided to try something different and went with OpenBSD. + +### Backpacking in 2022 + +Earlier this year I traveled around Europe for a couple of weeks, +mainly to attend the +[Rubik's Cube European Championship](https://www.worldcubeassociation.org/competitions/Euro2022) +and other events. I wanted to travel with just a backpack, no suitcase, +and my main laptop is quite large and heavy. I did not want to rely on +my smartphone alone, so I thought that carrying around my old netbook +could be a good compromise. + +I kept OpenBSD, because I figured I would mostly use it in tty only, no X, +and the command line utilities seem more polished and cohesive on +OpenBSD than on Linux. Using something like Firefox was doable in case +of emergency, but definitely not a pleasant experience. Some things +like streaming videos from YouTube were completely impossible - +but there were workarounds like using +[yt-dlp](https://github.com/yt-dlp/yt-dlp). + +I decided to buy a larger battery, that also made it stand a bit taller, +kinda like a typewrite, and some extra RAM - I maxed it out at 2Gb, it +cannot handle more. Since the hard drive was not easily accessible without +taking apart the whole thing, I did not upgrade to an SSD drive at first. +I was afraid of not being able to detach and re-attach the keyboard and +touchpad connectors without damaging them. + +My little netbook turned out to be more useful than I thought: the +organization team at a cube competition I attended during that trip was +short on laptops, and mine was perfectly capable of displaying pdf files. +The fact that there was no file manager installed made it a bit hard +for other people to operate it when I was not around, but in the end we +managed to use it. + +![My netbook getting work done at a cube competition](scramble.jpg) + +After the trip I kept using it occasionally, as a "sofa laptop". I wrote +a couple of these blog posts on it. Who needs more than 1Gb of ram to +write some Markdown and push it with rsync? + +A few weeks ago I changed my mind about the hard drive and tried +disassemblying *darkstar* completely, just to reassemble it and check +that all went well. And it did! So I bought a cheap SSD and used it to +replace the original hard drive. + +![The original hard disk and all the pieces I had to remove to reach it](hd.jpg) + +Of course when putting everything back together I somehow improperly +attached the keyboard, so that it worked in the BIOS but not after boot, +and I also damaged the touchpad connector. Luckily I was able to fix +both these issues. + +I was finally ready to install OpenBSD 7.1 on the new SSD. + +## Part 2: Installing and configuring OpenBSD + +This section is probably more useful for me as a personal note than for +anyone else who might be reading it. Nonetheless I figured people might +be curious, and it does not hurt to publish it here. If you don't care +about it, just skip to the "Conclusion" section at the end. + +The whole install process was super simple and took about 6 minutes. +The new SSD drive probably helped a lot here. After the installation of the +base system was completed, I made a few tweaks and added some packages. +I am not one of those cool people who have a git repository with all their +config files and script that put everything into place automatically, I just +do everything by hand. Since I don't reinstall my OS every other day it is +not a big deal. + +### Security patches + +First I updated the base system by installing the newest security patches +with `syspatch(8)` + +``` +# syspatch +Get/Verify syspatch71-001_wifi.tgz 100% |********************| 4423KB 00:003 +Installing patch 001_wifi +syspatch: updated itself, run it again to install missing patches +``` + +Ok then, one more time + +``` +# syspatch +(...) +Errata can be reviewed under /var/syspatch +``` + +All good now! + +### Enabling doas for the regular user + +OpenBSD's `doas` is roughly the equivalent of Linux's `sudo`. Unlike `sudo`, +we just need a one-line config file to use it: + +``` +# echo 'permit persist :wheel' > /etc/doas.conf +``` + +### Swap caps lock and escape + +I like to have the Caps Lock key function as Escape, and vice versa. To have +this in X one can use `setxkbmap -option caps:swapescape`, but for the OpenBSD +console we need to use `wsconsctl(8)`, or to edit `wsconsctl.conf(5)` if we +want to make it permanent: + +``` +# cat > /etc/wsconsctl.conf +keyboard.map+="keycode 58 = Escape" +keyboard.map+="keycode 1 = Caps_Lock" +^D +``` + +The change won't happen until we reboot or we issue the +corresponding `wsconsctl` commands. + +### Generating ssh keys + +Simply run + +``` +$ ssh_keygen +``` + +to get a new pair for RSA keys. Using another device (with its own ssh key), I then +copy the public key to my server's `.ssh/authorized_keys` file. + +### Installing and configuring syncthing + +I use [syncthing](https://syncthing.net/) to share some files and folders +between my devices. It is a nice and flexible piece of software that does +not rely on any centralized service. I use it both to keep important files +synchronized between my main devices and to quickly exchange +data locally between my phone and my laptop (e.g. pictures). One of the +advantages about its decentralized structure is that in the latter case +I do not need an internet connection (nor a cable). + +After installing syncthing with + +``` +# pkg_add -u syncthing +``` + +I enabled the corresponding service + +``` +# rcctl enable syncthing +``` + +I also want it to run as my user instead as the default `_syncthing` user: + +``` +# rcctl set syncthing user sebastiano +``` + +Finally, I had to adjust the file descriptor limits. As documented in the +official doc `/usr/local/share/doc/pkg-readmes/syncthing`: + +``` +Syncthing is fairly hungry for file descriptors and the default limits may be +insufficient. On OpenBSD, Syncthing uses kqueue(2) to "watch" files, and since +kqueue(2) doesn't support recursive watching, each file has be watched +individually. The upshot of this is that each file in a watched folder will use +one file descriptor. + +If you run Syncthing via the rc.d(8) script, then you can give +Syncthing more file descriptors by adding the following to login.conf(5): + + syncthing:\ + :openfiles-cur=4096:\ + :openfiles-max=4096:\ + :tc=daemon: + +Don't forget to rebuild the login.conf.db file (if necessary): + + # [ -f /etc/login.conf.db ] && cap_mkdb /etc/login.conf + +Note that in addition to ulimits, there is a kernel-level file descriptor limit +which may also need to be adjusted. This limit is managed through the +kern.maxfiles sysctl(8). +``` + +So let's be generous and set these limits very high: + +``` +# echo "kern.maxfiles=4000000" > /etc/sysctl.conf +# cat > /etc/login.conf + +syncthing:\ + :openfiles-cur=1000000:\ + :openfiles-max=1000000:\ + :tc=daemon: +^D +``` + +I can then configure syncthing using its web-based interface. To avoid +opening up a full-fledged web browser on this poor little thing, I can +use *ssh port forwarding* from my other laptop: + +``` +# ssh -N -L 8888:localhost:8384 darkstar +``` + +(I won't go into detail on this command; `darkstar` is the hostname of my +netbook, `8384` is syncthing's default port for its web-based interface, +`8888` was picked arbitrarily.) + +I can then open `http://localhost:8888` from my other laptop to access +my netbook's syncthing configuration and add other devices and shared +folders. + +### All the rest + +Now all that is left to do is pretty straightforward: install some more programs +(such as a browser, a media player and a pdf reader), copy my config files (e.g. +`.profile`, `.nexrc`) from my shared folder, clone some of my git repos. + +Nothing that is worth describing in detail here. + +## Conclusion + +I like my netbook, and I am glad that I found some practical use for +it even after 12 years. It's size make it a nice sofa companion, and +its clicky keyboard is just a pleasure to type on - much better than the +mushy one of my main laptop! It is always a pleasure for me to make good +use of a piece of hardware that most people would consider obsolete and +throw away without thinking twice. + +Netbooks were not successful in their time, but I think similar devices +could find their niche today. After all, 13" laptops are quite popular +among the few who actually need one over a tablet or a smartphone. I +am even considering getting an 11" laptop as my next main device - but +of course I would never replace my current one as long as it is working +fine :-) + +Long live netbooks! + +To conclude, here is a picture of my netbook being used to write this +very post: + +![My netbook working on this blog post](final.jpg) diff --git a/src/blog/2022-09-10-netbooks/scramble.jpg b/src/blog/2022-09-10-netbooks/scramble.jpg Binary files differ. diff --git a/src/blog/blog.md b/src/blog/blog.md @@ -2,6 +2,7 @@ [RSS Feed](feed.xml) +* 2022-09-10 [Long live netbooks!](2022-09-10-netbooks) * 2022-09-05 [Pipe man into col -b to get rid of \^H](2022-09-05-man-col) * 2022-08-14 [How I update my website](2022-08-14-website) * 2022-07-07 [The man page reading club: shutdown(8)](2022-07-07-shutdown) diff --git a/src/blog/feed.xml b/src/blog/feed.xml @@ -9,6 +9,13 @@ Thoughts about software, computers and whatever I feel like sharing </description> <item> +<title>Long live netbooks!</title> +<link>https://sebastiano.tronto.net/blog/2022-09-10-netbooks</link> +<description>Long live netbooks!</description> +<pubDate>2022-09-10</pubDate> +</item> + +<item> <title>Pipe man into col -b to get rid of \^H</title> <link>https://sebastiano.tronto.net/blog/2022-09-05-man-col</link> <description>Pipe man into col -b to get rid of \^H</description>