I always wondered where Paul got all of the weirder parts of his music collection. Turns out Amazon just starts recommending it to you once you start looking in the right places:
Tag: funny
Disaster Analysis
Scientists investigating this week’s catastrophic lunchquake in the Dan’s Lunchbox region have released a statement today about the techtonic causes of the disaster.
“The upheaval event, which reached 5.9 on the Tupperware Scale, was probably caused by overenthusiastic cycling,” explained Dr. Pepper, Professor of Lunchtime Beverages at Tetrapak University.
“The breadospheres ‘float’ on soft, viscous eggmayolayers. Usually these are stable, but sometimes a lateral shift can result in entire breadosphere plates being displaced underneath one another.”
This is what happened earlier this week, when a breadospheric shift resulted in catastrophic sinkage in the left-side-of-lunchbox area, eggmayolayer “vents”, and an increase in the height of Apple Mountain.
No lives were lost during the disaster. However, two jammie dodgers were completely ruined.
Recent emissions in the ring of fire area is unrelated to this recent lunchquake, and are instead believed to be associated with excessive consumption of spicy food at lunchtimes.
Every Full Moon
This is what happens when you let geeks write your billing software:
From the website of Andrews & Arnold ISP.
Beware: Necrophiliac Paramedics!
A conversation I had this morning with JTA, via text message:
I sent:
Boiler update: this is getting silly. The probability-weighted Markov-chain based predictive text system I’m using this morning saw me type “boi” and suggested “Boiler update:”? /sighs/
On the upside, I’ve successfully arranged for the new distributor valve to be installed on Friday, when I’ll be around.
To give a little background, we’re having trouble with the boiler on Earth. You may have observed that it broke last year, and then again this year: well – it’s still broken, really. Nowadays it’ll only produce a little hot water at a time, and makes a noise like that scene in Titanic where the ship begins to tear in two. You know – a bad noise for a boiler to make. Over the last two or three weeks we’ve repeatedly fought to get it repaired, but it’s been challenging: more on that in a different blog post, if JTA doesn’t get there first.
JTA replied:
On the plus side, at least this saga is overriding your phone’s memory of your previous life as a male prostitute. :-)
I was once mistaken for a gay prostitute, actually – by a gay prostitute – but that’s another story, I guess. In any case, I responded:
Until now! you’ve just mentioned that again, which means it’ll be the “last message received” when the paramedics go through my phone if I’m killed on the way to work this morning. And they’ll say, “yeah; I’d pay to have sex with him.”
Quickly followed by:
And his mate will say:
“Now he’s dead, you don’t HAVE to pay.”
If my corpse is raped by a paramedic, I’m blaming you.
To which JTA said:
You’re talking about people who drive blacked out vans full of drugs. I’m pretty sure they never pay.
From prostitution to necrophilia to date rape over the course of only a handful of text messages. What a great start to a Wednesday morning. I do like the image of an ambulance as “a blacked out van full of drugs,” though…
Best April Fools Pranks 2011
Ah, it’s that time of year again. Here’s a quick round-up of some of my favourite pranks on the web this April Fools’ Day:
- ThinkGeek can always be relied upon for a good April Fools’, and this year is no exception. Of their prank products, my favourite is clearly the Anti-3D glasses, which completely filter out the left channel from 3D movies, allowing you to watch them in 2D.
- Geocachers amongst you might be pleased by the Nano Alarm container, which sounds a high-pitched alarm when a human body comes near it, making it easier to find. Actually, I’d have found it a more-amusing prank if they’d claimed it detects interference in GPS signals caused by a nearby GPS receiver.
- An article on IPv4.5 claims that we ran out of IPv4 addresses completely this morning and, with IPv6 still far from fully-deployed, we’re having to implement IPv4.5 as an emergency measure. IPv4.5 shares IP adddresses between people at opposite sides of the globe, giving priority to those on the “day” side, so there’s a slight risk that some traffic might be mis-directed… but it’ll only be by nocturnal websurfers who are probably just on Facebook or Twitter anyway.
- EddEgg launches The Secret of the Isle of Monkey, (a parody of The Secret of Monkey Island) and it’s fabulous: far too much work went into this little April Fools’.
- I’ve found Gay Monopoly on BoardGameGeek, and I’m not sure if it’s a joke or not… BoardGameGeek’s already an April Fools in which they become search engine “Geekdo” (try searching for “Catan”… or any other board game… on it). The photos of Gay Monopoly look remarkably believable, but it’s hard to take anything seriously today.
- The Pirate Bay has become The Pirat eBay, and has released a blog post claiming that they bought the rights to eBay on eBay and have since re-branded.
- Google are well known for their April Fools’ Day pranks, and there are a good number of fantastic ones this year, but my favourite is GMail Motion, motion-sensitive controls based on body movements by which you can interact with your email. Well-worth a look.
Have a great April Fools Day! Play a prank on somebody for me. And, if you don’t want to get caught out yourself, why not install the Do Not Fool add-on for Firefox, which passes a Do-Not-Fool header to every web site you visit, requesting that the site does not display to you any prank content but only genuine pages.
Puppy Eating Time
My boss, Simon, and his family have recently gotten a new puppy, called Ruby.
Apparently the little girl’s full of energy and bounce and is taking up a lot of time while she gets settled in to her new home. While talking on an instant messenger with my boss earlier this week, he was telling me about how he’d had to get up in the middle of the night and take her for a run around the garden, because the little tyke was still full of beans and not sleepy. And that’s why I made one of those fabulous moments in instant messaging: when you type something that can be read multiple ways:
Dan: Puppy eating time?
Obviously, I had meant:
Dan: [Is the] puppy eating [i.e. consuming a lot of your] time? [Poor you, you're not getting much sleep.]
Just three words. So simple. But a split second later the other, inevitable way of reading it became clear:
Dan: [Is it] puppy-eating time? [I want to eat your puppy!]
Shit. That’s not what I meant! I tried to correct myself:
Dan: I don't want to kill your puppy!
Then I realised: what if my boss didn’t read it the wrong way at all? What if he already understood that I was asking about how much time and energy the new family member was taking up… if that’s the case, then I’d just made myself look like a psychopath who’s contemplating killing his family pets. I backpedalled:
Dan: That came out all wrong. I mean: of course I don't want to kill your puppy - I just didn't want you to think that I did, in case you thought that for some
reason.
That didn’t help. This was just going from bad to worse. Then, salvation came:
Simon has reconnected.
Simon: Sorry, had to reboot - did you get my message about our new puppy?
The Wedding – Unanswered Questions
The photos from Ruth & JTA’s wedding are coming soon, I swear. In the meantime, here are a few questions that I’m still puzzling over:
Some or none of these questions will be answered in time (and, perhaps, when you see the whole picture). Keep an eye on the wedding blog for updates just as soon as Ruth and JTA find the time to update it! And I’ll look forward to hearing your caption ideas for some of the “sillier” pictures.
Meanwhile, if you’re among the people who took photos at the wedding and who hasn’t yet given me nice, hi-res copies, please get in touch!
A Very Confused Courier
I’ve just had a phone call from a very confused courier. My mother (who many years ago for reasons both too long and silly to go in to I nicknamed “Crusty Pasty”) texted me last night to say that I was to be delivered an early Christmas present that would arrive today, and that she’d given the courier my phone number so that he could ensure that I was in when he came around. My mobile rang:
Me: Hello.
Him: Hi, is this Dan… Q?
Me: Speaking.
Him: Hi: I have a delivery for you from a… I just want to make sure I say this right: Crusty Pasty?
Me: That’s correct. I’m expecting it.
Him: I think there might be something wrong with your landline: I called and got a strange robot voice.
Me: Oh, that was you? That phone is never answered. Best to call this number.
Him: I just wanted to double-check the address: [number] Corpse Lane?
Me: Copse Lane.
Him: Oh yes, sorry. Just my bad handwriting. I’m on the M4 right now; I’ll be there in about an hour: is that okay?
Me:
Yes, I’ll be at that address all morning.
Him: Okay. See you at about 11.
Codenames? Mysterious parcels? Phone numbers that always go unanswered? Yes, that’s right: I’m about to be treated as being part of some kind of terrorist cell. If my “early Christmas present” is something that can be used in the construction of an explosive, then the jigsaw will be completed and this will probably be my last ever blog post… until I’m released from Guantanamo Bay.
A Video Game Movie I’d See
Video game movies are notoriously bad, no matter how awesome the game that inspired them. Wing Commander took a classic video game series and completely ruined it. Doom was incredibly dull, even though it was based on one of the most popular game series that have ever exited. Prince of Persia: The Sands of Time had so much potential and the chance to draw from the multi-rebooted Prince of Persia video games, but in the end its only redeeming feature was that it co-starred Richard Coyle, whose earlier appearance in hit comedy series Coupling lead Ruth, JTA and I to rename the film after his character from that series, calling it The Legend of King Jeff, which would honestly have been a better film.
And let’s not forget the truly dire Street Fighter: The Movie, which ultimately lead to the short-lived arcade game Street Fighter: The Movie – The Game, attempting to cash in on the film before the developers realised that this wasn’t actually a very good idea. And it’s only the eighth-worst video game movie of all time, according to this video on GameTrailers. Let’s face it: video games don’t convert well to films.
That said, I’ve had an idea for a video game-inspired film that I think could really be good. Or, at least, so awful it’d be good.
Don’t you dare tell me that you wouldn’t go to the cinema to see Asteroids: The Movie: CGI like this just has to be enjoyed on the big screen.
The plot is as follows: Earth governments have been secretly tracking an enormous asteroid for many years. Under the cover story of satellite launches, they’ve been firing nuclear weapons at long distances to try to destroy or deflect the mass, but all they’ve managed is to break it up into many hundreds of smaller (but still devastatingly-huge) rocks, many of which are still headed towards our planet.
We’re introduced to our main characters: a cocky ace fighter pilot who’s just been expelled from his wing group for being too cocky and ace, a young and immature geek who spends his life playing retro video games, and a love interest who spurns both of them and is probably employed by the shady government agency. Early in the film, she acts professionally and doesn’t approve of the other main characters’ respective aggressive self-confidence/childish behaviour, but eventually the three become closer as they work together (and probably save one another’s lives a few times).
Recruited for their various “talents” they’re recruited to pilot an experimental spaceship right out into the asteroid field and fire their cannons to destroy them. All is going well, but there are occasional sightings of fast-moving metallic objects around the edges of the field. These turn out to be aliens (in flying saucer like spaceships) who had originally propelled the enormous rock towards Earth in an effort to wipe out humankind, who they – as a result of their warlike culture – perceive as a threat to their galactic dominance. Earth has been on the brink of cracking faster-than-light travel for a while now, as evidenced by secret test flights of the ships which preceded the vessel used in the movie, and this makes the aliens twitchy.
There’s a fight, and it momentarily looks like the aliens stand to destroy the human ship. “This isn’t a video game: we don’t get extra lives!” shouts the love interest character, at one point. “No,” agrees the geek, “But we do have this…” He engages the highly-experimental “hyperspace jump drive” and the ship disappears just seconds before the alien missiles destroy it.
While drifting in hyperspace, the crew find evidence of the aliens’ culture and history, and the other planets they’ve destroyed. They also discover a possible weakness. They’re just beginning to understand what they have to do when they reappear in normal space, apparently only a split second after they disappeared. The chase is on as the aliens pursue the humans through the asteroid field in an exciting chase scene. Finally, the humans discover what they need to do to penetrate the alien shields, and fire upon them. They rush away as the alien ship explodes, vapourising the remaining asteroids as it goes.
The crew return to Earth as heroes.
Now: isn’t that at least as good as whatever Hollywood would come up with? And it’d certainly be far better than the Super Mario Brothers movie.
Hmm. Further research indicates that this might be already going to happen…
I’m Proud of the BBC!
I’m Proud of the BBC! [YouTube] It’s just this (and lousy weather) that keeps us together. With thanks to Katie for sharing.
Well, that’ll be stuck in my head for a while. Full write-up (and photos) from this weekend’s fun and games coming soon.
Parsing XML as JSON
This morning, I got an instant message from a programmer who’s getting deeply into their Ajax recently. The conversation went something like this (I paraphrase and dramatise at least a little):
Morning! I need to manipulate a JSON feed so that [this JSON parser] will recognise it.
Here’s what I get out of the JSON feed right now:
<?xml version="1.0" encoding="UTF-8"?> <module-slots type="array"> <module-slot> <title>Module3</title> ...
“Umm…” I began, not quite sure how to break this news, “That’s XML, not JSON.”
“Is that a problem?” comes the reply.
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”).
Amateur Lesbians
I’ve recently reformatted and reinstalled, and that means that – briefly – I ended up seeing advertisements on the Internet again, until I had my ad-blocker reinstalled. And so I came to see an advertisement that promised to let me see “amateur lesbians”.
Now you and I both know perfectly well what they mean, but I’ve always been amused by the term. It somehow carries the implication that there are “professional lesbians”, who aren’t just hobbyists or weekend-homosexuals. I get the image of a conversation along these lines:
A: “So, what do you do for a living?”
B: “Oh, I’m a lesbian.”
If there is such a thing as a professional lesbian, I wonder if it’s one of those careers that is protected from gender discrimination laws, so that it’s allowed to disallow men from applying. And I wonder if you can get a vocational qualification in the field: you know, a BTEC in Lesbianism or something. I also wonder if there are any perks to the job – I mean apart from the obvious: do you get a company car? Do you have to pay for your own uniform?
I wonder, sometimes, if I wonder about things a little too much.
The Game Disbalancer
Coming to an Arkham Horror game near you… never.
Click for large-o-vision. You know, I think that having this guy on the team might just make the game winnable. Maybe.