electronic door-opening excitement!

I just put up a post over at the Sunlight Labs blog detailing the electronic adventures involved in getting our office door on the network.  Still to come: a post detailing how my colleagues made the system accessible via iPhone, Droid, and plain-ol’ telephone system (with an assist from Twilio). I still need to solder in a bypass capacitor — the circuit’s not performing quite as securely as it did in the breadboard (although with a door made of glass it’s not like we’re securing Fort Knox).  But in general I’m really pleased with how this project turned out.

The Wolfman

(Spoilers ahead)

Emily and I saw it on Valentine’s Day, and although its lack of sexy vampires meant it was starting at a disadvantage vis a vis other werewolf movies, it was still fairly good.  In fact, for the first third of the movie it was just about everything you could want from a werewolf movie.  The moors were misty, the townspeople were appropriately panicky, and the beast — unspoken, unseen — was terrifying.

Anthony Hopkins is especially good — stacked up against a bunch of lesser and/or less professionally diligent actors, it becomes immediately apparent just how real a quality charisma is.  He does a great job as the obvious Colonel Kurtz figure, telegraphing the coming action to the audience in a dread-inducing way while keeping his character’s status close enough to ambiguity that the rest of the cast’s “oh I think maybe he’s just depressed” treatment of him remains plausible.  Hell, for the first act even Benicio del Toro seems okay, if you allow yourself to succumb to the tempting fantasy that his puffy, waxy aristocrat is being played that way to better contrast with his coming bestial descent. Actually, though, it turns out he’s just a bad actor!  Or doesn’t give a shit.  Either way.

Unfortunately, things degrade once the filmmakers let the werewolves out of Scotland.  The Victorian London on display is even less imaginative than the one from The League of Extraordinary Gentlemen.  And, as al3x points out, a proper werewolf demands a snout.  I get that they were intentionally sticking with the classic wolfman look, but it really needed more of an update from that “I would have combed my hair if I knew I was going to be photographed” look.

The movies does nothing with the tension-creating dynamics of the rules surrounding werewolf transformations.  The feints toward the destroying-someone-you-love theme that’s essential to werewolf stories seem half-hearted. The first act culminates in a fantastic scene at a gypsy camp, but everything else involving the gypsies turns out to be a red herring.  In fact, everything after that scene is either completely banal and straightforward, or a half-assed fakeout that does nothing but waste your time and attention.  And Hugo Weaving continues to annoy and disappoint me whenever he’s not playing a computer.

But man, what could’ve been! Really, the first third is very well done, and well worth sitting through when it arrives on HBO.  Hopefully by then you’ll be able to stream Dog Soldiers off Netflix, and you can turn off the later parts of Wolfman in favor of that.

thoughts on Buzz

  • It’s interesting to watch how people are using the service, and to try to deduce the norms that will soon emerge arround it.  I just de-linked my Flickr account because I realized I didn’t mean to push a recently-uploaded photo on my followers.  I still have Twitter linked to it — though given the FB status/Twitter faux pas, I suspect I’ll remove that connection soon, too.
  • The automatic importation of contacts strikes me as a big mistake.  Not only because it’s a privacy problem, but because it short-circuits the normal lifecycle of social networks. It’s a profoundly elitist opinion, but I do think that it’s important to have an initial phase during which early-adopting users fill a new service with high-value content — amusing, uncensored, nonprofessional/noncommercial communication — creating a attractive networking target for the rest of the population, which then filters in.Instead, Google has  opted to drop its users into the midpoint of its new network’s lifecycle.  I’m not sure this is a bad idea, exactly — I’d love to have a network with the immediacy of Twitter, but (slightly) looser space and media limitations (I’ll be curious to see whether Google has built the infrastructure behind Buzz to make more Twitter-like use cases possible). In theory, Buzz can satisfy that desire: it’s basically FriendFeed, but with a very high adoption rate among my contacts thanks to Google’s marketing advantage.  But because it skipped the (ahem) buzz-building phase, Buzz will never garner the excitement and accompanying celebrity and media evangelism that Twitter has.
  • Similarly, I doubt I’ll adopt an evangelical stance toward the service among my peers — I don’t do that very often, don’t have much of a talent for it, and don’t want to spend personal capital pushing a new social network (which, these days, is always a low-percentage play).  But I’ll keep watching, and I’ll keep using Buzz if other people do.

oh yeah

