Some prominent bloggers have recently asked the question “Why don’t people care about freedom 0?” To me this just raises the question “What is this freedom 0 stuff anyway?” Herewith the (lengthy) results of my own attempts to find out the answers to both of these questions, and even raise some of my own.
Code 2.0
So 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.
Getting Double-Blind
So in my discussion about headcycles I alluded to the possibility of detecting audio compression flaws with my fancy new equipment. By this I mean artifacts that are introduced as a result of the lossy process that squeezes audio into MP3s, AACs and so forth. I decided to conduct a double-blind test on myself to test that hypothesis.
The Quality of Information is Not Strain'd
Some half-arsed pseudo-philosophical ramblings follow. It starts with some musings on transistors and eventually circles around to show some relevance to current events, specifically the climate change debate. But be warned, it will take a while.
The Militant Atheism Delusion
Some brief thoughts on The God Delusion, Richard Dawkins’ latest book.
I was initially reluctant to read The God Delusion, on the assumption that it was going to tell me a lot of things I already know, and reinforce views I already have. And I assumed that it was just going to make me cross. Upon reading it, and re-reading it, I do commend this book to other atheists, wavering atheists, and especially to agnostics. And of course open-minded religious people. For me the surprises were:
- A systematic cataloguing of the dubious moral lessons contained in the bible;
- A detailed demolition of the idea that science and religion occupy separate “magesteria”, where each is entirely independent of the other;
- Some interesting observations on the extent to which supposedly secular societies can bend over backwards to accommodate religious belief;
- A fascinating chapter on the possible Darwinian explanations for the origins of religious belief as a near-universal human trait;
- Popularising the term “American Taliban” to refer to fundamentalist Christians in the US;
- Meditations on the extent to which our perceptions are drastically limited by our evolutionary legacy.
The latter point culminates in a particularly inspiring passage at the end of the book. Dawkins channels Sagan in looking towards science to inspire us through new perceptions of the world.
Although there is plenty in the book that is contrary to established religion, Dawkins spends considerable time on the power of science to inspire and to “raise consciousness” (as he puts it). So it’s not all bashing the bible-bashers. But when doing so he is quite forthright and provocative. The title itself says it all, although I get the feeling he would have preferred “The God Hypothesis” as a title because that phrase occurs far more commonly in the book. Still he devotes some time to explaining his tactics, namely to avoid a confrontative debate with his opponents.
As evidenced by a recent appearance at a Lynchburg, VA university, he is clearly not an aggressive man. He listens thoughtfully and responds succinctly and clearly. This article in the New Humanist discusses Dawkins’ tactics further with reference to that incident, and includes a highly telling response to one question: “I hadn’t thought of that”.
I’m rambling on about tactics because some of the reaction to the book has tried to paint the picture of a rising new force of “militant atheism”, lead by Dawkins and others. For example, Richard Bernstein in the IHT, and Tobias Jones in the Guardian. These two use the term “militant atheism” and it is entirely unjustified. Dawkins strikes pre-emptively in the book:
I might retort that such hostility as I or other atheists occasionally voice towards religion is limited to words. I am not going to bomb anybody, behead them, stone them, burn them at the stake, crucify them, or fly planes into their skyscrapers, just because of a theological disagreement.
So the bar is set quite high for militancy.
Bernstein’s article exposes a bit of a blind spot with regards to religious militancy, claiming that unlike Islam, “Christian fundamentalism [engages] in no violence or threats.” Which of course makes me wonder if he’s even read the book he’s talking about. Dawkins writes at length about the threats he has personally received, and about the terrorists who kill doctors in the name of Christianity, and other modern-day examples. And what about George W. Bush’s claim that God told him to invade Iraq? Does that not count as Christian fundamentalism also?
Dawkins does not demand any action of his readers, except to help raise consciousness. He explicitly draws his tactics from the feminist movements who encouraged us to think about language and how it reinforces an undesirable mindset. He also makes parallels to the gay pride movement, trying to bring atheists out of the closet. Neither of these can be claimed to be militant by any stretch of the imagination.
So please raise your consciousness, come out of the closet, and read The God Delusion. Or I’ll kill you.
Secrets Of The Medicare Website
By now most people who have had any dealings with a large institution will have been asked what their mother’s maiden name is.
The first time you encounter this, it makes you do a bit of a double-take and wonder how such information can be relevant to anyone. Look into it a bit further and you see they are simply trying to establish a method of authenticating you, probably as a backup for a password-based authentication system.
These secret questions, as I like to call them, are becoming more common. But there are many mistakes your institution can make in trying to implement them. In my dealings with a large Australian government website, I encountered many of them.
A war story follows.
More Mindreading
Amongst my family I am rapidly acquiring a reputation as The Explainer of Internet Mindreading Tricks.
The last time it was relatively simple. This time, not so much.
Try it yourself, excuse the advertising, and then read on for my explanation.
Puzzled by Software Development
A recent post on OddThinking got me thinking oddly about puzzles, particularly their relevance to software engineering. Julian uses the example of some thinking which enabled him to solve a puzzle but which would not be appropriate for solving software engineering problems.
This topic came up on slashdot recently. The consensus seemed to be that the IT industry was moving more towards the use of puzzle solving as a recruitment technique, and that it was a good thing. As a commenter put it:
I think the ability to solve puzzles is tightly correlated with the skill set desired by IT. Because it takes an inquisitive and unrelenting mind to hit the hardest puzzles. If they like to do this for fun, surely they can do it well for a living.
I am in qualified agreement with this. Despite not being the world’s best puzzle solver I can see how the use of logic and imagination can be invaluable to software engineering. Not sure if I would generalise this beyond software engineering to “IT” though.
Solving puzzles is certainly a useful — and technology-neutral — screening technique for recruitment purposes. But it only goes so far.
Backtracking
There’s a technique which is available when solving puzzles that simply isn’t practical for most software development situations. I’m talking about backtracking. This is of course a technique where you make an informed choice amongst many options, and work through the consequences of this choice to either the solution of the problem/puzzle, or you encounter a conflict and you backtrack to the original decision point, having now established that your original choice was incorrect. Sudoku addicts are almost certainly masters of backtracking.
Backtracking is fine when solving puzzles, but it is rarely useful in solving software engineering problems. In all but the smallest of problems, you often can’t commit the resources if your choice turns out to be incorrect. The exception to this rule is the prototype, but these have fallen out of favour. Instead, projects are managed for constant, incremental, improvements; this fundamentally conflicts with the technique of backtracking.
Metagaming
There are other techniques for solving puzzles where you step outside the stated rules of the puzzle. Or more specifically you look for constraints on the solution which are imposed by context or other factors. Julian’s clever optimisation of the Hitori puzzle is a good example. This may or may not be called metagaming, depending on which definition you subscribe to.
In software development such techniques are often useless. For any normal puzzle, the stated rules are 100% complete, but for software, forget it. There are always other rules and constraints and other gotchas. Even if you come up with an elegant software solution to a given problem, you can often find it rejected for reasons that were not stated up-front. It doesn’t match the aesthetics of your team lead. It uses a technology that is politically unsound within the organisation. It uses too much RAM. It uses multiple inheritance. It’s too advanced for the other developers. Sound familiar?
There are almost certainly many other significant qualitative differences between recreational puzzles and real life software development problems. What are they? Answers below please. No backtracking.
Citizen Librarian
There’s a science fiction story I read as a kid, and I want to say that it’s Phillip K. Dick’s Flow My Tears, The Policeman Said, but that may not be right. In this story, or one like it, I can remember being amused and confused at the decadent characters in the story who, as adults, would take a drug that would instantly transport them back to relive some of the more pleasant experiences from their early childhood. The obvious name “Wayback” comes to mind.
At the time I read about Wayback, I couldn’t understand the appeal. Why would you want to revisit your childhood? It seemed pretty odd.
As an adult I now know the lure of the past all too well. (And no, I’m not talking about re-reading one’s previous blog posts, though the principle is the same). The past can be quite addictive. We carry with us through life little souvenirs, which are very handy triggers to recall the past. Smells, music, clothes, movies, books; all are basically a more dilute form of Wayback. And using these to take the occasional stroll through the landscape of one’s childhood memories can be quite pleasant.
Of these popular culture artifacts, some can be digitised and preserved forever. Or at least until those who care about them die off. And as we all know, bits are a lot easier to store long-term than atoms. It seems that music and movies are already well catered for; it’s surprisingly easy to find some surprisingly obscure movies and music online (copyright notwithstanding, and I’ll get to that).
I just found out that “artefact” is the British spelling of “artifact”. Wondering which of the two is the definitive Australian English, I went to the Macquarie Dictionary, only to find out that it’s now subscription based. It never used to be, did it? Anyway, this is yet another example of a great resource paid for by the Australian public and now sold back to us. So I’m left with no choice but assuming that the British spelling is definitive, and therefore using the American form as a form of very weak protest. Take that, Macquarie!
Books are, somewhat ironically, far more transient than movies. It’s a lot harder to find an out-of-print book from the 1970s than a movie from the same period. I’m sure this has something to do with the sheer volume of printed material, as well as the relative difficulty of creating a digital archive of it. The problem is particularly acute for material that is not out of copyright, but predates the rise of the Internet.
Now I can apparently still buy a copy of Flow My Tears, The Policeman Said. But what are my chances of finding a copy of 2000 A.D. where Judge Dredd battles the League of Fatties? OK, so it’s not exactly Voltaire, and maybe in 50 years time noone will care. But hey, I’d like to read it again. And I’m probably not the only one.
Copyright laws quite rightly stop us just scanning any old thing and putting it online. But what if the book is out of print? Surely the collective publishing industry could just look the other way? OK maybe not.
For clearly important works like, I dunno, The O’Reilly Factor For Kids we can look to the major libraries to keep a copy and in however-many years after the death of the copyright holder’s lawyer we can expect someone to dust it off and scan it for the benefit of all.
But at the lowbrow end of the literary scale I would argue that there is a very real chance that a significant proportion of printed material is just never going to survive to be made available online. Fifty years after the death of the Judge Dredd artists, are there going to be any 2000 A.D. progs even left any more? If so, what condition will they be in? If we even wanted to digitise this material after so much time sitting in someone’s closet, what would be the result?
With the long tail effect, you can pretty much count on every published work being valuable to someone. Readers outnumber authors by a significant margin, so it’s a reasonable first assumption that every published work is worth saving. And we shouldn’t be relying on the libraries to save us (no disrespect intended). I say to hell with the copyright laws, if it’s out of print and is not likely to earn the author any more sales, then get it online pronto! Or at least scan it in and keep it in escrow.
When traditional journalism reaches its limits, the citizen journalists step in. By extension, when traditional libraries reach their limits, the citizen librarians step in.
A published work which is out of print and which may perish unless someone save it. Like a literary Steve Irwin. I’d like to see other people do the same. There must be lots of boxes hidden in closets all over the world, filled with rare gems. Or lots of obscure trash which assorted random people all over the world may appreciate. In other words: stuff that needs to be on the Internet.
Obviously there are other challenges besides the copyright laws, there are the technical challenges of getting the best quality scan, performing OCR, storage, etc. But it seems like a worthwhile challenge.
So to kick off, I’ll dig deep into the darkest corners of my library and find something that deserves to be preserved for posterity. I’ll have a go at preserving it myself and report back.
Towards A Common Blog Export Format
In general I find it a lot easier to put my data somewhere that I know I will be able to get it out again. This applies especially for web applications hosted by third-parties, where export facilities are a must before I’ll even look at it, but I believe it is generally a good practice.
Hence the motivation for a common interchange format for blog content. This is an escape hatch, if you will, for migration to an unspecified future blogging platform.
Admittedly my recent migration from Wordpress to Typo was pretty easy, so in that that particular instance the lack of a common content exchange format was not a problem. But it certainly is a problem in general. And the less time blog software authors spend on writing importers for all the other blogging engines around the place, the more time they will have to concentrate on features. That sounds like a good thing to me.
It turns out that a content interchange format can be created using some simple conventions over and extensions of the Atom syndication format. I’ve written these up as a proposal for anyone and everyone to comment upon. Please read the ObDisclaimer at the start and let me know your comments.
Enjoy Content Export with Atom.
Project Yourself
“Everyone should have a project,” says Julieanne Kost in a recent podcast.
It’s easy to underestimate the importance of this statement. A lot of the time “project” becomes synonymous with “hobby”, and hence something to not be taken seriously. But projects are important and everyone should have one. That is, a creative outlet that also challenges us.
Projects should help bridge the gap between work and home life. I don’t believe that maintaining a strict separation between the two is a very healthy attitude; the square wave transition every morning at 9am and every evening at 6pm inevitably takes its toll, on both work and home. Projects should help turn this square wave into a sine wave (if you’ll pardon the slighly overextended metaphor).
Projects help us in our work lives by developing our skills and providing motivation. Even when work is going nowhere, it’s comforting to know that a (seemingly) insignificant project is progressing. And even when (hypothetical) we hate our work, projects can very often provide the conduit into a change of job, or even change of career.
I originally started this blog not as a project in itself but as a way of describing some of the projects that I had completed, successfully or not. This of course didn’t last long, and the blog itself has turned into a significant project in its own right.
So I’ve learned a little bit about managing personal projects.
Involve those around you. Make sure your friends and family are aware of the projects you’re working on and how important they are to you. But at the same time be aware of their needs too. Don’t isolate yourself.
Consider informing your boss. Depending on the circumstances your boss may need to know about your projects.
Inspire yourself. When you’re not actively working on a project, listen to others in similar fields. If you’re painting pictures, go to galleries. If you’re playing music, go to gigs. If you’re writing software, read blogs from other developers, go to user group meetings, and so forth.
If you can’t get in The Zone, at least get in The Place. Thanks Rands for this advice. The important thing is to recognise that “hey I’m just not up to working on my projects right now”, and give yourself the down time.
Learn to “fallow” projects. Merlin says that projects which are blocked for some reason, should be removed from sight. Excellent advice.
Know when to quit. This is a tricky one. It takes some self-awareness to know when lack of progress on a project is simply hurting more than it’s helping. Learning to let go is hard. Don’t beat yourself up about it, failure happens to everyone. Sometimes a public declaration of failure is healthy. Also see Merlin again.
Of course there’s more to it than this, please feel free to add your suggestions below.
The Document Is Dead ... Long Live The Document
The pitch: Certain human interface elements are metaphors for real-world objects. However the metaphors have been extended so far that the interface elements now have widely-understood semantics far beyond their real-world counterparts.
In this post I'm going to pick on a specific example: the document. Yes, those icons of a piece of paper with the top right corner folded down, are everywhere. The document is a user interface metaphor which is very common in modern operating systems. And like most metaphors they have been stretched. But more importantly, has the document outlived its usefulness, or can it be extended into the world of Web 2.0 and beyond?
Threat Modelling
In the past I've rambled on about the Virtual Furniture Police and how corporations can severely but needlessly impact the productivity of their staff, with a variety of reasons given. Security is probably the main justification used for imposing such restrictive policies, and deserves some closer scrutiny.
The Mindreader
For a few minutes diversion, try this online card trick.
Amazing, eh? Just how can the computer read your mind?
Below the fold is my explanation. Don't click unless you are really stuck.
Making Connections
Here are some thoughts on innovation and how it can be fostered within the confines of large organisations. As will soon be apparent anyway, this is from the perspective of a R&D worker for a large technology company.


