12 Feb 2026 ------------ (Un)Productively (un)productive ft. 9front Had quite a productive/unproductive, productively unproductive journey... It goes back to wanting to make the SQFMI Beepy's LCD and keyboard work on non-Linux. Not sure how to, I started to look into kernel modules, loadable kernel modules, userland options, etc. Originally I guess NetBSD would have higher flexibility in helping with experiments, but it turned into a mental roller coaster once it got installed on my laptop. It's totally on me. I felt uncomfortable seeing the pf.conf in /etc while there is NPF; I got quite frustrated when having to install doas for elevated privilege; I saw how more complicated xdm's config file is; Every tiny little things were like asking me why go for a more "traditional" option while there are experienced people polishing and making things easy, secure for everyday use...Maybe I am just lazy? But it led me into thinking about why don't do it in OpenBSD. I think the reasons that I was worried about doing it in OpenBSD were updates and the presentation on how to get started writing device drivers. From the Internet search, OpenBSD removed loadable kernel module support long long time ago, probably because it is a major source of security problems. It makes perfect sense and putting kernel modules in the kernel is definitely a more secure option. But how to cope with the half-yearly updates? I don't know enough about it, or simply not updating? But the feeling of having redundant packet filter in the NetBSD, needing to use doas knowing that it works better in OpenBSD in terms of "persist", and given that there are people relentlessly simplifying and making secure of each and every single tool in the OpenBSD, I kept thinking why don't just look into what we can do in OpenBSD? I then installed OpenBSD again, but still keep looking for materials and tutorials about working with hardware. Couldn't remember how, I learned about Plan 9. Did some reading, and I think it is the shiniest "new" idea happened in the "old" days. The idea of having literally everything as file sounds very fascinating to me - needing as simple as shell script to interact with hardware just blew my mind. I started digging for more. The most common reason, even on 9front FQA, to not use Plan 9 made me smile: I am more than ready to have no modern browser on my computer! Of course the Kangaroo mini PC prepared me for having no modern browser, but what resonated with me the most would be the vision of how distributed system should be. With a protocol to get files, which can be anything, it is a super- charged Gopher. I get how it naturally wouldn't be compatible with HTTP-based Internet...In an alternative universe, every machine including mobile ones would just be accessing files - some of them are "web pages", some of them are abstract of hardware, some of them are "web applications". People use cheap or expensive terminals that connects to owned or rented CPU processing power, to access files that may be local or remote. This would a seamless "cloud" world that everyone doesn't need to care about where are their computer and files. Plan 9, or to make it work on an old X240 that I bought recently, 9front, are nicely bundled so that I didn't need heavy customisation to make the computer work for me, just like OpenBSD. Among the goodies, I like rio the most. Its simplicity and straightforward use got me. And only by reading papers did I realise X codes contribute to nearly, if not more than, half of the code in an OS. In my config file backup, X11 config files are also the majority, while others are simply security related or to help me get back to my VPS, Git, etc. The rethink of what a window system should do is really refreshing, and how it take up the responsibility of actually displaying leave more bandwidth for application to actually be responsible for more logics. That's nice. I am not yet there but I am quite sure that I want to try writing a desktop application in Plan 9. Acme is also something that pushed me to think out of the box. I did feel a bit frustrated when I need to reach out to a mouse all the time, comparing to keyboard shortcuts that I have with i3, Tmux and VIM. But after watching Russ Cox's video, "A Tour of the Acme Editor", I like it! I started experimenting by setting up Go, then write some simple codes. I noticed that once I get familiar with when I should reach out to my mouse, it feels natural. I now know why I like i3 more than a floating window manager - I can expect where a new window will appear. Acme is even better. With plumber, I can use any blank space in the editor to run commands, or button 3 it to use it as a file manager. Dragging and dropping, using button 1 and 3 for scrolling, all helped me work faster. The whole idea of not basing things around teletypes is not for everyone, I get it. So far I think it works for me. I also like it being simple and easy. It is very lucky that Mr. Richard Miller built a Raspberry Pi image, with GPIO and, if I am not mistaken, SPI support too! So back to the Beepy challenge I have, maybe I will try Plan 9 on that. (Un)Productively (un)productive times.