I was too busy sitting in a board meeting/getting horribly sick to mention it at the time, but Progressive Fix published another post from me, this time about why I’m not entirely comfortable with strong claims for net neutrality in the wireless space. Basically: in this case, critics’ fondness for spreading FUD about neutrality being a network-killer is at least a little more justified than it normally is.

Kriston will be the first to tell you

Sure, they say crime is down. But you’ve gotta think that the incidence of stabbings where the murder weapon mysteriously can’t be found is way, way up.  Also, hanging suicides in locked rooms with high ceilings and wet floors.

I am going semi-crazy from spending so many consecutive days in the house, clinging to small totems of civilization (showering, tooth-brushing, occasional pajama rotation).  But it has been a good opportunity to make progress on various web projects that have been on the back burner for a while — a site for my mom, and another, stupider site that I hope to share with you before too long.

counterpoint: you are all a bunch of whiney babies

Snow is great! Amanda is crazy! Working from home is nice! And yes, I’m kind of sick of reading, and okay, I ate sardine tacos for lunch, and no, I have no idea what I would do if my power went out (but it’s okay because THAT WILL NEVER HAPPEN).

But I still love the snow.  It reminds me of that one big storm during my childhood, when a layer of snow was packed down to icy horribleness, then another foot was deposited on top, then a eighth-inch crust of freezing crust topped things off.  That certainly gave the plows problems — I got the whole week off school.  Almost as good, it was just strong enough to support my form, when that form was properly enveloped in a puffy coat and on its stomach and sliding down the sleepy-streets-turned-gentle-hills of the neighborhood between my house and my friend Rob’s.  If you timed it, this turned out to not be such an efficient means of locomotion.  At the time, though, it was the fastest, most thrilling way I’d ever moved across that space.

This storm seems likely to involve a bit less ecstatic ad-hoc sledding and a bit more disgusting slush and missing Taylor sandwich ingredients.  Childhood in the suburbs has a commanding lead over adulthood in the city when it comes to winter wonderment.  But I’m still thrilled to see icicles on my neighbors’ gutters, and drifts accumulating in the corners of the alley below. C’mon, guys: snow day. Those words are going to thrill me until the day I die.

praise (but I intend to damn some more later)

Normally, the nicest thing you can say about any given GOP attempt to produce an internet meme is “I don’t think they meant for it to be racist.” But hey! Some of these valentine cards are actually pretty funny. Of course I don’t find the political content very appealing, but the jokes are well-constructed and not mean-spirited.

On the other hand, I’ve been fighting with unicode for the better part of the afternoon.  So maybe I’m just primed for closed-minded jingoism at the moment (8 bits per character was plenty good enough before people insisted on all this fancy talkin’! Heck, we barely even used that last one!).

technical things that people should learn how to do

Not that I blame those who don’t! But:

  • You should learn what a vector file is (e.g. EPS, AI) and when to use it versus a bitmap file.  And you should learn when to use a JPEG (photos) and when to use a PNG/GIF (graphic-y, logo-y things — things with sharp changes in contrast).
  • Use your Twitter client’s reply feature properly (when possible, i.e. when not using the SMS interface)! This sets the “in reply to” metadata, which allows for handy threaded conversation displays like this:


    (names changed because sometimes people are weird about stuff like this)

/pet peeves

the WMATA/Nextbus contract

Every DC Metro rider owes Michael Perkins a debt of gratitude. For a while now he’s been not only covering WMATA [UPDATE: link fixed], but jumping through the hoops necessary to uncover details of their contracts, budgets and other documents (and working on tech projects besides!).

Over the weekend he published his latest acquisition: the WMATA/Nextbus contract. As you might imagine, it takes the reader on a harrowing emotional rollercoaster. But before we get to that, let’s build some dramatic tension.

PREVIOUSLY, ON “LICENSING QUESTIONS RELATED TO NEXTBUS DATA”

After pulling the service due to concerns about its reliability, WMATA finally redeployed Nextbus last year. This happened not too long after the release of WMATA’s scheduling information in the open GTFS format — combined, the two excited a lot of interest in transit-enthusiast developers like myself.

But under what circumstances could the Nextbus data be used? The answer was not at all clear. Fortunately, Nextbus representatives began to pop up in relevant comment threads. Unfortunately, it soon became clear that there are two companies called Nextbus — one of them is “Nextbus, Inc.” (which I’ll call Nextbus) and one is “Nextbus Information Systems” (which I’ll call NIS). I emailed back and forth with representatives from both. First, my emails with Alex Orloff from NIS:

Me:

