CL4

This is my temporary Weblog. I tried WordPress and didn't like it, so for now I am just going to make one long page of posts. I'll sort out something better when the page gets too long.

2013-05-13: Deleting a disused Skype account

Skype doesn't make it easy to delete a disused account. Their FAQ for Can I delete my Skype account? suggests that you just blank out your profile before it mentions actual deletion, which requires a trip to Customer Service. Since I recently left a workplace where I had a dedicated Skype account, I decided to give it a go.

Customer Service is one of those depressing online chats where all of the sentences appear to be pre-approved corporate ones, with an operative (who I'll bet isn't a native speaker) merely selecting from a list. I was eventually transferred to another such operative who asked for some authenticating information: the year and month when I set up the account, the country where I did it, my registered e-mail address, and three names from my contact list.

These are quite hard questions regarding a decade-old Skype account. I suggested two likely e-mail addresses (since my old company changed its domain name at some stage), a setup date "some time in 2004-2005", and three definitely correct names from my list. This, it seemed, was good enough, and my deletion was approved.

P.S. Don't eat a Pot Noodle, three soft-boiled eggs, and two pears. I did this more than 12 hours ago, and I think I've accidentally hit upon a cheat code that disables solid faeces.

2013-04-29: Up-setting

In Windows 7, I have just shifted all of my documents down a folder, from My Documents to My Documents\_ReallyMine. There are just too many misbehaving applications that dump their settings in My Documents instead of Application Data, and I don't want to have to deal with that junk when trying to navigate through my own documents.

The offending applications include BeebEm (a lot of ROMs and disk images, including those bundled with it), Bully: Scholarship Edition (saved games, in-game photo gallery, and controller settings), Grand Theft Auto III (game settings), Inform 7 (its own help documentation!), Rocks'n'Diamonds (all installed levels and solution tapes, not just my own). None of those things are "my documents".

But the most egregious offender is Visual Studio 2008 (settings, templates, and "visualizers", whatever those are), because it's a Microsoft product, and you might think they would try to follow their own OS guidelines — at least, other than user-interface conventions, which they gleefully reinvent with every major release of anything.

2013-02-22: La la la, I can't hear you

A lot of "social" Web sites have the artificial problem that you can only "like" things; you are not allowed to "dislike" (presumably because of the embarrassment of anything having a negative average rating — not good news when you are e.g. Facebook trying to push yourself as a platform for advertisers).

But consider YouTube, which supports both liking and disliking, and where many videos and comments actually have more dislikes than likes. There is, separately, a "flag" ability for indicating that something should be removed, such as a video with bomb-making instructions or a comment that is promotional spam. If enough people flag an item for removal, it tends to get removed; I'm not sure to what extent this is automated.

The problem is that almost everybody abuses "flag" to try to have comments removed that express opinions they personally don't like. Since flagging can hide comments, this means that unpopular opinions are actively suppressed, regardless of their legitimacy. So you end up with an echo chamber of people going, "La la la, I can't hear you"; and if neutral newcomers arrive from outside, the flagged comment is hidden by default even for them. It's a sort of democratic censorship, but it's as bad as the autocratic kind.

Suppose that YouTube introduced some (hundreds of) moderators responsible for looking at every flagging and deciding whether it was this kind of abuse. The moderators would be capable of metaflagging: that is, flagging a user's flagging as inappropriate. This metaflagging would presumably be subject to the same problems, i.e. a moderator could turn a blind eye to an abusive flagging because he too didn't like the opinion being expressed.

I find this very pernicious. Identifying good faith is not something that can be automated. It seems there must be a "social" solution, in the original sense of the word, but what is it?

2013-02-10: Pro Telebugs Simulator

I might not be the first person to notice that Code Masters' Pro Golf Simulator (1990) on the ZX Spectrum has essentially the same theme tune as animated robot romp Telebugs (1986-1987), but I bet I'm the first person to write it down.

Have a listen.

What would Professor Brainstrain think?

2013-01-11: Idea for a game show

I recently had a possibly original idea for a game show. Contestants would have to make decisions based on how sure they were about the right answer.

Suppose there are two competing teams, each with a "bank" of accumulated money (as on The Weakest Link — but not otherwise resembling that show). Each time a contestant answers a question, they have to bet a percentage of the bank on being right: perhaps 100% if they're certain, 50% if moderately sure, etc. Getting it right yields a proportionate reward (so always betting low will not earn much money); getting it wrong means that the team forfeits the amount just betted.

