Log in

No account? Create an account
Neil de Carteret
It's not his fault - we made him that way.
It turns out that for years, I've been spelling "stifle" incorrectly. Now that I look at it, I've been writing "stiffle". What the hell is that all about? Is it rude?
Penn Jillette has been doing an occasional video blog since he stopped doing radio.

I was sad when Penn Jillette (the loud half of Penn & Teller, or as he puts it, more han half by volume) stopped doing his excellent daily hour-long radio show. He's a stark-staring libertarian, a good critical thinker, and an excellent entertainer. I don't like the concept of role models, but if I had one, it would be Penn Jillette. I have even been told I look like him, which is fine, but not deliberate.

So now that the radio show has stopped, Sony have given him a bunch of cameras and instructions to do a video blog called Penn Says, which is just pure, undiluted Penn:  http://crackle.com/c/Penn_Says
Two american alt rock numbers of pure glory.
First, Butthole Surfers Pepper. I missed this when it was current and only heard it recently:

Secondly, The Flys Got You (Where I Want You). I don't know when it came out, but I love it. It shares a dark, maleficent tenderness with Polly by Nirvana, and, also like that song, it's from the point of view of a rapist.
I've been using Photoshop since 6.0 and I've only just noticed this really annoying thing: if you have caps lock on, your paintbrush pointer turns into a useless little crosshair.

The thing is, there's also an option to do that, so obviously the first thing I did was go and make sure it was set correctly. Then I restarted Photoshop. Then I tried using it a bit because I really needed to get a certain piece of work done.

It was only by fluke that I happened to tap capslock with my pinkie by accident and noticed the pointer fix itself. What is this feature for? I can't imagine a situation where it would be better to have a generic cursor than a circle that will show you how big the brush is going to come out. Unless you're using really huge brushes and can't see the edges, maybe.

Almost as annoying is the fact that you can't scroll off the edges of a picture, for example to grab the handles of a shape which extends off the canvas:

I love Photoshop to bits and feel much better for having ranted a little.
In 1997, I sold my copy of Pablo Honey because apart from Creep, I didn't think there were any decent songs on it.

Okay, I was wrong. You is fantastic too, as is Stop Whispering. Oh, and Anyone Can Play Guitar.

Actually, it's a pretty awesome album. But somehow in 1997 it just didn't speak to me, and so I never listened to The Bends or OK Computer properly.

Last week I found I had Karma Police stuck in my head at work, and the only way to get a song out of your head is to listen to it properly, so I did. And then I listened to Radiohead's entire back catalogue on continuous loop for about 72 hours.

I still don't quite get Kid A or Amnesiac, but I suspect that they will make more sense aftera  few listens, and I'm saving In Rainbows, but I'm getting there.

Makes me wonder how many bands there are that I don't pay attention to because their songs aren't instantly catchy.
I've found out what those gibberish spams that don't seems to be selling anything are for: they're designed to poison spam filters' corpuses.

The idea is this: there's too much spam, so you write a program that filters it out, known, oddly enough, as a spam filter. Trouble is, spam doesn't come conveniently marked as such, so you need some pretty hairy techniques to try and recognise it.

There are various techniques, and one of the most popular starting points is called Bayesian filtering. I won't go into the maths here, but basically it's a statistical system which you "prime" by showing it a load of spam and saying "hey, filter, this stuff is evil - I want you to get rid of it", and then a load of real email (sometimes called ham, by analogy with spam) and saying "this is the good stuff. I want to keep it."

The Bayesian filter then attempts to work out phrases, patterns, and styles which distinguish spam from ham. Done right, it works well. My GMail account gets fewer than ten spams a week in the inbox, but several hundred a day go straight into the spam bucket.

