Thursday, June 26, 2008

Baum Plan and Stranger Things Happen

Small Beer Press, awesome publishers of much goodness, have been giving away some of their books as Creative Commons downloads. I 've reviewed Maureen McHugh's Mothers and Other Monsters before and now it's time for John Kessel's "Baum Plan For Financial Independence" and Kelly Link's "Stranger Things Happen".

Both are short story collections at the literary end of the fantasy/magical-realism/man-that's-some-weird-shit genre. Both are well written, evocative and interesting. Kelly Link's stories are usually fairy tale ish weird shit kind of; Kessel's are more mashups of other tales weird shit with a dollop of allusion. Both collections will repay careful reading and rereading with new interpretations of what the fudge is going on. Aw hell, go and read a couple of stories, see if they are your cup of tea. They're free.

Tuesday, June 17, 2008

If you liked school...

I tried to read Irvine Welsh's "If You Liked School, You'll Love Work". I picked it up almost entirely because of the title. I've read a couple of his other books, and they'd put me off reading any more, but I thought I should give him another go. His writing is good, and he always manages to capture the voice of his characters. So why was I cautious?

Welsh seems to revel in creating thoroughly unlikeable characters, people you would cross the street to avoid, perhaps even move house, assume a false name and grow a beard. They do horrible things to their friends, their pets, random strangers, and themselves.

Now, I've never assumed that you need to like a protagonist in order to enjoy a book, but this book got me thinking. I was trying to come up with a story I've read where the main character is an arse, but I got nowhere. Characters are usually at least sympathetic or their motives understandable. You have to want to spend at least a few hours in their company.

Anyway, I slogged my way through the first of the six stories in the book. This is the tale of three unlikeable Americans whose car breaks down in the desert. They do horrible things to each other with the help of an unlikeable Mexican. A nasty little story from the depths of Mr Welsh's wank-bank.

I managed the first chapter of the next story, before giving up. This one is about the thoroughly unlikeable owner of an English pub in Spain. He takes advantage of his family, his staff and his patrons. I stopped before people started doing horrible things to each other, but I have to assume that they did.

Monday, June 16, 2008

Omelette

(Buckle up, Spanky. This is a long one.)

-hey, tell him about the guy who was in here the other day.
-what guy? There's lotsa guys, it's a bar.
-ha, bloody ha. The end of the world guy, you know.
-oh, him. Yeah, so on Thursday-
-Wednesday
-whatever. He comes in, sits at the end of the bar and orders-
-you're gonna love this part
-will ya let me tell the fucking story?
-sorry
-anyway, he asks for a bottle of whisky. Straight away I figure he's from the council or the cops or something, so I give him the line.
-"local licensing laws prohibit the sale of alcohol in such volumes at this establishment, patrons are encouraged to drink responsibly"
-you've memorised it?
-I hear it often enough.
-anyway, then he says "ok, give me a pint of whisky"
-that's not even the funny bit
-will you shut up and let me tell it? I say, sorry sir,-
-"local licensing"-
-yeah, he heard you the first time. Ok, says the guy, how about fifteen double whiskies. I'm expecting some friends.
-I love that line, "I'm expecting some friends", I'm going to have to try that one.
-you ain't got the charisma to carry it off.
-that hurts. I've got charisma, I just don't bother using any on ugly bastards like you.
-so the guy starts drinking. He's all tweed suit and leather elbow patches, makes a face every time he drinks a shot like he's not used to it.
-nah, it's the cheap paint thinners you mix into the booze.
-you're barred.
-again?
-so I do the bartenderly thing, like you see in the movies, ask him what's up.
-this is the scary part.
-he just looks up, like he hasn't slept in a week, and says "they won't believe me". Not "you", "they". Like it doesn't matter if we believe him.
-yeah, most drunks start their stories with "ah, you wouldn't believe me if I told ya" and then tell you about how they was abducted and anal probed.
-he doesn't want to hear about your fantasies right now. Anyway, he starts babbling about conferences and government committees and the establishment, how he told them all and now it's too late. Says the Egg is going to Hatch.
-just like that, audible capital letters and all.
-takes a while, but I eventually get the story out of him. Hey, he's paid for fifteen double whiskies, I figure I owe him a few minutes of my time.
-you're a fair man.
-thank you. You're still barred.
-bastard.
-so he's got this theory that that Earth is a giant egg, laid by some space turtle, and now it's ready to hatch. Yeah, like I said, he didn't care if we believed him or not. Kinda scary. I know what you're thinking - if it takes four billion years to hatch, how did these turtles ever evolve?
-I don't believe in evolution. It goes against God.
-hey, ain't you supposed to be in church?
-you know they won't let me back in there.
-anyway, he had a theory to support that too. You know how the universe is expanding-
-doesn't say that in the bible.
-doesn't say a man should spend his whole day sitting at a bar drinking his body weight in beer every day either.
-we each interpret the scriptures in our own way.
-so it's not just space that's expanding. It's time as well. So what we would measure as four billion years now, four billion years ago would have seemed like a lot shorter time. And the further back you go, the quicker time went. So you could get billions and billions of years of time in the space of a few hours back at the start of it all.
-still makes no sense to me. More beer might help.
-if more beer helped you understand stuff, why ain't you a genius? So, the punchline is that he's calculated from all our recent earthquakes and stuff, that the Earth is done and it's going to hatch, eat the sun and then swim off to find the other space turtles.
-this is the scary part. The other scary part.
-he reckons the Earth will hatch soon. Real soon. Tuesday.
-nutjob.
-absolutely. He was convinced though, figured there was nothing left, he'd tried telling everyone.