Alex, another question for you: there’s a lot of online confusion surrounding the relationship between Nextbus, Inc. and Nextbus Information Systems. Can you clarify the relationship between the two? Do you both have contracts with WMATA? And am I right in thinking that you’re the company responsible for the Washington, DC-centric Nextbus app in the iPhone store? I’m seeing folks show up in blog comment sections who claim to be affiliated with these two companies, and who are asserting contradictory things.

Alex:

When the transaction that created NextBus Inc. as a wholly owned subsidiary of Grey Island Systems occurred, NextBus Information Systems kept what is called the “distribution business” piece of NextBus, which includes all the things you would associate with distribution of data – licensing to third parties, delivery to cell phones, etc. The NextBus DC app on the App Store is indeed ours. We understand that there is some confusion about the relationship and we have encouraged NextBus Inc. to put a web page on nextbus.com helping people to understand our role. We think that that would be the simplest way to clear up any confusion – don’t you think ?

Me:

Much of the conversation is occurring at the Greater Greater Washington blog. And yes, I agree that it would be helpful if Nextbus clarified its relationship to your organization and the bounds of its arrangement with WMATA.

Am I right in thinking that Nextbus Information Systems has no formal arrangement with WMATA, but rather possesses the rights to license the distribution of some of the data emerging from the Nextbus/WMATA agreement?

Sorry if this is muddying the waters — just trying to get to the bottom of where I and other DC-area devs stand.

Me:

Aha I see the discussion now, I had seen that post a few days ago but Mike Smith’s comment was not up then. Did he send you any information directly ? I’m curious as to what he said if you have contacted him directly. We are definitely trying to get NextBus to be more open about our relationship with them and our rights. Many developers are asking the same questions, and like you, many are confused about what’s what.

We do not have an agreement with WMATA directly, our rights come from the agreement that was part of the sale to Grey Island, which reserved exclusive rights to distribution of the predictions, in particular to cell phones but also advertising, licensing, etc. in the United States (and UK). So our agreement covers any transit agency that NextBus tracks here in the US.

Next, my correspondence with Mike Smith of Nextbus.

Me:

Thank you for contributing to the comment thread at Greater Greater Washington. I hope you won’t mind clarifying the distinction between your organization and Nextbus Information Systems (NIS). I’ve been in touch with Alex Orloff of NIS, and from my discussions with him have developer the understanding that Nextbus Inc. is contracted with WMATA, but that Nextbus Information Systems — a wholly distinct entity — retains the rights to distribute the resulting data to mobile devices, via an API, and perhaps in other ways.

I and others in the DC developer/transit community find all this quite confusing. I have a number of questions that I hope you won’t mind answering. I think they’ll go a long way toward clarifying the situation:

1. Is the relationship between Nextbus Inc. and Nextbus Information Services that I have described correct?

2. If NIS has the right to distribute the data, am I correct in assuming they have access to your servers? Mr. Orloff indicated a desire to have Nextbus Inc. clarify the relationship between the two firms at nextbus.com, leading me to believe that you have control over the domain; but surely he has *some* access to your systems if he is able to offer an API view of the data, as he indicated.

3. If NIS owns the rights to distribute the data but does not control the servers, what steps is Nextbus Inc. obligated to take in order to restrict third parties’ access to the publicly available data at e.g. wmata.nextbus.com?

4. Does Nextbus assert ownership over non-predictive data produced as part of its contract with WMATA (e.g. routeconfig files)? What is its position on noncommercial use of such data?

Thanks very much for your help in clarifying these issues.

Mike:

It would be inappropriate for me to weigh in on what distribution rights that NextBus Information Systems (NBIS) does or does not have, since they are indeed a separate entity. But I can tell you that the transit agencies own the data and have legal control over it.

Sorry I cannot be of more help.

Mike

I wasn’t able to get more out of either of them. So here’s my understanding of the situation: at some point, Nextbus sold the main part of its business to Grey Island Systems. An independent portion remained, however, called Nextbus Information Systems, and it retained the rights to license prediction information generated by past — and future! — deals with the part now owned by Grey Island. The Grey Island/Nextbus folks say that the transit agencies they contract with own full rights to the data, same as NIS, but they’re understandably hesitant to step on the NIS folks’ toes (lest they get sued, presumably). Mr. Orloff was very helpful, but made it clear that I’d need to purchase a license before distributing any Nextbus-based application. Mr. Smith was also helpful, but not really empowered to speak about the licensing situation.

WHICH BRINGS US TO THE CONTRACT

