The electric word.
You've stumbled across my blog: the home of my most private, innermost thoughts and reflections. And random cat videos.
$ dominoes20/05/2012

Just finished a short animation testing out the PhysX engine in 3DS Max. Check it out.

$ cogito17/05/2012

After 6 months of hard work, I've finally finished my final year university project, which I'm pleased to say turned out pretty well.

The main aim of my project was to experiment with academic AI techniques in a game context. It's pretty surprising that games aren't more adventurous in terms of their AI, which still takes a 'smoke and mirrors' approach; providing an illusion of intelligence rather than actually creating intelligent systems. Many of the techniques and algorithms used today date back 30 years or more. With my project, I wanted to introduce some more modern techniques (in particular machine learning).

The main inspiration for my game was the old school platform-puzzler game Lemmings. My intention was to take the Lemmings concept, which requires the player to safely guide a number of Lemmings across a treacherous 2D level, and remove the human element. I wanted to allow the characters to explore for themselves and learn how best to cross the level, without any human interaction.

The main learning method used in the game is reinforcement learning, which uses a 'carrot and stick' method to reward the characters for 'good' behaviour, and punishing them 'bad' behaviour.

I developed my game for iOS (specifically the iPhone), and it turned out pretty well. The Lemmings actually work by using a number of 'episodes' or lives to actually learn the level. Movement is completely randomised during these episodes. When they finish the learning stage, they have one chance to try and reach the exit safely using their gained knowledge. You can see a couple of videos of my project in action:

The full source code is available on Github, and should be appearing on the App Store very soon.

$ algorithmic15/04/2012

$ the crazy ones26/03/2012
Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. They’re not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them. About the only thing you can’t do is ignore them. Because they change things. They push the human race forward. While some may see them as the crazy ones, we see genius. Because the people who are crazy enough to think they can change the world, are the ones who do.
$ success10/03/2012

I came across an interesting article earlier about success, being successful, and how successful people are successful. It poses an interesting point: that successful people gain success by building on minor successes, rather than the slightly naive notion that you can be unsuccessful, struggling for many years for that big break, and suddenly achieve success overnight. This extract from the article sums it up pretty nicely:

Many people think it makes sense to sacrifice everything for some elusive success that's waiting a few years down the line when their startup makes it big. They'll sacrifice their health, their social life, their appearance, their savings, their house, they'll quit their jobs, break up relationships that couldn't stand the pressure cooker, stop learning new things because "now is the time to get things done", and "there'll be time to have fun later, after the startup is out of the way"

Thinking about success sensibly, it's much wiser to aim for 'compound' success; with each decision in our lives building upon what we already have, moving from lesser successes to greater successes. If we can try to maximise our personal growth with each decision that we make (be it by gaining new knowledge or skills, financial wealth, connections, experience, and so on), it's difficult to see how we could come out worse off.

That's not to say that we should be completely selfish, completely concerned with our own personal gain (in fact, many decisions can be beneficial for all involved), but it's useful to remember that self-sacrifice is often beneficial to someone else's success at the expense of being detrimental to our own. Besides, surely it's easier to help people when already in a position of success?

You can read the full article here

$ optimise10/03/2012
Avoiding premature optimization doesn't only apply to writing code, it's a good way to approach life.
$ prototypes and demos always come before spreadsheets20/02/2012

It's not too surprising that Steve Jobs and his methods have been discussed  pretty extensively over the last few months. While reading one such article (viewable here), I came across a nice quote from a supposed exec who has previously worked for both Apple and Microsoft:

Microsoft tries to find pockets of unrealized revenue and then figures out what to make. Apple is just the opposite: It thinks of great products, then sells them. Prototypes and demos always come before spreadsheets.

The origin of the quote is really irrelevant; if more companies picked up this mantra, the world would surely be a much more awesome place.

$ float like a butterfly15/02/2012

$ productivity02/02/2012

A nice quote from a letter I came across on the Hacker News from id Software co-founder John Carmack:

Using your time effectively is very important, and there is often a non-linear relationship between the amount of time you can stay focused and the amount that you can learn or accomplish. It is often possible to get more done in a highly focused 12 hour stretch than in a normal 40 hour work week that is interspersed with email, chat, and other distractions. Someone that can be completely obsessive about something does have an advantage, but the same questions about focus apply for any amount of time you choose to devote to an undertaking. Most people work at only a fraction of their potential.
$ spider vs. wasp17/10/2011

I saw this epic battle taking place on my windowsill the other day. Who won? The spider. Though I haven't seen it since, perhaps it too was mortally wounded in the skirmish.