Wednesday, August 29, 2007

Returning HTTP 303s for Semantic Web URIs

The World Wide Web Consortium's (W3C) Technical Architecture Group (TAG) attempted to settle a long standing debate about the use of URL resolution called http-range-14 a couple of years ago by ruling that "If an 'http' resource responds to a GET request with a 303 (See Other) response, then the resource identified by that URI could be any resource." Roy Fielding's original suggestion for the TAG finding is here.

That is a very subtle point. The idea was to cleanly separate those resources that are referred to by an HTTP URL and those that cannot be referred to directly, but might have an HTTP URL assigned to them anyway. The latter include physical items in the real world. Importantly, many of the objects assigned URIs in Semantic Web descriptions are given HTTP URLs but cannot be directly referred to on the Web.

Programmatic resolution of an HTTP URL may refer to an object in the real world (that is, an arbitrary resource) or an information resource (in some virtual form, such as an HTML page or an image or a movie). In that case, the HTTP response code would be 303 instead of 200. A 303 is an indication that the thing referred to may not be an information resource, it may be either an information resource or a "real" object. The body of the 303 (and the Location header) can provide information about the resource without encouraging you to think that what was returned really was a representation of the resource (as you would with a 200 response).

Most HTTP resources are expected to respond to a GET request with a 200 (OK) response and the body of a 200 is an "information resource". The definition of an information resource is that the entire content of the referred object may be "conveyed in a message".

But what about resources that cannot be conveyed in a message? My dog is a resource, as is my car, or myself. These things cannot be conveyed in a message, they can only be referred to. That is where HTTP 303 response codes come in.

RFC 2616 defines HTTP version 1.1 and its response codes. Section 10 defines a 303 thusly:

The response to the request can be found under a
different URI and SHOULD be retrieved using a GET
method on that resource. This method exists primarily
to allow the output of a POST-activated script to
redirect the user agent to a selected resource. The
new URI is not a substitute reference for the originally
requested resource. The 303 response MUST NOT be
cached, but the response to the second (redirected)
request might be cacheable.

The different URI SHOULD be given by the Location
field in the response. Unless the request method was
HEAD, the entity of the response SHOULD contain a
short hypertext note with a hyperlink to the new URI(s).
NB: An information resource should only be returned by an HTTP GET, not a POST, hence the discussion of POST. I unfortunately don't know of many people who bother to comply with Web Architecture to that extent.

Thus, the body of a 303 response is under-specified. There are several open questions. Some of them are:
  • What should it contain?
  • How should it be formatted?
  • Does a "short hypertext note" constrain implementations to a text/html MIME type?
  • How short is "short"?
  • Can there be more than one Location header?
  • If not, what do all the other URIs in the hypertext tell a user? Arbitrarily anything? If so, there is no limitation.
Uche, Eric and I have been trying to answer those questions. I should rightfully include Brian, too. Uche has proposed that the body of a 303 response include RDF (but not necessarily in RDF/XML format!). Eric has suggested encoding RDF content using RDFa, which would allow for the "short hypertext note" to include machine-readable RDF without breaking any existing implementations. The obvious downside is that RDFa is not a standard (merely an Editors Draft) and may not become one.

I rather like the idea of using RDFa, but a broader solution may be to always include a text/html body part, but use a multipart/alternative structure to allow for the body to hold RDF data (in whatever form) if it is present. That way, an implementation would not have to run the body through an RDFa parser just to determine whether any RDF content was present. The use of an additional header to indicate the presence of RDF content would also do it, regardless of the body type.

Of course, others have derided the use of HTTP URLs (emphasis on the Locator aspect) to reference arbitrary resources in the universe (for which the URI, I for identifier, was designed) and for some good reasons. However, I see tremendous value in being able to marry information space with meat space via the resolution of HTTP URLs. In fact, the automated manipulation of Semantic Web content depends upon it. That is why the TAG's finding makes a lot of sense. The use of 303 response codes to both separate resolution from description while maintaining universal addressing ties the abstraction of the Internet to the real world.

The new Persistent URL (PURL) service, now in construction, will allow PURLs to be created that can return 303 responses. The use of 303s to represent arbitrary real-world resources will enable PURLs to coalesce the fragmented persistent identifier space. Do we really need LSIDs, DOIs, INFO URIs and the rest? My answer is, "Not if the Web Architecture supports all their requirements". The representation of arbitrary objects via HTTP URLs and the ability to return multiple See Also URLs from a response would seem to do just that.

TimBL has raised a concern that the information resource contained in a body of a 303 response should not contain anything very interesting, because it is not addressable (in context of the linked data discussion). I disagree. The address of the 303 body is directly addressable because that is what is returned when the URL that got you there is resolved. Further, the 303 status informs a user that the information resource in the body is not the requested resource itself, merely information about it. That is, the URL addresses both the (real world) resource and the information resource in the 303 body and the 303 status allows one to cleanly separate which one you may wish to refer to at any given time, either programmatically or by a human.

As Paul points out, the use of a 303 response code does not put a requirement on the semantics of the identifier. A 303 response may be used to present information to a human user, while at the same time providing an indication to a computer that the resource you addressed is not the one that was returned.

I have posted about http-range-14 issues before, but not in this amount of detail. I think that proper answers to the questions above will be critical to the success of the Semantic Web because we must have a mechanism to programmatically determine whether an HTTP URL refers to an arbitrary thing in the wide universe or that relatively small subset of things that we call information resources.

A big question in any new use of HTTP is how existing browsers have implemented handling of the return codes. I was quite surprised that Firefox and Apple's Safari redirect to the Location header in a 303! For example, go to the home page for Tom Heath (http://kmi.open.ac.uk/people/tom/) and you will be redirected to http://kmi.open.ac.uk/people/tom/html. Neither browser will show you that an intermediate 303 return code was issued or that the browser followed it. You can see the 303 by using something like HTTPTracer or wget. It is also interesting to note that Tom is using a text/html body describing in human terms what the Location header says (a "short hypertext note", captured using HTTPTracer):


HTTP/1.1 303 See Other
Date: Wed, 29 Aug 2007 16:54:19 GMT
Server: Apache/2.0.52 (Red Hat)
Location: http://kmi.open.ac.uk:8888/people/tom/html
Content-Length: 332
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>303 See Other</title>
</head><body>
<h1>See Other</h1>
<p>The answer to your request is located
<a href="http://kmi.open.ac.uk:8888/people/tom/html">here</a>.
</p>
<hr>
<address>Apache/2.0.52 (Red Hat) Server at kmi.open.ac.uk Port 8888</address>
</body></html>


Tom is using a 303 in the manner described by RFC 2616, and it is important to note that it does not conflict with the TAG finding regarding http-range-14. His response does, in fact, refer to "any resource".

The fact that browsers are automatically (and incorrectly, in my opinion) redirecting to the URLs specified in 303 Location headers suggests to me that Semantic Web applications will need to be careful. We can rely upon our own programmatic handling of 303s, but not the browsers'. We should also, again in my opinion, ensure that we do not break existing browser implementations if we can help it. The use of creative 303 body messages and perhaps new headers is one way out.

Sunday, July 15, 2007

Some Kind Words

Steve Goschnick at Solid Software in Melbourne, Australia had some kind words for my paper entitled "RESTful Software Development and Maintenance" given at the 2006 Open Source Developers Conference in Melbourne. Thanks, Steve!

Wednesday, July 11, 2007

Press Release for PURL Code Rewrite

Zepheira, OCLC and the W3C announced today a project that we have been working on for a month; the complete re-write of the software behind the Persistent URL (PURL) service.

The full press release is here.

I am particularly happy to say that we are working toward a proper Open Source (Apache 2) release of the new code, and enhancements to deal with important issues for the Semantic Web (such as support for HTTP Range-14 return codes). OCLC has also asked us to help build a community around the code to assist both its maintenance and its future direction. That is a refreshing change and should be welcomed by all.

I can't wait to start building services on top of this stuff.

Monday, July 09, 2007

Zepheira Team Picture

Here is a good shot of the current Zepheira team. It was taken at the 2007 Semantic Technologies Conference during the Zepheira reception.

Left to right are Brian Sletten, Eric Miller, Kathy MacDougall, Bernadette Hyland, Uche Ogbuji and yours truly.

Defining Liberalism

The Canadian Broadcasting Corporation's wonderful Quirks and Quarks radio show interviewed David Sloan Wilson on 23 June 2007 regarding his new book Evolution for Everyone. I belatedly caught the podcast while on holiday, oddly enough in Canada.

Prof. Wilson specifically addressed group dynamics and the thinking of humans in terms of social groups. It seems easy for Westerners to think of ourselves as individuals and ignore our obvious group dependencies. He mildly denigrated the thoughts of Richard Dawkins, Carl Sagan and the other evolutionary rationalists when he discussed the place of religion. Interestingly, Wilson noted that 95% (his measurement; I have not verified it but do not think he was speaking rhetorically) of conversations between people in a church relate not to theology but to group dynamics (how people can/could/should get along with each other). He uses this fact to suggest that religious thinking evolved (in a biological sense) to assist us with group behavior. He didn't mention the Baldwin Effect in the podcast, but I look forward to seeing whether it is discussed in the book.

I am particularly interested in the "us versus them" boundary in human behavior and Wilson discussed that. He noted the peculiar tendency of soldiers to act altruistically toward each other while killing the enemy; an extreme form of "us versus them" behavior and one close to the behavioral patterns found in and between hunter-gatherer groups. Then he said a fascinating thing: if one were to consider the group size to be larger, then one sees the killings as immoral. That immediately made me think about liberalism in our society.

