girtby.net » Verisimilitude http://girtby.net this blog is girtby.net Thu, 17 Sep 2009 14:27:44 +0000 http://wordpress.org/?v=2.9-rare en hourly 1 Precisely Wrong http://girtby.net/archives/2009/02/25/precisely-wrong/ http://girtby.net/archives/2009/02/25/precisely-wrong/#comments Wed, 25 Feb 2009 10:36:06 +0000 alastair http://girtby.net/?p=3868 Dan reminds me of a story I heard on an ancient Media Watch episode. It’s Stuart Littlemore-era Media Watch, and is sadly not in the otherwise extensive ABC online archives. hence you’ll have to rely on my somewhat hazy recollection. Don’t worry though, I may have forgotten some of the details, but I remember the punchline.

The story was about a satellite that was crashing to earth. It was almost certainly Salyut 7, which came down in 1991. The memory of Skylab, which crashed in Australia in 1977, was still present in people’s minds. As always, the media was anxious for a local angle, and the possibility of a Skylab re-run, with an added dash of panic-mongering, was too tempting for them to resist.

Media Watch tracked the published predictions of the crash site as the re-entry date approached.

A few weeks out, some media outlets reckoned that that the satellite would fall somewhere in the Indian Ocean, Australia, or the Pacific.

A week out, the predictions narrowed to mainland Australia.

Days away, and it looks more like Western Australia. Towns such as Kalgoorlie are becoming extremely worried at this point. Rumours abound of satellite crash insurance being sold to worried locals.

On February 7 1991, Salyut 7 crashed to earth.

In South America.

Littlemore delivered the punchline, declaring the reporting as “a lesson on the difference between precision and accuracy.”

]]>
http://girtby.net/archives/2009/02/25/precisely-wrong/feed/ 0
Catch The Bushfire http://girtby.net/archives/2009/02/10/catch-the-bushfire/ http://girtby.net/archives/2009/02/10/catch-the-bushfire/#comments Tue, 10 Feb 2009 03:45:41 +0000 alastair http://girtby.net/?p=3842 Earlier today, in an email to Brendan, I attempted some gallows humour in relation to the Victorian bushfires:

Of course this is all divine retribution for the hedonistic lifestyles of those ungodly Victorians.

And then, this.

To the cunts at Catch The Fire Ministries: please catch fire.

]]>
http://girtby.net/archives/2009/02/10/catch-the-bushfire/feed/ 1
Prez Obama FTW! http://girtby.net/archives/2009/01/22/prez-obama-ftw/ http://girtby.net/archives/2009/01/22/prez-obama-ftw/#comments Wed, 21 Jan 2009 13:15:35 +0000 alastair http://girtby.net/?p=3700 The window of opportunity for commenting on the Obama inauguration is closing, so I’d better have my say, I suppose.

I’ve been reading and listening to some of the Bush retrospectives, and this one from the Economist is particularly good (h/t Brendan). On the one hand it’s quite gratifying to see that most of the media has finally woken up to the reality of the disaster that is the Bush presidency, I have to wonder why they didn’t start putting the boot in earlier? Like, say, any time before 2004?

It’s a risky proposition though, reading some of these retrospectives. Exposing yourself to the naked glare of the catastrophe that is the Bush presidency, is to invite madness. Each time I read about one of the epic failures of the Bush administration, I found myself thinking “wow, this is the most important thing for Obama to fix”, before reading on to discover something else which trumped it, and so on. Fix health care? Day one! Shutting down Guantanamo? No, do that first instead! Education reform? Arrgh! It’s all so important and all so fucked! By the end I wished I’d just gazed upon the visage of Cthulhu and been done with it.

So I just hope everyone just understands the scale and scope of problems that are now piled up outside the oval office. And that everyone understands the need for a lot of shoveling just to get the door open. Let’s all — myself included — hope we have the patience to wait until our man can get to work on whatever our individual #1 priorities are.

