CSE Camp – Epic bus fail, broom game, newspaper towers and internet memes

It’s been about 6 years since I’ve had the pleasure of being on a camp, the last I can remember was a Year 11 Thredbo/Jindabyne trip. So ending yesterday, for a little over 48 hours CSE@UNSW first years, and me since it’s my first year at UNSW, were at Wombaroo Adventure Center in the southern highlands about half way from Sydney to Canberra, Australia.

Internet Memes
The theme, one pretty awesome one. I just couldn’t resist going as Happycat (pics may come later). Memes in attendance (by Ben Pinto):

Pirates vs ninjas
Im on a boat
Troll science
F**k yeah
Forever alone
Milhouse is not a meme
Mac vs pc
Wonka bar
The ring/ grudge girl
Charlie the unicorn
Shamwow guy
Old spice guy
Hello world
Dancing star wars kid
Hide yo kids guy
Double rainbow guy
Engineer (teamfortress)

The engineer won the award for best costume…not sure I agree since Callum’s PC was epic but that’s democracy for you.

Broom Game
Simply put – hold broom and face upwards, spin 15 times then jump over it. Your inner ear’s motion detector will deceive you – good luck! (Not me but some of those who participated – the end is a must see :- )

Newspaper Towers
aka Fun with Newspaper. The Australians were by far the best general building material, literally just separate, roll up and build up. You learn quickly the best ways to build things like rope to tie things together.

The two most successful teams maxed out their towers to the 4 m ceiling using tripod-based designs with a spire on top. One other got very close with a spire like a knight’s jousting post on top of a 3 very solid base rings of compacted newspaper. Guess which one I was 😉

Epic Fail Bus
Well ’twas begging to have little more than the chance of a wee snowball in the fires and brimstone of hell. A little context and story:

  • Driver tries to start bus on slight slope at Wombaroo. Driver fails a couple of dozen times, including rolling backwards several meters (luckily no one was back there).
  • Driver finally succeeds in starting the engine for more than 15 seconds, gets the bus up the incline. This is over 30 minutes after we should have left!
  • Bus breaks down at least twice on the freeway (I dozed off so it may have been more).
  • Driver decides to continue following M5 into the longest and most congested tunnel in Sydney (and possibly still the world), despite his engine trouble.
  • Driver continues in the right hand lane, starts off well on the tunnel descent.
  • *Kffppppphh*…*splutter*…*cough*…*bang*…and we’re coasting to a stop.
  • Driver attempts a restart a good dozen times before giving up.
  • Realisation of being (semi) trapped inside a bus inside a 4 km tunnel with hundreds of cars passing very close sets in for some team members. I feel for their claustrophia.
  • Some 15-20 mins in, a redirecting sign truck arrives behind us.
  • To great applause, 52 minutes in, we greet the tow truck…
  • Only to wait another half hour to be fully towed out!
  • And another 20 minutes trapped inside on the side of Marsh Street, or thereabouts. But at least with fresh air through the top air vents…some compared it to being reborn or other life changing experiences. Quite the saga.
Clearly the cases of:
  • the forgotten sleeping bag (yes someone slept the entire night before discovering their sleeping bag was actually right where it should have been), and 
  • the 7 am fire alarm (don’t go playing with circuit breakers at 4am, you don’t know when the cabin battery power will run out)
were awarded camp’s “Biggest fail” far too soon. Everyone scored a trophy – the limited edition purple cake camp shirt.
In summary:

LaTeX3.1415926 on Win7x64 = pain, on Ubuntu 10.10 = pleasure

I can’t be bothered ranting…title said it all. I wasted a good 2-3 hours setting stuff up on Windows (and didn’t get there), it was like 2 commands on Ubuntu Linux Maverick Meerkat (10.10). Those two commands were discovered by typing the commands found at:

Basically typing latex and thumbpdf, and following the Ubuntu command prompt instructions. Kind of felt like xkcd’s python:
import antigravity

❤ Ubuntu + LaTeX, especially awesome for all the math-oriented stuff. Donald Knuth’s years of toiling were not in vain!

Google and social, go together?

So here’s one experience I’ve just had – and an insight into why it’s sometimes said Google doesn’t get social.

Social is about conversation and interaction – here’s something I can do for you, would you mind doing this for me?

So here’s why – the first comment on this blog, 3 months ago. Discovered by me just because I decided to go back and see what I was writing on this humble weblog, see what I was thinking.

Now Blogger has the option to turn on comment notification email. But if I’m not Engadget, Gizmodo, Dvorak, i.e. someone or something that can afford a real hosting / blogging / content management solution, this is the kind of thing I’d like to know about!

