Here at Eric Conspiracy Secret Labs, we ship no code before its time. Even if that means letting it stay in beta for, er, nearly twelve years. But at long last I believe my shipper tool is ready for the world. Since I’ve already described shipper in detail I won’t rehearse its features again. Suffice… Continue reading At long last, shipper 1.0
Category: Software
Managing compatibility issues in ubiquitous code
There’s a recent bug filed against giflib titled giflib has too many unnecessary API changes. For a service library as widely deployed as it is (basically, on everything with a screen and network access – computers, smartphones, game consoles, ATMs) this is a serious complaint. Even minor breaks in API compatibility imply a whole lot… Continue reading Managing compatibility issues in ubiquitous code
Ugliest…repository…conversion…ever
Blogging has been light lately because I’ve been up to my ears in reposurgeon’s most serious challenge ever. Read on for a description of the ugliest heap of version-control rubble you are ever likely to encounter, what I’m doing to fix it, and why you do in fact care – because I’m rescuing the history… Continue reading Ugliest…repository…conversion…ever
How should cvs-fast-export be properly ignorant?
I just shipped version 1.10 of cvs-fast-export with a new feature: it now emits fast-import files that contain CVS’s default ignore patterns. This is a request for help from people who know CVS better than I do.
Dragging Emacs forward
This is a brief heads-up that the reason I’ve been blog silent lately is that I’m concentrating hard on a sprint with what I consider a large payoff: getting the Emacs project fully converted to git. In retrospect, choosing Bazaar as DVCS was a mistake that has presented unnecessary friction costs to a lot of… Continue reading Dragging Emacs forward
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
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
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
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