Currently:
2008-12-16»
comment: threads»
I’ve moved up in the world, at least geographically. I now live on top of Bernal Heights, rather than skulking at the bottom of it. I am now sitting in a little corner studio that exactly fits my remaining belongings. I am going to stay up this hill for the rest of the recession, hoping that even the fittest of the Darwinian food-rioters won’t have the puff to get up here. This will only work after all the petrol runs out of course: currently they could just drive up and run me over when I go to get coffee, and drive off to feast on my bagel. I need to think this through.
I wish I could say the new place has bought me peace of mind. Actually, I totally could (it’s lovely), but I’m trying to make this post about the scare I gave myself this weekend, and I needed a segue.
So.
It was my own fault. I was reading a thread on Metafilter about the 1983 post-nuclear portrayal “The Day After”. Many people scoffed at the fear shown at this TV movie, directed Nicholas Meyer (later to direct deathless classic Star Trek: The Wrath of Khan). For really scary, they agreed, the British equivalent, 1984’s Threads would be hard to beat.
Now, I didn’t watch Threads at the time, I don’t think because it was banned in my house, but more because I was locked upstairs nailing my brain to a ZX Spectrum. Also I don’t think I needed to be scared any further on the topic of nuclear annihilation at the time: aged 15, I was probably already maxed-out on long semi auto-biographical poems about its grim inevitability. My quota would not have been raised.
Nowadays, I’m a man however, and have put childish things like nuclear winters behind me. I’m all about the global warming now. Also, it’s pretty hard to watch anything the BBC drama department put out in the eighties without giggling a bit at the forced moralising and the peculiar mannerisms (and *cue* radiophonic workshop!). So, in a sort of shared dare with my fifteen-year old self, I kicked up the show on Google Video, and fast-forwarded to what everyone agreed was the really creepiest bits, about ten minutes from the end.
Argh. I had completely forgotten how into your bones all-out nuclear war got. On a conscious level, I was critiquing the postnuclear horrorfest as hard as I could, but damn it mashed all my buttons. I was seeing the scenarios play out under my eyelids every time I tried to get to sleep for the next few days. It was very, very, well done.
Over my many hours spent awake, I started forming a protective defensive sheath of narrative criticism. In terms of the realism of postwar life, my first thought was it played to a theory of a studied helplessness of individuals without a society around to protect them. If they’re just left alone, without the threads that the play uses as its key metaphor, things will just fall apart.
Now, I don’t think that’s true: societies are far better at rebooting themselves than this, even I’d suspect under the enormous stresses of a nuclear winter. The first impression you get from these minutes, is that humanity has just descended into brute-hood completely. They’d either do better than this, or die a lot quicker. (At this point you’re going to go and watch the movie, right? If so, I am in no way responsible for your nightmares, and I certainly don’t want to hear about how hard you laughed at it. Spoilers ahead: a bomb goes off, etc).
But actually, looking closer at those final minutes, far closer than anyone should, there’s also an off-screen implication that there is some kind of postnuclear society. It’s just that the people we are watching, Ruth and her daughter, aren’t part of it. There are hospitals, and law and order, and education: but they are minimal, the resources are closely hoarded, and Ruth and her daughter aren’t part of that society.
That makes more sense, and also fits in with how I remember lots of British serious drama at the time. It concentrated on the horrific lives of the underclass or disenfranchised in some way, lingering over its horror, and then basically screamed at you at the end. Extra marks for implying that your nice middle-class family might end up that way, Tess of the D’Urbervilles style.
I’m not saying that is a bad thing. It’s one of the functions of drama to expose what happens to the worst off. But at least in recognising the trope I, possibly horribly, got a bit less scared by the scenario in this case. You can feel pity for the individual living in a medieval world, but then you can sneak out and imagine some King Henry VIII-type revelling in his single roast two-headed chicken.
Or maybe that increases your horror at the injustice. But, for me (who always tried to guess how long Ingsoc would actually last before collapsing), I’m more optimistic knowing somebody is better off offscreen. I guess, given the horrible choice, I’d rather somebody was left holding the canticles than the whole world be echoing the experience of Ruth’s daughter.
It’s also because I am radioactively burned by all of those dramas that take you down the line of depicting the nether regions of depressing experience. I think concern drama pretty much shot all its wad at us in the 70s and 80s, when lots and lots of horrible scenarios (mostly involving no money, disability, or drug abuse) played out in predictably horrific yet inevitable way.
Because you can’t actually end that particular fictional device with someone coming out of it okay, you end up turning your watchers into more voyeurs than activists, and also narratively reinforcing that everybody below a certain income level (or number of nuclear winters) is always helpless or thick. (Threads has the extra twist, because everyone in it was individually helpless to stop a nuclear war, and the implication is that everyone became even more thick as a result of society collapsing into Ibsen-like horror.)
I do not think this form of artistic agit-prop had the right effect. It lead, I think, to horrible right wing people deciding that topics of concern deserve what they get because they are helpless and thick, and horrible left wing people deciding that these people can be treated like children because they are helpless and thick. I clutch what threads I do of individual libertarianism, because the bits I like don’t actually assume those things, although I do think it is often over-optimistic about how useful local intelligence and ability can be in many situations. Frankly, after gnawing my knuckles over the premises and depiction of Threads twenty-five years later, I can do with all the over-optimism I can get.
8 Comments »
2008-11-30»
it’s a crazy world, charlie brown»
I don’t understand why people think children aren’t capable of complex emotions, like regret or nostalgia or aesthetic pleasure or ennui or bittersweet pining. I see kids struggle to describe very subtle emotional states all the time. I loved Peanuts as a child for this reason — Charlie Brown and his friends seemed to be going through much more comprehensible stories than anything else, full of sighing and staring up at the stars in puzzlement. I used to collect all the paperbacks and my parents bought me Peanuts Jubilee when I was seven, a fairly serious memoir by Schulz which I devoured. I remember after reading one strip, asking my mum what “sarcastic” meant, and never quite being the same thereafter. I probably learned to read via Charlie Brown. It definitely taught me to absorb some of middle-America’s culture, maybe even before I’d fully absorbed my own. I have a miniature print of Linus and Snoopy bought from my friend Cait that’s sat in every homesick home I’ve lived in America.
They say that a recent Schulz biography has made him out to be a bitter, hard-to-love man. It seems unlikely, except in the way that quiet, unemotional men are sometimes be misunderstood and misplaced by their families. After the book was published, his children and wives came to his defence, rather undermining the biographers’ claim.
This quote from an interview with him (taken from the links of a lively metafilter posting) more closely represents the gentle but implacable humanism I got from his work:
“There was one strip where Charlie Brown and Franklin had been playing on the beach, and Franklin said, “Well, it’s been nice being with you, come on over to my house some time.” Again, they didn’t like that. Another editor protested once when Franklin was sitting in the same row of school desks with Peppermint Patty, and said, “We have enough trouble here in the South without you showing the kids together in school.” But I never paid any attention to those things, and I remember telling Larry at the time about Franklin—he wanted me to change it, and we talked about it for a long while on the phone, and I finally sighed and said, “Well, Larry, let’s put it this way: Either you print it just the way I draw it or I quit. How’s that?” So that’s the way that ended.”
There’s some fair commentary about how Schulz didn’t seem to know what to do with Franklin much of the time, and his later role as the comic page’s Token Black, but but his compact introduction to the strip — swimming at a beach with Charlie Brown, the mention of his father was in Vietnam (Charles says “My dad’s a barber. He was in a war too, but I don’t know which one.”), has a pretty light touch, given that this was published on July 31st, 1968, just a few weeks after King and Kennedy’s assassinations, and at the height of Peanuts’ popularity.
Edge of the West tells the rest of the story. I’m glad I had Peanuts to teach me how to live with disappointment and failure, as well as, more subtle, teach me of how the world was, all too slowly, improving.
4 Comments »
2008-11-25»
in which i demonstrate remarkably personal hindsight»
So I now have some clues as to why I suddenly stopped blogging twenty days ago. Looking over the black box recording, I note it coincides with me engaging in a rash of travel, and also obtaining a prescription for sleep medication for the first time in my life.
That makes sense. When I go on a longhaul plane for a speaking engagement, I go out into deep-space coma until I return. It’s the whole being ferried around by machines, and deposited into womb-like hotels thing. Add to that my discovery of a pharmaceutical that magically medically increases the amount of blood in my caffeinestream, and you’re going to lose me to forty-years worth of sleep catch-up and shoddy hotel connectivity.
Plus I swear to God, everyone I knew spent a few weeks wandering around in a post-election haze. Last week, I spoke at the University of Maryland (which was awesome, but I am an all-comers speaker: if you are at a US college, force your school at gunpoint to book me here: all the money goes to EFF). Honestly out of nowhere people would end any normally pessimistic discussion with this dreamy-eyed “but now, with this spirit of reconciliation in the air”, and stuff like that. Even the NASA guys at the hotel were cheery. Of course, that’s all in the beltway, but there’s languour elsewhere: Republicans are punch drunk and lolling, and the news media is sort of just lying there on the tarmac, having collapse in a heap and lazily eyeballing Obama nominations from one half-closed eye.
Things finally picked up this week, just in time to slam into Thanksgiving, which, to translate for British readers, is really the American Christmas (the real Christmas being more like a Bank Holiday with religious pretensions). You know what I think they should do to boost the economy here? Hold another couple of elections. People would be buying new cars just to have somewhere to put the bumperstickers.
Comments Off on in which i demonstrate remarkably personal hindsight
2008-11-05»
hopefully»
I was walking down Precita when the news came out that Obama had won. I could tell because, on the stroke of 8PM, San Francisco was cheering and beeping and honking. I popped into my corner shop, which has had a large Obama Hope poster on its door for months now. There was a couple in front of me that couldn’t care less, just running off to find a party. I bought a celebratory apple cider and a Snickers bar. Go, me.
I went up to my room, on my own, and watched the concession and acceptance speechs in amazing low-bandwidth-artifact-o-vision. I stayed in a chatroom with all of my British friends, who, for once, were envious of me being in America. I missed my daughter a little, who is in New England, hopefully storing all of this somewhere.
I remembered sitting here watching Obama’s nomination speech a million years ago, and then going to sleep cautiously hopeful, and waking up to it being forgotten and all the talk being Palin, Palin, Palin.
I ran around the tight little loops I’ve been running around since before January – the rosary of political websites that I touch once, then move on. Outside, San Francisco partied as wild as San Francisco can. You really didn’t want to be at Valencia and 19th tonight unless you planned to be very happy indeed.
In the Castro, they said, things were more bittersweet. Prop 8 was gaining, which meant gay marriage was losing. I watched the percentages on that stay solidly in favour of ripping an act of love away from my friends. Hit reload a few times to try and make it better (that’s how we fix things on the Internet: reload!). Watched the usual election craziness sit in the corner of the night where it could little harm: Georgia losing two million votes somewhere. Al Franken facing a comedy of recounts. North Carolina stuck on the edge of an Obama victory for hours.
I downloaded Obama’s victory speech in HD, using BitTorrent, a mechanism that like Presidents relies on thousands of others having the same idea at the same time. The President-Elect seemed serious: when Biden came out smiling, he just looked at him, like the most serious kid in the world, like someone whose grandmother had just died and left him a lonely rickety old house to live in.
They said he told them to cancel the fireworks. Outside, America already disobeys their new President.
2 Comments »
2008-11-04»
… and then there’s root access for the G1»
Jake uncovered it, and as he says, it’s almost stupidly easy. Curious to see if this gives you access to the bootloader firmware, and if so, whether you can alter it to allow non-signed kernels. Exciting! Should-be-unnecessary!
3 Comments »
2008-11-02»
well, that didn’t take long: basic tethering app for the G1»
The G1 can now work as a basic Web proxy, which means that a full tethering app isn’t far away. If you half-free a device, you end up just forcing users and developers to go to extraordinary lengths merely to get around your half-assed roadblocks. Users of the iPhone have to jump through similar hoops to get their own connection sharing. The sad thing is, as with breaking DRM , the impediments are really only temporary, because any tortuous set of procedures can, eventually, be replaced with a small programmed script. Nobody uses DeCSS to rip their DVDs these days: they use Handbrake, or a commercial DVD ripping program. Similarly, while you have to install the SDK and muck around with proxy settings in this iteration, by Christmas I can guarantee it’ll be one click tethering for the current Android phones.
Comments Off on well, that didn’t take long: basic tethering app for the G1
actual android hacking»
Just to show that “disappointing” in my previous posts isn’t some euphemism for “die, impure heathens!”, I’ve been continuing to hack on my G1. Honestly, even if it is an impure love, I’m loving both the phone itself and the application environment. Its integration with the Eclipse IDE even managed to draw me away from Vim. You see how its corruption burns into my soul?
Anyway, for your delectation for Hello, World style programming, and also because Liz wanted it, here’s an Android application I threw together that displays an arrow that (should) always point north (it’s not very accurate, but what do you expect from a $200 compass?) (Source etc for Android Compass.)
Things I like about the SDK: it’s well-documented, and when it isn’t, you have all the source to read. I can’t overemphasise how much of a relief this is. I haven’t coded in Java in literally decades, but with enough code examples I got into the swing (ha, ancient java funny) of it fairly quickly, and also I suspect picked up bits of the Android house style.
The community is a little big fractured — I sense there was a lot of early excitement when the first SDK came out, but a lot of those developers wandered off leaving too many ghost sites). Still, there is now a lot of Android hacking going on in public, and the IRC channel remains very informative (when I wandered off into implementing something with SurfaceView instead of just plain View and then wondered why my onDraw method didn’t work, they quickly put me to rights: you don’t use onDraw with SurfaceView, and you probably don’t need SurfaceView to begin with.)
The tools to interact with the phone seem very mature to my have-not-worked-with-embedded-systems-for-a-decade eyes. I found logs where I wanted to find them (in the IDE, and by typing adb logcat). I didn’t get the sense that Linux was a stepsister to the Windows and MacOS dev environment (and I hope that they do okay by comparison also). The emulator is a godsend, and well-integrated: when I didn’t have the phone plugged in, my code ran in the emulator. When I did, it ran on my phone. Things worked first time. I had fun, and had something to show off on my phone in an evening.
(Two gotchas that I hit when trying to produce this blog entry. I installed the java6-sun packages to run Eclipse and the SDK tools, but you have to actually select it to run rather than the openjdk on my Intrepid Ubuntu setup. Use sudo update-alternatives --config java to pick between the two. Eclipse actually ran fine under the openjdk, but Android’s ddms program complained a little about a GNOME Accessibility Bridge until I switched.
If you don’t want to use Sun’s Java, commenting out the single line assistive_technologies=org.GNOME.Accessibility.JavaBridge in /etc/java-6-openjdk/accessibility.properties also lets you run ddms.
And when you’re signing your Android package (using these Germanic instructions), it turns out that you should sign the apk file in your bin directory, not the one that Eclipse handily offers to export for you. Thanks to toediggety for that obscure bug. You see? Fun!
2 Comments »
confirmed by Android team: G1 only accepts firmware signed by manufacturer»
It looks like trying to find exploits will be the only way hackers will be able to flash their own firmware (read: get root on their own device) on the G1. Here’s a reply I received on the Android mailing list to my question about creating my own firmware image:
The G1 is aimed at end users, not system developers. For user security
reasons the G1 will only accept properly signed system images. I’m not
sure, in this case, who ‘owns’ the key, whether it is the carrier or
the manufacturer, but one or both of them handle insuring system
images are signed.
Cheers,
Justin
Android Team @ Google
I’m pretty disappointed. It’s not, of course, about user security: there would have to be a disastrous, multiple-level failure of Android’s security model for an attacker to flash malicious new firmware onto another person’s phone. It’s about either HTC or T-Mobile being institutionally unable to quite countenance handing as much potential power to end users as the Android open OS model potentially offers. And what that spells is a failure of either T-Mobile or HTC to really understand the advantages having the phone’s internals really open to development would be.
I know many people think of access to the kernel as being a hypothetical need: but the two applications I’d really like to help get working on the G1 require low-level access. The G1 lacks modem tethering, and some decent bluetooth file features. Both of those would make for a great (and while not easy, not that hard, given the support in other Linux versions) G1 project — but both would need kernel level hackery. Crippled bluetooth support has historically been one of the most annoying aspects of closed phones; the Android OS held out the a possibility to escape that, but the G1 does not live up to that expectation. Modem tethering is a feature that is also traditionally something that operators attempt to strictly control, as it falls into ideas of bandwidth management.
Some have asked: what did you expect? That T-Mobile would allow users to mess with kernels on devices on their networks, willy-nilly?To which the answer is: well, what are they expecting will happen very shortly? HTC/T-Mobile have actively worked to implement a restriction on how the G1 works. Other manufacturers are now free to make Android phones without those restrictions: the Open Handset Alliance developers themselves have told me that they’d like to see some developer-friendly phones out there. When those phones come out, they’ll have all the advantages of a more open phone, and will be just as usable on T-Mobile’s network. T-Mobile won’t be able to stop people having better bluetooth than their “official” phone, and certainly won’t be able to stop modem tethering short of instituting throttling controls higher up in the network (which is also a far more comprehensive and effective solution to problems of bandwidth than simply banning the feature in their end-user devices).
They can try and hold back their more open competitors on price competition (or rather, the difference between a network-subsidised “end user” phone, and an unsupported, unsubsidized Android phone), but I suspect that, just as IBM clones ended up being more flexible and cheaper than the original IBM PCs, the price differential for basic smartphones is going to gradually be eaten away by Moore’s Law. If control of what devices run on their network is what T-Mobile wants, their end-game at this stage can only be maintaining network device blacklists, which puts it on a collision course with regulators and an angry public.
Like it or not, if networks and phone manufacturers are already buying into the idea of an open device market, they should understand — and take advantage of — the inevitable consequences.
3 Comments »
2008-10-23»
the T-Mobile G1 — nice phone, but not totally open»
So I caved and got a T-Mobile G1 phone today. I have to say, despite the reviews claiming it is not quite 1.0, I’ve been having an awful lot of fun with it. At the very least, getting it to sync with the music on my Linux machine, and then being able to set my ringtones to one of those tracks without paying through the nose was a lovely relief. For me, it’s already proven much more flexible than an iPhone could.
My hopes of managing to finally being able to own a truly open phone, as controllable and configurable as a PC, and able to run whatever code I could throw at it, have been rather dashed however. It’s absolutely true that you can run any code you’ve written to Android’s Java-like virtual machine, which is sandboxed away from the real hardware. But exploring and executing code at a lower level on the G1 isn’t currently so free and easy.
I got a chance to peer around the phone using the Android SDK’s android debugger bridge (adb) utility. It quickly became clear that even Android developers can only access a relatively restricted part of their own phone: more than given to normal Android apps, but far less than you’d expect to have as “root” on a Linux system. You can only explore or create files as the “shell” user. Much of the filesystem is owned by root, which means there’s a lot of the filing system that’s closed off from user access. There’s no official documentation on the bootloader for running your own root-level code, or flashing your own kernel.
So, as is so often the case, those who want to use their own code on their own phone will have to wait until somebody comes up with some privilege escalation flaw or undocumented flash utility to take control.
Of course, bright minds are at work on doing just that. Overheard in the excellent #android @ irc.freenode.net IRC channel:
<RyeBrye> I hacked my camera’s firmware manually by using an exploit to cause it to execute arbitrary code – and then blinking out the entire firmware in 0’s and 1’s on the autofocus LED – read in by a photo transistor attached to a sound cable plugged into my microphone port – and then put back into 0’s and 1’s…
<– jbq_ has quit (Read error: 110 (Connection timed out))
<RyeBrye> Then disassembled the ARM9 code in it and worked on porting CHDK to it…
* waldo_ is away: auto-away
<RyeBrye> I’m pretty sure having a whole OS at my disposal should make this a lot easier
I sense that the people behind Android at Google would like its flagship device to more open than it is. It’s certainly sad that for now the iPhone pwnage exploits really do give you root on your device, while Android’s official SDK offer no such thing — making the Apple’s theoretically closed phone more practically open than Google’s theoretically open game-changer.
20 Comments »