What makes a liberal? Why do some people (myself included) become more liberal as they age? I was reared in a conservative, mostly rural society, attended a military college and was surrounded by conservative people until leaving the Navy. However, my thoughts became more liberal as I traveled and observed. Bill Clinton has said "The Democrats win when people think", which may be the same thing. Using Wilson's way of thinking, it suddenly makes sense that the ivory halls of academe are bastions of liberalism. Travel and thinking tend to make one see the world as a wider and more interconnected place. The group size one sees, in other words, becomes larger. Perhaps, as in the case of some, the observed group size becomes the size of the entire population.

I think this is a very, very useful meme. It is the first way of thinking about the differences between people's politics of which I am aware that both satisfies Occam's razor and provides a basis for further negotiation. Once the basis for disagreement is known, a solution is surely closer.

TKD Virginia State Games

I participated in my first Tae Kwon Do tournament a couple of weeks ago at the Virginia State Games near Richmond. It was surprisingly fun. Our dojang did well. I was particularly pleased at picking up the gold for forms, even if it was the old guys' division. In the picture below, I am the geek on the right.

Monday, June 18, 2007

Ultramicroscopicvolcanicsiliconiosis?

My nine-year-old son came home today from a summer day camp to inform me that the longest word in the English language is ultramicroscopicvolcanicsiliconiosis. Is that so? It is not in my dictionaries and a Google search returns zilch. Does anyone know for sure? Can you quote an authoritative source? I would accept the Oxford Unabridged, but don't have a copy at home.

The word apparently refers to a lung disease caused by the inhalation of fine volcanic ash.

APC 1500 Back-UPS

I installed an APC 1500 Back-UPS uninterruptable power supply on my desktop computer yesterday. We get not-infrequent brown-outs and even the occasional power outage in F'burg.

Setup was a breeze. The only trick was needing to connect the battery, which came pre-charged (thereby causing a discharge arc when connecting - I was not warned in the manual and it took me by surprise). The included PowerChute Personal Edition software installed easily on my PowerMac Quad G5. I was pleased to see that I now have a battery icon in my Finder bar and it works to indicate the status of the battery.

The G5, a 23 inch screen and a 17 inch screen, my laptop power supply, Klipsch speakers, a USB hub and an external hard drive add up to about 300 W, giving about 15 minutes of power from the battery. When the machine is sleeping and the monitors are off, the power usage drops way down.

I tried the obvious test by unplugging the power cord. The UPS functioned as expected. The alarm (4 beeps per minute) sounded and the machinery stayed up. Oddly, I did get a dialog box warning me that a USB device was removed and not properly dismounted first. I think that came from the USB monitoring cable on the UPS, but am not certain.

The only (very minor) complaint is a faint smell of ozone. I think I would rather get used to the ozone than risk losing a HDD, so I'm happy.

Thursday, June 07, 2007

Mikayla's Yellow Belt

Congratulations to my daughter Mikayla for her advancement to Yellow Belt (8th Gup) in Tae Kwon Do. Here she is with Master Mark Grenier, dad and brother Aidan.

Wednesday, June 06, 2007

GetHuman

GetHuman is a very, very cool site to collect and disseminate paths around semi-automated corporate call centers. The way one gets an actual human being on the phone is documented for hundreds of big corporations.

GetHuman was founded by blogger Paul English (see the blog that started it all). He started the site "out of his own frustration in trying to obtain excellent customer service." Since then he has built a small but productive team to actually take on the corporations' poor customer service policies.

GetHuman had the beautiful audacity to create a "standard" to which they would like companies to comply. The site grades companies on their compliance with that standard. I can only hope that this idea gets enough legs under it to make a brand.

I see GetHuman as a community workaround to a systemic failure; Corporations set up mostly-automated call centers that saved their time, not their customers' time. Perhaps a Semantic Web solution could be developed to facilitate mostly-automated call centers that serve both interests. In the meantime, the GetHuman standard is a nice way to encourage the eight hundred pound gorillas in our midst to act responsibly with our time.

Monday, June 04, 2007

Lots of Zepheira Press

Zepheira has been getting a lot of press recently. The Zepheira news page certainly has links to more podcasts and respectible publications than any other company I have have the privilege to be part of.

Investors Business Daily came out today with an interview of several key SemWeb leaders, including Eric Miller. The article itself expires after today (!) so I have created a PURL for it so we can eventually move the redirection when IBD pulls their head out.

The article was typical journalistic fare, attempting to be "balanced" in the same way that Fox News is. That is done by showing both sides of a story - even when there are not, in fact, two sides. We see this sort of nonsense with science reporting when reporters go increasingly out of their way to find a few scientists willing to publicly doubt the phenomenon of climate change or willing to say that nuclear fusion will happen commercially within the decade. In the case of the Semantic Web, the same old doubters of 1999 come out to play and get quoted every time, ignoring the clear commercial successes of the last few years.

It is interesting to see Tim O'Reilly routinely quoted in the press now putting the SemWeb in a more positive light than last year: "The Semantic Web is the idea of marking up computer information in such a way that computers can infer meaning from it."

The journalist managed to get basic facts wrong, too, as when he says, "Internet protocols make it hard to search for many basic items on a Web site, such as a simple address or phone number." or "A resource description framework (RDF) and Web ontology language (OWL) are new technologies that can solve that problem. They serve as a kind of wrapper or tag to describe the data inside." RDF and OWL are hardly new (both were standardized in 2004 and pretty stable years before) and of course the Internet protocols have nothing to do with linguistic searching.

He also gets some things right: "This new vocabulary lets computers find and access data on their own. The goal is letting the machines perform rote tasks to gather information and merge the results.", and he mentions products from Oracle and Adobe.

Eric is quoted reasonably. That is a relief. "These Web standards should help companies spot new relationships among huge sets of data and use the findings for better conclusions about their business, says Eric Miller, president of Web startup Zepheira."

I rather liked the MySpace example and wonder if it came from Eric:


For instance, MySpace might let personal pages share information with the pages of relevant friends or colleagues in the social network.

Take someone whose MySpace page describes a fondness for vintage jazz. By entering that information once, that person could automatically be linked to others who share the same interest.

Furthermore, that information could be applied to future Web searches for new music releases. In effect, using metadata could become a way to make MySpace "truly mine," said Miller.

"This means there is a much more flexible, personalized integration point to really connect people," he said. "The notion here is to enter data just once, but to use it often."

Friday, May 18, 2007

Thieving and Sneaky Administration

The US Transportation and Security Administration (TSA) has finally upset me. I've been giving them a lot of slack in recent years because I know it is hard to do what they do and harder still to do it within a huge bureaucracy. Recent events have caused me to reconsider my good behavior.