Basically this “Comment Notification Email” box, buried at the bottom of Settings > Comments, should have had the email address I signed up with. It’s not spam if its a real person behind the scenes (and the link that’s not a link and contains the Session ID and a blog behind it is a clear example of that =). And it’s easy enough to link back to these settings in such an email so if the user decides it is spam – they have the option to turn it off.

Google – time to listen to dear leader turned advisor and think a little less engineering and a little more social. We’ll like you more for it, promise!

First house move, memories and moving on to future opportunities

Moving house for the first time in 22 years takes a phenomenal amount of time.

Time to clean, to prepare, to pack, to decide what to take, to decide what to box and put in storage, to decide what is important and what is junk. Sorting, sharing, helping the rest of the family, cleaning, washing, bubble-wrapping, padding, taping, vacuuming, clearing out.
And then more on the other side unpacking…

Unwiring the sprawling Cat5/Cat6/TV/phone/power mess with its tentacles reaching into nearly every room of the sprawling multi-story six bedroom mansion.

Finding old school projects and taking photos because there’s no way you can keep them. Clearing the areas where life, water, and wildlife (possums were adventurous – one once poked its head through a hole in my wall and stared at me, at least before I taped over it).

Yes ’twas a grand old house, but one which really is reaching the end of its life. The brick fireplace roof flew off in strong winds last year so it’s just a column up to open sky. The roof is still mostly covered in aging wooden shingles where the possums haven’t knocked them off, and leaks in many places. Mosses and fungi are starting to invade sections of walls. Lichen grows on the fireplace bricks, especially in the cracks over the old cement. Some of the glass has been broken and taped over as a quick fix to keep the elements more outside than in.

Still much is habitable and the house still feels solid, even when it’s hailing and pouring with rain. The downstairs is generally far more pleasant, especially in the hot summers when hot air escapes leaving the downstairs areas cool. It has a charm, an air about it, though perhaps that’s just 22 years of memories staring back at me.

In any case, on to the future, apartment living and continuing study for this year at least. Let the good times roll, being closer to a new university in a new suburb, being close to good buses and trains, meeting new people and just keeping up with the continuous learning, the wave often likened to a tsunami, or the tide itself rising up – the ever-growing ocean of  the sum of human data, information, knowledge and wisdom on the internet.

Water prices should be trending downwards, not upwards

http://twit.tv/gtt18 – Green Tech Today 18: Oasys Water.
Aaron Mandell, CEO’s aim is to get the price down to as low as $0.25 per cubic meter. He says current processes (where energy costs are often subsidised) range from $0.65-$1 per cubic meter for current desalination.

How? Using some clever thermodynamics and chemistry at scale.
Why? The Oasys process in practice uses 1/3 to 1/2 of the energy of currently in use methods (with theoretical potential for 1/10 of the energy), primarily because it can use normal osmosis rather than reverse osmosis.

http://hypertextbook.com/facts/2004/JosephSabatelle.shtml – New York Water Prices
A little math – 1kL = 1 cubic meter. So $0.000537 per liter = $0.537 per kL (cubic meter)

http://www.sydneywater.com.au/Publications/FactSheets/UsageCharges.pdf#Page=1 – Sydney Water Usage Charges. $2.012 per kL, a big piece due to the cost of the Kurnell Reverse Osmosis Desalination Plant.

I wonder if in 5-10 years this process could be retrofitted into existing plants for big potential savings as well?
Rob McGinnis, CTO and co-founder says the “plants are modular building blocks” so they should be scalable down as well as up – perhaps for use by farmers near saline aquifers? These are in addition to the other applications – industrial waste reuse, and even a new form of hydroelectric power.

In any case I think this is pretty amazing that some clever salts and thermodynamics could become a huge piece of the solution to the world’s water issues.

Explore more:

Carbonite – Workarounds to back up executables, videos and other files

Carbonite is the online backup service I’ve ultimately decided to use to protect my data off-site against those proverbial theft/fire/flood events. Unfortunately a Windows Home Server box, as awesome as it is, just isn’t off-site (so it gets destroyed or stolen with everything else).

For me, Carbonite does a great job out of the box – documents, photos, music, program/web application source files – ASCX/ASPX/CS/CONFIG/C/CC/CPP/H/HTML/CSS/JS/PHP/Python (ironically including the .pyc files which are actually almost useless to me) /Ruby/Scala/ASM/eqn/JED, program data files – SQL/YAML/XML/XSD/in/out, text files, PDFs, Mercurial repositories (.d and .i for example), compressed and encrypted files – Zip/7z/TrueCrypt/Axcrypt and the vast majority of the other important stuff.

