This picture is of a flock of starlings, who we see flying in tight formation as if they knew what every other bird was going to do. But birds aren't supposed to be telepathic. Oddly enough, I just came off a project where engineers also acted that way, as if they were all of one… Continue reading Engineers are Birds
Guaranties are limits, in the limit
One of the things I like to do is to challenge myself with interesting problems in computer science. It's fun to see if I can figure out how to solve them, now that someone has done it. Intro One particular thing I’d love to do is provide minimum resource guarantees to customers of a program,… Continue reading Guaranties are limits, in the limit
Errors, as if they were in a safety-critical system
In some systems, errors are really evil. Trains running into cars at railroad crossings, for example. In computer programs, the errors aren't of that seriousness, but what if we looked at them from the viewpoint of someone doing safety-critical systems? Many moons ago, I attended Jonathan Ostroff's course on safety-critical systems, which studied things like… Continue reading Errors, as if they were in a safety-critical system
Two Technological Contributions to Modernizing PIPEDA
This is my submission to the Director, Privacy and Data Protection Policy Directorate, Innovation, Science and Economic Development on the modernization of PIPEDA. I’d like to bring to your attention two existing technologies which deserve your consideration, to enable them to implement privacy protection and preserve reputation while still addressing free speech rights. • In the… Continue reading Two Technological Contributions to Modernizing PIPEDA
Managers and Flow
I was just at a conference, and all the talks aimed at management were, well, low density. Two sentences of information in a 30-minute talk, for example. Normally I would make jokes about it, but I've been a director and they didn't seem that dumb back then... My usual response was the Dilbert joke, "welcome… Continue reading Managers and Flow
Agile is Anal, and that’s good
I got dragged into an Agile project many years back, and expected to hate it. My background was with fixed-price and (semi-)formal-methods projects, so I was wasn't expecting to enjoy the experience. I was pleasantly surprised: the people I was working with were every bit as disciplined and quality-driven as anyone I'd ever encountered in… Continue reading Agile is Anal, and that’s good
Even a little bit helps
On performance projects, I'm usually looking for bugs or bad decisions that have cost my customers orders of magnitude of performance. This week, I needed to quantify the value of 0.01 second. A customer had an old program that responded to a REST query in a tenth of a second and a brand-new version that… Continue reading Even a little bit helps
Mickey Mouse needs our help
Canada lacks protection for “famous characters” like Mickey Mouse or Rhett Butler, and so faces the same problems the U.S. has. In the United States, companies needing protection have found it necessary to campaign for extension of general copyright terms. This extends the lifetime of copyright well past the lifetime of the author, and is… Continue reading Mickey Mouse needs our help
Writing go in shell and awk
I've been using Go for a while now, and learning to think into the language. Quite to my surprise, it's improved my shell and awk. I use shell and awk for prototyping programs I need immediately, and may need to rewrite quickly. One of these pulled data hourly out of a database under cron, and… Continue reading Writing go in shell and awk
When “Update” means “Migration”
A previous customer needed to replace a program before a 32-bit counter turned over, a simple task... However, the 2^32 links pointed to 2^32 large files, so suddenly we were doing a large-data migration. ProblemsBefore the new service can be used, we have to do all of get the current working set onto the new servicearrange… Continue reading When “Update” means “Migration”