« October 2008 | Main | December 2008 »
November 29, 2008
Tail Optimized Mutual Recursion in Clojure
Clojure, a LISP-dialect dynamic language that targets the JVM has been generating some interest in the programming language community lately. By targeting the JVM, Clojure gets speedy performance in a cross platform way.
One of the problems with targeting the JVM with a dynamic language that relies heavily on recursion is that the JVM doesn't support tail recursion (also called tail call optimization). The idea is pretty simple: for some common patterns of recursion the function call can be removed and the recursive function be optimized to a loop. The result is not only programs that run faster, but in some cases where the recursion goes deep programs that run period.
So you might imagine that this is a problem for a language like Clojure. For simple recursion, the recur special form takes care of the problem, but wouldn't work for mutual recursion.
Via Lambda the Ultimate, I learned of Rich Hinkey's implementation of trampolining in Clojure to make tail optimized mutual recursion possible. He gives an example.
"Here's how it works. Normally, if you have mutual recursion (i.e. which can't be replaced with recur), you can blow the stack:"
(declare bar)
(defn foo [n]
(if (pos? n)
(bar (dec n))
:done-foo))
(defn bar [n]
(if (pos? n)
(foo (dec n))
:done-bar))
(foo 1000000)
-> java.lang.StackOverflowError
"To convert to a trampoline, simply return closures over your tail calls, rather than direct calls. This is as simple as prepending #"
(declare bar)
(defn foo [n]
(if (pos? n)
#(bar (dec n))
:done-foo))
(defn bar [n]
(if (pos? n)
#(foo (dec n))
:done-bar))
"Then make the top-level call via trampoline:"
(trampoline #(foo 1000000)) -> :done-foo
On LtU, someone asked:
That there is "buzz" around a non-TCO LISP dialect in 2008 is utterly incomprehensible to me. I'm all for a modern/practical LISP, but come on...
Is there something specific about the JVM that makes it impossible, or is it just a naive implementation?
To which James Iry gave a great response:
Native instruction sets often let you do whatever you want with the stack. C doesn't in the ANSI standard, but you can do it with a bit of assembly. .NET IL has an explicit instruction for tail calls. The JVM, on the other hand, is very strict about how you use its stack and has no tail call instruction.
There are full TCO implementations in a couple of Scheme's for the JVM. Kawa uses trampolining and SISC uses a heap based custom stack. Either solution has performance implications as well as implications regarding Java interoperability. Java interop is a major design goal for Clojure.
Hickey's choice to make the programmer indicate when the trade-off is desirable is a pragmatic workaround. There's been some talk in the Scala mailing list about offering trampolining in the standard library - I wouldn't be surprised to see it in 2.8.0.
Well said. In the meantime, if you're familiar with SICP, the you might find Chris Rathman's first chapter of SICP in Clojure a useful way to see how the language differs from Scheme.

12:08 PM | Comments () | Recommend This | Print This
Online Stores Crowded on Black Friday
Image via Wikipedia
The Business Technology blog at the Wall Street Journal reported last night that several ecommerce merchants experienced slowdowns and in some cases service disruptions due to higher than expected demand.
It shouldn't come as a surprise that people are shopping online Friday. This year, retailers have been promoting online sales more heavily than in the past. In the case of Sears.com, the promotions seem to have worked too well: The site was unavailable for many visitors between 10 am and 12:40 pm EST Friday, according to Keynote. (It was also down when we tried to access to access the site at 3:30 EST.) A spokesman for Sears said that traffic was "higher than anticipated" and that the company was taking steps to ensure the site would be available on Monday---another popular online-shopping day.From Business Technology : Retail Sites Crash as Shopping Season Opens
Referenced Sat Nov 29 2008 10:56:56 GMT-0700 (MST)
One of the realities of the online retail world is that most online retailers lock down their sites sometime in late October and don't make code changes and sometimes even template changes until after Christmas. There's just no point taking a chance during the time you collect a disproportionate chunk of your revenue. For ecommerce tool vendors, that means that the fourth quarter can be slim.
I have a feeling that most retailers aren't taking advantage of cloud resources to scale with demand. I'd love to see more data on that. With this years failings and the increasing popularity of cloud computing, maybe next year will be different.

11:03 AM | Comments () | Recommend This | Print This
November 28, 2008
Kynetx Puppet Update
Image via Wikipedia
Pat Eyler sent me a note asking if we were still using puppet. In the spirit of trying to leverage my response to him for the widest possible audience, I thought I'd blog the answer.
Kynetx has been using Puppet (and a little Capistrano) to automate our infrastructure since this summer. While we haven't gotten everything as automated as we'd like, we're quite a ways down the road and it's making life as a small startup bearable.
My ultimate goal is to register a node in the system that delivers Kynetx Network Services (KNS) to the machine database (iClassify) and have it come up, configure itself, and be ready to put in production in less than 15 minutes. While there are still a number of manual steps in that process we are remarkably close and getting closer all the time.
I haven't found learning puppet to be difficult. There's plenty of documentation, including recipes that if not usable as is, are great resources for figuring out best practices. Also, there's a very helpful group on IRC (#puppet on irc.freenode.net) that I've turned from time to time.
The best thing about Puppet is that I can count on nodes under puppet management to be consistently configured and the puppet recipes represent an unambiguous record of what should be happening.
A recent example, we needed to ensure that data files from an OEM partner were on all of our initialization servers. I used Puppet in two ways:
- Puppet is used to distribute the data files from the ops server to each of the initialization servers.
- Puppet is used to manage the cron job that grabs updated data from the partner and put it in the right directory for distribution.
If I add another initialization node puppet will make sure it has the right data files just because I declare it to be an initialization node. Nothing else need occur.
I recently released Kynetx's operational procedures. For a small company with no fulltime engineering staff other than me, I think we do a pretty good job operationally. Much of that we owe to Puppet.
Needless to say, I remain, more than ever, a Puppet fan.

12:45 PM | Comments () | Recommend This | Print This
Bring You Own Context
Image via Wikipedia
Om Malik writes about the recent terrorist attacks in India and the torrent of information on Twitter. He says:
Despite the tremendous volume of information --- and its immediacy --- coming from Mumbai via Twitter, getting context about the situation has been a struggle. While a few people have been tweeting firsthand accounts, much of the information has been re-tweets or just rambling, reaction-based tweets. Maybe I was overcome with emotion, but the sheer volume of tweets and lack of clarity only fed my frustration with Twitter. (I'm sure it's the same kind of frustration people feel with blogs at times as well.)From With Twitter, a Desperate Need for Context - GigaOM
Referenced Fri Nov 28 2008 12:14:11 GMT-0700 (MST)
Trying to figure out what's happening from a stream of rather random comments and commentary on Twitter is indeed frustrating. It's like being in the middle of a crowd that you can't see over and you know something's happening on the edge, but you can't tell what and you're trying to figure it out from what people around you are saying. In many cases, they can't see either-it's mostly hearsay.
That said, Twitter did a great job last week of telling me that something was happening and the general idea of what it was. Details, of course, are another matter.
Web technologies, in general, aren't real good at giving us context. Users manage, build, and maintain their own context in most situations. Threaded email is maybe the best example I can think of where something on the 'Net helps manage context.
Even a simple shopping experience is mostly context-free. You search for the product in Google, read reviews, on a few sites, look at prices and ultimately make a purchase. You're responsible for managing all the context of that transaction by yourself.
One of the themes I picked up on at Defrag is that there are any number of early stage companies who've realized this and are creating tools that help Web users with context. We're a long way from solving the problem, but it's a fun area to think about because there are tremendous productivity gains to be had from building tools that help users do something they've been doing ad hoc for years.

12:20 PM | Comments () | Recommend This | Print This
Rocket Geeks
For anyone who grew up in the 60's, watched the space program move from satellites to men on the moon, and built model rockets while dreaming of going into space, this Wired article on homebrew rockts and the rocket geek who build them is a must read.
My kids do model rockets and have varying levels of interest, but it isn't anything like what my friends and I had. We lived for the next mission and news of every flight. Launching model rockets was, for us, a way of participating in that grand endeavor, even on a small, small scale. I'm happy to see that serious amateurs are building amazing rockets and it's not all left to NASA's pathetic shuttle program.

11:57 AM | Comments () | Recommend This | Print This
November 26, 2008
The Storm Blows

Image via Daylife
I had a friend who wanted an iPhone, but decided he'd wait and see how the Blackberry Storm stacked up. His son had an iPhone, so he took it into a Verizon office and played with them side by side. He tells me that in 5 minutes it was clear to him that he'd hate the Storm. He told me this as he was showing off his new iPhone.
David Pogue reviewed the Storm for the NY Times and reached the same conclusion.
I haven't found a soul who tried this machine who wasn't appalled, baffled or both.From No Keyboard? And You Call This a BlackBerry?
Referenced Wed Nov 26 2008 19:41:08 GMT-0700 (MST)
The keyboard doesn't work, navigation is awful, and there's no wi-fi. Hard to believe people waited in line for this.

7:32 PM | Comments () | Recommend This | Print This
EFail, not EMail
Image via Wikipedia
Jeff Atwood has a longish post on the problems with email. Of course, the biggest problem with email is there's way too much of it. I used to try to respond to each (non-spam) email I got but now I can't keep up. Unfortunately, I can't let each email commit me to spend time.
Jeff references Tantek Çelik's excellent post on the subject and gives three pieces of advice:
- Channel that private email effort into a public outlet. Discussion boards, blog entries, comments, wikis, you name it. If it can be indexed by a web search engine, you're in the right place -- and many more people can potentially find, answer, and benefit from that information.
- If you must send email, make it as short as possible. Think of it as Strunk and White on speed. Can you reduce your email into a single paragraph? How about two sentences? How about just the title field with no body, even?
- Remember the theory of communication escalation. Email is just one communication tool in our toolkit; that doesn't mean it is always the right one for whatever situation is at hand. Take advantage of phone calls, instant messaging, text messages, and so forth, as appropriate. Scale your choice of communication method to the type of conversation you're having, and don't be afraid to escalate it (or demote it!) as the ebb and flow of the conversation shifts.
There are all kinds of ideas on how to effectively manage email and that's all well and good, but ultimately someone else (actually lots of someone else's) control how much is there. Any kind of management is going to fail as email volume grows.