Of course, it’s detailed by Carbonite that they do not automatically back up executable files, video files, or many other kinds of files.

In effect, you manually have to go into the relevant folder, right click and select backup (thankfully Ctrl+A to select all and then backing up does work for all files, just not folders).

Why it’s a problem
The core is simply – your complete backup is no longer automatic. That means human error begins to creep in.

I’m a computer science student. I have dozens of different projects and assignments completed over the last 4 years, and I know if I come back to them in 5 years, it will be a lot easier to have their executable forms lying around so I can remember the application context more easily.

These are primarily .exe, .o, .jar, .dev and other miscellaneous file formats. Now I will be clear – Carbonite backs up the source forms as detailed above. I’m just saying I want the whole package because some things like compilers and IDEs can become misplaced, hard to find, etc over time. Stuff disappears from the internet all the time, for example if you missed it one of the major original content portals on the internet – Geocities – closed recently.

So, I said Carbonite does by default back up all zip files. This suggests a relatively simple workaround, just put each important file inside a .zip file. Easier said than done?

We’ll need some programmatic way of manipulating these files (otherwise it’s literally back to the Windows GUI). 7-zip provides such a useful method.


7za.exe is the command-line version, this one worked for me (though YMMV)

Like many programmers, I see myself as pragmatic (e.g. Rasmus Lerdorf, father of PHP – http://itc.conversationsnetwork.org/shows/detail3298.html so I’m going to just do something simple and easy for me.

My backup strategy for these files is basically to call something like the following on the Windows command line, which will create one big .zip file:

C:UsersPeter>7za.exe a -r -tzip myfiles.zip *.exe

Since this is fundamentally a 3rd tier backup for me, I’m satisfied even though it will take me a little longer to recover the data, and it’s possible I’ve missed something (or Carbonite changes their program’s rules, but I reckon they aren’t looking to start a war because they’ll only lose customers).

Now again being lazy (though I should say this is in the spirit of automation, removing human error), I’d rather not type that into the command line every time (and if I forget something?), so let’s turn this into a file called backup_via_carbonite.bat :

GOTO EndComment
This BAT-file zips up executable files,
web site favicons, development files, DLLS,
installers, compilers and other miscellaneous
files so they are backed up by Carbonite.

Please run it through YOUR OWN TESTING if
you plan to use it as part of your backup

Notes: - * is a wildcard meaning match all
- "a" means create archive
- the -r recurses through the entire
folder structure
- myfiles.zip is the name of the
resulting .zip archive
- the -x!Downloads* excludes files in
the Downloads folder, same for AppData

Written by Peter Schmidt
7za.exe a -r -tzip myfiles.zip *.a *.bak *.cab *.com *.dev *.dll *.exe *.ico *.ini *.jar *.lib *.msi *.o *.win -x!Downloads* -x!AppData*

Now I can just double click backup_via_carbonite.bat from Windows, put it in my Startup directory, or in the Event Scheduler so it happens as close to automatically as I’d like it to.

My understanding of .zip is it is not a solid compression format and so should be more resilient to small amounts of data corruption, i.e. one flipped bit will not corrupt on average half the files, just one of them.

Now I did say video files. That’s another set of extensions – easy to add but hard to discover. Here’s a start:

GOTO EndComment
This bat-file zips up some video files
so they are backed up by Carbonite

Written by Peter Schmidt
7za.exe a -r -tzip myvideos.zip *.flv *.mpeg *.mpg *.mp4 *.m4v *.qt *.wmv

Of course anyone with a sizable video library will know this won’t scale, will consume a ridiculous amount of space and well…just be unwieldy and bad. It’s possible on many connections that this file would never even be completely uploaded (or may change too frequently) – resulting in no backup at all!

I don’t have the solution, except to say Windows 7 does provide the lovely feature of libraries. Try compositing all your videos into one library so you can use the Ctrl+A backup above. If you store your videos in separate folders or across multiple drives – you’ll need to add each drive/folder to the library unless you’ve got a more creative workaround – good luck thinking =)

Final note: Ironically because Carbonite stores older versions of files (including the .zip file that will now be being regenerated automatically on schedule or when I restart Windows), this solution will end up costing them significantly more storage space, bandwidth and time than if they just gave me, the informed paying customer, the option to back up what I wanted conveniently.

Eventually I might get around to splitting this up into separate archives for separate folders, but I’m probably too pragmatic with too much other stuff to get on with…330MB is not too bad a zip file to upload dozens of times over.

Electronic Voting’s Issues

Just another part of my extended memory, someone said we should be going to all electronic voting machines in Australia.

