January 28, 2005

Barry Briggs:

Here's a provocative statement: every business document is an artifact of a business process -- but we have yet to build a product that treats them that way.
Sounds absolutely right. Read his intro article Decade Of Process too.

(This document is a projection of my "catch up while waiting for telephone call" process)

(, , )

January 26, 2005


This also is what the Internet is for. Twenty minutes of Seymour Hersh speaking about the state of the world. Make of it what you will.

(, )


Via Wikipedia:Unusual articles, the apparently serious, and bizarrely compelling, suggestion that the apparent lack of action between Alfred's burnt cakes and Cnut's "thus far but no further" has a simple explanation: the Early Middle Ages did not exist (PDF).

Between Antiquity (1 AD) and the Renaissance (1500 AD) historians count approximately 300 years too many in their chronology. In other words: the Roman emperor Augustus really lived 1700 years ago instead of the conventionally assumed 2000 years.
This seems to be what the Internet is for.

(, )


(pronounced: "see-Omega") is a really interesting (experimental) programming language from Microsoft's research labs. It tries to do three-and-a-half things, and at first glance succeeds quite nicely at three of them. (The leftover half-a-thing, SQL, is just not worth it anyway).

The three things, then:

  • XML as a first-class language element. XML literals, and by implication native XML-like structures;
  • XPath- and XQuery-like capability, using the sort of functional-programming idioms which Lisp or Haskell weenies dream about: lazy evaluation and mapping across "streams", aka generators;
  • A very natural-looking approach to concurrent programming (which Really Is the next big thing).

The concurrency intro is worth quoting verbatim:

In Cω, methods can be defined as either synchronous or asynchronous. When a synchronous method is called, the caller is blocked until the method returns, as is normal in C#. However, when an asynchronous method is called, there is no result and the caller proceeds immediately without being blocked. Thus from the caller's point of view, an asynchronous method is like a void one, but with the useful extra guarantee of returning immediately. We often refer to asynchronous methods as messages, as they are a one-way communication from caller to receiver (think of posting a letter rather as opposed to asking a question and waiting for an answer during a face-to-face conversation).

By themselves, asynchronous method declarations are not particularly novel. Indeed, .NET already has a widely-used set of library classes which allow any method to be invoked asynchronously (though note that in this standard pattern it is the caller who decides to invoke a method asynchronously, whereas in Cω it is the callee (defining) side which declares a particular method to be
asynchronous). The significant innovation in Cω is the way in which method bodies are defined.

In most languages, including C#, methods in the signature of a class are in bijective correspondence with the code of their implementations -- for each method which is declared, there is a single, distinct definition of what happens when that method is called. In Cω, however, a body may be associated with a set of (synchronous and/or asynchronous) methods. We call such a definition a chord, and a particular method may appear in the header of several chords. The body of a chord can only execute once all the methods in its header have been called.

(, , )


Stuart Henshall suggests: "Run a second Skype line so your friends can hear what's playing on your iPod, even when you aren't home". And much more. "Music over VoIP wasn't supposed to be a big deal..."

(, , )

January 24, 2005


With all the fuss about tags recently, Clay Shirky has a rough-and-ready but very spiky post on the 'Many-To-Many' blog which nicely summarizes why tags are important.

The reason ontology has been even a moderately good idea for the last few hundred years is that the physical fact of books forces you to predict the future. You have to put a book somewhere when you get it, and as you get more books, you can neither reshelve constantly, nor buy enough copies of any given book to file it on all dimensions you might want to search for it on later.

Ontology is a good way to organize objects, in other words, but it is a terrible way to organize ideas...

(, , )

January 22, 2005

Groove 7 Minute Webcast

New on the Groove site:

Part 1 - Managing Consulting Engagements

Featuring: IT Consultant Express Computer

Could your practice benefit from 2 hours of additional billing time per associate per day?

