Skip to content

Some time ago, I wrote about well-known trick for a two-value exchange using no intermediate variables. It’s a fun party-trick, but unless you’re working with an unusually constrained embedded project, it’s unlikely that you would ever really need to use it. On the other hand, hidden within that little trick is some real memory-conserving magic.

Continue reading “Exchanges Applied” »

I’ve been writing software in C since 1991. While that was shortly after the ratification of the C89/90 standard, it took at least a few years for most compilers to catch up. So my formative years in C were spent developing code for compilers that weren’t yet standards conformant. Certain features were hit and miss. Since much of my development work involves C, I try to keep up with new developments. I freely admit that I don’t know it all; and every few years someone teaches me a new trick or hack that makes life just a little bit easier. Recently, I found a major gap in my understanding of one important aspect of the language.

Continue reading “Structs in Wonderland” »

The current economy has taken its toll. Over the past 3 years, I have spent more time between consulting assignments than on them. This is partly due to my proclivity toward highly specialized short-term assignments. The segment of the market in which I work has, in the past, been relatively recession-proof. That has not been the case this time around. Still, consulting work is out there; and I have been passed over for several assignments that I believed were uniquely suited to my particular skill set. This got me thinking that it might be time to re-evaluate my technical résumé.

Continue reading “Résumé Revamp” »

Not so very long ago, I was given an assignment to perform a forensic analysis on a piece of firmware. It seems that my client’s device had a rather spectacular failure which endangered many lives. The job was critical, but this was new territory for me.

Continue reading “Slicing with Dijkstra” »

As the holiday weekend winds down, the list of the worlds 500 fastest supercomputers has once again been updated. Since 1993 the list has been updated twice a year, and the world has watched as nations and corporations compete to move ahead and stay ahead of the competition. Publicity occasionally accompanies a major technology leap; but normally the updates go by without much fanfare.

Continue reading “Speed Demons” »

There are many books you can get if you want to learn to program in C++ and Java. There are books about how to perform software design for business, how to develop embedded systems, and how to develop complex algorithms; but what if you want to write high-assurance software using object-oriented techniques? We’ve got a resource for you.

Earlier this week, I attended a colloquium hosted by the Minnesota chapter of the IASA. The presenter was Roger Sessions, CTO of ObjectWatch, and the topic was “The IT Complexity Crisis”. The presentation was well-received by most of the audience, but I found myself somewhat at odds with the material.

Continue reading “Sessions on Architectural Complexity” »

Blog WebMastered by All in One Webmaster.
Google Analytics Alternative