I think a lot of us found ourselves emotionally invested in Obama during the campaign, and have had an equally emotional reaction to his victory. This is fine, but reality is descending upon us and we need to remember that he is just a man. He’s going to stumble and going to act in ways against our interests or desires. (Some of us felt that way about the FISA compromise, for instance…) At time like these it may pay to look back to the Bush days and realise that, hey, at least we don’t have that fuckhead any more. I don’t know about you, but I’m going to take great comfort in that fact.

]]>
http://girtby.net/archives/2009/01/22/prez-obama-ftw/feed/ 4
Why You Should Learn C++ http://girtby.net/archives/2008/09/30/why-you-should-learn-c/ http://girtby.net/archives/2008/09/30/why-you-should-learn-c/#comments Tue, 30 Sep 2008 11:29:00 +0000 alastair http://girtby.net/2008/09/30/why-you-should-learn-c Not all software development projects can sustain a reasonable living. Anyone who has worked as a professional developer will take this truth as self-evident. It’s a sad occurance, but often developers for notionally worthy projects find themselves having to abandon their dreams and find gainful employment elsewhere. The failed startup and the abandoned open-source project are all-too-common manifestations of this.

I don’t have a solution for this problem, but I mention it in order to define a set P, which is the set of all software development projects that can sustain a reasonable living. Now let’s divide P into the subsets I and B.

The 010 Types Of Projects In The World

Let I be the subset of P that are Interesting projects. This is obviously a subjective criterion, but for the sake of argument I’m asking you to adopt my own definition. Interesting projects are characterised by being algorithmically complex, and performance sensitive. They possibly involve large amounts of data, or an intrinsically distributed problem domain, and almost always strongly linked to mathematics. In my time I have worked on some I-projects. Most recently: native-MPEG video splicing, network performance benchmarking, and real-time automated trading.

Let B be the complement of I. Again, I’ll ask you to adopt my subjective definition. Projects in the B set are typically data-centric, focusing on moving a bit of data from one place to another. There’s almost certainly a relational database in there somewhere. And probably a user interface with forms, into which mindless drones spend are to spend their days keying in meaningless data. It’s called CRUD for a reason.

In order to make B-projects at all tolerable for the developers, they are typically sexed up with the use of inappropriate technology. Enterprisey solutions emerge, gratuitously over-engineered in the hope that developers won’t impale themselves on their own keyboards out of sheer boredom. It’s a sure sign that architectural astronautics has hit reality-escape velocity when terminology is co-opted from Interesting projects; so there is probably a web services “stack” and a message service “bus” in there somewhere. But to those who care to cast a critical eye, these projects are simply moving data from one place to another, with very little transformation or aggregation or any other algorithmically tricky task required along the way.

The Developer’s Dillema

So: you’re a developer. The most recent rent cheque has bounced and you’ve finally admitted to yourself that you need to shelve your world-changing open source project and go out and find a paying gig. Which type of project are you going to look for?

“Well, der,” you might think, having looked at the title of this article, “anything that doesn’t involve coding in C++! That language is a crock of shit!”

To which I say: not so fast there bub. I’m just going to put this out there; of the I-projects, that is projects that are interesting and pay the rent, a substantial proportion are written in C++. In other words, C++ is over-represented in the I-projects and under-represented in the B-projects.

Attempt at explaining it all with a venn diagram

All of my recent I-projects have been C++ projects. So, whatever you may think about the merits or otherwise of C++ as a language, it has great jobs. Hey, if nothing else, you’re not likely to have to deal with WS-*. This is a good thing.

This is a simplification: obviously the job involves more than just the project. You may have to deal with poor air conditioning, the Virtual Furniture Police, obnoxious co-workers, or even (and I wouldn’t wish it on my worst enemy) commercial radio. <shudder/>. For the purposes of this article I’m going to assume these inconveniences are more-or-less evenly distributed across the P set, with no net disadvantage to C++ projects.

Now in case I haven’t sprinkled this post with sufficient disclaimers of subjectivity, let me make one more. This is all based on my experience of the developer job market, mostly here in Sydney. Your experience and opinions may differ, and good luck to you if they do.

The Rise and Purge of C++

C++ itself used to be fairly evenly distributed across the P set. There was a time when it was just the default language and, despite the compiler writers valiantly struggling to keep up with a rapidly — and imaginatively — evolving standard, it was still widely used on all types of P projects. Especially the B projects; C++ and its enterprisey friends like CORBA were the way that we sexed up our data-centric applications back in the mid-90s.

Then Java came along and everyone who worked on B projects got swept along with it. At the time Java seemed like a huge step forward and allowed us to soar to dizzier heights of architectural astronautics. All that CORBA, SOM, COM and other nonsense would be re-invented in Java land, this time with a vague chance that it might work. For whatever reason it seems that the I projects were less affected by the Java bombshell (or by mixed metaphors, for that matter).