A couple of months ago I accidently left a tiny Leatherman Squirt on my key ring when I went to Dulles Airport near DC. It was my mistake and I fully expected it to be taken by security (even though the cutting blade is no larger than the file on a set of nail clippers and therefore no conceivable threat to anyone's life). I gave it to the TSA agent on the other side of the metal detector. He looked at it, smiled and put it into his own pocket. It was obvious that he intended to keep it.

Last week I flew to New York State for a meeting. I had my iPod in my only bag, which I carried on. On my way through airport security in Ithaca, a TSA agent told me that my bag would would need additional search. She searched it all right, and stole my iPod at the same time.

I understand that it is hard to find good, honest people to do a job like that. Maybe that should tell us something about the way we attempt to provide "security". Quis custodiet ipsos custodes?

Tuesday, May 15, 2007

Exposing Secret Army Research

My friend Chris sends this update from a super-secret R&D lab:

"As many of you know by now, the Army has adopted the Advanced Combat Uniform (ACU). The ACU is the most advanced digital camouflage uniform in the world. It is the result of millions of dollars and thousands of hours or research in the Army's newest, state of the art, camouflage testing facility. While the exact location of the facility is still secret, we can now reveal the first ever photograph from inside this facility."

GRDDLable Home Page

Now that GRDDL is a W3C Candidate Recommendation, it is high time to (finally!) have a machine-understandable home page! Mine now returns 49 embedded triples according to the online Redland parser.

Friday, May 04, 2007

Semantic Tagging in my Home

I was planning to blog (one day...) about my daughter's tagging of items in my house, but Weeble beat me to it.

Tuesday, May 01, 2007

Science and Religion: The Short Course

OK, here I go again. This one will generate some comments. I have finally figured out why science and religion (of any form) are natural enemies.

Science has determined that the universe is going to end eventually, either in a "Big Crunch" or in an ever expanding heat death. If I understand the current physics correctly (I do not, but may have a handle on the summaries), the odds seem to be in favor of an expanding universe piddling away the last of its energy in heat death. To summarize the findings of cosmology, there is nothing that we are going to do to stop that. Not on Earth, not in space, not in the future, no way, no how. We are along for the ride.

Even in the short term, science informs us that life on Earth could end abruptly from an asteroid, or via a passing star in some millions of years. Of course it will end eventually, upon the expansion of our sun past the orbit of our planet as part of its natural life cycle.

Science also informs us that we are driven to preen, to prepare, to want, to enjoy sex, purely for the reason that our ancestors survived better than their peers having those traits. Eat, survive, reproduce. That is all life has ever been about.

That view of the universe is less than uplifting for some readers.

Religion, on the other hand, asks us to believe in a mythology for the sakes of making ourselves feel better about the fate of the universe. The role of any mythology, to paraphrase Joseph Campbell again, is to put oneself in accord with the universe. That means to weather the fears of childhood and the hormonal storms of adolescence without self distruction and, at the other end of life, to accept death gracefully. How are we supposed to do those things, ask believers, when science tells us that life is ultimately meaningless?

I propose a new meme for the new century. Let's see the beauty of the universe for what it is. It really is an incredible place. Let's revel in it, for it is what it is and we, small and fragile, are who we are. We may try to change who or even what we are with our science, but we cannot finally escape the heat death of the universe itself. We are still along for the ride. We might as well care for each other. We might as well take care of our planet. We might as well make a heaven for ourselves, right here and right now, than to live in a hell of our own making.

Can science point us to a new morality? People have tried before and eugenics was the result. "Social Darwinism" was engendered by a scientific viewpoint, right? Yes, but I think we can do better this time. We can think the problem through, iterating the meme as we see fit. Consider some morality that might flow from scientific thought:
  • If our lives are ultimately meaningless, shouldn't we watch after our own happiness while we are here? We should get to work on a culture of gardening; we have a lot of work to do to make Earth a nice place.
  • If no gods are going to save us, should we not consider saving ourselves? Waiting for the Rapture should no longer be an excuse for inaction.
  • If we recognize ourselves for what we really are, could we find a way to stop being ruled by greedy, power-hungry nutters? Perhaps the reason so many senior executives, politicians and religious leaders fail to live by their own standards is that it takes a badly broken person to want those jobs to begin with. They deserve our pity and our help.
Religion and science are natural enemies because they differ on the meaning of life. The success of science in predicting and explaining the workings of our universe suggest that we should start work on a means of answering those questions traditionally left to religion. How do we learn to accept our fate? How do we learn to enjoy the ride? It can be done. It is, after all, a very lovely universe to die in.

Tucana/Kowari/Mulgara Podcast

Paul Miller of Talis interviewed me yesterday for a podcast about Mulgara. We covered the history, present and immediate future of Mulgara and its predecessors, Tucana and Kowari.

Monday, April 30, 2007

Breaking CFLs

Compact Flourescent Lamps or CTLs have been hailed as a wonderful new way to save energy and they are. Even though they do contain some significant pollutents they have less than power plants would create to make up for the energy saved. CTLs are a no brainer, right?

Better think some more. A friend IM'd me today to discuss an interesting conundrum. He has a young child who, in a fit of pique, kicked a CTL in his bedroom lamp and broke it. The roughly 4 mg of powered mercury are now embedded in the carpet, the bedding, the curtains, the boy...

It is legal in the US to dispose of CTLs in regular trash. Naturally, this results in a lot of mercury contamination landfills. Consumer guidance has focused on this issue; how and where to dispose of them properly. Unfortunately, I have been unable to find any guidance on avoiding them in the bedrooms and play areas frequented by young and rambuctious children.

Friday, March 30, 2007

Are We Too Safe?

My father grew up during the depression, on a subsistence farm. His family lost two young children from illness. Adults regularly failed to live to old age. As my mom said, "If you got sick, you probably died." Those were the days before antibiotics, before antivirals, before cancer cures. Food was scarce, jobs were scarce and life was hard.

My father recently made the interesting observation that people of his era are not as scared - of everything - as younger generations are. His generation is not scared to live for fear of dying. He specifically mentioned worries about optimizing diet and exercise and extreme fears for children. Why shouldn't little Johnny climb that tall tree or run in the road? Sure, he might fall or get nailed by a car. It happens. It is an interesting attitude.

Those of us who expect, really expect, to live to be one hundred years old, and to be free of pain, mobile and healthy the entire time, have a different outlook. We do worry about our safety. We do feel a need to take care of ourselves. We increase the investment that we make in our bodies because we expect to rely on that investment later. What price do we pay for that expectation?

I never saw a wild thing
Sorry for itself.
A small bird will drop frozen dead
From a bough
Without ever having felt sorry for itself.
— D. H. Lawrence

Thursday, March 29, 2007

Awesome Aussie Send-Up

David Morgan-Mar, the twisted genius behind Irregular Web Comic, has done it again. He has a pearler of a podcast from back of Bourke. There is an accompanying transcript here for you cyberbludgers out there.

Friday, March 16, 2007

Uncertainty Reasoning for the World Wide Web

THe W3C has started a new "incubator" activitity to look at Uncertainty Reasoning for the World Wide Web. This could be interesting, since it is one of the few activities that I have seen that explicitly addresses the open world nature of the Semantic Web. I'll be watching this one.

Friday, March 02, 2007

Working on a New Book: REST in Java

I am pleased to announce that Brian Sletten and I will be writing a new book entitled REST in Java. It will be published by The Pragmatic Programmers. We have not yet set a delivery date for the manuscript.

The book will cover the creation of Service Oriented Architectures (SOA) using the Representational State Transfer (REST) architectural style. I believe that this will be a fun and exciting project.

Wednesday, February 28, 2007

Tales from an Afghani Winter

My friend Chris, an Army Reserve lieutenant colonel, is currently serving in Afghanistan. He sent me email describing the situation there shortly after Vice President Cheney was targeted by a suicide bomber. It certainly sounds every bit as dangerous as we hear in the press, in spite of comments to the contrary. The bomb killed about 20 people.

"We've been getting lots of press due to the Vice President's visit and the suicide bomber.  Nobody covered the rocket strike last week.  My office actually looks toward the gate the suicide bomber hit yesterday.  There are many layers of security and blast walls etc, I was never in any danger.  I sit in a safe building looking at computer screens most days.  You do however, get good at the sounds of explosions here.  When our planes drop bombs it is a hollow woomp, then when EOD teams blow-up captured explosives, IEDs, etc., it is a muffled boom because they usually place the items in a disposal pit, but when you hear a sharp crack like yesterday you know it isn't good.  When I looked out my window and saw the local villagers running toward the gate I knew it wasn't the usual odd mortar or rocket.  We had a memorial for the victims early this morning before the coffins were taken to the plane.  The US soldier was from the unit in the same building as my office is in."

Friday, February 23, 2007

Andrae Muys, Randall Swartz and Me

Andrae just pointed me toward a nice photo on Flikr from December 2006 at the Open Source Developers Conference in Melbourne, Australia. It was taken of Andrae Muys of Mulgara, Randall Swartz of Perl fame and me (left to right) in the Caulfield train station.

Tuesday, February 20, 2007

Replacing Text in HTML Tables

One of my students asked me how to replace text in an HTML table when links were clicked. I thought it was a useful technique once we worked it out, so here it is.

The code:
<script type="text/javascript">
<!--
function fillTable(value)
{

var stuff_a = "This is some stuff.";
var stuff_b = "This is some <b>other</b> stuff.";
var content = document.getElementById('content');

if (value == 'a') {var stuff = stuff_a;}
if (value == 'b') {var stuff = stuff_b;}

content.innerHTML=stuff;
}
//-->
</script>

<table border="1">
<tr>
<td><a href="javascript:fillTable('a')">Choose me!</a></td>
<td rowspan="2"><div id="content">Default content.</div></td>
</tr>
<tr>
<td><a href="javascript:fillTable('b')">or me.</a></td>
</tr>
</table>


Unfortunately, Blogger won't let me insert Javascript so I can't show a running example on this site :P

Sunday, February 18, 2007

Honesty and Trust

I was recently involved (peripherally) with a business partnership that broke up. The partners did not see eye-to-eye. Their lack of synchronization was not immediately apparent, but it became more so with time. Six months into their venture, they decided to part ways. That got me thinking about honesty, trust and models for those social dynamics. Specifically, I seem to recall that a natural clustering occurs between social entities that act honestly versus those who don't. Naturally, I hit the Web looking for answers.

It turns out to have been the great economist Adam Smith who observed that market interactions lead to "bourgeois social virtues" like honesty. Go figure. The quote is not from Smith (he did not use words like "bourgeois") but from Francis Fukuyama, whose paper at the IMF is referenced below.

Social models of trust seem to be based on incentives and costs (economic models). That approach has worked to a degree, although most economists will readily admit that it doesn't explain significant types of human behavior (e.g. Open Source Software). Not surprisingly, much of the academic literature focuses on either (a) describing trust systems based on costs and incentives or (b) suggesting incentives to make participants in a system more honest.

In the literature of evolution, there are many well-known examples of deception such as hidden ovulation in human women (unlike most other mammals) and uncertainty relating to paternity. There are strong reasons for such deception and so the ability to deceive is actually encoded in our genes! That sheds an interesting light on our social norms, doesn't it? I have come to think of social norms for honesty arising from incentives and costs, but being continued and expanded as a meme - an idea package in a Dawkinsian sense that takes on a life of its own.

There is an interesting paper on "social capital" (of which trust is an effect) and civil societies at the International Monetary Fund. It contains some useful definitions and references:

In anthropology, studies of the great apes have shown that their systems of behavior are similar to ours, but simpler. That provides a nice avenue for study. Rebecca Frank's work at UCLA made sense to me. She discusses social interactions of baboons, where coordination is valued to attain group goals so repeated deceptions become "unprofitable".

Come to think of it, I think I saw that kind of behavior on Animal Planet's Meerkat Manor show. One of the meerkats (Tosca, I think) was tossed out of the group for bearing young when she was not the dominate female. That was an unacceptable social interaction for which she was punished.

There are papers that demonstrate clustering of honest and dishonest people, such as Spatial Structure and the Evolution of Honest Cost-Free Signalling by Krakauer and Pagel. Interestingly, they suggest that islands of honesty can evolve even in situations where there is no cost and a net reward for deception.

"Web 2.0 ... The Machine is Us/ing Us"

Professor Ernie Ackermann sent me a link to an excellent YouTube video today on Web 2.0. Michael Wesch, an assistant professor of cultural anthropology at Kansas State University, created it. Check it out. I plan to show this to my class, The Internet: Technology, Information and Issues. The video covers many of the ideas that we have discussed, including hyperlinking, the separation of content from presentation (HTML -> XML), standards, blogs, social interactions, the creation of the world's hive mind. Way cool and very nice work.

http://www.youtube.com/watch?v=6gmP4nk0EOE

Saturday, February 10, 2007

Summary Data for the 2006 Software Engineering Practices Survey

I have published some summary data for the 2006 Software Engineering Practices Survey. A journal article should follow shortly.

Wednesday, February 07, 2007

Broken Culture

I have commented before about the prevailing culture of extra-marital affairs prevalent in the military. Today's news brought an extreme example. NASA Astronaut and Navy captain Lisa Nowak, married with three children, became embroiled in a love triangle with another astronaut and an Air Force officer. She is now charged with attempted first-degree murder and other lesser offenses. Holy smoke. Learn to keep your pants on, people.

Monday, February 05, 2007

Fiber-to-the-Home in Brisbane

The Queensland, Australia state government has announced Project Vista to bring fiber to homes and businesses in Brisbane. Later they say they will provide it to a greater area of Southeast Queensland.

It will be interesting to see what they do without a "last mile" problem. They are asking academics in the region to suggest content and services to utilize all that bandwidth. Being Queensland, they naturally list gaming as a possible advantage.

Businesses are slated to get fiber as well as homes. That is a big change from the cable rollout, which paradoxically left businesses out. The possibilities for Voice Over IP for all local calls is interesting. Combine that with Metropolitan Wide Area Networks and watch the telcos scream!

I wonder how long it will be before Microsoft sues them over the name?

Friday, January 26, 2007

Pushing Expose

How far can you push Mac OS X's Expose?

I was inspired to find out after being pointed to this image of some hundreds of Apple Mail windows in Expose.

The image below was done on a PowerMac Quad G5 with 4 GB of RAM. There are about 1000 windows (600+ email messages, roughly 300 Finder windows, 4 iChat windows, 1 Safari and 1 iCal). I originally tried to open 1079 mail messages, but Mail crashed. Perhaps a 1024 limit in Mac Mail?

Expose took about five minutes to render, but the return to the Desktop was almost instantaneous. Expose is apparently not cached, because going back to it without touching windows caused another long redraw.

Wednesday, January 24, 2007

No Habeas Corpus? Really?

It is amazing to consider the lengths that people will go to justify unjustifiable positions.

On January 18, U.S. Attorney General Alberto Gonzales questioned the right of U.S. citizens to Habeus Corpus. In a statement to the Senate Judiciary Committee, Gonzales said, "There is no expressed grant of habeas in the Constitution; there’s a prohibition against taking it away."

According to Robert Parry, writing in the Baltimore Chronicle & Sentinal, "Gonzales’s remark left Specter, the committee’s ranking Republican, stammering." I'll bet it did. Parry goes on to say that "Applying Gonzales’s reasoning, one could argue that the First Amendment doesn’t explicitly say Americans have the right to worship as they choose, speak as they wish or assemble peacefully. The amendment simply bars the government, i.e. Congress, from passing laws that would impinge on these rights."

When we sacrifice our principles for momentary gain, we lose more than the moral high ground. We lose the justification for our identity as a nation. Gonzales' approach is not just morally wrong, it is dangerous for our country. Perhaps not so oddly, that was my argument against the war in Iraq.

Monday, January 22, 2007

Post-Katrina Biloxi

The Gulf Coast is still a mess well after Katrina. My parents drive through the area last week on a trip to Biloxi, MS. Here is a report from my mom:



The weather was dreadful so we rented a car for one day and drove around and saw the damage from the hurricane. Those poor people, I have never seen so many Fema trailers in my life. Piles of old houses, trees, and everything you can think of. Motels still standing with the furniture that didn't blow away still there and you can see right through the buildings. 38 people died in one motel where they decided to ride it out. The whole inside is gone with the people. There is a road along the gulf that had beautiful old large homes there for a century or longer. All gone. A few have been rebuilt but most are just empty lots. Mile after mile of this.

Life as Haiku

The Washington Post has a section (rather strangely, I think) entitled Life as Haiku. The entry from Sunday, January 21, 2007 features my friend Ajay from Entreiva. Cool. I'll bet he doesn't plan to remember his friends when it comes time to spend the $100...

Sunday, January 21, 2007

Teaching Philosophy

I was recently asked by the University of Mary Washington to write a statement of teaching philosophy. Here it is:





“The empires of the future are the empires of the mind.”
-- Winston Churchill


We have the great fortune of living at a time when our field of Computer Science is influencing our society, and the world at large, in an unprecedented way. The Internet has drastically increased communication between disparate parts of the world and enabled new ways of doing business, conducting research and simply having fun. It has brought computers and computer-based communications into mainstream use. Our students have passed their adolescence with a presumption of “always on” services, from laptops to cell phones to iPods. These portable computers are remaking our civilization. Naturally, the Internet presents us with challenges, too, such as spam, pornography and identity theft. The amplification of human communication has amplified our human foibles as well.

I suggest that the Internet has also presented us with a particular didactic problem. Enrollment in Computer Science courses is down in all English-speaking countries at the same time Internet usage is skyrocketing. The way people learn, and their desire to learn subjects requiring dedicated concentration seems to be changing. Perhaps this is related to the trend of “multitasking” and the shortened attention spans due to it. Can one expect students to learn Computer Science in a series of short sittings?

We have new advantages, though. I recall as a child asking my father questions. He would answer if he knew and, if not, on Saturday we would go to our local library. That experience contrasts strongly with the experience of my children; if I do not know the answer to a question, my wife may since she has multiple degrees and a wealth of experience, unlike my mother. If neither of us know the answer we can turn to Google. We can immediately augment our answer with images, movies, graphs and charts. We can allow time for following questions. The process of learning does not have to stop when our personal limits are discovered.

How are we to effectively integrate the ever-changing Internet into our classrooms? How will it change our approaches to testing? How will our teaching styles evolve to reach students who simply think differently than we do? I don't have the answers, but I think the questions should be on our minds as we build the universities of the future.


“Everything should be made as simple as possible, but not simpler.”
-- Albert Einstein


I was lucky to stumble into the United States Navy. Of all the things I learned in the service one stands out. The Navy has a culture, embedded in centuries of tradition, of continuous learning. The first thing I did in the Navy was go back to school for seven months. Upon reaching my first ship I was handed a large stack of books and training materials. As soon as I qualified, I was given a new goal then another, and another. The Navy broke my Midwestern, Rust Belt expectation of preparing for a job that one would do the remainder of one's life. The concept of continuous learning is a gift I try to pass onto every student.

Developing critical thinking in students is another important goal. Many students just want answers, and yet they as adults will be faced with a world full of questions. How do we address global warming? Overpopulation? War? Can we solve poverty in Africa by bringing the Green Revolution there? Is industrialized food production a good idea? Do we need biodiversity to survive? What will happen when the oil runs out? It is their generation, not just ours, who will have to answer those questions. They will not be able to do so without the ability to ask questions, probe for answers and come up with them on their own. The days of rote learning should be left behind us.

I enjoy my consulting role as a professional problem solver. There is a joy to fixing something broken. There is a joy in creating something new. I hope that my enthusiasm for my chosen profession comes across to my students and encourages them.

I like to teach by analogy. I like to walk around, to see what students are doing. I like to tell students what to do and like to observe how they do it. I like to keep my eyes open so that I can assist those who may need extra help so they don't lose interest. I think that tests should allow students who listen to pass, who read to do well and who think to get an “A”.


“Establishing lasting peace is the work of education; all politics can do is keep us out of war.”
-- Maria Montessori


Our species replaces each generation to establish our future. We have the obligation to teach our young to ensure their success. It is only a convenience that they sometimes appreciate it. I teach in order to contribute.

Wednesday, January 17, 2007

My Post on Slashdot's Front Page

After many years, one of my posts finally made it to Slashdot's front page. The story is about the Navy's new 8-Megajoule Rail Gun, built by BEA Systems and recently tested at the Navy Surface Warfare Center in Dahlgren, Virginia.

The Slashdot comments were typical; lots of people commenting without having read the article. Still, a couple of insightful people had a thread on launch loops that is worth reading. I'm sure most people stop reading the paper when they see "Launch track, 2000 km long" :)

Sunday, January 14, 2007

The Kadomo Group

I am pleased to formally announce my participation in The Kadomo Group. I alluded to this move in a previous post, but should really say what that means.

I will be holding my consulting company, Software Memetics, in abeyance and working full time with Kadomo. My role there is Chief Technical Architect, a title I share with the talented Uche Ogbuji. Uche founded Fourthought and has been published widely on XML.

I am pleased to say that I know most the Kadomo team well, including the founder Dr. Eric Miller (formerly of the W3C), author/speaker/super coder Brian Sletten, Daniel Krech from UMD MIND Lab, Kathy MacDougall from Sun and Vicki Mueller from OCLC. I was more than happy to get to know the energetic entrepreneurial couple Karen and Frank Bresky through Eric's introduction. It is an honor to be asked to join such a good group.

Kadomo is a services company focusing on the application of Semantic Web technologies, with some skunk works in the making. I am already busy with a financial services company in New York and will also be helping with business development and extensions to Mulgara.

Keep an eye on this space. It took me two years to emotionally commit to a new company, but I'm back. Somebody toss me some water every quarter marathon, eh?

Yet Another Way to Win in Iraq

I have posted a number of times on the (bloody, senseless and ill considered) war in Iraq. In fact, I've suggested several concrete ideas, such as waging peace and choosing our time to leave.

Now I bring you another one: How to Win the War in Al Anbar (a PDF of a Powerpoint presentation) by Captain Travis Patriquin, US Army (deceased). It boils down to understanding and working with the people of Iraq. That includes growing moustaches (because Iraqis trust people with moustaches) and working with the local leaders. Everyone interested in this war should read and comprehend the simple truth of Capt. Trav's presentation.

The sad thing is, of course, that Capt. Trav didn't make it. He was killed by an IED, probably indirectly related to the fact that he didn't have the Army's ear. The ABC news story has more detail, but I found out about him from some military friends. It seems Capt. Trav's presentation has struck a nerve among tacticians. I emailed it to President Bush (yes, really) but didn't really expect an answer.

It always seems to be the way. In spite of all the bureaucratic obstacles thrown in their paths, some tactical field officers manage to break the code. It happens in every war, in every army. You don't believe me? Have a read of The Savage Wars of Peace or Queen Victoria's Little Wars.

The Washington Post has a page for Capt. Trav on their Faces of the Fallen.

Saturday, January 06, 2007

Starting Work at the University of Mary Washington

I am excitedly preparing for my first course at the University of Mary Washington. I'll be teaching CPSC 104 - The Internet: Technology, Information and Issues this semester. I just completed the Web syllabus today for those interested. Brian has graciously agreed to give a guest lecture on the future of the Internet in April. Thanks, Brian!

UMW is a wonderful place to work and, I suspect, to study. The HR, departmental and library staffs have all been superbly efficient and knowledgeable. I have been very impressed with the ease of learning my way around. It is a nice change from the sheer size and complexity of the University of Maryland.

Also, I have a soft spot for teaching institutions. Although the faculty researches, the focus of UMW is clearly on teaching. That gives the students a chance to, umm, learn. Unlike the larger universities, which are fine for graduate or even good upper division students, but hell on the average undergrad trying to learn how to be away from home for the first time. I think I will like UMW very much, indeed.

I am only an adjunct instructor, and only very part time. The majority of my waking hours are still going toward our new venture over at The Kadomo Group. Still, striking a good balance between academia and actually doing is much more fun for me than either extreme could be.

Wednesday, January 03, 2007

Waging Peace (Really)

The American public has been told several things repeatedly since the 2004 presidential campaign season began more than two years ago. We have been told that (a) we must stay in Iraq, (b) there is no alternative plan for Iraq other than a military victory and (c) there is no acceptable alternative to winning the war. Unfortunately, all of these have been proven false.

Before the US invaded Iraq, a few US and UK senior officials suggested a non-military option to destroy Al Queda in Afghanistan. Their plans had one thing in common: They suggested waging peace. Build roads, these liberals said. Build schools. Give people jobs. Oh, wait. They weren't liberals. Chris Patten is an old school UK conservative. Michael Scheuer is a Republication career CIA officer. These people were ignored. Their ideas were too radical, and the potential results too far fetched. No more far fetched than forcibly imposing a Jeffersonian democracy, that's true, but never mind.

At a time when our policy in Iraq is eerily reminiscent of Richard Nixon's Vietnamization ("We'll stand down as they stand up"), and failing in exactly the same way, the time has come to trumpet the success of one man trying hard to do the right thing. Enter Colonel Jim Linder, US Army.

COL Linder is a career Special Forces officer and currently head of the US Army's task force fighting Al Queda-backed Abu Sayyaf on the Philippine island of Jolo. His strategy? To wage peace. No kidding. And it is working. COL Linder and his men partnered with NGOs, the Philippine government and US military assets to bring government services like roads, schools and medical care to the remote region. Linder's quote, hopefully to made famous soon, is "It's not about how many people we shoot in the face, it is about how many people we get off the battlefield."

This small corner of the US Army has successfully ended Abu Sayyaf dominance on the neighboring island of Basilan by the same methods. The techniques are now known as "the Philippines model" among military strategists. Why is the US military not emulating this model on a large scale? Because we are bogged down so badly in Iraq that the military can't implement that strategy anymore. Reliance on traditional strong-arm tactics while ignoring any strategic goals other than nebulous victory has cost us a real chance at success.

Once we lose the war in Iraq (and I am going publicly out on a limb here to say that we will), I hope that we learn the important lesson that COL Linder and his troops can teach us. You can catch more flies with honey than with vinegar. Or was that my mother? Either way, it works. It also has the nice side effects of completely failing to disrupt the fabric of society, failing to pollute the land and water and doesn't even kill people.

Friday, December 29, 2006

Nasty Apple Mail Bug

Update, 3 January 2007: Apple knew about this and had it filed under Bug ID# 3725615.


Summary:
Setting the "Image Size" for a Mail attachment in a Mail compose window can modify the file names of non-image attachments.

Steps to Reproduce:
1. Start Mail
2. Open a New Message window
3. Attach a PDF file
4. Attach a JPEG image
5. Select the "Image Size" select widget in the lower right of the compose window and change the setting to "small" or "medium".
6. Observe that the PDF attachment's filename has changed to '.jpg' instead of the correct value of '.pdf'.

Expected Results:
Changing the image appearance in a mail message should only impact image attachments. Further, no filenames should be changed when changing the image size since that action should only change the message view, not the underlying content.

Actual Results:
The filename of the PDF attachment was changed, although the MIME type was not. The changed filename promulgated to the sent message.

Regression:
Tested on Mail serision 2.1 (752/752.2) and 2.1.1 (752.3). The problem exists on both versions.

Wednesday, December 27, 2006

Wall Building

This should sound immediately familiar to anyone living around Washington, DC, this year:



"Court intriques intensified, leading to a near total paralysis of policy. Frontier policy became a political football passed between court factions, each mouthing angry patriotic platitudes, each vying to win favour with unpredictable emperors who sat, cloistered in the Forbidden City, angrily nuturing a futile sense of superiority over the foriegners snapping at the frontier.

Against this backdrop of racist arrogance, military incompetence and murderous factionalism, only one course of action was beginning to look both defensively viable and psychologically satisfying: wall-building."1



The year was 1457 and the place was Ming China. These days we build our own walls. Sadly, they are likely to do us as much good as they did the Ming. That is, of course, none at all.

--
1. Juia Lovell, The Great Wall; China Against the World 1000 B.C. - A.D. 2000, Grove Press, New York, 2006, pp. 201

Tuesday, December 26, 2006

The Tiniest Terrorist

On Tuesday, 19 December, I found myself traveling again, this time to Florida to visit with my parents and in-laws. We flew from Washington Dulles. Pre-holiday traffic was light. One quarter of the seats on the plane were unoccupied - the first time I have seen that in years.

B and I were traveling with our six-year-old daughter. Our son was staying with a friend for the short trip to avoid missing his school Solstice festival. We grabbed some lunch at a terminal burrito stand (err, a burrito stand in the terminal - one must be careful with ordering adjectives) while waiting to board. An unexpected movement caught our eyes. An electric cart belonging to the airport police zipped across the terminal at high speed with a three-year-old boy at the helm and a frantic mother giving chase.

The cart smashed into a row of chairs and took out a brochure stand at about fifteen miles per hour. People scattered left, right and over. The row of chairs - connected as they are in groups of four - broke, bent and slid into the next row, trapping two elderly ladies in their seats.

The recalcitrant cop finally arrived on the scene. He gawked and proceeded to do, umm, nothing. A crowd gathered instantly. Not one of them attempted to help the trapped women.

Now, I get on a soap box about this. Nothing, and I mean nothing, provides me with such burning, passionate feelings of disdain than a gawking, ineffectual crowd in times of crisis. I stand appalled at the ineptitude of my fellow humans, rubber neckers all. You would think that in the post-9/11 United States, in a major international airport, with multiple military and TSA personnel passing by, with a policeman present on the scene that someone in charge would be able to right such a minor situation immediately. Sadly, it is not so.

I rendered first aid and directed the moribund cop to call for paramedics. My wife took the mother and child in hand and calmed them down. The lady in the line of transit had a patella the size of a grapefruit in the thirty seconds it had taken me to reach her. Not good. Her leg was largely purple and almost assuredly broken. The other woman had a minor abrasion. I turned to a uniformed airport service worker and directed him to go to the restaurant and get some ice. "Ice?", he looked at me. "Who the hell are you?" The idiot! I gave him The Look. The Navy gave me The Look and I passed it on in turn. "I'm a medic. Get the damn ice.". He did. Lucky for him.

A doctor showed up on the scene about the time I had palpated and elevated their legs and cleared most of the debris. That cart hit hard. It sheared two metal uprights holding the back of a chair clean off. Each was about 40 by 5 millimeters of steel in cross section. The chair seats were steel and of similar thickness. They were just plates, covered with foam padding. One of those plates had rammed edge on straight into the tibia of the lady, just below the knee. Ouch!

We got the ice on both women. When I requested that the airport worker look for some towels, either paper or cloth, to put under the ice, he replied, "Oh, now you are really pushing it." I was too busy to kill him, so I found some myself. The doc was young and probably an intern. He had never treated anyone outside of a hospital. He hesitated when the women wanted to board their aircraft and left it to me to recommend that the shouldn't and to explain why. Then he agreed. The injured one was clearly in shock and not thinking straight yet. She was clearly distraught to think that she would miss Christmas with her family. We got both of them some water.

The paramedics finally arrived. I gave them the brief and turned it over to them. Then I did the only thing left to do - I faded into the crowd and went to my own gate with my family. To hang around was to be part of the lawsuit for the next six months of my life. The airport staff, from the cop who left the cart on and unattended to the bozo who topped out his skills getting ice, were clearly negligant. I didn't have anything to say to their lawyers that would help them any.

An airport staffer went looking for me later. I had my coat on, my glasses off and my phone in an ear. My wife waved him away and refused to speak English. He went away and we boarded our flight. I have no time for organizations who only get efficient when it becomes clear that they are guilty and about to be sued. I hope that old lady's retirement account gets a nice boost. She deserves it. Throughout the entire ordeal, she was polite, orderly and competant, in spite of being in a great deal of pain.

Can you imagine the chaos that would ensue if a terrorist hit such a facility? These people couldn't handle an errant three-year-old!

Monday, December 11, 2006

The Little Penguins of Phillip Island

I had the privilege of seeing one of nature's wonders first hand yesterday. So many people travel by air on Fridays and Saturdays that I was able to save US$600 by flying on a Sunday, thus giving me an unexpected Saturday in Melbourne. Tourist brochures offered a variety of trips into the Victorian countryside and I chose the nightly "Penguin Parade" on Phillip Island. Andrae decided to accompany me. I was excited at the prospect of seeing the world's smallest penguin species in the wild. The little penguins (Eudyptula minor) are called just that. They were once called fairy penguins in Australia, but use of that name is passing.

Phillip Island is two hours by bus from downtown Melbourne, East and South through former horse country turned into new suburbs. The bus picked us up at my hotel at 4:30 PM, circled through the city's other large hotels and stopped at the tour office for 15 minutes. Andrae and I did the natural thing for geeks; we spent 14 minutes at a nearby bookshop. Andrae spent most of the trip out reading my copy of Patrick Cleary's The Myth of Nations; The Medieval Origins of Europe while I got stuck into Terry Pratchett's hilarious and insightful Thud.

The island is dominated by human activity. A four-lane pylon-and-arch bridge traverses the bay and leads to an economy split by agriculture and tourism. Residents grow wheat and grapes, raise horses and cattle, mine sand, operate caravan parks and services businesses and do a bit of commercial fishing. The Penguin Parade used to ring the island's coast nightly before the coming of humans, but the twentieth century saw so much habitat destruction and interference with breeding and brooding that only a single colony at Summerland Peninsula remained by the 1980s. That colony was saved by the concerted efforts of the Penguin Parade staff and a bit of entrepreneurial eco-tourism. They even used tourism money to purchase land from an adjoining housing development to extend the reserve land. The population is slowly increasing.

Biologists have been counting and studying the penguins since the 1960s. A full-time biologist was funded in the 1990s and now runs the research effort. Counting is done manually, through binoculars from an observation tower. We were told that the penguins have so far defeated more technical and exacting techniques. There is also the issue of observational consistency. Using the same method of counting year after year ensures the numbers do not require complicated normalization.

A large welcome centre includes the critical food and gift shops, ticket sales and offices. A wide boardwalk leads to the sea past acres of penguin burrows. The boardwalk splits two thirds of the way down. The main path goes to the observation tower and two large viewing stands. A smaller walk leads to a separate and lower set of raised bleachers for those who were willing to pay a bit more. Andrae and I paid up to get closer to the penguins.

No cameras were allowed, although photos were naturally for sale in the gift shop. The penguins would be quite bothered by flashes and people, being people, cannot be trusted not to shock them into abandoning their eggs for the chance of a good shot. Rangers were on hand to police that decision and also the strict ban on littering. It seemed to work. I saw little trash and no flashes. The seating areas were lit with monochromatic yellow light that penguins cannot see. Humans found it comfortable, if a bit dim and odd in a way hard to explain. Penguins see only in the blue portion of the spectrum, so the yellow lights do not bother them.

The penguins come ashore after one or two days' hunting for juvenile fish and squid. They come ashore carefully after sunset. A few will surf ashore, and scuttle back to the sea at the first sign of trouble. A larger group will eventually gather near shore and make a break for land in a grouping aptly called a raft.

They really are small. An adult is about 33 centimeters (thirteen inches) tall and weighs just a kilogram.

They scramble over the seaweed, walk and hop up the sand dunes and head straight for their burrows. The burrows themselves are dug in firm sand, or in this area, some are in man-made boxes to encourage population growth. Penguins can live long lives and may change partners several times, but like to return to the same burrow if they can. The oldest penguin studied is over twenty years. That is quite an accomplishment given the average life span of six and a half years!

December is breeding season. We saw one mating pair and heard others. Coos of little chicks erupted as one parent returned from fishing to regurgitate food to them. Parents take turns feeding and protecting chicks until they are old enough to grow their own waterproof adult feathers and hunt for themselves. Babies have a short 35 day gestation and undergo very rapid growth. After only six weeks, the young can hunt in the open ocean. The young, full of energy, can go as far as Adelaide on their early trips! The average is more like 10-15 km in a day, but some penguins from this colony have been found as far away as Sydney.

Most will fish for a day and return, some may stay out for up to five days.
They hunt alone when in the open ocean. They must return to the colony to preen their feathers (and get them preened), socialize, mate, lay eggs, care for young. All of their eating is done at sea; they eat nothing on land.

Little penguins can dive as deep as 65 meters, as determined by depth gauges strapped to a few by the researchers. Average depth of a dive is about 10-15 meters, but diving depths have recently increased due to a virus is one of their main food sources. They breathe air, and so have to return to the surface after each dive. Dives can last as long as a couple of minutes, but average around 40 seconds.

These penguins, like most birds, have eyes on the sides of their heads. This is a common trait of land-based prey animals, but these little guys are hunters. They are also prey. They are vulnerable at sea to sharks, tiger seals and some seabirds, and on land to falcons and mammals such as foxes, dogs, cats. Seagulls won't eat them but, as scavengers, will sometimes attack them to make them vomit their food.

Phillip Island provides an opportunity for the general public to participate live in one of nature's dramatic events, close to a major city. Yet the experience is safe for the penguins, too. The experience is eco-tourism done right. One can see the full panoply of a species living, growing, feeding, breeding, surviving predation just as if David Atenborough were there narrating and yet they are safe and uneffected by our presence. The organization of the facility and constant watch by the rangers allow the species to thrive in spite of us. That is a beautiful thing. I highly recommend that anyone who can see the little penguins of Phillip Island, especially since all proceeds go to the operation of the not-for-profit foundation and its research program.

Friday, December 08, 2006

OSDC 2006, Melbourne Australia

Day 1



I attended this year's Open Source Developers Conference in Melbourne, Australia, from 6-8 December 2006, after a week in Brisbane at The University of Queensland to research and use the library.

The fabulous exhibition of aerial photos by artist Yann Arthus-Bertrand was in Melbourne and set up by the Yarra River near the centrally located Flinders Street Station. The Internet version is good and I recommend viewing it, but it doesn't compare with interacting with a live crowd. I had the good fortune to see this exhibit a couple of years ago while in Bristol, England.

Randal Swartz gave the first keynote. He presented a tried and true talk regarding his position on Open Source licenses. He is a BSD/Artistic adherent, compared with Richard Stallman's insistence on the GPL. Randal and I discussed this in some detail after dinner and he saw my point regarding the desire to keep free code free - while being pragmatic about the need to license looser than the GPL to encourage use. In return, I freely acknowledge his point that very unrestrictive licenses encourage the wider use of Open Source software. It was a pleasure to discuss this with someone who both knew the licenses and could have a discussion about it without getting religious and emotional.

On the other hand, Randal did get emotional when I asked him about Perl 6 and Parrot ;) He made the fine point that Perl 6 will continue to scare him until a real release date becomes guessable. He needs to prepare training material (and pay for it) in advance, and that makes it a big deal for him.

