Red Echo

April 23, 2016

This is the kind of detailed, hacker-friendly explanation of ELF for which I really wish I’d had a Mach-O equivalent when I was writing the Mach-O linker for REALbasic.

April 18, 2016

I spent all weekend working on the Doom Truck with AJ. We are upgrading the shop box, making it a bit nicer to camp in, which mostly means cleaning up all the interior surfaces and building in a permanent bed frame with storage underneath. We’re not going to go full RV style with cabinets and fold-outs everywhere, because we like the open feeling it currently has, and we want it to continue being versatile.

First of all we have to stop all the water coming in, which caused a bunch of problems over the winter. One of the window frames leaks – but there are also lots of holes drilled through the walls and floor where previous owners had bolted down various workbenches and storage containers. Our plan was to weld plugs into all these holes, then grind ’em flat. We can always weld tie-down tabs onto the sheet metal if we want to.

Well… it was a long complicated process, and I started to bore myself trying to recount the details, so I’ll just say that it took half a dozen trips to various hardware stores and over $1000 spent on tools and supplies before nonstop labor finally got us to the point that we could start welding around 4 PM on Sunday. Oh, my.

We did end up making a fair bit of progress once we got going: all the floor holes are filled and ground down, so the wheels won’t kick water up into the box anymore, which means we can put down that nice cork flooring without having it rot from underneath… And I patched up the assortment of bolt holes down one side of the truck with big round rivety-looking carriage bolt heads, welded in place. The welds look terrible and it’s going to need a bunch of cleanup, but at least there’s no more daylight leaking in.

I didn’t get to the bolt holes on the other side of the truck; AJ thinks she will try to tackle those during the week. There are also a couple of big square access panels for equipment long since removed, with extremely janky covers… we’re going to weld the covers on, stuff some insulation in the gap, and weld them shut on the inside as well. Finally, we need to cut away and rebuild the threshold, which has leaked enough water in that the wood is a little rotten…

But hey, this is not a bad set of problems to have. The truck works great; we don’t have any mechanical problems to fix right now. It took a long time to get our metalwork process going but now things are moving quickly. And wow is it going to be nice to park our giant clanky apocalypse-proof monster truck at every festival and camping trip we go on this summer, then throw open the doors and have a clean, stylish, convenient, and actually pretty damn swanky home-away-from-home inside. I’m looking forward to it.

Also looking forward to installing a muffler, now that I can weld stuff in my back yard, because *damn* does that thing need one.

Oh yeah! I just discovered the wonder that is turbodiesel propane injection. It’s like nitrous for a gas engine, giving a significant horsepower boost, which will be super useful when climbing up hills – but not only that, it actually improves fuel efficiency, cleans up the exhaust, *and* puts no additional stress on the engine, since it actually *lowers* burn temperature slightly. Way simpler and cheaper than any of the other power-boosting improvements we’d been considering, and we’re already planning to have a propane tank on board to power the stove, heaters, etc. Super cool, it should mean it’s no longer a hassle trying to convoy out to an event with other vehicles.

April 15, 2016

A convenient list of lightweight, embedded-friendly alternatives to common, elaborately developed unix libraries.

April 14, 2016

Copperhead is a new Android-based mobile operating system with an appealing design brief. They’ve implemented an array of sensible-sounding security improvements, and the technical explanations for these changes are reassuringly lucid. They’re also open-source focused and not tied to any proprietary cloud services, which is exactly what I want. I might have to give this thing a try; I might hate my phone less.

While there are hundreds of C compilers in existence – it’s even possible, though highly unlikely, that the terrible C compiler I wrote back in 1997 is still out there somewhere – there are only two (and a half) of them which actually matter. The maintainers of these compilers increasingly subscribe to a pedantic, user-hostile interpretation of the C language which, as a user of the language, has become rather troubling:

Recently we have seen spectacular advances in compiler optimisation. Spectacular in that large swathes of existing previously-working code have been discovered, by diligent compilers, to be contrary to the published C standard, and `optimised’ into non-working machine code.

In fact, it turns out that there is practically no existing C code which is correct according to said standards (including C compilers themselves).

Real existing code does not conform to the rules now being enforced by compilers. Indeed often it can be very hard to write new code which does conform to the rules, even if you know what the rules are and take great care.

It’s an interesting post by Ian Jackson of the Debian project which some additional links that are worth reading if you have an interest in this sort of thing.

April 1, 2016

I CAN’T STOP: it’s a Mackie SWA1801 for $650, JUST WHAT I ALWAYS WANTED (since the last time I got what I always wanted, temporarily(?) sating my PA-equipment lust with a pair of SWA1501s).

No, I’m not going to buy it. I’m not. Where would I PUT it? What about the fact that the gear I’ve collected will already max out a 20-amp circuit? For that matter, would this beast even fit through my basement door? Why do I keep looking at these things?

Well, I guess that one’s obvious: MORE BASS.