First: Grey Island Systems is listed as the parent company of the Nextbus that did business with WMATA. So far so good. But then things take a discouraging turn:

But wait! There’s reason for hope: (WMATA is “the Authority” in this excerpt):

And finally, vindication (CIS = Customer Information System, i.e. Nextbus):

It’s possible that I’m missing something, but at this point I think my pre-contract understanding has been validated: WMATA has full rights to the data, which means it can give the data away if it wants to. Now we just need WMATA to give the all-clear! We may also need them to mirror the data or otherwise ensure that Nextbus can’t complain that we’re unfairly hammering their servers. I’ve got some ideas about how to proceed, and I’ve got a serendipitous meeting happening in the next few days — more soon, I hope!

the stack

A couple of weeks ago, Bunnie Huang wrote this in response to a piece on NPR:

Here’s [the part of the NPR story that] I found particularly poignant:

Two centuries ago, our forebears would have known the precise history and source of almost every one of the limited number of things they ate and owned. They would have been familiar with the pig, the carpenter, the weaver, the loom and the dairymaid. The range of items available for purchase may have grown exponentially since then, but our understanding of their genesis has grown ever more obscure. We are now as imaginatively disconnected from the production and distribution of our goods as we are practically in reach of them, a process of alienation which has stripped us of opportunities for wonder, gratitude and guilt.

That last sentence, I think, resonates strongly with my personal motivation as a Maker. I dive deeply into the supply chain, learning the processes and understanding the people behind our Things, because it enables me to once again feel the wonder, gratitude, and guilt for the Things we otherwise take for granted. Wonder at the skill of craftsmen and the cleverness of designers; gratitude for the passion and hard work of my peers; and guilt for the sacrifice, waste, and unsustainable practices motivated by an obscure system of perverse economic incentives.

When I was a kid, I fell in love with computers.  The world was incomprehensibly vast and terrifying, but here was a sort of bounded system, created by and therefore obviously understandable by humans, yet still mysterious enough to fascinate.  It was the closest thing to magic that I knew of that I also knew I could master.

So, without even realizing what I was doing, I started to try to learn about computers.  I messed around with AppleSoft BASIC; I set up BBS software; I figured out how to get a dual-modem setup working for 3-person games of Doom; I snipped the keyboard lock wire on my parents’ 386 so that they couldn’t keep me off of the thing during summer break while they were away at work.

Along the way I began to understand bits and pieces of these systems.  More importantly, I began to understand the larger aesthetic that unified them.  It’s a cliche that kids are better at technology than adults — the joke’s now about programming Tivo instead of programming the VCR, but it persists because it’s true.  I think that’s mostly because kids come to new interfaces with fewer preconceptions about how they ought to work, and with more patience because their time is worth less (I’ve certainly found myself getting worse at learning new interfaces as I’ve gotten older and (even) less patient).

But I was really good with technology, not just kid-good, and I think it’s because I had immersed myself in so much of it.  The thing you have to understand about bad interface design is that it’s not a product of stupidity: it’s a product of engineering.  There’s a reason that your childhood TV’s power button made a bigger click than its channel button did.  There’s a reason that the channel button only became a button after it was a dial!  At that age, I couldn’t explain those reasons.  But I could sense their existence, and became able to make inferences based upon them.

This isn’t a project that I’ve completed, and certainly not one that I’ve abandoned.  People sometimes refer to “stacks” of technologies that work in complementary ways — the PHP scripting language runs on the Apache webserver, which runs on a machine using the Linux operating system that also has a MySQL database installed, and together they form the so-called LAMP stack that serves a lot of the web’s content.

What the above quote is talking about is what I think of as the stack: the system of abstractions and physical mechanisms that makes digital computing possible.  There is so much of it.  It’s a good thing, too, because as you chase down an explanation for one mysterious part, the fascination associated with it recedes.  There was a time when I didn’t know how web pages worked, and was thrilled to learn HTML.  Now, frankly, I don’t give a shit.  But I am interested in how HTML is interpreted by Mozilla’s layout engine. And how operating systems work. And how those operating systems abstract away the varyingly serial and parallel nature of processors.  And how silicon doping and photolithography produce those processors (and why ever-higher wavelengths frequencies of light are needed for that — and what limits there are on this technique). Or how sound is stored on a hard drive. And what makes a keyboard’s keys rebound, and how USB keyboards are different from PS/2 keyboards. And how copper is mined, and how we create a voltage across huge stretches of it.  And what a voltage is! And why my LCD monitor needs to create such a large voltage to produce light, and how that light is encoded by my retina.  And the way that an HTTP request becomes TCP packets which become ethernet frames, and then how that’s all reversed on the other side.

