Dear Lazyweb

I am trying to find a cartoon I saw, but my Google foo is failing me completely. I thought it was an XKCD, but I have trolled the archives and appear to be mis-remembering where I saw it. Maybe in someone's journal. Maybe on Facebook. Who knows.

The cartoon is a graph depicting the energy/anxiety levels in a graduate student before during and after they go on a holiday.



EDIT: Thanks to kazmat for the neatest correct entry. :-)

Lazyweb: SIP Providers to USA

Dear lazyweb,

I'm trying to find a few reliable SIP providers to US destinations. By this I mean companies that we talk SIP to, and they gateway the calls to US destinations via the PSTN. We have a Cisco Call Manager at our end, with an Asterisk SIP proxy as the gateway. The hand-off needs to be G.711 (we don't have G.729 licenses on the Asterisk box at present). It needs to support Telebloc DNC lookups/blocking. That's it. Not too hard. You'd think we could find a decent, reliable, tecnically capable company to deal with. Suggestions are hereby sought.

It'll be used by Dialers, so should know how to tear down calls fast, rather than assuming it's talking to humans on our end.

Aussie flag

A Fire Update

Victoria continues to burn. At last count, there are dozens of fires currently burning, and the current official death toll is 210. The latest fires are now burning in Melbourne's outer east: Warburton, Belgrave, Upwey, and Narre Warren. There are also new fires near Daylesford, in Gippsland, and on Wilsons Promontory (which they may have to just let burn out because of its inaccessability). This thing is far from over. And we still haven't had any rain this year.

Some links: ABC News, The Age, CFA

Aussie flag

Black Saturday

Last Saturday brought the worst bushfires in Australia's history to town. Melbourne recorded an all-time high temperature (in recorded history) of 46.2C/115F with strong northerly winds bringing the heat from central Australia tearing down across the state, which was tinder dry from 10 years of drought.

Entire towns were wiped from the map, and the current death toll stands at 173, but there are many areas that fire fighters have not been able to enter yet. It's very grim. I was not directly affected, but I know many people who were. All the news broadcasts have been extended by at least 30 minutes on all channels, as the news organisations joust for positioning as only they can.

Some articles that are worth reading include:
Grieving Victoria takes stock (ABC News)
How we cheated death (The Australian)

And a favourite of several of us, BigPicture, has just done a photo series.

And, of course, this one.

And Web 2.0 jumped in, of course, with twitter and several Google maps mashups of the fires.


Plus ça change

Watching this documentary on (building) architecture [1], I was fascinated (and amused) by the parallels with software engineering/construction of the pre-Internet era.

