Scripting News
Dave Winer's weblog, started in April 1997, bootstrapped the blogging revolution.

I'm in heaven
5 Jan 2009

The Internet has many wonderful applications, but I doubt if people think of it as a romance platform, but it is.

Case in point. I was looking for some music to play for my friends on Twitter the other night, and I don't remember how I stumbled on this wonderful recording of Ella Fitzgerald and Louis Armstrong singing Gershwin's Cheek To Cheek, but it is something else. I recommend putting aside a bit of time later if you don't have time now, and play it on a nice sound system, and get ready for your heart to go to heaven.



But that's not the end of the story.

I remembered seeing the same song sung by Fred Astaire with Ginger Rogers, in the movie Top Hat. Now Fred's not really a singer like Louis & Ella -- but boy can he dance. The yin and yang! Cheek To Cheek reaches places with Fred & Ginger that you're just going to love.



So the Internet is a history and heart machine. It's love and life. Flirting, dancing, swing, and yeah kisses. smile

Rethinking authentication
5 Jan 2009

A picture named bonehead.gifFirst a caveat, this is going to be a technical post, so if you're not interested in techie stuff, you can skip it. However, I'm going to try to make it understandable to smart users who are willing to scratch their heads and read it two or three times, if you care to.

There's been a persistent problem in the twittersphere when developers have wanted to enhance the service but require access to the user's account. There's no other way than to ask for the user's login info: their username and password. If the developer is ethical, this is not a problem, it's much like giving credit card information to a vendor. But you can get in trouble when the developer isn't trustworthy and uses your information in malicious ways. We got a taste of this, this weekend.

Immediately people in the know say Use OAuth! -- believing that will solve the problem. I understand OAuth, I've implemented Flickr's authentication system which was the inspiration for OAuth. It's a complicated dance for the app developer, but it provides the user with an important ability that's supposedly available no other way. The user can de-authorize one app without de-authorizing all others. It's true, you can do this with OAuth, but it's not the only way to do it, and it's more complicated for users and developers than the other way, which I'm now going to explain.

I got this idea when Twitter rate-limited me yesterday. I was debugging some code, and I guess I made more than 100 calls in an hour. Now I can't make any more calls from my LAN (even though it's been almost 24 hours since the offense). This showed me one very important thing -- Twitter has the ability to block calls by IP address. That's the key.

A picture named wimpy.gifOkay, so now assume I've given my username/password to Wimpy's App Shop, who has a neat little Twitter add-on gizmo that I love, and everything's going great until one day Wimpy, whose shop is suffering in the recession, decides to make a little extra money by selling my login to Bluto's Greasy Spoon Spamporium, who proceeds to send huge numbers of phishing messages to Chris Brogan, Kevin Marks, Chris Messina and Guy Kawasaki. This is very annoying. We must stop it at once!

Now imagine that Twitter had a page that showed all the IP addresses that have used your login in the last 30 days, with a start date for each and a count of calls made. I bet you could figure out which one was The Greasy Spoon Group, pronto. Further suppose there was a checkbox next to each IP address. You could uncheck that one, click Submit, and voila, no more spam from your account. You just did everything that OAuth promises to let you do, and no one had to implement the dance. It worked with today's simple and klunky worse-is-better authentication system.

Now IP addresses are ugly and not informative, so add a little enhancement, and have Twitter do a reverse DNS lookup for each one. If something simple came back, like appshop.com and not adsl-86-229-2-19.dsl.pltn90.sbcglobal.net, display it instead of the IP address. Now it would be even easier to spot the nasty dude.

That's it, that's the idea. I think this works -- do you see any problems??

Update: Great comments. Over on the Twitter blog, Biz says they're going to release a closed beta of OAuth this month.

Why our customers are smart
5 Jan 2009

I often tell stories about companies who treat their customers or developers as if they were idiots. But that's not to say my own company, the one I started, didn't do this too -- it did. It's human nature, but it's bad human nature, it's self-defeating, it's dysfunctional.

When I heard someone say a customer was stupid, I said if that's true we're really fucked.