7:25 PM | Comments () | Recommend This | Print This
November 24, 2008
Good Succeeds by Creating Useful Products
Image via Wikipedia
An old friend from Excite@Home, Jeff Huber was quoted in the NY Times on Google's product marketing strategy and the issue of data privacy:
"We do have a philosophy that our products should speak for themselves. We tend not to make a lot of noise," said Jeff Huber, senior vice president for engineering at Google.
As always with Google, the price point is appealing: zero, if you don't count the amount of personal data that I am trading for all that utility. With Google, it is always simple, and any engineer will tell you that simple is hard. There had been a lot of talk within Google about creating video chat as a PC-only application, a much easier endeavor for the company, but it would not have been simple for the consumer.
If Google owns me, it's probably because I am in favor of what works.
"I'm glad to hear it," said Eric E. Schmidt, the chief executive of Google, who was in New York last week. "We want a little bit of Google in many parts of your life."
Mission accomplished, at least on my desktop, but I asked Mr. Schmidt if I shouldn't be worried that I am putting all of my digital eggs in one multicolored, goofy-lettered basket.
"That depends on what you think of our company and our values," he said. "Do you believe we have good values?"
Mr. Schmidt seems nice enough, but I sometimes wonder if I will come to regret the easier, softer road I have chosen. A record of my surfing lives on its servers for 18 months --- not by name, but still. Google continues to insist that my IP address is not me, but a motivated government with a subpoena in hand could find me, lots of me, on Google's servers.
Most data privacy experts would call me a fool to index my life into any one company so deeply, and diversification in all matters is just common sense.
Mr. Huber countered that I am free to come and go as I wish.
"The nice thing is that we don't force you to use only our stuff," he said. "It is not tied tightly together, and the content is all easily exportable. If you feel like we are letting you down, or you don't like our products or we are failing to innovate, you can pick up and go where you want."
From The Media Equation - Google Seduces With Utility - NYTimes.com
Referenced Mon Nov 24 2008 07:04:42 GMT-0700 (MST)
Interesting when your SVP of engineering is speaking about your marketing strategy to the Times.