My talk on RESTful Software Development and Maintenance went quite well and I was pleased to see that people were interested. It was a bit risky discussing pure future-oriented research at a (pragmatic) Open Source conference, but I'm glad I did it. Lots of interesting discussions ensued, fostered by breaking the mould a bit. I changed the talk at the last minute to include an longer introduction on why software maintenance is so hard, primarily to see whether it resonated with people. It did, and I plan to blog a bit of it as I get my head around it better.

Dr. Damian Conway presented his amazingly cool The Da Vinci Codebase (see the O'Reilly page on this here). If you get the chance, it is not to be missed.

Paul Fenwick of Perl Training Australia provided some entertainment on the train ride back to Flinders Station by showing the World of Warcraft version of the song The Internet is for Porn on his laptop at the highest volume. Reactions from other passengers were, umm, mixed. Several (male) commuters watched avidly while a group of Sikhs went stoic. Paul's girlfriend put up with it, while suggesting headphones occasionally.

Day 2



The second day of the conference was not tailored directly to my interests, but I took the opportunity to learn about other areas. The recent advances on Python's ctypes library are very useful and will, upon release, allow python programmers to have wonderfully powerful access to OS and hardware. I also learned a bit about the Mono project, the Boo scripting language for Microsoft CLI/Mono and attended a cool talk on the Australian Synchrotron and its use of Open Source software. It is worth noting that the control systems engineer from the synchrotron had no idea what licenses his free software was under because he was "not interested in I.P." I consider that sort of attitude dangerous to the entire Open Source software movement. Very little software is actually in the public domain due to implicit copyright rules, so licenses are the only protection for Open Source users and developers alike.

The highlights of the day were the incredibly high quality lightening talks. These included an understandable five-minute description of the RSA algorithm, a quick-and-dirty Catalyst application and some useful discussion on community building.

Andrae Muys gave a five-minute lightening talk on Mulgara. He presented (in five minutes!) his theory that RDF data stores exactly match the relational fifth-normal form, where each table contains exactly one data element and some number of foreign keys. He used C.J. Date's classic parts-suppliers database description and extended it with optional data. It was a good explanation of Mulgara's sweet spot.

At night, Andrae and I went to a funky little bar off of Little Lonsdale Street called the Horse Bazaar. The walls were covered with moving projections of city scenes and a live band played rapid Gypsy music. We were supposed to meet Randal and crew, but they never showed.

Day 3



Scott Penrose gave a keynote on his project Zaltana. Zaltana uses HTML tag attributes as hints for styling, including Javascript behavior. I haven't looked at it in detail yet, but it appears to be a similar idea to Behavior. Behavior uses CSS class attributes instead of namespace-id'd special attributes. Zaltana's goal is to wrap existing content with minimal effort with a new or custom style. I was more interested in it until I realized that the existing application has to be directly modified - I was hoping that some form of dynamic filter or preprocessing script could be used to map CSS class attributes to actions, but no.

Miles Byrne spoke on Programs are just words: Designing domain-specific languages in Ruby. I like Ruby, even though I have only coded a couple of toy applications in it so far. Miles gets the award for the best cat pictures in the conference. He gave an overview of the Ruby language, and then pushed on to many, many examples of dynamic languages written in Ruby. He showed examples for HTML parsing, Rake, ActiveRecord and several others.

Simon Raik-Allen presented on JasperReports (see the Sourceforge project for downloads). JasperReports is a Java library for generating nicely formatted SQL reports. It is LGPL licensed.

JasperReports has some commercial add-ons from JasperSoft, the initial developer. JasperSoft is busy creating an enhanced infrastructure layer focusing on the semantics. Given that they already have OLAP support and industry-sufficient GUIs and query- and report-building tools, the semantic mappings are about all that is left. I wouldn't want to be working on Crystal Reports this year and wonder how threatening this will be to data integration companies like Experian, Nimaya and Data Infinity.

Distributed Development



Martin Pool and Robert Collins reported on the Bazaar distributed version control system that does not have a centralized repository (GPL license). They have some very radical, but potentially useful, ideas. For example, they prefer to encourage many, many branches - even a branch per bug fix/feature addition. Merges to the mainline are also done early and often and become the equivalent to an update. They thus have some tools, such as reports, to manage and view the status of all those branches, not all of which have been released as OSS yet (although at least one is available as a free service on LaunchPad). Bazaar is for use specifically by distributed development teams and is used by Ubuntu Linux, a sizable project. That makes it particularly interesting to me since I am working on software maintenance for large and distributed teams.

Martin noted that an anti-pattern has developed in Bazaar use; some developers tend to put all of their work in their own branch instead of one branch per feature. Robert also gave a number of good reasons for having a main line, or trunk.

The fear of forking is often thrown up as a reason not to do version control the Bazaar way. Martin and Robert suggest that good distributed version control also makes potential reintegration easier.

Merging (especially often) can have some pitfalls. Adam Kennedy asked particularly about code conflicts. He wanted to know in advance of a merge whether a merge would be clean. Martin said that they are thinking about this, but the solution for the moment is to just ensure that the main line is always clean.

Andrew Bennetts carried on this theme after lunch. He talked about using Bazaar and Patch Queue Manager to ensure that tests always pass on the main line. The only way to ensure the main line is safe, of course, is to also use Patch Queue Manager (or some similar systems) to manage dependencies.

Andrew suggested that code reviews are more important for distributed teams than for teams who can informally and routinely overhear each others' conversations. This is an interesting thought because it begins to sound like a methodological requirement for larger OSS systems (that have historically not operated that way, possibly due to size). VOIP is also making distributed pair programming more affordable, especially for OSS projects.

The lightening talks were awesome, again. I am suddenly thinking about a conference format that starts with a series of lightening talks so that individuals can have a basis for choosing which sessions to attend.

Richard Jones showed the Selenium IDE, a test suite IDE for Firefox. Selenium tests themselves are cross-browser. There are heaps of (poorly implemented) test suites for browsers, but this one seems worth a look. It is also OSS under an Apache 2.0 license. The addition of an OSS IDE to this market makes it very easy to construct tests.

A talk was given on SELinux, when what I really needed was a talk on chcon :)