So fast forward to the present day, and we have all sorts of dreary jobs hewing enterprisey architectures out of raw Java, or C#, or even VB.NET, whatever the hell that is. C++ is yesterday’s news. The only projects still using it are, well, projects from the I set. Or, Dog help them, some projects still lumbering on from the 90s. You probably don’t want to work on one of the latter, but you almost certainly do want to work on one of the former. Being able to tell the difference is obviously a pre-requisite before putting the C++-has-best-jobs idea into practice.

C++ : It’s Not That Bad, Really

At this point you may well be thinking “well, C++ may be common amongst interesting projects, but only a few years ago you could say the same thing about FORTRAN, and I’d rather gouge my eyes out with a novelty mousepad than have to gaze upon code written in either of those languages!” And I sympathise with regards to FORTRAN, but modern C++ should not warrant such a reaction.

In 2001 a chap called Andrei Alexandrescu published a book called Modern C++ Design. Despite the ominous inclusion of “modern” in the title (to me that word always seems to denote the anachronistic), it was really groundbreaking and is still highly recommended reading. Alexandrescu showed the potential of the so-called generic programming style, which is enabled only when you have a truly powerful (albeit sometimes arcane) template system.

To those who, like me, struggled to use the early incarnations of generic programming, such as exhibited in the Standard Template Library, the book was something of a revelation. Today, the Boost libraries are enabling these idiom changes and in some cases going way beyond the potential glimpsed in Modern C++ Design. The result is that small-m modern C++, as exhibited by Boost itself, is nothing like the C++ of yore.

C++ has a bit of a bad reputation (as per the Linus quote above), and it is sometimes justified, but too often online I see noses turned up at C++ in favour of cooler dynamically-typed languages like Perl, Python and Ruby. But maybe this is based on an outdated perception of the C++ language, at least as it is practiced today, because you certainly can use dynamic typing in C++, for one thing.

I think it’s fair to say that if you were designing a better C from scratch these days, you probably wouldn’t end up with C++. But regardless of the mistakes made in the design of C++ — and I think the C++ Frequently Questioned Answers page captures most of them — I think the language has aged reasonably well. I’m certainly looking forward to C++0x, the next standard with many interesting features.

Spot The Ulterior Motive

To recap: there are many interesting projects in C++, and despite what you may have heard, it’s really not that unpleasant to code in.

So, go learn C++.

If you already know it, then good news! There are great jobs around. Who knows, if you email me, I may be able to help you find one.

]]>
http://girtby.net/archives/2008/09/30/why-you-should-learn-c/feed/ 22
Bayes’ Theorem 1, Mandatory Filtering 0 http://girtby.net/archives/2008/07/31/bayes-theorem-1-mandatory-filtering-0/ http://girtby.net/archives/2008/07/31/bayes-theorem-1-mandatory-filtering-0/#comments Thu, 31 Jul 2008 11:41:00 +0000 alastair http://girtby.net/2008/07/31/bayes-theorem-1-mandatory-filtering-0 Unfortunately the Rudd government are pressing forward with their proposal for mandatory internet filtering. Recently, Electronic Frontiers Australia summarised the results of an analysis of current ISP-level filters commissioned by my old mates at ACMA. The figures are frankly begging to be plugged into Bayes’ Theorem, so let’s do that.

Firstly some terms. Let “P” be the event of discovering a Porn site on the internet. Let “N” be the converse event: discovering a Non-porn site. Let “+” be the event of a postive detection by an ISP filter. And obviously by “porn” I mean “inappropriate material”, the definition of which may or may not coincide with the Government’s; for the (admittedly rhetorical) purposes of this exercise it doesn’t matter too much.

One of the key assumptions we have to make is P(P), or the probability of discovering a porn site. Obviously this depends greatly on how hard you’re searching for it! Now I don’t know about you, but I find that I almost never stumble upon a porn site by accident. Almost all of my regular news sources are relatively clean, or use the NSFW tag generously. But I’m quite happy to concede that my web habits are non-representative. So let’s just assume a regular family internet connection with a moderate amount of parental supervision, with a 5% chance of accidentally stumbling on porn. This still seems quite high, but it will suffice for now.

