Archive for March, 2007

Swimming in the sea at Noosa Heads

March 29, 2007 - 7:51 pm No Comments

Last weekend, Chris, mum, dad and I went to Noosa in Australia for a wee break. 5 days only, not 5 weeks like Camp Europe.

I gotta say – I absolutely love Noosa. It’s the second time I’ve been there and I’d definitely go back for more. The best thing about Noosa, apart from the hot weather, is the sea. The sea water is crystal blue and SO warm! Seriously, I don’t know exactly how warm the water was because I don’t typically carry a themometer around with me, but trust me, if I’m raving about it – it’s gotta be warm. I won’t touch New Zealand waters because well, what’s the point? You’re basically in pain getting in to the water and back out again. It’s more like torture than a nice relaxing swim.

We stayed at Noosa Pacific Riverside Resort – very nice self-contained, fully-furnished and most importantly, AIR CONDITIONED 2~3 bedroom apartments that overlook tennis courts, a swimming pool, a spa and a sauna. There is also a nice gym for your work-out pleasure. Very nice indeed, all for a very reasonable price of $110 AUD per night. The only downside to staying at Noosa Pacific is that it is a 5~10 minute drive (30 minute walk) away from Noosa Heads itself, where the marvelous beach I mentioned above is. Next time I go to Noosa I might try looking for somewhere a little bit closer to the beach itself (without paying thousands of dollars per night that is).

While in Noosa we also walked around the Saturday markets at Eumundi, visited a small town quite high up in the hills called Montville, spent a day at Australia Zoo (saw lots of koalas and kangaroos, cute!), and went shopping at Maroochydore Sunshine Plaza. Wow, so much in only 5 days!!

Anyway, I’ll throw a couple of photos up here to make you all jealous :)

Sunset at Noosa Heads, Australia
Sunset at Noosa Heads, Australia

Some iguana lizard thing at Australia Zoo
Some iguana lizard thing at Australia Zoo

A little kangaroo at Australia Zoo
A little kangaroo at Australia Zoo

  • Share/Bookmark

dotTrace – a cool profiler for .NET applications

March 29, 2007 - 7:24 pm No Comments

Ever wondered why your application is chewing up so much of the processor? Or where all that memory is going?

Introducing dotTrace – a profiler for .NET applications, both desktop and web apps. It lets you run up a web app and take snapshots of it’s profile whenever you want. One view shows you a summary of the bits of code that the threads are busy executing complete with precise execution times, while another view shows you where the memory is being allocated, specifically which types of objects are using up the memory.

Something I particularly liked about dotTrace is its ability to show ‘hot spots’ – essentially a summary of functions that are using up the highest percentage of the thread’s time and effort. It shows how many calls to these functions are being made and where from. This quite nicely highlights some functions that are perhaps being overused in your applications (functions such as Concat and ToLower), allowing you to fine-tune your (already perfect, of course) code for performance.

Anyway, I’ve downloaded it and had a bit of a play – so far so good. Unfortunately, you either have to buy it (and it ain’t cheap) or deal with a 10 day trial license key. Still, I guess there’s no such thing as a free lunch!!

  • Share/Bookmark

IE Conditional CSS Comments

March 28, 2007 - 6:58 pm No Comments

I know this has blogged about many times over, but I recently came across this really handy CSS hack (yes, I think this qualifies as a hack) specifically for styling sites in IE.

Basically, only Internet Explorer (5 and onwards) on Windows can read these ‘comments’. Therefore, any CSS styles written within them are only interpreted and applied by IE. And better yet – you can write ‘if’ statements within these comments so that your CSS styles are only applied to particular versions of IE.

Pretty handy huh?

Here’s a quick example:



<!--[if gt IE 5]> table#content { width: 100%; !important; }
<![endif]-->

Here are the different ‘if’ operators:


<!--[if IE]> This comment applies to all versions of IE from 5 to 7.
<![endif]-->


<!--[if IE 6]> This comment applies to version 6 of IE.
<![endif]-->


<!--[if lt IE 6]> This comment applies to versions of IE less than version 6.
<![endif]-->


<!--[if lte IE 6]> This comment applies to versions of IE less than or equal to version 6.
<![endif]-->


<!--[if gt IE 6]> This comment applies to versions of IE greater than version 6.
<![endif]-->


<!--[if gte IE 6]> This comment applies to versions of IE greater than or equal to version 6.
<![endif]-->

