How to Escape from {{#PROGRAMMING_LANGUAGE}}
As time goes on, developers will be all the harder pressed to keep up with the skyrocketing number of languages and frameworks. The number of javascript libraries alone is increasing at a furious pace: Angular, Backbone, Node, Ember, Knockout, Knockback,…
Ego Driven Development
Ego Driven Development, (EDD), is a software development anti-pattern where developers and managers repeatedly act as if established best practices do not apply to them, to the detriment of their organization. Institutional ego is most often to bl…
Learn That New Programming Language The Startup Way: For Intermediate Devs
I have a method I use for rapidly learning new programming languages that I wanted to share because I have not really seen it documented anywhere else. This technique is not for the faint of heart, but it is a lot of fun. Many of you old hands and…
End-to-End Web Service Testing
At work last month, I was assigned to fix some bugs in an asynchronous legacy code base. My supervisor gave me a month to see what I could do, and to see if I could fix a few tricky bugs. The code is divided into two sections, a client application…
Don’t Mock Concrete Classes
(They have thin skin) I have been reading G.O.O.S. and honestly, much of it has been just a reiteration. Until chapter 20, that is. I get to the section Don’t Mock Concrete Classes, and it clicks. Mocking concrete classes used to be my bread and b…
On Lisp: Part 1
I have been playing around with lisp off and on for some time now. I started out in Emacs Lisp, making Emacs play as nice (nicer in some ways) as any available php ide, but then dropped off after discovering PhpStorm from JetBrains. When I heard a…
Using Named Parameters
Up until recently, most of my programming was in php, which does not support named parameters (this doesn’t count, and it will get you lynched) so while switching to VB.NET and python, I have come to really appreciate this handy feature. Named par…
Active Record Pattern Testing
One of the most interesting problems I have had to face recently was in testing Active Record objects representing entities in a database. In this instance, the classes were legacy, and many were hundreds of methods long. Testing these classes was…