(inspired by Tessa's clairvoyant ipod)

Wednesday, June 11, 2008

Disunited States

I'm not entirely sure that "disunited" is a word. Still, Harry Turtledove is a professional author who probably owns a dictionary or two so I shall bow to his expertise. "The Disunited States Of America" is another in the seemingly unending stream of freebooks from Tor. I thought they were only doing about 10 of them as a teaser for their SF social network before they rolled it out. They must have hit a snag; never mind, more books for me to read on my phone.

Disunited is a lot shorter than the last couple of fantasy (virtual) doorstops from Tor, and that is commendable. The plot is straightforward: alternative timeline travellers get stuck in an America that never stuck together, lots of little states bickering over borders. If you know your US history this might be a lot more intriguing than it was for me. It would make a great alternative textbook for kids at school.

It is set in 2092 or thereabouts, but I can't quite work out why. There are no great leaps in technology, apart from the mcguffin for travelling to alternative timelines. People still use cellphones, PowerBooks (obsolete already), and drive cars that run on petrol. It could easily have been set now.

Less annoying than a lot of books, not as interesting as some books. A middle-of-the-road, ho-hum, nothing else is on so I'll watch this, kind of a book. The literary equivalent of watching "The Wedding Planner" on TV. Again.

Monday, June 09, 2008

Google AppEngine code completion for Komodo Mac OS X

Komodo Edit is a nice, free, IDE for Python (as well as a lot of other languages). It does syntax highlighting and code completion. To get code completion to work in Mac OS X for the Google App Engine SDK, you have to know where the appengine python libs are. They are hidden away inside /Applications/GoogleAppEngineLauncher.app, so not normally accessible via the Finder's browse boxes. What I did was to symlink to the libraries inside my user directory and point Komodo there. Like this (in Terminal):

cd <your user home directory>
ln -s /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine google_appengine


Now you should be able to go to Komodo's preferences, select Languages, then Python, then Additional Python Import Directories and add your symlinked google_appengine directory. Hey presto - code completion.

UPDATE: Newer versions of the app engine launcher create a symlink to the SDK in /usr/local/google_appengine, so you can point Komodo there instead.

Friday, June 06, 2008

Thursday, June 05, 2008

JAOO - day 2

Yes, my notes for day 2 are two days late. Blame James Squire and his damnably tasty range of ales.

Day 2 started with a nice, greasy hotel fry-up, setting me up nicely for the day. First up was the keynote from Robert Martin, talking about clean code. See the slides: a very interesting and, most important for me, useful talk. A brief digest: you don't need comments, don't comment out code, and don't write code you're not proud of - do it the right way the first time. Otherwise the code just rots.

Jim Webber gave a great presentation about how essentially cool the http protocol is, how bad soap is and how rpc sucks balls as a model for web services. Again, a useful and practical talk.

Next up was Gregor Hohpe from Google, this time showing off a couple of Google projects: the mashup editor, which looked awesome; the gdata apis; and the app engine.

Lunch (butter chicken and rice, yum).

Robert Martin popped up again, this time talking about functions and how to make them easier to read and maintain. Again, a practical talk, although maybe not as widely applicable as his earlier one.

"Working with legacy code", wasn't what I was expecting (see the slides). Legacy code, for Michael Feathers' talk, was just old code you wrote before you started writing testable code. You still have the source and you're free to start modifying that code. I didn't like the way he was adding new paths throuugh the code just for testing. His presentation skills also sucked. I had been hoping that it would be about insulating your code from the problems that come up from old code that you have no control over.

Finally, Erik Doernenburg showed us ways to visualise code quality. Executive summary: plot your checkstyle numbers on graphs to make it easier to see dodgy areas, because your brain is better with pictures and patterns than numbers.

After that there was supposed to be developer networking and a chance to meet the speakers. Fuck that, who wants to spend all that time talking to geeks about optimistic locking and functional programming, even if there is free beer? I'm a very anti-social person. So I ran away to the pub on my own (see "beer" post below). Awesome.

Wednesday, June 04, 2008

My minions made this



There's a search widget as well, but I can't remember the url for that right now.

Tuesday, June 03, 2008

beer


beer
Originally uploaded by No Middle Name

I have found the James Squires Brewhouse in Sydney. Life is good. Forward my post, I'm not leaving.

Monday, June 02, 2008

JAOO

I'm in Sydney for JAOO 2008, gettin' my geek on. Work booked and paid for it all, with the only drawback being having to get up at 3:30am to get in a taxi to the airport for a 6:15 flight. Yes, we live on the other side of Melbourne to the airport. Conesquently, I'm in my hotel room getting ready for bed when the rest of the geeks are at the social do at a nearby bar. I'm trying to stay awake long enough to phone home and say goodnight to the kids.


I attended five talks today.

The first was the keynote by Erik Meijer, about Functional Programming (slides here). At least, I think that was what he was on about. He meandered a lot, and said some strange stuff, very little of which made sense. Some of it was about Haskell though. Which he thinks is good or something.

I then skipped the next slot, there was nothing much that interested me so I went shopping for presents for the kids and my wife, so that I may be allowed back in when I get home.

I popped back for Rod Smith's presentation on OpenAjax (slides here). This looks to be a mildly interesting way of letting widgets communicate with each other on a page.

A quick buffet lunch of quiche, salad and a beef roll and I skipped off in search of our hotel, found it, couldn't check in, so went to the comics shop across the road. Odd place, no wonder comics have a nerdish reputation when shops like this exist. No rhyme or reason to their shelves, single issues of one comic sitting next to back issues of some other unrelated comic, next to trade paperbacks of some obscure seventies superhero. The upstairs section was almost entirely dc/marvel superheroes. Very offputting atmosphere too, I felt a bit uncomfortable.


Back to the convention centre, after getting a bit soggy. Time for Martin Fowler (the David Bellamy of software) to tell us about the work he did several years ago on Enterprise Patterns (slides here). Nothing new, or particularly interesting, from someone with a reputation for engaging presentations. Strained my keeping-awake abilities to the limit.

Topped up with coffee in time for "Are your services loosely coupled?" by Thilo Frotscher (slides here). I wasn't expecting much from this, but it turned out to be quite good. Thilo discussed what coupling meant for web services, and how to use messaging to avoid this problem.

More coffee and then Google's Gregor Hohpe gave a talk about the realities of computing over the internet (slides here), covering the problems (mainly reliability, no transactions) and possible solutions or rather ways of working around and avoiding the problems. Very interesting, but I was fading fast and ran away to the hotel instead of staying around for the discussion panel and the following keynote.

Now I'm going to phone my kids and say g'night and then I'm going to slip into a coma for several hours.