Warnings and apologies: 6am introspection ahead!

In Dan Hon’s latest newsletter he briefly mentions the academic theory of some of the work at ETech in the past (compared to some of the advertorial at O’Reilly Solid).

I have a grudging acceptance that being older, and having two kids, but still being interested in Things as well as games, and, y’know occassionally going outside means I have to pick and choose what I spend my time on. I used to spend a lot of time, pre-kid, on taking some new or interesting piece of technology and making a thing. There used to be an XUL interface to this blog, for example.

But the edges are less clear to me now. Or at least the bits-only edges are unclear. There’s obviously a load of really interesting stuff going on with sensors and arduinos and the Raspberry Pi, and, one small step up from that, plenty of programmable toy robots.

I suppose that areas like Web Components are where the current excitement is – an area with a dense spec and, when I last looked, a dearth of examples.

Because I sit in a world which straddles Java and PHP and has a toe in Ruby I see things like Grunt and Gulp, and think “hurray, a replacement for those Ant scripts!” but it turns out they’re barely that. Vagrant appears, and is great for packaging and distributing customised images of virtual machines, but again the bits I care about are just a wrapper around other tools. Where’s the meat? There’s a lot of work going on in front-end JavaScript application development, but, like Joe Gregorio, I have a whole other rant about that.

Precinct 13

I realised some while ago that I have the theme from Precinct 13 living deep in my subconscious, but it was only today, when Hip Hop On Precinct 13 came on the radio that I realised it was because the previous owner of the Commodore 64 I had as a kid was big into the demoscene and this was the theme track to one of them.

Not only did I have disk after disk full of demos but, amongst all the other disks for my 1541 drive, a copy of Elite and multiple save games which had either been hacked or which the previous owner had spent hundreds of hours building up. Docking was never so much fun as when it was a mere keypress away.

This was the computer, followed by the 286 which I wrote text adventure games on and modified Gorillas on, which got me into programming. I was never a hotshot PEEKer or POKEer, but even the basics, tediously copied in from a printed listing in a magazine, made me feel like a genius.

This August my son will turn five. He loves playing computer games, and with any luck, he’ll love the Kano he’ll be getting. Hopefully in thirty years he’ll be having flashbacks to images and sounds he spent hours exploring on the first computer he could call his own.

Management material

So, despite my sterling attempt to delude myself last year it’s been years since I’ve been a developer rather than a manager, and it was about the time of this change in my role that this blog started to die out.

All I have now are opinions and guidance, which the internet is far too full of for me to want to add to (plus I am still very management-naive in a number of ways), but there’s always been room to contribute something new in the form of code.


Off the back of that 57 day coding streak I decided to set myself a few other goals.

I keep a private blog where I write about my kids. Until the beginning of the year I’d posted about once a month and they mostly started with “its been far too long since I last posted, but…” and then detailed just the last few days, because when you’re the dad of a one year old, that’s all you can remember.

So far I’ve made twenty posts this year, including every day in March so far. I’m using an android app for this called goal tracker, although once installed it annoyingly just calls itself “calendar”. It has nice big ticks for each day, and this seems to be working.

This year and the end of last year ha vee also seen big streaks in “one second everyday” and “calorie counter fitness tracker”, the latter of which I use to feed extra data into my fitbit profile.

All of which is to say that I’ve been focusing in rather than out, and making sure I can make a daily commitment to something.

Being able to maintain even this somewhat small but continuous level of creativity (taking a video, writing a blog post, thinking about what I’m eating and where I’m going and how far it is), plus a couple of catalysts at work have helped me to think about the problems (and some more fun non-problems) I could get my teeth into both in and out of work.

Hopefully this will lead to a few more things being shipped to the outside as well as the inside, and can stop being worried that I simply don’t have anything to say anymore.

57 days

Yesterday, with the return of my family from holiday, I forgot to make changes to any of my projects in GitHub, and broke my commit streak at 57 days.

Initially I’d aimed for making changes on 30 consecutive days, just to try and get some momentum up in making progress on a couple of fairly low-key projects that hadn’t been going anywhere, and although I did cheat a few times (GitHub counts things like opening issues on a repo as ‘activity’ and I have plenty of bugs and features!), the vast majority of my activity was real commits, and I found 30 to be quite easy.

I think this is definitely something I’ll try again, but probably in 30-day chunks (each day only tends to give me ~30 minutes free to do any coding at home!), and probably with a more well-defined plan about what I’m actually expecting myself to ship within that time.

Anyway, despite the fact that I’ve finally broken my run, I’m pleased that I managed to get so much higher than I’d originally aimed for. Onwards!

Welcome. I thought mailing lists were dead. Didn’t you?

The title I’ve give this post is the subject line from the mailing list Rands has set up.

Since the death of Google Reader a few months ago, and despite the fact that I set up my own aggregator and native client pair, having a busy work and home life means that aggregators as a separate port of call just don’t get a look in.

I think I’ve probably subscribed to about five mailing lists in the past six months. This is something I never thought would happen, and frankly, I find it reasonably depressing. Not only should most email not exist, I’m now adding to it! The mass-closure and restrictions of open ecosystems and web APIs in the past few years seems to have led to a narrowness of thought, and an approaching peak (nadir?) of the celebration of startup culture, which, whilst terribly exciting in its “let’s solve a problem!” form, is really quite awful in its’ “we’ll only solve problems that make money!” form.

So the question I ask myself now is, would I pay for a decent aggregator service which gets itself back into my day without causing me massive disruption? Well, no, not if it’s yet another data-owning service which just mines me to sell to someone else. What’s the point? I use enough of those already. What I need is something that inveigles itself into my daily flow. Uses the tools I already use. Gives me direction rather than makes me make choices. A…email 🙁

A Ruby interface to the GatherContent API

GatherContent is an awesome tool for planning, structuring and collaborating on web content (they have a short video demo).

They have a read-only API, but only a couple of implementations, so here is mine, in Ruby.

The API is read-only and HTTP POST-based, and so I use HTTParty to manage that side of things, and method_missing to emulate the relevant API calls, and then Hashie to convert the returned Hash into an object. It’s very simple, so give it a try.

Hosting your own calendar and contacts directory

Apparently there is a thing called ownCloud which lets you run, amongst other things, a calendar server and a contact directory, both of which will sync with your android phone and here is a writeup of doing just that. I’ve not tried it yet, but any option to prise the data away from Google and to something I own has to at least an option worth trying.

Configuring get_iplayer

There are lots of ways of setting up get_iplayer. Here’s mine.

It means that filenames work across Windows and Linux, removes underscores from names, never deletes old episodes and downloads episodes into a directory named after the series and names the files with the series’ episode number.

Your own options file is in ~/.get_iplayer or c:usersusername.get_iplayer depending on your operating system.