28 January 2009

Into the blue, too

I see that my old colleague David Alison has emerged from the workshop to launch Shared Status, a refreshingly low-tech small-footprint solution to managing punchlists for distributed teams. It's clearly a tool informed by many hours of sitting through deadly dull, interminable team status meetings. What I think is bold about David's model is that a task is either done or not done. You can hand it off to someone else, but it's still only done or not done. No more cheeseparing about tasks that are 90% complete, forever.

Into the blue

I attended a presentation by Microsoft technology evangelists Ashish Jaiman, Zhiming Xue, and Sanjay Jain to a small group, organized by the IEEE CS local chapter, on Microsoft's Software + Services paradigm and its Azure technology suite. The talk filled in some of the gaps in my understanding.

A key point of the Software + Services model is to characterize the gray area between traditional apps and SaaS apps as either "building block services" or "attached services," with the additional term "finished services" to describe software as a service. But I haven't yet grasped why the distinction is helpful.


Attached services provide a higher level of functionality compared with building block services. Applications leverage attached services to add functionality.


Sanjay demonstrated Microsoft Dynamics CRM 4.0 as an example of a finished service. Surprise, surprise, the extensibility features map on to what I already know from Salesforce.com. I smiled to myself at the naive remark that the features would allow a salesperson to enhance the system "without any programming." (Didn't someone once say that about COBOL?) Last time I checked, there were Dynamics CRM and Salesforce.com consultants making a tidy living.

We moved on to Azure, an "OS for the cloud," and the supporting suite of services on top of it:


  • Live Services: ID and directory
  • .NET Services: service discovery and the "service bus," workflow, access control
  • SQL Services
  • SharePoint Services
  • Dynamics CRM Services


SQL Services is kinda important, because the persistent storage features offered by bare Azure will be hard for the garden variety developer to assimilate: blobs, tables, queues, and locks are all you get. Also rudimentary are the facilities for session management.

And Zhiming noted that e-commerce features like a shopping cart and credit card processing are not there yet, although Microsoft Office Live Small Business can provide them.

He closed with a quick demo of Wikipedia Explorer, one of a handful of apps linked to from the Azure Gallery. The Explorer is actually pretty slick: give it a search term and it produces a network of related Wikipedia articles, rooted on the original term. Also found in the gallery is Steve Marx's blog, which has helpful posts like this one that explain how to go about writing an app for the cloud.

08 January 2009

Finding composites

Another brain-teaser for Jeff and Jefrrey that I missed while my subscription was interrupted: Andrew Koenig reintroduces the 2-3-5 problem, attributed to Dijkstra and Hamming:
Write a program that produces, in ascending order, the sequence of positive integers that have only 2, 3, and 5 as their prime factors. The first such integer is 1 (which has no prime factors at all; hence all of its prime factors are either 2, 3, or 5); the sequence continues with 2, 3, 4 (which has only 2 as a prime factor), 5, and 6. It skips 7, which is prime, continues with 8, 9, and 10, skips 11, includes 12, and so on.

Not System R

Ashlee Vance introduces the open-source statistical analysis programming environment R, one that challenges proprietary packages.
"R has really become the second language for people coming out of grad school now, and there's an amazing amount of code being written for it," said Max Kuhn, associate director of nonclinical statistics at Pfizer. "You can look on the SAS message boards and see there is a proportional downturn in traffic."