On This Day In 1999

Looking Back

On this day in 1999 I sent out the fourth of my Cool Thing Of The Day To Do In Aberystwyth e-mails. I wasn’t blogging at the time (although I did have a blog previously), but I felt that it would be nice to do something to help keep in touch with my friends and family “back home”, so I came up with Cool Thing Of The Day To Do In Aberystwyth. Every day I’d send back a bulk e-mail about something that I’d gotten up to during my first months at the University. Some of them were pretty tame, but some were more spectacular, like the time some of my hallmates and I tried to steal a golf course, piece by piece. Many of them just appear dated, like the one where I balk at having over 3.25GB of digital music. I was having a great time, and I wanted to share it with my friends, even when my college-mate Richard wrote to say that he didn’t believe me.

When I finally got around to re-integrating my old blog entries (well, the ones I could recover) from the last millennium into my new blog, I also decided to include the Cool Thing Of The Day, with a few minor amendments.

The dates on many of them aren’t actually accurate, because when I re-imported them I made the assumption that I sent one every day, which wasn’t the case (it was actually one every two or three days, and they went on into 2000, which isn’t correctly reflected any longer). However, the date for this particular one is pretty close. On this day in 1999, I bought tickets to see Craig Charles during his Live On Earth tour, at the Aberystwyth Arts Centre.

Looking Forward

When we actually went to see Craig Charles, it was after a couple of heavy nights partying all around the UK, to celebrate the birthdays of my friends Andy and Reb (Reb would later go on to become my girlfriend, although we had a friends-with-benefits arrangement going on for a long while before then). We started the party in a few London pubs and a club, and then Andy and my friend Gary sobered up as fast as they could to drive back to Aberystwyth, arriving just before the sunrise, while Reb and I took the train behind them.

Cool Thing Of The Day died in January, after I became bored of it and was finding it harder and harder to do new and cool things that would justify keeping it on. Many of my friendships with the people who received the newsletter waned, but I still keep in touch with most of the recipients of it, albeit only occasionally.

Craig Charles was pretty good. I bumped into him afterwards in the Glengower Hotel bar where he apparently later got into a fight with a local.

This blog post is part of the On This Day series, in which Dan periodically looks back on years gone by.

Roman Typesetters

When ancient Roman typesetters or web designers were showcasing a design, and didn’t want the content of the (dummy) text on their mock-ups to distract the client… what did they use for their lorem ipsum text?

These are the kinds of things that bother me most when I’m doing typographic layout. That, and Internet Explorer’s consistently fucked-up interpretation of CSS.

Civilization V Release Day

For those of you in the USA, at least, today is the release day for the much-anticipated Sid Meier’s Civilization V. With the promise that this will be the most groundbreaking Civ game since Civilization II, I’ve managed to acquire a leaked screenshot of the very first thing that players will see when they launch Civilization V for the first time:


With apologies to those of you who haven’t had the experiences to find this funny.

×

The Modern Programmer’s Dictionary

In the field of  software development, there’s always something new to learn. Whether it’s a new language, framework, API or methodology, your need to study is never through – even if you’re a FORTRAN developer. But one of the more esoteric areas of your education will come in the form of the language programmers use, and I don’t mean programming languages.

And so I present to you a dictionary of modern programmer language (much of it shamelessly lifted from a discussion on Stack Overflow):

Ajah

Ajax, but returning HTML rather than XML (e.g. using jQuery‘s $.load method). Similarly, Ajaj, when you expect script to be returned (e.g. $.getScript).

Bicrement

Adding 2 to a number.

Boolean Zen

A principle of programming lacked by those who perform expressions to compare variables to boolean constants. For example, if (userHasLoggedIn == true) lacks Boolean Zen, because the == true at best does nothing at all, and at worst results in an unnecessary evaluation.

Classtrophobia

When someone chooses not to use the obvious object-oriented approach when it is available.

Common Law Feature

A bug in some software which has existed so long that it has begun to be depended upon by the users, who will complain loudly when it is “fixed”.

Doctype Decoration

