Lead Engineer, Camayak; Python, PHP Developer; Owner of many leather-bound books, an apartment which smells of rich mahogany.
Don't wanna be here? Send us removal request.
Quote
When we launched AOL 4.0 in 1998, AOL used ALL of the world-wide CD production for several weeks. Think of that. Not a single music CD or Microsoft CD was produced during those weeks. I still remember hand delivering the Golden Master to Lisa in Marketing.
Quora
2 notes
·
View notes
Photo

SXSW session with Al Gore and Sean Parker
0 notes
Text
New Beginnings
Today marks the beginning of my last week at Base Creative Agency, on the 31st of October I will be starting at Camayak as their new Python developer.
After five years of living in Bournemouth, I am moving back to London (this time to Shoreditch, sorry Hammersmith) to live with the gorgeous @newborneyes and return to Python/Django development after 18 months of PHP development at Base Creative Agency.
Camayak are a web-publishing startup based in New-York City, with employees in LA and St Paul, Minnesota. Their innovative product is going to revolutionise newsroom content management systems, giving them the freedom to publish their content over multiple platforms with ease, collaborate with other journalists on the same story, manage sources and much more. I am incredibly excited about this new opportunity and look forward to joining an established team of journalists, publishing veterans, designers and developers.
I have thoroughly enjoyed my time at Base Creative Agency and wish them all the best in their future work.
0 notes
Text
The Daily Fail Strikes Again
About an hour ago @lornage noticed that the Daily Mail accidently posted (and have since pulled) a guilty verdict story on the recently exonerated Amanda Knox. Luckily, I took a screenshot.
How did they manage to publish the wrong one?
0 notes
Text
Flickr for Android
About 18 hours ago, Flickr (finally) released an app for Android, and all I can say is: it's awesome.
I've never really been one to buy into the Instagram & Path craze, I'm definitely the kind of smartphone user who takes pictures and shares them (my Twitpic and yfrog profiles) but I think both of those apps have annoying shortcomings. First of all, Instagram's presence is almost completely mobile, if you click a shared Instagram link you see nothing else but the individual picture. There's no grid, no way of seeing the full photo sets. Path doesn't have this problem, but is entirely limited to a "circle" of your closest friends.
Step forward, Flickr for Android.
Since I don't have a Flickr account per-se, I signed in with Google Accounts and was up and running in seconds, straight from the app itself. The first of three panels presented to you shows your activity feed, what's currently happening with regard to your pictures (comments, favorites, etc). The second lists my contacts, which isn't the easiest to use, as it's merely a search for you to enter people's names in. I was hoping for a Gmail contact importer at the very least, since you can sign-in with their API. Finally, the third panel is all about me - my photo stream.
The first thing I tried was the photo uploader, as I've taken a few pictures in Shoreditch recently which I want hosted on Flickr. The upload process was painless, fast and best of all has Instagram-style filters to apply, awesome. There are a dozen or so filters to use, though some are much more useful than others, I can see myself only using around five of them.
Other than the friend importer, the only issue I could find with the app was a glitch which only happened whilst uploading a photo. During the upload if you try and browse the filesystem for another picture (I was only trying to play with the filters, not upload another simultaneously), the browse-view will hang and eventually crash. Hopefully this will be fixed in a future release.
My photostream can be found here.
2 notes
·
View notes
Text
New Project: @wearebasefm
This is a repost from my post on the Base Creative Agency blog. The wearebasefm Twitter account can be found here.
A couple of months ago, @changeableface and I were discussing ideas for personal projects and we kept coming back to the idea of a web app which tracked the music we’d been listening too.
I remembered our conversation one night recently and decided to give it a go. To find the tracks we’d been listening to in the studio, I parsed our Last.fm ‘recent tracks’ RSS feed (which Spotify and iTunes scrobbles to) and saved/tweeted the results. The next time the script ran, it would look at the last saved track, and work out whether it’s still the latest or not. If something new had come along, it would get saved (and tweeted too).
Within a few hours I had built a working model and left it crawling until the next full Base work day. I spoke to Tom and we talked about pulling together some statistics from the data, to display on the new Base website. Which is what you see today on the site, in the right hand column, down there at the bottom.
the tech
BaseFM is powered by the following languages and libraries:-
Python is the programming language, powering the crawler which fetches the tracks from Last.fm, as well as the web framework which hosts the API. To turn Last.fm’s XML feed into a manageable Python list, BeautifulSoup does a wonderful job and is fast enough for our needs.
Tweepy is a Twitter library which handles the authentication and API requests for updating the BaseFM statuses.
To avoid hitting the database too much, a memcached layer stores frequent queries in memory for a short period of time.
To handle our MySQL queries, the MySQLdb bindings were used.
Google Charts allows us to quickly and easily craft pretty charts on our listening habits.
To aid in the date range calculations (working out when the week starts, etc), the excellent python-dateutil was imported.
Web.py is our ultra-simple web framework which handles URL routing for the API.
Fig 1
The above diagram fig 1 gives you an idea of what one loop through the script does, from getting the last track to tweeting it.
statistics
Between 13th of April and the 31st of May, Base Creative Agency
… listened to, on average, to 115 tracks per work day.
… prefers mashups as a genre (99 plays), followed by indie (63 plays) and rock (43 plays).
… chose “The Beatles” as the top artist (151 plays), followed by “John Lee Hooker” (105 plays) and “Daft Punk” (99 plays).
… listened to “Cheesecake” by “Louis Armstrong” 27 times, “Circle of Life” by “Lebo M” 17 times, “I Just Can’t Wait To Be King” by “Elton John” 16 times.
future improvements
There are some more ideas floating about at the moment, including:
The option for people to @reply the Twitter account and influence (not directly change) the tracks we’d listen to next. It would add a nice layer of interactivity to the application, which at the moment is entirely controlled by us in the studio.
Replace the Goo.gl link to Last.fm with a TinySong (http://tinysong.com) link, so you can also listen to the track at the same time.
Any additional ideas, please feel free to add them to the comments below!
0 notes
Video
youtube
Google's Hamina Data Center
1 note
·
View note
Text
Python, Twitter & April Fools'
Exactly one year ago I played a prank on @ConsumeTea because of one he played on me a few weeks beforehand. Here's what @TimKalic and I did:
Over the course of three and a half weeks, a Python script ran every three minutes via cron and took a picture using the standard iMac webcam. During every iteration, the picture was uploaded to a web server and we cherry-picked the best ones.
Many thousands of pictures later, I converted them to a video, I told him and he loved it. It was even used during a presentation at the second BarCamp Bournemouth.
Here's the video, the cherry-picked picture Twitter account and the code on GitHub.
I love April Fools'.
0 notes
Text
New Project: BoothStats
For over a year now I've been crawling and storing the following / followers values of the top (those with 10,000+ followers) Dailybooth.com users. Why, you ask? I had no idea to begin with.
You see, I'm a big fan of large datasets and 9 times out of 10 I have no definitive idea of what I'm going to do with it. I like to have a set of data and mould my idea around what I find within it - perhaps patterns of data which could be used to deliver insights to the website's users.
So it wasn't until about a month ago that I decided my new weekend project was going to be a very small website which would simply, but powerfully, present statistics on the top Dailybooth users. Enter, Boothstats. Seeing as how some celebrities (Ashton Kutcher, Demi Moore, iJustine) use it on a regular basis, I thought it'd be fun to track how popular they're getting and how they're competing against one another for followers.
My development stack currently looks like this:
Tornado Web is used as a web framework, it's the first time I've given it a go and it I absolutely love it. I've used many small Python frameworks before (Bottle, webpy) and this is very much the same, but I fancied trying something new.
The database is powered by MySQL, in retrospect I wish I had stored the crawled data in Postgres or a NoSQL solution, but it does the trick for the time being. I only picked MySQL at the time so that I could quickly prototype the idea, as this was long before Dailybooth released their API. To avoid any large database hits, most of the date-range query results are stored in Memcached for a short period of time.
I will be improving on the website in the future, allowing more users to view their data (at present there are only 34), but this will require their API to be a little more consistent. At present I believe they are having some downtime on a daily basis.
For more information on Dailybooth, check out their website or their Crunchbase profile.
24 notes
·
View notes