To do the calculation we also need:

  • P(N), which is pretty obviously 1 – P(P), or 0.95.
  • P(+|P) is the probability of a positive detection by the filter, given a porn site. According to the report, this varies from 87–98%. Let’s be generous and say a probability of 0.95.
  • P(+|N) is the probability of a false positive detection by the filter. Again the results vary, this time from 1.3–7.8%. Let’s use a similarly generous probability of 0.04.
  • P(+) is the probability of a positive detection given any input. This is calculated by adding P(+|P) × P(P) and P(+|N) × P(N).

Now using Bayes’ Theorem we can calculate P(P|+). In other words: if a filter blocks a given site, what is the probability that it was porn?

P(P|+) = P(+|P) × P(P) / P(+)
       = 0.95 × 0.05 / ( 0.95 × 0.05 + 0.04 × 0.95 )
       = 0.55

In other words, each time the filter blocks something there is an about even chance that it wasn’t porn. In my opinion this is sufficiently damning evidence to show the worthlessness of any of these filters.

So obviously we made some assumptions about the prevalence of porn, and hence the probability of discovering it. If we assume the internet is 50% porn, then the filter starts to look vaguely effective:

P(P|+) = P(+|P) × P(P) / P(+)
       = 0.95 × 0.5 / (0.95 × 0.5 + 0.04 × 0.5)
       = 0.96

But this is clearly a ridiculous assumption. If, on the other hand, we say that P(P) is lower, maybe a 1% chance of stumbling on porn — which frankly still sounds high to me — then the filters look even more useless:

P(P|+) = P(+|P) × P(P) / P(+)
       = 0.95 × 0.01 / ( 0.95 × 0.01 + 0.04 × 0.99 )
       = 0.19

So if the filter is blocking something, there’s an 80% chance that it wasn’t porn! Fantastic! For some reason these calculations seem to be missing from the ACMA report.

See the EFA analysis for more on the mandatory filtering, and while you’re there, join up. I have.

]]>
http://girtby.net/archives/2008/07/31/bayes-theorem-1-mandatory-filtering-0/feed/ 8
Righting Past Wrongs http://girtby.net/archives/2008/02/13/righting-past-wrongs/ http://girtby.net/archives/2008/02/13/righting-past-wrongs/#comments Wed, 13 Feb 2008 23:23:00 +0000 alastair http://girtby.net/2008/02/14/righting-past-wrongs Yesterday’s apology to the Stolen Generation was a very moving and hugely significant moment in Australian history. For most of my life the many problems of Aboriginal people in this country have seemed intractable, even hopeless. This is the first time in many, many years that visible and meaningful progress has been made. I hope the importance of the occasion is adequately reflected in the global news coverage.

The speech itself (video) deserves special mention I think. It pleases me greatly that Kevin Rudd found just the right words to represent my view and (I hope) that of most other right-thinking Australians. Worth a listen.

Local news coverage has of course been blanket, and peppered with the obligatory contrasting views.

The most famous of the contrary views is that of the ex-PM John Howard who notoriously claimed that he saw no reason to apologise for past deeds because they were committed by a previous generation. This has a simple, possibly obvious rebuttal, but I have not heard it mentioned in the media so I’ll state it here.

If (hypothetical) you wish to renounce the wrongdoings of the past, you are free to do so. However, to be consistent you must also renounce the achievements of the past.

Can you imagine John Howard renouncing the sacrifices and achievements of the ANZACs? His past sporting heroes? His hero Robert Menzies? No, I can’t either. However it is necessary to do so in order to avoid the responsibility for the Stolen Generation.

In simple terms, you have to take the good with the bad.

For Aboriginal Australia, the good has been in short supply of late, and it’s very gratifying to see signs of change.

]]>
http://girtby.net/archives/2008/02/13/righting-past-wrongs/feed/ 1
Reality Distortion vs. Reality http://girtby.net/archives/2008/01/21/reality-distortion-vs-reality/ http://girtby.net/archives/2008/01/21/reality-distortion-vs-reality/#comments Mon, 21 Jan 2008 23:32:00 +0000 alastair http://girtby.net/2008/01/21/reality-distortion-vs-reality Herewith, some comments apropos of the Macworld 08 Keynote, specifically Randy Newman’s performance at the end.