To make it even more vicious and competitive, say that the losing team takes home nothing, while the winning team gets the sum of the two banks.

2012-12-13: Vevo pay us what you owe us

Google is criticised for funnelling £6m into Bermuda to avoid taxes. Eric Schmidt explains, "It's called capitalism. We are proudly capitalistic." Vince Cable says that "it may well be [capitalism] but it's certainly not the job of governments to accommodate it".

It bloody well is. What isn't the job of a government is passing extralegal value judgements on behaviour it has chosen to permit. If people are sneaking into your cinema through the fire exit to avoid paying, then sure, stop them and demand the cash (or turf them out). But if you choose to fund the cinema through an optional donation box then it's ridiculous to get grumpy with visitors who ignore it.

You cannot guarantee any "ethical" behaviour from human beings, let alone large corporations, unless it is enforced through law (and even then you have to keep an eye on the bastards, including the legislators: I seem to recall some noise about MPs' expenses recently). Is the accounting department at Google supposed to say, "Ah, yes, sorry, Vince, we weren't really being fair there, were we? Have a wodge of cash"?

Actually, somebody does seem to have wheedled an extra £20m out of Starbucks, so perhaps tabloid guilt-tripping is the way to do it. Let's name and shame these money-making profiteers. Read all about it for 70p.

2012-12-02: Woolly geography

Long-suffering "polite notice" seen on the Web site of Jamieson & Smith, a company selling Shetland wool:

Please select your delivery and tax areas from the drop-down menus. Please note that the USA is not an EU country.

2012-11-09: Failing to see sense

Absurd tautological sign seen outside Boots Opticians:

Eye tests available today.*

* Subject to availability.

2012-11-08: A pain in the neck and an IQ of 3

I rarely watch any television, having sold my TV set in 2001 and only rarely visiting Web sites like the BBC's iPlayer. This of course means that I have had years of threatening letters from the TV licensing agency, saying that they are going to come round and check up on me. At first, I dutifully replied to their letters, but eventually I stopped bothering.

This evening, a well-spoken greying man in a grey suit rang the doorbell and said that he was from TV Licensing. (I was in my bathrobe, because I work at home and am a lazy bastard.) I invited him in — I know you don't have to do this — and he surprisingly declined, saying that the people who are willing to let the inspectors in are generally telling the truth about having no TV. And that was that.

Part of me wonders whether he makes the decision based on circumstantial evidence. One can easily believe that an unshaven guy in a bathrobe with a "no politics or religion" sticker on the door is anti-television. Would he have accepted my invitation if (say) there had been a screaming baby in the background, or a car in the carport with a Top Gear sticker?

2012-10-??: Bucks Fizz

Johanna, having trouble opening a bottle of Bucks Fizz: "Jesus Christ! Isn't this stuff supposed to be for kids?"

2012-09-11: Missing LINQ

I've finally taught myself the language features from C# 3.0 and 4.0. (They're a few years old now, but I don't code for fun any more, and at work we've only just made the jump from 2.0 to 4.0.) Here are my thoughts on some of them.

LINQ is fantastic and I will be using it a lot. It is a SQL-alike for .NET objects, i.e. where you would traditionally iterate over a collection and pick out the things you want according to some condition, you can now write the query in C# syntax and get the results back as either a collection or its enumerator.

Implicitly-typed local variables were presumably introduced for LINQ, but more prosaically they can save some typing (aha, a pun) when declaring complex objects:

var x = Dictionary<int, List<string>>(); // compiler knows what x is

This is nice, though I imagine it could get frustrating without IntelliSense. var is not to be confused with the wretched dynamic, which pisses on all I hold sacred by allowing you to compile calls to non-existent methods that will fail at runtime.