7:06 AM | Comments () | Recommend This | Print This
November 21, 2008
The Halting Problem, in Verse: Scooping the Loop Snooper
Image via Wikipedia
Geoffrey K. Pullum, Professor of General Linguistics in the School of Philosophy, Psychology, and Language Sciences University of Edinburgh has written a marvelous verse, in the style of Dr. Suess, that explains the proof that the Halting Problem is undecidable in a clear and humorous way. The verse is called Scooping the Loop Snooper (PDF). If only all of Computational Theory were this easy to understand!

7:27 PM | Comments () | Recommend This | Print This
Geopolitics and Cloud Computing
Image via Wikipedia
When I first read "Pentagon's New Map" and heard Tom Barnett talk about how he analyzed geopolitics, I realized that here was an theory a geek could love. Tom uses concepts like and system administration to talk about how the world does and ought to work. I got to interview Tom about his second book, Blueprint for Action and I'm anxious to get my hands on the new book, Great Powers.
So, I wasn't surprised when a post from Tom called A nice primer on cloud computing and its relationship to SOA showed up in Snackr. The concepts behind cloud computing are critical to the global economy so we ought to be scared when someone telling us about the world doesn't know them rather than be surprised when someone does.
Tom brings up the notion of "free-trade zones" for data centers. Interesting idea. Reminds me of Cryptonomicon.