Firstly, the Keynote as a whole seems to have moved from slick-but-reality-distorted marketing into the realms of straight-out entertainment. Apple are simply leading the pack, and I expect Microsoft and others to follow (e.g. Bill Gates’s CES keynote). At the end of the Keynote, Randy Newman sang a couple of songs and rambled (fairly incoherently I thought). Part of the monologue was related to Apple as he said that “this company” wasn’t like the others; although it was sufficiently vague that he could have been talking about Pixar instead. And aside from this one mention, Newman could have been playing a set on a late night chat show or something.

The convergence of entertainment with marketing is taken to an extreme in Jon Armstrong’s excellent and hilarious novel Grey (available for free on audio podcast from his site). Without giving away too much, in the world of Grey, corporate marketing includes “publicity dates” between members of the respective CEOs families, the resulting courtship is eagerly devoured by a gossip-hungry public, and actual information about the products or the company is completely ignored. In a similar vein, future MacWorld Keynotes could easily include dance routines from Steve Jobs’ offspring. OK maybe not, but you have to wonder where it will end.

My second point is that the flavour of entertainment on display at the Macworld 08 show was particularly inappropriate I thought. The message came through pretty loud and clear: Randy Newman doesn’t like the Bush administration. The song A few words in defense of our country makes the case that the current US government is bad, but not as bad as it could have been, in comparison to the Roman Caesars for example (setting the bar rather low I would have thought).

Criticism of the Bush administration is something I obviously have a lot of time for. But is it suitable for a consumer product launch?

To those apparently many people at the launch who were pleased with Newman’s performance; please ask yourself how you would have felt if the entertainment had taken a position contrary to your own. Mark Nottingham described this exact situation a few years back. I have been in a similar situation, albeit on a smaller scale; prior to the Iraq invasion I was at a business meeting where one of the attendees made his clear pro-Bush views known, much to my discomfort.

Mix politics with business and you take a risk with a relatively small upside but a big downside. If your politics match mine, we are no more likely to do business together than before we knew each other’s positions. But if our politics disagree, this difference becomes a barrier that we each have to overcome in order to do business together.

I’m not arguing for censorship or anything. I’m just saying that the separation of politics and business is crucial for the success of both.

]]>
http://girtby.net/archives/2008/01/21/reality-distortion-vs-reality/feed/ 5
Where’s The Mandatory Filtering For Government Stupidity? http://girtby.net/archives/2008/01/03/where-s-the-mandatory-filtering-for-government-stupidity/ http://girtby.net/archives/2008/01/03/where-s-the-mandatory-filtering-for-government-stupidity/#comments Thu, 03 Jan 2008 10:51:00 +0000 alastair http://girtby.net/2008/01/03/where-s-the-mandatory-filtering-for-government-stupidity I’m still in holiday mode and have not spent much time online studying the reaction to the idiotic mandatory filtering proposals from the new Rudd government, but I expect this editorial published in the Australian is mostly representative. I disagree with none of it.

However I just can’t help passing further comment, mainly because there is a lengthy discussion in the previously-mentioned Lessig book which outlines what I would consider an acceptable regulatory framework for controlling access to content online. So please feel free to peruse it for yourself (the section titled “Regulating Net-Porn” in particular), but it might be summarised as requiring publishers to rate their content in accordance with pre-existing legal standards (eg a “harmful to minors” HTML tag), which would in turn create a market for end-user filtering technology.

But instead of this, what are we getting? Mandatory (but perhaps a per-customer ‘opt-out’ ability) filtering of some vaguely defined standard using not-at-all defined technology and with not-at-all defined procedures for redress of inappropriate filtering. Just like the internet connection at work, in other words.

The point that strikes me upon reading Lessig’s book is that if filtering is to be performed (and I reiterate the point that I am not against it) it is better that it be performed by the government, in accordance with acknowledged moral standards, with process transparency and accountability. None of these are guaranteed (nor likely) if private interests are involved in filtering our content. As Lessig says:

It has taken key civil rights organizations too long to recognize this private threat to free-speech values. The tradition of civil rights is focused directly on government action alone. I would be the last to say that there’s not great danger from government misbehavior. But there is also danger to free speech from private misbehavior.

But in handing the filtering problem to the ISPs, the government is effectively absolving themselves of the responsibility to implement it as intended. ISPs will of course implement the content filtering using the cheapest solution they can find, even if the false-positive rate is 99.5%.