Anonymous types are again useful in LINQ, this time for bundling things together: select new { x.FirstName, x.LastName } will give you a set of objects with only those properties. Possibly good as a poor man's read-only class as well: they are locally scoped and type-safe, so you can't make too much of a mess (unless you're one of those maniacs who write 1,000-line methods).

Object and collection initializers: Even if you aren't using anonymous types, these can come in handy, e.g.

var magpieSpottingOutcomes = new Dictionary<int, string>
{
  { 1, "sorrow" }, { 2, "joy" }, { 3, "girl" }, { 4, "boy" }
};

Extension methods: So suppose you've always wondered why string doesn't come with an IsPalindrome method. What were the designers thinking? Well, now you can roll your own:

static bool IsPalindrome(this string s)
{
  return s.Length <= 1 || (s[0] == s[s.Length - 1] && IsPalindrome(s.Substring(1, s.Length - 2)));
}

Such methods are declared as static but act like instance methods (i.e. we can now do "redivider".IsPalindrome()); they even work with delegates. Totally unnecessary and potentially misleading. But the syntax amuses me. "There's this string s, right, and it walks into a bar..."

2012-08-25: Cakes and ale

Went to a local food and ale festival yesterday. I'm not an ale drinker at all, but I tried a couple of the lighter ones, as well as some proper cloudy cider and perry. There was also a very nice vanilla-flavoured stout, with a burnt smokiness to it.

I was too full from lunch to try much food, but I did manage a venison pie. Yum. Other stalls had alcoholic ice-cream, paella, and "crazy cakes" (apparently something like a cinnamon doughnut).

2012-08-05: Differences in Finland

Here are some things in which, I have noticed, Finland differs from the UK.

Johanna says, "The main differences I've noticed in the UK are the number of fake-tanned girls caked in make-up, and the amount of Twitter promotion everywhere. And nicer pubs." Win some, lose some!

2012-08-01: Rearrangement

I have rearranged the central area of my house. This involved emptying and shifting some heavy furniture and took about two hours.

The original justification was to allow me to use the exercise bike while watching a video on the computer screen, and with headphones on. (I didn't realise how bored you can get on an exercise bike.) But I have already discovered several other benefits:

2012-06-22: Priceless bloody Priceless

Katie "Jordan" Price talks to an interviewer about why the public buys her novels:

There are bits that relate to me, for example the perfume she uses is what I wear — Coco Chanel — the clothing, how she does her hair.

In other words, (i) Price thinks that the point of a novel is the same as an autobiography, namely to write about your fascinating self; (ii) Price thinks that a person is adequately summed up by purely superficial choices; and (iii) she is a brand whore. It's quantity over quality, too, on a barely conceivable scale:

The books have done really well. I've had about 50 out in a decade so you can't complain about that.

Never mind that "her" novels are ghost-written (by ex-journo Rebecca Farnworth). Why do people insist on worshipping — and emulating — these anti-intellectual scum?

2012-06-09: Power and consequences

More than ten years ago, I released a Windows game, called Eqtris, based on the well-known shape-slotting game of Tetris.

Eqtris was originally written in Visual Basic 5, but later I ported it to C# to teach myself the language. Among other things, I added an online high-score table, so you could compete with everybody else who played Eqtris. For a while, there were quite a few players trying to climb this table, though admittedly I knew most of them personally.

I never released the source code to Eqtris because it would have let people study the network packets and submit forged scores. But as it happens, the scoring was hopelessly broken anyway, and nobody ever realised.

Here is the bug. ^ is a valid operator in both Visual Basic and C#, but with radically different meanings. In Visual Basic, it means raise to a power, so for example 2^3=2*2*2=8. In C#, however, it means bitwise exclusive-or, so 2^3=1 (because the 2-bit is set in both 2 and 3, but the 1-bit is only set in 3). The C# equivalent of Visual Basic's ^ is Math.Pow.

The Eqtris scoring system, which worked perfectly well in Visual Basic, gave proportionate rewards for clearing multiple lines. If s is the score for clearing a single line, then the score for clearing n lines in one go was 2*s^(n-1). But since I failed to change ^ to Math.Pow when porting Eqtris to C#, triple lines were suddenly worthless, double lines were disproportionately valuable, and single lines scored more than Tetrises.

By the time I discovered the bug, earlier this year, Eqtris's fifteen minutes of fame had long since passed, and the online high-score table had hardly changed in years. Yet back in the day, with all that fierce competition for the top spot, nobody ever noticed the irregularity. There's a lesson there.

2012-06-08: Let us be thankful we have commerce

Uh oh. Loch Fyne has joined Pizza Express in having a large, pointless, distracting, wall-mounted TV. Apparently, television is now regarded as an "ambient" thing, and there's nothing wrong with having it blaring away silently (or subtitled) in a place where nobody will really focus on it. I cannot bring myself to approve of that.

I remember the Raglan once boasted of being the only pub in the town centre that didn't show televised sports (and in fact had no TV at all) during the football season. They've had one for several years now, though.

The cheapness of components, flat screens, telecommunications, etc. seems to mean that people are now sticking animated displays everywhere just for the hell of it. The off-licence in town has a screen that flashes nothing useful to the street. Barclays cash machines can't give you money without spitting up some advertisements for that bank and its tawdry football ticket giveaways.

I have enough of a dislike for simple, non-electronic ads in places where they shouldn't be: on the sides of steps and on railway signs, on people's branded clothes, on government Web sites (no, I don't want to "like" the NHS), on and in buses and on the back of bus tickets. If all of this shit ends up getting animated then I don't know whether to be more concerned about consumerist brainwashing or about simply going blind.

(The worst ad I've seen lately is the supposed "artwork", hanging in the bar of the Premier Inn, that is based around the word Buy.)

2012-05-31: Beats, shoots and grieves

Those who see little use for the apostrophe should reflect upon a recent Metro strapline: Nathan Outlaw's British Seafood. (Mr Outlaw is a chef.)

Or, if you're lazy about hyphens, consider this headline from the Sun: Mum-To-Be Stabbed.

2012-05-25: Joke

Q: What's Dr Seuss's favourite London Underground station?

A: Turnham Green.

2012-04-23: Spectrum Google Doodle

Today's Google Doodle celebrates the 30th anniversary of the ZX Spectrum. The Spectrum is more or less unknown in the US — a variant was marketed by Timex but did not succeed — so I was surprised to see this from Google. The British angle suits the secondary theme of St George's Day, mind.

Only two colours were allowed in each 8×8 character cell, hence the attribute clash where the dragon's head touches one of the letters in the logo.

Google Doodle: St. George's Day and 30th anniversary of the ZX Spectrum

Froot Bat on uk.media.tv.misc remarks: "Nice of them to finally mark a genuinely important and revolutionary historical event (along with some bloke on a horse)."

2012-04-03: Break-feast

"More break-feast than breakfast," boasts Premier Inn about its morning menu.

Etymologically speaking, I think I would rather interrupt my fasting than my feasting.

2012-04-03: Playing heart to get

More Spelunky fun: I reached the final room with 18 hearts, thanks to an early kapala and a lot of altar sacrifices, and decided to see how many more I could get by killing the smaller enemies launched by the boss.

I was up to 52 hearts when I ran out of floor and the boss plunged into the lava. Total kills in this game: 248.

52 hearts in Spelunky

2012-03-31: It came from beneath the sea

Google Books occasionally gets things mixed up — or does it? I always suspected those mussels were up to something.

Neurobiology of Mytilus edulis - books.google.co.uk - George B. Stefano - 1990 - 312 pages - Preview - Fifth grader Elise is thrilled when a UFO appears in her friend Nick's backyard but shocked when she discovers why its occupants have come to Earth.

2012-03-28: Our work here is dumb

Just got back from a work trip. I was there for two days, and heard three stupid things, viz.

On the up side, there was free pizza at lunchtime yesterday. I have never seen so much pizza in one room.

2012-03-26: Exactly like physical cards

According to the Windows User Experience Interaction Guidelines:

Touch provides a natural, real-world feel to interaction. Direct manipulation and animation complete this impression, by giving objects a realistic, dynamic motion and feedback. For example, consider a card game. Not only is it convenient and easy to drag cards using a finger, the experience takes on an engaging real-world feel when you can toss the cards and have them glide, spin, and bounce exactly like physical cards.

Well, I'm not sure what kind of cards they have down Redmond way. Possibly these ones?

Bouncing cards from the Solitaire card game in Windows XP

2012-03-18: Bullet time

Player firing a shotgun in Spelunky

In Spelunky, things only happen within the visible part of the play area. Everything else is a dead zone, or "frozen region", where monsters do not move, ticking bombs never reach explosion point, and and falling objects hang suspended. Once you move back into the area that had scrolled out of view, everything picks up where it left off.

The easiest way to kill an angry shopkeeper — a fast-moving and troublesome enemy — is to fire your shotgun from a distance, while he is frozen off screen. As you slowly approach, pushing the frozen area further and further back, the bullets will creep along with you, eventually hitting the shopkeeper before he has been able to "wake up" and shoot back.

This got me wondering whether you could kill yourself with a blast of your own shotgun, by manoeuvring carefully around the frozen bullets at such a distance that they only resume movement when you complete your circuitous trek around the map and approach the oncoming bullets from the other side.

The answer is yes, you can, but it takes some planning. I eventually managed it in one of the ice cavern levels, whose deep chasms offer the greatest space to manoeuvre. Flying with a jetpack, I fired a shotgun blast from the bottom right-hand corner of the map, just above the bottomless chasm, and then travelled all the way up, across, and down to the bottom-left hand side (falling as fast as possible, without hovering on the way down). Sure enough, I was just in time to get my own bullets in the face.

2012-03-16: Ha ha only larcenous

The annual council tax bill arrived today, and with it the police and fire service budgets, full of quotas and jargon. The fire department wishes to replace its "life-expired" headquarters, while the police aim to "reduce serious acquisitive crime by 5%".

A Google search reveals that "serious acquisitive crime is defined as domestic burglary (residence), theft of a motor vehicle, theft from a motor vehicle and robbery (people and business)".

Since this covers every kind of theft I can imagine reporting to the police, I would like to know what constitutes a non-serious acquisitive crime. Taking the last After Eight mint?

2012-03-05: Not the Dickens

There's a myth going round the Internet about Charles Dickens. It's been doing the rounds for years, and — like a mistake in Wikipedia — it's been cited and blogged and retweeted and fuck knows what until, as far as the Internet is concerned, it might as well be true.

The myth is that Dickens wrote this:

There is nothing better than a friend, unless it is a friend with chocolate.

The line is attributed to Linda Grayson, a character in The Pickwick Papers. But there's no such character. Not in The Pickwick Papers; not anywhere in Dickens. Nor could anyone who had read one Dickens novel — hell, one nineteenth-century novel — possibly mistake the above for writing of the period.

For one thing, in Dickens' era, chocolate was not such a mass-consumed commodity that the quotation would make any cultural sense. In fact, the only mention of chocolate in Dickens refers not to the modern bar form (which only appeared in the mid-nineteenth century, about halfway through Dickens' life), but to the drink, in A Tale of Two Cities:

It took four men, all four ablaze with gorgeous decoration, and the Chief of them unable to exist with fewer than two gold watches in his pocket, emulative of the noble and chaste fashion set by Monseigneur, to conduct the happy chocolate to Monseigneur's lips. One lacquey carried the chocolate-pot into the sacred presence; a second, milled and frothed the chocolate with the little instrument he bore for that function; a third, presented the favoured napkin; a fourth (he of the two gold watches), poured the chocolate out.

The really irritating thing is that people take the apocryphal quotation as a gem of Dickensian wit. It's not funny; it's not clever, pithy, or carefully structured. It is twee. It is the generic "tee-hee, uh-oh, calories" punchline of every single Cathy comic strip.

Yet Google finds hundreds of thousands of people gigglingly passing it on. On the popular book-sharing site GoodReads.com, where (dare I say it?) people tend to be more interested in having read a book than in reading it, 9,689 users have "liked" the quotation; the real Dickens is trailing ignominiously behind, his most popular genuine line ("There are books of which the backs and covers are by far the best parts") liked by only 1,191. And in a 2006 item in the Houston Chronicle, Molly Glentzer betrays herself by giving the line a wannabe-readerly preface: "As Linda Grayson so sagely observed..."

So how did the mistake arise, and who is Linda Grayson? She isn't a character in The Pickwick Papers; she is a real live person who runs The Printwick Papers, a merchandise Web site selling "stationery, magnets, keychains and more!", and presumably the throwaway line can be purchased in one of those immortal forms.

2012-03-05: Lost bitness

There is a folder on the company network called LatestPublishedVersion which holds the approved binaries for a certain .NET application. When we want to update the application on a given server, we run a script to copy that latest version over the existing copy.

Lately, we had been getting this error after deploying new versions, but only on certain servers, and only relating to one specific DLL:

System.BadImageFormatException: Could not load file or assembly [name of our DLL] or one of its dependencies. An attempt was made to load a program with an incorrect format.

I thought this must relate to misconfigured file permissions, or DFS (Distributed File System) not synchronising the files quickly enough; we used to see similar problems with content uploaded to a Web server not being immediately visible to clients. But why only the one DLL, and why only on certain servers? Furthermore, the problem still occurred even when we copied the files manually.

In fact, DFS was a red herring. Somebody had accidentally changed the project build properties from "Any CPU" to "x86" for that specific library. Most of the servers are in fact x86, so the problem only manifested itself when we deployed to the x64 ones.

2012-02-28: Close up the hole in my face

I had minor cosmetic surgery on the NHS today, to remove a little cyst (a.k.a. lump) from my cheek.

My main worry with anything remotely risky is the human incompetence factor. For example, the thing that makes me most anxious about air travel is the chance of having a dull-witted or undertrained pilot or crew, rather than terrorist attacks or unpredictable equipment failures. The same applies to surgery; I seem to have read a few stories in the news lately about medical blunders.

Anyway, it was fine. I had to lie on a raised bed thing and turn my head cheek upwards. After the local anaesthetic (three or four slightly painful jabs) it was suggested that I close my eyes — supposedly because of the bright light they use, but perhaps because I might have glimpsed something and got squeamish. So I kept them closed.

Some fabric was draped over my cheek; it felt like one of those spongy translucent sheets used in packaging. I wasn't aware of the incision taking place at all. Then there were a couple of minutes of the surgeon rummaging around to get the lump out, and then my cheek was stitched back up. Took about ten minutes in all.

The relaxing background music during all this was an unexpected surprise, and so was the fact that I could get this done on the NHS at all, when the cyst was neither malignant nor particularly noticeable.

2012-02-19: Cash money

Dollar signs, intended as a written measure of currency, are lately much abused to indicate a greedy lust for money. We have all seen unbearable nerds complaining about "Micro$oft Window$", and hip-hop artists coming up with silly names like Ke$ha and Ma$e.

Today I bought a few bottles of beer at Booze Bargain (a shop in town that used to be Threshers, before that went bankrupt) and was interested to see on the printed receipt that "You have been Served By Mr. JA$VIND£R GHOTRA". At least he's hedging his bets by incorporating two separate currencies.

2012-02-16: View askew

A discussion at work today reminded me of a database query I once wrote that made SQL Server 2005 fail with an internal error. I am not going to bother with all the details, but I will outline the situation, because it's interesting.

For historical reasons (a bad design, from even before I joined the company in 2003), we have three separate tables representing physical street addresses: one for our customers' sites, one for carriers' depots, and one for delivery locations in general. Though the tables have different names, they have more or less the same columns; therefore somebody eventually came up with a handy view that combines the three tables into one, along the lines of:

create view vwLocations
as
select 'CUS' as LocType, ID as LocID, Name as LocName, Addr1 as LocAddr1, ... from CustomerLocation...
union
select 'CAR' as LocType, ID as LocID, Name as LocName, Addr1 as LocAddr1, ... from CarrierLocation...
union
select 'LOC' as LocType, ID as LocID, Name as LocName, Addr1 as LocAddr1, ... from Location...

Later, when I was writing a query to get a list of locations to show to the user in a dialogue box, I got a strange error. I narrowed down my problem query to something very like the following:

select top 32 LocID, LocName, LocAddr1, ...
from vwLocations
where (LocID=105 and LocType='CUS') -- for example
order by case when LocType='CUS' then 0 when LocType='LOC' then 1 else 2 end

That quirky order by case was intended to list the customer locations first (the mostly commonly used, since that's where goods are shipped from) and carrier locations last (because you would rarely ship goods to a carrier's depot). But the above query — with the where clause, and with a sufficient number of fields selected, and with select top of at least 32 — trips up SQL Server:

Location: "qstopsrt.cpp":384
Expression: fFalse
Location: qxcntxt.cpp:1052
Expression: cref == 0
A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a QFE from Technical Support.
A severe error occurred on the current command. The results, if any, should be discarded.

An "assertion failure" is when a last-ditch sanity check determines that some assumption by the programmer does not in fact hold true, so we've obviously made SQL Server do something pretty weird here. I find it interesting that the query works with select top 31 (or any value less than 32, well known to programmers as a power of two), suggesting that some internal limit has been hit. But the same query works fine on a different customer's copy of the same database, with identical view and schema but different data records. Go figure.

2012-02-16: Keep calm and carry on

Today's Telegraph reports on a man who went jogging naked. His defence in court was that fifteen people had walked past him without comment. Well yes, you're in England, where everyone ignores everything because "getting involved" might lead to distasteful controversy, stabbings, or a dinner other than roast beef and Yorkshire puddings. I would certainly not confront a naked man about his nakedness.

In an unrelated article, and with tactful horror, the same newspaper recalls how dozens of busy commuters stepped over the body of a collapsed schoolboy (Oliver Tiplady). I am convinced that this illustrates the same principle.

2012-02-14: Excellence for all

Wiktionary's motto, apparently, is "all words in all languages". DCDuring has taken the motto and added a footnote to each word, showing that none of them is really true. This amuses me. I think we should change our crappy, inaccurate motto to "certain items in or relating to certain writable systems".

When I was at school, the headmaster decided that having a school motto would be a good prestigious thing, and not at all an absurd and pompous waste of time. We, the pupils, were asked to vote on the two candidates: "excellence for all" and "excellence in all". (What a good choice, I think to myself now: quantity versus quality.) There was a space on the form for further suggestions, in which one of my friends waggishly suggested "Excellence for all, in all, all in all."

2012-02-12: Time has no boundaries

A few months ago, I was in a restaurant with a couple of friends and noticed a shelf full of lovely old books. They were only décor — it's common these days to get a lot of cheap old hardbacks and line a wall with them — but we pulled one down, an encyclopaedia from circa 1910, and out fell a little postcard offering "FREE real diamonds (or a handsome and useful fountain pen)". Century-old spam!

I thought it would be fun to stamp the postcard and send it, so I've done so. Whether the address still exists after two World Wars remains to be seen. Google Maps was ambiguous about it.

Front of postcard   Back of postcard

2012-01-15: The social revolution

In the pub for lunch, I spot a family at the next table. The father is wearing a football shirt emblazoned with a giant three. He and the mother speak loudly and do not sound very intelligent. The two boys, aged about ten, are dressed identically and both glued to electronic gadgets. One is called Tyler, so I imagine there is a 60% chance that the other one is Jayden.

A very young girl at another table has been looking across curiously, and eventually she waddles away from her group to stare at the two boys. They are too absorbed even to notice that she is there. She wanders away, but a few minutes later she is back again. This time, the mother spots her and rouses the boys: "Aw, say hello to the little girl."

The boys raise their eyes in unison, chant an obedient "hello", and return to their gadgets.

2012-01-14: Quality fade

Paul Midler has written about something called "quality fade", which is where (for example) a Chinese company gradually and methodically reduces the quality of its manufactured items in order to gauge when its Western customer will notice. It's essentially a way to do things as badly and cheaply as possible, limited only by the fact that the customer might protest and demand something better.

It's the same with supermarkets. In 2004, Morrisons took over Safeway, my nearest supermarket, and at that point there was an immediate and noticeable decrease in quality. Safeway had never been great, but Morrisons was really scraping the bottom of the barrel, to the point that I now try to avoid the store. Their own-brand products are inedible, and in particular I distrust the "The Best" range, which is supposedly better than the typical Morrisons trash but is actually indistinguishable from it.

There are many awful food products that supermarkets sell today that would not have been accepted in the 1980s, when supermarkets were less important and we still had butchers, bakers, etc. People accept it now. They know that the "The Best" range is not actually the best of anything, but it's cheap, and perhaps it's marginally better than cheaper alternatives. You have to make your food pretty damn poisonous to stop anybody buying it. Supermarkets trumpet this as "value", but value is supposed to be a function of price and quality, not just price.

What's comparable, I suppose, is the British attitude to US talk shows — we once had a sort of genteel horror of Oprah Winfrey — and how we feel now, with a zillion channels and all kinds of reality shows, and the likes of Jerry Springer. Today, we are not merely a passive accepter of the gunk from outside; we are exporting Jeremy Kyle. This is the result of social/moral quality fade.

I have a bourgeois worry that Waitrose, the last acceptable supermarket, will be taken over by Tesco etc. and ruined in order to please their shareholders. I will be very distressed if there is no longer any supermarket that bothers with quality at all. I'm already seeing things that are bizarre and off-putting to me, like boxes of frozen fish that neglect to mention which particular fish is in them.

Wayne says, "As soon as M&S changes, Britain is over. We'll close it down and open a branch of America."

2012-01-11: Board now

A company called Chaotic Moon Labs has recently received a lot of press for its "Board of Awesomeness", a hardware hack based on the Kinect motion-sensor technology developed by Microsoft for its Xbox games console. I can confidently say that I have never come across a company that sounded more brashly unlikeable, nor one that hyped itself further beyond its apparent ability.

The company slogan is "we're smarter than you", and their Web site ticks all the boring boxes of Internet fads: "a fortified zombie-proof bunker", "don't talk about Chaotic Moon Labs" (Fight Club), "our facility is outfitted with a [...] laser beam and shark tank security system" (probably a reference to the puerile xkcd Webcomic).

If you take a look at what they've actually done, other than obsessively bigging themselves up on social networks, it's a rather different story. Other than the Kinect hack, all they have to show is a bunch of press releases and customer quotes from rather dull, traditional companies like Betty Crocker: "[The app] has 43 recipes on how to use up those leftover cucumbers that you hastily bought at the farmer's market last weekend." Uh-huh. 43 things to do with a cucumber. How awesome is that?

I mention this as a particular glaring example of Web 2.0 bullshit, and the sad triumph of egotistical babble over quietly getting on with useful work, and the fact that we've apparently learned nothing from the first dotcom collapse.

2011-11-26: First ever tweet

Wayne directs my attention to some hilarious graffiti from Pompeii. One highlight:

I.2.20 (Bar/Brothel of Innulus and Papilio); 3932: Weep, you girls. My penis has given you up. Now it penetrates men's behinds. Goodbye, wondrous femininity!

And the first ever tweet:

II.7 (gladiator barracks); 8792: On April 19th, I made bread.

2011-11-19: Scary Indian on YouTube

This Indian fellow on YouTube is a bit too fond of a certain strangling video.

vipul12121000 (1 week ago) u r a to guuuud job plz uplod woman kills woman with strangles viedios plzzzzzzzzzzz..
vipul12121000 (1 week ago) plz uplod viedios of daughter kills mother with strangles.............. like your viedios
vipul12121000 (1 week ago) pla uplod viedios like your viedios name my mother splt with my boy friend means any type of woman kills woman with strangles
vipul12121000 (1 week ago) i realyy to much like your vidio uploded 5 aug. 2011 plz dude uplod more woman kills woman with strangles ........
vipul12121000 (1 week ago) i tooooooooo muchhhhhhh like your viedio the name is my mother slept with my boy friend- episode 4 plz uplod more this type of viediossssssssssss
vipul12121000 (1 week ago) uplod woman kills woman with hands strangles........... woman kills woman with belt strangles ........ woman kills woman with scarf strangles ........ woman kills woman with tie strangles ............. woman kills woman with rope strangles ............ woman kills woman with pillow .......... woman kills woman with strangles

2011-11-11: Letter to Pizza Express

For the past few years I have visited Pizza Express quite regularly, probably two or three times a month. On my last visit, after the recent redesign, I noticed that there is now a very large TV screen at the front of the restaurant. The movement is visually distracting, and since it's not muted there is also a constant annoying level of background speech.

For a company whose slogan is "feeding great conversations", this seems like an incredibly bad move. Can you please tell me:

I am probably not a typical restaurant visitor, but when I go out to eat I want to be able to relax and not be bombarded with TV, marketing, social networking, etc. This change has definitely lowered Pizza Express in my estimation and I am now much likelier to visit other restaurants with less of an audiovisual distraction.

2011-11-04: I'm on The Daily WTF

I'm on The Daily WTF today, with this screenshot of Lenovo Fingerprint Software trying to install itself again at the end of its install process.

Final screen of Lenovo Fingerprint Software installer prompting to 'Install Lenovo Fingerprint Software'

2011-11-03: Rude Bully

I was poking around in the data files from Rockstar Games' Bully, and I found a dirty word in the Gallery file. I'm sure this isn't an Easter egg, since it is improbably accented and occurs in an image data file (look at the EXIF header), but it amuses me anyway.

The word 'fuck' in a data file from Bully

2011-10-18: Sickening gloop

Thanks to Wikipedia, it has come to my attention that there are a heck of a lot of those chintzy Chicken Soup for the Soul books.

Can you spot the Chicken Soup books I have invented? Each of the lists below contains one fake book that I have made up — but which one is it?

Answers: The fake titles are The Star Wars Fan's Soul, The Alcoholic's Soul, and The Patriot's Soul.