Posts
Using DD-WRT in Repeater Mode
I bought my mother an Opal travel router so that she could have a private network in her apartment, separate from the public building-wide wi-fi network. This would improve security and prevent other people from seeing her devices on the network, including her printer. The Opal has a Repeater mode that is easy to set up, it and worked fine for a while. But the Opal turned out to be unreliable, crashing at unpredictable times, so I decided to see if I could replace it with an old Linksys WRT54GL router running DD-WRT .
July 18, 2025
Blocking Koha Attacks with Anubis
In an earlier post, I described my attempt to block attacks on our library’s Koha installation. That attempt used iptables to block individual attackers. But this week our Koha was subject to attacks from nearly 1000 bots, probably out-of-control AI web scrapers, slowing Koha to a crawl. The iptables solution would be impractical now, so instead I installed a new-ish bot blocker called Anubis .
July 11, 2025
Images With Links in Markdown
When I converted this site’s Hugo themes to Hextra and Gallery, I was determined to find a way to insert image links into posts, where clicking on a small image would link to the full-sized image. I also wanted a caption to appear under the image. It turns out there is a way to do this with Markdown, but the necessary information wasn’t all in one place, and I had to piece it together.
July 8, 2025
Flower Power
The wildflowers were out in force today on my usual weekly hike to Upper Rock Lake for a swim. The trail starts at 5700 feet and climbs to around 6800 feet as it loops around Bowman Mountain. The loop is around eight miles— not sure exactly. The flowers are different every week, but I think they’re at their peak right now. Lupine Penstemon and butterfly
July 7, 2025
Fixing Search Problems in Hugo Hextra theme
The Hugo Hextra theme used by this blog has a useful search feature, implemented using the popular FlexSearch library. But after playing with search for a while, I discovered that it often returned only a small subset of the expected posts. For example, my blog has 20 posts that contain the word “firefox”, but search displayed only five of those posts. Here I describe how to fix this problem, which actually turned out to be several problems.
July 6, 2025
Tiny House 9: Insulation, roof prep, and an expensive mistake
I haven’t been able to work much on the tiny house due to family obligations involving frequent trips to the SF Bay Area, and delays on material deliveries. But I finally received the roofing panels and some extra strapping yesterday, so I was able to make a little progress.
July 3, 2025
Enlarging the Firefox Scrollbar
On Linux Mint, the scrollbar in Firefox is very narrow, and doesn’t appear unless you hover the mouse cursor over it. This is a problem for my mom, who refuses to use the scroll wheel on her mouse, and insists on scrolling the hard way. But the scrollbar is so small, she has to struggle slowly and tediously to use it. Here is a fix for the ridiculously hard-to-see scrollbar.
June 28, 2025
Csup email client
Terminal-based email clients may seem like an anachronism from the 1970s, but they have their place even now. They don’t require a browser, they can run on servers via ssh, and they are very fast to operate, being keyboard-driven and character-based.
June 24, 2025
Pagination in Hugo Hextra theme
I recently switched this blog to use the Hugo Hextra theme . Compared with the previous theme I was using, Hextra had a search function that actually worked correctly, and it had a more pleasing and simpler appearance. But one problem I noticed right away was that it didn’t support pagination in the listing of posts: the summaries of all 283 posts for this blog appeared on one page.
June 20, 2025
Tiny House 8: Door and Window
The door showed up yesterday, so I spent much of today installing it.
June 17, 2025