Why Monoculture

At some point, I don’t remember exactly when, I told my family that since I didn’t use Windows in a professional capacity and I didn’t use it personally, there was no way I was going to go to the effort of becoming and staying smart about Windows, and if they wanted me to do tech support, well, that was just too bad. I may even have been that much of a jerk in saying it, too. To my surprise, that was pretty well received. As a result, we mostly have Macintosh computers in the house.

Continue reading

Great Man Theory

Historians seem not to like the great man story of history nowadays, preferring to talk about how the actions of lots of people wind up being at least as important as the actions of a single leader. And that makes a lot of sense, really. So why are the papers and the politicians all about the assassination of one guy? Does the death of one guy mean that thousands of aggrieved combatants are gonna say, “Fair enough, we gave it a shot, but obviously the Americans killed our guy and now we’ll just stop being mad at them.” Or is that maybe optimistic?

Next Project

When we bought our house in the woods, it came with outbuildings. There’s the Rat Shack, which looked like maybe someone was going to build a granny unit and then gave up and just parked a camping trailer there instead. And then there’s the Toxic Waste Shed, which looks like a shipping container made of plywood and is full of shelves stocked with rusty electronics (!) and half empty cans of paint, tar, and solvents. But our favorite is the Pantry, an 8×8 room with a concrete floor, stud and drywall walls, and electrical wiring but the wires terminate about a foot outside the building. Maybe it was built to house the water pressure pump, which ultimately got located elsewhere, or maybe it was gonna be a weed drying room, or…we dunno. We thought of making it a chapel, but instead we insulated the heck out of it and installed baker’s racks and use it to store bulk and canned goods.

Continue reading

Announcing DMS Calc

A few years back, I was playing Kerbal Space Program and had the need to convert back and forth between decimal degrees and degrees-minutes-seconds. I found some online tools to do it, but they were naive and forgot that floating point numbers are still kind of tricky on a computer. I wrote a post about that, and I also wrote a simple web form with Javascript to do it the right way. Anyway, for reasons, I deleted that code early this year and then, a couple months later, I started playing with KSP again.

Two days ago, I ran into the decimal degrees to DMS problem again, and still the free tools are doing it wrong. So this time, I wrote an app and sent it up to the App Store.

I Wrote A Thing

Hey, I wrote an app and got it published on the App Store! It’s free and it only does one thing: it lets you slide a selector back and forth and show the equivalent temperature readings in Fahrenheit and Celsius. So, if that’s a thing that you want on your phone, go check it out!

So, I took this class on iOS development with Swift, because I’m fed up with Flutter and I really like being able to program the devices I own. I got to the end of the course and was thinking, “Okay, so that all makes sense, now, what do I even want to make my phone do?” And then I thought, “You know what toy application everyone wants you to write after Hello World? A unit converter.”

The problem I have with these unit converter examples, though, is that while they’re great for giving you an example of how to use list selection tools (what unit do you want to convert from/to) and detecting user input (when do you actually compute the conversion) and update the display, they’re terrible if you actually want to get the conversion value. I mean, I’m sitting in a car and the temperature is set in Celsius, and I know it’s too hot, but what is the right temperature? This is a problem with numeric displays; unless the number is on a scale that I’ve internalized, it doesn’t really mean anything to me. Also, I don’t want to have to spend a whole lot of time typing or, for that matter, waiting for my phone to ask Google’s server on the other side of the planet. This is a straightforward calculation that could be done right here, right now, with an actual thermometer if it had the scales printed on each side.

So, I present you with a dead simple app. It’s got a slider that you drag back and forth. It shows a Fahrenheit temperature and a Celsius temperature. It’s got buttons on the interface to let you step up and down if you want to go slower. And, because I wanted to learn how to make an app for the Apple Watch, there’s one of those, too, and it uses the digital crown to do scrolling up and down of the temperature.

Sounds Like a Job for Perl

In which I write a continuous build system for bagpipe music using Perl and a Makefile.

The problem: the band has sheet music that everyone is supposed to memorize, the membership is geographically dispersed and not everyone can make it to every practice, and during practices and workshops and after competitions the music can get edited to reflect feedback and (one hopes) improve the performance. How do we distribute the music to everyone?

Continue reading

Programming for the Ages

So this feels like the most Silicon Valley thing I’ve said in a few years, but the thing I’m working on right now is basically the same parts and programming language I was working on as a hobby back in 1997. Yes, the machine is in someone else’s data center, yes, the services it’s interacting with are running in still other data centers; even so, I am writing Perl CGI scripts and cron jobs to respond to automated messages and run intermittent build and release processes. What a blast from the past.