A wild talk was from a guy who implemented Lisp without (most) parentheses. It was actually readable! Kinda cool...

Jon Oxer proposed a really simple, but complete, language he called OSDcLang (actually yesterday). Today, Paul Fenwick introduced the ACME::OSDC perl module to compile it. Scary. Cool, but scary.

There were too many lightening talks to really capture. One guy proposed that OSS apps have source code inspection/editing access in the GUIs. Another introduced a perl module he just wrote and uploaded to simplify for/else syntax.

Andrae and I had a discussion with Adam Kennedy regarding spam prevention. I won't steal his thunder, but I am going to introduce him to friends at Yahoo! who are constantly looking for better anti-spam techniques. Adam is great at solving general problems and categorizes well between people and automation. I have some hopes for this one. I thought I had a solution last week, but it was shot down upon more detailed review.

I learned a lot about Perl internals after dinner by listening to Randal, Adam, Paul, Andrae and some others discussing Adam's attempt to make a perl parser. It turns out that nothing, not even perl, parses perl. There is no grammer, and there are places in the code where perl actually makes probabilistic guesses about how a token should be interpreted based on following information. Throw in dynamic language extensions and you start to see where this is going. Adam was trying to parse perl entirely in order to provide an API for editors to use. He still has some hope, but I was surprised at how hard it was.

