Code Craft

Software is equal parts Art, Craft, and Engineering


These articles are just my opinion; please do not feel any obligation to agree. If they do nothing more than challenge your existing ideas, I will consider that they have done their job.

As with most other pages on this site, all articles display the date published and the date last updated. This latter date refers only to significant alterations or additions to the content of the article, not to spelling or typographical corrections.

Articles are shown in the order published; the right side-bar index lists the articles in alphabetical order by category.

Coding Conventions

This article details my personal coding conventions for C-like syntax languages. Strict application of these conventions is expected of a junior level programmer. It is expected that more senior team members can exercise judgement in applying the details to specific situations.

read more…     back to top

Code Layout & Formatting

This article focuses primarily on examining issues of indentation style, but touches on other broad aspects of formatting and alignment of code. Let me caveat up front that the coder who uses variable pitch fonts will likely need to ignore those parts of this article which relate to alignment, but the primary focus of indent style applies to all coders and all program and markup languages.

read more…     back to top

Code Bloat - On Size and & Efficiency

Is it just me, or has the whole software industry by and large bought into the lie that size and performance doesn’t matter anymore? Are we programmers so incredibly full of hubris that we really believe that our time as a programmer is so much more valuable than our user’s time - even though that user time is multiplied by many hundred, thousand or, in some cases, million individuals? It all kind of reminds me of a visit to the dentist or the doctor - you know the one where you have an appointment at 10:00 am, and if the doctor see’s you before 11:30 you consider yourself fortunate.

read more…     back to top

Exceptions in Programming

On the use and value of exceptions in programming - a discussion of how and when to use exceptions and whether or not the exceptions thrown by a method should be declared and their handling enforced by the compiler.

read more…     back to top

Build A Computer

The purpose of this article is to outline the basic process of building a Personal Computer (PC) for general home use and to highlight some of the pitfalls in a way that should remain relevant for some years. I discuss in detail the major components of a computer and outline the considerations in choosing each one. Note that If you are looking for highly technical information on the various components, further research will be required at other web sites, like Tom’s Hardware and Wikipedia. A good place to start for more detailed background is Wikipedia’s article on custom built PCs. What I am specifically not trying to do is explain how to build a state-of-the-art high-end gaming rig.

read more…     back to top

JSON Vs. XML for Data Interchange

Since the rise of the Internet as a business network, one of the primary focuses of my work has been messaging infrastructure. As a consequence, I know a good messaging data format when I see it.

read more…     back to top

Git Workflow

Set forth here is a git workflow that is effective for all projects. The process is very similar to GitFlow, except that we use a pair of branches, qa and release, instead of multiple release/xxx branches.

read more…     back to top