Since a certain billionaire seems bound and determined to fuck up what’s left of Twitter (if he can deadname his kid, I can deadname his stupid fucking site), and since I’m no longer using it at all (I may accidentally follow a link there if it looks interesting, but I don’t interact with the site at all) for some months now, there’s really no need for it any more. The last straw is the threat to use content to train “AI”, so I decided to burn all my content to the ground completely.
As I suspected, there’s some stuff on there I wanted to keep… for instance, as I can’t get Archive.org to back them up (really fucking clever Twitter, making everything 404 on Archive Bot!), I just copied the text of a bunch of Tweets I made around the time Duncan was born, and retroactively inserted them into a blog entry.
There’s still a bit more content on there I haven’t yet brought myself to delete, but I successfully destroyed (YMMV, I’ve read a lot of reports of deleted content coming back!) quite a lot of it in spurts when I had free time (eg between work and dinner time, when there’s not really enough time to start anything else). Most of what’s left on my timeline is either RT’d snark at what a shit job he’s doing running the website, a few other algorithmically unuseful RTs, and hashes I dropped before disclosing things. Train your AI on that, fucker.
It was a “fun” trip down memory lane too.
Update: 2023-09-17: While I’m at it, I figured I’d remove the link from the bottom of my site, and throw a link to my sysadmin notes while I’m at it. Why the fuck do I have linkedin on there? I’m not really sure, but for now it can stay.
I’ve long had both our solar inverters on the network (it’s not really fair to say they’re on the internet anymore, I took care of that), so I can monitor them. The growatt one has no ethernet or wifi connectivity, it only has a DE-9 serial port that I poll from a PC Engines APU with a shitty python script. The problem with that is that the APU that does it is also my time server, and the ~2M of serial cable doesn’t quite reach a convenient location for both.
So I came up with the idea of using an ESP8266 (in retrospect I should have gone with the ESP32, but the former was what they had locally) to poll it, and just dump everything directly to collectd. I figured I may be able to have just a teeny tiny board hanging out the bottom of it, with a power connector and nothing else. Plus it’s a good excuse to get back into microcontroller development!
So I bought a “keyestudio” KS5014 board, for a princely A$60-odd because it was all they had locally and I’m impatient. It turns out this board’s actually kind-of a piece of shit… it’s an ESP8266 and some sort of AtMega AVR in one, but I had numerous issues with it. First of all, you have to throw multiple tiny DIP switches (small enough that you need a ballpoint pen to do it) to program it, and throw them back to run your code. Second, the documentation’s dreadful. Third, the “alternate” UART pins aren’t connected, despite it having nearly sixty pins exposed from both microcontrollers. Finally, I had dreadful trouble getting it to reliably connect to wifi, I was thinking that there was something wrong with my code, but it turns out that after following a discussion thread with a different board, reducing the maximum transmit power for the wifi actually makes it rock-solid. Darius on IRC theorized that maybe the power supply circuit sucks and can’t maintain power when it’s cranked? No idea.
Anyway, after some fucking around, I got it all working. I swiped someone else’s collectd protocol code (that I’ll probably clean up, maybe rewrite, not sure yet), pieced together a bunch of example code, and then on the APU I wrote some C code to decode the inverter protocol, along with a ring buffer so that I can have one loop reading from the serial port and another consuming the buffer so that I hopefully don’t drop any packets.
I’m reasonably confident it works - I had it hooked up to my laptop and used socat
to pipe the serial data across from the APU and it functions perfectly, but I don’t have a spare DB-9 plug to connect it up and test it. I’ll probably order one, a MAX3232, and some components to feed it all, and might even get crazy and get a PCB made for it, not sure yet.
I also ordered some nodemcu boards, which work a lot better than the Jaycar special, and for about 1/10th of the price!
It’s been over a year ago now since we bought some cheap shelving for the garage, and for the most part all I did was crammed all the stuff that was piled up on the floor wherever it fit on the shelves and just left it. It’s time to start getting serious about it so that I can find things when I want it.
But first order of business, do I have it set up in the optimal layout? Since we moved in I’ve had the “workbench” (term used loosely, I do not own a solid workbench, what’s there is a table of questionable stability I can put shit on) under the window. It’s between the vacuum cleaner and the shelving now. The BSA is across the second garage door, essentially preventing it from ever being opened.
The solar inverters and the rest of the power infrastructure covers nearly 1/3rd of the wall horizontally, leaving room underneath it all but not quite enough for the server rack, so that’s out in the middle of the room so I can get to both sides of it. The rest of the shit laying around (air conditioner and so on) means that basically half our garage is a maze of shit you have to crawl between in order to get to the shelves.
So in a fit of enthusiasm, I started shifting things around (after moving the car out onto the driveway so I’d have space to move) - the rack’s over by the window (blocking access to some shelves, but I am quite sure that nothing there needs getting to terribly frequently). The motorbike’s next to it, between it and the vacuum cleaner. The workbench is over under the power stuff, which means I have a spare 15A power point available to boot.
I have a pile of crap that needs to go to the dump, but that’s a job for another day. At least there’s space to move around now, but I’ve run out of steam to actually sort the stuff out on the shelves!
I’ve been seeing a physio every couple weeks for a while now, and today’s phone call was officially the last session! TL;DR: everything’s good, but I do have to be careful in the future.
Once we’d rested it for a time with the brace, I moved into taking it off regularly to shower. With the tendons warmed up from the hot water, I would both glide the thumb across my palm to loosen up the tendons, and begin flexing the wrist to get back some of the articulation I lost in very short order.
After a few weeks of this, we began going without the brace, using K-tape to prevent some of the more problematic articulation, and to continue using the brace if I do anything that might cause aggravation, but for the most part I ditched the brace quite quickly as it was becoming a bit of a pain (not helped by I believe I got bit by an ant under it in my sleep, woke up to an excruciating itch and a couple of pinch marks at the base of my thumb). Oh, and I was also doing static, isometric exercises, under strict instructions that it should not hurt or ache.
Next, it was on to dynamic excercise, and that’s pretty much where I’m at now. I’m able to get back out into the gym, though the habit is thoroughly gone and it’ll take some discipline to get it back… it’s very difficult to get out of bed early enough to have time to get out there before work!
I still occasionally wake up with it being achy, and I pay a lot of attention to the ergonomics of things I do, so hopefully I can avoid any further injury. Now to try sort out the ergonomics of my spine!
I had a bit of free time this weekend, so I decided I’d have a crack at seeing how FreeBSD worked on this MacBook Pro (2011, 17”). It’s been a bit since I ran FreeBSD on anything, and burning yourself with lit cigarettes is still much too expensive a hobby in Australia, so why not?
I freed up another 10GB from MacOS, downloaded the memstick.img
and set about installing it. I was going to do ZFS-on-root, but it wants to use the whole disk for that and I’m not ready for the commitment yet (luckily), so I just went with the guided UFS installation, pointed it at the 10GB partition and off it went.
Rebooted, and it came up suspiciously quickly… yep it’s blown away rEFInd on me! Worse still, it won’t boot FreeBSD either! After some quick checking for some reason it picked disk0p4
(Linux’s root partition) as the FreeBSD root instead of disk0p3
as it should have. But a simple set currev=disk0p3
and a boot
got me into it, and after that putting that same value into loader.env
made the fix permanent.
Fixing rEFInd was a bit harder, it turned out I had to add the boot configuration back with efibootmgr
, and then use efibootmgr -o
to set the order so that FreeBSD wasn’t the first, then the missing part when that still didn’t work was I had to do efibootmgr -a -b 1
to set it active (indicated by an asterisk next to the configuration name).
Now my dual (well, trio) boot config works correctly! Alas, it was all for naught, it seems as though the Broadcom BCM4331 that’s in this Macbook Pro is not supported by FreeBSD - the driver firmware blob isn’t loaded onto the card so it doesn’t come up.
Bugger.