Posts
Standard methods missing in Ruby C API
For a few years now, I’ve been using my Ruby-enhanced MicroEMACS to write editor extensions. I implemented this feature using the Ruby C API , which allows Ruby code to manipulate the edit buffer. But when I tried to build the editor on Linux Mint 22 (Ubuntu 24.04), I discovered that the Time.now class method is no longer available in editor extensions. A similar issue occurred on Fedora 42: the Symbol#to_s instance method doesn’t produce the expected result.
September 7, 2025
JavaScript is a Wonderful, Terrible Language
I was forced to learn a tiny bit of JavaScript in order to fix some problems I had with the Hugo Hextra theme I’m using. I made a newbie blunder during that process, which led me to attempt to learn more about this ubiquitous language. I started working through with the MDN JavaScript Guide , and after only a few minutes I came across language features that made me laugh out loud or barely suppress vomiting.
September 3, 2025
Giscus Lazy Loading in Hugo Hextra Theme
The Hugo Hextra theme has a feature that allows you to enable Giscus comments on selected pages. The Hextra documentation for the Giscus feature is a good start, but to make this feature usable, I did two things that are either not documented or not implemented.
August 26, 2025
Tiny House 12: It's Done, and Mistakes Were Made Along The way
I installed the last piece of siding yesterday evening, and hemmed the last two curtains this morning, so I think the tiny house is done. The area around it looks like the typical construction site disaster zone, but I started to clean that up this morning, too.
August 16, 2025
Nice Try, Caddy
I recently became aware of Caddy , a relative newcomer (compared to Apache) in the field of web servers. It had a number of attactive features: a single executable, easy-to-understand configuration language, and automatic SSL using Let’s Encrypt. I gave it a good try as an Apache replacement, but it failed in two areas: Anubis and WebDAV.
August 7, 2025
Tiny House 11: Siding, internet, nesting
The shiplap siding finally showed up two days ago, so I immediately started painting some of the boards. Then after they’d dried, I spent the next day and a half installing them on the house.
August 3, 2025
Comparing Linode and Digital Ocean
On Sunday, Linode had a serious outage in their Newark data center , and the VPS that hosts this web site was down for nearly 24 hours. The Koha installations for two of the libraries in Vermont that I support were down for less time, but still many hours; thankfully these libraries weren’t open on Sunday. After this incident, I decided to look at Digital Ocean as a possible replacement for Linode. Since I use this VPS mostly for serving static content, I ran some Apache benchmark tests to compare the two services.
July 29, 2025
Protecting a Web Site with Anubis and Apache
In an earlier post, I described using Anubis to block AI scrapers from our library’s Koha installation. That worked well enough that I decided to try using Anubis to protect my non-CGI web site that has some static content and a few Web-based services.
July 23, 2025
Tiny House 10: Roof, Floor, Trim
Progress has been slow, due to numerous trips to the Bay Area for family duty, and the fact that I keep running out of materials and have to wait for orders to arrive. But this week I was finally able to get to a big milestone: the house is finished, except for the shiplap siding, which has been on backorder for 2.5 months. I will now have to call the supplier, get my money back, and find another source for the shiplap.
July 20, 2025