Overall, it was a great conference. I look forward to coming next year, hopefully to Hobart, Tasmania.

Sunday, November 26, 2006

Requiem for a Lost Soul

My brother, you had it all.
You were so smart, so strong, so handsome.
You took our father's name and made me jealous.

My brother, your skills stunned us.
You were a wonderful musician,
a skilled linguist, a clear thinker, a nice man.

My brother, why did you not see your own worth?
Why did you need others to validate you?
Why did you need others to force you to lead?

My brother, you loved and were loved
and yet it was not enough to save you.
Your poison of choice was too strong.

My brother, now you are dead
and the world is a happier place for it.
Not one of us anticipated that.

Monday, November 13, 2006

Sun Makes a Really Great Mess

In a shock move, Sun Microsystems, every geek's favorite non-profit corporation, released Java ME and SE today under - get this - the GNU General Public License version 2.

Do they have any idea what they did to the industry? I don't think so. Sun seems to be claiming that Java programs which run on a GPL'd Java Virtual Machine are not "derivative works" of the Java language.

A derivative work in the GPL is defined as it is under copyright law, namely, "a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language."

The question is whether a Java program will be considered a derivative work of Java (such as when you extend Java.lang.Object or use reflection) by any court, anywhere, under any nation's copyright law. That it will happen somewhere seems likely to me and incredibly dangerous to the Java industry.

