Blog Archive — Page 13

This is part of my blog, which I have long since stopped maintaining. The page has been preserved in case its content is of any interest. Please go back to the homepage to see the current contents of this site.

  • Of Software and Magic

    Lightning crackles through my hind-brain, adenosine receptors lighting up in sequence as caffeine molecules finish their long journey from the hillsides of South America to the grey mass of proteins from which spawn consciousness. My eyes open wider, and with them my mind. Fingers flicker and dance across the keys of mankind’s most arcane device. Thoughts, ideas, visions flash across my mind, patterns forming for just milliseconds. Then they explode through neural pathways, twisting and contorting muscles that touch keys across the tiny portion of the real world that is still required for man and machine to work in harmony. Then on again, electrical pulses once more, completing the journey from pattern in flesh to pattern in silicon.

    In another time and place, perhaps I would have been a shaman, ingesting powders of strange jungle plants to achieve the same state beyond mere consciousness, the same ability to communicate with the world, that I now achieve with caffeine and a keyboard. For the creation of software is unlike any art or act of engineering that came before it, and at times it borders on magical.

    The carpenter’s and the artist’s work both begin with an idea in their mind, but the end product of each one’s endeavour is a real, tangible object. What’s more, the carpenter’s chisel marks and the artist’s brush strokes become part of the work itself, forever a sign that human effort created it. But not so the magic of the programmer. We have minimised our tools as far as we can, allowing fingers to dash across keys as fast as our muscles allow, and still we yearn to do away with them entirely. Like the Chi to a T’ai Chi practicioner, the keyboard to us is a limitation on the speed we can translate thought into reality, and the more we minimise it, the more effective we are.

    At the end of the craft of software, there is no finished item that can be picked up, examined for workmanship, burnt to ash. There is just a pattern of magnetic domains on a disk somewhere, an electromagnetic pattern the mirror twin of the electromagnetic pattern in a brain that spawned it. By using a strange tool and a bizarre language which few understand, we take the patterns in our heads and overlay them on the world as pure information, pure pattern-stuff.

    And that, dear friends, is nothing more or less than the practice of magic.

  • In Praise of Partimage

    For weeks now, I’ve been attempting to wrangle Symantec Ghost, the corporate cousin of Norton Ghost, to back up and restore the contents of a partition on a RAID. I’ve fought with device drivers, manually built Windows PE images using WAIK with Symantec’s outdated instructions, fought off continual pestering from a probably well-meaning call centre operative, and significantly contributed to the drinks coaster industry.

    Pile of Useless Boot CDs

    In desperation, I wondered if a simple dd from a Linux LiveCD would do the job, and the helpful folk at the UNIX/Linux Stack Exchange pointed me at various partimage-based backup/recovery distros such as Clonezilla and PING.

    Surprise surprise… they worked out of the box with no hassle whatsoever.

    PartImage Running Successfully

    Now they may have a few issues – PING, for example, has a particularly odd interpretation of the function of the “Cancel” button on occasion – but they do the job, for free, in minutes, compared to the hundreds of pounds and weeks of my time I unsuccessfully put into trying to use their commercial equivalent.

    The slow, steady rise of open source software has never given us “The Year of Linux on the Desktop”, but it has vastly increased the number of times that I think “there must be some advantage to this commercial program that justifies its cost” before quickly realising that no, there really isn’t.

  • Please Draw on my GUI!

    For my current project, my mock-ups have now progressed to the PowerPoint stage, which sits between whiteboard drawings and actual code, and thus lets me briefly pretend to be a real user experience person. Rather than consigning it to my hard drive for all eternity, I figured I’d get some input on it from the rest of my team – and, in for a penny and so on, everyone else who sets foot in the office.

    They’re pinned up on the wall, alongside the following:

    Please Draw on my GUI!

    So far, it appears to be working. And astoundingly, no dicks yet either. It can only be a matter of time.

  • Not So Fleeting Anymore

    I took my first faltering steps “online” in the mid-90s, courtesy of Trumpet Winsock under Windows 3.1, followed by AOL’s UK Games Chat, doubtless a gateway drug to the life of Usenet and IRC that followed; hoping and pleading that my parents wouldn’t pick up the phone and hear the telltale 14.4 kilobit buzzing that gave away my illicit internet usage.

    Trumpet Winsock

    Isn’t “going online” such a strange notion now, when “offline” is only achieved by bloggers camping in the woods as a publicity stunt; a week without the internet in exchange for their fifteen seconds of internet fame?

    Everything I did online in those days, everything I was, is long gone now. IRC logs lost to formatted hard drives; Usenet posts beyond any server’s retention time; my background-MIDI hell of a website that probably died with Geocities. But since the turn of the millennium, something has been happening – the internet is less fleeting; more permanent. The blog was on the rise.

    It was a little over ten years ago that I penned this waste of the English language, which has survived a trip from a website of my own concoction, through LiveJournal and Drupal to where it now rests as the oldest entry that has made it to my current blog. (Sadly, I cannot say the same for the HTML formatting or the image to which it once linked.) The follies of my youth (at least, from age 16 onwards) are now preserved for the world to see.

    The eighteen-year-old spouting bad philosophy. The nineteen-year-old who wanted to be a child forever. The twenty-year-old that saw himself though the eyes of characters he played. The twenty-one-year-old that thought he’d be with his friends forever, and the twenty-two-year-old that started to realise he wouldn’t. The twenty-four-year-old who geeked out, the twenty-five-year-old that got political, and the twenty-six-year-old who overanalyses his son’s questions.

    Nothing is deleted anymore, nothing lost to history. Those thoughts that I don’t commit to bloggery, Twitter and Facebook keep for posterity or for marketing potential.

    My son is four now; it won’t be too many years before he’s able to browse the ‘net by himself and to stumble upon his father’s teenage wittering. What will he make of the way I cryptically tried to figure out how to reject his mother when she first asked me out, or the drama-tastic marker I placed in apology for a post I removed – a post made when I was not exactly espousing the virtues expected of a father.

    Joseph's Laptop Now.

    It’s probably the kind of detail he won’t want to know about my life, in much the same way as I’m happy with my lack of knowledge of my own father’s young adulthood. And, briefly, I considered deleting most of it – the personal stuff, at least.

    But as I considered it, walking home in the dark, I passed the nursing home that advertises “a special neighbourhood for the memory impaired”. Should I ever get to that point, and should my family not follow my explicit instructions to pack me off to Dignitas the minute I become a burden on them, I can’t think of a better way to hold onto my memories than to have them accessible and searchable from wherever I may be.

    Every scrap of drama, every bawling whinge, every pointless meme and every political diatribe made me who I am today, and someday I may be grateful to read it all again.

    (Though seriously, I have posted a ton of crap over the years. Man, I should never have been allowed on LiveJournal.)

  • Glitch: A Beautiful Something

    My name is Cheesefish, and against all logic it is one of the more mundane names I have come across. I am wearing a sari and I have a fox on my head. My hobby: squeezing chickens. My mission: to become the finest chef the world of Glitch has ever seen.

    Glitch is a browser-based, entirely combat-free, massively multiplayer online game. And for the last few days, it has been something of an obsession. It is Maple Story, if Maple Story cut the combat (and the Korean-ness) and focussed solely on exploration and crafting mechanics. And it’s the exploration that makes it. As a 2D scrolling flash game, there are none of World of Warcraft or Guild Wars’ sweeping vistas here, but it makes up for it in variety. One moment you may be exploring a lush and utterly normal forest, but one stop on the ever-present intercontinental subway drops you off in a land of pastel where the hills have eyes.

    Stranger places still await the intrepid explorer. Keita Takahashi, creator of Katamari Damacy, has had his hands on this game and it certainly shows. (The other more recognisable members of the team are, bizarrely, the founders of Flickr.) There have clearly been some… unique minds behind the design of this game, which become most apparent when acquiring raw materials from the environment.

    Need meat? You get it by nibbling on pigs, but only after petting them. Milk? From butterflies of course, but they must be massaged first. Grain can be obtained by squeezing chickens, but eggs? Oh, right. Egg plants.

    From the odd interactions with fauna to the bizarre contraptions you can use, the ever-humorous quest descriptions and the pet rock that does your learning for you, there’s a strange sense of humour at work here and it works very well indeed.

    Glitch is also an example of one of my most hated things - an Energy-based game that has no end. But here, it doesn’t feel malicious like the game-killing ‘games’ of Zynga and Playfish. Energy is plentiful and refills completely every few hours, and even with my character’s mediocre cooking skills, she can easily whip up enough odd food and drinks to keep her energy and mood full. Skills are learned over minutes, hours or days of real time, but again unlike FarmVille and its kin, they’re not just a mechanism to drag you back to the game. There doesn’t feel like an urgency to get them learned, and besides, you can manage them from the website or the iOS app without having to touch the game itself.

    So what the heck is Glitch? It doesn’t seem much like a game, as there’s no way to win and no reason to compete against anyone. It’s a world to explore, to create and add to, and apparently, to hold farmers’ markets in.

    It resembles nothing quite so much as a twenty-first century upgrade of the MUSH, the shared environments from the early ’90s. If it allows anything like a MUSH’s ability for players to create and expand the world, it will be a wonder. But creating with text is easy; doing so with graphics much more complex, and I can’t imagine the company behind Glitch giving up creative control so readily.

    But even without that, even without an idea of what it is and what it’s going to be, it’s certainly a beautiful something.

  • SuccessWhale is Terrifying: VPS Edition

    Just under two years ago, my SuccessWhale Twitter client was gaining new users at a steady rate and, as I noticed with alarm, was about to blow through my then-limited bandwidth allowance.

    I’ve since relocated all my web stuff to Dreamhost, taking advantage of their unlimited bandwidth offering to plow through 10 GB and more a month. But now I’m coming up against the last remaining limit of my shared hosting - memory usage.

    Both Westminster Hubble, which constantly crawls MPs’ social networks and RSS feeds, and an increasingly complex SuccessWhale, churn through a ton of memory. I don’t have a nice scary graph for this one, but at peak times, I’d estimate that my web server kills over half my PHP processes due to excess memory use. That means Only Dreaming basically goes down, while SuccessWhale throws errors around if it even loads at all.

    It looks like I’m left taking the expensive plunge of moving my hosting to a VPS rather than a shared solution, which is a jump I’m nervous to make, especially since none of my web properties make me any money. Most worrying of all is that VPS prices tend to vary by available memory, and I don’t actually know how much memory all my stuff would take up if it were allowed free rein. And nor do I have any way of finding out, bar jumping ship to a VPS and taking advantage of free trial weeks.

    So, dear lazyweb, do you have any experience with this sort of thing? And can anyone reccommend a good (cheap!) VPS host that fulfils the following criteria:

    • LAMP stack with “P” being both PHP and Python (or *BSD instead of Linux)

    • Full shell access

    • Unlimited (or at least 100 GB) bandwidth

    • Unlimited (or at least 10 GB) disk space

    • At least 20 MySQL databases

    • IMAP mailboxes & mail forwarding

    I’ve been recommended linode by a friend which seems great for tinkering, though the price scales up rapidly with RAM use and I’m not sure I want to deal with the hassle of setting up Apache, MySQL etc. by myself. And there’s Dreamhost’s own offering, which would be virtually zero-hassle to switch to, but probably isn’t the cheapest around.

    So, citizens of the interweb, I seek your advice!

  • Announcing: SuccessWhale version 2.0!

    Ladies and Gentlemen of the Internet, I am pleased to announce that SuccessWhale version 2.0 has just been released and is now live on

    SuccessWhale is a web-based client for Twitter and Facebook, written in PHP, JavaScript and MySQL. It offers a multi-column view that allows users to merge together information from all their connected accounts and view it at a glance from any web browser.

    The big changes between version 1.1.2 and 2.0 are:

    • Facebook support
    • Support for multiple Twitter (and Facebook) accounts
    • As many columns as you want
    • Columns that combine multiple feeds
    • Lightboxed images from Twitpic and yFrog
    • New themes
    • Numerous bug fixes!

    You can see a screenshot of it in action below:

    SuccessWhale Screenshot

    I would particularly like to thank Alex Hutter, Hugo Day, Erica Renton and Rg Enzon, whose help in finding bugs and suggesting new features has been instrumental in bringing SuccessWhale up to version 2.0 today.

    SuccessWhale is an open source project, and the source code is licenced under the GPL v3.

  • My BlackBerry Week

    My phone, an HTC Desire HD, is a gorgeous slate of metal and glass; thin but with a huge screen, and when I bought it back in December of 2010, it was the most powerful and capable phone on the market. It is part of the future of ‘computing’, capable of 99% of what I use my laptop computer for. It’s also irresistible to my Cut the Rope-completionist son, and unfortunately, heavy gaming use drains the battery in a little under three hours. Normal use, for me, toasts it in between 8 and 12.

    Repeatedly frustrated at not being able to use my phone to make calls or navigate at the end of car journeys with my son, I set to thinking about what I actually use my phone for. The majority of my phone use boils down to, roughly in order:

    1. Twitter
    2. Facebook
    3. Text messaging
    4. Actually calling people

    I wondered what would be the phone that minimised cost, maximised battery life, allowed me to do those four things happily, and most of all was completely unattractive to my son. I settled on a BlackBerry Curve 3G (9300). So without further ado, after a week’s worth of use, my thoughts about my new second phone. In case any other Android users are tempted to come to the dark side, this is roughly what to expect:


    Physical Keyboard

    I’ve always felt that phones with sliding parts were a little less indestructible than I’d like, so this is my first phone with a physical QWERTY keyboard. And boy, is it nice. RIM have a well-deserved reputation here, and after a week of use I’m already typing faster than I could on the Desire HD, even with Swype.

    Push Everything

    I was coming from a Googly world of push e-mail and Google Talk, but push notifications for Twitter and Facebook are a welcome addition. I’ve no idea how much data or battery power is saved by not having to poll the services for notifications at regular intervals, but the speed at which they arrive is certainly appreciated.

    Social Feeds Screenshot


    I can actually sit down with this thing in my pocket, which is one thing I’m rarely able to do with the Desire HD’s 4.3-inch screen.

    Battery Life

    Life with my Desire HD is a constant quest for the nearest power socket. I had it automatically enter flight mode overnight, and charged it at my desk all day. Heavy evening use meant I’d charge it overnight as well, just to be on the safe side, and train journeys caused me to eschew using the phone so that I had a chance of being able to call someone when I arrived.

    This thing is well into its second day, its battery well over half full. I may finally be free of phone battery paranoia for the first time since about 2006.

    No Like:

    BlackBerry Internet Service is Weird

    The price of omnipresent push notifications is that your phone, and carrier, must have you set up to use BlackBerry Internet Service. But its roots extend deeper than that, in that some apps – such as Twitter and Facebook – are unusable without it. Coming from a world where apps just make their own connections straight to the appropriate web services, it’s a little strange. And though there are Twitter apps that make their own direct connection, they’re not as nicely tied into the phone as the official one; no other interface that lets you browse Twitter and Facebook together.

    App World is no App Store

    This hasn’t been a deal-breaker for me as I always intended to install as little as possible on this phone, but my forays into it have disappointed. While the Apple App Store and Android Market seem to have dozens of apps (of varying quality) for every possible task, App World has the opposite problem – if there is an app for that, there’s probably only one, and it’s expensive.

    The UI, Oh God, The UI

    Complaints are often levelled at Android that its menu system is unintuitive (which functions are in the menu, and which are on the app’s main interface?) and that its UI is inconsistent (white-on-black vs black-on-white, orange highlights, green highlights…). Well, it’s got nothing on BlackBerry OS. Text and background colours differ wildly between apps, non-standard widgets abound, and many critical functions hide behind a menu that’s many screen-heights tall.

    Home Screen Screenshot

    The Screen

    RIM seems to lag far behind the rest of the world in some technologies – for example the Curve 9300, released in late 2010, was the first of the series to feature a 3G radio. It has a 2-megapixel blurrycam and a 624MHz processor. But taking the proverbial biscuit is that 320x240 screen that looks almost retro in with its simple icons and pixellated text. It’s not a noticeable problem after a while, but when going back to using the Desire HD, the Android phone looks positively beautiful.

    Interface translation

    The phone’s UI language is set to Spanish; in the two screenshots above, only the date is non-English. All in all, maybe 30% of strings are translated. I don’t know if other languages are better, but it’s a pretty poor show compared to other mobile operating systems.


    The 90s called, and they want their AT command scripts back.

    In Conclusion…

    By the standards of modern iPhones and Android handsets, the BlackBerry Curve 3G is… basically awful. It’s not hard to see why RIM is losing market share to its competitors – their phones just lack any kind of appeal alongside their contemporaries.

    But do I regret my purchase? Not a bit. For the four simple tasks that make up 99% of my phone usage, it’s not bad. Its keyboard is a highlight, enough to make me question my love of giant all-screen phones.

    And for a smartphone, I’ve found the battery life to be astonishingly good. Over months or possibly years, I think it’ll be worth the money just to be free from the lingering worry over where and when I will next be able to grab a couple of hours in the company of an AC adapter.

  • What's for dinner?

    What’s for dinner? Videogame lava is what’s for dinner.

  • "Quick Energy"

    Late last night, my wife thrust into my hands a bottle of something called “Quick Energy”, with instructions that I should drink it in the morning, and a minor warning that it might be absolutely disgusting. Well, as a man who is still trying to track down a way of importing Four Loko, I guess I have no grounds to decline this.

    Quick Energy Bottle

    The reverse of the bottle informs me that it contains about as much caffeine as “a cup of premium coffee”, which as the actual value is 175mg, I am taking to mean “a bucket of filter coffee, premium or otherwise”. It also informs me that “phenylketonurics” may be a word, so if nothing else this vile swill has expanded my vocabulary.

    Bottle (Back Left) Bottle (Back Right)

    A “niacin flush” is also apparently a thing, which the internet confirms for me. The bottle describes it as “a warm feeling and skin redness”, while some websites describe it as “annoying, sometimes downright painful”, but hey, it’s getting towards the time of day when I’d happily settle for being lobster-red and in pain for the cause of getting some caffeine inside me. On which note it suggests I “limit caffeinated products to avoid… occasional rapid heart rate”, which seems like it’s defeating the point, really.

    Taurine is its third most major ingredient, which is a little disconcerting, and though it contains “natural colour” I’m not sure I dare pour this thing into a glass to see what it actually looks like.

    Oh, yeah, and it’s eight months out of date.

    Expires, er... Never Mind.

    But hey, it’s not like anything on that list of ingredients actually goes off.

    I can’t quite promise a review “by the numbers”, so we’ll go for “by the time” instead:

    • T-10 minutes: The presence of this stuff is definitely unnerving. I’m sure it’s no worse than drinking a cup of strong coffee, but somehow the medicine-like qualities give it a worrying edge.

    • T-5 minutes: Hands are shaking now. No, I’m not that nervous. I suspect low blood-sugar and blood-caffeine levels are to blame here. At least one of those is about to be rectified.

    • T-1 minute: Well, here goes… something. Possibly my brain, possibly my digestive system.

    • T-10 seconds: Can’t open the bloody bottle. Launch on hold.

    • T0: Well, that’s… orangey.

    • T+2 seconds: Well, that’s… foul.

    • T+5 seconds: It’s like someone took an orange, ground Pro Plus into it and scraped it along my tongue until a human rights group showed up quoting the Geneva Convention.

    • T+2 minutes: I probably should have downed it. This sipping business is taking way too long.

    • T+7 minutes: Spacing out now. My brain feels like it’s floating about two inches above the top of my skull.

    • T+20 minutes: Spacing out has stopped, and I’m back to standard operating parameters. I guess “a bucket of coffee” is actually pretty routine for me. No niacin flush either – the internet suggests it should have happened by now if it was going to happen at all.

    • T+1 hour: Just carrying on as normal.

    All things considered, “Quick Energy” was kind of disappointing. I was half expecting to have my brain hot-wired on an insane cocktail of caffeine, taurine and vitamins, but in reality it just does what it implies on the label: provides a pretty normal caffeine-induced energy boost. I can’t really find fault with that, only with my hyped-up expectations.

    Verdict: Good for people that don’t like coffee, I guess?