Here's how I reasoned...

1. We have to believe our customers are the smartest people, because they were smart enough to choose the best product.

2. If they were stupid, then they chose the wrong product and we're dead, so you'd better start looking for a new job

The only logical way to proceed is to:

1. Make the best product.

2. Find the smartest customers.

3. Treat them like the geniuses they are.

4. And earn their respect. (Which they never failed to give us, as long as we did 1, 2 and 3.)

Our customers really were the smartest people -- we made products that you had to be smart to want. But I think every company has to feel their customers are the smartest, or else why bother coming to work?

Further, we don't look for "feedback" from customers, we look to learn from them. Feedback is what you ignore. Learning is how you build.

"cheesecake"

RSS as the foundation for realtime
4 Jan 2009

A picture named bonehead.gifSteve Gillmor has been on a campaign to get Feedburner to wake up and make his Feedburner feed more responsive. I support him in this. Now that Feedburner is pwned by Google, there's something kind of sneaky about a big company that prides itself on keeping its servers up and responsive all the time to be asleep on this.

To be fair to Google, it's not 100 percent clear if Steve's website is pinging them on the feed update. This is something we could look into because the protocol for pinging is something we're all pretty familiar with, since its been around for a long time and it's pretty simple. There's an XML-RPC interface, even a REST interface. Google operates a compatible ping server. You don't even have to know the protocol, since Matt Mullenweg kindly put up a server that pings them all. Just tell him what changed and let him make the call for you.

However, it is the very end of the Christmas holiday, so that may be the reason. A wire-trip, and no one is watching the store. That's the danger of centralizing a decentralizing technology like RSS. Like the Internet itself it can route around outages, but only if you let it be distributed. This points out the need for an open source easy to install version of Feedburner. Now with cloud services like Amazon and Microsoft's upcoming Azure, and Google's own AppEngine, it would be a simple matter to put something together in any number of different languages that would provide all the benefits of Feedburner (stats mainly) without the problems of excessive centralization.

Steve called a few minutes ago, and I volunteered to write about this. I also volunteer to help get a Feedburner competitor on the air, whether it's a small independent project or something run by Microsoft.

Update: Feedsqueezer.

Why Twitter *can't* be conversational for me
4 Jan 2009

I've tried to use it conversationally, but it quickly falls apart.

Consider an example.

Suppose I say the sky is blue.

Someone says: "What do you mean by that?"

Now I have three choices: 1. Ignore it. 2. Ask what they're referring to. 3. Assume they mean my statement that the sky is blue, and explain what it means for the sky to be blue.

Suppose I choose #2. Because I might have said 5 things in the last hour, and how do I know which one my correspondent is referring to. So I respond: "Which item are you referring to?" But before my friend can respond someone else asks "What are you talking about?" Now to that one I have three possible choices, the same ones as before.

Back up a step. I could have chosen #3. How do you explain what it means for the sky to be blue in 140 characters? And if you try, someone else will ask you to explain your explanation. But how will you know which twit they're referring to!

Right around this time someone chimes in with a political objection to something I've said. By trying to cram real conversation into 140 character snippets, you're bound to offend someone, because in order to be politically correct you have to allow for the possibility that you're talking about a man or a woman, someone who is young or old or inbetween, or if you assume they're American you'll get a lecture on how all Americans think everyone is an American or somesuch.

Honestly don't see how anyone gets past the first step in a conversation, but as I've gotten more people following me, the opportunities get narrower. When I try to satisfy everyone, what happens then is someone tells me I'm posting too much and I should STFU or they're going to unsubscribe. Ohhh.

So when someone asks me a question that I want to answer, I DM them. But usually I choose option #1. For me it's not and can't be conversational.

Twitter in 140 characters
4 Jan 2009

Jay Rosen asked: "Write a 140 character post that explains what you find Twitter useful for."

DW: "Twitter is my shared notepad. If I want to remember something and I don't mind if everyone else knows it, I just post it here."

Only 126 characters. smile

Helping FriendFeed?
3 Jan 2009

