Philip Roberts

Fresh, free music with Sonic Router

I recently came across Sonic Router which have a nice collection of dubstep/electronic/hip-hop mixes from various artists. One of my favourites so far is by Lapalux.

Bored of opening the Sonic Router homepage, finding the list of mixes, choosing a random one, hitting play, I knocked up a little Ruby script that opens a random one in your browser. And if you have dotjs installed there’s a little snippet that will autoplay too.

Read More

The making of Shakey: a Realtime, Massively Multiplayer, Shakespearean parlour game

At Culture Hack Scotland (#chscot) last weekend, we won most playful and the grand prize for a real-time game we made using Rails, JavaScript and Pusher. For a bit of background read this post.

I thought it might be interesting to break down the technical details of how it was developed and worked. Bear in mind that apart from a tiny bit of prep work, all the code in this project was coded in 16 hours - so the architecture/code will not be optimal.

Credit where it’s due, the code and architecture I am talking about here was created by myself, Rory Fitzpatrick and Jim Newbery, with a little help from Phil Leggetter of Pusher.

The Premise

The idea of the game was thus:

  • On a big projector screen would be an image of a theatre stage complete with actors and audience.
  • Players register by visiting a url on their phones.
  • Players are assigned to be in the cast, or in the audience, and appear on the big screen using their twitter avatars.
  • The game starts
  • The actors then recite a short piece of Macbeth, reading the lines from their phones as they are prompted to do so.
  • The audience have the option to throw tomatoes/flowers depending on how well they think the cast members are doing.

Getting Started [Midnight friday]

Since we wanted a game that worked in real-time, with multiple devices communicating with each other, we quickly settled on using WebSockets, which allows JavaScript on the browsers of two devices to talk to each other. We quickly settled on using Pusher which is a hosted solution for implementing websockets easily. We were pretty pleased with that decision as it was easy to use - the only drawback being no fallback support for the default Android browser (unless Flash lite is installed).

Read More

Giving up on self-defeating self-talk

The mind is a powerful thing.

It can convince us that ghosts exist; that the position of the planets demonstrably affects our lives; that the answer to the Monty Hall problem is not “choose the other door”.

It can convince us we hate foods that we later come to love; that the aged mouldy excretions of a cow’s mammary glands are in fact a delicacy.

It can convince us that innocuous eight legged beasts 1/60,000 of our own weight are terrifying; whilst striped, fierce, clawed, fanged creatures 5 times our weight are cute.

It can convince us that other human beings don’t deserve to live because of the colour of their skin, or the country they were born in.

It can convince us to end our own lives.


Might it not be then, that this mind of ours, while powerful, is often pretty stupid.

That perhaps sometimes we should question the validity of what it tells us, or ignore it completely.

That when it says “you suck”, or “you are stupid”, or “you are not worthy”, that perhaps it is wrong. That perhaps we should not give into, or even enjoy this feeling, and fight it instead. Banish it along with all the other myths, and fallacies, and fantasies, and biases that a mind crafted over 3.8 billion years comes up with when it is placed in a modern world free of genuine threat and scarcity.

Perhaps.

Posing with our champagne after winning Culture Hack Scotland 2012 with @roryf, @praymurray, @froots101, @druichmckay and @suchprettyeyes.

Posing with our champagne after winning Culture Hack Scotland 2012 with @roryf, @praymurray, @froots101, @druichmckay and @suchprettyeyes.

A Shakey Victory: Culture Hack Scotland 2012

Having just returned home from Culture Hack Scotland 2012, I can safely say that it is one of my favourite tech events of the year. Since anyone who wasn’t there will have seen all my tweets without knowing what I was up to, I thought I should give a run down of what I’ve been up to for the last 24 hours.

Culture Hack what?

Culture Hack is a 24 hour long hackathon. This year it was held at SocietyM in Glasgow - a beautiful coworking space under the equally cool CitizenM hotel.

The basic premise is thus: lots of cultural organisations (festivals, museums, libraries, universities) generate a crap load of interesting data that they don’t do anything with or share. Meanwhile there are lots of developers and designers who would love to build useful/interesting/cool things using this data, but they don’t get the chance. Culture Hack is an event that encourages these organisations to share their data, and see what cool stuff developers and designers can do with it in under 24 hours.

This years data included things like:

  • full event listings from numerous festivals in Scotland (Glasgow International, the Edinburgh Festivals, Arika)
  • electricity, water, gas usage data for some of Edinburgh Universities buildings recorded every half hour for the last year
  • data and images of the National and Glasgow museums

Our hack: Shakey, a Massively Multiplayer, RealTime, Macbeth Parlour game

This year I teamed up with the hugely talented Jim Newbery (@froots101), Rory Fitzpatrick (@roryf) and Padmini Murray (@praymurray).

Jim, Rory and I had met up in the pub the night before, and discussed using one of the datasets: a fully digitised, annotated and computer friendly copy of Macbeth, to create a massively multiplayer, realtime parlour game. We met Padmini on the night who came on board as producer, Shakespeare expert and all-round great gal.

The idea of our game was to merge Shakespeare’s Macbeth, with modern technology (computers, projectors, mobile phones and realtime tech). Here’s a photo of the game in action during our live demo:

Shakey Live

It works something like this:

Read More

Founder depression, and a meetup proposal.

As both a capital-F founder and developer, the last 12 months have been tough. I have personally been stuck in some pretty deep lows, and of the assumption that I was the only one struggling with a lot of questions about who I am, what I am doing, and whether I’m good enough to do it.

The last couple of months have been a lot better, triggered by a few things:

  • Going to the doctor: who said lots of nice things like “what you are doing sounds really hard”, “the most common thing I see in this room is depression”, “yes it looks like you have mild depression”, “here’s some practical things you can do that aren’t drugs”.
  • Speaking to an (off-duty) counsellor: possibly the most “productive” hour I have spent in a long time.
  • Writing that blog post

But the most powerful thing has been opening up to a number of different founders and developers about what I’ve been going through, and them replying with “wait, I say those things all the time too - I thought I was the only one”. The following relief of finding someone else going through the same stuff has been palpable for both of us.


A proposal

As a result of this, I am thinking of starting a meetup/support-group in Edinburgh to help founders, developers, and anyone building products share some of their personal experiences with this stuff and learn from each other.

I haven’t got it all figured out yet - so I’m looking for feedback, but here’s some rough thoughts:

  • Non-technical/business: we have plenty of technical meetups, this is a place to reflect on our selves rather than code/biz. Clearly a lot of our emotions are affected by the work we are doing - but the focus is definitely on the personal stuff.
  • Open to anyone related to running businesses/building stuff (not just founders)
  • Confidential: at the meetup: share, otherwise: shush. :)
  • Supportive, not dismissive: I think this goes without saying. None of this: “oh, sure, that’s easy, you can just fix yourself by … eating more! My problem is much more serious!”
  • Small: I’m not sure how we would manage this if the group became a run away success, but I think at least initially it would be good to try and keep the groups small as sharing this stuff is hard enough as it is.
  • Format: As a first meeting, I am thinking I would talk about some of the stuff I’ve been going through, and see if we can use that to kick-start a bit of a group discussion and take it from there.
  • When/where?: I’d like to have a first meeting soonish, but I haven’t got a venue - so if anyone has any thoughts for somewhere that’s free, I’d love to hear them.

