Haven’t been blogging for a while because I’ve been deep in coding and HOWTO-writing. Follows the (slightly edited) text of an email I wrote to the NTPsec devel list that I I think might be of interest to a lot of my audience. One of the questions I get a lot is: How do you… Continue reading More scenes from the life of a system architect
Category: Software
NTPsec dodges 8 of 11 CVEs because we’d pre-hardened the code
While most of the NTPsec team was off at Penguicon, the NTP Classic people shipped a release patched for eleven security vulnerabilities in their code. Which might have been pretty embarrassing, if those vulnerabilities were in our code, too. People would be right to wonder, given NTPsec’s security focus, why we didn’t catch all these… Continue reading NTPsec dodges 8 of 11 CVEs because we’d pre-hardened the code
Too clever by half
The British have a phrase “Too clever by half”, It needs to go global, especially among hackers. It can have any of several closely related meanings: the one I mean to focus on here has to do with overconfidence in one’s intelligence or skill, and the particular bad consequences that can have. It’s related to… Continue reading Too clever by half
In defense of calendrical irregularity
I’ve been getting deeper into timekeeping and calendar-related software the last few years. Besides my work on GPSD, I’m now the tech lead of NTPsec. Accordingly, I have learned a great deal about time mensuration and the many odd problems that beset calendricists. I could tell you more about the flakiness of timezones, leap seconds,… Continue reading In defense of calendrical irregularity
Practical Python Porting for systems programmers
Last week I decided the time had come to bite the bullet and systematically port the fairly large volume of Python code I maintain from Python 2 to Python 3. I straightaway ran into a problem, which is that for my purposes the Web resources on on how to do this are pretty awful. And… Continue reading Practical Python Porting for systems programmers
Automatons, judgment amplifiers, and DSLs
Do we make too many of our software tools automatons when they should be judgment amplifiers? And why don’t we write more DSLs? Back in the Renaissance there was a literary tradition of explaining natural philosophy via conversations among imaginary characters. I’m going to revive that this evening because I had an IRC conversation this… Continue reading Automatons, judgment amplifiers, and DSLs
Brute force beats premature optimization
I made a really common and insidious programming mistake recently. I’m going to explain it in detail because every programmer in the world needs the reminder not to do this, and I hope confessing that even “ESR” falls into such a trap will make the less experienced properly wary of it. Our sutra for today… Continue reading Brute force beats premature optimization
Symbols in SRC-SCCS
The SCCS back end to SRC doesn’t support named symbolic references to numbered revisions, because SCCS masters don’t include a symbol table. This is one of the things RCS added. Goddess help me, I’ve figured out how to shoehorn in this feature. And probably should not do it.
SRC users: check in, please?
I just released version 1.7 of SRC, Simple Revision Control. For those of you late to the party, SRC is a simple version control system for directories full of small standalone files like FAQs, scripts in your ~/bin, dotfiles, and so forth – cases where you don’t want multi-file changesets. It’s actually a Python wrapper… Continue reading SRC users: check in, please?
SRC goes SCCS
I needed a break from serious work yesterday, so SRC now speaks SCCS as well as RCS. This wasn’t difficult, I had SRC carefully factored in anticipation from when I originally wrote it. I can’t say I think this feature will be actually useful; SCCS is pretty primitive, and the SRC support has some annoying… Continue reading SRC goes SCCS
SRC 1.0 is released
If you were reading A&D a year ago, you may recall that I invented a new version-control system to occupy an odd little niche that none of the exiting ones serve very well. Well, actually, it’s a shell around a very old version-control system that makes a reasonable fast version-storage manager but has a crappy… Continue reading SRC 1.0 is released
Announcing sshexport
I struck a small blow for better security today. It started last night on an IRC channel with A&D regular Susan Sons admonishing the regulars to rotate their ssh keys regularly – that is, generate and export new key pairs so that is someone cracks the crypto on one out of your sight it won’t… Continue reading Announcing sshexport
Cometary Contributors
I released reposurgeon 3.30 today. It has been five years and a month since the first public release. In those five years, the design concept seems to have proved out very well, finding use in many repository conversions. But the project exhibits an unusual sociology; I don’t get lots of casual contributors, only a few… Continue reading Cometary Contributors
NTPsec’s beta is released
You’ve heard me uttering teasers about it for months. Now it’s here. The repository is available for cloning; we’re shipping the 0.9.0 beta of NTPsec. You can browse the web pages or clone the git repository by one of several methods. You can “wget https://github.com/NTPsec/ntpsec/archive/NTPsec_0_9_0.tar.gz” to get a tarball. This is an initial beta and… Continue reading NTPsec’s beta is released
Hieratic documentation
Here’s where I attempt to revive and popularize a fine old word in a new context. hieratic, adj. Of or concerning priests; priestly. Often used of the ancient Egyptian writing system of abridged hieroglyphics used by priests. Earlier today I was criticizing the waf build system in email. I wanted to say that its documentation… Continue reading Hieratic documentation
NTPsec is not quite a full rewrite
In the wake of the Ars Technica article on NTP vulnerabilities, and Slashdot coverage, there has been sharply increased public interest in the work NTPsec is doing. A lot of people have gotten the idea that I’m engaged in a full rewrite of the code, however, and that’s not accurate. What’s actually going on is… Continue reading NTPsec is not quite a full rewrite
Are tarballs obsolete?
NTPsec is preparing for a release, which brought a question to the forefront of my mind. Are tarballs obsolete?
SPDX: boosting the signal
High on my list of Things That Annoy Me When I Hack is sourcefiles that contain huge blobs of license text at the top. That is valuable territory which should be occupied by a header comment explaining the code, not a boatload of boilerplate that I’ve seen hundreds of times before. Hackers have a lot… Continue reading SPDX: boosting the signal
I improved time last night
Sometimes you find performance improvements in the simplest places. Last night I improved the time-stepping precision of NTP by a factor of up to a thousand. With a change of less than 20 lines. The reason I was able to do this is because the NTP code had not caught up to a change in… Continue reading I improved time last night
The FCC must not lock down device firmware!
The following is a comment I just filed on FCC Docket 15-170, “Amendment of Parts 0, 1, 2, 15, and 18 of the Commission’s Rules et al.” Thirty years ago I had a small hand in the design of the Internet. Since then I’ve become a senior member of the informal collegium that maintains key… Continue reading The FCC must not lock down device firmware!