On the other hand they could require the ISPs to block sites on ACMA’s blacklist. And we all know how well that will work, right kids? But the point is that at least with ACMA you have some recourse.

I think that requiring government accountability is the key to ensuring an acceptable outcome. If they are serious about the problem of content finding an inappropriate audience, lets see them own that problem, not just outsource it to the ISPs and hope for the best.

]]>
http://girtby.net/archives/2008/01/03/where-s-the-mandatory-filtering-for-government-stupidity/feed/ 0
Code 2.0 http://girtby.net/archives/2007/12/20/code-2-0/ http://girtby.net/archives/2007/12/20/code-2-0/#comments Thu, 20 Dec 2007 11:42:00 +0000 alastair http://girtby.net/2007/12/20/code-2-0 Cover of Code 2.0 by Lawrence LessigSo I recently finished Lawrence Lessig’s Code 2.0 and I am compelled to pass some sort of comment on it. Book reviews aren’t really my strength, but this one definitely deserves attention of some sort.

First the easy stuff. This book is a new edition of an earlier book with the obvious title. The changes and updates have been through an interesting process whereby the entire text of the book was posted on a wiki and anonymous contributions were invited to produce the successor. This might make you a bit wary about the overall continuity and structure of the book but I’m happy to report this is not a problem at all. Follow the link above and you’ll note that the entire text of the book is still available online, and indeed contributions are currently being sought for Code 3.0.

As you might expect from a Creative Commons founder, Lessig is putting his money where his mouth is by putting it all online under a CC license. Notwithstanding this, you’ll probably want a paper version. I bought my copy through my usual source, the Book Depository (£8.40 shipped anywhere).

OK so it’s already an interesting book, but what is it about? (You may be wondering) Let me see if I can do it some kind of justice.

For me the book is an extended but highly thought-provoking discussion of the interaction between technology and law, underpinned by an impeccable understanding of both. A key concept that Lessig introduces early on in the book is the idea that regulation of human behaviour occurs through four “modalities” of control operating together in varying degrees.

These modalities are: the law, social norms, markets, and “code”. The latter term obviously invokes the world of the internet primarily, but the same principles extend quite elegantly into real-space by simple substitution of the term “architecture”.

In any given situation, our behaviour is regulated by one or more of these modalities. He uses the example of breaking into your neighbours’ house to steal his new TV, obviously bad behaviour that we wish to regulate. The obvious reason why you don’t engage in this sort of behaviour is because it is illegal and you face punishment if you do. But in addition social norms also act to restrain you in a similar manner. The market exerts a kind of restraint because if you can afford a new TV yourself, you’ll hopefully be more motivated to just go and buy it yourself instead of stealing it from your neighbour. The last modality at work here is of course the architecture of your physical environment, which includes physical barriers (locks on the doors & windows) that also act as a constraint on your behaviour. The combined effect of these modalities is that your neighbour’s TV is kept safe.

The bulk of the book explores how the different modalities interact, and how governments can and should regulate behaviour by manipulation of each of these, particularly online.

A key premise is the (quite easily observable) fact that on the Internet, code dominates most of the other modalities of control. For example, the reason why you can’t post defamatory content in comments on this blog is that I will delete them and (if you persist) block you. The same applies to spam, albeit with reduced efficiency.

However, my reasons for blocking you are crucially not informed by any kind of constitutional values. And while that may be OK for my humble blog, it is almost certainly not in the general case. A key theme which resonated with me is the degree to which online behaviour is increasingly being regulated by code under the control of private interests.

The book spends considerable time exploring the nature and degree to which the existing US constitutional institution is challenged by technology. The concept of “latent ambiguity” is introduced, where technology has evolved to force an ambiguity in constitutional principles that the framers had never envisioned. This is explored in issues relating to intellectual property, privacy, and free speech among others. Such ambiguities need to be resolved adequately before the government can adequately regulate behaviour through code.

This is pretty fascinating stuff if, like me, you have a passing interest in technology, society and the law. Whilst reading I found myself pausing many times to consider the ramifications of what Lessig was saying in the book.

Being an accomplished lawyer I would assume Lessig knows his law, but I can confirm that he is also extremely technology-savvy. It is scary at times how quickly he can explain deep technical issues and instantly distill relevance to society in general and the law in particular.