So what do you think? If you are at all intrigued, I’d really appreciate it if you’d fill in this quick form just so I can gauge interest (and collect feedback if you have any). Thanks!

We recently had a Rubik’s Cube themed party for everyone who has been helping out at TechCube.

Since I was on playlist duty, I figured we needed some appropriate visuals and whipped up a little visualizer that responds to the music in Processing. Particularly cool was that since it was projected onto the ceiling it could be seen from the street below.

Blog post coming soon.

A Short Lesson in Perspective

It is a universal truth that all artists [and developers!] think they a frauds and charlatans, and live in constant fear of being exposed. We believe by working harder than anyone else we can evaded detection. The bean-counters rumbled this centuries ago and have been profitably exploiting this weakness ever since. You don’t have to drive creative folk like most workers. They drive themselves. Just wind ‘em up and let ‘em go.

A profound piece on business and creativity. Read. (with thanks to @roanlavery.

Generalists, Founders and the Impostor Syndrome

As the technical co-founder of a web startup, it’s easy to think of yourself as a software engineer first and a founder second. This is patently wrong and potentially dangerous for your mental health.

To make my case, here is a list of job titles that I could quite easily give myself based on the work I have done this week.

  • Business analyst (considering the benefits and implications of switching payment provider)
  • SysAdmin
  • Data analyst (running analytics on some data to see if it can help us find a solution to “the big problem”)
  • System architect (planning how our application should integrate with a new API)
  • Rails developer (integrating our web application with the new API and a new payment provider)
  • JavaScript developer (building our backbone.js based webapp)
  • Front-end developer (building out the HTML and css for our webapp)
  • UI/UX Developer (trying to improve our sign-up flow)
  • Marketing (improving our pricing plan communications, blogging about our company’s second birthday)
  • Copywriter (both in-app microcopy, and marketing copy on our website)
  • Design (designing/building a page to thank our Founder members: http://floatapp.com/founder_plan)
  • Customer support (interacting with users via email and phone calls)

I don’t say all this to boast or complain, it’s simply a fact. As the technical half of a two-person company, I have to cover a number of different roles.

Truthfully, I love it. I have been, and always will be, a generalist. However, I also push myself to be the best at every individual thing that I do—no small feat given the list above—and this is where the imposter syndrome kicks in. Instead of evaluating my performance holistically, I tend to compare myself against experts in each of the roles I perform.

For example, with my JavaScript developer hat on, I think of myself as a JavaScript developer, not a founder. This means I start comparing myself to other JavaScript developers (like some of the best, in, the, business. At that point I start to feel inadequate. The trouble is, I do this for all my hats: compare myself to the best in the business for each vertical. At that point I start to feel really inadequate.

Having spoken to two other co-founders with similar feelings this week, it’s clear that this is a foolish mindset. A more appropriate perspective is:

I am a capital-f Founder, not a JavaScript developer, or Rails developer, or designer or customer-support guy. I will still strive to be the best in the world at each of my hats, but if I don’t quite make it that’s okay—I’ll just hire them one day instead.

This shift in thinking has a had a massive positive effect on my mental health—but I’d love to hear what other founders think?

Mandelbrowser - Google Maps for fractals

Mandelbrowser Screenshot

A while ago I made a tool that lets you explore the Mandelbrot Set (a famous fractal) using an interface a bit like google maps.

It’s rendered using the <canvas> element, and JavaScript. It performs awfully, and the code is hideous - but it does makes pretty pictures, eventually!