September 22, 2010

Got Speed?

Ya’ll, I’ve been having a plethora of issues with the speed and reliability of my Vodafone 3G mobile internet connection. It seems I’m not alone. 

The majority of my friends, colleagues, and scoundrel associates have Vodafone 3G plans on their iPhones, blackberr(ys|ies), various droids, and so on, and the reliability and speed of the 3G service has become a topic of common complaint.

@vodafone_au did contact me over twitter asking if I had phoned Customer Care to air my concerns. Thats nice n’ all, but unless I have some evidence regarding my own connection, but more importantly how my experience compares to the experience of my fellow vodafone and competing providers’ customers. Without this evidence not only will I have to deal with the scripted responses, *shudder*, but I’ll be missing an opportunity to get to the root of the problem, which is we’re being consistently charged high prices for a consistently slow unreliable service. 

So here is the deal. 

If you are a 3G and any Australian provider customer, on your phone, please go to this OzSpeed Test 600KB (before 1st October 2010) and tweet me (@mrflungabunga), or email me (flungabunga [ at ] gmail [ dot ] com) with the information you get at the end, specifically Line Speed and Download Speed, your provider and approximate location

I know I’m asking you to spend at least 600KB of your precious data quota, so the least I can do is make a $1 donation to SIDS and KIDS  on your behalf.

I’ll make a follow up post with the data I’ve gathered, and the total donation amount 

Thank you.


August 9, 2010

Stored Procedures and business logic don’t mix.

In response to the question posed by Tim Massey on twitter (

Stored Procedure are very good at optimising repetitive, slightly complex, queries. Complex does not imply business logic. Business Logic is prone to change, it’s the nature of business. So by having volatile logic so close to your data you’re in trouble.

Business logic belongs in the controller in the MVC design pattern, and lets face it business logic tends to be context coupled. An article in a CMS is not just an article. If an article is published in an “news” category and you want to notify you’re subscribed user base to the fact that that article has been published, thats business logic. If how ever you don’t want to notify your subscribers about a supporting “archive” article, thats context coupled business logic. Articles are the same objects, but their context and affect in the application is different. If you were to try and use the fundamental ideas outlined in the example above in a Stored Proc, you affectively couple your application logic into your database.

Now imagine the following scenario, you’ve put a good deal of business logic into your data layer, suddenly your company and it’s application goes supernova, ala twitter for example. You realise that you need to move relational database to keep up with the scaling, well guess what, you’ve found yourself in an upgrade and refactoring nightmare. Well, I’ve no sympathy, you deserve it.

In a nutshell, Stored Proc are not the devils spawn, they’re extremely powerful and useful tools when used in the correct situation for the right job. Leave the business logic to the controller (and version controlling :) ). 

October 19, 2009
Free Pussy in Balmain. Just so you know.

Free Pussy in Balmain. Just so you know.

July 20, 2009
My awesome Tux birthday cake.

My awesome Tux birthday cake.

July 17, 2009
Irritation versus number of times the button is hit for the green man to come on

Irritation versus number of times the button is hit for the green man to come on