Virtual Server Options

June 21st, 2005

While this site is graciously hosted by Iain I'm in the process of
developing another site (non-blog) and the more I think it through the more likely it is that it's going to
drive a not insignificant amount of traffic and I definitely want it to be snappy all the time (as opposed to
slowing down when Iain decides to download too much at once).  At the same time I keep playing with
different technologies from J2EE to Ruby on Rails to custom perl apps and whatever else, so being able to set up
whatever I want is a pretty big bonus.  Sounds like a virtual server might just be the best bet but I
really don't want to spend much money.

Anyone got suggestions for cheap virtual hosting providers that are still of reasonable quality?
 Australian based is a bonus but not required.  The best looking one I've found so far is EApps though I really haven't looked around much.

This Is Why I Hate Marketing

June 21st, 2005

Hey I stopped short of saying this is why I hate marketers…

How many more Microsoft sites will open
without RSS? Sigh.

Sigh, Microsoft
opens another cool but lame site
. Cool cause it's for digital photographers. Lame cause it doesn't
have an RSS feed. After Gnomedex these kinds of lame sites will look even lamer! When will Microsoft's
marketing departments get the memo? EVERY site MUST have RSS from now on. Got it? No? Pay attention to Dean
Hachamovitch's keynote at Gnomedex, OK? He runs the IE team.

[Scobleizer: Microsoft Geek Blogger]

Gee, anyone would think Scoble was trying to drop hints that the IE team are announcing something to do with RSS
at Gnomedex.  For all Scoble's talk of how blogs are a conversation that let you see more transparently
into an organization he sure spends a lot of time massaging his posts to fit the marketing message he wants to
push.  It's probably too harsh to say it's deceptive advertising because that normally means the
message they're delivering is deceptive, rather than just the way they deliver it.  I just get really
annoyed when companies try to play the friendly, upfront, honest card while they've marked the deck and have
carefully selected which cards to keep up their sleeve.

Wouldn't it have just been easier to put out a post that says "Hey, listen out for a cool message from
the IE team on RSS in the Gnomedex keynote"?  I've tried to resist joining the crowds of people
criticizing Scoble for just being a Microsoft shill but it's getting harder and harder as each post seems to
reach new levels of "I'm towing the company line but pretending not to".

And don't even get me started about the "conversation" Scoble's having with his son which just
so neatly advertises Microsoft's music initiatives and tries to steer people away from using the iPod.
 No mention of what his son's looking for in a music player, just a torrent of reasons the iPod is crap.
 Maybe it is for his son, but maybe it's not - there are good and bad points to all MP3 players and in a
lot of cases the iPod family has the best fit for the requirements and not just because it's cool.
 Heck, the prime requirement for most tweens is coolness.  Couldn't let that
interfere with the marketing message though could we?  Oops, I got started.

Playing With Ruby On Rails

June 19th, 2005

I've been developing a fairly dynamic website using Ruby on Rails for the past week and I'm really quite
impressed.  I'd had no experience with Ruby before so I had to learn a new programming language and a
new webapp framework but I've gotten going without too many problems and am already at least as productive as
I would be with J2EE (possibly more so).

Like most things though, it's definitely very possible to create really awful looking code in RoR though
most of the time the easiest way is very maintainable.  I was quite surprised to see how big a mess the code
created by the salted_login generator was.  It appears that instead of putting in effort to keep the
views to purely display, the author tried to minimize the amount of stuff in the views.  Thus, instead of
using HTML to create form elements which would have been simple, readable, maintainable and work in WYSIWYG
editors, a helper function was used that output a complete table row with localized label and the form field.
 What's worse though is that the helper function is about as readable as a perl script.
 It's pretty simple to rewrite the view using plain HTML and then the helper function can be deleted
entire without understanding exactly what it does.  One would hope you don't need to write code like
that to achieve internationalization - this project doesn't make sense to localize anyway.

There are a few other oddities - I keep having to use belongs_to relationships instead of has_one which is kind
of odd but understandable when you think through it all.

The best part is having extremely few configuration files and the ones that are required are simple, easy to
understand and rarely need to be edited.

The worst part is the lack of a good IDE, closely followed by the lack of cohesive documentation.  The
documentation you want is out there, you just have to be good with Google to find it.  If you're using
OS X, I can't recommend the RDoc dashboard widget enough as
a quick API reference.

Idiot Drivers

June 9th, 2005

Yesterday morning as I arrived at work about 6:30am, a taxi was dropping off an elderly gentleman and parked
halfway across our driveway in the process.  This is not particularly uncommon for idiot drivers to park
across our driveway being that we're next door to a couple of ATMs that people like to "just quickly run
to".  As such, I shook my head, squeezed past and went into work.

About an hour later the secretary from the lawyers upstairs comes into our office and asks if we could assist an
elderly gentleman up to their office since he's apparently early for his 8:30am dentist appointment (the
dentist is also upstairs).  This is the same guy who was being dropped off at 6:30am and has now been out in
the cold for an hour wondering how he was going to manage to get up the stairs and into the building.

