Happenings

Code Annoyance

To children and novice programmers:

When writing various kinds of applications or APIs, it is often the case that you will have functions of the form is<em>Object</em>Valid() (or a similar kind of check that begins with “is”), where Object is some variable or object. This is fine: checking data and providing methods to do so is a Good Thing, in that it is considerate and generally fulfills a use case.

Something you should never do is write a function like isObject<em>In</em>valid(). Putting negation into this kind of check is a lot like a double-negative in English, it makes life more difficult for everyone else because they have to spend more time straightening out the negations. This mistake is compounded by the fact it is almost always used in conjunction with the language negation to give: !isObjectInvalid(). Argh!

Next person to do this gets hurt.

Film Fight: November 2005

We are sequel-rife this month, with three of the four films having a predecessor. More pertinently, it’s a good month for cinema.

Ghost In The Shell 2 is the sequel to the excellent look at the nature of human existence and consciousness, viewed from a future where the human body is no longer a necessary part of our lives. This time around Batou has become the main character, picking up an investigation into why a new line of cyborgs are murdering people and then trying to kill themselves. While this film is still quite insightful and asks a lot of questions of the viewer, it does it a lot more overtly than its predecessor, going directly to the issues rather than presenting scenarios in which they are explored. The reappearance of several old characters (one in particular) also just seems like pandering to the fans, and detracts from what is, on balance, a reasonable film.

Let me say now that I hated Saw. I wanted to like it, but the woeful acting (Cary Elwes, what happened?), blip cuts to ruin tension, and unshocking finale (I had seen Audition not long before-hand) were too much. It was with some surprise that I found Saw 2 to be quite enjoyable. Sure, it’s a cheesey horror film, with some annoying looks at the Jigsaw killer’s motivations, but I found it unpleasant to watch in all the right places, squirming at some of the more fiendish plans that had been dreamt up. The ending was unexpectedly clever (well, part of it was, the other part was a non-event). Shame the tension was let out again by those bloody blipcuts.

I’m not the biggest fan of the Rolling Stones so I didn’t know anything about the back story of Stoned; a film about the downfall of Brian Jones, a founding member of the band. It’s quite an interesting tale (which I won’t ruin for you, if you are in the same position as I was), but quite depressing, seeming like rock star cliche all over the place. There are no shocks in this film, no great stand-out moments, but nothing particularly bad either. Fairly average.

If you’ve seen the first Transporter, you’ll be wondering why I went to see the sequel, Transporter 2. I was thinking the same. I have to say that, like Saw 2, it’s a sequel that in some ways overcame a poor predecessor. The choreography is outstanding, outlandish and over the top, just as all good fight scenes should be. Sure, Jason Statham is an atrocious actor, the plot is paper-thin and some of the lines are hilariously bad, but I enjoyed it as a light-hearted action film.

This month is very hard to pick a winner, but I’m going to go with Saw 2, largely because it beat expectations by a long way.

On New Phones

I’ve had a new phone for a month or so now (if you had my number, it hasn’t changed since my first mobile) and think I know it well enough to discuss it a little bit here. I’m only going to a touch on a couple of little things I like about the Nokia 6680 compared to my previous mobiles, as Russell Beattie has comprehensively covered the best of the software which ranges from instant messaging tools, to various emulators, to… well, pretty much anything.

First off, the UI is nice. This is the first phone I’ve had where it’s clear that at some point a designer has been asked to intervene in the software development. That’s certainly an improvement over my first phone, a Trium monstrosity, and even the Motorola phones I’ve had which, while reasonably intelligent, are a bit ugly. For extra prettiness, I have also installed the Mac OS X theme which has better chrome and icons for all the basic features (and many of the esoteric ones).

Secondly, the screen is quite impressive. My last phone (excluding the cheap temporary Siemens effort I had after destroying said phone) had a good colour screen for when I got it. It was bright and warm, and was very functional. This screen puts it to shame, with great colour depth and a much higher number of pixels. It makes everything (games, videos etc) more enjoyable because of the sheer improvement in clarity.

Talking of games, it’s bizarre to be able to play real games on a mobile, rather than the cheap games I’ve had bundled with previous phones (Snake, box pushing etc). It has a Doom port, SNES emulators, Game Boy Colour emulators and more. Also, because it’s a Nokia phone (my first), I can play all those nasty ports that I’ve looked down on because my Motorola wasn’t supported.

Although this is probably true of all new phones, the ability to connect to other things is impressive in its simplicity; no messing around with settings, no slow net connections, everything just works. The accompanying software (Nokia PC Suite) is excellent, making synching via bluetooth painless. So long as I sit within 20 metres of my computer at some point during the day, everything gets backed up. It’s also an eye opener to see a phone that can do so much (again, compared to my previous phones). We’re at a stage where even if the mobile devices can’t do something (generally pretty rare for what I want done), they can easily connect to another device that can do it. A brave new world.

I’m sure I’m missing out more, but I think a lot of the other software points are covered in the article I linked to at the start. There’s also some relatively decent freeware for the 6680, which covers pretty much everything you’ll need.

Food, part 2: Sugah

It occurred to me while I was trying to think of something to post that I never actually finished the Food series. Oops. To cause the title of the series to become more of a misnomer (let’s be honest, most of the stuff so far has been barely edible), I’m going to teach you all how to make a drink.

  1. First get a bottle of Oasis (or similar) and drink it.
  2. Get a mug and a funnel.
  3. Scoop 3-4 spoonfuls of cofee into the mug, followed by the same amount of hot chocolate powder.
  4. Add 2 spoonfuls of sugar.
  5. Add 2 spoonfuls of black sugar.
  6. Add 2 spoonfuls of icing sugar.
  7. Got any more sugar? Add 2 spoonfuls.
  8. Half fill the mug with milk and half with water.
  9. Microwave for 70 seconds (microwave cuisine – king among cooking methods).
  10. Pour into Oasis bottle via funnel.
  11. Refrigerate.

Once cold, you’ll have a drink that not only tastes great but works as a great counter agent to sleep deprivation, elephant-grade sedatives and day long meetings. The last time I had this stuff I, literally, could not sit still.

P.S. Not recommended for diabetics or people who don’t want to develop diabetes.

Design: Lotus Notes Part 3

After the two previous posts about Notes, I was going to leave it alone. It’s an old version (R5) I’m using and it’s probably had enough. I even binned the list I had of 14-15 other things wrong with it. Today, though, I saw something that made me laugh.

Traditional web browsers can only download a regular percentage of a web page, generally with a maximum of 100% of a page being brought down; not so with Notes. Today it set a new record for downloading a percentage of a web page.

It got to 200% and I was impressed.

It jumped to 500% and I was astounded.

When it got to 11892% (that’s nearly twelve thousand percent) complete, I knew I had seen something truly amazing. Congrats, Notes, you did it!