Blog Archive — Page 23

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.

  • Failure to Organise

    My parents were, if nothing else, organised at all times. I don’t recall at any point realising that they had no idea what was going on, or that they weren’t absolutely in charge of what we did. In contrast, Eric and I muddle through day-to-day, just about keeping it together – sometimes we forget to brush Joseph’s teeth, or can’t be bothered to wash up, or leave the laundry sitting in the washing machine for a bit too long.

    Which is why the fact that Joseph is starting pre-school next week is all the more scary. We’re used to a life where, assuming it’s not a work day, what we do just doesn’t matter. If Joseph doesn’t wake up until 9am, no problem! If we can’t be bothered to get dressed before lunchtime, nobody cares!

    But as of next week, Joseph has to be places. Regularly, on time, washed and breakfasted and bussed across town by the same time, three days a week. And picked up at a certain time, no matter what else might be happening. It’s a wee bit scary.

    I wonder if having a school-age child will suddenly grant us powers of organisation – but I doubt it. I once hoped that having a child at all would do that, and clearly it hasn’t.

    Hopefully being a disorganised parent is okay, because I don’t seem likely to turn into my parents anytime soon.

  • a thousand words: GETting and POSTing

    Another day, another bunch of functionality added to a thousand words. With the main public-facing interfaces largely complete, I have moved on to the guts of the site’s user interaction. The site now has working, but ugly, implementations of:

    • E-mail address / password authentication, with cookie support based on a secret phrase generated at registration.

    • Registration itself, including the setting of a display name (users authenticate with their e-mail address, so we need something friendlier to display in the UI). Accounts are created in an unactivated state, and an e-mail is sent allowing the user to use their secret phrase to activate the account (GETted via a “click here to activate!” URL).

    • Picture submission, which adds the submission to a ‘queue’ table. In time there will be an admin interface for moving items from the queue to the real pictures table, i.e. promoting a suggested picture to “picture of the week” status.

    • Story submission, which adds the story to the live site and takes you there after submission. There’s currently no edit capability, and the picture that the story is based on must be manually specified by ID number. (The latter will become a scrollable jQuery list of all pictures.)

    A story edit/delete interface is my next task, and once that’s done, the core functionality (excluding any user profile-related code) will be largely finished. After that there’ll be a period of testing and improving the interfaces of the new functions, before I put a call out for a couple of willing guinea pigs to try and break the site for me! If anyone out there is expecting to be really bored sometime this week, let me know!

  • a thousand words: First Sketches

    With the main browsing UI for a thousand words up and running, it’s time to bore the world with more pointless trivia before moving on. Today: design sketches!

    Pretty much every software project I undertake these days begins with a sketch of the user interface and an initial structure for the database. Labouring under the cruel ‘no whiteboard’ conditions at home (maybe I should get one?), I drew these out on paper. Passing the UI sketch over to Eric after about 5 minutes’ work, she described it as “awesome”. I think that’s the first time that’s ever happened; the general response at work is along the lines of “but where are you going to put giant-ugly-element-X that I’ve just thought of and wasn’t in the spec?”. So that was that, and I’ve coded it up pretty much as it was on paper.

    The database hasn’t changed much from the original design yet, but it will have to soon – as designed, the vote (‘stars’) system doesn’t record each user’s vote on each story, so it can’t support users changing their vote. Sometime during development I’ll have to devote a few hours to figure out the best way of handling it, though that probably comes down to a few minutes as someone on Stack Overflow has inevitably asked about it already.

    a thousand words UI Sketch a thousand words Database Design

    Next up on a thousand words is coding the first few forms that will allow users to register and log in, submit photos and submit stories. That should be done within the next few days, and will allow me to play with actually changing the contents of the database, rather than just showing views of it.

  • a thousand words: A New Timesink has Arrived!

    Somehow unable to cope with actually having free time of an evening, I have taken on yet another project which will doubtless push me deeper into the dark, untamed wilds of the internet, the land stalked only by the mysterious beast known as the “web developer”.

    Eric has come up with the idea for a fiction-writing community known as “A Thousand Words”. The concept is simple:

    • Users submit photos or other images that they find interesting
    • Every week (or other suitable period of time), one of these is chosen by the site staff
    • Users then write short stories, of around 1000 words, inspired by the picture
    • Users rate, comment etc. on each other’s stories

    I’ll be coding up this site in my spare time over the next few weeks, and you can check out my current progress on the live site at a thousand words.  Currently, the database design is done and I’m partway through the UI of what will be the main page.  My todo list is roughly:

    1. Finish the main page and story page UIs.
    2. Add bare-bones pages for all the GET/POST functions, e.g. registering accounts, submitting stories, submitting pictures.
    3. Test all the functions.
    4. Work on their UIs.
    5. Start closed beta testing for anyone interested.
    6. Liberally apply jQuery to improve user experience.
    7. Add commenting, possibly via DISQUS.
    8. Add proper user profiles, gravatar support etc.
    9. Get everyone I can find to try and break it.
    10. Release!  Open the flood-gates, and despair at the dribble I receive.

    As I go I’ll be posting updates and hopefully-interesting insights here, and you can always check the site at to see how I’m getting on.

  • Adrift in Time

    As Mark pointed out to me, it’s probably rather strange to pick for your Best Man someone who you’ve seen only three times in as many years. But although some small part of my brain insists that some time has passed since I left university, it’s easily overruled by the rest.

    I mean, graduation was about four weeks ago, right? And Joseph’s about three weeks old. Wait, what? Three years? Does not compute.

    In that time I’ve made some friends, it’s true – and don’t get me wrong, they are good friends – but seeing someone once a week, or once a month, just doesn’t register in my brain as strongly as do those I lived with, even though the time I lived with them was long ago.

    To my shame I’ve spoken to those University friends less and less as time has gone on. The majority I don’t even regularly IM anymore – we’ve become Twitter friends, Facebook friends, people who comment on each others’ blogs. I feel a strange kind of buzz talking to any of them, even just over IM, but yet I barely do it. I bash out a 140-character reply to some tweet of theirs, and my need for contact with my best friends is sated for another few hours. Normally I don’t feel too guilty about that, but sometimes it hits me that I’ve been doing that for four long years, and then, as now, I realise just how bad that is.

    So yes, it’s really bloody strange that what I think of as my best friends, and my Best Man-to-be among them, are really those friends that I talk to the least of all. But having isolated the cause of that as my own reluctance to start instant messenger chats, at least I have something I can work on.

  • Politics, meet Videogames. Everybody Loses.

    On Sunday, Britain’s Defence Secretary Liam Fox called for the upcoming Medal of Honor game to be banned by retailers (BBC). Apparently he finds it “hard to believe any citizen of our country would wish to buy such a thoroughly un-British game”, which shows quite a remarkable lack of understanding of the people he is supposed to represent. And since when has there been an expectation that American games should be “British” anyway?

    Apparently it is “shocking that someone would think it acceptable to recreate the acts of the Taliban against British soldiers”. Well, in real life, maybe. But this is a game, and an 18-rated one at that, so it is played by adults that are fully capable of distinguishing between fiction and reality.

    And yes, you can play as the Taliban. It’s called multiplayer. Would Mr Fox prefer that the multiplayer was Americans shooting Americans? Because that’s just as morally dubious, and also kind of dumb. No, one team plays the good guys, one team plays the bad guys. That’s the way these things work. I don’t recall politicians losing their shit about Counterstrike because zomg half the players are being terrorists! How many games have there been where you can play as a Nazi soldier in multiplayer?

    I wonder if the Defence Secretary ever got the chance to play Cops and Robbers as a kid, because, you know it’s no different. One team plays the good guys, one team plays the bad guys, that’s how it works. Cops and Robbers doesn’t glorify violent crime, just as Medal of Honor doesn’t glorify the Afghan insurgency.

    So Mr Fox, it would be appreciated if you could please go back to getting our real soldiers some MRAPs and some more helicopters and guns that work, and leave the rest of us to enjoy our videogames. Thank you!

  • A Farewell to Summer

    The day began with mist rolling in over the sea, but before long it turned to morning drizzle and on into a rainy afternoon; big, lazy raindrops falling in patches from the sky. Then as evening came the mist rolled in once more, cloaking everything in dampness and white. Here by the shores of the English Channel, this is how autumn begins.

    Though it will return in patches over the coming month, brief flickers and shadows of July’s heat, the summer that was is now gone. It was a summer of travel and of dodging the rain, a summer of remembering the past and of making plans for the future. It held what might be my last RABIES, what may be my last summer in Galicia, and what almost certainly will be my last summer as an unmarried man.

    So now, as the light dims and dies for another year, bring on harvest and Hallowe’en, bring on the howling winds and driving rain, bring on coats and inside-out umbrellas and mugs of warm cider by the fire. Soon it will be summer once more, and everything will be different.

  • My Longest-Running Bug

    In March 2007, a long-running project that I was working on was drawing to a close.  A much busier colleague of mine was struggling with his workload, and since I wasn’t too busy, he passed a simple job on to me.  That job was to build a software emulator for a bit of hardware they’d built.  All it had to do was make up some fake data and spit it out over TCP/IP, and I reckoned I could do it in a few days, maybe a week tops.

    Barely two days later, that project was having some issues with the real hardware, and drafted me in to help test it.  I tested, and I learned, and I started going to their project meetings, starting writing documentation, started coding on their main software.  My poor emulator fell by the wayside, superseded by more important things.

    That day was 3 years, 4 months and 20 days ago.

    In that time we’ve been through a dozen team members, three project managers, four business reshuffles, two companies and two customers.  Our equipment has been installed at three different sites, and I’ve racked up 25,000 air miles.  I’ve worked on eight other projects. I’ve eaten a hundred lunches in the sun on the arm of Portland Harbour, and dashed there in the rain a hundred more.  I have given orders to warships, and taken tea with Captains, and I have watched the sun set over Iraq.

    And today, at long last, I think I’ve finished that emulator.

    This quick software job is done; this issue is being closed, maybe forever.  This issue that, though my brain seems reluctant to accept it, is older than my son.

    “A few days, maybe a week tops”.

  • The Cautionary Tale of Sultan Hamnvik

    That the car park was eerily futuristic, with automated sensors telling you how many spaces remained in each lane, should have been your first warning. No, yet earlier than that. You should have realised when it took you four attempts to leave the dual carriageway at the right junction. No amount of poor navigation skill could have led you to fail that many times. You should have realised, then, that the place distorted reality around it. Whether it was just unusually massive, or unusually evil, you couldn’t tell from the outside. All you could tell was that it twisted your perceptions, made your mind and your car run in circles. But these circles were concentric, spiralling ever inwards, towards the core. Once you saw the sign and the inviting arrow beside that junction, all hope was already lost. You were caught in its net.

    As General Adama would say, “Frak”.

    Frack, €5.99

    Frack, €5.99

    From the moment you step inside the door, pick up your eye-wateringly yellow bag and utterly useless paper tape measure, it has you. You will follow the arrows on the floor, never deviating from the predetermined path that your Swedish overlords have ordained for you. There are shortcuts, sure, but do you really want to try them? The other customers will give you strange looks, they’ll know that you’re not yet truly one of them. And they will report it to a member of staff, as is the duty of a Loyal Customer. Then you will be dealt with. No, no, dear customer, it is better to stay on the path.

    Heed the throng of Loyal Customers. Their bellies are full of nourishing meatballs, and they have set off on the Great Pilgrimage with you. Their children scream and wail while they peruse the bland infinity of moderately-priced flat-pack furniture, but to no avail. The adults are consumed, they have become cogs in the machine, and you are elated to be joining them.

    The names, the names are what seals it. The twisted, maddening names, the names that perhaps once were Swedish or some other language before the Taint reached them. Now they are trapped in a Limbo between meaning and non-meaning, luring you in, trying to get you to understand them. You look, you try to pronounce them, you curl the sounds around your tongue, probing for meaning, but there is none. They will haunt you for the rest of your days, sitting in the back of your mind, luring you back to this place just in case you can extract some meaning from a second exposure. Behold the names, behold their terrible glory! Behold the creature of madness that spawned them! Chant with me! Ia! Ia! Cthulhu f’thagn!

    Behold also the Stack of Identical Grinning Babies!

    Behold also the Stack of Identical Grinning Babies!

    Beware most of all what seems to be the end of your journey, for there is a terrible choice that awaits you. There are steps up and steps down. Those leading up are warm and inviting, ushering you on with a yellow tone you now find soothing to your soul. But beware it, beware it! It leads back to the entrance again, from where you have no choice but to complete your whole damning journey again, hoping and praying that you will still have enough sanity left to choose differently next time. If not, all hope is lost. You will follow the Path again and again, forevermore walking the spacious showrooms of this cursed place. One day you will awaken from where you had collapsed on a comfortable pine-effect divan and find yourself changed, wearing a yellow polo shirt and with a spacious utility belt for pencils and tape measures. You will have become an employee.

    No, such things should not be mentioned. It is too terrible a fate. Take heed of my warning, Loyal Customer, and choose the steps going down. They lead into the belly of the beast, a grey expanse of unending shelves where boxes are born and die. People here have discarded their yellow bags in favour of metal trolleys, all the better to gorge themselves on the wares of this place.

    This is the most dangerous place of all, but you must endure it. Your life depends on reaching the end of it. It is guarded by the beeping, clacking checkouts and the fallen employees who feed them, but get up to speed on the trolleys and you just might make it through.

    'Salida' might be in some kind of crazy Paella-language, but at least it's a real word.

    ‘Salida’ might be in some kind of crazy Paella-language, but at least it’s a real word.

    Take heart, dear Loyal Customer. Escape is possible, but you must persevere. Here I have told you everything I know, everything I have experienced, in the hope that it will aid you. I ask of you, if you should make it out alive with this document, place it as near to the entrance as you dare venture in the hope that some other poor soul will find it and survive just as you have.

    Farewell, and good luck.

    Yours in faith,

    Sultan Hamnvik

    Lord of Mesopotamia

    Part-time Viking Hamster

    Sultan Hamnvik

  • My Contribution to Big Society

    Today, Prime Minister David Cameron launched his ‘Big Society’ initiative, aimed at empowering local communities to fix their own problems. On the surface it sounds to me like a nice idea, getting neighbours to work together to save their post office or whatever.

    But of course, no-one really knows how it’s going to happen yet, or if there’s any money. And money will be needed. No independent community-built schools are going to spring up if the only people who can volunteer their time are housewives and a bunch of unemployed sales executives. People need training, and even after a bit of training, they’ll still not do the job as well as professionals. Apparently the government can’t afford to pay actual builders to build schools, so is this part of the ‘Big Society’ plan doing any more than investing in cheap, shoddy infrastructure that will fall to the community to maintain when it starts falling down?

    It all seems based on the idea that no-one’s got much money but we’ve all somehow got a lot of spare time. Which, with unemployment threatening to rise even higher, is pretty much true. Unfortunately, all the people in this situation are spending all their spare time trying to get money again, by means of finding a job that actually pays them. ‘Big Society’ doesn’t dish out feel-good points that can be traded in at the food bank.

    In an attempt to find some money for training and so that there is some financial incentive for these volunteers, Cameron also suggests “…announcing plans to use dormant bank accounts to fund projects.” Wait. Are you nationalising our bank accounts? How exactly does he propose to do that, and has anyone else done that in recent history besides Communist dictators? (Or, more likely, am I completely failing to grasp the actual plan here?)

    Anyway, I’m feeling pretty good about my contribution to the Big Society. With all the websites asking what we should cut the hardest, with Conservative and Lib Dem manifestos falling by the wayside, and with the government washing their hands of community projects, I think I’ve found myself somewhere to volunteer.

    In the deprived central London borough of Westminster, there are plenty of volunteers working in charity shops and soup kitchens – but where we’re really lacking, where we really need to come together and save our community, is in the area of policy-making. Since the government clearly isn’t keen on doing it themselves, I humbly propose myself as a volunteer here. I could spare a few hours after work each night to down a few pints in the Commons bar before heading to the Chamber and being an angry leftie at people until the government realises that we pay tax so that they fund these projects, not us.