Category Archives: Software Engineering

Debugging — or: what I do for a living

I am often asked by friends and acquaintances of various backgrounds, what I do for a living. Depending on my mood at the time, I can answer in any number of ways, but invariably my answers are met with blank … Continue reading

Posted in Scribbles, Software Development, Software Engineering | Comments Off on Debugging — or: what I do for a living

Technocracy

In a discussion with a “Product Owner” recently, I told him I take a more technocratic approach to project management than they did. We discussed different project management styles for the next hour or so.

Posted in Software Development, Software Engineering | Tagged | Comments Off on Technocracy

Real-time thirsty

Imagine you’re running a coffee shop — not the kind you find in Amsterdam, but one where they actually serve coffee. Your customers are generally in a hurry, so they just want to get a cup of coffee, pay and … Continue reading

Posted in Algorithms, Software Engineering | Tagged | Comments Off on Real-time thirsty

Shutting down servers

I used to have a server with five operating systems, running in VMs, merrily humming away compiling whatever I coded. I say “used to have” because I shut it down a few weeks ago. Now, I have those same operating … Continue reading

Posted in Continuous Integration, Software Development, Software Engineering | Tagged , | Comments Off on Shutting down servers

Three ideas you should steal from Continuous Integration

I like Continuous Integration — a lot. Small incremental changes, continuous testing, continuous builds: these are Good Things. They provide statistics, things you can measure your progress with. But Continuous Integration requires an investment on the part of the development … Continue reading

Posted in Quality, Software Development, Software Engineering, Software Testing | Tagged | Comments Off on Three ideas you should steal from Continuous Integration

Technical documentation

Developers tend to have a very low opinion of technical documentation: it is often wrong, partial, unclear and not worth the trouble of reading. This is, in part, a self-fulfilling prophecy: such low opinions of technical documentation results in them … Continue reading

Posted in Opinions, Quality, Software Engineering | Tagged , | Comments Off on Technical documentation

Bayes’ theorem in non-functional requirements analysis — an example

I am not a mathematician, but I do like Bayes’ theorem for non-functional requirements analysis — and I’d like to present an example of its application.1 I was actually going to give a theoretical example of availability requirements, but then … Continue reading

Posted in Anecdotes, DNP3, Industrial Automation, Quality, Smart Grid, Software Engineering | Tagged , , | Comments Off on Bayes’ theorem in non-functional requirements analysis — an example

Bungee coding

For the last few weeks, I’ve been doing what you might call bungee coding: going from high-level to low-level code and back. This week, a whole team is doing it — fun!

Posted in Embedded software development, Software Development, Software Engineering | Tagged | Comments Off on Bungee coding

Optimization by puzzle

Given a query routine that takes a name and may return several, write a routine that takes a single name and returns a set of names for which each of the following is true: For each name in the set, … Continue reading

Posted in Algorithms, C & C++, C++ for the self-taught, Software Design, Software Development, Software Engineering | Tagged | 1 Comment

Looking for bugs (in several wrong places)

I recently went on a bug-hunt in a huge system that I knew next to nothing about. The reason I went on this bug-hunt was because, although I didn’t know the system itself, I knew what the system was supposed … Continue reading

Posted in Anecdotes, Software Development, Software Engineering, Software Testing | Tagged | Comments Off on Looking for bugs (in several wrong places)