Regular Expressions Cheat Sheet
This would have to be my favourite A4 page detailing Regular Expressions:
source: ilovejackdaniels.com/cheat-sheets/
No commentsIntroducing Gravatars…
Some of my readers might be aware of stackoverflow.com being created by Joel Spolsky and Jeff Atwood. I’m eagerly anticipating the release of the site as both a consumer and contributor; but their latest blog post certainly piqued my interest.
I’m certainly a fan of the single on-line identity concept - my contempt for the owner of the aNDo XBOX Live Gamertag has always been intense. As Jeff pointed out, the beauty of Gravatars is in their scope; it’s simply an image associated with your e-mail address; no social networking, no rss feed; just an image that follows your e-mail address around the web.
You can sign up for a Gravatar here. It is free, of course.
I’ve implemented them in my comments; it took me all of 30 seconds to implement and test. Join the bandwagon!
No commentsProgramming Principles: RAII
I can finally put a name to a concept I’ve been using for years: Resource Acquisition Is Initialisation.
The basic concept of RAII is to let scope handle initialisation and clean-up of a subsystem. This is achieved by creating an RAII object on the stack that performs the initialisation in the constructor and clean-up in the destructor. As with all good programming concepts; an example aids the explanation:
Retrieve Host Information via winsock:
// Initialise Winsock
WSAData wsaData;
WSAStartup(MAKEWORD(2,0), &wsaData);
// Get the Host Information
const struct hostent* pHostEnt = gethostbyname("");
// Do Stuff
// Cleanup Winsock
WSACleanup();
The problem here, of course, is that it’s quite easy to forget to perform WSACleanup(). There is an easy way to let scope handle this clean-up; RAII.
Same solution using RAII Object:
{
WSAConnection wsaConnection;
const struct hostent* pHostEnt = gethostbyname("");
// do stuff
}
There is no need to call WSACleanup() here as scope will cause the WSAConnection destructor to fire immediately. Clearly the scope brackets {} are not strictly necessary; they do help to illustrate the point though.
The RAII Object Implementation:
class WSAConnection {
public:
WSAConnection()
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2,0), &wsaData)
}
~WSAConnection()
{
WSACleanup();
}
private:
WSAConnection(const WSAConnection&);
WSAConnection& operator=(const WSAConnection&);
};
I’ve always felt that this is a neat little trick; but now that I have a name for it I’m certain to espouse it as the solution for any problem!
Maybe it should have been named “Java”. Zing?
5 commentsBionic Commando Remake
Bionic Commando was an old NES favourite. When Capcom announced a next-gen version, I wasn’t really impressed. But this remake of the classic looks fantastic!
No commentsCloverfield
Every now and then a film comes along that sets a new standard for what to expect at the cinema. Cloverfield is one of those movies.
Don’t worry, there are no spoilers here.

Shot entirely from a hand-held camera (ala The Blair Witch Project) Cloverfield delivers an intense, claustrophobic visual and aural experience that emphasises the events that occur in the move. Although at times the “poor” camera work can become tiresome, the delivery of each scene will leave you totally engrossed. The obligatory CGI in this movie is fantastic - probably owing to the fact that the grainy, amateurish camera-work never lets you see too much.
The acting in this movie is superb. The characters are well developed by the lengthy first act; their motivations are identifiable and their actions justifiable. Throughout Cloverfield you feel as though you’re right there, experiencing these events alongside the characters - in no small part due to the endearing, palpable performances of the actors.
Thankfully, writer Drew Goddard hasn’t forced any cheesy thematic elements or social commentary into the film. The undertones of friendship, adversity and futility are explored through the characters’ performances, but not explicitly by the plot itself. At every turn the audience is captivated by the situations the characters find themselves in, following the charismatic cast with awe and tenacity bred through the brilliantly architected storytelling devices.
Aside from the lengthy opening act, in which all of the characters are introduced thoroughly, the film is paced very well. It confirms strictly to the standard horror fare, offering viewers nothing revolutionary in plot or premise. However, Cloverfield ends up as more than the sum of it’s parts; it is a tour-de-force of intensity and realism that will leave you breathless when the credits roll.
Ten Thumbs up.
No comments
Important tip for Google users!
Hey guys, I just found this awesome tip! Some of google’s services (GMail, Google Reader, Google Notebook & Google Calendar are my favourites) support SSL! Update your bookmarks:
- Google Mail - https://mail.google.com/mail
- Google Reader - https://www.google.com/reader
- Google Calendar - https://www.google.com/calendar/
Now if only they’d SSL up Google Notebook…
No comments
Melbourne Victory 1-1 Wellington Phoenix
I’m a regular reader of the MVFC Blog. I really enjoy Peter & Eric’s (thanks for the clarification guys) perspective on things and suggest that you subscribe to his blog. It generally makes for a much nicer read that the scathing prose I’m about to feed you.

