Early afternoon serendipity: rainbow uplighting.
This is an insightful analysis of Inception, but I think it doesn’t go far enough:
Inception is one of those movies people theorize about, so here’s my take. I have not read about it or looked it up except to check the characters’ names, so this is based solely on what I got from watching it. Needless to say, tremendous spoilers follow for those who have not seen it.
Spoilers below

Hal’s interpretation of Inception’s ambiguous ending is that the whole film is Cobb’s dream, and that the titular “inception” is convincing Cobb that he has to move past his guilt (“Non, je ne regrette rien”). He suggests that in the true reality, which we never see in the film, Ariadne attempts to perform this inception on Cobb, with presumably therapeutic motivations. I think if you take this interpretation a little further, you get a much more satisfying answer.
The whole premise of the film is a technology which allows a sleeping person to enter another’s dream and interact with them. The dream-sharing technology is given a hasty introduction halfway through the film (“the military developed it for combat training”) and never explained. There’s nothing wrong with that - plenty of science fiction movies depend on some hokey tech to make their cool settings or plotlines possible - but to me it does stick out as an oddity.
All the other fantastic elements of Inception - zero-gee fistfights, tops that spin forever, bending Paris in on itself - take place in dreams, so we don’t think to question them. Like science fiction films, dreams often take place in the context of some absurd premise which you accept as perfectly natural and obvious. You’ve got to get somewhere, but you’re on the wrong train, and you’re going to be late - only when you wake up do you realise you don’t even remember where you needed to go. Or you can fly and shoot lasers from your hands, and of course you can, because how else could you save the world from the evil killer wasps? Fantasy in dreams is normal, familiar and obvious during the dream, and fantastic only when you wake up. But Inception asks us to suspend disbelief that dream-sharing is possible.
Wait a second…
If the whole film is Cobb’s dream, then the one piece of science fiction, the nebulous dream-sharing technology, on which the whole plot depends but is never properly explained… is just part of the dream!
Inception isn’t a science fiction adventure where people can invade each other’s dreams and plant secrets in their minds. It’s a chronicle of Cobb’s dream, which is a science fiction adventure. Dream-sharing, extractors, architects, the sinister corporation chasing him - they don’t have to actually exist, because they’re all figments of Cobb’s imagination!
So, my own interpretation of Inception: Cobb’s flashbacks of his kids and of his wife’s life and death are idealised glimpses of the real real world, which we don’t otherwise see in the film. He has very real issues to deal with. He’s also apparently been watching The Matrix a lot, because when he dreams, his subconscious chooses to frame his issues in an epic struggle against faceless oppression with reality-bending special effects. Sure, it’s elaborate and intricate even by dream standards, but Cobb’s really messed up.
The “inception team” - Ariadne, Arthur, Saito and the rest - are simply projections of Cobb’s subconscious; their purpose is to force him to confront those aspects of his memories and emotions he can’t face up to while awake. His revelation in the cottage on top of the skyscraper is real: that clinging to his guilt is what is keeping him from his children. That’s the climax of the movie because that’s where his subconscious was trying to get him all along. Cobb is performing inception on himself.
If you’re not yet convinced that all the characters are simply created by Cobb’s unconscious mind, look at Ariadne - named for the woman who gave Theseus the tools he needed to slay the dreaded Minotaur, and then escape from the Labyrinth that is its lair. The first thing Cobb asks of her is to design a maze which he can’t find his way out of: he must surround his guilt - the Minotaur - in a Labyrinth before he can slay it. She leads him to the confrontation, gives him the strength to win, then shows him the way back out.
This interpretation feels pretty satisfying to me. It doesn’t seem to have any holes. Anything is possible in a dream, and indeed noticing strange inconsistencies and inaccuracies after you “wake up” (leave the cinema) is a familiar feeling. And the way the film both refers to and represents itself is a hallmark of Nolan’s films: see for example The Prestige, which illustrates the mystery and allure of stage magic by performing an elaborate feat of misdirection on the viewer, who - Nolan asserts - “wants to be fooled”. Dreams are so powerful because we fool ourselves.
Tell me why I’m wrong in the comments.
Spoiler photo credit: charlo.be on Flickr
(I wrote this as a response to an Ask Hacker News post about learning Vim, but I thought it deserved a life of its own.)
This is one of my favourite Vim features. Say you have the following code:
do_something_with(some + long * complicated * expression)
^
Say your cursor is where the caret indicates. Typing ci) (“change inside parens”) in normal mode will:
delete all the text between the two matching parens
place you in insert mode with the cursor between the two (now adjacent) parens
put the deleted text in the yank buffer so that
pwill paste it.
The use case here is obviously so you can assign a name to that long complicated expression. ci) is much easier than selecting it with the mouse, and keeps your hands on the keyboard where they belong ;)
With nested parentheses, it does what you expect (affects the text contained by the innermost matching pair to contain your cursor - try it and see).
Other equally useful variants:
i"- “inside double quotes” - everything between double quotesi'- “inside single quotes”iw- “inside word” - the word the cursor is onis- “inside sentence” - great for editing proseip- “inside paragraph”
There are also similar motions beginning with “a”:
a)- likei)but includes the parens (e.g.da)deletes everything inside parens and the parens themselves)a"- similarlyaw- likeiwbut includes trailing whitespace.
For another great taste that goes great with this, see the surround.vim plugin. To whet your appetite: six keystrokes to wrap your current selection in <div> tags; four to change a string from “double-quoted” to ‘single-quoted’.
Don’t let the Government rush draconian internet laws through Parliament before the election: write to your MP! I did.
Dear Meg Hillier,
Thank you for your thoughtful response of 17 December regarding the Digital Economy Bill. I appreciate your taking my concerns on board, and indicating that you shared some of them.
I’m writing today to ask you to demand a full Commons debate on this highly controversial Bill, and not to support Government plans to rush it into law before the election.
In our previous correspondence, I told you about my concerns about the measures in the Bill to tackle illegal file-sharing: that besides their intended effect of incentivising creation, these measures would
stifle the UK’s digital businesses (including my own software consulting business, and the businesses of my clients) by creating a restrictive and uncertain legal environment;
damage British social justice, by exacting disproportionate penalties on a potentially huge number of citizens (and voters), without a required standard of evidence or right to redress for false accusation (points with which you indicated you shared my concern), and without a court trial or presumption of innocence; and
harm British democracy, by building in “reserve powers” for unelected officials to change copyright law without Parliamentary scrutiny, and by allowing massive and largely evidence-free lobbying from special interest groups to unduly influence the legislation.
Especially in light of point 3 above, I have been extremely concerned to read in the press that the Government is likely to force the Bill into law before the upcoming election. It is disturbing that the Government would deny MPs the chance to fully consider the implications. It is downright scary that crucial details of the most controversial proposals might be worked out behind closed doors in the “wash-up”.
As a constituent, I am writing to you today to ask you to do all you can to ensure the Government doesn’t just rush the bill through and deny us our democratic right to scrutiny and debate.
There is no evidence that the need is so pressing as to justify passing bad laws. The content industry lobbyists asking for this hasty lawmaking claim that they urgently need the measures in the Bill to keep their industry alive. This is an extraordinary claim in light of recent news that, in the midst of a recession, online music revenues grew by 73%! The sky is clearly not falling.
The concerns raised by myself and many others are still largely unaddressed, despite the large number of amendments proposed during the debate in the Lords (itself evidence of the importance and contentious nature of this Bill). The proposed legislation will still fail to support authors of copyrighted works, and it will still do great harm to Britain’s digital economy.
I apologise for extending this already long letter, but I would like to close by quoting from a post written today on the LabourList blog:
The bill which is supposed to provide the structure for Britain’s digital future, is currently being opposed by the internet service provders who are central to that future – not because they are worried about their profits, but because they don’t want to police their customers in this way, especially not on the basis of an assumption that has not been proved. Consumers are worried that this clause could have serious effects on their lives. Consumers vote.
Is this clause so important that it is necessary to push it through at any cost? Is it really wise to have this bill become an easily recalled symbol of Labour’s record on civil liberties, and a ‘sidestepping’ of democratic process? This close to this election?
Once again, please demand a full democratic debate on the Digital Economy Bill.
Yours sincerely,
Sam Stokes
The genesis of a building. Witnessing this is pretty cool from a “making things” point of view. Shame it’s happening right outside our flat.
In honour of the Functional Programming eXchange, on a bus to which I am writing this.
(a (program (writtenp :in 'lisp))
(may 'be (and (simple) (elegant) (crisp)))
(but (cry '(C pros) "too *fancy();"
"for (i; simply(); &cant++ + ++see)"
"{ the code; for (;;) { the parenthesis; } }")))
My MP, Meg Hillier, was kind enough to respond by post to my email about the proposed “three strikes” legislation in the UK. The main content of her response was to forward me a letter she received from Stephen Timms, the Minister for Digital Britain (his actual job title, I’m not making this up), to “clarify the Government’s position on this issue”.
The forwarded letter mostly just rattled off the party line - illegal file sharing is illegal, artists need to be compensated, the usual unjustified claims of urgency - but it did mention the recent report by the UK Intellectual Property Office, awkwardly entitled © The Way Ahead, which is actually pretty encouraging reading: I will discuss it in a separate post soon.
My previous email focused on problems with the “three strikes” approach. Since the Digital Economy Bill was published we’ve discovered that “three strikes” is only one of several nasty tricks up Mandy’s sleeve. Therefore, and because I felt from her letter that Ms Hillier hadn’t really taken my concerns on board, I wrote back.
Update 2009/12/02 - since the Digital Economy Bill is currently being debated in the House of Lords, I also sent an edited version of this email yesterday to Lord Clement-Jones, who is taking part in this afternoon’s Second Reading debate.
Dear Ms Hillier,
Thank you very much for your swift response to my email of 17th November. Thank you also for forwarding a copy of Stephen Timms’ letter outlining the Government’s position, reasoning and intentions regarding illegal filesharing. I am grateful to him for drawing my attention to the UK Intellectual Property Office’s report © The Way Ahead, which I have read with interest.
Unfortunately, Mr Timms’ letter does not reassure me. On the contrary, it reinforces my perception that the policies set out in the Government’s Digital Economy Bill were drafted in haste, based on the shrill lobbying of special interests rather than empirical evidence and objective reasoning.
I do not believe the available evidence justifies imposing technical sanctions on internet users without trial in court, as the Government proposals would allow. The UKIPO report, published only a month ago, finds that “a lack of strong evidence across the world makes it difficult to establish the case for changes to aspects of copyright law and practice”. Meta-analyses of the economic literature have similarly observed a poor quality of available evidence and a lack of consensus.
Mr Timms’ letter does not even include the word “evidence”; I note with concern that this omission seems to be typical of Government communications on this topic.
This is not the only thing wrong with the Digital Economy Bill. I wrote my previous email before the Bill was published. Since then I have read with alarm section 17, which grants the Secretary of State power to amend by statutory instrument the Copyright, Designs and Patents Act of 1988 “if it appears to the Secretary of State appropriate to do so”. To grant such broad powers to an unelected official is incredible, undemocratic and indefensible.
I acknowledge the problem this “power to amend” is designed to tackle: technology changes too quickly for primary legislation to keep up. However, the case has not been made that this justifies circumventing the democratic process, especially in such an important and controversial area as copyright law. To me it rather suggests, to paraphrase the UKIPO report, that Parliament should amend copyright law to be more technologically neutral.
Therefore I once again urge you to reject the Digital Economy Bill unless it is substantially amended, including the removal of section 17, and the addition of a guarantee of trial in court before technical limitations can be imposed on internet users. I would also appreciate it if you could pass on my concerns to the Minister responsible for the Bill, for example by forwarding him this email.
I am sure that, as a Government minister, you will be under considerable party pressure to support this Bill, and that I am unlikely to convince you. However, I must reiterate that I will not vote for any MP or party who does support it, nor will many of my personal and professional acquaintances.
Finally, I would like to inform you that I am publishing my emails to you on my blog, where my previous email has been read by over 70 people at time of writing. With your permission, I would like to include your responses in these blog posts.
Thank you again for reading this email.
Yours sincerely,
Sam Stokes
Update 2009/12/14: response
Meg Hillier sent a brief reply to this email, stating that she supports the Digital Economy Bill because “filesharing has a big impact on people’s livelihoods”. This is a disappointing response, as it basically ignores the content of this second email. I will continue the correspondence, but as this blog is already more politics-heavy than I intended, I will stop publishing my emails unless there is a noteworthy development.
Reading Patrick McKenzie’s excellent practical example of metaprogramming, I came across a line of code I didn’t understand:
That line taught me three new things about Ruby:
- The syntax for the subscript operator
[]allows multiple arguments. (It turns out I already knew this in another context:[1,1,2,3,5,7][2,3] => [2,3,5]) - You can subscript a String with a Regexp, returning the first match:
"goal"[/[aeiou]/] => "o"(nilis returned if there is no match). - If you throw in an index
n, then you get thenth capturing group of the first match:"xaabb"[/(.)\1/, 1] => "a"(ornilagain if no match).
That last one is interesting, because it means there’s a concise way I didn’t previously know about to achieve a common regex task: checking if an input string matches a given format, and if so, extracting part of the format. Say we want to pull out the domain from an email address, but complain if we can’t find it:
Before learning this trick I would have either used a temporary match object a la Java, or gritted my teeth and used a global variable Perl-style:
Both of those seem rather verbose. They can be golfed into one-liners, but the readability starts to suffer:
So I’m left wondering what’s the most readable and/or idiomatic style for regexes in Ruby. TMTOWTDI indeed! Even now I know what it means, "xaabb"[/(.)\1/,1] makes me double-take slightly - it’s an unusual way to use [] - but I guess it’s just another Ruby idiosyncracy I’ll come to know and love.