For one very good reason, I believe the majority of electronic voting machines are fundamentally flawed – it is hard to give a reasonable guarantee that:

electronic records are written once and from that point read-only.

This is not an impossible problem, for example, modern database management systems can enforce such permissions (assuming there are no bugs affecting this functionality in the DBMS). Ideally this kind of functionality should be implemented in hardware, but that is generally more expensive.

In short, making such systems secure and reliable is a fundamentally hard problem.

Perhaps the best example of a voting machine done (almost) right, the Sequoia AVC Advantage, is well explained on Security Now! Episode 211 – Hacking Electronic Voting Machines:
Main Page – http://twit.tv/sn211
Transcripts – http://www.grc.com/securitynow.htm#211

The best documentary I’ve found explaining the problems with Diebold and many other machines is the HBO Hacking Democracy Special:
Google Video – http://video.google.com/videoplay?docid=7926958774822130737#
Main Site – http://www.hackingdemocracy.com/

The Princeton University findings are also good:

And the reason I remembered to write this post, a great post linked by the Electronic Frontier Foundation on Twitter:

Fundamentally in electronic mediums, things like trust are still being developed and are often at best fragile and relatively easily broken and overridden. That’s the reason the heart of democracy still in my opinion requires a paper trail, literally a reliable, stable audit trail of every single vote – because paper is still a known medium that is much easier to protect and much harder to tamper with.

jQuery – Freedom?!

Yes it should have been discovered sooner. But now that it has been…jQuery+jQueryUI is sheer brilliance.

I can immediately see this freeing me from the demands of stakeholders – I can just give them the ThemeRoller tool (since like most developers, I tend to have a terrible sense of UI design) and tell them to choose how they want the site to look and get them to send me the URL or files back. (Of course the hard part has always been getting the site to work and keeping it alive and secured from DDoS/XSS/CSRF and other attacks, but now I don’t have to worry about things like the style of datepickers!)

So why is it so good? Simply put – an excellent pluggable framework for Javascript that unlocks the power of JS, gives the developer great flexibility, and provides better cross-browser support than I probably ever could!

An example related to my current work, building an ASP.NET MVC2 site on .NET 3.5 (c’mon people, .NET 4.0 has been out for a while now).

All I need to do is include in the Site.Master file something like:

<link href="<%= Url.Content("~/Content/jquery-ui-1.8.5.custom.css")%>" rel="stylesheet" type="text/css" />



obviously the actual URLs may be different depending on your project setup, the above come out to something like ../../Scripts/jquery-1.4.2.min.js, but that depends on the context of the request.

Whenever the stakeholders decide to redesign part of the site – it’s update 3 files/references and voila! Whenever performance and security fixes come down the pipeline, same quick update! And in web development, it’s all about taking DRY to the limit =)

