July 2007 Archives

The Bourne Approximation

I don't care, I'd still go see it.

today's IP violation news

Suddenly there are all kinds of things going on in the world of filesharing:

  • Oink.me.uk, the incredibly comprehensive BT music site, isn't down, it's just experiencing DNS issues. Some folks thought the legal hammer had come down on them, particularly since some other high profile sites (most notably Demonoid) have recently gotten the axe. Not so; if you need to, you can still access the site by its IP using information at the above link.
  • AllOfMP3, the quasi-legal bulk MP3 site that traded off a loophole in Russian copyright law, appears to be dead, a casualty of Russia's stepped-up efforts to comply with international IP treaties. However it's already sprung up under a new name — MP3Sparks — and brought over customers' accounts and balances. I've successfully used AllOfMP3 in the past and been pleased with the experience. Better still, I haven't been murdered or sold into slavery by the Russian mafia. All in all, a better experience than anticipated.
  • Universal is pulling their music off of iTunes, or at least threatening to. Folks are speculating that this is because Apple has been unwilling to budge on various issues, the most notable being the 99 cent pricing for songs.

And finally, TorrentFreak notes that the Pirate Bay is responsible for 50% of all BT traffic, which is fairly astounding.

hello!

I'm not dead, although I am working from home today after some stomach weirdness brought my attendance at my buddy Andy's bachelor party last night to an abrupt conclusion. This is only the second bachelor party I've attended, and although I had to go home before I got a chance to have unpleasantly oily ladies cavort in front of me, it was still more debauched than the first: we continued the trend of eating pizza and playing video games, but the beverage of choice this time was BEER. The first such party just featured Dr. Pepper (the groom was Mormon, though, so this was pretty transgressive at the time).

Alright, some links:

frolf

Before I forget, check it out — wholesome all-American activity, conducted on the Fourth of July in a patriotic manner:

Ah, frisbee golf — or, more properly, "disc golf", as it's called by people sufficiently obsessed with it that Whammo suing one of their clubs or tournaments is a real possibility. Charles and I used to play all the time in high school, along with Jeff, Chris, Jon and Mark Zuckerman and whoever else was handy. It was cheap, vaguely outdoorsy and pretty fun. And Bluemont has one of the best courses in the area, although the first three holes are a bit overgrown at the moment. Head over to Casual Adventure, pick up a couple of discs and go play. It's only approximately as dorky as you think. Avoid the weird middle-aged dudes sporting frisbee bags and invitations to their mothers' basements and you'll have a pretty good time.

Andy and Lee Ann done got married

Ladies and gentlemen, the Porters. We're freshly back from Andy and Lee Ann's wedding in lovely Winchester, Va. The bride was radiant, the groom was handsome, and no fights broke out. Well, almost no fights.

This wedding is sort of a milestone for my group of friends, I suppose. It's certainly not the first, but I think it is the first that didn't owe part of its timing to a pending deployment to Afghanistan, an INS scam or a raging Mormon libido. Not that those aren't all fine reasons to push up the date of nuptuals, but none of them apply to me, particularly. As far as I could see, though, this whole operation was uncoerced! Weird.

A beautiful setting and an awesome band made for a fun reception. Then everyone came back to the hotel and got drunk in our room, which was also pretty great. And about an hour ago I wrapped things up by buying an ionic air purifier off the registry: an electronic gadget the coolness of which is only outstripped by its potential uselessness. It's exactly the sort of gift I'd like to be associated with, and a storybook ending to the weekend. I hope it brings them many a happy ion.

like everyone else on the internet, I'm getting a new phone

this is what I've been reduced toAside from Andy's bachelorhood and our hotel room floor, the weekend's most tragic casualty was my phone. The screen had been misbehaving for a while, occasionally displaying useless garbage instead of meaningful content like Twitter messages about what people in California had for dinner. Flipping the screen up and down usually solved the problem, but not anymore. First it was stuck as gibberish; now it just doesn't show anything. I'm stuck with the aged t39m (monochrome!) pictured on the right.

So I guess I'd better get a new phone, huh? The iPhone's appearance is a little too recent, and my need to pay $200 to cancel a contract (I have two T-Mobile accounts thanks to LastCall) means that it's out of my price range. Besides, I don't want to have to compete with Yglesias in the making-hilarious-observations-about-iPhone-quirks game.

Right now I think I'll follow through on my threats to get an Ocean, even though Matt's review has been lukewarm. The platform's locked down in the same way as the Sidekick, and it's clear there are some problems that future firmware upgrades will have to be used to work out. But mostly it looks like what the Sidekick 3 should have been, except with a lousier keyboard. The lack of an SSH client gives me pause — it's pretty awesome to fix a website from your phone — but I imagine I can work out some horribly-insecure alternative with an IM interface or a Java applet. I plan commandeer my officemates' phones tomorrow — as a web developer I'm officially sanctioned with that power, and both the iPhone and Ocean are represented — then I guess I'll take the plunge.

Unless someone tells me that's a horrible idea, of course. Anybody?

OH YEAH: I should point out that although my venerable t39m is an excellent phone, it's a terrible everything else. So don't send me text messages until I get this worked out, if you don't mind — there's pretty much no chance I'll retrieve them on this thing.

