Train Times Made Simple With

TL;DR: I made, a data-friendly train times website.

Over the past few weeks, I’ve meed putting a little bit of my free time into developing a train times website.

The idea came to me after a JSOxford talk by Tom Lane about open rail data. It turns out that the data you see on train station departure boards is all accessible, so long as you register for a free API key.

I decided that the reason why the train times app on my phone wasn’t working was because the data was taking too long to arrive over a 2G connection, so I thought I would try and speed things up a bit. I’d make a website without using anything unnecessary, and in doing so I’d have a website that works well on whatever device you’re using.

I call it “Train Text”. It works like this. Let’s say you’re at London Paddington and you want to find out when the next train to Bath Spa is.

You would point your phone’s browser at You don’t need to use the full name of the station – just use part of the name and trntxt will probably find it. Just ignore spaces or any other punctuation. If you know the 3-letter station codes, you can use those too and save some typing time in the process ( trntxt makes these station codes visible to help you remember them.

The website was designed so that even my old Nokia 6303 can access it correctly on a slow 2G connection.


I’ve stripped out everything unnecessary so that you can get the fastest responses possible (more on that in another post). That’s why it doesn’t look very good ūüėõ

There are, however, some limitations. One of them being it can only handle direct routes. If you’re traveling from Swindon to Oxford, you need to change at Didcot. You’ll need to make a request for Swindon to Didcot, then another from Didcot to Oxford.

It doesn’t do arrival times yet, but I’ll get them in soon!

What’s more annoying is that after I made the site, I realised that it seems to work everywhere apart from Bath Spa station.


Party in the City

Last night, Bath hosted its annual ‘Party in the City‘ – a night of music and arts in multiple venues across the city. Even if you stayed for 10 seconds in each event, you probably still wouldn’t be able to see everything.

I was supposed to be singing with THE Bath Chorus* in the Abbey, but I lost my voice ūüė¶

Instead I wandered around and watched some of the other acts and took some photos.

There was a samba band in the Circus

IMG_5501 (1280x853)

Continue reading “Party in the City”

Realtime hacking with JSOxford

Yesterday I went to a hack day run by JSOxford. The theme was ‘realtime’, i.e. using Web technologies to update a site automatically from a data source.

Since I had no experience with realtime technologies before I came, I didn’t want to make anything too ambitious! I just wanted to learn the basics so that I could make something useful in the future.

Continue reading “Realtime hacking with JSOxford”

Breaking News

I interrupt this extended period of non-blogging-ness to bring you news that isn’t interesting to anyone.

I’m not exactly what you would call a health freak. Since moving back to Bath to start my job I’ve been thinking “I should join a badminton club” or “I should join the gym”, but in 4 months that still hasn’t happened. As far as exercise goes, I walk to work every day – half an hour there, half an hour back – and that’s pretty much it.

I hate running. Sometimes I’ll try jogging to the Co-op (it’s literally just at the end of my road) but I always get so out of breath it put me off trying anything more strenuous.

But yesterday, the oddest thing happened. I woke up and thought “I should go for a run”. But it was a bit rainy that morning so I didn’t bother.

Then this morning, the weather was calm and bright, and I saw this tweet.

That tweet actually inspired me to put on my sports kit and (for the first time ever) leave the house with the sole intent of arriving back a few minutes later with an increased heart rate.


And I did what the tweet said – I went on an incredibly short 1km run, but not quite as short as the one in Run Fatboy Run.

Turns out 1km isn’t very far at all, but I was still breathless at the end. Not quite a half marathon just yet, but maybe one day I’ll enter one!

Code Golf at Bath Ruby User Group

Golf: normally, unless it’s of the ‘Crazy’ or ‘Adventure’ variety (is there a difference?), I will stay well away from it. That’s mainly because my arms don’t swing and it involves quite a lot of standing and waiting around outside. However, yesterday¬†evening I played a game of Code Golf.

The game goes like this – there are 9 problems¬†(or ‘holes’ if you will), and you need to write a method to solve each one. The problems are fairly simple (I was reminded of first year programming), but the aim was to solve the problems in the fewest number of characters possible. This meant if you stood any chance of winning, you would have to squash your code into something compact and unreadable.

Continue reading “Code Golf at Bath Ruby User Group”

Bath Hacked guest blog

I wrote about my hackathon experience on the Bath Hacked website, but I thought I’d copy it over to this blog too.

What did you make?

We created a website that aims to help people decide who to vote for in the next general election. It visualises the results of past elections and gives unbiased information about the candidates standing for the next election.

Which data sources/tools did you use?

Our main data source was the BANES website, which contained all the data for the past election results. We also looked at the websites of the candidates for next year’s election.

What were the challenges?

One of the main challenges was collecting the data. Chris spent many hours trawling through the many pages of the council website to collect the data and put it into a spreadsheet, which was then uploaded to the data store.

What would you do to improve your project further?

Currently we only have past election data for 2011 in the Bath Constituency. We would like to add data for North East Somerset and for other years to help users discover trends.

We were also intrigued with the problem of tactical voting. We’d like to create an opinion poll to collect information on how people would like to vote if they didn’t feel the need to vote tactically. Perhaps this will be able to influence people’s decisions.

Where can we find it?

VoteTub isn’t online right now, but we plan on continuing development of the website. This blog post will be updated and we’ll tweet a lot when we bring it live.


Bath Hacked 2.1: VoteTub

Photo taken by Jon Poole (I think). More photos here.

This weekend I took part in my first ever weekend-long ‘hackathon‘, where a bunch of developers group together to create solutions to make Bath better. The event took place at the Bath Guild. We were encouraged to take publicy available data about the city and turn it into a resource that members of the public could actually make sense of.

I formed a team with two other hackathon newbies, Christopher and Cliff. Christopher wasn’t a coder but had an idea for a project, Cliff had experience as a front-end developer, and I was a recent graduate with almost no experience building a thing from scratch.

Christopher’s idea was to build a website that would help people decide who to vote for in future elections. It would list the candidates with links to various forms of social media, and give unbiased policy information. It would also look into the past, providing results of previous local elections, and also the future. An idea was to try to tackle tactical voting. The site would ask visitors who they were going to vote for, then who they would ideally like to see in power. It would then show them the summary of what other people replied. We thought it would be interesting to see if this data would affect people’s decisions.

Continue reading “Bath Hacked 2.1: VoteTub”

Postmodern Jukebox beats everything else on the Internet right now

When Scott Bradlee takes a modern song and makes a vintage arrangement of it, something amazing happens.

His skill on the piano is far beyond what I could ever dream to accomplish, the rest of his band is brilliant and the singers are just incredible.

When you have such a talented group, you don’t need to overproduce the music. There’s no autotune and no miming. The unaltered voices allow all the emotion to come through.

Real people, playing real instruments, singing with their real voices, in a single take. This is how music should be made.

Continue reading “Postmodern Jukebox beats everything else on the Internet right now”

YouFeed updates

YouFeed logo

So this happened the other day:

That’s Edwin, the CEO of feedly, saying my YouFeed site¬†is “brilliant”. He wants¬†to integrate the functionality of YouFeed into feedly mini (the Chrome extension). He said that he was considering making feedly mini open source, to¬†allow developers like me to add our own functionality to make feedly better for everybody.

Continue reading “YouFeed updates”