Yes, you read it right - several hundred. And in the three years I've had my GMail account, I've had one false positive (that I've been aware of, admittedly).

If you want to gauge how impressive it is that a computer can do that kind of filtering, think of it liike this: imagine you're describing to a small child who has absolutely no grasp of context or the outside world, how to tell the difference between a trustworthy adult and a potential child-molester.

Difficult, huh? That's why we tell children, whose brains are millions of times more powerful than any computer, don't talk to strangers. Kids just can't make that kind of quality judgement. So it's a feat of science that computers can, fairly reliably, distinguish spam from ham.

That sidetrack aside, for these filters to work, they need to be fed a large quantity of ham and spam to get them "primed". Also, systems like GMail are paying attention when you click "Report Spam": when you do that, the mail gets fed into the filter as an example of spam. When enough people do that, the spam starts getting blocked. It also takes some of your emails that you don't report as spam, and feeds them into the filter as examples of ham (the filter needs example of both spam and ham so it can establish the differences).

The collection of emails used as examples of spam and ham is known as the corpus, from the latin, meaning "body".

These gibberish emails, which are composed of gramatically sound English (or whatever language), get reported as spam, and end up in the spam corpus, which gets diluted with random crap.

In other words, by sending spams that only look like spam because they have no useful content, the spammers weaken the filters' ability to tell the one from the other.

Luckily, collaborative systems like GMail pretty quickly filter out even the gibberish mails.
Crap, I've done lots on the past month and now I'm stuggling to remember what it all was.

Well, there was October Gameforce, at the new venue, which is smaller than the old one but better decorated and they do food. After standing around chatting with Angus waiting for my usual bunch of no-shows to arrive, I sat down with Mike and couple of other and played... oh jeez, I can't remember. All I know is it ended with the longest game of Puerto Rico *ever*.

The weekend after that I had the delightful experience of watching Simon play Portal. It's the sort of game that once you've done a section, it seems utterly obvious and you just want to scream "No! You idiot! You *obviously* have to put the portal at 45 degrees and throw a cube off the ledge! Duh!"

The weekend after that is a complete blank. Seriously. I have no recollection whatsoever. If anyone can remember where I was or what I was doing, please let me know. It's a little worrying.

Last weekend the main event was seeing the Sex Pistols at Brixton Academy. Lowrider Dave asked me how it was ajust now and I described it thus:
The performance was great. Lydon is still completely manic and the playing was really tight.

Trouble is, no-one's afraid of a 51-year-old property developer, no matter how manic.

Also, when he's yelling "No future, no future for meeee", I was thinking, "You sang that 30 years ago. There obviously was a future. What is this song supposed to mean now?"

So it's basically a retro-punk stage show performed by the Sex Pistols, not an actual punk gig. But it was still cool.
And this weekend, I've been mostly playing Crysis, and yesterday was George's birthday do at the Ealing Park Tavern, which was very nice and 6 out of 9 of us had roast beef. Huzzah.
This is a bit of a surprise. Valve software announced a while ago that the latest episode of their Half-Life series would be released in a bundle with the sequel to the multiplayer classic Team Fortress, and a weird-looking first-person puzzle game called Portal. Given that puzzlers aren't really my bag but the videos looked cool, I played it first. It's only five hours long, and that's if you're as crap at puzzles as me, but it's perfectly constructed and huge fun.

Here, I've just used portals to get energy from the red, three-pointed power emitter to the power socket just to my left, and then portalled over to a platform which travels along the beam of white energy. Note the sinister observation room to the right. The glass is only distorted from the outside, but that's something you find out later in the game.

And then it gets better. Just when you're nodding your head and deciding that some puzzlers can be fun, the whole gameplay shifts up a gear, the plot (yes, it's a puzzle game with a plot) blossoms like a hydra. Then you reach the final puzzle, which makes everything that came before it look like Tetris, and then the game ends, at which point something ten times more awesome than everything so far happens.

And you're left staring at the empty computer screen with a lump in your throat, adrenaline washing round your brain, emotionally and intellectually wrung out. Valve have tricked you. They lured you in by saying this is a little puzzle game with an interesting gameplay mechanic, and then they suckerpunch you with the best gaming experience you have ever had. And it's all over in five hours.

Seemingly without trying, this pint-sized,  funny-looking, not-quite-an-FPS, not-just-a-puzzler game has strolled into the all time top ten and taken a seat in the VIP area alongside Deus Ex, Half-Life, and System Shock 2.

The cake, incidentally, is not a lie. My companion cube told me so, before I killed him. I'll miss that little guy.
I got my new PC a couple of weeks ago, and I suppose I ought to blog it for the record. It's:

An Intel Core 2 Duo E6750 (that's two cores at 2.66 GHz with 4MB of L2 cache)
2GB (2x1GB) of PC2-6400 DDR RAM
A Leadtek Nvidia GeForce 8800GTS 640MB
A Gigabyte P35C DS3R mobo

So it can do this:

(1920x1200, 278K JPEG)

at 60fps.

My old Iiyama monitor, circa 1999, threw it's last senile fit and died. It had been playing up occasionally (blowing fuses or refusing to power on) and finally it just conked out entirely. So, the next day, I jumped on the train to Tottenham Court Road, walked up and down it twice (that's a lot of walking), and finally settled on a 24" widescreen Samsung 245b from the Micro Anvika in the street opposite Goodge Street. It's £370 RRP, and being ex-demo it was £320, which is an amzing price for a 24" LCD. Except it's really obvious what a cheap panel it is - huge colour gradient between top and bottom, which can't be improved by moving your point of view. In retrospect, I should have gone for a smaller, but higher-quality screen.  But what I really want is something the same size, but not totally cheap-ass. So that's one for the list, right after "a pony" and "a house with a pool in zone 1".
(The title is a Latin/Spanish joke, for all you poor non-classically-educated types)

