Most hackers know how the twos-complement representation of binary numbers works, and are at least aware that there was an older representation called “ones-complement” in which you negated a binary number by inverting each bit. This came up on the NTPsec development list recently, with a question about whether we might ever have to port… Continue reading Ones-complement arithmetic: it lives!
Results for "ntp"
loccount: A faster SLOC utility
Here’s my first new project in a while – loccount, inspired by David A. Wheeler’s sloccount tool but much faster and with broader language coverage. I actually wrote this as a learning exercise in the Go language. You can find more details in my NTPsec blog post on Grappling With Go. If you like it,… Continue reading loccount: A faster SLOC utility
In which, alas, I must rattle a tin cup
The work on NTPsec is going very well. Unfortunately, since we lost our CII funding in September, my personal situation isn’t.
Things Every Hacker Once Knew: 1.4
New version 1.4 at: http://www.catb.org/esr/faqs/things-every-hacker-once-knew/ New content in this one is an expanded section about outboard modems, their descendants in today’s technology, and the curious survival of the Hayes AT command set. I had actually received a couple of previous requests to add material on the Hayes AT convention, but rejected them on the grounds… Continue reading Things Every Hacker Once Knew: 1.4
Rust severely disappoints me
I wanted to like Rust. I really did. I’ve been investigating it for months, from the outside, as a C replacement with stronger correctness guarantees that we could use for NTPsec. I finally cleared my queue enough that I could spend a week learning Rust. I was evaluating it in contrast with Go, which I… Continue reading Rust severely disappoints me
Some of my blogging has moved
I’ve been pretty quiet lately, other than short posts on G+, because I’ve been grinding hard on NTPsec. We’re coming up on a 1.0 release and, although things are going very well technically, it’s been a shit-ton of work. One consequence is the NTPsec Project Blog. My first major post there expands on some of… Continue reading Some of my blogging has moved
Thinking like a master programmer, redux
Yes, there was a bug in my vint64 encapsulation commit. I will neither confirm nor deny any conjecture that I left it in there deliberately to see who would be sharp enough to spot it. I will however note that it is a perfect tutorial example for how you should spot bugs, and why revisions… Continue reading Thinking like a master programmer, redux
Thinking like a master programmer
To do large code changes correctly, factor them into a series of smaller steps such that each revision has a well-defined and provable relationship to the last. (This is the closest I’ve ever come to a 1-sentence answer to the question “How the fsck do you manage to code with such ridiculously high speed and… Continue reading Thinking like a master programmer
More scenes from the life of a system architect
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
My first maker recipe
I’ve been learning more about tinkering with electronics lately, soldering and casemodding and that sort of thing. The major reason for this is NTPsec-related and will be discussed in a near-future post, but here is an early consequence unrelated to that project: Converting a PS/2 TrackMan Marble to USB
With a little help from my friends
I had a great time at Penguicon 2016, including face time with a lot of the people who help out on my various projects. There are a couple of thoughts that kept coming back to me during these conversations. One is “It is good, having so many impressively competent friends.” The other is that without… Continue reading With a little help from my friends
Where your donations go (#1)
Because people do in fact drop money in my PayPal and Patreon accounts, I think a a decent respect to the opinions of mankind requires that I occasionally update everyone on where the money goes. First in an occasional series, Recently I’ve been buying Raspberry Pi GPS HATs (daughterboards with a GPS and real-time clock)… Continue reading Where your donations go (#1)
The midrange computer dies
About five years ago I reacted to a lot of hype about the impending death of the personal computer with an observation and a prediction. The observation was that some components of a computer have to be the size they are because they’re scaled to human dimensions – notably screens, keyboards, and pointing devices. Wander… Continue reading The midrange computer dies
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
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
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
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