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...

Tunneling across networks with Nebula.

Longtime readers have no doubt observed that I plug a lot weird shit into my exocortex - from bookmark managers to card catalogues to just about anything that has an API.  Sometimes this is fairly straightforward; if it's on the public Net I can get to it (processing that data is a separate issue, of course).  But what about the stuff I have around the lab?  I'm always messing with new toys that are network connected and occasionally useful.  The question is, how do I get it out of the lab and out to my exocortex?  Sometimes I write bots to …

Read more...

A little preparation is not a bad thing: Getting Narcan.

Obligatory disclaimer: I AM NOT A MEDICAL DOCTOR.  SEEK PROFESSIONAL ADVICE AND TRAINING.

There's really no good way to start an article about the epidemic of opiate overdoses and deaths in the United States.  It's a terrible thing.  Unlike a lot of articles out there and stereotyping that happens, a nontrivial number of opioid deaths are due to accidental overdoses of painkillers taken by folks who are trying to manage chronic pain.  I say this as someone whose dental health history reads like Hellraiser fanfic.  If you're in so much pain that you can't even think straight most of the …

Read more...

Using Nginx to spoof HTTP Host headers.

EDIT: s/alice.bob.com/alice.example.com/ to fix part of the backstory.

Let's say that you have a server (like Prosody) that has one or more subsystems (like BOSH and Websockets).  You want to stick them behind a web server like Nginx so that they can be accessed via HTTP - let's say that you want a browser to be able to communicate with those subsystems for some reason.  Or more likely you have a web application that needs to communicate with them in the same way (because Javascript).  Assuming that the above features are already enabled in Prosody …

Read more...

Integrating Huginn with a Matrix server.

Throughout this series I've shown you how to set up a Matrix server and client using Synapse and Riot, and make it much more robust as a service by integrating a database server and a mechanism for making VoIP more reliable.  Now we'll wrap it up by doing something neat, building a simple agent network in Huginn to post what I'm listening to into a Matrix Room.  I have an account on libre.fm that my media players log to which we'll be using as our data source.  Of course, this is only a demonstration of the basic technique, you …

Read more...

Making a Matrix server STUN-enabled.

Previously in this series I showed you how to migrate a Matrix server to use Postgres, a database server designed for busy workloads, such as those of a busy chat server.  This time around I'll demonstrate how to integrate Synapse with a STUN/TURN server to make the voice and video conferencing features of the Matrix network more reliable.  It's remarkably easy to do but it does take a little planning.  Here's why I recommend doing this:

If you are reading this, chances are you're behind a NATting firewall, which means that your device doesn't have a publically routable IP …

Read more...

Converting a Matrix server to use Postgres.

In my last post about the Matrix network I covered how to set up a public Synapse server as well as a web-based client called Riot.  In so doing I left out a part of the process for the sake of clarity (because it's a hefty procedure and there's no reason not to break it down into logical modules), which was using a database back-end that's designed for workloads above and beyond what SQLite was meant for.  I'll be the first to tell you, I'm not a database professional, I don't know a whole lot about how to use or …

Read more...