2:54 PM | Comments () | Recommend This | Print This
The Conservative View on Guantanamo
Image via Wikipedia
Yesterday a federal judge--ironically the same one who'd ruled earlier that Guantanamo prisoners weren't entitled to civil review--ruled that five men held there for seven years be released. There was insufficient evidence that they were involved in any crime. In fact, that's maybe too charitable. If you read the details, it seems like the Government had nothing more than a hunch and an uncorroborated accusation.
Think for a minute about what this means: five human beings were held in prison for seven years without much recourse. Think about what that means to them and their families. I hate that that happened and feel very bad about it.
The real shame is that it didn't have to happen. We have 200 years of legal precedent in this country that has given us a justice system that while far from perfect is designed to prevent this kind of abuse and we refused to use it.
I titled this post "The Conservative View" because I think that conservatism would take two positions that would have argued against what has happened on Guantanamo:
- Conservatives should fight against government intervention in human lives where ever possible. A conservative position would argue for, not against basic human rights.
- A conservative position would argue for following existing, well understood rulesets and not using ad hoc procedures.
In the case of Guantanamo, we've done neither. We've allowed government to intrude into the lives of humans without following established due process procedures to ensure that that intrusion is warranted.
Note that this doesn't mean we should be soft on terror, security, crime, or anything else. It does mean that a position consistent with basic conservative philosophy would argue for human rights and due process--not against it.

8:39 AM | Comments () | Recommend This | Print This
November 20, 2008
Kynetx Operational Procedures
In the spirit of transparency, Kynetx has published our operational procedures and practices online. As we gain more control over our infrastructure automation, we'll also have real-time operational information and statistics.
I'd appreciate feedback on what's there. Keep in mind, this isn't out "dream" but rather we're trying to present a true picture of where we're at. We obviously have goals to make this better and have quite a bit of experience in mature operations so we know where we need to be and where we currently fall short. I don't believe that there's anything there that would compromise operational security, but i you think there is, please let me know.
Obviously we're taking some risks in being open and honest about the true nature of our operational capability as a young start-up. But I believe that in the long run transparency will win out and our customers will appreciate the openness, recognize that we're a start-up with lots of competing priorities, and not punish us for places where we may fall short compared to more operationally mature companies.
10:56 AM | Comments () | Recommend This | Print This
November 19, 2008
Skype on My Mac Book Pro is the Best Conference Phone I Have
Image via Wikipedia
Today I had to do a job interview with a candidate in Chile. He had Skype and wanted to use it. I was leery because I had four people on my end who needed to be in on the call, so USB headphones weren't going to cut it. We decided to press forward and try the call with the MBP's internal speakers and microphone.
It worked beautifully! We could hear him fine and he could hear us--even with some people sitting 8-10 feet from the laptop. So much so that this evening when I was getting ready to get on another call, I decided to Skype out to it rather than use my Polycom. Skype plus my Macbook Pro is the best conference phone I own.

