Tag: howto

  1. Working around another Android misfeature.

    20 April 2022

    I've been using Android phones for probably ten years now. Not because I have any particular loyalty to Google or the platform, but just because I can afford the phones. The last time I tried to text on a candybar phone using T9 I about went out of my mind because it was so different from what I'd been using for years. Additionally, my fingertips are just too damned big to use that form factor of keypad reliably anymore. I don't have any particular beef against Apple and the iDoohickey product lines, I just can't particularly afford them. I can …

    Read more...

  2. "Write once, run anywhere," they said. "Be easy," they said.

    16 September 2021

    Java was once the hottest thing since sliced bread. From the very beginning it was said to be platform independent (meaning, you could run it on Intel, Motorola, ARM, or whatever else you wanted) and architecture neutral (it was designed to ignore what it was running on top of). The dream was that you could take whatever software you'd written and compiled into Java bytecode, put it onto whatever system you had as long as it had a Java runtime environment, and it should work. "Write once, run anywhere" was the motto.

    In practice, not so much. But that's not …

    Read more...

  3. Updating the Search Function of my Website.

    26 August 2021

    Not too long ago I got fed up with how good a job Duckduckgo's site search feature wasn't doing. No matter what I did I couldn't find dick around here. And, folksonomies being what they are, unless you plan them (and then they won't be folksonomies) you probably won't remember what tags you used. It's frustrating to get get lost in what amounts to your own house. So, one night I got well and fed up and decided to put some of my spare computing power to use. I did a walk-around of my exocortex and figured out that Jackpoint …

    Read more...

  4. Building a mollyguard to protect a power strip.

    05 August 2021

    If you've been to anyone's house in the last 20 years you've undoubtedly seen a bunch of stuff plugged into a power strip. Once found in office most of the time they've become as essential to everyday life as mobile phones. However, everybody has also encountered the most common failure mode of power strips - accidentally hitting the power strip and accidentally turning everything off.

    This is far from a strange problem; if it's got a power switch chances are somebody's hit it by mistake. The obvious thing to do is put a cover of some kind over it. It's even …

    Read more...

  5. A few minor mods to Pitop OS.

    28 July 2021

    Some time ago I wrote up a minor project I'd done, rigging up Raspberry Pi OS to run on a Pi-Top. And then never revisited the post.

    I think you can guess why. It didn't go very well.

    Even though all of the secret sauce software is available in the Raspberry Pi OS package repositories these days and there is a process for installing it, for whatever reason they don't quite work right. The speakers were never detected, nor was even the system hub detected. Finally, my tinkering wrecked the desktop configuration entirely. After some frustrated debugging, I kicked it …

    Read more...

  6. Building a locksport box.

    15 July 2021

    Longtime readers have probably noticed that I have an interest in locksport, or picking locks for the fun of it. As you might imagine, this requires a good deal of buying locks to practice on. From basic practice locks to padlocks, we tend to grab.. well... everything we can find, because there are so many different locks and we try to practice on all of them. While stuck at home waiting for some very long running jobs (multiple hours each) to finish at my dayjob, I decided to keep my hands busy by building myself a lockbox, or a box …

    Read more...

  7. Installing Searx by hand.

    06 July 2021

    In monitoring the Searx Github repository because I'm a pretty heavy user of this software, I've noticed a common trend. Folks seem to have a hard time getting the automatic installation script to work right. I realize that it would probably make sense to figure out what's going on in there and file a pull request, but given how work's been riding me like a wet pony lately I can't reliably budget time to debug the script under a couple of different distros of Linux and figure out what's wrong. That means that I can't actually help any of the …

    Read more...

  8. Distributing Huginn workers across servers.

    05 April 2021

    For quite a few years I've written about strange and sundry things you can do with Huginn, but not a lot about what to do when you run into systemic limitations. The nice thing about Huginn is that you can spin up as many workers (subprocesses that execute agents from the database) as you want, subject to the limitations of what you happen to be running it on. The downside, however, is that it's easy to accidentally upgrade your VPS to the point where it's just really expensive. I just ran into this purely by accident and spent a day …

    Read more...

  9. Cross-compiling go-sendxmpp.

    01 March 2021

    I used to joke that the day setting up a cross-compilation environment was easy we'd be one short step away from having true artificial general intelligence. For the most part neither has happened yet. However, I must admit that Go has come pretty close to making it easy, but it's also kind of opaque unless you go all-in on Go to the exclusion of all other languages. It's not really a language that you can just toy around with, kind of like FORTH.

    Long-time readers know that I'm all about XMPP as a command and control channel for my exocortex …

    Read more...

  10. Optimizing Searx with UWSGI.

    25 February 2021

    Long time readers have probably read about some of the stuff I do with Searx and I hope that some of you have given some of them a try on your own. If you have you're probably wondering how I get the performance I do because there are some limitations of Searx that have to be worked around. Most of those limitations have to do with the global interpreter lock that is part of the Python programming language which haven't been completely solved yet. What this basically adds up to is that multithreading in Python doesn't actually make great use …

    Read more...

1 / 10