Not Invented Here, Not Written By Me, and Reinventing The Wheel

Not invented here and not written by me are both driving factors in reinventing the wheel when developing software. We limit ourselves if we do not build upon the achievements of others. - Chad Dotson Not Invented Here I'm sure everyone has encountered developers that would prefer to implement everything…

C-Style Unions And Python

So, you're creating a C Union (used to create a variant type) and writing it to a file, socket, etc and want to read that in Python. There are two ways to deal with this. Assume the following union definition in C typedef union { int i; unsigned int u;…

Node.js vs Python vs PyPy – A Simple Performance Comparison – Updated

Some History This is a followup to my original post: Node.js vs Python vs PyPy - A Simple Performance Comparison.  This article corrects a discrepancy caused by a slight difference in the JavaScript implementation which skewed the Node.js results. The Algorithm As stated in the previous article, I've attempted to…

Notes On Writing Testable JavaScript Vol 1

When writing JavaScript, I am a big fan of minimizing functionality and variables exposed publicly, which we all know to be good practice. However, this leads to anonymous functions and functions hidden within closures.  So.... How Do You Test That? How exactly do you test private methods in JavaScript?  To…

Make It Easy

Building a successful product is usually complicated business.  With any luck a project will have an automated deployment process.  This however is only part of the equation.  Another significant part would be an automated build process. Long Term Success Long term success means making it easy for new people to…

Swift – A Quick First Impression

Swift and Xcode 6 Late last week Apple released Xcode 6 to the general public.  I've been waiting for the opportunity to try out Swift, so I started working on an idea I've had. General Thoughts This is probably a general iOS development comment, but the way you link items…