Making tools for the job


An internship diary by Aaron Acerboni. Aaron took part in Dharmafly’s first summer internship, when three students joined us at the Lab for the Recently Possible to gain skills in developing experimental web applications. Some of their observations and reflections are posted in this blog.

August 2012 – week 7

“A good programmer is a lazy programmer” is a term which rings true in the web development community. Web applications and software in general are made with the reliance on pre-existing libraries or web APIs.

The software I write indulges in the use of somebody’s shared code with good reason; the code usually does one thing and does it quite well (the Unix Philosophy).

However you may eventually reach a stage when you can no longer rely on pre-written libraries or web services to help you. This may be because your tool no longer exists or never existed in the first place.

At Dharmafly I feel there is a tool based approach to creating the software. We’ve written our own personal substitutes for two existing web services and I am very content with their outcome.

For one of our current projects we wanted to make use of the Google Social Graph API, but it has been recently discontinued. We created a service that has similar functionality, based on the rel="me" HTML attribute. In another project we were using YQL but found that it to be too unreliable. So we then created a similar service which had similar basic functionality. We’ll be open-sourcing both tools.

The significance of this software is not that it helped us make our intended software (although it did). It’s that we now have tools for future projects and the future projects of anyone else who would like to use them.

Tags: ,