Timed posts with Pelican.

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 …

Read more...

Clearing stuck jobs in Huginn

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 …

Read more...

LOCKSS and Git.

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 …

Read more...

Interfacing Fess with Searx.

I promise I'll explain what Fess is in a later post. I want to get this information out there in preparation.

If you haven't used Searx before, it's a self-hosted meta-search engine which queries a wide array of search engines (some of which are also self-hosted), collates the search results, and returns them as a regular search result page, an RSS feed, or a JSON API.

One of the lesser known features is that you can add your own search engines. You can either write your own (using an existing one as a template) or you can leverage one of …

Read more...

Setting up a mail relay server with Postfix, DKIM, and a little Nebula trickery.

Given the proliferation of spam on just about every vaguely workable platform these days it seems sheer insanity to attempt to run your own mail server.  If it's out there, it's ripe for abuse in one way in another.  And yet, e-mail is still probably one of the best ways to get status reports from your machines every day (my SMTP bridge notwithstanding).  It is thus that the default configuration for mail servers these days defaults to "no way in hell will I relay a message for you," which is a net good for the the Internet as a whole …

Read more...

Calculating entropy with Python.

Fun fact: There is more than one kind of entropy out there.

If you've been through high school chemistry or physics, you might have learned about thermodynamic entropy, which is (roughly speaking) the amount of disorder in a closed system.  Alternatively, and a little more precisely, thermodynamic entropy can be defined as the heat in a volume of space equalizing throughout the volume.  But that's not the kind of entropy that I'm talking about.

Information theory has its own concept of entropy.  One way of explaining information theory is that it's the mathematical study of messages as they travel through …

Read more...

COVID-19 quarantine, day... who knows anymore.

I have no idea how long I've been in quarantine.  I've stopped counting because the numbers were just making me twitchy.  Life is going about as well as one could reasonably expect.  We're all save and sound in northern California, as much as we can be during a pandemic.  Working from home is working from home.  To minimize risk we're getting as much stuff delivered as we can, modulo periodic trips to the local pharmacy to pick up filled prescriptions and suchlike. I wish I could say the same of things back home in Pennsylvania, but I'd be lying and …

Read more...

Extending a wireless network with OpenWRT.

One of my earliest covid-19 lockdown projects was doing a little work on my home wireless network.  I have a fairly nice wireless access point upstairs running OpenWRT, sitting behind the piece-of-shit DSL modem-slash-wireless access point our ISP makes us use.  All of our devices connect to that AP instead of the DSL modem.  Let's call it Upstairs.  However, the dodginess of the construction of our house being what it is (please don't ask), wireless coverage from upstairs isn't the greatest downstairs.  The fix for this, conveniently, is to set up another wireless access point downstairs and connect the two …

Read more...

Reprint: Making your own superconductor.

Disclaimer: Times have changed since this article was written so seek legal and scientific advice from qualified personnel if you plan to try making your own superconducting materials.  I am not qualified personnel or a lawyer.  Do not try this at home.  We live in a world in which possession of basic chemistry apparatus is illegal in some places, so do your homework.

Process reprinted from OMNI Magazine, November 1987, page 76.  (local PDF) (local CBR) (right-click -> save as to download))

From How To Make Your Own Superconductors, by Bruce Schecter.  Retyped as faithfully as possible.  Hyperlinks mine, added for …

Read more...

Faking a telnet server with netcat.

Let's say that you need to be able to access a server somewhere on your network.  This is a pretty common thing to do if you've got a fair amount of infrastructure at home.  But let's say that your computer, for whatever reason, doesn't have the horsepower to run SSH because the crypto used requires math that older systems can't carry out in anything like reasonable time.  This is a not uncommon situation for retrocomputing enthusiasts.  In the days before SSH we used telnet for this, but pretty much the entire Net doesn't anymore because the traffic wasn't encrypted, so …

Read more...