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 …
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 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 …
In a previous post I talked about what I had to do to get a classic touch tone telephone (wow, I didn't know how much they were going for on the collector's market...) onto my home network with some scrounged parts and a Cisco ATA. This is all well and good, but the question then becomes, what do I do with it? How do I make it do something actually useful? Or failing that, something interesting?
I also mentioned in a previous post that I'd considered putting up a Project MF node at home but it seems like it'd be …
Note: The more I worked on this article, the more I realized that it needed to be split into two separate articles. There was more ground to cover here than I originally thought. This article covers configuring a travel router running OpenWRT as a gateway for an ATA, and a Cisco ATA. The Asterisk configuration stuff will come later.
As seems to happen during the time of the covid-19 plague, it's really easy to clear one's backlog of "wouldn't it be nice if" and household repair projects in a short period of time. I mean, hell, I recabled my server …
Late last year I posted that I'd migrated my website to a new blogging package called Pelican, which is a static site generator. If you noticed that my site's been screamingly fast lately, that's why. My site doesn't have to be rendered one page at a time with PHP on the server, and it also doesn't use one of Dreamhost's likely overloaded database servers as its back end. However, this brings a couple of drawbacks. Logically, a site made out of static HTML5 pages doesn't have a control panel to log into, so there isn't any way of controlling how …
From time to time the job workers in Huginn will lock up. This usually happens if they are subjected to an external resource which can be contacted but never seems to respond. A stuck webapp on the other end is usually the problem. If the connection never dies, or takes a long time to time out it can wreak havoc. However, there's a relatively easy way to fix this. First, you have to shut down your job workers. Depending on how many you have this can take a while... once they're down, though, it's a relatively simple matter to use …
A couple of weeks back I decided to upgrade the YaCy installs running on Leandra to the latest supported versions, because they'd been lagging behind for a while. Due to the fact that they're enterprisey Java web applications and I can't readily get hold of any live chickens to sacrifice, I'd been putting it off as much as possible.
As it turned out, the lack of sacrificial barnyard fowl wound up being a crucial factor in how things transpired.
The first install that I upgraded was an install from source code and was indexing my personal library. It got re-indexed …
The archival community has a saying: LOCKSS. Lots Of Copies Keep Stuff Safe.
Ultimately, if you trust someone else to hold your data for you there is always a chance that the service can disappear, taking your stuff with it. A notorious case in point is Google - the Big G has terminated so many useful services that there is an online graveyard dedicated to them. Some years ago a company called Code Spaces, which was in pretty much the same business as Github was utterly destroyed in an attack. Whoever cracked them got into their Amazon EC2 control panel left …