Why is this such a problem? Because the GPL says, "But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it." This is the "viral nature" of the GPL and the heart of the debate that will dominate the blogosphere and the industry news media for the immediate future.

I think Sun has just let a very powerful Pandora out of the box.

Thursday, November 09, 2006

International Semantic Web Conference (ISWC) 2006 DAY 3

Thursday, 9 November 2006

I attended the track this morning on Applications of SW Technologies with Lessons Learned, including these papers:

Crawling and Indexing Semantic Web Data (Andreas Harth, Juergen Umbrich, Stefan Decker),
Using Ontologies for Extracting Product Features from Web Pages (Wolfgang Holzinger, Bernhard Kruepl, Marcus Herzog) and Characterizing the Semantic Web on the Web (Li Ding, Tim Finin).

I asked Andraes Harth and Li Dong (Swoogle) about indexing RDFa content and confirmed my opinion regarding its difficulty. Neither project currently indexes RDFa documents for the simple reason that they have no way to identify RDFa content without parsing every XHTML document they come across. The cost of doing that is too high.

I spoke with DanC and Ivan Herman about this at some length, but nobody seems to know what to do about it. Do you add an in-document identifier for RDFa content? If so, you lose a critical RDFa feature: the ability to cut-and-paste sections of content without losing machine readability. Do you just point to RDFa compatible documents from other documents in such a way that search engines get the hint they need? Swoogle would be fine with that, but it doesn't address how RDFa documents are consumed in a browser by the general public. Perhaps the answer is, as Steve Harris would have it, that your browser should just parse a document locally to see if it contains any triples of interest to you. It doesn't address global searching, but many people seem willing to cede that to those willing to parse the documents, like Google.

The W3C's RDF-in-XHTML Task Force, which has recently moved to the Semantic Web Deployment Working Group, has discussed this at length and not come up with an answer. I don't have one myself.

Wednesday, November 08, 2006

International Semantic Web Conference (ISWC) 2006 DAY 2

Wednesday, 8 November 2006

Susie Stephens of Oracle presented her Industry Track paper Integrating Enterprise Data with Semantic Technologies. Oracle 10g Release 2 embeds a SPARQL-like graph pattern into SQL (that is industry speak for "We don't support SPARQL, but please don't penalize us for it"). There is apparently no funded project within Oracle to support SPARQL. A forward chaining rules engine, equivalent to Mulgara's Krule, support RDFS and user-defined rules.

She said that Oracle has put up to 1 billion RDF statements into Oracle. That tells me that we had better get onto funding Mulgara's XA2 next-generation data store in order to stay relevant in terms of scaling. However, she only showed numbers for query speeds up to 80 million triples.

Oracle's advantage is building on their mature database, which allows them access to existing features, such as encryption or scaling or clustering. A nice example of combining previous and new features was shown which combined a multimedia search with a term equivalence being given in RDF. Thus, a search for X-rays of "jaw" could pick up those tagged with the term "mandible".

Oracle 11g will support some level of OWL, reportedly something "similar" to OWL Lite but modified to reduce the ability to perform computationally intensive searches.

Oracle seems to have made it easy to get started with Semantic Web technologies. That is a good and positive thing for everyone in the industry. Her comments regarding modifications to the existing URI-based identifiers to allow use of existing unique identification schemes concerned me, though. Semantic Web technologies without URIs would be a huge step backward, even taking into account the obvious short term gains. Better to facilitate the mapping of existing identifiers to URIs.

Susie also mentioned that webMethods has announced RDF and OWL support in the new version of Fabric. Indeed, this press release from webMethods says that Fabric uses RDF and OWL. Specifically, "the library automatically learns dependencies and relationships between IT assets."

