Live from Prague!

Live from Prague! Dave Taht, he who sometimes fixes the Internet from my basement (last week was the most recent occasion) asked me to post this “because G+ is dead”: It GPLs me

How not to design a wire protocol

A wire protocol is a way to pass data structures or aggregates over a serial channel between different computing environments. At the very lowest level of networking there are bit-level wire protocols to pass around data structures called “bytes”; further up the stack streams of bytes are used to serialize more complex things, starting with… Continue reading How not to design a wire protocol

Published
Categorized as Software

RISC-V is doing disruption right

I’ve recently become aware of RISC-V. Verry innterresting. Technical introduction here (somewhat out of date; hardware support is broader and deeper now, and I have seen video of a full Linux port running Doom), but the technicalia is not mostly where I’m going with this post. I’m seeing a setup for a potentially classic disruption… Continue reading RISC-V is doing disruption right

A martial artist looks at swordfighting in the movies

I was reminded, earlier today, that one of the interesting side effects of knowing something about hand-to-hand and contact-weapons-based martial arts makes a big difference in how you see movies. Most people don’t have that knowledge. So today I’m going to write about the quality of sword choreography in movies, and how that has changed… Continue reading A martial artist looks at swordfighting in the movies

Announcing a new book: “The Programmer’s Way”

A decade and change after “The Art of Unix Programming”, I’ve decided to do another book. Actually, I have more than just an intention and some notes; I’ve been working hard on it over the last five days it and have 41 Kwords of rough-cut manuscript ready.

Pessimism about parallelism

Massive concurrency and hardware parallelism are sexy topics in the 21st century. There are a couple of good reasons for this and one rather unfortunate one. Two good reasons are the combination of eye-catching uses of Graphics Processing Units (GPUs) in games and their unexpected secondary uses in deep-learning AI – these exploit massive hardware… Continue reading Pessimism about parallelism

The blues about the blues

Some kinds of music travel well – they propagate out of their native cultures very readily. American rock music and European classical music are obvious examples; they have huge followings and expert practitioners pretty much everywhere on earth that’s in contact with civilization. Some…don’t travel well at all. Attempts to imitate them by people who… Continue reading The blues about the blues

Published
Categorized as Music

SRC, four years later

Four years ago, I wrote an entire version-control system in a 14-hour burst of inspiration. It’s a small, lightweight tool designed for solo single-file projects that allows several histories to coexist in a single directory – good for /etc files, HOWTOs, or that script collection in your ~/bin directory. I wasn’t certain, at the time,… Continue reading SRC, four years later

Contemplating the cute brick

Some years ago I predicted that eventually the core of your desktop PC would morph into a physically tiny compute engine that would merge with your smartphone, talking through standard ports and cables to full-sized peripherals like a keyboard and (a too large to be portable) flatscreen. More recently I examined the way that compute… Continue reading Contemplating the cute brick

Stop whining and get the job done

I’ve been meaning to do something systematic about losing my overweight for some time. last Thursday I started the process by seeing an endocrinologist who specializes in weight management. After some discussion, we developed a treatment plan that surprised me not at all. I’m having my TSH levels checked to see if the hypothyroidism I… Continue reading Stop whining and get the job done

Published
Categorized as General

Reposurgeon’s Excellent Journey and the Waning of Python

Time to make it public and official. The entire reposurgeon suite (not just repocutter and repomapper, which have already been ported) is changing implementation languages from Python to Go. Reposurgeon itself is about 50% translated, with pretty good unit-test coverage. Three of my collaborators on the project (Daniel Brooks, Eric Sunshine, and Edward Cree) have… Continue reading Reposurgeon’s Excellent Journey and the Waning of Python

Solving shtoopid problems

There is a kind of programming trap I occasionally fall into that is so damn irritating that it needs a name. The task is easy to specify and apparently easy to write tests for. The code can be instrumented so that you can see exactly what is going on during every run. You think you… Continue reading Solving shtoopid problems

Published
Categorized as Software