There are a couple of gotchas you should be aware of before you use this great little hack.

  • Only IE on Windows will interpret these comments. Read: this hack will not work for IE on a Mac. If you need to style something for IE on a Mac, think about checking for the user agent using whatever script you’re programming in, if you’re using one at all, and including styles based on that instead.
  • Conditional statements just use the normal HTML comments and therefore can only be used in HTML pages. Read: this hack won’t work when written in a CSS file.

    I know the pain web designers and developers go through trying to get their sites to look the same in all browsers (trust me, I know!) so it might be quite tempting to use this hack all over your code. But keep in mind that this is just a hack and you should try to find more standards compliant ways of styling your sites using CSS that works well in all browsers (or at least that are important to you).

    • Share/Bookmark

Interviewing for a Software Engineer position at Google

March 21, 2007 - 8:46 pm 2 Comments

About a year and a half ago (October 2005), I tentatively applied for a Software Engineer in Test position at Google. When, to my surprise, a recruiter actually emailed me moments later and scheduled my first interview, I panicked and dug out all my old Computer Science notes and textbooks from my 4 years at uni. I had read that Google’s interviews were tough, so I thought I had better get studying. Over the course of a few months, I stressed out heaps, reviewed all my old comp sci notes (really, who remembers how to implement B-Trees, A* Search algorithms and MergeSort after leaving university?) and had 5 hour-long hard-core technical phone interviews with software engineers and testers at Mountain View.

Anyway, although the recruiter I was dealing with told me I had done very well during my interviews and that everyone was very impressed, I was eventually given the bad news – there wasn’t really anything for me at that time. I was pretty gutted but glad that I had gone through it all for the experience – no interview from then on would ever be as difficult as the ones I’d just undergone.

How wrong was I? About a year later (December 2006), one of the recruiters I’d dealt with during my interviews emailed me and asked if there was any chance I could come in for an interview for the same position at their Zurich office while on my holiday in Europe. Apparently they were expanding their test team and thought of me :). Well, since I was going to be in the area anyway, I said sure. However, since I was going to be on a much anticipated holiday, study and stress were not an option. I just accepted the fact that this meant I was going to totally suck at any tricky technical interview questions – but I thought, what the hell, I might as well.

All I can say is: yikes. As you can probably guess, I didn’t get the job, AGAIN. But this time I felt I actually did quite well in the interviews, despite the lack of study. Google flew me (and Chris) down to Zurich from Copenhagen and put us up in a really flash hotel for a night. The following day I had a full day of interviews on-site at the Zurich office. Basically this translates to 5 hour-long interviews with 5 different software engineers and testers. The questions they asked were very technical and covered a lot of different technologies. Towards the end of the day I was totally knackered and found it really hard to think straight, whether in code or in plain old English. 5 hours of hard-core technical questions when you have only a few seconds to think up a good answer and write code on a white board is TOUGH, no matter how much of a geek you are. NOW I’m pretty sure I’ve experienced the toughest interviews I will ever have to.

Anyway, I guess the moral of all this is that if you are given an opportunity to try out for something you really want but are pretty sure you’re not going to get – give it a go anyway. Sure, it’s gonna be hard and you’re gonna stress about it. Sure you’re gonna feel pretty crap about it if it doesn’t work out. But you will gain SOMETHING from it – even if it’s just the experience. In my case, apart from being forced to review a whole bunch of pretty cool geeky stuff that I’d totally forgotten about, I got a cool trip to Zurich, paid for by Google, I got to meet a bunch of really fun and talented software engineers (who by the way took Chris and I out for a great Swiss-fondue dinner after my day of interviews in Zurich) and basically I feel pretty good about the fact that I even got the chance to interview with Google. And as I mentioned above, I am now confident enough to believe that I can sit through any technical interview known to man (or woman) :)

  • Share/Bookmark

Monkey Kick Off

March 20, 2007 - 7:28 pm No Comments

OMG. This Monkey Kick Off game is horribly addictive. I hate it.

No, I don’t really. I just can’t afford to waste any more time on it.

But that’s alright, coz I beat Chris, which is really all that matters (until he gets a better score than me, in which case I”ll just have to kill him… muahahahah).

I must say, however, that Chris did put up a good fight with his best score – 4734.

Anyway after about 4 (ok maybe 5) hours I was successful in my mission to WIN. That’s right – check out MY score: 4859.

OOOhhh YEAH!! Bring it ON!!

  • Share/Bookmark

Send MSN messages programmatically

March 18, 2007 - 5:07 pm 4 Comments
I’m sure there is a need out there to send messages to MSN programmatically. So I’m gonna find out how plausible it is and whether I can find a use for it myself :)

