Tuesday, March 27, 2007

Mysteries of "convergence"

I am very happy with Speakeasy, my DSL ISP, especially for their outstanding service with very knowledgeable support staff. They just announced that they are being acquired by Best Buy. Here's (part of) the justification:

One of Speakeasy's core product offerings is Voice over IP (VoIP), which is becoming a popular choice for small businesses who seek efficient and cost-effective telecommunications services. Best Buy For Business' mission is to deliver simple, reliable, and affordable technology solutions to small businesses. A product offering such as VoIP, which has immediate compelling appeal to most SBs based on cost savings and simplicity, is an attractive value proposition that allows Best Buy to round out its solutions menu for small businesses.

I wish them the best, but as a residential Speakeasy customer, I wonder. After all, it wasn't so long ago that telecom companies were talking about "convergence" and the benefits of vertical integration. We saw where that ended up, with the evaporation of billions and billions in customer and shareholder value, and huge payoffs for officers and investment bankers.

Sunday, March 18, 2007

Robots are hard, too

Robots are hard, too: Friday's Wall Street Journal included a book review of Almost Human: Making Robots Think,a new book by Lee Gutkind that's a portrait of the work at Carnegie Mellon's Robotics Institute. That work, it seems, has its frustrations, and — as the reviewer, George Anders, tells it — the difficulties sound eerily like those recounted in Dreaming in Code's description of the things that make software hard [...] One final irony to me, coming out of Dreaming in Code, is that Carnegie Mellon is not only home to Gutkind's roboticists; it also harbors the Software Engineering Institute, which is ground zero for the CMM, CMMI, TSP and other acronymic attempts to add a framework of engineering rigor around the maddeningly difficult enterprise of producing new software. I might be jumping the gun (not having read Gutkind's book yet), but it sounds like those roboticists and the SEI people should have lunch some time.

I haven't read either book, but from my experience with both large-scale software development and AI research, I wonder if the SEI process people have as much to teach to the roboticists as Rosenberg seems to assume. The critical difference between software as a research tool and software as a deliverable is that research software is, or should be, developed as a means for testing some hypothesis. Good development practices still apply, but the kinds of precise requirements and rigorous reviews that are essential when working to meet customer needs are not applicable or feasible, because what is to be done is driven by what makes theoretical sense and is testable, not by independently derived requirements. There's a parallel with Lakatos's view of the development of mathematics in Proofs and Refutations. Production software development is like creating a new proof for a true statement. The challenges are to create intermediate concepts and lemmas that make the proof easier to build. Research software development is like trying to come up with a proof for an hypothesis that may not be true as stated. Failures to come up with a proof (buggy programs) lead to concept refinements and revisions of the hypothesis, and success is to continue this process until an hypothesis is reached that can be proven (a program that behaves as expected) and that is still recognized by the research community as worthwhile.

Friday, March 16, 2007

I have to brag

After a four year effort, our new discriminatively-trained gene predictor CRAIG has been published and is an editor pick on PLoS Computational Biology. My student Axel Bernal deserves the lion's share of the credit for sticking with it for so long and solving many difficult problems to make this new system a reality. We hope it will be useful to many researchers.

Friday, March 2, 2007

Going skiing

Leaving tomorrow for a week of backcountry touring around the terrain in this map.