About

Guernsey Web Developer.

Love tasty vegan food, League of Legends, weiqi, sci-fi and fantasy, exercise, calvados and fine wine;)

I enjoy programming and usually have a couple of personal projects on the go, some of which even get finished...occasionally:P

View Github profile.

Philosophy

“Philosophy aims at the logical clarification of thoughts. Philosophy is not a body of doctrine but an activity. A philosophical work consists essentially of elucidations. Philosophy does not result in ‘philosophical propositions’, but rather in the clarification of propositions.” ~ Wittgenstein

It's all in the reflexes

Did Kurt Russell actually read the script for Big Trouble in Little China?

We are all atheists

“I contend that we are both atheists. I just believe in one fewer god than you do. When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours.” ~ Stephen Roberts

Dark Ecology

Paul Kingsnorth from The Dark Mountain Project has written a bleak yet beautiful article about what I can only describe as post-environmental thinking.

Read it here.

Dungeon generation using a BSP Tree

Using a BSP Tree to generate a dungeon is surprisingly simple yet effective.

Start with a rectangle and split it recursively until each sub-rectangle is approximately the size you want your dungeon rooms to be. The splitting operation is:

BSP iterations

...and so on. What you are left with is a BSP tree whose leaf nodes you can use as room containers for your dungeon. This has numerous benefits – the leaf nodes are guaranteed not to overlap and you can guarantee that all rooms can be connected by recursively traversing the tree backwards and connecting sub-nodes with corridors.

For Sanguine all I need to generate is an ASCII representation which my Map class can parse to instantiate all of the Locations using a given key. Here is quick screen shot of a generated small map sans corridors:

BSP generation

Gentlemen Broncos

Rubymorph - Biomorphs in the land of Ruby

I was playing around with Ruby using the Gosu graphics library a few weeks ago whilst waiting for our internet connection to be sorted and ended up kocking together a biomorph implementation in about 200 lines of code (and that was me being verbose, gotta love Ruby).

Biomorphs are virtual creatures as described by Richard Dawkins in his book The Blind Watchmaker. I guess the point is to show how relative complexity can develop from simplicity in surprising ways using a few simple rules.

The Rubymorph script can be found on GitHub.

Here is a quick example of the sort of thing it can generate:

Rubymorph

My little pony Angband

No really. Someone has forked Angband to make a My Little Pony variant – it’s called Anquestria.

Utterly insane idea. Utterly brilliant. Tolkein is going to have to re-write The Silmarillion to record how Morgoth, mightiest of the Ainur, fell in battle against Sunlight Sparkle, the pink unicorn.

Better dead than smeg

On beliefs

“If people are committed to an unscientific position, no evidence or argument will shake them out of it. Whether they subscribe to AIDS denial, excessive fear of radiation, vaccine scaremongering, homeopathy or creationism, they tend to demand impossible standards of proof from their opponents but to accept any old rubbish that supports their beliefs.

So if you are among those who reject the vast weight of scientific evidence for manmade climate change, I don’t expect this article to persuade you. Ask yourself what it would take to change your mind. If tens of thousands of peer-reviewed papers, against a tiny handful supporting your position; basic physics, demonstrable in a lab; instrumental temperature records spanning 150 years and much else on these lines can’t sway you, what could?

Conversely, which claims will you not accept? Do you believe that volcanoes produce more carbon dioxide than human beings? That the hockey-stick graph of global temperatures is a fake? That global warming is a conspiracy cooked up between governments and scientists? If none of the science persuades you, but you accept these groundless claims, your belief is likely to be a religious one, by which I mean unamenable to refutation.” ~ George Monbiot

When the church ruled..

“There once was a time when all people believed in God and the church ruled. This time was called the Dark Ages.” ~ Richard Lederer

Love is more thicker than forget

“love is more thicker than forget more thinner than recall more seldom than a wave is wet more frequent than to fail

it is most mad and moonly and less it shall unbe than all the sea which only is deeper than the sea

love is less always than to win less never than alive less bigger than the least begin less littler than forgive

it is most sane and sunly and more it cannot die than all the sky which only is higher than the sky”

~ E. E. Cummings

Sanguine - a Ruby roguelike game

After being distracted writing a C# client for LCoG I finally had time away (not to mention limited distractions) to restart development on my roguelike game. I’ve written it in Ruby and instead of using the traditional Ncurses approach for the UI I’ve opted for a tile-based implementation using the fantastic libgosu.

The source is available on GitHub.

N is for Neville

N is for Neville

On Evolution

05 Aug 2009

“Several thousand years ago, a small tribe of ignorant near-savages wrote various collections of myths, wild tales, lies, and gibberish. Over the centuries, these stories were embroidered, garbled, mutilated, and torn into small pieces that were then repeatedly shuffled. Finally, this material was badly translated into several languages successively. The resultant text, creationists feel, is the best guide to this complex and technical subject.” ~ Tom Weller

Ukemi

Posted verbatim from a post on JudoForum, useful distinction of forward ukemi (mae/zenpo?):

You seem to be confusing the use of a roll to practice a vertical breakfall, and a true-rolling breakfall. For vertical breakfall practice returning to your feet is just kind of an extra bonus that speeds up practice a bit.

You want to fall with your body extended, not balled up. This is the way you typically fall with judo throws which deliver you straight down to the ground (try rolling out of a harai goshi sometime). In this type of fall, to get up you do not tuck your leg underneath or allow your body to curl up. Rather you land in a good, extended ukemi position and then tense up you body and leg and look behind yourself. Your whole body will lurch right up. This sounds a bit goofy, but it prevents the habit of tucking legs, etc. that can be very detrimental when you are taking a vertical fall.

A “true” rolling breakfall, or roll-out (i.e with the leg tucked under to roll up) is more applicable to techniques that project you outwards when thrown, rather than vertically down to the mat. Many (most?) Aikido throwing techniques project uke outwards rather than straight down, so roll-outs are very popular among the Aikido set, and are generally what you see them doing. If you ever work out with an Aikido person you also have to be careful throwing them, because some of them do not really know how to deal with the type of vertical fall that Judo techniques typically deliver. They may not realize the difference, so don’t throw them too hard the first time.

To break the rolling breakfall into its most basic component, we have our students squat with their butts only a few inches off the ground. Put one foot forward, put the hand of the same side as the foot on the mat (palm down) with your fingers facing towards your body. Now do a slow motion roll-drop to your front knee, then bend and touch your shoulder, once your shoulder touches push off with your back feet and roll across your shoulders. You should feel the mat from one shoulder to the other. As you roll over, allow your legs to extend out and land in the side ukemi position.

Neither one of these types of breakfall are absoloutely right or wrong. They are most applicable to different situations. The majority of Judo throws are going to require a vertical-type breakfall. However, on hard surfaces a rolling type breakfall is going to beway easier on your body. The best thing is to know how to do both types and when to do them.

Super Sexualise Me

Interesting article about the sexualisation of advertising with regards to feminism.

Pity this busy monster..

“pity this busy monster, manunkind,

not. Progress is a comfortable disease: your victim (death and life safely beyond)

plays with the bigness of his littleness — electrons deify one razorblade into a mountainrange; lenses extend unwish through curving wherewhen till unwish returns on its unself.

A world of made is not a world of born — pity poor flesh

and trees, poor stars and stones, but never this fine specimen of hypermagical

ultraomnipotence. We doctors know

a hopeless case if — listen: there’s a hell of a good universe next door; let’s go”

~ E. E. Cummings