A picture named tw.jpgLouis Gray offers some noble help to FriendFeed, filling in as the marketing department they don't have. Of course it would help if they did do some marketing. They may not be aware of it, but Twitter didn't just wait for people to come to them, they put up displays all over SXSW in 2007 to boot up with that community, who already knew them from Blogger days, to be the first core group of users of the service. I could see it happen, even though I wasn't part of the service then, and I wasn't at SXSW. FriendFeed hasn't done anything like this as far as I know.

Anyway, I think I know what they should do, and it isn't on Louis's list. But I wonder why I should give them the idea. This goes back to the point Arrington made a week ago, and then made again in his scolding of Scoble -- why are you working for these guys for free? It's a good question and one that bothers me, a lot.

Instead, I'd like to ask another question. Does anyone really think that a company-owned platform is going to win here, that it won't be swamped by an open federated system of servers that peer, like email? If so, I'd like to hear why. We went through this exercise repeatedly in the tech industry; the lesson of history is clear -- closed systems have their place and time, at the beginning of a new layer, when users need simplicity over everything else, they serve as training wheels when everyone is a newbie. Eventually we grow out of the need to have our hands held and the freedom of open systems becomes attractive, and we jump. It happened with mail, with the web, maybe not so much with IM (that's probably what they're counting on).

I'd much rather give the idea to the ether, not to a company. Let's have competition.

