Mile Zero is the personal website of Thomas Wilburn. All statements and opinions here are my own, and do not represent the views or policies of my employers at Congressional Quarterly, Ars Technica, or other publications.
Back when the iPhone first appeared, in response to its locked-down development environment (Shorter Steve Jobs: "Sure, you can make iPhone applications, if by applications you mean 'web pages'"), Nokia launched a short-lived ad campaign called "Open to Anything" for its N95 smartphone. They put up some posters and bought some TV time, and then they went back to doing what Nokia does best: ignoring the American market.
As a shot at Apple's legendary control-freak tendencies, it was a good one. But the sad part was that it just wasn't true: the N95 runs on Symbian 9, which requires applications using "protected" APIs (camera, networking, personal data access) to be digitally certified before they can run, for security reasons (probably an overreaction: a couple of extremely limited viruses had been shown running on the platform).
This is not to say that Nokia's phones aren't relatively open--even compared to the iPhone v2, which will introduce a centralized application store, Symbian devices are still much more accessible, and potentially more powerful. There's an open-signed program that allows developers and users to authorize a program with high privileges on a single phone. A number of Nokia's tools are open-source, including the Python interpreter that allows users to write and run applications on the device, using its full capabilities. And the standard browser on S60 is a Webkit-based system that runs Javascript and even some Flash apps.
And in theory, the principle behind the app signing is not a bad one. Sandboxing applications by capability is pretty much the same concept at work behind sudo on Unix, gksudo/kdesu on Linux, or UAC on Windows. As smartphones get more sophisticated, this will have to happen on mobile platforms as well if they want to use their full potential. The mistake Symbian made was not to enforce security, but to take it out of the user's hands.
Perhaps ironically, the mobile OS most open to developers is Windows Mobile, which offers free development tools and no code-signing or approval process required. You can even get some of the source for Windows CE, if you're into that kind of thing. The catch is that it needs to be this open, because Windows Mobile is not terribly useful without a fair amount of third-party software (and I say that as someone who actually likes the platform).
I probably would not be writing about this, except that I ran into a problem with PED, the Python editor I use on my phone. While I was messing around with the camera, I kept running into errors even though my code was identical to the examples from Nokia. Eventually I figured out the problem--the Python interpreter itself is signed with full privileges, but PED is not. In order to test scripts using the camera, I had to run them in the standalone Python shell instead of PED's built-in launcher.
Not cool. Kind of runs against the notion of an Integrated Development Environment when it's not actually Integrated. Again, I'm complaining about details, since the ability to write and run scripts (in a standard language) on the phone itself is still pretty advanced stuff. But it's a frustrating, needless, arbitrary detail--as details tend to be when security control is placed under control of a third-party.
In the end I installed a hack created by some Spanish developer that overrides Symbian's certificate check. Effectively, I "jailbroke" it. This means I can't upgrade the firmware on the phone, since new versions of the firmware intentionally closed off the security hole used in the hack--nice "open to anything" support, Nokia. Luckily, the existing firmware updates seem to have been pushed out primarily to close said hole, and don't offer any new capabilities that I need.
There is always going to be this dynamic on mobile devices: how paranoid are we going to be? Lord knows the communication infrastructure in this country often seems far from robust, so some attention to security is certainly required. But none of the existing answers seem sufficient. Windows Mobile simply has no real security model. At the other extreme, the iPhone will only run Apple-approved applications in a small sandbox without access to the filesystem, multitasking, or low-level hardware--no Bluetooth keyboards, wireless headphones, or copy-and-paste unless they come directly from Apple, I'm afraid. And in the middle, Symbian has its signature program, which is much less irritating, but it's certainly not "open to anything."
I have my own doubts that the mobile revolution in this country is going to arrive anytime soon--I suspect that the ridiculous cost of data rates on cell plans will keep it stillborn. And the most interesting uses of mobile technology that I see elsewhere are often decidedly low-tech: microbanking and automated information services over SMS or voice, the kinds of technologies that aren't Web 2.0 but have changed lives in lesser-developed countries. Nevertheless, any real innovation in mobile, location-based services is going to require actual open systems for development. I like that Nokia is bringing snark and criticism of the tightly-locked carrier ecosystem to the table. But I hope that as it has announced plans to open-source Symbian, the company will also be starting a real, flexible, consumer-friendly security model, instead of the opaque Symbian Signed system.
14:23 x Thomas x /random/tech/coding x link x 0 comments
Everyone has an employer-from-hell story, but I think mine ranks pretty highly. Right out of college, I took a job with an AV contractor in Chantilly, VA. At the time I had just started getting into sound as a hobby with my band. I figured this was a cool opportunity to learn more about audio tech.
The company, Custom Fit, was run by a guy named Steve. I didn't know it at the time, but this was apparently Steve's third company or so. He had a habit of starting new ventures, which he would then run into the ground, ruining the credit of whoever he'd conned into providing funding. Originally Custom Fit had been a beige-box computer builder for people who couldn't spell "dell.com" (hence the inexplicable domain standardparts.com), but Steve soon figured out that there was more money in bilking local government organizations for publicly-bidded contracts. So that's what we did.
Working at the World Bank could be ethically ambiguous at times, but for me it never compared with dealing with Custom Fit's clients: building managers for town meeting halls and government facilities laboring under the mistaken assumption that they were going to get a pristine new sound system or video projection setup. As far as I could tell, Steve had no interest in doing that. Instead, a significant portion of his business simply combed government sites for contracts, then figured out the bare minimum that he could possibly bid in order to undercut the competition, while using cheap parts and substandard design to ensure profitability. Of course, I was the one who had to break the bad news to the client when things inevitably started to go wrong. I should have stood up for myself sooner, but I have to admit: I was totally unprepared for the possibility that my boss was a borderline con man.
Oh, the stories I could tell: the accountant that I once inadvertently caught browsing porn (I whistled when I walked around his part of the office after that). The time I tried to order supplies for a job only to be turned down because we hadn't paid our bills on previous orders. Having to constantly go back for more training on the company's home-grown inventory database because Steve (perhaps believing that humiliation builds character) refused to teach anything in sessions longer than five minutes ("Come back when you think you've got that under control," he'd say after showing me how to work a single menu option).
In retrospect, it should have been a warning sign when one of the interview questions concerned XLR cabling, and Steve said that my answer was "wrong, but a good try." I looked it up later. Everything I had said was basically correct.
I learned a lot about how (not) to manage people at Custom Fit. And I learned it well. After two weeks, I gave my two weeks notice (at which point my employment experience actually improved significantly). My parents probably freaked out in private, but they were very supportive of me, and I soon found a new job at the Bank. I got lucky: about a month later, the IRS raided the company and Steve was forced to close shop.
Here's the funny part, and the reason I'm writing about it today: the experience at Custom Fit was so traumatic for employees that many of them have kept in touch to this day. It was a bonding experience, like being taking hostage by terrorists or having Comcast as your cable company (ba-zing!). There was a mailing list for Custom Fit refugees. People hosted reunion picnics. Today I got an invitation to the "Survivors of Custom Fit Inc." group on Facebook.
Let this be a lesson to employers large and small: thanks to the Internet, you will be remembered by an organized group of people, possibly with axes to grind. When Steve tried to relaunch the Custom Fit webpage, word went around quickly, and someone (not me) quickly wrote a script to send his page-counter skyrocketing, just to mess with his head. Don't be like Steve. Treat your people well. Misery may love company in general, but it doesn't have to love yours.
16:16 x Thomas x /random/personal x link x 2 comments
12:26 x Thomas x /random/comedy_and_tragedy x link x 1 comment
Like every hip young person online, I've gotten myself a twitter account. My initial impressions are that I don't particularly care for the terminology: followers? Was "watchers" not creepy or sheep-like enough?
Anyway, if you are also on Twitter, I'm open to invitations. Additionally, I'm looking for suggestions of people who are interesting or innovative users of the service. I don't think I'll be broadcasting very much at the moment, but I'm interested in how other people are getting value from it.
To some extent, this is leading up to a low-priority project I'm starting: as anyone who attended college with me knows, I've been fascinated for a long time by what I call "guerrilla rhetoric"--rarely during my undergraduate career could anyone get me to shut up about Otpor, for example. But during the last few years, thanks in part to mobile phones and a much more flexible set of web standards, we've started to see examples of smarter protest and resistance movements using information and communciation technology to coordinate or publicize their work.
I've realized that I don't know as much as I'd like to about these developments, which I find fascinating. So I'm going to start reading up on the subject much more thoroughly, starting with Gene Sharp's work on nonviolent protest. Also, I've set up a del.icio.us linkstream where I'm going to start tagging my online research--there's not much there yet, just the Youtube videos from Anonymous and some stuff I remember from B-SPAN--but if anyone runs into anything, I'd appreciate a heads-up. Eventually this might be a subject that I'd be interested in exploring through grad school (he gazed enviously at Berkeley's doctoral program in Rhetoric), but that's probably a few years off.
12:36 x Thomas x /random/tech x link x 1 comment
No kidding, it's a heck of a pancake.
14:13 x Thomas x /random/linky x link x 0 comments
Silence is the Voice of Complacency
Here's my technique for hobbyist programming: first, I download all the necessary baggage--IDEs, SDKs, assorted other acronyms, an emulator or two. Then I spend a little time going over tutorials, learning the new platform and making sure that I can write more than five lines in the language without causing a compiler error. And finally, now completely prepared for the task at hand, I stare blankly at an empty project for an hour or so until I give up and close it again.
This is basically my technique for hobby writing, too. Just substitute Word for NetBeans or Visual Studio.
I'm not always able to meet deadlines, but clearly I'm not terribly productive without them. More accurately, without some kind of external impetus, I have motivation issues. With writing, I really do need an editor expecting product. With coding (now that I find myself doing it at work on a more regular basis), I've got to have a project or an "itch" to scratch, or it just doesn't get done.
Just about every project I've done in the past has had those two requirements. I recoded Quake's video code on Windows CE because I had a monochrome display and wanted to play. I made hacks on PalmOS because one of the OS revisions changed how copy and paste worked, and it annoyed me. I play with Flash or VBA only so far as the concept is compelling, the time requirement is low, and it'll satisfy my curiousity and/or irritation at something. Likewise, I think most of my fiction writing output has historically taken place when I'm in a relatively low place and need something to keep myself busy.
Combined with my low attention span for sustained projects, I think this is why I like songwriting. Not that I'm necessarily any good at it, but it's self-contained: spend a couple of hours with a bass, and emerge with a five-minute chunk of creativity. If you told me to write an album, I suspect that I'd freeze up completely. I'd start thinking about big themes, and making elaborate plans, and then I would get tired and go play Rez for a while.
I'd really like to do some leisure programming--I'm curious about potential smartphone apps, and Java seems like it's come a long way since I was in high school. But (hilariously) I can't do it right now, because there's nothing on the phone that gets on my nerves. I've got games, I've got a decent text editor, the built-in browser works great and doubles as an RSS reader, and the e-mail program does what little I need it to do. There's no niche to fill.
I think this says a lot about creativity, and how it's born of frustration. I remember reading, in college, Douglas Rushkoff's Coercion, a section of which is about the psychological design of shopping malls. Rushkoff quotes the designer of the Mall of America as saying that they "want you to get lost"--and not in the I'm-having-so-much-fun sense, but actual disorientation. By using odd angles, uniform lighting and temperature, and white noise, mall designers try to throw visitors into a mild state of confusion--once in that state, shoppers try to calm themselves by asserting some control over their environment the only way they know how: purchasing a part of it.
Granted, reading Rushkoff is basically one long terror-filled litany of selling techniques. But contrast that sentiment with the one from Clay Shirky's recent speech (transcript, video) where he explores the idea of a cognitive surplus--the idea that media is now more than just something that is consumed, but is also shared and (more importantly) produced by its audience. I love, for example, what he says about LOLCats:
Even lolcats, even cute pictures of kittens made even cuter with the addition of cute captions, hold out an invitation to participation. When you see a lolcat, one of the things it says to the viewer is, "If you have some sans-serif fonts on your computer, you can play this game, too." And that's message--I can do that, too--is a big change.Shirky's belief is that it's easier than ever for us to be creative these days, and I hope that's true. But I think he doesn't touch on why that participation is so compelling, and I believe that part of that urge to participate and create is the need for control and ownership. That's not a negative--I agree with Shirky that the potential of participation and creation is extremely exciting and positive. But I think the urge is similar: we create because we are distressed, via internal or external stimuli. Both consumption and production are rooted in the same place.
We're all aware of the phrase "retail therapy," but couldn't the same be true of art? And could it be that people who are regularly creative are simply better at putting themselves into a distressed state of mind? What might this say about the trends or common characteristics of creative people? And perhaps most importantly, how do I find a happy medium between misery and productivity?
17:04 x Thomas x /random/tech/coding x link x 0 comments
The Cost of Not Doing Business
Wholesale prices for .org domains are going up by 10 percent. Jacqui Cheng at Ars assumes (probably correctly) that smaller registrars will simply pass the cost increase on to their customers.
Mile Zero, of course, will in turn pass the cost on to you. Sorry about that. Expect the change to be reflected in your next bill.
16:17 x Thomas x /random/tech x link x 0 comments
My office in-jokes, let me show you them.
True story: during a game of Taboo at a party the other week, I actually got Belle to correctly guess a word using "My blanks, let me show you them." We are dorks.
13:10 x Thomas x /random/comedy_and_tragedy x link x 0 comments
I downloaded four or five Linux CDs and/or VM images this weekend, since I needed to use RealPlayer without installing it on my Thinkpad. Turns out that Real's software is also terrible on *nix. I know, I was surprised too.
Every time that I download a Linux installer for my old laptop, it's a herculean task to get it working right. Some of this may be due to the age of the laptop that gets used for these kinds of disposable projects--it's almost ten years old now, and I'm sure it has issues. But it's not like I've ever had any problems getting it to read a Windows install CD during those ten years, despite reinstalling the OS three or four times for various reasons. Advocates sometimes ask what Linux would have to do to impress me--"create a reliable boot disk" does not seem to be too much to ask.
What always cracks me up about this process is the information that the community does provide for reliability--the MD5 checksum, which validates the download file itself. Now, perhaps I simply live in a sheltered world of unmangled connections, but I honestly cannot remember the last time that the file I downloaded was corrupted or different from what I expected to get--this was, I was under the impression, the entire point of the HTTP protocol. Sure enough, when I bothered to check, the disks that didn't work were burned from an ISO with a valid checksum--and moreover, they eventually did work, sometimes with the same CD that had failed not an hour before.
Look, don't get me wrong--Ubuntu's come a long way even just since the last time I tried it, and clearly these things are working for someone. But the MD5 thing is still pretty funny. It's like someone shipping you a package and then insisting that what's inside will work because they've got a receipt from UPS.
Me, I've given up on the whole live CD/spare laptop thing, and I'm going to go with virtual machines instead. It's a lot tidier, a lot less frustrating, and with machines as powerful as they are nowadays, actually faster than trying to load even the most frugal modern OS onto my spare laptop.
11:18 x Thomas x /random/tech x link x 0 comments
Should have put this up a long time ago: The Song Chart Meme.

By flickr user xianjessen.
11:41 x Thomas x /random/personal/memes x link x 0 comments