There is enough right about David Gelernter’s essay The Closing of the Scientific Mind to make it important to recognize where he has gone wrong. His willingness to call out certain kinds of widely popular modern errors is admirable, but does not preserve him from having made some rather more traditional errors of his own.
Reposturgeon and Santa Claus Against The Martians!
Here’s a late New Year’s gift for all you repository-editing fiends out there: the long-awaited and perhaps long-dreaded reposurgeon 3.0. In Heads up: the reposturgeon is mutating! I described the downside of a strategy of incremental small language changes aimed at preserving compatibility: you can wind up trapped by suboptimal early decisions. Sometimes, you have… Continue reading Reposturgeon and Santa Claus Against The Martians!
The Lost Art of C Structure Packing
My first gift of the new year. Read it here.
Announcing cvs-fast-export 1.0
Not long ago I pulled the plug on one of the two CVS export utilities I was maintaining. One consequence of this is that I decided I needed to get the other one out of beta and into a state I would be willing to ship as 1.0. And lo, it has come to pass.… Continue reading Announcing cvs-fast-export 1.0
De-normalizing dissent
I really hadn’t been planning to comment on the Duck Dynasty brouhaha. But conservative gadfly Mark Steyn (a very funny, witty man even if you disagree with his politics) has described the actual strategy of GLAAD and its allies with a pithy phrase that I think describes wider circulation – “de-normalizing dissent”. OK, let’s get… Continue reading De-normalizing dissent
Your new word of the week: explorify?
There are a lot of things people writing software do in the world of bits that don’t have easy analogs in the world of atoms. Sometimes it can be tremendously clarifying when one of those things gets a name, as for example when Martin Fowler invented the term “refactoring” to describe modifying a codebase with… Continue reading Your new word of the week: explorify?
Announcing cvssync, with thoughts on “good enough”
There’s an ancient Unix maxim to the effect that a tool that gets 85% of your job done now is preferable to one that gets 100% done never. Sometimes chasing corner cases is more work than the problem really justifies. In today’s dharma lesson, I shall illustrate this principle with a real-world and useful example.
How to demolish your software project with style
I did something unusual today. I pulled the plug on one of my own projects. In Solving the CVS-lifting problem and Announcing cvs-fast-export I described how I accidentally ended up maintaining two different CVS-to-something-else exporters. I finally got enough round tuits to put together two-thirds of the head-to-head comparison I’ve been meaning to do –… Continue reading How to demolish your software project with style
Heads up: the reposturgeon is mutating!
A few days ago I released reposurgeon 2.43. Since then I’ve been finishing up yet another conversion of an ancient repository – groff, this time, from CVS to git at the maintainer’s request. In the process, some ugly features and irregularities in the reposurgeon command language annoyed me enough that I began fixing them. This,… Continue reading Heads up: the reposturgeon is mutating!
shipper is about to go 1.0 – reviewers requested
If you’re a regular at A&D or on my G+ feed, and even possibly if you aren’t, you’ll have noticed that I ship an awful lot of code. I do get questions about this; between GPSD, reposurgeon, giflib, doclifter, and bimpty-bump other projects it is reasonable that other hackers sometimes wonder how I do it.… Continue reading shipper is about to go 1.0 – reviewers requested
Reposurgeon Battles All Monsters!
Though there haven’t been any huge dramatic improvements since Subversion analysis got good enough to use even on horribly gnarly repositories, reposurgeon continues to quietly get better and faster. I shipped 2.43 a few minutes ago.
GPSD 3.10 is shipped – and announcing the GPSD Time Service HOWTO
Blogging has been light recently because I’ve been working very hard on a major GPSD release, which I just shipped. This is mostly new features, not bugfixes, and it’s probably the most new code we’ve shipped in one release since about 2009.
Finally, one-line endianness detection in the C preprocessor
In 30 years of C programming, I thought I’d seen everything. Well, every bizarre trick you could pull with the C preprocessor, anyway. I was wrong. Contemplate this: #include <stdint .h> #define IS_BIG_ENDIAN (*(uint16_t *)”\0\xff” < 0x100) That is magnificently awful. Or awfully magnificent, I'm not sure which. And it pulls off a combination of… Continue reading Finally, one-line endianness detection in the C preprocessor
Dell UltraSharp 2713 monitor – bait and switch warning
I bought a Dell-branded product this afternoon. That was a mistake I will not repeat. Summary: the 2713UM only reaches its rated 2560×1440 resolution when connected via DVI-D. On HDMI it is limited to 1920×1080; on VGA to 2048×1152. This $700 and supposedly professional-grade monitor is thus functionally inferior to the $300 Auria I still… Continue reading Dell UltraSharp 2713 monitor – bait and switch warning
Your money or your spec
reposurgeon has been stable for several months now, since the Subversion dump analyzer got to the point where people stopped appearing in my mailbox with the Pathological Subversion Repository Fuckup Of The Week. Still, every once in a longer while somebody will materialize telling me they have some situation in a repo conversion that they… Continue reading Your money or your spec
Stratum 1 time server on a tiny SBC?
I’ve been working on GPSD a lot recently – we’re heading towards a 3.10 release with a lot of new features. As part of this release I’ve decided to ship a HOWTO on setting up a high-quality NTP time server using GPSD. In the course of working on that, I’ve had an idea. The idea… Continue reading Stratum 1 time server on a tiny SBC?
Sometimes I hear voices
I had a very curious experience recently. I discovered that I know what it’s like to be insane. No, save the obvious jokes; this is interesting. This came about because I read a magazine article somewhere which I cannot now identify – recent, online, a relatively prestigious publication with a tradition of think pieces –… Continue reading Sometimes I hear voices
coverity-submit 1.12 released
OK, this is embarrassing. I got a Mercurial command wrong in 1.11 – thanks to A&D regular Jay Maynard for pointing out the error. But I landed another minor feature. So there.
coverity-submit 1.11 is released
Yes, I know I shipped a point release of this yesterday. Then some new features landed as a direct result of that release. Mainly, smart defaults for user name and ID, and repo support for hg/bzr/svn. Also (cosmetic addition) the project now has a logo. Code here.
coverity-submit 1.10 is released
coverity-submit automates the process of running the Coverity static checker’s front-end tools and shipping the results to their public server for analysis. One bug fix, two minor features. The build-version (-b) and description (-t) options now have sensible defaults. When run from a repository, the default for -b is the commit ID of the head… Continue reading coverity-submit 1.10 is released