A quiz for Sydney drivers

Please complete all questions to the best of your ability. You have thirty minutes.

  1. It is raining heavily in Sydney. At about 2pm, you need to drive from the CBD to Strathfield. Which of the following actions should you take?
    1. Switch on your headlights
    2. Drive at a reduced pace appropriate for the conditions and leave a longer stopping distance to the car in front
    3. Drive as close as possible to the car in front because in the low visibility, you can only see things that are close up.
    4. Drive faster so your car doesn't get as wet
    5. Stay on the phone the whole way, so that if you crash, your friends will know about it immediately
  2. Your indicators are for:
    1. Telling other road users what you intend to do
    2. Telling other users what you just did a minute ago
    3. Showing support for the Vivid Festival
    4. Whut?
  3. You are journeying from the CBD to Ryde, via the Anzac Bridge and Victoria Road. Which of the following should you do?
    1. Choose your lane well in advance, based on the direction in which you need to turn next, indicating clearly when changing lanes
    2. Stay in the centre lanes, giving the option to change your mind if you decide Victoria Road is too busy and you'd rather take the Westlink
    3. Drive all the way across the bridge in the far left lane at 75km/h, then cross four lanes of traffic in order to turn right at Victoria Road. Repeat at each major junction until destination reached.
    4. Find a bus going in the right direction, Tailgate it all the way.
  4. At traffic lights, the stop line is:
    1. The solid white line at the lights, behind which you queue to await a green light
    2. The solid white line at the lights, thirty feet behind which you queue to await a green light that will never come, due to the fact you didn't trigger the road sensor
    3. The solid white line at the lights, upon which you carefully place your rear wheels before pre-empting green lights
    4. Halfway across the junction
    5. More of a guideline that a stopline
  5. When passing bicycles you should:
    1. Leave at least a metre of clearance, more if safe to do so
    2. Consider the road conditions and wait for a more appropriate passing place if unsafe
    3. Drop down a gear, accelerate hard and pass as close to the bike as possible, in order to give the rider confidence in your supreme driving skills. After passing, move onto the other side of the road, before cutting back in hard to the pavement before stopping at the next lights, thereby protecting the rider from the chore of having to ride past you again when you stop
    4. Yell "Pay yer fucken' rego ya cunt!" at the rider. From your unregistered Holden Commodore.
  6. You are travelling along the M4 westbound. Traffic is a little heavy but not jammed, and the variable speed limit is set at 70km/h. Do you:
    1. Drive no faster than the limit, using the right lane appropriately, when there's an opportunity to overtake
    2. Consider changing routes, taking the Great Western Highway for a while to avoid the traffic
    3. Drive at 95-110km/h, weaving from lane to lane as required, without indicating
    4. Sit in the right-hand lane at 60km/h
  7. Cycle lanes are for:
    1. Bikes
    2. Walking
    3. Parking
    4. Shopping trolleys
  8. When should you use a mobile phone in your car?
    1. Never
    2. When you're a passenger
    3. When you're safely stopped
    4. When you want to talk to someone. Or tweet, Or send an SMS. Or check the Telegraph's mobile website for interesting news. Or when you're confident you can totes get three stars in Angry Birds level 15.
  9. Mirrors are:
    1. An important safety device, allowing you to view the road behind you without turning your head
    2. A thing to hang jesus beads on
    3. For makeup
    4. For preening and flexing
  10. You are about to embark on an unfamilar journey. Which of the following are appropriate actions?
    1. Plan your route ahead of time using Google Maps, noting main roads and landmarks
    2. Use a hands-free vehicle GPS navigator
    3. Take along a friend familiar with the area
    4. Wing it, stopping often and unpredictably in order to check an out-of-date Sydway directory, calling friends for directions while driving and indicating left before turning right (and vice versa)
  11. Paramatta Road is:
    1. Probably best avoided in peak time
    2. A useful, but flawed route to and from the west in off-peak times
    3. The only road in the whole of the Inner West
    4. A dragstrip
  12. The Cross City Tunnel is:
    1. A useful and quick way to get from Inner Western Sydney to the Eastern Suburbs without having to drive through the CBD
    2. UnAustralian. Real Aussies drive into CBD traffic jams and stay there as long as possible, stationary with the engine running, in order to support Australia's fuel industry
    3. WITCHCRAFT. EVIL.
    4. What's a Cross City Tunnel?
  13. The traffic light just turned amber. Do you:
    1. Decelerate safely, stopping behind the white line
    2. Consider driving through safely if too close when the light changes
    3. Accelerate as hard as possible to get to the other side, even if you cross the line well after the red phase starts
    4. Keep going at exactly the same pace, then stop, suddenly, mid-junction, causing the car behind (executing maneuver 2) to skid dangerously while trying to avoid your sorry ass. Look puzzled when yelled at.

 

Your score:

13-20 - You're not from Australia, are you?

20-28 - You're from Melbourne, right? Oh, Canberra you say? That will explain the fascination with roundabouts