5:34 PM | Comments () | Recommend This | Print This
OS X Leopard Technical Details
Image via Wikipedia
Jordan Hubbard, Apple's Director of Engineering of Unix Technologies, spoke at LISA '08 last week. Most people are commenting on the date he gave for the release of Snow Leopard (10.6), the newest version of OS X. I have to admit, I'm ready for some stability improvements, but I was much more intrigued by the details of his talk (PDF).
He spent the bulk of his talk on technical features in Leopard (10.5) that many aren't aware of. He starts with a number of security improvements in Leopard: file quarantine, sandbox, package and code signing, application firewall, parental controls, non-executable (NX) data, address space layout, and randomization. I was completely unaware of most of these improvements.
Jordan also talks about the Unix improvements in Leopard. Leopard is fully Unix compliant. But more than that includes a number of additions like DTrace, Launchd (complete), ASL (replacement for syslog), a read-only version of ZFS (for future compatibility) with a read/write version available. He also talked about Apple's evolving open source strategy.
Last, he talks about improvements coming in OS X that will help developers take better advantage of the multicore chips and sophisticated GPUs that already ship with most Macs. Future kernels will provide better facilities, along with APIs, for managing multi-threaded programs. He says:
Forget everything you thought you knew about multi-threaded programming (and, as it turns out, most developers didn't know much anyway). The kernel is the only one who really knows the right mix of cores and power states to use at any given time - this can't be a pure app-driven decision
I don't know if there's audio or video of the talk available, but it would be very good to hear firsthand.
BTW, anyone know what "LWFLAF" stands for? Jordan uses it as some kind of metric in discussion the various versions of OS X, but I couldn't figure out what it meant.

6:53 AM | Comments () | Recommend This | Print This
November 18, 2008
CloudFront Seems Like a No-Brainer
Doug Kaye, who actually wrote a book on hosting, has been beta testing Amazon's CloudFront service--a high performance front end for Amazon S3. Doug's favorably impressed.
My calculations show that Kynetx would be able to put 80% of our bandwidth load on CloudFront (most static JS libraries) for $1.19 per day and if Doug's experience is typical get better performance to boot! Seems like a no-brainer to me given that we're paying several hundred dollars per month for a 750 Kbps circuit that I'd rather not upgrade for a while. Offloading 80% of that traffic would give us a lot of head room!

5:38 PM | Comments () | Recommend This | Print This
November 17, 2008
Do You Support P2P File Sharing Inside the Enterprise
The topic of P2P file sharing inside the enterprise recently came up in a conversation I was having. I count myself as pretty enlightened on these kinds of things, but beyond getting large Linux distros quick or sharing disk images, virtual machines, and virtual appliances, I had a tough time thinking of legitimate reasons an enterprise might support it or even allow it.
The other side of course is that there are bandwidth issues, both network and people. If you're just supporting people watching the latest episode of The Office in the office, then you've not accomplished much. I did a couple of searches on Google trying to find discussion about P2P in the enterprise and mostly found stories about how to block it.
There are, I'm sure, security and legal issues surrounding some of the more notorious uses of P2P file sharing. Has anyone cataloged them and worked out mitigations?
So, what do you think? Is there a legitimate reason for a CIO to support P2P file sharing? What do they tell the CEO or board about it?

4:55 PM | Comments () | Recommend This | Print This
Leavitt as America's CTO
Image via Wikipedia
There's been considerable discussion about Obama's intention to appoint a Chief Technology Officer for the United States. Count me as a supporter of that move. It's almost cliche to say that Technology plays a vital role in the US economy and our place in the world.
Of course, when I say CTO, I mean CTO and not CIO. And I think that the job would be vastly different than what CTOs do in a high-tech business. America's CTO would be focused almost 100% on policy issues. After all that's what government does.
To be qualified, you need to (1) pass the ethics tests, (2) understand how technology relates to government and the public in a wide range of areas, and (3) be a policy wonk. Items (1) and (3) disqualify most of the people who've been suggested.
Given these requirements I think Mike Leavitt, the current Secretary of HHS would make a great CTO. He understands technology very well and relates it well to policy. He'd be an able spokesman. I can imagine no one better. Of course, he's a Republican--in fact his name has been put forth as a candidate for the next Chair of the RNC. Still, if I got my wish, that's who would be the CTO.

9:45 AM | Comments () | Recommend This | Print This
Obama to Ditch Blackberry and Email
A story in Sunday's NY Times about Obama surrendering his Blackberry caught my attention. Until Jan 20, 2009 whatever he writes on it is private. After that, it's all public. Who among us could live with that kind of requirement? Not many.
It's a sad irony that we've constructed a public world--and believe me, this extends far further than the President--where public figures must eschew the kinds of tools we all lean on every day. I know of what I speak. I used to work in Governor Mike Leavitt's office and "channel" was a constant thought in the back of everyone's mind. Pick the wrong channel for certain types of messages and you might find yourself answering questions you'd rather not.
You might be thinking, "if you're honest, you've got nothing to fear!" Oh how I wish that we true. The fact is that there will be people out to get Obama who care nothing about the truth. That's true of anyone in public life.
Here's the acid test: anything that would take more than two sentences to explain is something you'd rather the other side not get a hold of an twist. If you need 5 minutes to counter their 30 second sound bite, you lost.
So what will Obama do? The obvious answer is give up the Blackberry. But Obama has surprised before in like situations; maybe he'll hold onto it. If you're curious about what this might feel like, go back through the last week's email and consider whether you'd post them all online. Then reconsider that thinking how someone opposed to you and your agenda might twist them. It's a sobering exercise.

9:27 AM | Comments () | Recommend This | Print This
November 15, 2008
4000th Blog Post

papalars via Flickr
This post on the death of advertising was my 4000th blog post on Technometria. Kind of snuck up on me. The mountain picture has nothing to do with blogging or anniversaries or milestones. I just liked it.
6:11 PM | Comments () | Recommend This | Print This
November 14, 2008
Social Web TV and TechCrunchIT at IIW
John McCrea, David Recordon, and Joseph Smarr recorded a special edition of their video podcast Social Web TV at IIW this week. Their guests were Max Engel of MySpace, Eran Hammer of Yahoo, Dick Hardt of Sxipper, Paul Trevithick of Parity, and Doc Searls of the Berkman Center for Internet and Society.
Steve Gillmor recorded a TechCrunchIT show with David Recordon of Six Apart, Kevin Marks of Google, and with the help of Echovar's Cliff Gerrish. where they talk about the open standards debate.

8:30 AM | Comments () | Recommend This | Print This
After the Death of Advertising, Shopper and Merchants Can Start Talking
Dave Winer wrote yesterday about the death of online advertising. He says:
I've been saying it for as long as people have been building businesses on advertising on the web, it's not a longterm thing. Now we're at the end of the road.
Assuming the economy comes back from the recession-depression thing that it's in now, when it does, we will have completely moved on from advertising.
The web will still be used for commercial purposes, people will still buy things from Amazon and Amazon-like sites, but they will find information for products as they do now, by searching for it, and finding out what other people think, not by clicking on ads and buying things on the pages they link to.
No one needs advertising, and there are much better ways to sell products.
From Online advertising is now dead (Scripting News)
Referenced Fri Nov 14 2008 08:02:18 GMT-0700 (MST)
I don't know that I'd go as far as saying it will not come back at all, but merchants will find new, innovative ways to reach customers without advertising when their budgets get tight.
Of course, we might call these new things "advertising." I get that frequently when I explain what Kynetx does. People call any message from a merchant an advertisement even though, in many cases, it's not widely broadcast.
There were plenty of discussions relevant to Dave's post at IIW this week. The VRM crowd was there in force with grounded discussions about how the implicit contract between merchant and shopper can be rewritten in ways that are better for both.
Most exciting to me, the discussions about r-buttons were getting down to the level where you could see real protocols and standards developing behind the talk.
I was troubled by some VRM discussions that still see to border on being hostile to merchants and even commercial efforts in general. I think that only hurts the opportunity to have to redefine what commerce is and how it takes place. I also think that some of the discussion gets lost in relationships in general, not just those that exist between the merchant and shopper. Nothing wrong with figuring out infrastructure for relationships, but it's nice to keep things focused on the task at hand.
The next steps we take can be as important as the final end state. Dave's insight that the economic downturn opens up opportunity is a good one. At Kynetx we're working on new ways for shoppers and merchants to relate. We're creating new channels for relevant messages--both from shopper to merchant and from merchant to shopper. Not advertising--just plain old communication.

8:19 AM | Comments () | Recommend This | Print This
November 13, 2008
A Great Internet Identity Workshop!
About a month ago, Kaliya and I had a serious conversation about possibly having to cancel the Internet Identity Workshop this time. Registrations were not coming in as fast as usual and no one had committed to any of the major sponsorships. I was concerned I'd end up personally eating the cost of the conference if we moved forward. Shortly after that, Ping Identity and Microsoft both stepped up and gave us confidence to move forward. That's a good thing because this turned out to be the best IIW I can remember.
There seem to be peaks and valleys for when people need to com together to cooperate and this must have been one of the peaks. There was a lot of energy from start to finish and I had many people tell me how much they'd accomplished. I'm glad that the workshop was able provide the venue for that progress.
Thanks to the sponsors and especially to the attendees for coming ready to work. Kaliya did an amazing job, as usual. The next IIW will be May 18-20 in the Computer History Museum in Mountain View, CA. I hope to see you there!

5:57 PM | Comments () | Recommend This | Print This
November 11, 2008
Supporting Authentication Discovery in a Standard Way
I'm sitting in a session at Internet Identity Workshop that is discussing what standardized support browsers could provide to all authentication systems. Right now all browsers support one: Username/Password over HTTP Authentication. Authentication's come a long way since 1993.
Dick Hardt of Sxipper made the observation that users view what's "inside the chrome" as the application. The browser chrome is largely ignored. That seems right to me.
Authentication systems like basic form-based, openid, and information cards are all existing without explicit browser support. Forms have password fields, but that's just so that the browser blanks out the characters. Beyond that you're on your own.
This kind of discussion is a good example of how far the Internet identity discussion has come. When you get to the point of talking about getting these protocols "understood" in HTTP in the same way as BasicAuth, you're getting past the plumbing issues that have been part of the ID discussion for the past 3 years.
Ultimately this is about taking the discovery process that started wit YADIS and XRDS to the next level and letting it work across even more protocols.
Once the discovery protocol is decided upon, standard plugins could be written for Firefox, IE, Chrome, and Safari that would implement the discovery process for identity enable the browser for whatever identity system(s) the relying party supports. Four open source, community supported plugins could replace the myriad proprietary plugins available today. That would lead to greater penetration and also give browser manufacturers something to code against when the time comes that they want to build the discovery code into their product.

3:54 PM | Comments () | Recommend This | Print This
Tweetdeck Rocks
Yesterday I found out about Tweetdeck, an Adobe Air application for managing twitter. Tweetdeck is much more than a way for watching your tweet stream and posting tweets. Tweetdeck is a dashboard for Twitter. You can create separate panels, for example, to follow searches. Yesterday I was using it to follow three different searches related to Internet Identity Workshop and seeing tweets from all kinds of people who I don't normally follow. Of course, I found more people to follow!

10:00 AM | Comments () | Recommend This | Print This
November 10, 2008
Where Oil Comes From
One of the reasons I love reading Jon Udell's blog is that he shares the results of his curiousity. Not only is Jon curious in general, but he's especially curious about data and how your can mundge it to produce information.
The latest example is Jon's look at where Oil comes from--not from where you think probably. The answer, if you live in the US is Canada and Africa. 33% of US oil comes from North America (with Canada being the largest "foreign" supplier) and 20% comes from Africa.
How did Jon find this out? By importing the data into DabbleDB, manipulating it, linking locations to maps, and then publishing it. It took him about 45 minutes. These kind of tools are freely available, but not widely used. Amazing information at our fingertips.
2:39 PM | Comments () | Recommend This | Print This
November 8, 2008
Breaking Some Ironclad Rules about Startups
Joel Spolsky and Jeff Atwood built Stackoverflow.com, a site for programmers to ask other programmers questions. If you haven't been over there, you ought to check it out. They have some very nice concepts for building a community site and it's nicely done. Joel and Jeff have been discussing programming, and the building of Stack Overflow on their weekly show on IT Conversations.
In this article in Inc magazine, Joel talks about seven iron clad rules he has for starting a technology venture:
- Vet programmer carefully
- Put everyone in one office
- Plan
- use bug tracking
- Test software before releasing it
- Measure the success of your venture by its profit
Ironically, Jeff and Joel broke all seven of these and nothing bad happened. In fact something very good resulted. Joel explains why he thinks they cheated the devil in some detail in the article. He concludes with this, however:
The truth is, the three guys who coded Stack Overflow are great programmers. They're smart, and they get things done. And in the end, that's what really matters. Entrepreneurship boils down to the simple fact that a team of really smart people who can get things done are going to get smart, useful things done. Need proof? No problem: Check out stackoverflow.com.From How Hard Could It Be?: The Unproven Path - technology ventures - Joel Spolsky
Referenced Sat Nov 08 2008 16:03:05 GMT-0700 (MST)

3:51 PM | Comments () | Recommend This | Print This
WPA Crack
WPA, or WiFi Protected Access, is one of the primary means of protecting Wi-Fi hubs. Ars Technica reports that Erik Tews, a PhD candidate from Germany is prepared to present a paper at PacSec this week that explains how he was able to crack it.
The exploit doesn't actually crack WPA keys, but does allow an attacker to sniff a packet, make minor modifications to the checksum and then use the access point to check the results. This man-in-the-middle attack could allow attackers to make ARP poisoning or Even DNS poisoning attacks.

3:08 PM | Comments () | Recommend This | Print This
November 6, 2008
Has Anything Gone Right for the GOP the Last Few Years?
Utah Governor Jon Huntsman (who was re-elected with 78% of the vote) was quoted in a Washington Post article on rebuilding the Republican Party asking "Was there anything that went right for [Republicans] over the last several years?"
Utah's Republican governor, Jon M. Huntsman Jr., predicted a "broad discussion of the future of the party" with virtually every big issue on the table. "Was there anything that went right for us over the last several years?" he asked, saying that the party's international agenda has been "flawed" and U.S. prestige abroad "squandered, in terms of where you see our level of respect overseas."
"Domestically we have been totally tone-deaf in terms of recognizing the environment and where most Americans are in terms of having a healthy environment," said Huntsman, a popular governor who easily won reelection. "We have been missing in action in terms of any semblance of fiscal responsibility, [and] we have put forward nothing meaningful in terms of health-care reform that has any traction."
From Republicans Confront Formidable Task Ahead - washingtonpost.com
Referenced Thu Nov 06 2008 07:11:18 GMT-0700 (MST)
This aligns nicely with the feelings I expressed in my post on conservatism. Interestingly, Republican Governors haven't been totally missing in action on these kinds of issues. They are on the front lines when it comes to tacking health care, balancing environment and development, and other issues that matter to voters. The National party would do well to turn to them.
7:22 AM | Comments () | Recommend This | Print This
November 5, 2008
Detecting URLs with Regexps
Jeff Atwood talks about the problem of detecting URLs in text. The problem, as Jeff points out, is that lots of interesting characters are legal in URLs, including parens. So, writing a regular expression to distinguish between these two URLs is hard (but not impossible):
My website (http://www.example.com) http://en.wikipedia.org/wiki/PC_Tools_(Central_Point_Software)
Jeff's solution is pretty comprehensive and cuts the Gordian Knot of enclosing the URL in parens by removing them programatically--a good solution since we're not worried about nesting.
8:05 PM |




![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=54b1f0b6-784a-42d4-b35d-a0002ab6c26b)