QB64 Super Dark Blue color theme

Towards the end of 2021, I was playing with QB64 and thought that its default color scheme—called Super Dark Blue—was quite neat. It reminded me of QuickBASIC, which is what the whole program is supposed to do, but the colors felt vivid and modern. Take a look: QB64 with its default color configuration. “Naturally,” I wondered if I could adopt those colors in VSCode and Windows Terminal, as these are the apps I look at the most throughout a work day. I quickly ruled out VSCode because defining a theme seems non-trivial, but creating a scheme for Windows Terminal was very easy.

April 20, 2022 · Tags: <a href="/tags/lab-notes">lab-notes</a>, <a href="/tags/x11">x11</a>
Continue reading (about 3 minutes)

Abandoning GAFYD

If you know what GAFYD stands for and have felt that signing up for a free account years ago was a mistake, you know you are in trouble right now. Those accounts are shutting down. The time has come to either pay up or move out, and you should decide what to do ASAP. It took me weeks of active effort to move my and my family’s data out of GAFYD and put it back into Google consumer accounts and other non-Google services. This post is essentially a recollection of my lab notes on what I did. The text is long and haphazard due to the many things to cover. I’ll start with a brief explanation of what GAFYD was, what’s happening now, and what’s wrong with it. After that, I’ll sketch what my new setup is and how I succeeded in moving some of the more complex services. Here is the outline:

March 28, 2022 · Tags: <a href="/tags/google">google</a>, <a href="/tags/lab-notes">lab-notes</a>
Continue reading (about 21 minutes)

Windows 10 on a Mac Pro 2013

The Mac Pro 2013 is the most powerful machine I have at home. I love the hardware looks, its small form factor and its quietness, plus it is still fast enough for my needs. As I realized I hadn’t used macOS for months and I needed to recover the SSD space that this system was using, I’ve done the unthinkable: I have installed Windows 10 as the only OS on this machine. Here is all you need to know to make Windows 10 work well on this hardware, no matter if you choose to use Boot Camp or do a full clean install as I did.

March 1, 2022 · Tags: <a href="/tags/lab-notes">lab-notes</a>, <a href="/tags/mac">mac</a>, <a href="/tags/windows">windows</a>
Continue reading (about 13 minutes)

Configuring SSH access into WSL 1 and WSL 2

One of the reasons I like macOS is that it is a Unix system. Thanks to this, it’s trivial to set up an SSH server to remotely access and administer the machine, which in turn has allowed me to have a nice and powerful desktop computer which I can also leverage when I’m on the go. Moving to Windows full time, as I briefly touched upon in My story with Windows, required that I could do the same on this platform. I knew that Windows ships with an SSH server and that it works well with VSCode, but I am still much more comfortable developing my side projects on a Unix system. Windows has WSL, which had proven to be sufficient for my needs, but WSL is still a separate environment from Windows—and the distinction rears its ugly head when trying to remote into the machine.

February 27, 2022 · Tags: <a href="/tags/lab-notes">lab-notes</a>, <a href="/tags/windows">windows</a>
Continue reading (about 7 minutes)

Updating Google Domains from DD-WRT

I have had a Netgear WNDR3700v2 router for a few years already and I bought this model specifically because I could flash it with the open-source DD-WRT firmware. The reasons remain the same as the ones I had in 2006—the key ones being: the ability to run a Dnsmasq DNS/DHCP server for my local network; and the ability to update a single Dynamic DNS address so that I can access my home network when I’m on the go.

November 7, 2020 · Tags: <a href="/tags/lab-notes">lab-notes</a>, <a href="/tags/router">router</a>
Continue reading (about 6 minutes)

Configuring Windows for key-based SSH access

Windows Server 2019 and Windows 10 both ship with OpenSSH (server and client). Installing these components is a breeze, but the official documentation to set everything up is either wrong or incomplete. I wanted to set up key-based authentication and this took quite a bit of poking until I figured out all the right knobs. Here are the lab notes from my adventure.

