Code Comment Guidelines

In my last post (Thoughts on Code Comments), I described two opposing camps that argue about code comments. Like much of the craft of programming, the commenting of code is too complicated for a simple set of rules. In this post, I will describe a set of guidelines that I’ve adopted over the years. These… Read More »

Don’t Lose Sight of the Basics

I’ve recently been reminded of something I used to tell entry level programmers repeatedly: Review the basics. And really I mean all of the basics: data structures basic algorithms basics of algorithm analysis language syntax core CS concepts testing strategies In many programming positions, you can get away with coasting on these things for a… Read More »

Programmer Beliefs

The practice of developing software depends on a large body of arcane knowledge and skills. Almost all of this knowledge is based on logical principles and built up to the point that we can do amazing work. Because programming has it’s roots in applied mathematics, there is an impression that programming is also a logical,… Read More »

I am not a Mac Person

Despite being convinced that we are rational people, many programmers or software types can be rabid about our favorite technologies. If you want to hear a passionate opinion, ask about favorite programming editor, programming language, or operating system. If you want to start a fight, suggest that the preference is not an objective decision. That… Read More »

SVG Lives: A Follow-up

At the end of 2008, I did a series of posts arguing that SVG still lives despite predictions of it’s downfall. I had been hearing these dire predictions for years, and wanted to provide a decent rebuttal: Reports of SVG’s death exaggerated. Last year, I had the good fortune to go to SVG Open 2009.… Read More »