Haptic feedback is still an area where real books win over e-book readers such as Kindles. Being able to tell how far through a book you are by the feel of it, by the balance and thickness of the pages adds something instinctive to the reading process. My idea is to have a little linear actuator with a small weight on it that spans the width of the ebook device. Just a very small motor (the type you get in phone vibrators) and a small worm-gear (like you get in floppy disk drives) would do, and wouldn’t take up much space.

Read more →

Boat from Home

Like most, I grew up in a house. These perform a number of functions. A safe place to sleep, eat and raise a family come fairly high in the list, as do entertaining guests and storing things. The house doesn’t undergo any substantial change in order to fulfil these different functions. It largely stays put. In effort to impress the guests you might re-arrange the furniture, clean the windows or hide the cat.

Read more →

things

var big = false; // Num nodes var NODE_COUNT = 50; // Radius, anything closer than this becomes a neighbour. var NEIGHBOUR_PROXIMITY = 20; // Flat array of x, y, dx, dy. var nodes = Array(NODE_COUNT); // Flat array of flavours for each node. var flavours = Array(NODE_COUNT); // Flat array of neighbours, proximity for each node. var neighbours = Array(NODE_COUNT); var canvas = document.getElementById('canvas'); var context = canvas.getContext("2d"); var width = canvas.width; var height = canvas.height; function setupNodes() { populate(0, NODE_COUNT); } function spatter() { var old = NODE_COUNT; NODE_COUNT += 10; populate(old, NODE_COUNT); } function populate(l, u) { var i; for(i = l; i width && nodes[node*4+2] 0) { nodes[node*4+2] *= -1; } if (nodes[node*4+1] height & nodes[node*4+3] 0) { nodes[node*4+3] *= -1; } } window.setTimeout(function(){tick();}, 50) } // Refresh neighbours for each node function calculateNeighbours() { var node; for (node = 0; node lx && nodes[neighbour*4+0] ly && nodes[neighbour*4+1] 10) || (nodes[node*4+3] 10)) { nodes[node*4+2] = 0.001; nodes[node*4+3] = 0.001; } } window.setTimeout(function(){calculateNeighbours()}, 50); } setupNodes(); tick(); calculateNeighbours(); draw(); Don’t ask me what this does.

Read more →

Today I chanced upon some logs. So I took them home… … and went at them with a hatchet… I reckon that’s a few weeks’ worth of warm evenings some time around winter 2012. Some people are worrying about the cost of heating their homes. I’m out scouting for wood. Any woodologists able to identify what this might be and if it’ll burn obligingly? Failing that, practising xylologists?

Read more →

Hello WordPress!

Many years ago I vowed never to install PHP or MySQL on a machine I owned. Today, in the interests of getting things done, I decided to use WordPress for my blog. It’s good enough to redeem MySQL and PHP, I think.

Read more →

One Last Joke

Immediately after leaving university I joined a software company, and stayed there for 2 years and 8 months. It was serious slice of life. I’m glad I spent it there, but I’m also glad I left. Over the almost-three-years, my self-control wavered from time to time. I enjoy a joke, and if there’s a practical element, all the better. In his goodbye speech, my manager went over the list of things I had done in my time there, including several practical jokes.

Read more →

Living on a boat, as I do, everything is a bit more complicated. I have running water, but have to fill a tank once a week. My house will never flood, but occasionally I have to turn over the bilge pump. I have power and a phone line, but before my ISP will connect me they need to send a man round. One thing that was easy was signing up for a Vodafone Mobile Broadband contract (with a minim term of 1 month) to last the months before BT Openreach could spare a minute to pop round and connect a cable to a terminal.

Read more →

Frist Post!

On a recent job interview (yes I did get the job, thanks for asking) I was asked ‘do you have a blog?’. The answer was no, and I didn’t really have any need for one. Had I not been on best behaviour, I might have said that blogs are exclusively for the inexcusably opinionated or those prone to navel-gazing in public. But now I think of it, I have had two blogs over the years, and they were both fun and neither was completely without merit.

Read more →

Guess the Icon!

Microsoft Windows sets the bar high for software developers. Their standards of usability and UI consistency are something that few developers are fully able to attain. With that in mind I present to you… Guess the icon! What’s this Yes, you guessed it, it’s Intel’s Active Management Technology Status. And it’s disabled. Not that you’d know.

Read more →

During my time as a student (and during my time as a human) I’ve done a fair bit of lighting design and teching for student theatre. Here is a list of shows I have worked on. 2010 Bent (Lighting Designer; O’Reilly, Oxford) Paradise Lost (Lighting Designer; O’Reilly, Oxford) The Blue Room (Lighting Designer; O’Reilly, Oxford) 2009 Captain Improv ICE Much Ado About Nothing (Lighting Designer; O’Reilly, Oxford) The Tempest (Lighting

Read more →