28+ - Yep, you're a Sydney Driver. Congratulations. Here's a free ticket to the Sydney driver's ball. Just drive right in. Ignore the sign that says "Danger, car crusher, do not enter". Signs are for other people, right?

Adventures in Worstpracticeville

This morning, I wrote ~4500 lines of code in about two minutes.

Skeptical?

I thought you would be, so here's the curious tale of how I deviated from best practice land and wrote 4500 lines of C# code using Excel formulas.

It began with an email from a member of the public to the organisation for which I work. To protect the person's identity, we will call her... Mrs Mittens, and we shall paraphrase what she had to say.

Mrs Mittens wrote:

"I live in a particular street in Rathernicesuburb"

So far so good

"When I came to your website, however, and was asked to select my street and suburb from a drop-down list, I noticed that my street is categorised as Neighbouringsuburb."

Uh oh.

"This is simply not good enough." continued Mrs Mittens, "I live in Rathernicesuburb and will not put up with being labelled as a resident of Neighbouringsuburb, which while nice is not as nice as Rathernicesuburb".

Ah.

"THIS MUST BE FIXED" yelled the management team.

"Yikes", responded the Geospatial data team. "Yes, it's true that while the website arbitrarily places every street in the area into a given suburb, there are numerous streets which are actually in more than one suburb, including, we can confirm, that of Mrs Mittens, who does in fact live in Rathernicesuburb, as do her neighbours, and everyone along her side of the street."

"YES BUT HOW DOES THAT FIX IT?? MRS MITTENS IS BESIDE HERSELF!!" yelled the management team, displaying the usual levels of calm analytical thought.

And so the problem came to me.

I'm not the web developer. The web developer left some months ago. I'm a SharePoint Administrator, officially. However, I have the knowin' of the magical incantations and the See-Sharps and the Eye-Eye-Esses and the databasings. So web stuff now comes to me by default.

"Here's a problem. Fix it. Oh, and here's a spreadsheet of all the streets in the area, and all the suburbs they could appear within. Good luck, soldier. Oh, and do it now. We mean it. NOW."

So off I went into the code, hoping to find how this particular drop-down list works. The list had about 1500 streets, each categorised as a given suburb. My first thought was that this would be drawn from a database somewhere using C#, which would render into an ASPX page, neatly separating logic, markup and data, in what is thought of as a programming ideal. It's how I would have done it.

Boy, was I ever wrong?

When I found the dropdown, here's how my predecessor had built it (changed slightly to protect the innocent)

public void AddSuburb(string StreetAndSuburb)   {
     dropDown.AppendOption(StreetAndSuburb);
}

AddSuburb("Alpha Street - Nicesuburb");
AddSuburb("Beta Avenue - Nicesuburb");
AddSuburb("Delta Crescent - Verynicesuburbindeed");

AddSuburb("Gamma Lane - Crappysuburb");
AddSuburb("Epsilon Gardens - Runawayyou'llbekilledville");
AddSuburb("Pi Row - Suburbwherewepoisonallthetrees")

AddSuburb("LOADS MORE STREETS HERE");

...and about 1500 further lines of hardcoded C#, including typographic errors and suburb transpositions. Obviously things like typos were never looked for thoroughly, and would only come to light if a person from a given street decided to contact my employer, and could be bothered to actually report the issue.

This is, in my opinion, what is often termed a coding horror

So, what was I to do? I had a 4500-line Excel Spreadsheet with the real suburbs in it, and 1500 lines of C# code to replace, and a management team breathing down my neck to get this done ASAP.

Best practice would suggest I should redevelop the whole thing, so that it would draw from a central database, then bind that data to a WebControl. Sadly, I don't have sufficient permissions in this website's DB to create new tables. As I mentioned earlier, I'm not the web developer. Also, I'd need to test it properly. And make sure the production DB was up to date. And probably write an interface or sync script to manage the tables. And I have other work to do, work which is actually included in my job description.

So I had a brainwave.

I wrote an Excel formula.

Here it is

Yep. I took the A and B columns, concatenated them together with the AddSuburb() call, and pasted that formula all the way down the C column.

I then copied the new AddSuburb() calls which appeared in colum C, and pasted all 4500 lines into the C# source in place of the 1500 previous lines. Then I hit "build", confirmed it worked in test and sent it off to management for the once-over.

And it worked.

And it took me about three minutes

Of course, I'm guilty of the most horrendous bad practice. And I'm guilty of perpetuating the poor practice of a predecessor. But I'm also perversely pleased that I came up with a trick that saved me a shedload of time and managed to make the situation no worse at all.

So there we are. I'm an evil not-best-practice hacker, a cowboy of the highest order. It's confirmed.

But CERN just announced 5-sigma evidence for the existence of the Higgs Boson, in comic sans, so frankly, no-one should care.

«July»
SunMonTueWedThuFriSat
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234
 
Vaccination Saves Lives: Stop The Australian Vaccination Network
 
 
Say NO to the National School Chaplaincy Program