In the meantime, the clue is in the piece I wrote in early December. (I can't help it, I have to share ideas, it's the way I'm built I guess.)

MediaWiki API
3 Jan 2009

A picture named houseOfCards.gifWell, thanks to Andrew Burton I got access to a MediaWiki installation with the API turned on, and I was able to make a couple of trivial calls successfully, but I hit a wall when it came to doing the thing I set out to do. I have no doubt from reading the docs that it's possible, I just can't figure out what the dance is.

My problem may stem from not being a MediaWiki user. I'm doing this job for Doc Searls, who wrote a passionate plea to be able to edit his wiki with the OPML Editor. From a quick glance at the MediaWiki API docs I was pretty sure I'd be able to put something together. I like writing glue for XML-based APIs, it's fairly rewarding work, cause when I'm done there's another cool thing I can do with my outliner, even though it's not likely that I'll use it, personally. smile

I had hoped today to be writing a piece about how I got it to work but no luck. It's actually a plea for help. Here goes.

1. What I need is the equivalent of the Metaweblog API. Calls to create a new document (in wiki terms probably a "page"), to get and set the text to an existing document. That's basically it. For bells and whistles there are categories and media objects, but Doc probably doesn't need those so much as he needs to be able create and edit pages on his wiki.

2. I understand that I need to login and get a token. I have the call to login working, so I don't need help there. I probably can figure out how to get a token, but what to do with it? Oy. The docs really assume you know what you're doing before you read them.

3. I think the docs they have get pretty close to getting me going, but I won't be sure until I'm actually going.

If you can shed any light on what's happening here, it would be much appreciated. Assume in advance that I know I'm a pathetic dork with no life, if you skip that part of your advice it would be much appreciated too. smile

Mac at 25
3 Jan 2009

On January 24, 1984 a couple thousand people were present at Flint Center in Cupertino at the birth of something with real lasting value, the Macintosh.



It's corny for sure -- but it was exciting.

Hard as it is to believe -- that was almost 25 years ago!

http://mac25.org/

My company rolled out a product that day too: ThinkTank 128. Thanks to Guy Kawasaki and Mike Boich. Guy was Apple's first evangelist and Mike was the head of their developer program. And there were many other great people involved in the Mac in the early days.

As Archie sang to Edith, those were the days!!

It would be great if, over the next 21 days, we could connect with people who were part of that day. Apple's remembrances have (understandably) focused on the Apple people who made the Mac work. But it would be interesting to know who else got their start then and what they went on to accomplish -- where they are now.

Update: Here's someone selling a shrink-wrap copy of ThinkTank 128.

CradlePoint PHS300 first look
3 Jan 2009

The new router arrived this evening, I charged it up, followed the minimal instructions, and it worked the first time. I'm using the router now to write this blog post. smile

I'll have unboxing pictures soon, but first the speed test.

speedtest.net thinks I'm in Kansas City, MO.

A picture named st.gif

People ask why I lusted for this and the answer is the same reason I want one of these. A 3G battery-operated router that fits in a coat pocket, or a pocket on a knapsack, or in the glove box of a car -- very rational idea. A perfect fit for netbooks, and you know how ga-ga I am over those. For a while it looked like netbook "service plans" were going to catch on, hence the $99 netbook meme, but this is smarter. Why should the netbook have the service plan -- instead I'll use the USB modem I already have, plug it into the CradlePoint, and get on the net using wifi, which all netbooks already have. It's still a little klunkier than the Novatel approach, but this one is shipping, and it's pretty close.

If they had gotten this to me before Thursday I would have said this is the most rational product of the year for 2008, also the one that makes me the most giddy with a living-in-the-future feeling, right up there with the Eee PC. It would be hard to choose between the two. Wish I had had this at the DNC in Denver.

It has a very nice browser-based config system, so there's a web server built into the router. Screen shot of the Dynamic DNS config page.

Here's the set of unboxing pictures.

MediaWiki API, day 2
2 Jan 2009

I've been slow to get to start work on the MediaWiki API.

But today I took the first step, to find out that it is possible to turn off the API, and that the test wikis people have been kind enough to let me play with have it turned off. (It defaults on.)

So to get started I'm going to need a wiki that has its API turned on. Here's a page that explains what's needed. It looks like Perl to me, it's probably easy for a Perl guy to futz with this, but I don't want to hack anyone's server. I want to stay strictly on the workstation side.

I promise to share what I learn programming the wiki once I get the ball rolling.

NewEgg is hard to get on the phone
2 Jan 2009

A picture named chuckBerry.jpgI ordered a gadget from NewEgg on December 26, guaranteed 3 day UPS. Today's the day it's supposed to arrive, and I was totally looking forward, but UPS says: THE RECEIVER REQUESTED A HOLD FOR A FUTURE DELIVERY DATE. UPS WILL ATTEMPT DELIVERY ON DATE REQUESTED / DELIVERY RESCHEDULED[X]. That's really funny cause I'm the receiver and I sure didn't request a "hold for a future delivery." Oy.

So now I'm on hold on chat to get an answer from NewEgg, since there's absolutely no way to get to a human on UPS. I figure since NewEgg has my money, they should be able to help me figure out what this means. Stay tuned.

Of course their answer is to call UPS. Don't you love it when a vendor takes responsibility. (Not.)

So NewEgg was no help, so I tried calling UPS for a second time, and this time I said "Representative" repeatedly to every prompt. And it worked. I got to talk to a human being. Maybe it's actually on the truck she said, but they're going to call me from San Pablo at noon to let me know what's going on. Stay tuned. smile

Then I got an email from the NewEgg rep, who I had suggested should call UPS instead of me doing it, and guess what -- she did it! Amazing. Maybe there's hope. She said the UPS website was mistaken and the package is on the truck out for delivery and I should get it today. Maybe 2009 will be a great year. Stay tuned. smile

BTW, I gave the NewEgg rep a link to this blog post so there's a chance they may read this or comment.

The First Church of Scoble
1 Jan 2009

A picture named jesusChristIsComing.jpgYou can't be on Twitter or FriendFeed and not be inundated with comments from and about Scoble. I don't know how he does it, but it's really annoying. I find myself relaxing when he takes a break from Twitter, for example to fly from Europe to the US. Finally I can speak without having everything one-upped by Scoble. Whatever it is, he's done it better, or bigger, or with more important people. It's irritating because I don't believe it. I'd really like it if he just turned down the volume. Or if there were a way to segment the Twittersphere, I'd like to be in the part where Scoble isn't the main topic of conversation 24-by-7.

That said, I heard that Jason Calacanis and Mike Arrington were giving him a hard time on the Gillmor Gang, saying he was dumb to invest so much time in Twitter and FriendFeed. If he were blogging, they say, he'd be working for himself. On Twitter he's working for someone else. I've thought the same thing myself many times, but not about Scoble, since my whole existence does not revolve around Scoble. (I once parodied Scoble, in jest, saying that he was the next Christ, little did I know how prophetic it would turn out.)

So is Scoble a chump, and are all of the rest of us chumps, for not enhancing our own space, rather enhancing Ev's and Biz's and Jack, Fred and Bijan's space? If you don't run ads on your blog, I don't see how it matters. And if you primarily push pointers through Twitter, as I do, it's just a notification system, not where you pour your creativity. Even if you put ads on your blog -- it's like RSS, it feeds traffic to your blog, it isn't replacing your blog. Surely Calacanis and Arrington aren't advising Scoble to get rid of his RSS too?

In a hasty twit last night I said these guys were "ignorant" for this opinion, but maybe that was too harsh. But maybe they aren't being creative enough.

Technology is a process, an evolution -- don't focus on what's here right now today, because a year from now it'll be different. Look at the trend. In the last year Twitter hasn't changed much on its face, but it has changed in substance. I have a lot more followers now, and I follow far more people. There are a lot of PR people there now, where it used to be gossip. There are also a lot more tech entrepreneurs, analysts and carpetbaggers, people who think there might be a business model in here somewhere. They're largely adding clutter and noise, but that's change too.

But I can't imagine that blogging and Twitter won't fully merge, and I expect that to happen soon. Look at services like Posterous and Tumblr for a clue. Browsers have the ability to expand and collapse detail. Expect more of that. Services like Tweetree show that it's possible to include rich content inline with the twitstream. How far are we from having full blog posts? How far from being able to render the content in your own domain? How long until people think of the idea of a site aggregating the work of a handful of analysts as a quaint predictor of the rich world of the next-gen Twitter?

This is why I thought Arrington and Calacanis were missing the big picture -- seriously. Both have major investments in rollups of the pre-Twitter blogosphere. They may be suffering from the same kind of limited vision of their predecessors in the tech and business press, who were caught flat-footed by the generation of editorial content exemplified by their own offerings. Wouldn't be the first time that Generation N of tech failed to anticipate or even acknowledge Generation N+1.

Happy New Year!
1 Jan 2009

Good morning and welcome to 2009!

Lots of housekeeping...

Last night I saw Benjamin Button. Some people didn't like it, I can see not liking it, but I did like it myself. I'm a sucker for a love story. I empathize with Benjamin, he didn't fit in as a child, but he found people who appreciated him for who he is, not on appearances, and they stayed with him through his life. Something a lot of people want but don't have. I also liked that New Orleans played a role in the story, because I love the city, and it's been through a hard time, just like Benjamin. The last scene, the water rushing in to a basement where a clock that runs backwards is still running, is especially sweet. Not best picture, and if anyone gets a nomination for this movie it'll be Brad Pitt, but I think the real star is Cate Blanchett.

MediaWiki has an API
31 Dec 2008

I was talking with Doc Searls today, he's interested in using the OPML Editor to create and edit pages on a Berkman-hosted Media Wiki.

I wondered if they have an API, and sure enough, they do.

http://www.mediawiki.org/wiki/API

I have a couple of questions...

1. Has anyone done any coding to the API? What's been your experience? Is there glue? For what languages?

2. Do you have a server I could try writing some code against to test it out? I don't want to experiment with Doc's site for fear of doing some damage and also disturbing his users.

Any help would be much apprecicated. TIA. smile

Baby Asus, Mac Daddy
31 Dec 2008

A picture named sizes.jpg

San Francisco skyline
31 Dec 2008

A picture named sanFrancisco.jpg

Marc Canter's fence
31 Dec 2008

A picture named architecture.jpg

Mimi Canter, age 7
31 Dec 2008

A picture named mimi.jpg

Police bikes in front of Saul's
31 Dec 2008

A picture named policeBikes.jpg