Saturday’s game was billed as a do or die match; Melbourne Victory needed the full three points against cellar-dwellers Wellington to kick-start their run to a top-4 spot by January. Melbourne Coach Ernie Merrick wrote before the game that he had “full confidence” in the team’s ability to reach a top-4 spot. Eric wrote that he expected a decent performance and a 3-1 score line to the Victory. Even I was convinced that we’d put away an under-performing Phoenix side in clinical fashion.
It seems that optimism breeds ignorance.
Instead of a thrilling, high-scoring win, Ernie, Peter and I were treated to a flat, uninspired performance in front of some 20,000 bored fans. Indulge me a moment to harp on that point - the crowd size for Saturday’s game was less than the membership base. I’m not going to discuss the first-half sending-off of Kevin Muscat either, since it has already had enough coverage. Melbourne played, once again, without a midfield, opting to spend 90 minutes kicking the ball at the Wellington defence. Observers of the game will notice that I am not joking.
Why does Ernie Merrick continue to employ these narrow, long-ball tactics that all seven opposition teams in the A-League have not only figured-out, but avoided completely. Even the Wellington Phoenix defenders built the play through their midfielders, who ran forward with their strikers to set up attacking opportunities. Heck, they even took the ball close to our corner flag a couple of times, hoping to whip a cross or two in! Amazingly, these high-school grade tactics created multiple chances.
At one point in the first half, Melbourne had out-shot Wellington 14-1. At the 72nd minute-mark, the shot count was 15-15. How did we let this side back into the game? Our defenders would break down an attack; kick it around our back-line once or twice, then thump the ball long and high to a Wellington defender. That’s it. The creative capacity for the current Melbourne Victory team is whether to thump the ball to the opposing goalkeeper, or one of the back-line.

Ernie Merrick has to go. I actually like the guy, but he has no creativity - and now, no credibility. Merrick’s refusal to bench Allsopp, Brebner, Kemp and Broxham is a travesty. Merrick’s refusal to play Kaz Patafta is an affront to Australian Football. Merrick’s handling of Fred, Millicevic, Claudinho, Allessandro and especially Kevin Muscat is a joke. We need a smart, creative coach and manager who is willing to take defensive risks to open the game up. Melbourne Victory has the best fan-base in the land and we deserve a change of coach and personnel when things aren’t going right.
In fact, we have two players on long-term injury (Piorkowski and Millicevic). Under FFA rules, we can sign players outside of the salary cap to replace them. This is how Central Coast and Sydney FC have managed to acquire two “marquee” players. What have Victory done with this breathing room? We signed Steven Pace, a VPL player. With the November transfer window almost closed, Merrick has done nothing to acquire a classy player that will give us a chance at the finals.
I have this pipe dream that tomorrow Merrick will announce that Grant Brebner (or Leandro Love) have been released and that we have a young Dutch midfielder coming to take us to Champion’s League Glory.
Unfortunately, we know that Geoff Lord will not spend big money to improve our team. Merrick’s contract will not be bought-out. We’ll not release one of our international players.
We’ll not make the top four.
5 comments
Mass Effect
Bioware’s Mass Effect represents more than a decade of dedicated, passionate work from the best developer in the world. Simultaneously, it reinvigorates gaming as a hobby - injecting character, style, grace and humility into an industry that has grown increasingly stale.
Let’s get the bad out of the way then, shall we?
- There is a steep learning curve that evens-out after the opening act
- Managing your inventory is a chore
- The game’s economy is fallacious
- One cannot experience all that is on offer on a single play-through
From the opening act, Commander Sheppard is entangled in a brutal, personalised series of events that thrust the player head-first into a sprawling galactic struggle for survival. The opening act serves up a healthy mix of investigation and combat, belying the scope and impact this prologue has on the galactic community. In a gradual, believable arc, you’re introduced to your status and role in the community. Your choices, your reactions and your methods will unfold the story; no two players will ever play the same game.
Ashleigh. Kaidan. Garrus. Wrex. These are not merely names, but deep, intriguing personalities that become a part of you. Whether you’re helping Ash come to turns with the mistakes of her fathers or amusing yourself with Liara’s lack of social graces, these crew members become companions and confidants. You need only study their faces to remind you of why your mission must succeed.
Empathy, remorse & love. You’ll feel them in abundance alongside Commander Sheppard as you reach the climax of your adventure.
Mass Effect is simply a masterpiece.
No comments
Animal Planet…
I’ve been sick the last week, so I figured I might give Foxtel a proper work-out. Turns out, there’s nothing to watch on that shit. Seriously - I spent the week watching friggin’ Animal Planet, which I’ve learnt, 9/10 faunaphiles agree is the best place to see an elephant’s dong.
Why did they show a lady being drenched in manly african elephant love? I wonder how the discussion in the editor’s meeting went for that one…
Bob: Hey Jim, have you got the footage of the elephant spooging all over the middle-aged woman?
Jim: Sure Bob, I put that on the cutting room floor. You want to put it on America’s Funniest Home Videos or something?
Bob: No, I think it should be our opening scene. I even have these wicked sound-effects for it. One sound effect is like a fire-hydrant going off, the other sounds like raw meat hitting a shaven goat while a naked man spanks the goat.
Jim: I fucking quit.
I love Animal Planet.
No comments