October 30, 2020 · Tags: <a href="/tags/lab-notes">lab-notes</a>, <a href="/tags/windows">windows</a>
Continue reading (about 7 minutes)

Novel color scheme for xterm

Almost two years ago, I stopped using white on black terminal windows. I found that such a setup strained my eyesight significantly and disturbed my focus. However, the complete opposite—black on white—is not much better after staring at the screen for hours: a yellowish tinted background works much better in my personal case. The OS X Terminal emulator comes with a color set that I find quite pleasant: Novel. It is a “light background”, low-contrast theme so it is easier on the my eyes. Here is how it looks like:

September 23, 2013 · Tags: <a href="/tags/lab-notes">lab-notes</a>, <a href="/tags/x11">x11</a>
Continue reading (about 2 minutes)

Setting up my old Mac Mini G4 as a development machine

I've spent quite a few time last week setting up my old Mac Mini G4 — a PPC 1.2GHz with 1GB of RAM running NetBSD/macppc current — as a "workstation" for the development of Kyua and other tools for NetBSD. Yes, this machine is very slow, but that's the whole point of the exercise I'm going to narrate below. I recently got approval from the NetBSD core team to import Kyua into the NetBSD source tree and replace ATF with it... which is great, but when thinking about it objectively, I am reluctant to unnecessarily "punish" all NetBSD users by increasing the build time of the system significantly. Don't get me wrong: Kyua itself runs efficiently on old machines, but building the code — particularly the hundreds of tests that come with it — takes just too long. This slowdown is not too noticeable on a relatively-modern machine, but it's unacceptable on not-so-old machines. Of course, I could proceed with the import right now (with the code disabled by default) and make it leaner later, but this would cause quite a first bad impression on our users. So it's better to delay the import a little bit until, at least, I have had a chance to simplify some core parts of the code. Mind you, this simplification work is already in progress and quite advanced: it consists on modularizing (as separate processes) some critical parts of the code and writing these with a much simpler style and in plain C. But back to the original point of my post. The first thing to mention about this experience is that with some effort and long waits, I've got a pretty decent setup for development even on this old machine. From time to time, I miss having a real Unix desktop at hand for development (no OS X, you are not one of those). The GUI behaves relatively well with a 1920x1200 display, running Fluxbox, traditional xterms, Mutt for GMail access and a bunch of other applications. Unfortunately, too many things feel really sluggish. A few specific examples: Firefox 16 is barely usable. I'm not sure there are many alternatives to decent web browsing for such an old non-Intel platform. Dillo is blazing fast and allows me to access online documentation and mailing list archives (just enough for development), but it's pretty much useless for any other purpose given the "Web 2.0".Any operation that involves pkgsrc takes ages. Even when building the simplest packages, one can notice the system crawl through all of the pkgsrc infrastructure. Sometimes this is the fault of a bad algorithm; other times it's just sh(1) being the wrong tool for something as complex as pkgsrc internals.Things like basic code editing in Emacs 24 are slow at responding to typing. Disabling font lock mode makes it feel fast again, but it's just surprising to see that even color coding is slow.I still remember my old and trusty machine from 10 years ago (a Pentium II 233 MHz): with a similar setup, it was significantly snappier. Yes, software has evolved and these packages now have many more features... but really, does editing a text file have to be sluggish? Leaving aside sluggishness, there is also the problem of instability. NetBSD/macppc is a tier 2 port, and things don't work as well as one would like. I personally would enjoy bringing this port to tier 1... but I currently lack the time (and basic knowledge of the architecture) to do so :-/ Anyway, the result of this exercise: the new code I'm writing to modularize Kyua builds damn fast in this machine, and keeping it this way is the whole point of having such an old machine as a build environment. So I'll try to keep using it to develop these new components of Kyua.

October 22, 2012 · Tags: <a href="/tags/kyua">kyua</a>, <a href="/tags/lab-notes">lab-notes</a>, <a href="/tags/mac">mac</a>, <a href="/tags/netbsd">netbsd</a>
Continue reading (about 3 minutes)