Featured Articles
The Internet on Mars
Published: 2009-11-29This post is from outer space. If we colonized Mars, how would the internet work? The Software Purist investigates.
“What Language Should I Start With?”
Published: 2009-11-25This article discusses what language to start with, and presents Python and Actionscript as potential first languages, with a word of caution.
Ada-like Range Validations
Published: 2009-11-24Ada provides some unique opportunities to catch some common errors in a much similar way by providing built-in range validations. I explore how to do similar in C++.
Interviewing Software Developer Candidates
Published: 2009-11-22Interviewing software developers can be tricky. In this edition, I discuss who needs to be involved, what they should be discussing, how they should evaluate, and what not to do.
My Experiences With Software Outsourcing
Published: 2009-11-21Software outsourcing is a challenging proposition for any company. I have experienced outsourcing and off shoring to Ukraine, so I share so some of my experiences and the challenges in this introductory post. In part II, I will start to tie things together into some conclusions based on my experiences.
Recent Articles
Binary Searches and the 80/20 Principle
Published: Wed, 12 May 2010 11:11:55 +0000Only 10% of programmers write a binary search. I delve into why this might be and remove the blame from the developers to where the responsibility really lies.
Front-End vs. Back-End Development
Published: Sun, 27 Dec 2009 06:47:03 +0000I would say that one of the interesting things about my career, to date, is that I've probably had a pretty even split between front-end and back-end software. As such, I've noticed some interesting differences between the two, particularly with how they are approached.
Happy Holidays
Published: Fri, 25 Dec 2009 13:46:24 +0000I hope everyone is enjoying their holidays. With the holidays being here, I haven't had much opportunity to write new posts, but I will have some additional new ones soon enough. Hope everyone is doing well. :)
Characteristics of Software Company Size
Published: Wed, 16 Dec 2009 19:46:53 +0000I find that it's something interesting in software companies, that often, depending on the company size, things work very differently. Of course, this can be true for any profession, but for software, it seems to be at a larger scale than other areas of development.
Scrum: Agility and Practicality?
Published: Mon, 14 Dec 2009 10:37:45 +0000In this installment, I wanted to discuss the Scrum software process. I have worked on some Scrum projects and I intend to go through some of my experiences in the following post.
Logging in C++
Published: Fri, 11 Dec 2009 17:07:46 +0000In this edition, I want to discuss a C++ logging system a little bit. I've been through the process of developing loggers many times in my career. Each time they get iteratively better, and so I feel this would be an interesting topic to discuss. Now, of course, you could just use a logger from an already existing library, but then there would be no point in this article. So, let's play along for my sake
Inheritance vs. Composition
Published: Thu, 10 Dec 2009 23:27:06 +0000Inheritance vs. Composition. If you're familiar with Object-Oriented programming, and potentially, UML, these terms may be familiar to you. If not, I present them in this article and discuss some of the usage patterns, along with an example.
Purism vs. Pragmatism
Published: Tue, 08 Dec 2009 19:01:14 +0000A constant war in software development is purism vs. pragmatism. In this article, I discuss what these terms even mean and which side of the fence The Software Purist is on.
Music Monday: Nightwish – Once
Published: Mon, 07 Dec 2009 23:40:11 +0000#musicmonday #mm Nightwish - Once. I've decided to start a new column for Mondays to discuss some music that I find that helps me concentrate while developing. The first entry in the series is the album, Once, by Nightwish.
Programming Paradigms
Published: Sun, 06 Dec 2009 18:40:13 +0000If you’re an experienced programmer, this probably won’t be new information, but I hope to at least present it in a new way. When developing software programs, there’s different ways to think about the problems you’re trying to solve, which affect the entire process from initial design to how it’s coded, even to how it’s [...]