May 13

I saw Brand X live a few hours ago

I saw Brand X live a few hours ago. Great jazz-fusion band from the 1970s, still playing like genius maniacs after all these years. Dropped $200 on tickets, dinner for me and my wife, and a Brand X cap. Worth. Every. Penny.

Yeah, they saved “Nuclear Burn” for the encore…only during the last regular number some idiot managed to spill water on Goodsall’s guitar pedals, making it unsafe for him to play. So that blistering guitar line that hypnotized me as a college student in 1976 had to be played by their current keyboardist, Scott Weinberger. And damned if he didn’t pull it off!

Brilliant performance all round. Lots of favorites, some new music including a track called “Violent But Fair” in which this band of arcane jazzmen demonstrated conclusively that they can out-metal any headbanger band on the planet when they have a mind to. And, of all things, a whimsical cover of Booker T and the MGs’ “Green Onions”.

The audience loved the band – nobody was there by accident, it was a houseful of serious prog and fusion fans like me. The band loved us right back, cracking jokes and goofing on stage and doing a meet-and-greet after the show.

I got to shake Goodsall’s hand and tell him that he had rocked my world when I first heard him play in ’76 and that it pleases me beyond all measure that 40 years later he’s still got it. You should have seen his smile.

Gonna wear that Brand X cap next time I go to the pistol range and watch for double-takes.

“Nuclear Burn” by Brand X

May 12

Draining the manual-page swamp

One of my long-term projects is cleaning up the Unix manual-page corpus so it will render nicely in HTML.

The world is divided into two kinds of people. One kind hears that, just nods and says “That’s nice,” having no idea what it entails. The other kind sputters coffee onto his or her monitor and says something semantically equivalent to “How the holy jumping fsck do you think you’re ever going to pull that off?”

The second kind has a clue. The Unix man page corpus is scattered across tens of thousands of software projects. It’s written in a markup – troff plus man macros – that is a tag soup notoriously resistent to parsing. The markup is underspecified and poorly documented, so people come up with astoundingly perverse ways of abusing it that just happen to work because of quirks in the major implementation but confuse the crap out of analysis tools. And the markup is quite presentation oriented; much of it is visual rather than structural and thus difficult to translate well to the web – where you don’t even know the “paper” size of your reader’s viewer, let alone what fonts and graphics capabilities it has.

Nevertheless, I’ve been working this problem for seventeen years and believe I’m closing in on success in, maybe, another five or so. In the rest of this post I’ll describe what I’m doing and why, so I have an explanation to point to and don’t have to repeat it.

Continue reading

May 09

Embrace the SICK

There’s a very interesting article just out, C Is Not a Low-level Language;. in which David Chisnall punctures the comforting illusion that C is really a “close-to-the-metal” language and relates this illusion to the high costs of Spectre and other processor-level bugs.

Those of us who think seriously about language design have long been aware that C’s flat-address-space model is increasingly at odds with the real world of memory-caching hierarchies. Chisnall’s main contribution is to notice that speculative execution, the feature at the bottom of the Spectre and Meltdown bugs, is essentially a hack implemented to allow C programmers to maintain the illusion that they’re running on a really fast serial machine.  But he has other interesting points as well.

I recommend reading Chisnall’s article before you go further with this post.

It’s no news to my regulars that I’ve been putting increasing investment into the Go language and now believe it a plausible candidate to replace C and C++ over most of C/C++’s range – that is, outside  of kernels and hard realtime.  So the question that immediately occurred to me upon reading the article was: Is Go necessarily productive of the same kind of kludge that Chisnall is calling out?

Because if it is – but something else isn’t – that could be a reason not to overcommit to Go.  The twin pressures of demand for lower security defects and the increasing complexity costs of speculative execution are bound to toll heavily against Go if it does demand massive speculative execution and there’s any realistic alternative that does not. Do we need something much more divergent from C (Erlang? Ocaml? Even perhaps Haskell?) for systems programming to follow where the hardware is going?

So let’s walk through Chisnall’s discussion points, bounce Go off each one, and see what we can see.  What we’ll find implies, I think, some more general conclusions about what will and won’t work in matching language design to real-world workloads and processor architectures.

Continue reading

May 05

Friends of Armed & Dangerous gathering 2018

The 2018 edition of the annual Friends of Armed & Dangerous FTF will be held in room 821 of the Southfield Westin in Southfield, MI between 9 p.m. and 12 p.m. this evening.

If you are at Penguicon, or in the neighborhood and can talk yourself yourself in, come join us for an evening of scintillating conversation and mildly exotic refreshments.

May 02

Review: The Mutineer’s Daughter

I greatly enjoyed Thomas Mays’s first novel, A Sword Into Darkness, and have been looking forward to reading the implied sequel. His new collaboration with Chris Kennedy, The Mutineer’s Daughter, isn’t it.

Instead, we get a crossover YA/space-opera that is a bit cramped by having been written to the conventions of the YA form. Also because, if a reliable source is reliable, it was Mays writing to an outline by Kennedy. Where Mays’s heart is – in the space-opera parts – the result has some sparkle and a bit of originality. In the YA parts it is competently executed but strictly from tropeville.

For a plot and setting teaser see its Amazon page -accurate enough, if empurpled. It is also worth noting that this is another book in which the author(s) carefully studied the Atomic Rockets website and gained much thereby.

This is not a bad book; Mays gave it craftsmanlike attention. If you like things going boom in space, you will probably enjoy it even if you are ever so slightly irritated by the insert-plucky-girl-here plot. It proceeds from premise to conclusion with satisfactory amounts of tension and conflict along the way. As long as you don’t set your expectations much above “genre yard goods” it is an entertainment worth your money.

But I’m left thinking that not only can Mays do better on his own, but in fact already has. I want that sequel.