So for an actual example, let’s try making a datepicker:

  1. Add the javascript for the datepicker itself, for a basic Aussie date format:

      $(document).ready(function () {
              dateFormat: 'dd/mm/yy',

  2. Add the “datepicker” class to the relevant div or input type=”text” area

    <input type="text" id="releaseDate" class="datepicker"/>

Of course for full details of what’s possible, see the jQuery DatePicker page. http://docs.jquery.com/UI/Datepicker

But remember I said ASP.NET MVC2 ?
That’s something like (simplified):

        model.Title) %>

i.e. using auto-generated view code (literally right-click on a controller ActionResult and click “Add View”) which uses lambda expressions to reference model attributes, or something like that.

The key point is MVC2 abstracts the HTML using the built-in (and extensible) HTML helper classes. Seems like it’s time to write one of those to take advantage of jQuery!

Update 5:29PM – An excellent post by Steve Michelotti covers this very well:

Google Wave killed to focus on the Aussie NBN?


It is well known that Google recently killed their implementation of Wave. It is also well known that Australia’s current Labor government has currently promised to build a $43 billion Fibre-To-The-Home National Broadband Network (NBN). The first nodes are now operational in Tasmania, with (hopefully) much more to come.

It has recently been announced that the NBN will improve its coverage to 93% of the population, and deliver even higher speeds of up to 1000 Mbps (up from 100 Mbps). That’s the same speed promised by Google’s experimental network in the USA for 50,000 to 500,000 people, except it’s potentially on the scale of up to 93% of 22.4 million people. I don’t think anyone at Google Australia missed this…the right kind of sufficiently pure fibre should be capable of 50Gbps or maybe even much more.

Even if only a small portion of Australians actually take up the offer it could easily be on par with the US experiment. If Google, with some of the cleverest engineers on the planet figures out killer apps for Aussie blokes and sheilas and their real families…there’s an easy roadmap for taking the experiment to a level that’s an order of magnitude larger.

However there’s a huge risk – an upcoming election on August 21st, 2010. If the Coalition wins the election, it has promised to kill the NBN, replacing it with a $6.3 billion patchwork of technologies. What does this mean for corporations like Google? Uncertainty – perhaps the single most destructive force for business. Why? Because as a business you can’t easily justify the longer term investments that are often the most productive and profitable. For Google that might mean committing engineers to bandwidth-intensive next generation consumer and enterprise apps instead of whatever more mundane tasks need doing (like babysitting Wave?).

What would a Labor victory deliver? Governments tend to move slowly, by the time of the next election enough of the network will actually have been built (since we’re already about 1 year into the estimated 8 year rollout period) that it will be effectively completed, almost no matter what happens in the election after.

So was the death of Google Wave a coincidence or a masterful strategic move?

Killing Wave frees up dozens, perhaps hundreds of Google employees in Sydney who were working on Wave, likely as their 80% project, to think about and work on architecting, designing and constructing the next generation of applications for the post-NBN world. And that means these Googlers and anyone else in the technology industry may have a huge experimental playground for building things like GoogleTV, videoconferencing, enterprise and cloud services, maybe even healthcare and educational applications or entirely novel things we can barely imagine.

Of course, it depends on how Australians vote on August 21st. Who knows what some of the best engineers and PhD’s could come up with on the next generation of network?

Smart people + passion + bandwidth = ?

Personally I’m excited to think of what might be in the pipeline. Whether this was a happy accident, a random coincidence or a master stroke of genius, I say bring on the innovation!

Why the Coalition’s $6.3bn broadband plan is a waste of money

According to The Australian, under a Coalition broadband policy, we’ll be getting:

  1. “$6.31 billion over seven years”
  2. “$2.75bn to the construction of an optic fibre backhaul network but also relies on at least another $750 million from the private sector”
  3. “$1bn in grant funding for a rural and regional wireless network”
  4. “$1bn to build a wireless network in metropolitan Australia”
  5. “Satellite coverage for the remaining 3 per cent of the population will receive a $700m boost”
Why is this a waste?
Firstly the Coalition could have had another $6.3bn to spend on other things like roads, rail or healthcare.
Secondly they’re building a “optic fibre backhaul network” – that sounds pretty similar to what MFS-WorldCom, New Edge Networks and others in the United States spent over $90 billion on in their technology boom, depending on who you believe much of that is still wasted “dark fibre”.
Thirdly while I’ll agree a wireless network makes sense in rural areas with very low populations, it doesn’t whenever you get more than a few simultaneous users. On a properly built fiber network, you can get the full speed – Labor and the NBNCo are promising 100 Mbps minimum if you are willing to pay for it. That is a guarantee.
On a wireless network (and the Telstra/Optus HFC “Cable” networks) you have what is called contention – when other users use the same network the performance you get degrades. It’s not uncommon for many users to degrade the performance of WiFi 802.11b networks from 11Mbps to 1Mbps or even lower making the network unusable (try this in a university library for example) even with the best algorithms to share the bandwidth.
And consider for a second – everyone on a wireless network must obey the rules – anyone with a misbehaving piece of equipment (or even someone who was deliberately being malicious) could interrupt service – not for one user but for dozens or hundreds – at once.
That makes applications like healthcare monitors for elderly citizens impossible – it’s simply too risky. It also makes latency sensitive applications, like videoconferencing or online gaming, much less engaging (if you’ve had dropped telephone calls in the past – how often have you dialled the person back and how did you feel?)
Fourthly, even if you were *extremely* optimistic about the Coalition’s wireless technology, it might be capable of a peak theoretical 1Gbps with the commercialisation of the still in progress 802.16m WiMAX. Now split that between 100 users per deployed node (10Mbps?). Many metropolitan and regional users today have ADSL2+ DSLAMs featuring up to 24Mbps. However you cut it, the proposed wireless technology either doesn’t exist today or is inferior to existing wired technology, and vastly inferior to a fiber network.
Finally satellite coverage is receiving a $700 million boost. The NBNCo is planning to deploy 2 satellites for rural Australia at $500 million each, providing better bandwidth and redundancy in the event of one failing. There aren’t that many makers of satellites, it sounds like the Coalition might end up wasting $200 million right off the bat and get just a single satellite.
Now I should be clear, I believe in the private sector moving forward with wireless deployment, it has great applications, especially in the mobile phone/laptop/netbook/tablet space. But wireless spectrum is still relatively scarce and relatively limited – and for the forseeable future it will remain so. There’s are many more good reasons the IT industry has wholeheartedly slammed this Coalition broadband plan.