Then you'll want to tune in now and hear what Darren Layton, President of IT consultancy Express Computer, has to say. Darren shares some practical tips on how they've increased billings, improved responsiveness to
client issues and streamlined project management using Groove.

Looks good.


Fred Clark:

There's a good bit more to Leviticus 25 that's worth remembering:

"If one of your countrymen becomes poor and is unable to support himself among you, help him as you would an alien or a temporary resident, so he can continue to live among you. Do not take interest of any kind from him, but fear your God, so that your countryman may continue to live among you. You must not lend him money at interest or sell him food at a profit."

That passage, from verses 35-36, is not inscribed on any famous bells, so it's not likely to be recited during any presidential speeches.

January 20, 2005


Via Tim Bray: the riotous (or should that be "rts") Wikipedia entry for the Heavy Metal Umlaut.

January 05, 2005


Matt Webb is having fun. Wow. If you click one link today, click this one.

Real News in RSS

Some notes on how to find "real news" -- by which I mean newspaper/newswire material rather than weblog commentary -- and consume it with RSS. An aide-memoire.

I don't deal with "what" or the "why" of RSS here. (Also I don't care what newsreader you use).

I've probably missed some very major sources here. If so, call me, please!

Newspapers, radio, etc

Most of the big mainstream media outlets roll their own RSS feeds. Most of these are simply organized by category, and don't allow you to produce a feed of "search results within Business News", for example.

NYT. Guardian. BBC. CNN. NPR.

If you can't find RSS feeds for your newspaper/etc, try searching for them at Syndic8 - a very big catalog; at BlogLines - a catalog of all the feeds bloglines users subscribe to, which is just about everything on the planet; or maybe at Technorati, which is a weblog/feed tracker.

Local and Specialist sources

If you have a local/regional newspaper without a feed, it'll be worth calling their IT guys and ask them very nicely to set up an RSS feed. It's easy, but usually best done by the IT department's perl hacker, rather than by the editorial people. Then you can also ask for a keyword search feature...!

Many of the best specialist sources (Alertnet, for example) don't produce RSS at all. Again, it's worth asking them to. Alertnet is big enough to be syndicated various places, though, as we'll see.

If you're completely out of luck, it's sometimes possible to hire someone to write a "scraper": a small Web program which reads a site's HTML and produces rough-and-ready RSS from it. Check the howto docs at syndic8 for some pointers.

Keyword Search

Yahoo News is the place to go. Start at their Advanced News Search page. Enter your keywords/conditions, and press the search button. On the right-hand side of the results page you'll see an orange button: View as RSS: . Click that button, to bring a page of RSS into your browser window. Copy the URL of this page, and subscribe to it.

I haven't tried Yahoo's language-specific search. I tried selecting specific categories, and it seemed to be OK, but I suspect you might be better to refine the search terms than to restrict to particular categories. Try both, and see.

Google News has keyword search, and vast amounts of news, but no RSS. Here's an experimental scraper. Results are mixed. If you use a too-generic search, you'll likely find many many versions of exactly the same news item - from all the local newspapers across America who republish the AP wire. But a search which includes a source-specific keyword (tsunami alertnet), or exclusions (tsunami -"press release"), can work really well.

MSN Search, in Beta, I haven't tried it.


Often, you can find a good weblog you're specifically interested in. Example: http://bdheart.blogspot.com/. Finding them might be harder; use word-of-mouth, or the weblog search engines.

Feedster, Blogdigger and Technorati not only search lots of weblogs, they also produce search results as an RSS feed. The search at Bloglines is good. PubSub should also work for this, but hasn't come through for me yet.

Serendipity Engines

Try http://flickr.com/photos/tags/....someword... or http://del.icio.us/tag/...someword.... You might get lucky.

Commerical News Providers

Finally, there are dozens of good news providers who'll take your money and deliver you news. I've dealt with Moreover and Factiva before; they have content, and moreover produce good RSS.