I recently came across a simple PHP class for sending MSN messages called sendMsg written by FanaticLive. Below is a form that uses this class to send a message from the ‘sender’ to the ‘recipient’ that you enter.

In order for this process to work, the specified recipient must have the sender in their MSN contact list (approved or not) and the recipient must be online. If you don’t want to enter your email and password into this form (and I totally understand if you don’t) then try using the test user. Only thing is you’ll have to temporarily add the test user – msn.tester@mindtrip.co.nz – to your contact list on MSN.

So go on, try it… you know you want to :)

Now I have to come up with a cool idea for why I might actually want to programmatically send MSN messages… hmm….
Update: Looks like some cunning spammers have decided to use this form to send spam out, not that it’s working. So HA spammers, take that. I’ve logged all your IP addresses and the fact that none of your spam got through. Anyway, I’m not impressed, spammers suck. So thanks to them, I’m taking this form down. If anyone wants to see the code for it, just leave me a message and I’ll send it to you.

  • Share/Bookmark

Highlights from Camp Europe 2006

March 18, 2007 - 4:49 pm No Comments

Camp Europe – Chris’ and my Christmas holiday last year. 5 weeks of non-stop site-seeing, exotic food savouring, wine-drinking and plenty of train rides all throughout Europe. Oh and a quick stopover in San Francisco as well as Tokyo (OMG Tokyo is the coolest place on earth and I NEED to go spend some more time there).

There are some things about the holiday that I feel I need to write about here, just because they’re way too cool not to mention. And it might just inspire a few others out there to go and see these things for themselves… :)

Pier 39 – San Francisco – USA

First of all, San Francisco is, in fact, as nice as everyone says it is. We even got to chill with some of those Free Hugs people before we’d even reached our hotel!! Although we arrived there just before Christmas (American winter), it was amazingly sunny and warm enough during the day to wear a t-shirt. That’s better than it was back home in NZ, in what is meant to be our summer! Pier 39 was lovely, full of souvenir shops and restaurants. I can only imagine how beautiful it must be to walk around there during the summer months.

San Francisco strikes me as one of those cities where there is always something on. I think I’d really like to live there one day, I must add it to my list :). It’s probably a wise move to have some sort of guide book with ya while you’re visiting, but if you’re only on a stop-over like we were, why not try the .

Pier 39 - San Francisco, USA
Pier 39 – San Francisco, USA

The Top of The World – Jungfraujoch – Switzerland

Chris and I made the best decision ever when we decided to go on a day trip up to The Top of The World – Jungfraujoch whilst in Interlaken, Switzerland. We caught the Jungfraubahn – a train that takes you up 3471m to the top of the Jungfraujoch. Man, what an experience. The train ride itself was awesome, crunching it’s way up some very steep areas and then finally through a really really long thin tunnel close to the top of the mountain. At the top there were a couple of restaurants, a couple of viewing platforms, and best of all, an ice palace!! You can walk through it, slipping and sliding around like unco-ordinated muppets. Hehe ;) I totally recommend this trip for anyone passing through the area. For more info, why not grab a copy of Lonely Planet’s .

Jungfraujoch - Switzerland
Jungfraujoch – Switzerland

Brugge – Belgium

Belgium is already very well known for its chocolate, so I won’t go on about that. Instead I’ll talk about Brugge, an incredibly cute little city in the West of Belgium. Apart from the lovely town square that is surrounded by beautifully decorated buildings and a big church with an imposing spier (that is, interestingly, leaning slightly to one side, ala Tower of Pisa), Brugge has a maze of little cobble-stoned roads lined with beautiful little shops, restaurants and cafes. It also has a series of waterways, giving it a venice-style glamour. There is a chocolate factory, a museum where you can see and worship a drop of Jesus’ actual blood (apparently!!) and at Christmas time there is a great European-style market place in the town square selling hot mulled wine (Glühwein), hot chocolates, crepes and waffles smothered with chocolate, hot donuts, and plenty of other savoury foods as well. YUM!! Basically, if you’re looking for a place to chill out for a few days, Brugge is a great choice.

Town Square - Brugge - Belgium
Town Square – Brugge – Belgium

And if you’re going to or at least thinking of going to Brugge, why not pick up a Lonely Planet guide book for some handy tips on things to see and places to stay. I recommend their .

If you want to read more about this holiday or see some more photos, visit our trip on TravelStash.

  • Share/Bookmark

How to become a Web Volunteer

March 11, 2007 - 5:16 pm No Comments

About a year ago, I embarked on a project through an organization called InterConnection.

