My weight is always something that I've been a bit self conscious about. It's not that I'm particularly fat, but for the last few years I have had a bit of a belly. And, at my height, it's not difficult to stray into the "obese" BMI range.
In an effort to try and lose a bit of weight I've signed with WeightWatchers. So far the system seems to be working well for me and I've lost half a stone.
At the heart of the WeightWatchers system is keeping track of what you eat. Every food has a points value (ProPoints) assigned to it. This is a single number that's calculated from the fat, protein, carbohydrate and fibre content of the food. The idea is to limit how many ProPoints you eat each day, and so limit the calories you take in. It's not necessarily about eating less, but about giving you an easy way of comparing alternatives when you're making a food choice.
A lot of the food we cook is from recipes on the Good Food website. As the website lists nutritional values alongside each recipe it's easy to calculate the ProPoints value for a portion.
As a programmer it seemed like a waste of my time to copy the numbers from the Good Food website and paste them into the WeightWatchers calculator. I found a user script that would calculate the ProPoints values for recipes and display them on the page. However, Google have made it difficult to install user scripts in Chrome these days and I wanted something that would work without too much hassle. I took that code as my inspiration and created a Chrome extension that would do the job.
The extension takes the nutritional values given on the Good Food website and uses them to calculate the number of ProPoints in a portion. It'll show this number on the recipe page, and also on pages showing search results.
If you're following WeightWatchers then I'd recommend installing it. It's really helped us find tasty meals that don't cost too many ProPoints, and that's made following WeightWatchers much easier.
My work is also my hobby. Some days I come home after a day of programming and all I want to do is get in front of a computer again. I'll disappear for hours working on random projects just for the sake of coding some more. It's not that I'm not fulfilled by my job, or not challenged enough by it. In fact I think it's the opposite, I enjoy the challenge and I want more of it.
The end result of this has been dozens of half finished projects. Those that make it online are the lucky (and rare) ones, most never see the light of day. I used to have a Trello board that tracked the status of my hobby projects. I gave up when the list of "dormant" projects got to twice the size of the "released" list.
Why don't they ever get finished? Because that wasn't why they were started in the first place.
The aim was never to finish and release them. They were started because I wanted to play with some new piece of technology, or new method of programming. If a project is started because it's fun and interesting then there's no motivation to finish it once the fun and interesting bit is done.
This isn't necessarily a problem. If your spare time isn't for doing fun and interesting things then what is it for? On top of that I learn a lot from these projects. This feeds directly into my work and makes me a better programmer. For example, one dead hobby project a few months back was an experiment with Knockout. As a result Knockout's played a central (and very successful) part in some of Fluent's work recently.
There are downsides though. I've deleted the Trello board, but the sheer amount of abandoned code in my Github, Bitbucket and Dropbox accounts does get me down. It's hard not to see them as failed projects.
Even the work that does get released never finds much of an audience. I think the key reason for this is that it isn't solving a problem. When the main point of a project is to be interesting to write, what's the motivation for anyone to use it?
So all this effort goes in, and nothing useful comes out the other end. Yes, I will have learned something new, but I can also do that while building software that solves problems people actually have. At the moment I'm teaching myself Ruby on Rails by building sites for Cultivate London and a friend of mine. The work I'm doing is benefiting people, and I'm learning as well. It's the best of both worlds. There's no downside, as long as these projects don't have hard deadlines or get too stressful.
I think that's the sort of thing I'd like to focus on. Helping others while learning myself. I've come up with a simple test potential projects have to pass. They must have this aim:
"Helping those who do good do more"
If it doesn't live up to that then it doesn't happen.
This is partly inspired by the day a fortnight I give to charities. Two of the key problems for them are 1) reaching out to people and 2) making the best use of volunteers' time. These are both areas that software can help with. I want to be building those systems.
Of course there will still be abandoned projects. Sometimes you try an idea and it just doesn't work out. However, I'm hoping working on actual problems will mean that some useful things come out the other end.
If you've got an idea for some software that matches that aim then get in touch. I might be able to help you out with some time or advice.
Or do you want to help build something like that? Do let me know, it would be great to collaborate.
The death of Google Reader has got me thinking about RSS again. I'd always meant to use Reader more, but never got round to it.
One of the ways I'd intended to use it was to keep up to date with what developers in Cambridge are up to. I'd like to know what's going on in the development community near me.
After failing to find any existing list I've created my own. So far I've trawled through the lists of @camgeeknight followers and CAMDUG members. I've found quite a few local developers with blogs, but I'm sure there must be more out there. Do get in touch on Twitter if you know I'm missing someone.
Not everyone blogs about software; there's a pretty wide range of topics covered here. There are posts about coding and reviews of programming books, but there's also cycling stats and tips to avoid sexually harassing someone.
So here's my list. There's also links to download the list as either an OPML file or a CSV file. OPML files can be imported into most RSS feed reader software.
For the last few years I've given up a day every fortnight to work for charity. Most of this time has gone to supporting Cambridge Youth for Christ in various ways. While I've been able to help them a lot in this time, I've always felt there was more I could be doing for Cambridge charities in general.
We've got a lot of talent in our city. From the world beating companies like Arm and Redgate right down to the quality small compaines like Fluent, there's plenty for us to be proud of. I think there's great potential to use some of what we've got to help out the local community.
At the end of January I went down to London for a weekend event organised by Good for Nothing. The idea was to bring together designers, thinkers, and techies in order to help out charities and social enterprises. Three organisations came with challenges for us; we split off into groups and worked on solving them. These challenges involved a range of skills, some people helped refine a funding pitch, some redesigned publicity material, and others started building a database system for tracking plants.
The weekend was great fun, and I met a lot of interesting people. It was also inspiring. Seeing everyone getting stuck in really made it clear to me what I'd like to do for charities in Cambridge. I want to put on a Good for Nothing event here. I want to bring together the skill & talent we have in this city and use it to help our community.
I'm not on my own in this. I met Helen Morris down in London, and we've now got together with Lou Shackleton and Mel Findlater of the You Can Hub. It's early days yet, but the current plan is to put something on in September. We'd love to do it as part of Good for Nothing, as long as they'll have us.
Does this idea inspire you too? We're on the lookout for a couple more co-organisers, particularly people with graphic design or marketing and communications experience. Get in touch with me on Twitter if you'd like to join us. If you haven't got the time for that then we'll also need a venue and sponsorship. It's a great opportunity to get your name in front of a cross section of talent, as well as doing something good for Cambridge. And, of course, you can support us by coming along in September!
If you want to be kept up to date with our plans as they develop then sign up to our mailing list.