Computers

Storing integers in Redis

I’ve been looking into Redis. I wondered about storing integers as keys and values rather than plain old strings. After asking on Stackoverflow, I did my own experiments. It looks like it is possible to use any byte string as a key. For my application’s case it actually didn’t make that much difference storing the strings or the integers. I imagine that the structure in Redis undergoes some kind of alignment anyway, so there may be some pre-wasted bytes anyway.

Read more →

Typing on a one-row keyboard possible?

I’ve seen a number of special computer keyboards. These include, for example, five-finger units that require learning special ‘chords’. The idea of a one-handed keyboard is enticing but I don’t like the sound of having to learn specific combinations. What about re-using existing knowledge? Anyone who touch-types knows that each letter belongs to a given finger. I wondered what would happen if you restricted the keyboard to just one row (i.

Read more →

Crazy Idea: Physical haptic feedback of progress through an ebook

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 →

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.

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 →

Why I am Closing my Vodafone Account

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 →

Seriously Diageo?

I’ve got an old email account that I never use. The only email I get is spam (and the occasional old friend). I have managed to unsubscribe from nearly everything, except mailshots from Gordon’s Gin. Don’t ask me why I subscribed originally, it was a long time ago. I get a couple of messages from them every week and I wanted it to stop. So I clicked on the unsubscribe link.

Read more →