Mum and Dad came up to London last week to see what all the hullabaloo is about. Tuesday evening was my first opportunity to demonstrate my new-found cookery skills to my mother, who has been subliminally teaching me everything I know about cookery since I was old enough to peer over the kitchen counter and watch cheese being grated/tomatoes being sliced/mince pies being pressed. I made a Moroccan chicken tagine (aka a slightly curryish casserole) which seemed to go down well, although I supect that Mum was going to be nice about whatever I'd made, regardless.

Wednesday we minicabbed, trained, and taxied our way to the British Museum and observed the Terracotta Army, or at least a detachment of it. After seeing the photos of the archaeological digs with thousands of in-tact soldiers showing, it was easy to be disappointed with the two dozen or so figures on show here; but I forced myself to think about their antiquity, the level of detail on every one, and the fact that these priceless objects had been shipped from China so that there were but a train ride away for me. Then it impossible not to be impressed and even awestruck by what I was seeing.

That afternoon, we went to the Globe Theatre to see Love's Labour's Lost. It was my second visit but Mum & Dad's first. Weirdly, we were seated in exactly the same bit of the theatre that I'd been in with Stuart and Karen in June. LLL is described by a character in one of Jasper Fforde's novels as having been made up of parts left over from Shakespeare's other plays, which is a fair description. There are nobles, comical servants, and false identities aplenty, and the players really played it up until it was laugh-a-minute, which was good because you're practically outdoors at the Globe and it was absolutely freezing. Probably not as memorable a performance as Othello, but great entertainment.

Thursday we crawled along the north half M25 and went to Waddesdon Manor. I'll let you read the link for details; it's not really my bag. Not because of the property itself, which is magnificent, but because it's run by the National Trust, so the inside is dimly lit and utterly devoid of life or personality. The best bit (for me) was the Aviary, which quite apart from being an elegant cast-iron structure in itself, houses some beautiful exotic birds hopping about and squeaking. I felt like they were the first living thing I'd seen all day..

Friday was mostly spent at the Great Western Railway Sheds Shopping Oulet. Recommended. Go, if you haven't been before. It's an ever-changing multi-mall of bargain outlets, completely different from any other mall I've ever been in. I bought all sorts of goodies, and my Mum got all kinds of generous and started buying me even more things. None of it was more than 2/3rds it's RRP, and the bedsheets I got were less than 1/3rd price.  And if you want to feel like you've improved your mind while you're there, there's a museum of the Great Western Railway next door, which is so engaging and lively it made Waddesdon look like a maths textbook.

I'll leave you with a snippet from the beginning of LLL. Ferdinand (King of Navarre) has just persuaded his friends to sign an oth that they'll spend three years with him studying, fasting, and having no contact with women:
You swore to that, Biron, and to the rest.
By yea and nay, sir, then I swore in jest. What is the end of study? let me know.
Why, that to know, which else we should not know.
Things hid and barr'd, you mean, from common sense?
Ay, that is study's godlike recompense.
I love Shakespeare.
It was the equinox today. From here on in, daylight will only happen when you're at work.

Also, I just made a saucepanful of this. It was quite tasty.
Do you know why programming in Perl, Python, or Ruby is so much more fun than programming in VB, ColdFusion, or PHP?

It's quality of the community. Not the size. The quality.
Click here to read moreCollapse )

Tags: , ,

I've been finding del.icio.us painfully slow for a while, to the point of not even being able to post links. How's everyone else finding it? 
I've just received the Penguin Book of Hebrew Verse as my book for the Blog a Penguin  Classic project. 
  • It's in Hebrew. I don't speak Hebrew.
  • There are translations, but they don't scan or rhyme or represent anything other than literal meaning.
  • It's (predominantly) religious. I am not not.
  • It's 600 pages long.
Wish me luck.
Not so very long ago, client-side web programming in JavaScript was painful. There were no debuggers, no way to add instrumentation other than alert("Bing bong!"), no frameworks, and no tool-chain except your favourite text editor and a browser.

But now we have JavaScript consoles in Opera and FireFox, plus Firebug Lite for everything else. Then there's full-fat Firebug for DOM wrangling, XHR inspection, profiling and debugging, and the Web Developer Toolbar for tweaking, poking and prodding.  Even MS are on the case with the IE Developer Toolbar (which is a bit like the FireFox WDT plus a DOM inspector), and the MS Script Editor (which is part of Office, for some unknown MS reason).

Also, today I found JSLint. It's hardly new, but somehow it had never reached my radar before. If you've use lint, the C code nanny, you'll know what to expect: it pulls a fine-toothed comb through your code and picks out all those things which might not actually stop your code from running, but which are Bad anyway, like undeclared variables, missing semicolons etc.

I think the crassly-named Web 2.0 movement is having some great effects here - people are waking up to the fact that JS is actually a really nice, powerful, dynamic language, not just a toy syntax for DOM fiddling. Having functions as first-class objects really shows that the designers were thinking about expressiveness when they wrote it. Of course, it took some time for the libraries to catch up, but now we have a plethora of fantastic and mostly open source frameworks.  Shining brightest among them at the moment is JQuery, which takes the concept of anonymous delegation with JS functions and turns it into your main paradigm.

The JQuery-based JS code I've just written is about 150 lines, across 6 functions. Would you care to guess how many local variables there are in that lot? The answer is three. That may not be a very useful metric on its own, but it's deeply indicative of how much JQuery lets you write code in the order you need it, so you don't have to keep swathes of local variables hanging around for later use.

I'm going to round this off by offering some big love to Apple's Safari for Windows beta. Safari looks gorgeous, even in Windows, and yet it has the snappiest rendering engine and JS interpreter in existence. Seriously. I'm running FireFox 2.0, IE6, IE7, Opera, and Safari side-by-side on the same Windows XP machine for compatibility testing, and Safari is just spanking the opposition for performance. It also hasn't put a foot wrong with rendering yet. Best of all, WebCore and JavaScriptCore (the bits of Safari which are so fast) are open source. If they release a Linux build, I'll switch to Safari as my day-to-day browser in a heartbeat.
The bus driver on the 346 bus back from work on Wednesday was obviously very angry about something, because was throwing the bus round like an MX-5.  The difference is that MX-5s typically don't have twenty people standing up in them.

I was standing with my back against the window, holding on to the hand-rail above me. Psycho Bus Driver hammers round a mini-roundabout, causing some squeaks of astonishment as everybody is thrown to the left. He realises  he's about to crash into someone's garden and suddenly straightens up, throwing us all back to the right. At this point, because of where I was, my lumbar region connected with the hand-rail behind me quite forcibly.

It was a bit jarring, but I only had two more stops before home, so I was just glad to be off. My back was a bit sore that evening but I didn't really dwell on it. But Thursday morning, when I tried to get out of bed, I found I couldn't. The pain was astonishing. I had to flop onto the floor and walk my hands up the wall just to get onto my feet.

I've had back pain before - I used to get it all the time after I'd spent a while working at a bad desk. But this was the worst back pain I've ever had. I managed to make a coffee, then went to the bathroom only to find that I was almost incapable of lowering myself onto the pot. This, I thought to myself, is what it must be like to be very old.

I called in sick, dropped a cocktail of painkillers, and spent the rest of the day trying to find a posture that would alleviate the pain for more than a few minutes at a time.

I suppose I should have gone to see a doctor and then sued the crap out of Arriva (the bus company), but unfortunately I don't think like that.
Excuse me while I put aside years of professional conduct, tolerance, and maturity, and get something off my chest:

Jesus fucking christ, I hate Microsoft so much. They are unmitigated turds of the worst kind.

I originally wrote a long rant here about monopoly abuse, complacency, and criminal incompetence, but instead I'll just leave a link which will be a godsend for anyone trying to support IE6 and 7:

Multiple IE

It installs standalone versions of any of IE 3, 4, 5, 5.5 and 6, so you can have your office-policy-mandated IE7 and still support the unwashed masses with their six-years-old browser technology.  Yay!
I haven't blogged recently because I've been up to my eyeballs in various projects for friends - retouching some photos which had gone pink or green with age, designing a site, Something Commercial Which Cannot Be Mentioned for Someone Who Cannot Be Named, and, in the gaps, hacking on my Django/Python app. For me.

I'd share one of the photos, but frankly, at a glance they look like 70's vintage porn and I'd hate to make my blog NSFW on that account.

The design work is interesting because unlike most of the things I've done before, my "client" has fairly strong design opinions, so we've been through several iterations while I try to find a design that matches what he has in his little head.

"Doofus", the killer personal task management application, is languishing a little but I should be able to have a good solid hack on it tomorrow. It's looking good. It's how Google would do a to-do list, and I can thank JQuery and Django for that ability.

So I've spent this evening in working on items (2) and (3),  but it's only half ten, I have a big bottle of Leffe Blonde, and I'm listening to Peter Bjorn And John feat. Victoria Bergsman: Young Folks, which is just about the best new record I've heard in years. It has that soulful pop indie vibe that Scandinavians are so good at. It's so good, in fact, you can have it right now. Enjoy:

I need more time and more money.

I came home this evening fully intending to get a stack of paperwork out of the way and then sit down for several hours serious programming. Instead, the paperwork took hours (I'm still proving to people that I exist and live in the UK) and by the end I felt so drained that I stared at my IDE for ten minutes, corrected some indentation, committed the change, and then closed it.

Conversely, when I got to work this morning I was full of beans and could have hacked solidly for hours, but all I had to work on was a bloody design document that had to be made 18.2% more boring.

And I want to buy a new PC, but it looks like young Master Card is going to pay for it. Awfully generous fellow.