-
Integrating test.check and Javascript
September 25, 2014
Introduction I was recently on The Cognicast with Craig Andera where we discussed using Generative Testing on a large non-Clojure(script) codebase, in particular Ruby on Rails and Backbonejs. If you haven’t listened to the show yet I highly recommend it first. As I promised on the show, I’d like to share how we used Test.Check to test our Backbone.js code base. Our overall strategy for testing Javascript is going to be:…
-
Unusual Productivity Hacks
June 19, 2014
The internet is lousy with productivity ideas, mostly about how to work harder or longer. I personally believe that good productivity is about maximizing per hour results, not working harder. And the fastest way to improve your productivity is to eliminate some of the things slowing you down. So rather than going over the usual suspects, let’s take a look at eliminating some of the low hanging fruit. 1. Conquer Your Diet.…
-
The Primacy of the Build Tool
March 31, 2014
No programming language stands alone. Besides the compiler, every programming language includes an ecosystem of libraries, build tools, analyzers, debuggers, and other utilities. Languages often rise and fall depending on the quality of these tools and libraries. For every language there needs to be one central item upon which every other tool depends. In most languages, this is the compiler or interpreter. Your Rails project is entirely dependent on the version of Ruby provided by the current environment, and similarly Maven depends on the version of javac and java available on the path.…
-
Managing is a Craft Too
January 14, 2014
I’m getting a little tired of seeing posts saying that the best managers must be an ex-engineer or a current one. I think coding skill is a very narrow minded way to judge both a human and a professional, and a terrible way to run a business. Here’s the simple truth, a manager is a craftsperson just like a designer or engineer. The only difference is that their craft is organizing people, not designs or code.…
-
Internationalization Golf
January 6, 2014
Martin GrĂ¼ner had a fun article about his experience writing an internationalized app. I thought it would be fun to share my own experiences. My first job out of college was working on a Common Lisp (CL) web application. The application was only a few years younger than me, and had originally written in CL due to a particularly good HTML/XML library available in CL at the time. Unfortunately in the intervening years the HTML library stopped being state of the art, and the whims of enterprise software engineering had left CL behind for web development, resulting in a serious lack of common programming conveniences.…
-
Thoughts on Rubymine
December 20, 2013
As part of my new job at Pivotal Labs I’ve been pair programming almost every day. The obvious challenge with pair programming, especially in a popular language like ruby, is in choosing what tools to work with. Vim, Emacs, RubyMine, TextMate, the choices are various and divisive. To make peace among the engineers, it makes sense to dictate one set of tools to make peace among all your employees, and to make provisioning the machines easier.…
-
Org Mode
November 4, 2013
Recently I’ve taken interest in making myself more productive, and at least so far it’s going well. I personally attribute part of my current productivity to a new “shut up and get back to work” mentality, and partly to a new (to me) organization system. The problem I’ve had is that every single organization app is broken in some way. The only truly flexible system uses paper and pen, and I don’t really want to deal with that.…
-
The Best of Lisp
November 1, 2013
Edit: Dan Benjamin himself informed me that I missed the sarcasm boat here. I’m leaving the relevant bits, and cutting out the now irrelevant criticism. I’m slowly working my way through the Back to Work podcast. I’m way behind, so please excuse that this post references an episode over 2 years old at this point. Episode 11 was about “future proofing your passion”, among other things. In it, Merlin mentions that one thing you can do as a low risk investment in a programming career is to maintain current on new languages.…
-
Advanced Existential Dread
October 30, 2013
One of the most scary moments in most young adults' life is the realization of mortality. Teenagers and younger children often understand on an intellectual level that people die, but emotionally that’s something that happens to other people. There’s very few things quite like the moment when an adult realizes that they must die, there’s nothing they can do to stop it, and there’s not a lot they can do to delay it.…
-
Time, Attention, and Pairing
October 26, 2013
Merlin Mann gives a great talk about Time and Attention. The gist of his talk is that in order to create great work, you need to balance time vs. attention. Without using your time, you’ll never create. But you must use your attention to determine if you’re creating something great. Great producers balance between these two to both produce, and produce good work. Part of my new job at Pivotal Tracker involves pair programming.…