InterConnection, as its website says, works to make Internet technology accessible to underserved communities around the world. As a web designer and/or developer, you can become a “web volunteer” and help build sites for other organizations out there who need a site but don’t have the money or the know-how to build one themselves.

So this is what I did. I became a web volunteer. InterConnection assigned me a project – to build a site for Shauri Yako Community Youth Support Centre in Kenya. How excited was I?!? Kenya! Awesome! Apart from doing something which was going to help others a LOT, I was going to have to push my boundaries and come up with a design. Yikes.

Shauri Yako Community Youth Support Centre is a community based organization, based in Nyeri, Kenya. SYSC was created to provide developmental services for children and youth living in poverty in Nyeri. SYSC works with vulnerable children, youth and women who face poverty, HIV/AIDS pandemic or social isolation to address their needs and hopes.

Within a few days of being assigned this project, Joe from Shauri Yako got in touch with me and with InterConnection’s help, we set them up with some online hosting and I started on the designs. Now, me not having a creative bone in my body meant that it was, let’s say, somewhat difficult for me to come up with a nice design. It took me about… 26 designs(!!!) and many frustrating one-sided arguments with photoshop until both Joe and I were happy with it. Phew! What a mammoth effort that was!

I then embarked on actually building the site. I had received lots of word documents and requirements from Joe, so this part was pretty easy. APART from the fact that in order to challenge myself a little bit more, I had decided that I would build the whole thing with as little HTML as possible and as much CSS as I could come up with. This, however, didn’t sit well with many browsers and after many attempts and many hours cursing at IE, as well as the realisation that this site was actually meant to be as accessible as possible (read: cross-browser), I gave up and re-did the site in HTML tables. Urgh. But, it took probably no more than 1.5 hours. How frustrating.

Anyway, the site has now been up and running for a few months and apart from a few last bits and pieces to tidy up, I would say it’s pretty much done.

But I’ll tell you the best part of all this. The other day when I did what I bet a lot of you out there also do but don’t admit to – “googled” myself – I came across one result which I totally didn’t expect. Shauri Yako had dedicated a paragraph of one of their latest newsletters to thanking me, Annie Luxton from New Zealand, and others from all around the world who have helped them in various different ways. That recognition was one of the best feelings I’ve had in a LONG time.

Here is a screenshot of the page as it is now – the best design I could come up with. I know it ain’t the greatest but it’s usable (well, at least I think so!) and does the job :)

p{margin: 0px auto; text-align: center;}.
Shauri Yako Community Youth Support Centre

  • Share/Bookmark

The “Goog”

March 11, 2007 - 8:33 am No Comments

While in San Francisco, Chris and I were lucky enough to spend a few hours visiting “The Goog” offices – aka “Googleplex” – in Mountainview. How cool is that?!?

Our friend Jeremy Ginsberg who is a software engineer at Google invited us to come have lunch with him and gave us a tour of the offices. What can I say – the place is HUGE!! We drove down wide streets beautifully lined with trees and large buildings on either side. Most of them seemed to belong to Google but there were also others pertaining to other techie companies such as Sun Microsystems amongst others. Once inside the “Googleplex”, it looked like we’d stepped into an American-style university campus. A central courtyard filled with brightly colored outdoor furniture filled a space between 5 or so large buildings. Five fully catered cafes serve free full-on buffet-style meals to employees and their guests all day, there are laundry facilities on site so that employees can bring their dirty laundry to work with them (ewww), a juice bar handing out interesting concoctions of blended fresh fruit (I think I had an apple pie fruit smoothie) on demand, a gym with state-of-the-art equipment in it (treadmills with LCD screens in them!?) for employees to use at their leisure and a mini swimming pool with a full-time life guard sitting by. Oh and a life-sized Tyrannosaurus Rex skeleton parked outside in the gardens and the actual SpaceShipOne spacecraft (X1) just hanging over the stairs in the foyer. Those are just some of the perks enjoyed by those who work at the Googleplex in Mountainview. Pretty amazing really.

What I found quite interesting, apart from all the above of course, was the layout of the actual desks inside the offices. Software engineers are grouped into decently-sized offices of 3 or 4. Since Google have expanded so much in recent years, they no longer have enough offices to fit all their engineers in, so they’ve built some futuristic-looking tents that are installed in the middle of the buildings and call them offices. Pretty crazy looking.

Anyway, I think I can safely say that both Chris and I were awe-struck at the magnitude of the Google empire, and very jealous of everyone who gets to work there. And thanks Jeremy for your very informative tour of the place!!! :)

  • Share/Bookmark