Because of the scope of the book he is necessarily explaining legal issues to a technical audience and vice versa. I’m happy to report considerable success at the former. He is a patient explainer of issues, leading the reader carefully through a background of objective historical and current facts to thoughtful analysis before venturing (with appropriate disclaimers) into opinion and speculation.

This is not to say that the book is an easy read. The issues are big and necessarily complex. I found myself sometimes having to reread sections and will probably re-read the book (probably when Code 3.0 comes out). There is a lot to digest and think about here.

If I had to criticise anything it would probably be that Lessig sometimes assumes too much familiarity with the US constitution, particularly the Bill of Rights. For foreigners like me, a quick refresher on these before reading the book will probably help.

Overall, a highly recommended book. Should definitely keep you busy over the holidays.

]]>
http://girtby.net/archives/2007/12/20/code-2-0/feed/ 0
Just Call 1-800-DONT-BLOG http://girtby.net/archives/2007/09/20/just-call-1-800-dont-blog/ http://girtby.net/archives/2007/09/20/just-call-1-800-dont-blog/#comments Thu, 20 Sep 2007 09:52:20 +0000 alastair http://girtby.net/2008/03/03/just-call-1-800-dont-blog Some timely and sensible comments from Peter Marks on Radio National breakfast this morning, concerning the 2Clix / Whirlpool stoush. He made the point that the best way for companies to respond to adverse criticism online is simply to engage in a discussion.

I can vouch for this based on experience here on this blog; long-time readers will recall the response I got when I called a certain company “wankers”. A representative argued his case, and although I didn’t agree with him, nor change my mind about their product, it was certainly the best possible way for them to respond. See also the response I got from Internode’s CEO when I mentioned their service.

One other point I would make while we’re dispensing advice to companies trying to deal with online criticism. You should not only try to understand why your customers are upset, but also why they feel that public forums are appropriate for their grievances. It could be that they have tried and failed to contact you in some other way, and that the public forum is (or is viewed as) the only remaining option to air their grievance.

I shall illustrate this with a recent example, coincidentally also serving to air a grievance of my own. Case in point: flowers.com.au

Yesterday I went to their eponymous site and attempted to order a bunch of flowers. Having ordered from flowers.com.au once before, I was expecting a smooth experience. And it was, up until the point that I entered my credit card information and hit the submit button. The response was this:

Server Error in ‘/’ Application.

Object variable or With block variable not set.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object variable or With block variable not set.

… and so on, including detailed instructions on how to enable debug mode, and the stack trace showing some of the inner workings of their Visual Basic website.

I’m sure that the .NET framework is trying to be helpful here, but in my opinion it is doing exactly the wrong thing. Surely if you’re running in release mode there’s a good chance that it is your actual customers who are viewing the error screen, so producing detailed errors like this is probably not a good idea. The standard approach taken by Google and others, namely the “something bad has happened, we’ve logged it” page, is definitely preferable.

Now because this error happened when processing my credit card details, I’m especially concerned. Did my card get charged? If so, did the order go through? In many years of shopping online I can’t remember ever encountering a failure such as this one; generally e-commerce sites make damn sure that their payment system is working 24-7. So I’m a bit surprised as well as confused. This is pretty much the worst way for the website to fail, for all concerned.

But no worries, the rest of their website is working, so I’m able to look up their contact details. They have a phone and an actual email address (as opposed to one of those horrible “email” web forms). I don’t want to phone because I don’t want to have to read out that horrible error message. It’s easier and more convenient for me to copy’n'paste the error message into an email.

The response? None so far.

Fail to complete a credit card transaction, and then fail to respond to queries about it? I think that’s enough to earn the “wanker” title. So: flowers.com.au, you are wankers.

So the question is: what do I do next? In truth, completing the transaction is no longer my priority. Even if I did get them ordered, the flowers are never going to arrive in time, so I need to make alternative arrangements anyway. And I also need to verify through my bank that the transaction was not completed. And that’s before I make any other attempts to contact the merchant. So at this point I get a far higher return on effort by posting publicly about my experience. At least that’s my perception. And I suspect many people who post negative experiences online do so because they have the same perception.

Even if I’m wrong about this, it would still seem to be prudent for companies to understand more about their customers motivations in posting grievances publicly. And not suing, obviously.

]]>
http://girtby.net/archives/2007/09/20/just-call-1-800-dont-blog/feed/ 0