Monthly Archives: October 2012

Energy visualisation

fondling flickrspace

Peter Cook is a software developer from Lewes, East Sussex. He took part in our recent Data Visualisation Lab Days, where we brought together a melting pot of designers, programmers and others, working together to produce visual, interactive tools that make use of real world data to help elucidate problems and facilitate change. For a different take on the Lab Days, see Jaya Brekke’s post on visualising the social impact of the economic crisis in Greece.


I’ve been attending the Data Visualisation Lab Days at L4RP and it’s sparked off a revisit to an old project. I logged energy data from an energy monitor for a few months and used the flot library to draw daily graphs of my electricity consumption.

First energy graph

It was very revealing and helped me reduce my consumption significantly. However, I was aware that the graphs require a fair degree of analysis and interpretation and require an experienced eye to read them. So probably not that revealing to most people.

I spent a lot of time trying to develop an algorithm to identify patterns in the data so that information such as: ‘your kettle is costing you x pence a week’ but to no avail.

However, after attending a lab session at L4RP and finding out about the D3.js library there, I had another think about how the energy data can be presented. The result is a circular (or doughnut?) graph showing a week’s usage. Read More »

My experience this summer

wedge

An internship diary by Adam Yeats. Adam 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.


September, 2012 – week 13

I first got a start in web development when I must have been 10 years old or so. I committed all the usual web design atrocities people joke about about these days, and I had several awful little websites littered across GeoCities. I went off and did other teenager-y sort of things and then a couple of years ago, I had a little epiphany and decided I wanted to come back to university and finish what I started.

I’m extremely glad that I did.

Coming back to university, learning web development and engaging with the Brighton web community has opened countless doors for me, and one such door opened for me when Prem kindly offered to take me on as an intern for the summer. This must have been quite a risk for him; I had a limited grasp of JavaScript that I had gained from my first year at university, so it was difficult to say where I was going to fit in the Dharmafly ‘ecosystem’. However, before too long, work for me and the other interns started to pile up.

Looking back 4 months, the difference between the programmer I was then and the programmer I am now is equivalent to night and day. Read More »

Coding for a reason

The Semantic Genesis

An internship diary by Chris Newton. Chris 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 8

So what have I been up to? Well for one thing I’ve been working through a lot of issues. GitHub issues that is. Apparently building things that people use means that when they go wrong or could be doing things better, you’re the one that has to fix them or something.

Oh and documentation too. What’s that? I’ve completely changed the way something works and haven’t documented it? Can’t you just magically figure it out or something? Ok fine, I’ll write some stuff explaining it.

But what new code stuff have I learnt? Read More »

Making tools for the job

Untitled2

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.

Work that doesn’t suck

weird wheels-  by Radebaugh

An internship diary by Chris Newton. Chris 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.


July 2012 – week 3

So, since I’m into my third week of my shiny new internship, let’s take a moment and reflect. What have I been doing? Well there are lots of little bits of JavaScript that I never knew were there before, be them forEach loops on the server or _.each loops on the client, JS is gradually getting easier to write.

At the moment I’m working on several projects, but two stand out for me. Firstly I’m getting stuck into Node.js and am in the process of writing a social graph API in the environment. It basically works likes this: you provide it with a URL, say, a Twitter profile, and from there it follows hyperlinks that contain rel="me" to other pages owned by the same person.

For the second project, I’m using Prem’s Pablo library to create an SVG drawing webapp for both touch devices and regular desktop browsers. There’s a wide scope for this project so I’m quite excited about it; one idea was floated about using Node.js and Socket.IO to create a collaborative drawing app, which I think sounds awesome. The project has also been a great opportunity for me to get my head around the challenges of targeting a variety of different devices, along with all of the specific JavaScript and CSS that comes with that, together with a good way of architecting it all into something that’s usable and makes sense.

Basically I’m being paid to have fun – a fairly surreal experience as I was pretty sure that when you called something work it was meant to suck; apparently this is yet another instance of TV lying to me.

Git and GitHub

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.


July 2012 – week 3

At Dharmafly, and modern web development in general, there is great favour in using Git and GitHub to manage software projects collaboratively.

Git is a complicated program that I have yet to fully understand. In fact I feel the majority of developers using it are the same.

Regardless of that I feel that I’ve made a good deal of progress using the software, and feel more confident working on a software project collaboratively.

On my first proper project using GitHub – Planet.js – the outcome was messy. The git messages are inconsistent and branching felt more like an adventure that my source code would not survive. My remedy is often to reclone the project if git became too cryptic. I do that far less often now!

I now feel that I have bettered my understanding of the appropriate git flow for making software changes within a team.

The most significant of these flows is making pull requests. I can really see their benefit now and GitHub’s GUI for them can really give insight to somebody’s feature changes.

This understanding of pull requests had a really good effect on me recently. Crypto.cat is a project I really admire and I’m looking at ways that I can contribute to projects similar to it. I managed to fork and contributed a pull request that was accepted with a thanks from the author.

The Summer Internship

Untitled

Over the summer months, we’ve been blessed to have had three incredible interns with us at Dharmafly – two new graduates and one first-going-on-second year student, all from the University of Brighton’s School of Computing, Engineering and Mathematics.

We’ve been creating new tools and experimental applications in our little future retro spacepod at the Lab for the Recently Possible, at the top of The Dock in Brighton & Hove. In the process, everyone’s been learning a whole lot more about application engineering, open source software, JavaScript, API design, Node.js, Git, and more than anything else, about what it takes to steer a project from idea to implementation, working with others along the way. Read More »