It turns out (which shouldn't be a surprise) that many of the great buildings -- those buildings that receive much press recognition for their design -- have ignored issues of maintenance in their design, and subsequently caused massive headaches and costs for the eventual occupiers and property managers. It also turns out that the architects never return to visit their "masterpieces" but move onto new things, never looking back, and never learning from actual use where their errors were. Sounds a little familiar, right?

This is a problem that plagued the software development (I'm avoiding calling it "software engineering") industry for decades and is only now giving way in the age of Internet-based application development and incremental development methodologies like Agile Programming.

In the Grand Olde Days, the "A" team of more senior (seasoned, not necessarily better) architects and developers would create a specification (system/software architecture) and hand it down from on-high to the waiting programming teams. These teams would code and deliver the first release of the software, immediately moving onto another important project that required their expertise. Maintenance would be performed by a "B" team of lesser people, unfamiliar with and having to reverse engineer the original code base in order to deliver bug fixes and feature requests, and to keep the code base working as the production computing environment around the application changed. Of course, the lessons learned by these maintenance activities were never learned by the "A" teams, because they never had to maintain their code bases and never even saw the consequences of their poor decision making during the design and coding phases of the project.

This formal, unidirectional waterfall model (described in Peopleware as the "'Big M' methodology" approach) reached its apex in the late 80s where a reductionist view of software engineering, conflated with bad management theories that refused to acknowledge the well documented [Facts and Fallacies in Software Engineering, number 2] 28-fold difference between poor and great programmers, software development was governed by formal methodologies (essentially multi-thousand page procedure manuals) which worked on the basis of all programmers being of equal productivity and zero creativity (and, hence, readily interchangeable and replaceable, just the way HR departments like it).

It was only a matter of time before this would give way under its own weight, and the pendulum began to swing back towards less formal methodologies around 1999 with Extreme Programming. These approaches recognised the reality that more than 60% of the system life-cycle is spent in maintenance [Facts and Fallacies, Rule 41]; that the environment into which a system is deployed is fluid across its production life, and not at all like the system was at the time when design began; and that even if the above were not true, the desired functionality of the system is equally fluid, governed both by the dynamic nature of the eventual marketplace and actual experience with whatever system is finally delivered.

This more organic, iterative software development model was well suited to the Internet, where the software release costs are almost zero (no media production or distribution costs), the time-to-market more critical, and the ability to release and tune features based upon usage information greatly enhanced. Also, web startups used small software teams, where there would be less reason (or cost justification) to have separate primary build and maintenance teams. The perfect storm had arrived, and as primary software teams began to maintain their own code, and learn about dynamic production environments, a new maturity began to emerge.

Alas, because this new maturity was emerging from developers (with little or no sysadmin experience), and was emerging at each Internet start-up independently, this was going to be the beginning of another long journey.

When I first wrote [Production Ready Software, 1999 (pdf)] and spoke [SAGE-AU 2001 (Adelaide), LISA 2001, OLS 2003, Release Engineering (USENIX 2005)] about these problems and the swinging methodology pendulum, I realised that whilst individual programmers were starting to gain insight into operational issues, there were two problems: firstly, each programmer was doing this individually, and thus there was lots of duplication and solutions were bespoke and rarely shared beyond an IT group; and secondly, there were actually three layers of operational controls (aka serviceability criteria) that needed to be implemented, exposed and documented for the system administrators: (1) application-level maintenance controls; (2) site-level maintenance controls, which should be common amongst all applications for a given site; and (3) industry-level controls, which should be present on all applications from all vendors, and consistent across all applications in their names, and usage.

Operational Controls cover things like: installation and customisation instructions; daily production management activities (availability management, user management, log management, data management); and exception management (error conditions, failure modes, diagnostic tools). Additionally, applications must expose rather than mandate things such as filesystem locations such that they can be made to conform to local filesystem and naming conventions.

Wouldn't it be nice if these controls were standardised across all products, so that sysadmins only had to learn one "maintenance language"?

In future essays I'll go into details on the various controls that need to be exposed.

[1] Oh, and it was interesting to see one of the architects interviewed was Christopher Alexander.


The Ongoing Saga of a Leopard Upgrade

[Updated Below]

I know a number of the people who read this are fellow mac owners, so I thought I'd post this in the hopes of getting assistance on some of the outstanding issues.

I recently (finally) upgraded from Tiger (10.4.11) to Leopard (10.5.6). I had been meaning to for a while, but knew there would be issues. Alas, the latest Tiger update caused my MacBookPro to fail to boot (verbose mode showed it failing to recognise a bunch of USB hardware -- which is an issue when nothing is plugged in!), so it seemed like a good way to solve the problem was to upgrade. (Besides, Leopard was a convenient bootable image lying around.)

The upgrade itself was slow but without incident, but all was not well once it had finished...

First up, my iPhone would no longer sync with iTunes. It just seemed to not recognise that a phone was plugged in. A bit of googling solved that one -- I had to re-install iTunes. Obviously something wierd/broken with the Upgrade copy of iTunes. (I was going to do the DFU rollback, but it didn't turn out to be needed.)

Second, OmniGrowl was causing a "reset" of the CD-ROM drive (making the boot/eject noise) every few minutes. I found that one, too. Turning off SMART testing fixed that. (I have SMARTreporter for that, anyway.)

That's where the good news ends. Here are the open issues:
  1. My biggest problem is that Mail.app doesn't work anymore. It won't display any mail, and it hangs when I try to quit. The mail appears to have been converted from the Tiger file format to the Leopard file format, but my foo has failed me, and I can't find a good synopsis of the changes, or how to rebuild the mail files from the command line. (Attempting to rebuild from inside Mail.app does nothing.)
  2. A niggly one: iStat Menus works fine, but drops the memory monitor across reboots. I have to go into the System Preferences panel and re-enable the memory module. Anyone? Beuller?
  3. Appzapper hangs when I tell try to use Genie mode to find the apps loaded onto the system. Makes cleaning up stuff a bit harder.
That's the lot I've noticed so far. Overall, I'm happy. Leopard seems faster, and watching the memory usage makes it clear that (as expected) Spaces is more intelligent about memory than the very leaky VirtueDesktops was.

I re-applied the 10.5.6 update, but that didn't make any difference.

Help appreciated,


Update 1: Fixed the mail problem. New Mail update didn't do it. Restoring 10.4 mail directory and letting it re-convert didn't do it. Per a MacFixit suggestion, I removed the preference file (~/Library/Preferences/com.apple.Mail.plist), then re-created the accounts. This fixed it! Interestingly, without this, I couldn't even see local mail folders, but they re-appeared intact, too.

  • Current Music
    TV in background
  • Tags

OMG: US Drug Ads

I had forgotten how truly wierd and wonderful drug company ads are in the US. In Aus, drug companies can't advertise directly to the public, so patients don't ask their doctors for particular drugs; they relay their symptoms and the doctors decide what medication is best. (And kickbacks, and sponsored events, etc. are controlled, too.)

In the US, the drug companies can advertise, but they have to include the likely side-effects and counter-indications. Which leads to ads like this:

You'd have to be really depressed to want to ask for this drug after hearing the potential side-effects!
I think the tag line should be, "Depression hurts; Cymbalta hurts more!"

  • Current Mood
    amused amused
  • Tags

Travel - November 2008

For those interested:

Chicago: November 3rd to 8th. I wanted to (a) visit family, and (b) be there for Election night!
San Diego: November 8th to 15th. LISA 2008. See you there!
San Francisco: November 15th to 19th. I'm tossing around the idea of Seattle instead.

Let me know if you want to make catch-up plans.


  • Current Mood
  • Tags