I can give pretty good answers to a few of these questions, perform tolerable hand-waving for others, and am totally at sea for some.  As you might’ve noticed from my list, I’ve become less and less interested in what’s happening within software’s incredibly vast tangle of abstractions as I’ve gotten older — the abstraction itself eventually becomes a predictable pattern, and therefore a bit boring.  These days it takes a relatively extreme case of novelty to get me excited about software (typically something that will be completely inscrutable to non-geeks who don’t share my now-quite-perverse taste).

And of course there’s always more. Really, the computer was a conceptual frame and gateway through which I could start considering every piece of technology, bit by bit.  It’s a little more than a hobby and considerably less than a religion, but pondering the stack is important to me.

It’s not for everybody, though.  Here’s an example!

Some of the biggest complaints [about the iPad] come from programmers that say the closed system means people won’t be able to satisfy their computer curiosities. To which I again say: Good! Then they’ll have to satisfy their curiosities about emotional maturity and social interaction and possibly even thinking about making the world a better place.

It is not productive to spend an hour learning how to change the font on your computer’s clock. Even if while you’re doing that you’re learning about how computers work, you’re wasting your time and getting somewhere trivial very slowly. It reminds me of those copies of Shakespeare schools give children with all the annotations defining words and metaphors and techniques, so that kids can appreciate Shakespeare. It doesn’t work. It just makes Shakespeare look like a cryptogram that you can’t read like you do a normal play. Opening up a system that wasn’t meant to be opened just makes little kids cry.

The standard response, when I sink so low as to let programmers communicate with me, is: “But Rory, programming is my passion. I was willing to spend that long learning how to code.” No, I think back at them — programmers are not given the satisfaction of hearing my voice. No, you were willing to spend that long because you had obsessive-compulsive problems mixed with an antisocial attitude.

[...]

This system is closed! No tinkering! You can browse the Internet, or check your mail, or take notes, or listen to music, but when you’re out of little buttons to press then you’re out of things to do. Discover something else. You are not allowed to delve into the things that nobody ought to care about. You’re forced to get another button, or to put down your pad and make out with the other people wandering, dazed, unsure of what to do.

But however will children learn how to program? Simple: We will make them applications that teach them how to program. Every kid wants to make video games and Google, so it’s not like having a closed system will make them forget that such things are possible. When they go to learn, however, they will not learn by wasting their time doing things that will never make them happy in life. Instead, they will go to the carefully-screened App Store, and they will search for “How do I make video games”, and they will find a little button that teaches them and gives them a run-time environment in which to tinker. And because the iPad is so elegant and makes elegance so relatively easy, these apps will be elegant. We won’t get a row of advanced text editors too complex for people to understand. We will have a lot of simple, easy things that show us how joyful it is to tinker around, and that reveal their complexity and power as we learn enough to work at that level. I might even try my hand at something like that myself.

There is something to this!  And yet, it’s just wrong about how to teach programming.  Programs that teach programming are stupid — they’re for tourists.  The motivating impulse is noble, and I’d use one to give a class of students an idea of how computers work, but the talented engineers that emerge from that class will abandon such toys as soon as they can.

This is how people like Alex and myself learned to do the things we can do.  Like anyone else, we like some things about ourselves, and we don’t like things that we perceive as threats to the cultural dynamics that made us the way we are.

And I think this is why we don’t like the idea of the iPad.  More abstraction is good for users and bad for budding engineers.  A kid today will learn much less about engineering from an HDTV’s on screen menu than he would from my grandparents’ chunky black & white set.  There’s just more complexity to sort through, and replacing those raw objects d’engineering with stupid toys that represent what some engineer thinks is important about engineering — well, I’m not sure there’s a better alternative, but really it’s just adding another layer of abstraction, one that will inevitably have to be peeled back.  The entry point to the stack is getting further and further away from its bottom; the task ahead of those kids is getting harder and harder.

Fortunately, we’re not all going to be issued iPads.  The personal computer will continue to exist.  It’s still quite modular, projects like Linux are still going strong, and the geeks of tomorrow will still be able to get a foothold as they begin to figure out how the world works.  But hopefully this explains why things like the iPad are galling to people like me.  My objections aren’t really technical; they’re cultural.

UPDATE: Tim feels similarly. Imagine that!