reading material

  • Emily sent me this link: Kottke compares Facebook and AOL. It sums up a lot of why I'm an FB skeptic. Open, diffuse standards and services are good. Putting your eggs in one basket is bad.
  • Slate has an article with a bunch of good links to other stories explaining why we should be dubious of carbon offset traders. I guess I'm probably behind on all of this, but I found it interesting and, as someone who's at least had offsets purchased on their behalf, personally relevant. The upshot seems to be that you can't just buy $1 worth of carbon non-release. Your money's actually pushing the margins of where it makes sense for companies to implement clean technologies — projects that they were considering doing for reasons unrelated to climate change. It's not clear whether traders are doing a good job of actually getting the money where it can best tip those scales, though, or whether it's just a case of a smattering of environmentally beneficial projects having their profit margins inflated at random. It's also unclear how much of the transaction the brokers are pocketing.

  • Speaking of Slate, good lord but this is a bad article. Who could possibly think that a series of passive-aggressive letters from a landlord to her tenants would be funny or interesting to anyone except the embittered property owner? Even more astounding: there's a podcast version.
  • Via TorrentFreak I see that Sprint is going to start spamming P2P users, embedding advertising in some dude named Plies' tracks, which they'll then blanket filesharing networks with. Details seem a bit scarce, but odds are that they'll just be throwing the Sprint logo into the ID3v2 metadata sections of the tracks (or whatever the equivalent is for AAC). It's an interesting idea, but I have a hard time imagining it's a strategy that would be worth pursuing if not for the one-time earned media that its inventiveness is garnering.

it's still not the future

I've pretty much completed my survey of phone options, and the news is not good. The Ocean's keyboard isn't very good, its browser is hopelessly neutered and it crashed twice while I was using it. The Wing is junky and also crashed while I was using it — Windows Mobile seems pretty awful. The Dash has some style and an okay keyboard, but the store clerks were wary of it. And although it's clear that it's probably underpowered (despite its custom edition of Windows Mobile seeming pretty snappy), it's hard to say exactly how that limitation would manifest itself. "Inconveniently" is my guess.

Besides, I really don't want to be forced to commit to two more years on America's slowest data network. The iPhone's beautiful, but if I were to spend that much money I'd want a less flaky keyboard, an SSH client and the ability to tether my laptop to it. I'm confident that software revisions (and perhaps an SDK) will make the device unassailably awesome, but for now I'm content to wait.

So yes, I'm a broken man — despite yesterday morning's wide-eyed telephonic optimism, I'm now trolling Craigslist and Ebay for used Sidekick 3s. The handset is a disappointment, to be sure: no maps, no video, no tethering, and Danger inexplicably makes their keyboards worse with every device revision. But it still offers the best keyboard out there, a fairly responsive and nearly-uncrashable operating system, and the promise of resuming normal Tom-phone activities until the iPhone pressures the market into making better devices. Here's to maintaining the status quo.

Georgie James / Middle Distance Runner

I suppose this writeup is making Friday's show still relevant, so I may as well put up the post that the demands of wedding-attendance preempted.

First, it was great, and you should check out Kyle's amazing photos of the show.

Second, the two bands I saw — Middle Distance Runner and Georgie James — both struck me as having a similar quirk: dueling songwriters. It's not an uncommon phenomenon, certainly, but it seemed particularly obvious in these two cases.

I don't know much about MDR, having had to leave their Unbuckled appearance early, but it was pretty easy to see that their songs come in two flavors. First, catchy pop that occasionally aspires to Bends-era Radioheadishness, and which is strangely lacking in bridges (seriously guys, key changes: they're good for what ails ya). Second, garage/stomp/Kings of Leon-style rock, the kind of stuff played by shirtless dudes in jeans and mesh caps who spend a lot of time trying to shop for belt buckles without anyone noticing them doing it. I'm not a huge fan of the latter and so couldn't tell you whether MDR's take on it is particularly good or not. But I really liked the songs of type A.

Georgie James has this sort of split personality, too. John writes angular pop songs (angular — what a fantastically cliched music critic word), while Laura's melodies seem to be more about mellow, bouncy notes tumbling over one another. I like John's hooks better, but although he has a very nice voice, Laura's clearly the one with the distinctive vocals and charisma (also: she's purty). It was nice to hear them making larger (though still tentative) forays into one another's songs on their older material, but I was surprised to see how divided their styles remained.

Of course, I haven't seen the songwriting credits on their demo EP or their unreleased album, so perhaps I'm just imagining a division where none actually exists. But in my mind, at least, the band's got two distinct styles. Each one has a lot to recommend it, but I'm looking forward to hearing more stuff that capitalizes on both.

UPDATE: While you're at it, why not go check out the first song from Bullets, the newest band in the great Q & Not U diaspora. Pretty catchy, although I've gotta say that the Purple Rain screengrab may be overkill.

woooUnbuckledwoo!

Alright, it was a little crowded and hot, at least one channel could be counted on to be clipping until 2/3 of the way through each song, and somebody standing near me seemed to have had a big meal of chili and corn nuts immediately before coming to DC9 (my personal recommendation: grasshopper tacos — the taste is just okay, but the horrifying-your-girlfriend potential is pretty solid).

Still, that was a fine, fine rock show. Congratulations to Amanda, Kyle and Sommer for another wildly successful Unbuckled.

But I think we need a new term for whatever genre of music Le Loup belongs to, or aspires to belong to. Along with Arcade Fire, the Polyphonic Spree, Broken Social Scene and who knows who else, this is a band that clearly has a ridiculous number of members, but somehow manages to use them to productive ends. And there are jammy elements, but I'd hate to call any of them jam bands. And there's a lot of melodrama, but — well, okay, there's just a lot of melodrama, I just don't care. I belong to a generation that shed tears when Optimus Prime died — I'm always ready to be emotionally manipulated.


