I won't be going out this evening. I feel terrible.
I've not been sleeping well since before Christmas. I've got a painful swelling on my elbow, and it keep waking me up at night when I roll onto it. So I went to the drop-in centre at St George's on Tuesday, and they told me that I had bursitis.
The arm is feeling much better now - though whether that's because it actually is or whether it's just that the anti-inflammatory that they gave me is also a painkiller, I don't know.
Problem is that the drop-in centre was full of sick people, so I caught some nasty lurgy. I was coughing all night last night. :-(
Anyway, a happy new year to all of you.
Tsunamis shatter celebrity holidays (via boingboing).
112,000 and rising. Given how many places are still cut off, the slow progress of rescue operations, and poor communications, this could easily double, God forbid.
Not much to say, really, is there? Other than that there are still many people at risk who need your help.
If you can stomach it, the BBC's online coverage is excellent.
OK, well, not all. I hope that whoever broke into mum's car and stole all her presents has a miserable christmas - ideally in a cell somewhere. Bastards.
But a very Happy Christmas to all you lot who are reading this.
Guido's mulling static typing in Python, and Andy isn't impressed.
It's optional type checking that's being considered, Andy, so this really isn't that bad. I can see using it for two reasons:
Firstly, on those rare occasions when you do want to insist that an argument has a certain type, you might get a better message this way. (It won't actually pick up more errors - if the type does matter, my unit tests will pick up the problem PDQ. And if they don't, well, clearly the type doesn't matter after all, does it? ;-) It's only the error message which might be improved. Is this worth it? Debatable. I probably won't use type checking for this, even if it is introduced.)
Secondly, I can see that it might help with optimisation - cf Psyco. If this were the case, I might use static typing from time to time, but only where I was actually having a problem with performance, and only after profiling to see which functions were candidates for optimisation.
For me, the big problem with this is that the whole concept of a type in Python is a bit nebulous. Usually, so long as the object you have implements the correct protocol, you don't care that its actual type is, and I'd be loath to lose that. Perhaps progress needs to be made with PEP 245, Python Interface Syntax, and PEP 246, Object Adaptation, before static typing makes sense in Python. Or would this interfere with the optimisation benefit?
One of my favourite jazz venues, The Bull's Head, Barnes, is under threat - Jazz club faces closure after just one complaint.
I'm not sure who's more to blame - Stephanie Fallows, the stupid cow who moved in next door to one of the countries foremost and most famous jazz venues and then was surprised to find that they played jazz there, or Richmond upon Thames Council, who gave planning permission for building the flats in the first place.
Well, a total inability to find their arse with both hands is only to be expected from a local council.
A few tips for house hunters: If you don't like aircraft noise, don't buy a house near an airport. If you object to traffic noise, don't live on a high street. If you want silence in the evening, don't move next to a music club. And if you fuck up and do move somewhere you don't like, either sell up and piss off or just learn to live with it. Don't be utterly selfish and try to close down a club that's been running since before you were born and gives pleasure to thousands.
To express your support, you can email jazz@thebullshead.com. Anyone got an email address for Stephanie Fallows?
Strange; my arse seems to have been very popular:
(Thanks to SiteMeter.)
Finally I find out what people actually want to see.
It was Freja's makeover party on Saturday.
If we can go around banning an activity on the basis that lots of people find it offensive, surely Karaoke should be next. I'd be all for that one. If you'd been forced to listen to eight eight-year-olds singing along to Beautiful, you'd be all for a ban too.
Anyway, the girls all loved it. Not my cup of tea, but then, I was hardly the target audience, was I?
Photos for the family: before the party, all the girls, Freja, Ella, the girls and I, Cath and the kids.
And I'm invited.
Unfortunately, it's in Sydney. :-(
Ah well, never mind. Have fun, guys, and have a pint for me. Or a schooner, or whatever it is that you antipodean chaps drink.
I wouldn't have been able to go even if I were in Sydney - I'm never drinking again.
Sigh. It could have gone either way, but it turns out that the Earthsea adaptation sucks. :-(
Speaking of dancing, I seem to have made a drunken promise to Michael to go Salsa dancing. He's on the pull, you see, and he reckons that a salsa class would be a target rich environment. He might even be right, though one look at my dancing would put off even the most desperate of single women.
I'll try and weasel out of it, naturally, but a promise is a promise, and if he holds me to it, I'll have to go. Perhaps I'll get an amusing story out of it. I'm always happy to give everyone a good laugh at my expense.
I'm alive. Just. But I wish I wasn't.
Uncounted glasses of red wine in Thai Square, followed by several ill advised slippery nipples. I managed to avoid making a spectacle of myself, or running afoul of any dodgy new laws by interfering with the Buddhist paraphernalia. (I must say, though, that if you put a large bell into a room full of drunken office workers, you are asking for trouble. I mean, somebody is going to ring it eventually, aren't they?)
Then lager in the pub. I don't remember much about the pub, but I believe I danced. I don't dance.
I look like something washed from a flooded graveyard. Hopefully I don't smell that way too.
I will never enter licensed premises again.
My arse as a PDF. Enjoy.
Sorry, but the office is still full of people, and I'm not quite drunk enough to take my strides down. Nearly. But not quite. Perhaps next year, eh?
Nose piercing-mounted eyeglasses. Yuck.
Tulna said that this makes her want to punch him and break his glasses. Which makes her a pretty bad Jain, I'd say.
Update: When she noticed that I posted this, she threatened to punch me, too. Ahimsa, Tulna, Ahimsa.
It's interesting that the world of software delelopment tools might be a little different. There are almost no good software delelopment tools in the $100 to $1000 bracket. The good tools are either free or really expensive. (The various 'developer' editions are not really counter examples. These are usually just 'taster' versions - you always need the expensive 'enterprise' editions to do real work.)
Python encourages readable code, but clearly it can't mandate it. First we had WyPy, now down to 11 lines, and now (via Slashdot) we have TinyP2P. Don't try this at home, kids.
It's my office party today. We're all off to Thai Square for lunch and booze. Lots of booze. If previous experience is to be any guide, lunch will finish at around five.
I'll try not to embarrass myself this year. Last year I rang the big upside down bell thingie. (What's that called, mum? Why was it such a bad thing to do?) I'm lucky Buddhists are into non-violence, I must say.
The good news is that we don't have a photocopier as such, so nobody will be fulfilling that stereotype. Errr, but we do have a scanner. So if I post a PDF of my arse this afternoon, you can tell I've had a really good time.
I have to say, I'm sorry that Blunkett has been forced to resign over such trivial matters. His relationship with that vindictive witch Quinn was a purely personal mistake. (I must say, she sounds like a particularly evil psycho bitch from hell - and trust me, I know what I'm talking about here.)
The accelerated visa? Naughty, naughty. But not really that serious in the greater scheme of things. I mean, who doesn't make use of the people and facilities at work from time to time? Only this week, for instance, I used my company's bandwidth to download a ridiculously large device driver from HP, and used an office CD burner to burn it onto (my own) CD. Should I resign?
After all, it's not like he started a war on false pretences or anything, is it?
No, I wanted to see Blunkett resign over the introduction of imprisonment without trial, the end of the right to trial by jury, the introduction of ID cards, and generally being a fascist the most authoritarian home secretary we've seen in half a century.
It was the girls' carol concert last night. What can I say? Well, if cultural sensitivity means putting an end to having to stand through an hour of kids singing about Jesus, off key, then I'm all for it.
The 'modern' carols were the worst. The traditional carols are at least, well, traditional, but the 'modern' ones were just plain embarrassing.
Still, I wasn't there for me, I was there for the girls.
Now I've just got to get through Freja's 'makeover' party on Saturday...
I got a call from my mum yesterday. She was worried about me on the basis that I wasn't blogging enough. So if there's a whole lot of rubbish here over the next few days, you know who to blame.
Of course, she can't be held responsible for the rubbish that you find here the rest of the time...
Ian Bicking: Because Unanswered Problems Are Always Hard. This really is the single best article pointing out the advantages of dynamic typing that I've ever seen. Quotations:
"Back to reliability: one way to decrease bugs is testing, but another way is to decrease the amount of code. Code deleted is code debugged. Static typing can decrease the number of bugs, but decreasing the amount of code is a much, much more effective way to decrease bugs. If you can have both -- short code and static typing -- then more power to you. I just haven't seen it myself."
"Now forgotten, at one time there were languages that were both weakly typed and dynamically typed; things like assembly and Forth. Ouch. There were two paths from there: one to make runtime values intrinsically typed (Lisp), and one to make the source code intrinsically typed (C). But just because assembly sucked a lot doesn't mean all languages afterward must approach the problem in terms of its suckage. And just because there was that split, doesn't mean joining both worlds (a language with both intrinsically typed values and source, i.e. Java) is better."
"Static type defenders complain about the combinatorial type interactions in dynamically typed languages -- how can you test all the code paths, given all the possible types? But their languages lead to combinatorial code, which is far worse: for many classes of hard problems, they can't solve them once, they have to solve them everytime they are encountered. Ouch."
This has gone around the Python blogsphere like wildfire, naturally. I'm posting here for the Java types who visit from time to time.
Of course, words are cheap, even words as eloquent as Ian's. I know that dynamic languages are just as reliable and much more productive that statically typed languages are through real experience. If you've only tried one approach, give the other a go. You'll learn.
If you don't know what Ian's banging on about, read How Python's Datatypes Compare to Other Programming Languages. If that doesn't make sense, you're either not a programmer, or shouldn't be. ;-)
That's it, I've had enough. The bloody thing is going back to HP.
I tried email support and got nowhere. I tried downloading the latest drivers (373 MD, for bloody pribter drivers) and having another go, and got the same issue as with the shipped drivers. I would have tried phone support, but in addition to being expensive, it's only available during office hours when I'm at work.
So, it's either take a day off on the off chance that HP's support line can fix the problem, or just send it back. What would you do?
By the way, I blame Microsoft more than I do HP. HP's support may be crap, but I'm sure that it's Microsoft's nasty USB support that's the root of the problem.
The Hidden Costs of Help Desk Avoidance, via Smalltalk Tidbits, Industry Rants.
As James points out, "Standardise PC hardware and software" might sound like a good idea to the pointy-haireds, but it can't apply to everyone. I can't go a week without needing to install something or other. The PC guys here take a "you break it, you fix it" attitude with PC developers, which is fair enough. If you take the back off the radio, the warranty is void.
Google Suggest, via Ned. Just start typing a search term - slowly...
How do they work out the ranking? Mind reading, that's my theory. They just know what you want. They are that good.
A client sent me a request to build him a new report. (Using SQL Server. Don't ask.) Most of the request was specific enough, except for where he told me that he wanted me to include "the relevant financial values".
My level of domain knowledge isn't sufficient to know which financial values might or might not be relevant. (That's IT consultant speak for "I don't have the faintest idea how his business works, and I haven't got a scooby which columns to show him".) So I emailed him for clarification.
He came back to me, explaining that he wants to see the "appropriate financial values".
Ah, OK, thanks. I think a phone call is in order.
My new iPod is here. Now, four hours to charge it, and around about five to download all my music to it.
Sigh. No music 'till tomorrow. :-(
There will be 60 police in Colliers Wood over the Christmas period, all on the lookout for pissed people the extremely well refreshed. I'll be careful in Venus for the next few weeks...
Dynamic Languages Summit at Sun, involving Guido, Samuele Pedroni, Larry Wall and James Strachan, to name but a few. Cool!
Jez was telling me about this at last night's Java Meet, but he asked me to keep it under my hat. But I suppose that if Tim Bray is blogging it, it's pretty squarely in the public domain!
Update: Ted Leung - Dynamic language support on the JVM - cross your fingers!
Royal aide is shot at Balmoral.
Don't forget The London Java Xmas Party this evening. Nerds of any stripe welcome.
According to Apple support, I'll be getting a replacement iPod soon. Obviously they couldn't fix the old one. How soon, I'll just have to wait and see...
I didn't have a case for the old one. I quite like the idea of a slightly beaten up look. A slightly beaten up look, that is - my iPod was looking a bit too lived in after just a couple of months. So, I might take a trip down to the Apple Store, Regent Street, and see what they have.
Update: It's been dispatched!
1. Open up the music player on your computer.
2. Set it to play your entire music collection.
3. Hit the "shuffle" command.
4. Tell us the title of the next ten songs that show up (with their musicians), no matter how embarrassing. That's right, no skipping that Carpenters tune that will totally destroy your hip credibility. It's time for total musical honesty. Write it up in your blog or journal and link back to at least a couple of the other sites where you saw this.
5. If you get the same artist twice, you may skip the second (or third, or etc.) occurances. You don't have to, but since randomness could mean you end up with a list of ten song with five artists, you can if you'd like.
Here's my list:
Song | Artist | Album |
---|---|---|
African Dance | Soul II Soul | Club Classics Vol. One |
When The Angels Fall | Sting | The Soul Cages |
Bliss | Muse | Origin Of Symmetry |
Moments Of Pleasure | Kate Bush | The Red Shoes |
Love Of My Life | Santana | Supernatural |
'Jig' Fugue In G | Peter Hurford | Bach: Toccata and Fugue in D minor |
No Good | B.B. King | Completely Well |
I Knew You | Tanita Tikaram | Cappuccino Songs |
Get Up (Sex Machine) | James Brown | 20 All-Time Greatest Hits |
Not My Idea | Garbage | Garbage |
Via Erik.
On the plus side, I'm no longer on the front page for this. I do appear, however, to be a sad lonely geek. :-(
I should sue Google for libel.
Anyway, in order to prove that I'm not a sad lonely geek, I'd better go out on the lash this evening with some mates. Anyone else who's not a sad lonely geek would be more than welcome to join Steve, Swiss Toni and I at The Horse Bar, Waterloo after work.
Jordan will be in Clinton Cards in Fenchurch Street signing copies of her calendar on 16 December. I might just give that one a miss.
Jordan has managed the impossible - she's managed to make Kelly Brook look classy. (For my international readership - how can I explain Jorden? She makes Pamela Anderson look like Cate Blanchett.)
"I'm innocent", says Blunkett. Hmm, well, yes, that may be, but I think we'd better throw you in prison unless and until you can prove it, to be safe.
A couple of unmissable events coming up in January at The Royal Society - Collapse: how societies choose to fail or succeed and Einstein’s legacy as a scientist and icon.
Collapse: how societies choose to fail or succeed is to be delivered by Jared Diamond. His Guns, Germs, and Steel is a wonderful book, a true history of mankind.
I must have read dozens of books by Sir Martin Rees, who is delivering Einstein’s legacy as a scientist and icon. His most recent, Our Final Hour is rather a scary read. It's a rational, well informed book about the end of the world.
I'll be at both sessions. If the world hasn't ended by then, of course.
How to use a hand puppet to meet, attract, and date tons of single women, via greenfairydotcom.