In web development, the practice of putting a Doctype Declaration (e.g. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">) into the document despite not actually writing standards-compliant code. Often accompanied by putting a “Valid HTML & CSS” link on the site, but never actually checking that the site passes the validator’s test.

Egyptian Brackets

That style of coding which puts the opening brace { of a block on the same line as the expression (wrapped in parentheses) before it, e.g.:

if (expression){

So called because the ){ sort-of looks like a stereotypical ancient Egyptian pose, depending on your preferred coding font:

Floater

A bug that sits at the top of the bug tracking system, but nobody claims responsibility for it. Everybody just works around it.

Flock of Geese Code

A block of deeply-nested and heavily-indented code forming a tight V-shaped wedge. Often occurs when adding functionality to a complex block of evaluations, by a developer who hasn’t noticed that perhaps a return statement, exception-handling, the && operator or even a goto statement might be more appropriate! Especially poignant when using a bracketed-block language, where you’ll see a string of closing braces flying away at the end of the code.

Hi-Driven Development

A variety of printf-debugging where you pepper your code with alert('hi'); in order to find out where it’s going wrong, rather than breaking out a proper debugger. Other acceptable string literals include “hello”, “here”, “xyzzy”, etc.

Higgs-Bugson

A bug that you believe to exist based on sparse log data and theoretical examination, but you have no evidence to support the idea that it has ever actually been observed, except perhaps vague anecdotal evidence from users.

Hindenbug

A catastrophic bug resulting in a devastating loss (typically of data). “Oh, the humanity!”

headlessCamels

CamelCase words lacking a leading capital letter, as required or recommended for various languages, frameworks, and styles. As opposed to ProudCamels.

Heisenbug

First noticed on Usenet in the 80s, but still awesome: a bug that defies investigation because, during debugging (when you’re observing it), it behaves differently.

Hydra Code

Code so bug-riddled that killing one problem results in two more in it’s place, like the mythological Lernaean Hydra‘s many heads.

IRQed

Interrupted while you were trying to program. Not necessarily by somebody with an actual flag.

Loch Ness Monster Bug

An important bug, if ever it could be proven to exist. Only ever observed once or twice by users who were unable to back up or reproduce their claims. These users often go on to swear by the existence of the bug, blaming it for all kinds of unusual phenomena even in completely unrelated systems for years to come.

Ninja Comments

Comments which are so stealthy that you can’t see them at all. It’s almost as if the code weren’t documented at all!

NOPping

Like napping, but what programmers do while they’re downtiming while waiting for a computer to finish a task. Based on the NOOP or NOP operation found in many low-level languages.

NP Hilarious

An algorithm whose complexity is a joke, whether deliberately (e.g. Bogosort, but not Quantum Bogosort) or not.

Object Oriented Pasta

Spaghetti code wrapped up into classes to look like proper object-oriented code. Also Ravioli.

Pokémon Exception Handling

For when you positively, absolutely, “gotta catch ’em all.” I’m talking about hideous code like this:

try {
MessageBox.Show(message);
} catch(Exception exc) {
MessageBox.Show(exc.Message);
}

See also Try, Catch, Forget.

Refucktoring

As defined by Jason Gorman: refactoring code in such a way that you are now the only person capable of maintaining it. E.g. stripping all comments and whitespace from an arcane bit of code that you wrote in order to give yourself the illusion of being indispensable. Results in Mortgage Code (code which pays your mortgage because you can’t be fired while it exists).

Rubberducking

Sometimes you’re working on a problem and what you really need to do to solve it is to talk through the problem with somebody else. The other person doesn’t even need to be a developer: often, they don’t even need to listen – they just need to be there while you talk your way to your own solution. So much so, that they might as well be replaced with a rubber duck, sat atop your monitor. A name come up with by a programmer who apparently actually did this.

Scar Tissue

Commented-out blocks of old code, after refactoring, that have been checked in to the main codebase.

Shrug Report

A bug report which contains no reproducible information whatsoever, or is so unclear as to be ambiguous. Often contains phrases like “doesn’t work”, or doesn’t show how the anticipated behaviour differs from that observed (e.g. “when I click the print icon, the document is printed onto A4 paper from the feeder tray of the printer”).

Smug Report

A bug report submitted by a user who acts as if they know more about the system than the developer does.

Stringly-Typed

Use of strings for all kinds of inappropriate variables, like strings containing the words “true” and “false” for use in comparisons (not helped by the fact that some languages, like PHP, will let you get away with boolean comparisons on these). Also common among inexperience database developers, who’ll make an entire database of VARCHARs because they’re then able to store whatever they want in there, right?

Troolian Logic

Using a boolean variable to deliberately hold three states of information: true, false, and null. Often requires the use of the === operator to function properly.

Try, Catch, Forget

An exception handling strategy based purely on catching exceptions and then doing nothing with them. In other words, telling your program “if something goes wrong… carry on anyway!” Sometimes also seen as a Trynally – a block of code with a try and a finally block, but no catch blog at all. See also Pokémon Exception Handling.

Unicorny

Adjective used to describe a requested feature that’s so early in the planning stages it might as well be imaginary. Used by Yehuda Katz to describe some of Rails‘ upcoming features.

Yoda Conditions

Expressions that test for (literal == variable) rather than the more-common (variable == literal). The former is preferred by some programmers because it reduces the risk of accidentally using a single-equals rather than a double-equals (this mistake would produce a compiler error rather than simply misbehaving). So-called because it results in Yoda-like phraseology (e.g. “has no errors, the form does”).

×

The L-Word

I just thought I’d put some feelers out not for the first time, but for the first time online, to see if my theory is true that I am only only man in the known universe who enjoys the (now-finished) Showtime drama series  The L-Word. If I’m not, will somebody let me know!

I have an ongoing experience when I tell people about the series. I explain what it is and why I like it. Evidently my enthusiasm is sufficient to grab the interest of whoever I’m speaking to, because many of them will then go and watch it. What happens then divides strictly down gender lines. Virtually every woman I’ve introduced to the show goes on to watch and enjoy it, and virtually every man – except me – goes on to watch it and hates it. What gives?

I’ve jokingly said before that among my male friends, the gay ones don’t like it because there’s too much lesbian sex, and the straight ones don’t like it because there’s too little. That’s pretty cynical, I know, and I’m not convinced it’s true: after all, if this was genuinely among the major criteria for favouring or disfavouring a drama series, well, then most of my male friends wouldn’t watch any at all, and that certainly isn’t the case.

Maybe I’m just mis-selling it. I’m pretty much following the TV guide description when I tell folk about it: it’s a show about a group of (mostly lesbian) friends in LA – major themes are relationships, sex, sexuality, discrimination, social class, career, and art. That pretty much covers it. It’s compelling and intricate, and I’m honestly at a loss to explain the clear gender boundary between those who do and those who don’t enjoy it.

Ruth proposed to me that it could be to do with the way that women communicate: much of the impact of the show comes from the way that the characters share their feelings – more in subtle ways like choice of language and body language than in the actual face-value dialogue. Her thinking here is that (whether because of our biology or our upbringing), us gents aren’t as capable of picking up on these cues, which form a baseline of the action in the series. It’s possible, I suppose: most of the show’s producers and many of the scriptwriters, as well as most of the cast, are female and so would be expected to have this mysterious superpower. But it fails to explain how the show appeals to me… and to whichever other men enjoy it: I’m hoping that if I hear a positive response back from any, that we might be able to work it out together.

In any case, it’s a conundrum: if you’ve got any ideas, let me know. And if you haven’t, go watch the show and see if you can work it out. Careful with the spoilers, if you’re ahead of me (I’m half-way through season 3, with its fabulous guest star Alan Cumming).

This blog post has nothing to do with my earlier post, Women In Movies, although if you enjoyed this one you might like that one, too.

×

Right Feature, Wrong Project

Since I’ve been working from home, things with my “day job” at SmartData have ticked along pretty much the same as they ever did before. But once in a while, something goes wrong. Like this.

I checked my instant messenger, and saw a bit of text from my boss, Simon:

also, have you implemenmted a "message of the day" type feature as users login?
msg from [our contact with a client I've been working with]
[another requested feature]
[and a bug report]

That’s simple enough, then: our contact wants us to fix that bug and add two features: the second one (not listed), and a Message of the Day tool. Easy.

I implemented the MotD, first, because it’s trivial. It’s nice to implement the fast features first, because it gives the client something to play with, test, and get value from while they’re waiting for the rest of their project. Plus, a “Message of the Day” feature was a nice warm-up activity this morning while my brain picked up steam in order to tackle some of the bigger tasks of the day.

Later, I spoke to my boss via the instant messenger. The conversation went a little like this:

Dan: If you speak to [client name], let her know I've redeployed.
Dan: New version has [another feature] and the MotD tool.

Simon: MotD tool? For [name of completely unrelated project]

You see, the problem was that without a context of time (I’d ignored the timestamps on the messages), I wasn’t to know that the  message “also, have you implemenmted a “message of the day” type feature as users login?” referred to the previous conversation we’d been having. And didn’t apply to this project at all.

I just hope that my client likes the unsolicited “free” feature I’ve given them, because – well – they’ve got it, now.

Is an unsolicited feature a bug? I’m just not sure.

Troma Night Adventure

Because I promised you some Aber-nostalgia.

Do you remember the RockMonkey Wiki? Many years ago, Ruth bought the domain name rockmonkey.org.uk as a gift for Andy K, who’d been nicknamed “Rock Monkey” for longer than anybody could remember. He decided that what he wanted to host there was a wiki engine, and I helped him get one set up. Soon, every Abnibber and Troma Night veteran was using it, filling the pages with all kinds of junk.

Soon, Jon launched the wiki’s first WikiGame: a maze exploration game using littered with Dungeon Master Java screenshots and monsters aplenty (monsters like Tubgirl and Lesbians and The Splurg). This kicked off a series of other WikiGames, mostly by Jon, Andy R, and myself (although Andy K started about a dozen of them and Ruth got some way through developing her first).

My biggest contribution was probably TromaNightAdventure, a text-based adventure in which the player attempts to explore Aberystwyth to collect (at least) three Troma Night stars, some pizza, some beer, and some films. It was an epic quest, far larger than I’d meant for it to grow, with multiple non-linear ways to win and a scoring system that told you exactly by how much you’d beaten it (some, but few, people managed to score the maximum number of points).

The screenshot above isn’t from the RockMonkey Wiki. It’s from my relaunched version of Troma Night Adventure. That’s right: I’ve dug up the final backup of the RockMonkey Wiki, extracted the relevant content, knocked together a mini version of the wiki engine and the WikiGameToolkit, and re-launched the game. It’s read-only, of course: this isn’t a real wiki; the real wiki is long-gone. But it does have a few extra features than the original, like a pictorial inventory and a nippy Ajax-powered interface. If you’re looking for some nostalgia about the old RockMonkey Wiki or about Troma Nights back in Aberystwyth, here’s your ticket:

Nostalgia And The Aber Effect, According To Other People

Strokey Adam just realised, in only his fifth blog post in the last 12 months, that it’s now ten years since he first moved to Aberystwyth. I remember when I came to the same point, last year, and sent a scary e-mail to the new student who adopted my University username. In Adam’s blog post, he talks briefly about his experience of leaving home and going to university, and now says that he’s “…realising that life will probably never be as much fun again as it was in Aber.”

Now I’m a huge fan of nostalgia, but I’m going to take Kit’s side on this one. Kit pointed out that “…a massive chunk of the Aber effect is the people…”, and he’s right. It took until only a year or two before I left for that to start to become clear to me, and it never really became true until I thought about it in hindsight, after moving to Earth.

Earlier this year, Rory announced out that for him, at last, “It’s time to leave Aber,” going on to observe that “Most of the people reading this have either already buggered off or are making preparations to do so. Expect to see plenty of moving related drama from us all as we rip up our roots, climb out of our ruts and generally start fleeing for more fertile pastures.”

He was right. The exodus had already begun, as many of the people we’d gotten used to seeing on a week-to-week (sometimes day-to-day) basis had already left. In the case of Rory and I, among a few others, we’d seen this all before – over the course of a decade you’ll see a lot of people move away from a university town. But there was something special about the last few years in Aber: for the first time, we were finally seeing all of the “hangers-on” beginning to disappear. The people who you’d begun to suspect were never going to pack up and go were at long last moving on.

Coming back to Strokey Adam’s thought: I don’t agree with the notion that everything in Aber was whiskers on rainbows and kittens in the sky. Sure, it was fun, but like Kit said: what made it fun were the people. And the people still exist! I’m not denying that there’s things I miss. Liz recently said to me that she missed that time “…when you could make a phone call or send a few texts… and within half an hour you could be sat in a pub with all your closest friends,” and I miss that too. But it’s not as if all those people fell off the face of the Earth. There’s always some excuse, just on the horizon, for people to get together again, whether we’re talking about the West Blockhouse excursion, Murder Mystery parties, or any of the many, many weddings and similar parties that seem to just keep on cropping up (why is everybody getting married? I don’t know, but the parties are fabulous!).

I think that there’s a tendency for many people to remember their youth in a particular way. Nostalgia is an important part of our identity, and it’s valuable for people to be able to point at the happy events of their past and say “That’s me. I am that person, who did those great things.” But for me, defining myself in terms of the past seems to be a little bit too much like tying myself to it. I want to be able to move on, to keep exploring, and to find new and exciting things to be involved with and to be happy about. Sure, I’m sickeningly nostalgic (comes with age), and I love to spin a yard about the more-ludicrous things I used to get up to during my university days… but I’d like to think that what defines me better is what I’m doing now. Like Marty McFly, we can visit the past, but we shouldn’t want to get stuck there. Unless you really like Huey Lewis.

If you’re looking to steep in a little more nostalgia and navel-gazing, I’ve got two more nostalgia-laden blog posts planned for this month: one coming later this week, hopefully, when I have a change to kick the magic box that will make it work, and the second scheduled for the end of this month, when as part of my On This Day series I’ll be looking back to my first year at Aberystwyth, too.

Further reading:

Facebook Annoyance Of The Day

(rambling, ranty; I saw something on Facebook that pissed me off, and ended up ranting about the whole social media scene – no offence meant, and I’ve deliberately picked no examples from anybody I know or care about)

It’s not as bad as setting up a Facebook group to recover your friends’ mobile numbers after losing your phone, which I’ve complained about previously, but there’s a particular bit of behaviour that I’ve seen a few times on Facebook that really pisses me off.

Yes, in a world of geeks complaining about Facebook, I’m the geek who complains about Facebook users.

Here’s what I’m talking about:

Let’s have a look what’s happened here. Person 1 wants Person 2 to do them a favour: a little household chore: putting something in the post for them. So they went to Facebook, logged in, went to Person 2’s wall, and wrote about it there. What?

I’ve put together a quick list of other possible ways that Person 1 could have passed on this message:

  1. Facebook Message – If you really were logged in to Facebook already, and even you were already on the page of the person you wanted to send a message to, it would only have been one more click to send a Facebook Message. This would have given you more options, in case you needed them, and would have meant that you didn’t have to tell every single one of Person 2’s friends about the mindless dull minutiae of an event that matters to (at most) only two people.
  2. E-mail – Remember that? It’s fast, it’s simple, and it doesn’t involve filling your friend’s friends’ news feed with crap that has no relevance to them (or, in fact, to anybody).
  3. Text message – There’s almost nobody left without a mobile phone, and I’d hope that you had your (presumably) housemate’s number: why not drop them a text. It’s typically even faster than the previous two suggestions, and you don’t even have to open a web browser. Hell; if you’re going to go that far, why not make a phone call (we can still do that, you know, even on modern mobiles).

I suppose that this mini-rant is actually a roundabout way of answering a question I get asked from time to time: Why can’t I post to your Facebook wall? I get asked this question about once every three or for months, and the answer is related to my complaints about the poster, above. Not being able to write on my wall isn’t part of the half-dozen or so layers of privilege I group my Facebook contacts into: writing on my “wall” is deliberately something that only I can do, no matter who you are.

And that’s because I don’t see the point. Why do I want a medium to which my friends can post messages specifically to me in full view of the rest of the world? I can fully understand why you’d want to write on your own wall – hey, it’s not that dissimilar to blogging – but what possible motive can you have to want to say something to me “in front of everyone”, except if perhaps it’s more important to you to be seen to be saying something than it is for me to hear your message?

If you have something to tell me, then tell me: call me, text me, instant message me (I’m on basically all of the networks), e-mail me (encrypted, if you prefer), or even fill in the form on my web site: I’m a really easy to get in contact with. If you have something to tell the world, or all of your friends, then put it on a blog, Tweet it, put it on your Facebook wall, or something. I can’t see any legitimate use case that I care about where you’d want to leave a message specifically for all of my friends.

I suppose while I’m full of rantyness I ought to explain my stance on Twitter, too. I had a Twitter account, once. I get it; I see the point. Microblogging; yeah, that’s a clever idea: sharing clever snippets of information, URLs, and whatnot without the hassle of having to type in your blog address and put it there. It’s not much hassle, but you sometimes feel a little like a cheater when you write a blog post of only a couple of sentences (but that hasn’t stopped me doing it from time to time). So I signed up for Twitter, found my friends and followed them, and gave it a go.

I read what my friends wrote, and I wrote about what was of interest to me.

Maybe it’s just my friends, or maybe it’s just that blogging works because it takes effort, but most of the tweets I would see fell into only a couple of categories. The first category are those tweets which are actually interesting, and are incredibly rare. The next category is those tweets which are half of a conversation about which I don’t care – a friend of mine talking to somebody I don’t know about something that doesn’t matter to me: you know, the thing I really hate about the way that people use their friends’ Facebook walls. The third category, and the most numerous for some of the people I followed, is tweets that surely have no value or interest to anybody at all. I don’t care that your bus is running late or that your boss has a new haircut. Why are you telling me this!

Perhaps I’m being a little unfair. Some of my friends produce consistently clever and interesting stuff on their Twitter feeds. Although these also tend to be the same people who write interesting things on their blogs, or who talk to me regularly, or who share fun stuff with me on Google Reader, and who generally otherwise keep me posted with what’s cool and interesting in their lives.

I’ve heard people say to me that my complaints about Twitter are invalid because I use Facebook (thereby carrying the implication that it’s just as bad). And it is just as bad – about 50% of the folks I know on Facebook type such drivel into their “walls” that I just don’t read them. But the difference is that I don’t have to. I can still use the useful Facebook features (contact details sharing, photo sharing, stalking) without having to get into the shitty “what my cat ate for dinner” stuff that seems to be the entirety of what the Twitter experience is about.

Me; I like blogs. A well-written blog post (with a sensible title: I’m looking at you, LiveJournalers) is something that I can read now, or later, or skip. Skipping tweets isn’t the same experience at all, because you’ll soon find yourself at “Oh no! That made the cat throw up!” and wonder what you missed (hint: fuck all). So I think I’ll stick to reading folks’ blog posts, logging into Facebook every couple of weeks, and checking a handful of my friends’ Twitter feeds once in a blue moon. Is that how it’s supposed to be done? I’m not sure, but it’s the only way that I’ve found that works for me.

Or perhaps I’m missing something.

×

Murder At The Magic College

A week last Sunday – just a couple of day’s after Paul‘s arrivalEarth hosted a housewarming event combined with our latest Murder Mystery, Murder at the Magic College. While we’ve had our fair share of Murder Mystery Nights before, this is only the third one I’d authored (after Murder in the Reign of Terror and Murder… in Space!), and only the second to use the non-scripted approach that many of have rapidly become fond of.

As usual, planning actually started about six months prior, when I made the first notes about what would eventually become the plot of the event, but that’s reasonably unexciting (although everybody does seem to be shocked when I point out that excluding all of my notes, the final printed materials given out at the party itself totaled a little over 26,000 words: just a little shorter than my dissertation!). Instead, let’s skip to just before the party, so I can have an excuse to show off the enormous amount of shopping we had to do in advance (as usual, click on any picture to embiggen):

Ruth and JTA with a huge amount of shopping.

Ruth did her usual heroic quantity of cooking, starting several days before the event, and she was still sorting things out when Liz, Simon, and Finbar arrived, and quickly got roped into helping out.

Simon laying out food.

Turn up early, will you? That’ll teach you. Ruth had gone all out on the magical theme to the food, with treats appearing on the table such as rat-on-a-stick, spider pies (with legs sticking out of the top!), pastry “bones”, cakes decorated with magic wands and witches hats, and spacey twinkles on everything.

Earth's galley kitchen.

As the time came around for the party to start, a crisis occurred – as is traditional, just to keep my blood pressure from getting too low. This time around, my sister’s friend Zara had been hospitalised following an asthma attack, and this was destined to keep my mother, her partner Andy, my sister Becky, and her friends Zara and Jemma, from coming on time. As Zara got herself onto a nebuliser I re-jiggered all of the characters and got as many guests to Earth as possible, so that we could kick off.

Conspiratorial magicians.
(if anybody is concerned about Zara’s health, I wouldn’t bother – she was later spotted smoking a cigarette in our garden, obviously feeling a lot better for her hospital trip)

Plotting and interrogations.
As the Harry Potter films’ soundtracks played quietly in the background, the news came that the Dean of the Faculty of Runic Magic, Lewis Sloman, had been murdered, and the investigation was underway. Thanks to a few refinements made to the structure of the evening since Murder… in Space!, people managed to get “into character” quite quickly and the plot progressed reasonably smoothly all by itself.

Liz and Finbar
This Murder Mystery gave me the opportunity to try out a few experimental new ideas, which were – with one exception – reasonably successful. One new idea was the possibility for the murderer, later in the evening, to “Strike Again!”, taking extra victims in a bid to escape detection. Normally I would be very wary about adding the capability for a character to be “knocked out” of the game (after all, what does the player do for the rest of the evening, then?). However, at the Magic College, death doesn’t have to be the end, and a deceased character can continue to haunt the halls as a ghost (although they’re only permitted to communicate with particular other characters, and only under special circumstances).

JTA and Doreen
In addition, most of the characters (all of the faculty and students, but not so much the muggles) were “spellcasters”, and had not only one or two Ability cards to make use of, but also one or two Spell cards. The Spells were powerful (typically) one-shot abilities, but most of them were capable of being “recharged” by getting hold of a handful of “magic herbs” from the magic herb seller (who knew full well what her wares were worth and made a killing out of them).

My dad looks puzzled by his script among a sea of magic-users.
Another experimental feature of this Murder Mystery was that a handful of the characters could read one of the two “magical languages” of the land: “Runic”, and the “Language of the Mystics”. Characters who could read one, the other, or both of these had simple substitution cipher decoder keys printed on their character sheets. Now and then a clue would turn up that was written in one or the other language, so it was critical that characters had found multilingual characters that they could trust if they wanted to work out what these clues said.

Second act notes are dispensed.
I’d deliberately tried to keep the pressure on, pushing events onwards throughout the evening and making sure that it was impossible for each character to achieve everything they wanted to with every other character before each Act ended. I wanted to create a mild sense of panic and urgency and an slight out-of-control feeling, but moreover, I wanted to give the players the sense that no matter what subplots they’d discovered and how close they were to working out who the murderer was, there was always something else going on that they just didn’t have time to look into right now.

Spectating a monologue
By way of example, here’s a list of some of the subplots – aside from the murder – that comprised the event (if you were there, how many did you pick up on?):

  • All of the Faculty (Vesper Martini [JTA], Alan Tworings [Andy], Maggie Vixen [Liz H], and Sybil Scrawny [Doreen]) had a motivation to become the new Dean, but how important it was to them varied from character to character. Vesper Martini eventually achieved this goal by making outrageous promises to get people on his side.
  • All of the Students wanted to pass next week’s Potions exam, but there were different ways to achieve this. High-flyers Harriet Plotter [Liz V] and Eskarina Smythe [Ruth] would pass without effort, but Ronald Ferret [Simon] and Daniel Paulson [Statto] wouldn’t. An answers sheet stolen by Ron would guarantee a pass, as could Sybil Scrawny’s exam exemption certificate, but Eskarina had the more-challenging goal that she wanted to get the highest mark, which involved ensuring that Harriet had to sit the exam and that no other candidate cheated.
  • One muggle, Melinda Spoolreel [Rosalind], actually had a Spell that they were capable of casting.
  • Old Betty [Sian], formerly known as Bethany Spoolreel, was actually the mother of Melinda Spoolreel, who for most of her life she’d believed to have been deceased. Had the late Dean’s plan to in-source the production of spell reagents gone ahead, it was Betty’s daughter who would lose out the most.
  • Harriet and Ron were both addicted to the consumption of magical herbs, and worked together to try to ensure that none of the faculty discovered their habit (while still trying to feed it!).
  • Eskarina was infatuated with her teacher, Vesper Martini, but he took her interest in him and his work mostly as her being just a promising and dedicated student.
  • Daniel was due to be expelled this afternoon by the old Dean – he’d even gone so far as to sign out the expulsion form (which began in Alan Tworings’ possession, and could have been a great way for a faculty member to threaten a student! Of course, by the time Daniel turned up (late – he was busy smoking magic herbs with Harriet) to his appointment the Dean was already dead, and as such wasn’t answering the door.
  • Lewis had been cheating on Alison with Sybil, but had called it off in an attempt to turn over a new leaf and repair the relationship with his wife.
  • Eskarina’s Spell, Reveal, let her get herself and two other characters together and all put their Secrets in a heap, then flip a randomly-selected two of them. Old Betty’s Ability, Stoicism, could temporarily counteract the ability to expose her secret, so, unlike all of the other Ability cards, it was printed on the same-coloured card as the Secrets were, in case she were targetted by Eskarina.
  • Harriet had the unusual second-Act goal that she wanted some people to accuse her of being the murderer! (but not enough to have her executed, of course)
  • The old Dean was aware that money was disappearing from the Library’s funds (because Alan Tworings was diverting them to the greenhouses, much to Old Betty’s surprise, to ensure that her Skeleton Key Tree was ready for his use), but he’d mistakenly assumed that librarian Eric Lazyman [Finbar] was embezzling. This had strained Lewis and Eric’s relationship and almost cost Eric his job.
  • The murderer didn’t know that the deceased would be given minor clues as to their identity, and didn’t necessarily know that the deceased would be able to communicate with the living (until Maggie Vixen leapt excitably across the room shouting about how thrilled she was that the body was still warm and the soul still fresh).
  • Vesper Martini was trying to recover a pendant to which only he knew the name (but it was on his Secret card, if anybody exposed it) that could, when worn by somebody who knew its name, protect the bearer from death.
  • Vengeful Alison wanted her husband’s killer brought to justice, and was also quite keen that the “other woman” in his life died, too.
  • Horny Ronald wanted to get a date with Harriet, Eskarina, or Maggie, but failed miserably.
  • Mark Woodbury [Peter] wanted to get hold of the magic bookmark or the alchemy textbook to include in his muggle-world theme park.
  • Maggie’s Womanly Wiles Ability would not function against Alan Tworings (who, as we all later found out, was gay), but had she tried, she wouldn’t be told specifically why it had failed.
  • Both Maggie and Sybil wanted to show off their abilities, which required them to cast their Spells and to later share the knowledge they’d gained with others.
  • Eric’s library book contained on the inside front cover a library slip that demonstrated that Alan was last to take it out before it was reported damaged, and only borrowed it for a single day.
  • Alison wanted to finish the evening in possession of her husband’s last letter: some time after Eskarina put it up on the whiteboard for everybody to see, it mysteriously went missing…
  • Every Minor Character had a clue: did you get them all?

Puzzling over the clues
Another distinction setting this Murder Mystery apart from others was the Minor Characters twist. Pushed for time and with more and more potential guests (and with several guests saying that they didn’t really want to have to take part in a huge way), I came up with the idea of casting some people as Minor Characters, with a lesser role to play. This backfired somewhat, it seems, because the Major Characters, stressed at having to discover clues at speed, tended to ignore the Minor Characters (who were less use to them), making them feel left out. I’m not sure that Minor Characters are unfixable, but they definitely need more “bang” if they’re going to appear in any future Mystery I write.

Chilling with secondary characters.
This Murder Mystery had the greatest proportion of “newbies” of any I’ve ever been involved with, with the exception of the very first. Of the 13 Major Characters, only 4 had any kind of previous interactive Murder Mystery experience, and only 2 of those had experience of an unscripted interactive experience like this one. I was a little nervous that people would be able to get into character, but adding “just read it out” style introductions and a handful of tips of “things to try first” seemed to make all the difference, and the characters all sprung to life remarkably quickly (aided, perhaps, by the copious quantities of alcohol available).

Tworings' interrogation.
In fact, I’ve been told that in some cases people’s enthusiasm for playing the part of their character and wanting to show off their trivia and silly accents actually got in the way of the players’ investigative efforts. Everybody was having so much fun playing make-believe that they sometimes completely forgot to gather clues and achieve their goals, instead simply chatting about their projects, about upcoming exams, about who they think will become the next Dean, and about tasty tasty rat-on-a-stick.

Finbar and Doreen conspire.
There were plenty of secret negotiations, alliances made and broken, and plenty of lying and backstabbing. I’d given more-than-usual freedom to the characters to lie about things than ever before, this time, and some imaginative (and in some cases accidental) lies quickly turned into rumours and spread via gossip throughout the cast. At one point I heard Dirk the Dragonslayer [Paul] talking about something “he’d heard” (which I knew not to be true: I’d never written anything of the sort, and it directly contradicted some of the less well-known evidence), and later heard a cluster of other characters trading this gossip it as information.

Finbar watches Jemma flounce past.
Yet again, the players exceeded my wildest expectations in their ability to bring my characters to life. For anybody not aware of my process, I don’t write particular characters to fit particular players (I couldn’t if I wanted to: when I start writing the characters up to half a year in advance of the party, it’s far too early to plan such things), and in fact it’s not even me that assigns the characters. Instead, I write the characters and then have Ruth – who only gets to see one or two sentences about each – assign them, and so it’s particularly amusing to me when a secret character trait appropriate to a player gets coincidentally given to them. And in the other cases: well, that’s what role-playing is about, isn’t it – getting into a character that isn’t yourself, and it pleases me immensely to see the characters I’ve spent months crafting brought to life through the interpretation of my friends.

The Whiteboard of Secrets and Lies
At the end of the evening the votes came in as to who everybody thought was the murderer. Alan (actually the murderer) took the first few votes, and then Ron (innocent!) rocketed ahead. I couldn’t understand this: why were so many people suspecting poor Ron? It turns out that it was all because of a lie he told early on: in order to try to cover for the fact that he’d stolen the answer sheet to next week’s exam, he tried spread a rumour that he was busy revising in the Library during the afternoon. It later became apparent that this unsubstantiated alibi (which could only have been exposed by persuading his friend, Harriet, to come clean and tell everybody that they’d been together, doing drugs, at the time) placed him unfortunately right where many people suspected that the murderer must have been at that time! Worse yet, those who realised that he was lying about his whereabouts at about the time of the murder quickly made the assumption that he must be doing this to cover for having been the killer!

The Accusation
Another quirk to this particular party was a final secret ballot to nominate the new Dean and to pick the favourite costume, acting, and best investigator from the group. Alan managed to get away with the murder (and with managing to also kill the librarian, during the evening, whose strong and very vocal public accusations were starting to intimidate him), but didn’t quite manage to take the Deanship: that was snatched by rival Vesper Martini, who’d spent the evening spinning a web of false promises, playing to the characteristics that everybody wanted to see in their new Dean.

So there we go, another fabulous Murder Mystery – perhaps the best yet! I’ve learned a lot, as always, that I’ll be using for the next Murder Mystery, Murder at the Rock Concert (working title), that we’ll be running in the New Year sometime. This new Murder Mystery will be set at the backstage party of a 1974 glam rock concert where the lead singer will turn up dead, so find yourself a pair of platform soles and some glittery make-up (guys too!) and we’ll see you then!

Further reading:

× × × × × × × × × × × × × × × × ×

The Good, The Bad, And The Ugly Of System Tray Icons

What the fuck is that icon for? Despite the best efforts of icon designer to (apparently) make clear and comprehensible icons, and by computer users to learn and understand them, I still remain perplexed from time to time by the plethora of icons in my system tray (sorry, I mean Taskbar Notification Area). Let’s take a tour:

This is a good start. It’s a clear, obvious icon that just screams out what it is and what it does. It’s blatantly the volume control. If it’s got more lines, the speakers are louder. No lines, and it’s muted. It’s also a lot clearer than the standard volume icon that came with earlier versions of Windows, which tried too much to look like a speaker, and not like a representation of a speaker. There’s a reason that speed camera signs in the UK look like old-fashioned cameras: it’s about the representation (can you imagine an iconic form that actually represented a speed camera – how stupid would that look?).

And now it all goes rapidly downhill. What the fuck does this icon mean? It’s a monitor with a growth in the top-left corner which I’m lead to believe is supposed to be an Ethernet cable. Seriously, Microsoft? You almost had this one right in earlier versions of Windows, when you had the “two computers with a line between them” metaphor, which is a more clear representation of network than this is. And when it’s connecting? A pair of spinning balls! What the fuck does that mean? It means “something’s happening” without giving any clue as to whether my pen drive is mounting or my toast is nearly done.

Oh, it’s a flag. I guess this must be the icon I click on to, I don’t know, help aircraft land on my computer. While I applaud Microsoft’s efforts to make everyday users know about the maintenance tasks they ought to be doing on their computer (like backups), this icon doesn’t scream out “DO SOMETHING OR YOU MIGHT LOSE ALL YOUR DATA!” to me. Then again, my work puts me in contact with people who ignore even their I.T. departments telling them about the importance of backups, so this might be a losing battle anyway. That’s probably why Windows is waving the white flag.

As a side note, am I the only one who’s noticed that the Windows 7 taskbar and the new standard notification icons, above, are starting to bear a remarkable similarity to MacOS (at least, left in their default configuration), with it’s Dock and Notifcation Area. Unfortunately, Microsoft didn’t take the time to tell every software manufacturer that white is the new colourful, so only Windows’ own icons appear in shiny white: everything else looks just like it used to. Like these:

This is the icon for my wireless network device. Usually I don’t bother with these, but this this particular app is the first of it’s kind that I’ve actually found to be better than Windows’ own (excellent) Wireless Zero Configuration tool. Unfortunately, it’s icon leaves a little to be desired. Thanks to mobile phones, everybody and their grandmother now understands the universal icon for “signal strength” is a series of bars ascending like steps. Except for NetGear, apparently, who believe that the best icon would be a radioactive laptop whose screen changes colour from green through yellow to red to represent signal strength. I hope none of their customers are colourblind.

I like my keyboards (and mice) big and feature rich: I’ve got big hands and I have no problem memorising what functions and macros I’ve mapped to a dozen or so hotkeys. That’s why, as well as having the best mouse in the world, I have a related keyboard with about a million buttons. This icon, which depicts a keyboard and mouse, links to the applet that configures those hotkeys, and provides notifications about my mouse’s battery level.

It’s not the clearest icon in the world – how about a little more contrast between the mouse and keyboard there? – but it’s perfectly functional.

Obvious Bluetooth icon is obvious. Kthxbye.

Although I do wonder why the Bluesoleil driver stack – which I tend to use rather than the Microsoft one or the one provided by my chipset manufacturer, because of it’s fantastic support for just-about-everything from Wiimotes to OBEX/OPP – uses an icon with a very-slightly-different Blue, which only irritates you if you, like me, frequently have multiple Bluetooth dongles installed with different stacks attached to each. I guess that’s just me.

You can almost see where Microsoft is trying to go with the safely remove hardware icon, but it just doesn’t seem right. It only shows a USB plug, yet (for some unknown reason) provides features to unmount, for example, my internal SATA hard drives. And the little green “tick” icon suggests that this icon back-ends onto an application which is “doing fine” and doesn’t need my attention. So, as always, I happily yank out my pen drive without unmounting it, and it always turns out fine because I’m not the kind of idiot that does so while I’m copying files to and from it.

Ah, Sandboxie, how I love you. This icon’s actually pretty good, and I couldn’t think of a better one for an application that “runs other applications in a sandbox” – see, it’s a stylised sandbox! My only objection is that the best icon that the designer could come up with for when the application is working in the background is what looks like a sandbox with five cat turds in it. Seriously. Seriously; let me show you:

If that’s supposed to show me that my sandbox is in use then, well, yes, I guess it does. It could also be to indicate that my sandbox needs cleaning – a routine operation with the application – in which case, yes, it also works. Maybe it’s a better icon than I thought. Or maybe it’s just telling me to shoot the cat.

ZoneAlarm. I used to like the ZoneAlarm icon, back when it was two little bar charts – one red, one green – that indicated the amount of traffic coming and going from my computer. Now it still does that, but when there’s minimal traffic it shows this “Z” icon instead. This icon’s also okay, but it irritates me that the icon changes so drastically. If I’m looking for an icon, I want it to look somewhat vaguely sort-of the same as when I left it, not completely different.

What? An amorphous blob? I guess this much be the button to click if I run out of jelly cubes. Nope, it’s the icon for WebDrive, a wonderful little abstraction layer that allows S3, SCP, FTP, FTPS etc to be mounted transparently as local drives: in short, it makes it so that any application can manage files stored on just about any remote system can be edited as if they were local, which is a sickeningly lazy way to manage a network. It makes me feel dirty, and I love it.

On the other hand, the icon sucks. What does it mean? It looks like a piece of nondescript corporate artwork. Their other products don’t fare much better – they make an FTP server whose icon is the same as the WebDrive icon, but in red and blue instead of blue and orange.

One of these days somebody will release a program that allows me to easily change the system tray icons of other programs, and I will love it dearly. So long as it has a good icon.

You fail, Skype. When I think of you, I think of your lovely blue icon with the “S” in the middle. What you’ve got here is the same icon but in green and without the “S”. So… not the same icon at all. The worst of it is, I can see what they’re trying to achieve. It’s green because my status is “online”, but couldn’t you have used your regular icon and given it a thick green border, or made the cancerous growths on the top and the bottom turn green, instead? That way, I could still tell at-a-glance that you were Skype and not some mucus that had gotten stuck to the corner of my screen.

Okay, it’s a fox. Thankfully this icon is distinct, at least, unless you’re running some variety of furry-fandom-focussed-feed-fetcher, and doesn’t take long to identify as being the stunning AnyDVD, the flagship product of SlySoft, who use the fox head icon as their corporate image, too. I’ll let this one off, but surely an icon that somehow featured an optical disc in it might have been a little better?


This is a perfectly good icon. It’s for Giganews Accelerator, an abstraction layer that adds SSL, compression, and rate-limiting controls to any newsreader software. Most of you won’t care even a little about what any of that means, so here’s the scoop: the icon uses the style of their company logo, it’s small, legible, and distinct, and it’s shaped like a “down” arrow, which is pretty sensible for an application that streamlines downloading.

In other news, Giganews are a fantastic usenet provider and you should really give them a look.

Another perfectly good icon, this time for XMing. The artifacts around the edges are probably the result of the icon being designed to appear only on grey backgrounds, which is a little sloppy, but better that than for this mostly-black icon to disappear completely on black backgrounds. Again, many of you will have never heard of or care what this program is, but trust me: this is a perfectly good icon.

A computer… wearing a hat. You know, this one almost makes sense, if you think about it hard enough or if you’ve had a couple of drinks first. It’s the icon for Pageant, a part of the PuTTY suite, and it… no, wait: wearing a hat isn’t a good icon, is it? A good icon for this application, which stores the keys you use for connecting to other computers, might be more like a keyring, if it weren’t for the fact that every application in the world already used a keyring, sometimes completely inappropriately, like in the case of some versions of the Windows Genuine Advantage nagware. I initially thought that the hat metaphor was a good one, because it was about the different roles you’re in (or “hats” that you put on your computer), but that’s not a good metaphor because it’s possible to store any number of keys in Pageant, but very few people wear more than one hat. At least, not if they don’t want to get laughed at.

A speech bubble, sort-of, and the distinctive green spot of an instant messaging program. Not bad, although if I were running multiple instant messengers there’d be no way for me to know that this minimalist icon belonged to Pidgin. Of course, the theory with Pidgin is that you don’t need to run any other instant messengers (in my case, Pidgin keeps me simultaneously on four Google Talk accounts, MSN, ICQ, Yahoo!, IRC, Facebook Chat, and others), so you can see why they thought that would be okay. They’re wrong, of course, because I’m having to run Skype as well, but the theory was sound.

Like I said, it’s not a bad icon, but Pidgin has such a distinctive logo (a pigeon!) that you’d think they’d have tried to work that in, somewhere. On the other hand, I can’t complain too much because the program allows me to choose my own icons anyway. And also, it’s awesome.

Another pretty-good icon, this time for Synergy+, which helps me pretend that I’m hacking into The Matrix by running several computers (all running different operating systems) and a crazy number of monitors (of all shapes and sizes) simultaneously. Right now I’m surrounded by five screens and let me tell you, having 7.5MP of screen real estate in front of you (while most of your friends with just one high-def widescreen monitor have about 2MP) makes for a fabulous way of organising yourself. Instead of putting windows behind one another, just fling them over onto one of your other monitors, and glance across when you need them! Computer slowing down a little? Move some of your processing off onto your other computers, and get all your speed right back again. It’s like supercomputing on your desktop.

Anyway – the icon’s okay, because it’s the “ring” icon of Synergy with a “lightning bolt” that appears when connection has been established. It’d be better if it had more granularity (if the network connections between my computers failed, but at least one was still connected, the icon would still show a lightning bolt: how about a full lightning bolt if all the connections are working, and half a bolt if only some are?), but it’s still quite workable.

Another good icon. It’s AutoHotkey, and it’s, well, the AutoHotkey icon. I suppose it could have been a letter H “key” from a keyboard, but then again, half the things I use AutoHotkey for feel more like macro programming and less like shortcut keys. The key (hah!) thing is that I can identify it at a glance, and it’s perfectly good at that.

This is the icon for Quartz, SmartData‘s (really very good) in-house timesheet/task tracking solution. To plug the application a little more; it sits in your system tray and you click on it to change tasks (for example, right now I’m on my lunch break, but when I get back from lunch I’ll select the project I’m working on this afternoon. It collates all of the data that you and your staff have been working on and presents reports and statistics about how efficient you’re being (by comparison to the actual costs of your staff time, quoted costs for work, and so on), blah blah blah. It’s pretty cool. The icon… that’s debatable. In fact, Alex (lead developer on Quartz) and I have debated it many, many times.

It’s a clock. Well, yeah, that’s a pretty good starting point for a time tracking application, and it’s reasonably distinct. It changes the colour of the face when you’re on breaks, so you don’t forget to tell it when you’re back. And that’s about it. Basic and functional.

But there are two improvements I’d like to see. Firstly, the problem with a clock is it’s a little too generic. I’m actually surprised that more applications don’t have a clock icon (other than the long-dead Windows Clock). Secondly, it’d be awesome if I could tell even more at-a-glance, by associating colours, perhaps, to different projects, and having a little coloured “button” in the corner of the icon, like we saw earlier with Pidgin, that indicated which task I was currently on. I suppose I could just mouse-over the icon, but I’ve got 7.5MP of desktop, here, and it’s a long way from wherever-I-am to the Quartz icon.

On the other hand, I suppose I could just poke Alex until this feature makes it into the application. That’s what I usually do.

It’s a lightning bolt! Honestly, this could be the icon for anything: some anti-virus software, an instant messenger, a BitTorrent client: really, anything at all. As it happens, it’s the icon for Daemon Tools, disc virtualisation software. Again: seriously, couldn’t you have put a picture of a compact disc somewhere into the icon? Perhaps you could have even had a number in the corner, showing how many disc images were mounted right now, or changed the colour based on whether or not the virtual drive was being accessed? Maybe you could have done anything that it’s a dull and uninspiring lightning bolt icon. Such great software, let down by a shitty icon.

A fabulous icon. It’s for a VNC Server, and it’s even got the letters “VNC” in it. It’s a little plain, but perfectly functional, and it even changes colour when a connection has been established.

And finally: the Language Bar icon. I turn off all of the superfluous bits, leaving just the icon, and I only keep that because it changes colour (to a colour chosen by me, which is nice) when I change keyboard layout. I periodically switch between QWERTY and Dvorak keyboard layouts, depending on what I’m writing, and sometimes I use different layouts in different applications on the same monitor: it’s on these occasions that I’m thankful that I’m able to glance down and see easily what keyboard I’m typing on. It kinda ruins the sleek white icons that Microsoft are providing these days that the first thing I do with them is add a colourful (pink, no less) version of the same, but as we’ve already discovered; these white icons aren’t making the impact they were supposed to anyway, it seems.

(if you’d never heard of Dvorak before right now, I highly recommend you read the Dvorak Zine, especially if you write a lot and you aren’t a programmer)

So that’s my notification area: a mixture of good, bad, and ugly. Icon design and selection is often a lower consideration for developers than other parts of user interface design, and it’s easy to fuck up – especially because you can never be sure what environments your icon will ultimately inhabit, or what they’ll end up next to – and I’m not claiming that I could do any better… well; except in those cases above where I’ve specifically said that I could and how I’d do it, but these are the absolute worst cases.

Dan Q posted a note for GC23P6J Badge Cache Capel Madog

This checkin to GC23P6J Badge Cache Capel Madog reflects a geocaching.com log entry. See more of Dan's cache logs.

Glad to hear you found it, cardi88, and that it’s still there (after getting a series of DNFs, I was worried it might have been plundered!). Maybe I should step the difficulty up by a half-star.