I've been a bad blogger recently, but I've got a few semi-nifty technical projects in the works. Hopefully I'll be able to wrap one or two of em up tonight; stay tuned.

Also, the tag links aren't working anymore, if anyone cares — looks like Google crawling them was slowing down my webhost's machine so much that they disabled it. I'll probably just ditch the tags completely.

better Google Maps/Metro integration

Tech project the first!: I've revisited my venerable DCist Map project and ported it over to Google Mapplets — a just-launched feature that lets you add user-contributed mashups to your Google Map display in a wholly integrated way. This lets you do all kinds of neat stuff. For example, you can turn on a crime overlay by checking the "crime overlay" box. Then you could compare area muggings to gas prices by clicking the "gas price" checkbox. You'll be revolutionizing sociology in no time!

I've dusted off my code and ported it to the Mapplet version of the GMaps API, which actually entailed porting it to the GMaps v2 API first. It's nice of them to have finally un-switched latitude and longitude, but it made things kind of a pain in the ass for me. Still, it's nice to have it done and the tool up-to-date. Oh, and while I was at it I finally extended the yellow line up to Ft. Totten, as I should've long ago.

I've submitted the mapplet to Google's directory, but who knows when or if they'll add it. For now, if you want to add it to your "My Maps" toolbox, you can do so in the following way. You'll only have to do this once, then it should sit happily in your sidebar, waiting for you to toggle it on whenever you need it.

  1. Launch the mapplet-enabled version of Google Maps (it's still in beta).
  2. Click on "Add content" in the upper left of the "My Maps" section.
  3. To the right of the search bar at the top of this page is a tiny little link that says "Add by URL". Click it.
  4. Enter "http://dcist.com/map/mapplet.xml". Note the lack of www! The Gothamist folks have set up the hostname to redirect to the www-less version, but Google isn't smart enough to handle that. Enter it like this and you'll be fine. Click "Add".
  5. Say "OK" to the security warning that'll pop up. Trust me, I'm a nice guy.
  6. Follow the "Back to Google Maps" link in the upper left of the screen.
  7. That's it! You should have a new item in the "My Maps" section. Check the box next to it and the metro overlay will be activated.

I'll write up a post for DCist about this tomorrow (or maybe I'll wait to see if it's accepted into the directory). But I thought I'd put it up here first, so that you guys can give it a try and let me know if you run into any horrible problems.

UPDATE: One other interesting side-effect: this makes it easy to see where Google and I disagree about a Metro station's location. In most cases this is because the station has multiple entrances; I usually went with whichever one was most visible. In others its because of different standards: I generally used the satellite view to find the platform and geocoded that (yeah, I did them all manually). Google appears to use street entrances. I'd consider redoing them, but it'd mostly be for pride — having both on there is (arguably) the best solution.

the City Paper on LNS

Honestly, I don't understand what they're so upset about. I enjoyed the article, but the revelations it contains are merely a fraction as offensive as the stuff from LNS that Wonkette has published. And I'm having a hard time seeing who's going to get fired on the basis of the piece, as the commenters are claiming. "Not friends with a bunch of jerks" isn't usually included as a requirement in job listings.

unfoggedbot!

Tech project the second! I aspire to participate in the comment threads over at Unfogged. There's really no better place on the internet for listening to people with PhDs talk about such weighty topics as fat celebrity paramours and bizarre Japanese pornography.

But it's tough. The comments come in quick bursts. The only real way to participate in a thread is to keep it open in a browser window, manually refreshing every few seconds. Unless I'm stuck on a bus, I get bored when a slow spell hits. I move to a different web page or task. I come back and thirty messages have gone by, and the conversation has moved past a point where I would've liked to participate. Crap. There's comment RSS, but the interval at which RSS readers update is much too slow for it to be very useful.

What I need is push technology — something that does the checking for me, only bothers me when there's new content, and does so fast. So hey, I built something. It's a pretty simple IM bot hooked up to a script that checks the comment RSS a few times a minute (hopefully this is okay by the Unfoggitburo — I figure one script that resyndicates content could ultimately serve to reduce load).

Based on my not-very-rigorous testing, it seems to work fairly well. If you're interested, give it a shot and let me know what you think, and any improvements that you'd like to see.

  1. Add "Unfogged" to your AIM buddy list. Having the bot as a buddy loosens some of the rate limits that might otherwise prevent it from sending messages.
  2. Send the bot a message containing the URL for a particular Unfogged thread. You can use either the entry's permalink or the comment thread's link. You should get back an IM saying you're subscribed to the thread.
  3. From this point on you'll get an IM whenever someone posts to the thread. To toggle your subscription off, send the URL again. You should get another message confirming that you've been unsubscribed.

Disclaimers! The script is pretty rough:

  • it doesn't daemonize
  • the Net::OSCAR package apparently can't deal with rate limits, so if it hits one who knows what'll happen
  • if it crashes it won't relaunch, and it's running off a somewhat flaky server in my living room
  • it won't send IMs faster than once every three seconds in order to avoid rate limits, so it may get backed up during peak periods
  • and of course, it could always go crazy and start sending you floods of IMs (if that happens, I suggest just blocking the AIM user — send me an email or comment, while you're at it)

But at the moment it seems okay! If folks find it useful I'll polish it up, post the code and find it a better home.

UPDATE: Already found a bug! If the RSS parser finds an empty feed (which can occur if it queries it at the same moment as the feed's being rebuilt by MT), it craps out. I think I fixed the script, but I could be wrong. I'll have to have a closer look in the morning. I can confidently say I restarted it, which should let it work for a while, at least.

follow-up

  • Some notes on developing Google Mapplets. Mostly just a rehash of the documentation, but some might find it useful.
  • The Unfoggedbot is doing pretty well, but just choked on the RSS feed again. I think that may have been because Becks was adding a feature I'd requested. Maybe not, though. I need to add some better error handling to that script, which is unexpectedly shaping up to be the weak spot in the system. I'll also need to schedule some downtime during which I add code to clear out the database every week or so — as things stand right now the comment DB will just keep growing and growing.

liveblogging globalization

Bunnie Huang is the man who cracked the Xbox — not once but twice, as he recently revealed himself to be involved with the hypervisor escalation exploit, too. He's an electronics god.

Recently he's been working on Chumby, a fun alarm clockish gadget that promises to bring widget-like capabilities to your bedside table. Part of his duties involve arranging and overseeing the production of the units in China.

He's just begun putting up a series of blog posts about his trip, and they're really fascinating. At the very least, be sure to check out the first one, which has video showcasing the incredible skill and speed of the workers.

UPDATE: I see that BoingBoing linked to these posts, too, and Bunnie's put up a notice saying his site may be inaccessible as a result. Whoops.

UPDATE 2: Aaaand after further RSS catching-up, I see that son1 beat me to this by a mile. Sorry for the redundancy! But hey, everyone agrees: these posts are worth reading.

late, but once again able to read

Not to be a scold, but after yesterday I think I should emphasize: you might want to try to avoid getting migraines. I knew something strange was happening when the screen started swimming and I couldn't properly string together words for an IM conversation with Cyrus. This was mostly just confusing and interesting — I've been fascinated by aphasias, agnosias and other functional deficits ever since since I learned the blind spot trick. But from there things quickly descended into a dull ache exacerbated by attempts to read. I finally gave up and went home, where a nap more or less set things right. But the back left side of my brain still felt worn out for the rest of the night, like the strip of grass in the middle of a soccer field.

Fortunately, this was unusual — I can only feel sorry for the folks afflicted with migraines on a chronic basis. In my case I can only conclude it was caused by — what else? — suspicious, out-of-the-ordinary coffee. I know, I know; even I'm having a hard time believing that explanation at this point. But I'm really at a loss for what else it could be.

membership has its privileges (they're just all kind of lame)

Oh christ. Charles has just pointed me to "The Space", a members-only club that seems to be sinking its roots into the neighborhood. Be sure to check out their services and application, which asks for a credit card number and signed agreement to abide by the club rules without actually listing what the fees or rules (or even address) are.

Then, head over to the entrepreneurs' bios on this page and laugh at my impending doom:

Five years as a rugby player triggered my interest in world travel. That’s how I met my wife, Karen. When we settled down in Washington, our mutual passion for real estate investment kept us exploring. Adams Morgan, Arlington, Georgetown—we got to know all of the area’s fascinating and unique neighborhoods.

So cosmopolitan! Edgy, too — I hear Adams Morgan is kind of a rough neighborhood.

With the Warehouse in trouble, this neighborhood actually does need some general-purpose space for art, music and events. But "International Lifestyles" aren't going to attract their allegedly-desired artistic class by setting up a guest list and throwing on a Thievery Corporation mix CD. Here's hoping this carriage house quickly reverts to something half as useful as the car repair shop it used to be.

raise your hand if you learned the word "cloture" in school

I sure didn't. Actually, my AP Government class mostly spent its time listening to the teacher rhapsodize about Teddy Roosevelt and watching tapes of Bill Press and Bob Novak facing off on an early incarnation of Crossfire.

I don't think my experience was unique. In fact, judging by the coverage of the current filibuster/non-filibuster/filibuster-forcing-pre-filibuster, it seems pretty clear that even those who should be among the best-informed observers of the political process have very little idea how parliamentary procedure works. Despite the fact that it's completely essential to understanding how things get done in the legislature, reporters tend to just fake their way through coverage of it. I'm beginning to wonder whether anyone outside of a tiny set of professional staffers actually understands how our government works.

It's all very, very strange. It might be time to update those Schoolhouse Rock cartoons into longer, more boring versions of the originals. And hey, as an added bonus, doing so will also provide additional material for a new wave of ironic t-shirt iron-ons two decades from now! It's win-win.

not even a day

Walking into the Old Dominion Brewhouse yesterday, two guys stopped me and asked if I could direct them to The Space. Clearly I have no idea what the market actually wants.

In other news, I'm interested to hear if there's a section on La/te Ni/ght Sh/ots where users can employ any HTML — links, images, whatever. If you've used the site enough to notice such a spot, let me know. Science projects are hatching.

screenscrapers, rejoice!

Adrian Holovaty has just released a Python library called templatemaker that promises to make screen-scraping much easier.

Some explanation: if you're trying to do something automatically with a website, it's best if it has an API. This is a reliable, documented interface that your program can use to interact with the other site. Flickr has an API; Google has an API; del.icio.us has an API. Lots of sites have APIs.

But lots of sites don't. WMATA, for example, has none. In that situation you're stuck writing a program to parse the HTML of the site, which was designed to be viewed by humans, not robots. Here's a very simple made-up example. This table:

TimeLine
9:00 AMOrange
1:00 PMBlue

Looks like so in HTML:

<table align="center" border="1" width="300">
<tr><th>Time</th><th>Line</th></tr>
<tr><td>9:00 AM</td><td>Orange</td></tr>
<tr><td>1:00 PM</td><td>Blue</td></tr>
</table>

And I can write some regular expression-laden Perl (or whatever) to extract info from it like so:

while(my $l=<>)
{
   if($l =~ m/<tr><td>(.*?)<\/td><td>(.*?)<\/td><\/tr>/i)
   {
      print "train time is $1 and color is $2\n";
   }
}

This is a pain in the ass. Worse, if WMATA decides they want to make some minor cosmetic changes — altering the background color of each odd-numbered result row, or changing to 24-hour time notation, or even just adding some line breaks to make their HTML more readable — the regular expression will break and have to be meticulously redesigned. And this is just a simple example; in reality the initial regex will be much more unwieldy and the fixes much harder to identify and make.

Holovaty's templatemaker aims to automate this by matching similar stretches of text, allowing it to determine which portions of a set of documents vary and which remain constant, then plucking the variable data out on the basis of its analysis. Some of that will be junk — you probably aren't actually interested in the breadcrumbs or meta tags in a set of pages, although they're quite likely to vary across the set — but with an intelligent look at the results, this could greatly speed up the process of extracting data.

Check out the sample usage for a simple example of what I'm talking about. I'm not much of a Python-lover, but I'm looking forward to using this project.

meaningful applications for technology

Thanks for the reminder, Ezra! Man, I can't believe it's been a whole year since MediaBistro's last DC journo beauty pageant. As you may recall, last year's contest featured a stunning come-from-behind victory — one that unfortunately didn't count due to the deciding surge of democratic expression occurring in the 24 hours after voting closed. This in turn can be attributed to the parties responsible for the outpouring of support accidentally misreading the end date of the contest. I bet they felt pretty stupid about that.

But don't worry! I'm confident that democracy will triumph this year.

universal seething hatred is a good sign that something's wrong

I think Tim's being just a bit disingenuous here when he discusses the relative competitiveness of the cell phone market:

It’s nonsensical to say there’s no competition because consumers only choose a wireless carrier once a year (or even once every two years). Most people don’t buy computers, cars, or major appliances more often than that, yet no one claims that makes those industries uncompetitive. If consumers get crappy service during their contracts, they remember this fact and switch to a different carrier at the end of the contract period. And consumers comparison shop before they sign a contract, so phone companies have as much incentive to keep their prices low in a contract-based system as they would in a system without contracts.

It's true that purchasing at intervals doesn't rule out competition. But this argument ignores a few salient points about this particular market.

Nearly all phones are locked, minimizing their resale value. Transferring your contact information between low-to-midrange phones is difficult or impossible. Until recently, you couldn't take your phone number with you (number portability is a much-loved big-government mandate that the carriers fought tooth & nail). Although some carriers let you transfer your contract to someone else without paying an ETF, doing so while retaining your number is more than a little tricky, if not downright impossible. And of course, contracts typically last longer than a mobile phone's window of technological relevance, ensuring that these barriers will be in place until the phone is worth only a fraction of its initial value, needs a new lithium battery, and is generally headed for the donation bin.

All of these factors inhibit the emergence of a viable market for used cellphones and plans, which in turn allows the carriers to avoid some of the sorts of competitive pressures facing refrigerator and automobile manufacturers. Yes, they have an incentive to keep their prices low in a contract-based system — but only within the bounds of that system. It's as if NFL players collectively agreed to play touch football for a season and used their union's power to freeze out replacement players. There could still be competition, but it wouldn't be nearly as vicious as it would need to be to optimally serve the public.

There's also this:

The iPhone point also strikes me as especially silly. The iPhone is expensive because it’s a cutting-edge gadget that’s been on the market less than a month. The fact that some of the cost comes in the form of a 2-year contract, as opposed to an up-front sticker price, is beside the point. If you think the iPhone, 2-year contract and all, is too expensive, buy a different phone. There are plenty to choose from.

But the point Ars is making is that the iPhone actually isn't being subsidized by the contract fees. Consumers are buying the hardware at full retail price and being locked into a contract. This puts the lie to the carriers' argument that early termination fees are in place to avoid losses over hardware subsidies — they charge the fees whether there's a subsidy or not (and only one carrier will prorate this fee). Nor do customers have a way of opting out of this fraudulent system of portable phone paternalism. As Farhad Manjoo wrote yesterday:

You can't offer to pay full price for a handset in exchange for a reduced early-termination fee and an unlocked phone -- no major firm will let you do that. Indeed, in some instances carriers will charge you a fee even when they don't offer you any break on the price of the phone. The iPhone is the primary exhibit: AT&T doesn't subsidize the price of the phone, but you're still locked to a single provider.

I'm currently facing an ETF from T-Mobile for an account I set up without receiving a handset (I used it for my now-defunct DCist SMS service). In retrospect I should've signed up with a prepaid service. That would've been fine for my application, but these services typically charge more for services and offer less advanced phones. They're designed for customers who are credit risks (or drug dealers!). Unlike in Europe, prepaid is clearly not a viable way to opt out of the contract system.

The actual reason the fees are in place is to prevent "churn" — the frequent switching between carriers by customers seeking better service, handsets or prices. Obviously this is a nuisance to carriers, and has real administrative costs. But surely the overhead to customer acquisition and early account termination is less than $150 (and if it is, surely it ought to be pro-rated when a customer has fulfilled part of their contract). No, the carriers are transparently using the fee to introduce friction into the marketplace, allowing them to extend the lifecycle of each generation of technology and spend more time in the pleasantly wide part of the margin that comes once they've paid off their capital investments.

There's nothing wrong with wanting to post nice fat profits, but I don't see a reason why we should enable this cartel-like activity. Customers will be better served by a faster-moving market. As it stands, customer dissatisfaction remains high across the industry, text messaging rates are going up rather than down and all customers with sub-smartphones remain locked into buying software exclusively from their carriers, despite countless forums filled with people vainly asking how to load mp3s as ringtones. And although the internet jumped all over Ted Stevens for wanting a phone that would seamlessly rollover from wifi to cellular to landline access, his request wasn't unreasonable (well, except perhaps for the bit about the motorcycle) — VoIP/cell handing-off is useful technology that's been available for years, but is just barely showing up in the consumer marketplace.

It's simply not a very good or competitive market. Everybody hates it, and we ought to fix it. I have no idea whether a more open market would increase the total monthly expense of owning a cell phone. But even if it does, I suspect it would open up a lot of potential for growth of other industries — independent cellphone software, least-cost VoIP routing, third-party ringtones, better handsets, location-based services and who knows what else. Wireless data is a utility, not a retail product. Its market ought to be opened up.

DIE! DIE!!!

The exterminator's aerosol poison arrived a day before my mail-ordered Terro, but it didn't last. I consider this a very promising start:

DIE! DIE!!!!

tech links

To get things started off nerdily on this beautiful Monday morning:

  • Xbox-Scene translates an interview with TheSpecialist, the guy who's responsible for the XB360 DVD firmware hack and is helping further the state of the art in attacks on the core system. Microsoft did an impressively good job on this console's security: hackers have decrypted pretty much everything on the system, but still can't run homebrew code. Yet.
  • The RIAA is scared of Harvard. The article tries to make it sound as though the school's big scary law professors are responsible. But I think we all know that it probably has more to do with secret convocations of robe-clad figures, who clutch ceremonial daggers while writing our nation's energy policy and Simpsons episodes. You're not fooling anyone, Yglesias.
  • Remember when I was all excited about Pownce? Well, Rich was nice enough to send me an invite. I tried it and it kind of sucks. Twitter + file transfer would be great, but the client doesn't integrate as cleanly with OS X as Twitterific does (i.e. there's no Growl functionality) and whenever there's a network error the whole thing grinds to a halt until you notice what's happened and click a button. I was also disappointed to see how half-baked the event stuff is.

    But none of this is stopping Valleywag from wetting themselves over the service in a deeply embarrassing way, then whining that no, they were just kidding (or something) in the comments. Bah! For more, see Uncov.
  • If you're interested in Processing and not yet reading Flight 404, start. It's written by one of the Barbarian Group guys, and he uses it to detail his experiments with artwork generated from physics simulations. His visualizations of magnetic fields are particularly nice, I think.
  • Motors! Building a soda-can motor might be fun.
  • Oh yeah! There's this, too: a new version of the Google Analytics OS X dashboard widget. Nice. Thanks for the link, JP.

the beautiful people

This is getting weird.

I like how some of the shots of "off-air" talent are screencaps from on-air appearances. And how some of the contestants don't actually work in media at all. But the exclusion of certain perennial candidates is, of course, an outrage.

Harry Potter and the inevitable blog post

I haven't started reading Deathly Hallows yet, although Emily and I did break down and sheepishly buy a copy from the customer service desk at Giant last night. She's most of the way through, but is currently taking a break. I've been rereading a borrowed copy of the sixth book (thanks Matt!), reminding myself of important contextual points like who the hell Romilda Vane is and how to pluralize "horcrux".

I've also found myself reading a lot of blog posts about whether Harry Potter is good or stupid or could beat up my dad. Most of these are merely the forces of curmudgeonliness checking in for another round of the fight that Michael Chabon started (it's both a children's book and a wild commercial success, so they like their odds).

There's also the willfully counterintuitive posts — folks who decide not to let the books charm them, then write 300 words about how they don't see what the big deal is. My favorite so far is Megan McArdle's economic critique of Harry Potter, the subhead of which contains the hilarious assertion that "successful magical worlds depend on basic economic principles".

It's tempting to quibble with Megan's complaints about the apparent limitlessness of magic, dismay at the authorial sloppiness implied by a reliance on imperfect communication between characters, and puzzlement over how stratification of wealth can exist in a society blessed with extraordinary abundance. But plausible answers to these criticisms can be found in the AD&D rule book (any edition), O Henry's short stories and contemporary American society, respectively. So I won't belabor the point.

I do think it's interesting to consider the books' appeal, though. Kriston provides a nice account of it here. But I think my own reasons come closer to Ogged's: these books are hugely comforting. The reliable patterns of discovery, worry-prefaced resolution and compassionate authority figures are incredibly soothing. Plus there's the handily straightforward good/evil dynamic, which makes even the tension reassuring in a Rocky IV-ish sort of way. More than anything, there's a pervasive sense that everything will work out in the end. Or there is for me, anyway — perhaps those who've already finished the new book will disagree.

man versus wild versus authenticity

A few traumatic hours ago Ogged alerted me to some alarming allegations about my beloved Man Vs. Wild (known as Born Survivor in the UK):

To live up to his public image of a rugged, ex-SAS adventurer, it must have seemed essential for Bear Grylls to appear at ease sleeping rough and catching his own food in his television survival series.

But it has emerged that Grylls, 33, was enjoying a far more conventional form of comfort, retreating some nights from filming in mountains and on desert islands to nearby lodges and hotels.

Now Channel 4 has launched an investigation into whether Grylls, who has conquered Everest and the Arctic, deceived the public in his series Born Survivor.

...

[A]n adviser to Born Survivor has disclosed that at one location where the adventurer claimed to be a “real life Robin-son Crusoe” trapped on “a desert island”, he was actually on an outlying part of the Hawaiian archipelago and spent nights at a motel.

On another occasion in California’s Sierra Nevada mountains where he was filmed biting off the head of a snake for breakfast and struggling for survival “with just a water bottle, a cup and a flint for making fire”, he actually slept some nights with the crew in a lodge fitted with television and internet access. The Pines Resort at Bass Lake is advertised as “a cosy getaway for families” with blueberry pancakes for breakfast.

In one episode Grylls, son of the late Tory MP Sir Michael Grylls, was shown apparently building a Polynesian-style raft using only materials around him, including bamboo, hibiscus twine and palm leaves for a sail.

But according to Mark Weinert, an Oregon-based survival consultant brought in for the job, it was he who led the team that built the raft. It was then dismantled so that Grylls could be shown building it on camera.

In another episode viewers watched as Grylls tried to coax an apparently wild mustang into a lasso in the Sierra Nevada. “I’m in luck,” he told viewers, apparently coming across four wild horses grazing in a meadow. “A chance to use an old native American mode of transport comes my way. This is one of the few places in the whole of the US where horses still roam wild.”

In fact, Weinert said, the horses were not wild but were brought in by trailer from a nearby trekking station for the “choreographed” feature.

Josh has been disqualifieded amidst a cloud of scandal, Dumbledore's dead and now Man Versus Wild is a fraud — where the hell are all the male role models going!?

Fortunately, a commenter on the story offers a ray of hope:

Bear is for sure coming after the person making the allegations and there is no escaping him, not even in the remotest parts of the world. He will hunt you down.

We're going to fight this thing!

meenster

Anyone know who's responsible for this? I'd like to know where they get their data.

UPDATE: The WHOIS record unexpectedly contains useful info; email dispatched, never mind.

the primary will be conducted on Facebook

The YouTube debate was more entertaining than a usual debate, I'd say, but Yglesias is right that it basically amounts to a fresh coat of paint on the same tired format presided over by the same anonymous media potentates. Except now, apparently, a percentage of all questions will be posed as irritating songs. Thanks, unknown CNN producer who still thinks JibJab is funny!

I did enjoy Joe Biden's response to this question, though:

He sort of lost his momentum partway through — you can see him thinking I'm being too blunt... This could ruin my chances at the presidency! But for a second he seemed to be struggling to express the idea that enabling crazy assholes to collect deadly Beanie Baby/Pokemon surrogates doesn't top any sane politician's list of policy objectives.

fall TV

A lot of it is already available on Bittorrent, if you're interested. Torrentfreak speculates that these may be deliberate leaks rather than just critics' screeners that have been ripped and uploaded.

last year's model

There are too many folks competing in this year's MediaBistro beauty pageant for me to take sides. But I'm always eager to convince my friends to learn some scripting mojo (seriously, it'll make your life better). So here's the code that worked last year. How to configure it, modify it, and run it is left as an exercise for the reader.

#!/usr/bin/perl

use WWW::Mechanize;

my $num_votes_to_make = 9999; # this would be a bit obvious, wouldn't it?
my $min_sleep_time = 1; # sleep at least a second between votes
my $max_sleep_time = 10; # but no more than ten seconds

my $mech = WWW::Mechanize->new();
$mech->proxy(['http', 'ftp'], 'http://127.0.0.1:8118/'); # use a Tor proxy on port 8118 to hide our IP address (http://tor.eff.org)

for(my $i=0;$i<$num_votes_to_make;$i++)
{
   print "voting...\n";

   my $url = 'http://mediabistro.com/articles/poll/000091/';
   $mech->get( $url );

   $mech->submit_form(
      form_number => 0,
         fields => {
            rsld => '330'
         }
   );
   
   my  $random_sleep_time = int(rand( $max_sleep_time-$min_sleep_time+1 ) ) + $min_sleep_time;
   print "sleeping " . $random_sleep_time . " seconds...\n";
   sleep $random_sleep_time;
}

"expecto patronum" is not valid syntax

Shortly after posting the Unfoggedbot I got this email from Stanley:

Is there anywhere that Joe Humanities Degree can go to to learn how to do this sort of thing?

Needless to say, this sort of request warms the cockles of my heart (whatever those are). And today, in the aftermath of various recent demonstrations of scripting languages' utility, it might be a good time for me to press my case.

So: yes! Yes, a thousand times yes. You can learn a scripting language, which is the easy way to put together an IM answerbot, or a ballot-stuffing bot, or whatever else. In fact, you not only can but probably should. Scripting languages are a powerful way to control computerized systems. The computerization of the world is obviously nowhere near complete, but it's getting there quickly — and that means that the relevance and power of scripting languages are only going to increase. You can already control various pieces of the physical world with this technology, like lights and thermostats. And if you use Excel or perform repetitive tasks on a computer in your daily life, you can likely save yourself some drudgery with a well-written script. Soon enough your toaster, garage door and television will be accessible through these languages, too.

There will be other ways to control the electronic world, it's true. People will continue to invent visual metaphors like Yahoo! Pipes and Lego Mindstorms that expose some of the capabilities of programming in an accessible way. But we're a long way from the day when these GUIs confer the same power that knowledge of a scripting language affords. Besides, they tend to rely on metaphors that are more easily learned through a text-based programming language.

And that's important. Along with the ability to manipulate the devices and information around you, learning a little programming will help you understand how engineers think. If you familiarize yourself with the sausage-making side of computers you'll begin to develop an intuitive understanding of hardware and software interfaces which, as I mentioned, will comprise a larger and larger portion of the world. You'll never have to be one of those hopeless codgers reduced to asking his or her grandkids for help programming the hyper-VCR.

So how should you approach this worthy undertaking? The best way is probably to pick a scripting language and start perusing the materials that are available. But which scripting language? In some ways it doesn't matter — you'll need to learn what a variable is, how an if..then statement works and what a for loop does in any of them. But you may as well hear the nerd scuttlebutt on each and then make an informed choice. So let's look at the big three first:

TMLMTBGB

Kriston and Kate dragged Emily and I, kicking and screaming, out to get some culture last night, having purchased tickets to Too Much Light Makes The Baby Go Blind on our behalf. "It's okay," Emily assured me, "We can always leave and go see Die Hard — it's only a couple of blocks away."

But the play was great; if there are any performances with unsold tickets left, you should go. I thought the entirely serious pieces didn't work all that well, partly because there were so few of them and partly because they were a bit banal (yes, the Iraq War is bad; yes, Jesus probably wouldn't persecute gay people). But the rest of the plays were consistently hilarious, and never even a little boring.

Chris's DCist review is here.

command line rock

curl http://barsukmusic.blaireau.net/player/bark067/bark067.xspf | grep "<location" | perl -ple "s/<.*?>//igx" | xargs curl -O

Thanks for the heads-up, G/Catherine.

city livin'

I woke up this morning to the banality of jackhammers. Construction crews were tearing up the street, redoing the lousy, lumpy patch job left by the workers who'd replaced our lead water pipes weeks ago. There was a $50 ticket on the hood of my mercifully un-towed rental car — my fault, I'd forgotten about the paper "No Parking" notices.

Next to the car, a lingering pile of trash: the overflow the garbagemen only sometimes deign to pick up. Our neighbors helped themselves to all but one of our city-issued bins a while ago. I've called twice for replacements, but other than reference numbers I haven't received anything in return.

God dammit, DC. This is all a bit much for a Monday morning.

bonus additional whining

I'm not sure how to blame the Fenty administration for this (yet), so it gets its own post — a pathetic attempt to attract, via Google Alerts, the attention that my email to support@ hasn't.

So: RANCHERO SOFTWARE'S NET NEWS WIRE is a piece of junk. I paid for this application a year ago. Along with it came a year's worth of their NewsGator service, an RSS-synching feature that I had no use for. That NewsGator trial expired on Saturday — and my copy of NNW suddenly decided it, too, was no longer interested in working. It now thinks it's expired shareware, and asserts this fact in a maximally-annoying way: by disabling manual feed refreshes and the "next unread" buttons. There are probably other even-more-insidious limitations that I haven't yet found. I'm scared to look.

I know, I know: use Vienna, use Fire, use Google Reader. The truth is that I like NNW's interface a lot. And hey, I've already paid for it. Or I thought I did, anyway.

A-HA!: "Mark all as read" also doesn't work. Fantastic. And it turns out I could've upgraded to version 3.0 for free as late as Friday (when my NewsGator subscription ran out) — maybe my failure to get the latest & greatest is what's responsible for the current malfunction.

Ranchero eventually wrote back and confirmed that I was experiencing a bug, not an unusually evil licensing policy. They've made everything better, and I'm once more a happy customer — see here for more.

the weekend in tags

AV Ristorante, 2.5 hours, angry hostess, burnt lasagna, party, Tom Collinses, cookies, pretzels, burns, sleep, hangover, rental car, drive, mom, visit, vineyard, Cooper Minis, surly vintner, gross chocolate wine, dinner, Obrigado restaurant, adorable cats, fresh tomatoes, drive, unexpected carnival, Sidewinder, bruises and screaming, lost change, creepy carnies, fresh lemonade, corn dog, funnel cake, clown trash can, mechanical bull, gauchos, dunk tank, gambling, quarters, drive, sleep, drive, west virginia, river, tubing, beer, Harpers Ferry, dinner, storm, soft serve, storm, drive, home, Harry Potter, sleep.

The weekend gets an A+

TLF on Google

I really like reading The Technology Liberation Front, but they're in serious disarray over Google's bid to force the 700 MHz band open. The backstory, for those who haven't been following it: the FCC is about to auction off the last major block of radio frequencies that will become available for ten years or so. They're particularly delicious frequencies, too, able to penetrate buildings and carry lots of information. Google's been lobbying the FCC, hoping that the agency will require some or all of the winning licensees to keep their networks open: they'd have to let new services and devices connect instead of getting to pick who connects and what services they offer, the way today's cellphone companies do.

This has thrown TLF into a tizzy. They've responded by providing hefty helpings of hand-wringing, ludicrous potshots, and, yes, some actually reasonable analyses of the situation.

It's easy to see why they're going nuts over this: their no-regulation ethos naturally favors big companies throwing their weight around. It's the market working! But Google is also a big company. And it's also throwing its weight around. Except this time, the weight is being thrown in the direction favored by those of us who want more regulation — the net neutrality cranks, communists and starry-eyed idealists. It's a very confusing situation for market triumphalists, and it undercuts a whole class of "let 'em play ball" arguments.

Consequently we get posts like this one, which is wrong in a number of ways: