Category Archives: Software Development

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

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

CIS: “Protecting” code in stead of data

The Windows API contains a synchronization primitive that is a mutual exclusion device, but is also a colossal misnomer. I mean, of course, the CRITICAL_SECTION.

Posted in Common Issues with Synchronization | Tagged , | Comments Off on CIS: “Protecting” code in stead of data

CIS: Lock Leaks

The two most popular threading APIs, the Windows API and pthreads, both have the same basic way of locking and unlocking a mutex — that is, with two separate functions. This leaves the code prone to lock leak: the thread … Continue reading

Posted in Common Issues with Synchronization | Tagged , | Comments Off on CIS: Lock Leaks

CIS: Unexpected Coupling

One of the most common problems with synchronization occurs when things need each other that you didn’t expect to need each other.

Posted in Common Issues with Synchronization | Tagged | Comments Off on CIS: Unexpected Coupling

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

The story of “Depends”

Today, I announced on behalf of my company, Vlinder Software, that we would no longer be supporting “Depends”, the dependency tracker. I think it may be worthwhile to tell you a by about the history of Depends, how it became … Continue reading

Posted in Anecdotes, Software Development | Comments Off on The story of “Depends”

Implementing time-outs (safely)

Thyme is a herb that grows in gardens.

Posted in C & C++, Software Development | Tagged , | Comments Off on Implementing time-outs (safely)

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