Explaining Conclusions from Diverse Knowledge Sources (J William Murdock, Deborah McGuinness, Paulo Pinheiro da Silva, Chris Welty, David Ferrucci). Their Open Source framework, Unstructured Information Management Architecture in Java, seems worth a look. The goal is to produce good search results when dealing with a mixture of structured and unstructured content. The example in the talk involved some textual data extraction coupled with some theorem proving.

There was an active Semantic Web Services track at the conference. This is hardly surprising, since UDDI is so badly broken and Web Services are left without a reasonable way to perform composition and discovery. Yet Semantic Web Services still seem to be mired in academia. Perhaps the industry will start to see the light if Oracle and webMethods successfully deploy useful semantic tools to the community.

A Software Engineering Approach to Design and Development of Semantic Web Service Applications (Marco Brambilla, Irene Celino, Stefano Ceri, Dario Cerizza, Emanuele Della Valle, Federico Michele Facca) described a top-down approach toward annotating Semantic Web Services using a Spiral development model. This was the first time I have seen anyone actually use WebML. I am going to have to look at that, especially since there is a tool which implements it. They also used WSML. The link provides an interesting summary of Web rules languages.

RS2D: Fast Adaptive Search for Semantic Web Services in Unstructured P2P Networks (Matthias Klusch, Ulrich Basters) presented a model for Open World searching of semantic services. They introduced concepts like Semantic Gain, Semantic Loss and a Baysian-derived risk factor to judge the likelihood that peers would have something to add to an answer. The idea is to use machine learning to reduce gratuitous network communication when querying Semantic Web Services. The algorithm works well for unstructured, peer-to-peer networks without a single authoritative source for information. This was also a best paper nominee.

Web 2.0 panel: Tom Gruber of realtravel identified "Collective Intelligence" as the critical feature of Web 2.0 and the area where the Semantic Web can provide the most value. Truth and semistructured queries are the critical components. "Don't ask what the Web knows, ask what the World knows", by which he means, "ask what people know."

The problem with SemWeb apps seems to me to be that they are almost all closed world. We need some large-scale, open world applications. Simile or Tabulator are the closest I have seen and incredibly cool, but they are far from mainstream. We need to encourage the development of more SemWeb apps which pull data from the Web and publish data back to the Web. I have been as guilty as anyone else on this, but I promise to try to get better.

Tom Gruber suggests that any app to address this problem should explicitly allow others to mash up on top of it. That is an excellent point.

Patrick Stickler of Nokia and Marja-Riitta Koivunen of Annotea and I discussed the state of SPARQL at dinner. The lack of a simple syntactical means of performing negation is a real problem. Perhaps we can fix that before SPARQL becomes a W3C Recommendation. Perhaps too I should recover my notes on Mulgara/Kowari/TKS's EXCLUDE operator and it's relation to Jena's NOT. We don't need an RDF query language standard that is hard to use, hard to implement and has two different types of null...

International Semantic Web Conference (ISWC) 2006 DAY 1

Tuesday, 7 November 2006

The first day of ISWC was intensely busy for me. I was only able to attend a single session due to the number of people I spoke with.

I had a lengthy and interesting conversation with Harry Halpin, co-chair of the W3C's GRDDL Working Group, regarding RDFA and GRDDL. I found myself representing RDFA, which I did to the best of my ability. Fortunately, I was able to recall the critical use case for RDFA over GRDDL; the requirement to support a cut-and-paste of a block of XHTML without losing information on how that block should be interpreted. We discussed at length RDFA's potential show stopper - the lack of explicit identification of RDFA content. That prohibits searching for documents which support RDFA and leaves open the question of whether one may rely on RDFA extraction from documents where there is no a priori knowledge that a source document complied with RDFA markup. I suggest that will kill RDFA in practice unless it is addressed.

Harry cheered Eric Miller's push for a "persistent URI" service for RDF identifiers, similar to the persistent URL service operated by OCLC at purl.org.

Harry and I were tutored by IBM's Chris Welty on the difference between RDF:Resource and OWL:Thing. I can never remember the difference. RDF:Resource includes its own language-specific features, OWL:Thing does not (in OWL DL), but they are the same in OWL Full. Thanks, Chris!

Chris has made a tremendous amount of progress as co-chair of the W3C's Rules Interchange Format (RIF) Working Group. The group has reportedly agreed that they will, in fact, produce a rules interchange format (hey, that was hard!), that they will define a core feature set based on positive Horne and that they will support an arbitrary number of non-Horne extensions via an extension mechanism. That level of early structure should allow the group to proceed without the factionalization that dogged the WebOnt group (producers of the OWL standards).

Years into Semantic Web development, we still need a coordinated location for good ontologies. Harry spoke to the guy who runs http://semanticweb.org/ about hosting mappings between Web 2.0 vocabularies and RDF and ontologies. The response was positive, but it still needs to happen. Unfortunately, I did not get his name.

Apparently there is still a need for a good geospatial ontology, even for simple agreed concepts like latitude and longitude. This has been a problem for years, especially within government circles and supporting organizations such as MITRE. Harry pointed me toward Harry Chen's blog entries here.

Harry and Norm Walsh have been working on an isomorphic mapping between vcard and RDF. Details are available on Norm's blog, although Harry told me there is a newer version which he promised to send me. This is a useful thing, especially as it makes use of some FOAF to make the mapping clean.

Steve Harris, of OWL Tiny fame, is now at UK identity protection startup Garlik. Garlik is currently operating in the UK only, but they are planning a US market entry next year. They ask their customers for personal information used to identify them to their banks and watch public and subscription databases to determine if others are using their identity. Naturally, this is done via an RDF graph. There certainly is a need for some kind of identity protection service in the US. USA Today ("McPaper") reported today that 8.9 million Americans (4% of the population) lose their identity each year and that is costs them an average of US$6,383.

I finally met Chimezie Ogbuji, now at Cleveland Clinic and formerly of ForeThought. He worked on the ForeSuite CMS, which uses RDF and XML databases to manage content. Interestingly, Chimezie is a fan of Daniel Krech. ForeSuite uses Daniel's rdflib! It is also using a GRDDL-like transform between XML documents to generate the RDF.

David Taowei Wang did a good job presenting A Survey of the Web Ontology Landscape (Taowei Wang, Bijan Parsia, Jim Hendler). Bijan now has a huge unkempt beard and a nineteenth century waxed mustache. He appears to be enjoying teaching at Manchester.

The most interesting paper I have seen in a while was Semantics and Complexity of SPARQL (Jorge A. Perez, Marcelo Arenas, Claudio Gutierrez). It is up for a best paper award and probably deserves it. It is great to see someone, even if not the W3C, providing a model theoretic for SPARQL. Unfortunately, the work does not yet cover entailments or bnodes, which are outstanding issues at the W3C.

I missed seeing OntoWiki - A Tool for Social, Semantic Collaboration (Sören Auer,Thomas Riechert, Sebastian Dietzold) because I was talking to Guus Schreiber, Chris Welty, Ivan Herman and Harry Halpin (again). I'll have to read it in the proceedings, though, because it looks interesting.


The poster session was well attended. Six posters from MINDSWAP were accepted, including the Semantic Web challenge entry. Unfortunately, three of them were down a long corridor in the lunch room and received very few visitors :( I was fortunate to get an excellent location with plenty of traffic and little noise from the band.

My poster, Enhancing Software Maintenance by using Semantic Web Techniques, reported on some research in progress. My purpose in submitting it to ISWC was to get initial responses to the research direction and gather some ideas for next steps. I was pleasantly surprised to receive some very positive feedback. There was a lot of interest from software engineers, especially those from the more pragmatic people, such as those from IBM, Accenture and SRI International. Software maintenance costs money and that makes a market.

There were several comments regarding the depth of my use of OWL-DL. I had created an ontology of software engineering concepts which was focused on Java for the prototype implementation. I had used OWL-DL in order to use SWOOP to ensure logical consistency. A good next step would be to represent the high-level constructs of other languages so that multi-language projects could be managed in the environment. This is necessary because different languages treat even basic concepts differently, such as the separation of abstract classes from interfaces or the existence of unimplemented method signatures. An OWL-DL ontology could readily map the like and disjoint components in the various languages and be used to infer inheritance relationships.

Dr. Kerry Taylor from CSIRO in Canberra stopped by. She knows my advisor Dave Carrington at UQ and was surprised to see him involved in SemWeb work. She confirmed the earlier comments regarding inferencing across language differences.

I must see similar project called FAMIX. FAMIX provides "a language-independent representation of object-oriented source code and is used ... as a basis for exchanging information about object-oriented software systems." Avi Bernstein of the University of Zurich told me about it and recommended that I discuss it with his collaborator, Harald Gall. This is what conferences are for.

Monday, November 06, 2006

2006 Survey on Software Engineering Practices Closed

The 2006 Survey on Software Engineering Practices is now closed. 448 software engineers from 52 countries participated! Thanks very much to all who helped. I will post summary data from the survey as soon as I can.

Friday, November 03, 2006

Getting the World to Listen

Today's news was chock full of articles about a researcher in Canada and his colleagues in the UK and Germany who concluded the world's oceans would be fished out by 2048. What news! A little digging showed that the original article in the journal Science came out in August of 2005 - a year and a quarter ago. Why the wait until the world noticed?

It turns out that Drs. Boris Worm and Ransom Myers of Dalhousie University's Department of Biology got tired of nobody listening to their research on the loss of biodiversity in the world's oceans. They took matters into their own hands and made it easy for reporters to break the story. They prepared press releases and did most of the work for the reporters. The result was that the research was finally picked up by the Associated Press and syndicated widely.

Today, Google news reported 570 articles (!) telling the story.

It seems sad that researchers have to become experts on both science and marketing to get their message out, but there it is.