I just found out that the club I used to play for, Northstar, has merged with the Brisbane Strikers. It just goes to show how out of touch I’ve become with the local football scene.
Category: Random observations
If it doesn’t fit elsewhere, it goes here.
Thesis returned
My thesis has come back to the thesis office. Jaga tells me the review was good and that there are only minor corrections to make.
Roar off to good start
The Roar got their season off to a good start with a 2-0 victory over the New Zealand Knights. The match was played in front of 20,725 spectators, which was a record for a normal league match in Australian soccer. However, this record was broken soon afterwards with a crowd of 25,208 turning up to watch Sydney FC versus Melbourne Victory. That match ended 1-1 with goals from Dwight Yorke and Archie Thompson. So the new league is off to a great start, then.
Unfortunately, Karen didn’t get her hotdog (we had chips instead), but she did get some beer. Apparently it wasn’t enough beer to make the game exciting, though. :-) I’m not sure what’s wrong with her; how could it have not been exciting? ;-)
Our Wedding
Karen and I have organised the most pressing parts of our wedding. We’ve booked locations for our civil ceremony and high-tea reception (something a little bit different from the traditional sit-down meal or cocktail reception), and we’ve booked a photographer. Karen’s also ordered her dress. Our wedding will be held at Mount Tamborine in mid-April next year. I won’t post any more details here just yet.
The process was a bit frustrating at times, mainly to do with synchronizing the different bits, but it wasn’t as difficult as I’d been led to believe. My wife-to-be has been amazing at getting things organised.
A-League kicks off
The A-League kicked off last night with Newcastle going down to Adelaide at home, and Perth losing to Central Coast at home. Those matches attracted crowds of 13000 and 11000 respectively. The Queensland Roar has their first match tomorrow afternoon when they take on the New Zealand Knights at Suncorp Stadium, and there will be a large crowd to see that game, with already over 14000 tickets sold and a large walk-up contingent expected. There’s a very good chance that there will be a larger crowd watching the Roar’s first match than there was watching the Broncos first ever match. I’ve bought tickets already and will be going to watch with my brother and Karen. (Yes, I talked her into it, and she says she’s looking forward to sampling the hotdogs and beer while explaining the off-side rule to the poor soul is who sits next to her. That’s my Karen!) On form so far, the Roar should easily dispose of the Knights. Hopefully an old teammate teammate of mine will shine tomorrow. Score a few Jonti!
NUMB3RS
There’s very little that I watch on TV these days, especially now that Desperate Housewives is in remission. I’ve been told that House is pretty good, but I haven’t watched any episodes of that yet. However, I’ve watched the first two episodes of NUMB3RS (Mondays at 8:30pm, Channel 10), and I might continue to watch it. If you haven’t seen it, the story follows two brothers. One is an FBI agent, and the other is a maths genius. The maths genius helps his brother to solve crimes by drawing upon all sorts of mathematics. Sound a bit far-fetched? It is rather. But you’ve got to give it points for attempting, and partially succeeding, to combine action drama with the P versus NP problem.
the feeling of not feeling
I finally got myself a flickr account. Just thought I’d test the “Blog this” feature on a nice photo that I found.
Technorati redux
It seems I’m not the only one who’s disconcerted with the moist steaming mass that Technorati has become (or always was?). Jason Kottke writes:
That’s it. I’ve had it. No more Technorati.
…
Pretty much everyone I talk to in the industry thinks the site sucks and we’ve just been waiting for it to get better because, well, it would have to at some point, wouldn’t it? Well, I’m tired of waiting. Goodbye, Technorati…your url will darken the door of my browser no longer.
Thanks to David for alerting me to Jason’s post.
For what it’s worth, at least the Technorati javascript snippet has been working as it’s supposed to for the last week or so.
Song Crossfire
I’m sitting at my desk today trying to rewrite a journal paper that was accepted pending major revisions in March of this year. As per usual, I’ve got XMMS fired up and playing a selection of songs as I work. Kiss From a Rose by Seal was playing, and I started wondering about some of the lyrics that I couldn’t quite work out. Anyway, I came across an analysis of the lyrics at Song Crossfire, a web site run by some guys called Darryl and Jerry. Anyway, they have tongue-in-cheek arguments about the meanings of song lyrics, and sometimes their analysis and banter is freaking hilarious. I don’t know, maybe I was just utterly bored and likely to laugh at just about anything, but their Kiss From a Rose analysis had me in stitches towards the end.
Joel on Software
Michael Lawley’s Miscellaneous-B weblog directed me to an interesting article written by Joel Spolsky about the history of Hungarian Notation – a variable/procedure naming convention invented by Charles Simonyi of Microsoft. I’ve never liked the Hungarian Notation, but after reading Joel’s article and Simonyi’s paper, I realised that what I thought was Hungarian Notation is actually just a poor imitation of the real thing. Original Hungarian uses a prefix tag on a variable to describe the variable’s domain type rather than its representation type (as Michael so eloquently puts it). The domain type has to do with the vocabulary of the Universe of Discourse (e.g. if you’re a programmer working for NASA or one of its contractors, then you might write programs that are supposed to guide satellites and robots and such like, so one of the quantities you’d be dealing with is distance which can be measured in metres or feet). The representation type is the programming language type in which specific values are stored (so, using the NASA example, you’d store both metres and feet as IEEE floating point values or something like that). However, it would be an error to assign the value of a variable whose domain type is feet to another variable whose domain type is metres. In fact, this could lead to catastrophe, as the software engineers who worked on the Mars Climate Orbiter would know. The commonplace Hungarian notation prefixes variable names with a mnemonic identifying the representation or storage type of the variable. Other than allowing a programmer to see the representation type of a variable immediately, this modern Hungarian notation has little point, since in strongly typed languages the compiler will detect incorrect variable assignments. However, the compiler cannot detect errors to do with the semantics of the Universe of Discourse, which is where Simonyi’s original Hungarian notation comes into play.
Original Hungarian notation, which was known within Microsoft as Apps Hungarian, makes it harder for these kinds of screw-ups to occur. For instance, you might have a variable (or function, but then the first letter of the identifier should be capitalised) ftPhase1Orbit
that maintains the distance to the first target orbit measured in feet relative to the satellite. Here, ft
is the tag and Phase1Orbit
is the qualifier. Other variable names may be prefixed with the tag m
or mt
to signify the variables store distance in metres. A variable prefaced with ft
will never appear in an expression whose result is assigned to a variable starting with mt
unless it is wrapped in a function called MtFromFt
(metres from feet). For example, if you see the statement dmtOrbits = ftPhase2Orbit - ftPhase1Orbit
(the distance in metres between the two orbits is the difference between the distances to the two orbits relative to the craft), you can see immediately that something is wrong because the domain type on the left (mt
) does not match the domain type on the right (ft
). If instead you wrote something like deltaOrbits = phase2Orbit - phase1Orbit
there’s no way to see that you’ve made a mistake. The compiler will give you no help for these kinds of errors. In Apps Hungarian, a function name starts with a tag signifying the domain type that it returns, which is why we have MtFromFt
rather than FtToMt
. Of course, in NASA’s case, they ought to have been dealing in metric quantities all through their code, so this example is purely for illustrative purposes. All tags must be clearly documented (in code comments or elsewhere) so that the entire development team (current and future) knows the meaning of each one. (See Anthony’s recent informative article on the various code commenting styles he’s tried over the years.)
I’m not sure if the article did quite enough to persuade me to use Apps Hungarian in my programming (I probably should begin to use it because my programming practices are a little sloppy, and anything that instills some sort of discipline in my coding habits can only be a good thing at this point), but nevertheless, I thought the article was really interesting, so thanks to Michael for blogging it. Anyway, I’ve put this article here so that if I do convert to Hungarian notation and I need to justify this to somebody in my own words, I’ll have had some practice already. :-)
After reading Joel’s post on Hungarian Notation, I did a bit more looking around his web site. I found his 12 Steps to better code, which is a list of 12 questions to which you can answer yes or no. The more yeses there are, the better your score. What I like about the test is its simplicity. It is easy for a team of developers to evaluate where they stand on each question. If the answer to any question is no, it is usually clear what the development team needs to do in order to improve. While the test is very simple, each criterion seems very important to me. Last week I pointed my boss to Joel’s 12 point list, and now he wants to use it as a rating system for our own software development processes. So far, we rate about three yeses and four half yeses. With minimum effort, those half yeses could be converted to definite yeses. For instance, we currently do partially automated weekly builds; but with a little extra work, we could do fully automated daily builds, and there are very good reasons for doing daily builds rather than waiting until the end of the week to build and test the current code snapshot. For one thing, bugs are found and resolved sooner than would otherwise be the case.
I think I’ll read Joel more often from now on.