So we head out and are in the process of introducing ourselves to the gentleman who seemed very grateful for our
assistance when there's a loud crashing sound which notably wasn't proceeded by the screeching of tires.
 Apparently a young guy had turned right into our driveway directly in front of an on coming car, driven by
a now very shaken up woman.  Other than being shaken up they were both okay but now the woman's car was
sideways across half the road and the bonnet had crumpled in enough to prevent the front left wheel from turning
and so the car couldn't be pushed off the road easily.

To the credit of the drivers that turned up in the next ten minutes or so they all drove carefully, many of them
saw the accident and took an alternate route around it and many drivers on the unblocked side of the road were
smart enough to stop and let the blocked side of the road through from time to time.

Once the fire truck, police, tow trucks and ambulance all turned up though the entire road was blocked and
people needed to detour around the block (simple and obvious).  This apparently proved too challenging for
most.  Immediately a stream of cars built up as they all came up to the accident finally clued in that they
couldn't get through and did a U-turn.  Then of course to go around the block they had to turn right
across the line of traffic that had backed up (and no one is smart enough to not enter the blocked intersection
where everyone was trying to turn).  Classic deadlock.  Eventually they managed to swear at each other
enough to get a few people to head round the block and free up space for the U-turnees to get through.

At this point the tow truck guys and a brisbane city council traffic controller were waving people on one
side of the accident around the block and it was flowing fairly smoothly (until they got back up the other side
and had to try and get across our long line of deadlocked cars who still weren't bright enough to just turn
left without first coming up and doing a U-turn).  So I headed down to the corner to wave people around the
block and get things flowing again.  You'd think that seeing flashing lights everywhere and a guy
standing on the road waving at you to slow down and turn left you might actually do that.  Nope, the natural
reaction of nearly every driver was to take their eyes completely off the road and stare at me like I was a
lunatic, naturally keeping on driving and then discovering they had to do a U-turn.  I had to give up and
leave them to their own devices, otherwise the people staring at me would have wound up running into the tow
truck that was parked across the road.

Fortunately it was all cleaned up within about 45 minutes and things returned to normal pretty quickly.  I
was very impressed by the response times of all the services involved, though I think the police got lost trying
to find the place as their call center had to call me back and they were the last to arrive.  The traffic
controller was particularly good and probably prevented quite a number of subsequent accidents as well as keeping
traffic from backing up too badly.  The only thing he lacked was a big sign that said "road blocked,
detour ->" for up at the corner.

How Much Bandwidth Do Search Engines Take Up?

June 5th, 2005

There are an awful lot of search engines out there and they all try to index as much of the web as they can, as quickly as they can.  For this site, search engines seem to cause more traffic than anything else:

Top 20 of 720 Total User Agents
# Hits User Agent
1 6866 12.63% msnbot/1.0 (+http://search.msn.com/msnbot.htm)
2 5600 10.30% Googlebot/2.1 (+http://www.google.com/bot.html)
3 3546 6.52% Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/
4 2633 4.84% Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://sp.ask.com
5 1706 3.14% sna-0.0.1 mikemuzio@msn.com
6 1120 2.06% Mozilla/5.0 (compatible; BecomeBot/2.3; MSIE 6.0 compatible;
7 1103 2.03% NetNewsWire/2.0 (Mac OS X; http://ranchero.com/netnewswire/)
8 806 1.48% Krell-GeoScraper/0.1 libwww-perl/5.79
9 754 1.39% aipbot/1.0 (aipbot; http://www.aipbot.com; aipbot@aipbot.com)
10 750 1.38% Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
11 746 1.37% Planet HUMBUG +http://planet.humbug.org.au/ Planet/1.0~pre1 +
12 745 1.37% Planet Linux Australia http://planet.linux.org.au Planet/0.2
13 744 1.37% Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET
14 726 1.34% Planet Apache +Unconfigured Planet Planet/1.0~pre1 +http://ww
15 702 1.29% NewsGatorOnline/2.0 (http://www.newsgator.com; 1 subscribers)
16 673 1.24% Mozilla/4.0 compatible ZyBorg/1.0 (wn-14.zyborg@looksmart.net
17 655 1.21% NetNewsWire/2.0b45 (Mac OS X; http://ranchero.com/netnewswire
18 648 1.19% Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gec
19 621 1.14% NewsGator/2.0 (http://www.newsgator.com; Microsoft Windows NT
20 601 1.11% Mozilla/5.0 (compatible; BecomeBot/1.86; MSIE 6.0 compatible;

Now admittedly a lot of those hits will result in Not Modified responses but still, when you expand this to every site on the internet, that’s a lot of HTTP requests being fired around.

It also shows the power of syndication - almost no one actually reads this site directly (except the bots), yet lots of people link to, comment on or mention my posts (I’m certainly no a, b or even c list blogger though).  Keeps the bandwidth requirements down and still get the message out - can’t complain about that.