Blog

Dockerised Gitlab+CI+Runner

Gitlab is an open source clone of Github with some extra features like merge requests which are useful for teams. It has recently been combined with Gitlab CI which is a continuous integration server ...

WordPress Packagist gaining traction

WordPress Packagist is a service I developed at Outlandish. It provides a mirror of the WordPress plugin and theme directories as a Composer repository. In the year since we [announced it](http://outl...

A better command line for Windows

From my post on the Outlandish blog: If you do web development there’s a good chance that you too spend part of your time on a Windows laptop typing commands to a remote server running Linux. In this ...

Convert XML to JSON

From my post on the Outlandish blog: Unfortunately, XML exists. For whatever reason, somebody once thought it was a good idea and now we’re stuck with it. Since most modern applications and APIs use ...

Mixtape vol. 13 - Trees

Here's some more music. Download [Mixtape vol. 13 - "Trees"](http://tamlyn.jellycast.com/files/audio/Tamlyn-Podcast13.mp3). Tracklist: Todd Terje - Snooze 4 Love D.L.i.d - Colour in Your Hands (feat....

Mixtape vol. 12 - "Spot the Dog"

Here are some tracks plucked from my Spotify "Loved" playlist. As usual, no theme, just things I like. Perhaps you will like too. Download [Mixtape vol. 12 - "Spot the Dog"](http://tamlyn.je...

TV apps are a flawed idea

From my post on the Outlandish blog: Internet TVs are the video phones of the 21st Century: forever touted as the Next Big Thing yet never quite catching on. The latest push is all about apps. But doe...

Android powered robot tank

After half a lifetime of dreaming about it, I've finally started building a robot. It's based on a remote controlled tank, an Android mobile phone and a IOIO board which connects the two via USB. Up...

Looking for bad user experience? I go DirectGov.

I've just moved home and so needed to update the address on my driving license. "Do it online - do it quicker," says the DVLA website. Well all right, I reply. How naive of me. After clicki...

Mixtape vol. 11 - "A Few Old Tunes"

A fairly haphazard selection of some of the interesting tracks that I have "bookmarked" and put aside over the past few years. I intend to resume regular podcasts but to spend less time on e...

Designing a better payslip

You know there's something seriously wrong when your payslip is three pages long and comes with a two page explanatory leaflet. Payslips are often pretty cryptic but the one I received today was so ba...

How @trendingtopics works

I made the @trendingtopics Twitter bot to keep me and others up to date on the (often) interesting topics that are being discussed most across the Twitterverse. This is a slightly technical explanatio...

Mixtape vol. 10 - "Christopher Hogwood" Edition

This mix starts off a bit electropop then veers off into indie and other good stuff. Download [Mixtape vol. 10 - "Christopher Hogwood" Edition](http://tamlyn.jellycast.com/files/audio/Tamlyn-Podcast10...

Interaction '09 Highlights

Four days of presentations, workshops & chats have drawn to a close. I've had a great time, learned a lot, met interesting people and leave full of ideas and enthusiasm. Full videos of every sessi...

Mixtape vol. 9 - "Not a Care in the World"

This is mainly a 50s mix with a few tracks bleeding over into the adjacent decades. When I listen to this music I can't help but bounce around with a grin on my face while my worries melt away. Try it...

More search terms instead of URLs

In August I posted about an emergent trend of sharing web addresses by quoting search terms rather than URLs. For instance the PM programme on BBC Radio 4 says "to find our blog, put pm blog into...

Twitter Trending Topics 2.0

I've updated the code that runs @trendingtopics. It will now tweet sooner, avoid duplicate tweets, ignore hashtags and add links to Wikipedia and Google where appropriate. My aim for this update was t...

What is an Interaction Designer?

There's a great thread over on the IxDA mailing list discussing "As an interaction designer, how do you explain your work in social situations?" Here are my favourite answers. "I desig...

Formatting bytes with significant figures in PHP

Hopefully these PHP snippets can be useful to someone. The first function formats a number to a specified number of significant figures (this is different from rounding to a number of decimal places)....

Hackney Tweetup

I'd like to organise an informal gathering of Twitter users from Hackney and heareabouts. There's a bunch of us living in the neighbourhood and i think it would be nice to get a proper introduction so...

Twitter Trending Topics

The @trendingtopics Twitter bot tweets the topics that people are talking about most on Twitter. There’s also an RSS feed if you’re interested. It’s a very low tech solution and it’s not guaranteed to...

Mixtape vol. 8 - "Yes"

Phew! It's been a while. I actually compiled this mix back in May or June but didn't get round to finishing it until now. Once again there's no theme other than music I'm currently enjoying - or at le...

Search terms instead of URLs

Web addresses are horrible. They're difficult to remember and poorly understood. Which is why I found the recent trend of suggesting search terms instead of quoting a URL interesting. Although most UR...

Things I found in my car (that I didn't put there)

The car doctor unexpectedly had the car valeted, washed and partially resprayed. It looks pretty good now so I felt I had to do something about the junk that has accumulated inside. Here is a selectio...

Server-side Greasemonkey

Today's Gmail Labs announcement got me thinking about ways to allow users to customise a site. Greasemonkey is amazing but the problem is that the scripts are stored with the browser on the client-sid...