<?xml version="1.0" encoding="us-ascii"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Jon's Radio</title>
<description>Jon Udell's Radio Blog</description>
<language>en-us</language>
<link>http://weblog.infoworld.com/udell/</link>
<title>
Jon's Radio (full-length descriptions)
</title>
<item>
<dc:date>2005-01-27T11:07:08-05:00</dc:date>
<link>http://weblog.infoworld.com/udell/2005/01/27.html#a1159</link>
<title>Nic Harcourt and Elvis Costello contemplate the last flick of the dinosaur's tail</title>
<description>&lt;p&gt;
Along with driving, hiking, and jogging, snow shoveling is an activity that benefits from time-shifted audio content. Here in New England we've had plenty of opportunities lately to indulge in that least favorite of winter sports. A couple of storms ago I had a chance to catch up with &lt;a href="http://weblog.infoworld.com/udell/2005/01/07.html"&gt;Kent Beck's excellent keynote&lt;/a&gt; at the Developer Testing Forum. Yesterday I wasn't planning to absorb ideas, just music. But my selection -- this week's &lt;a href="http://www.soundseclectic.com/"&gt;Sounds Eclectic&lt;/a&gt; from KCRW's Nic Harcourt -- brought ideas to my headphones as well as Elvis Costello's hour-long studio performance. 
&lt;/p&gt;
&lt;p&gt;
This was a departure from the usual format. Normally the studio performances run only about twenty minutes, interrupted by a short interview with the band that, to be honest, I usually skip. But this week Harcourt and Costello let their hair down, talking at length and with complete candor about the new realities of the music business. "It's over, it's done," Costello says at one point. "We're seeing the last flicking of the dinosaur's tail."
&lt;/p&gt;
&lt;p&gt;
The conversation wasn't just about the technology and culture of remixing. It wandered around a lot. Ironically and appropriately, remixing is what enables me to focus on that theme in the conversation and share it with you. Here's a &lt;a href="http://weblog.infoworld.com/udell/gems/nicElvis.m3u"&gt;Real playlist&lt;/a&gt; that splices five segments into a 4.5-minute collage. And here's an &lt;a href="http://weblog.infoworld.com/udell/gems/ju-nicElvis.mp3"&gt;MP3 version&lt;/a&gt; of the same thing. 
&lt;/p&gt;
&lt;p&gt;
Let's take a look at that playlist file:
&lt;pre&gt;
rtsp://go.rbn.com/ ... sc050123Elvis_Costello__The_.rm?start=24:26&amp;amp;end=24:35
rtsp://go.rbn.com/ ... sc050123Elvis_Costello__The_.rm?start=21:45&amp;amp;end=22:21
rtsp://go.rbn.com/ ... sc050123Elvis_Costello__The_.rm?start=30:14&amp;amp;end=31:46
rtsp://go.rbn.com/ ... sc050123Elvis_Costello__The_.rm?start=32:48&amp;amp;end=33:47
rtsp://go.rbn.com/ ... sc050123Elvis_Costello__The_.rm?start=40:37&amp;amp;end=41:51
&lt;/pre&gt;
It's just a list of URLs. The only tricky thing here -- and it certainly is an obstacle that needs to be overcome -- is the ease with which the &lt;a href="http://www.oreillynet.com/pub/a/network/2005/01/07/primetime.html"&gt;ins and outs&lt;/a&gt; can be specified. 
&lt;/p&gt;
&lt;p&gt;
My shareable remixed version of the conversation is just another URL:
&lt;pre&gt;
http://weblog.infoworld.com/udell/gems/nicElvis.m3u
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
It's amazing that this is possible. It's even more amazing that, although a streaming server facilitates this kind of in-situ editing, you can do the same thing with &lt;a href="http://www.oreillynet.com/pub/a/network/2004/09/03/primetime.html"&gt;static content&lt;/a&gt;. As more and more interviews and conference sessions produce online audio content, remixing will help us compress time and focus attention.
&lt;/p&gt;
</description>
<enclosure url="http://weblog.infoworld.com/udell/gems/ju-nicElvis.mp3" length="4405462" type="audio/mpeg" />
</item>
<item>
<dc:date>2005-01-26T12:50:37-05:00</dc:date>
<link>http://weblog.infoworld.com/udell/2005/01/26.html#a1158</link>
<title>Blogosphere subscription trends</title>
<description>&lt;p&gt;
We've all seen the hockey-stick curve that shows the blogosphere growing like gangbusters. But I haven't seen much on subscription trends, so I took a look at the public information available in &lt;a href="http://www.bloglines.com"&gt;Bloglines&lt;/a&gt;. For a given feed you can ask Bloglines to show not just the count of subscribers, but also -- for the "public" subscribers who allow this information to be shown -- their usernames and the dates when they began subscribing. 
&lt;/p&gt;
&lt;p&gt;
Bloglines doesn't offer an API for this kind of data mining. So I used a small Python script to fetch &lt;a href="http://www.bloglines.com/userdir?siteid=48496"&gt;subscriber&lt;/a&gt; &lt;a href="http://www.bloglines.com/userdir?siteid=4386"&gt;histories&lt;/a&gt; for a selection of tech blogs that I read, and render them as XML. From there, I used Excel 2003 to massage the XML data into tables and charts. Here's one view of the results:
&lt;/p&gt;
&lt;p&gt;
&lt;a target="_chart1" title="click to enlarge" href="http://weblog.infoworld.com/udell/gems/blsubs01.jpg"&gt;&lt;img width="500" src="http://weblog.infoworld.com/udell/gems/blsubs01.jpg"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
And here's another:
&lt;/p&gt;
&lt;p&gt;
&lt;a target="_chart2" title="click to enlarge" href="http://weblog.infoworld.com/udell/gems/blsubs02.jpg"&gt;&lt;img width="500" src="http://weblog.infoworld.com/udell/gems/blsubs02.jpg"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I'm really not sure how to interpret these. The first chart, for example, suggests that while growth is constant -- that is, everyone adds subscribers every month -- the rate of growth varies episodically. It rises steadily through last spring, falls off through June, rises again through September, and falls off again to the present. Is this a Bloglines artifact? How much of this is variation in the rate at which subscribers are switching from other feedreaders, and how much is real growth? Maybe the &lt;a href="http://www.burningdoor.com/feedburner/"&gt;Feedburner folks&lt;/a&gt; can help shed some light on these questions.
&lt;/p&gt;
&lt;p&gt;
In case it's not just an artifact, though, here's something to ponder. The first chart is dominated by the seven blogs that added the most subs in December, the last month for which there's complete data. But if you look at the remaining fourteen you can see a leveling or slight uptick in January, and that's even without the last week's worth of data. The second chart breaks these individual trends out more clearly. I showed this to &lt;a href="http://weblog.infoworld.com/dickerson/"&gt;Chad Dickerson&lt;/a&gt; and he offered a fascinating speculation. Could we be seeing a combination of &lt;a href="http://www.wired.com/wired/archive/12.10/tail.html"&gt;long tail&lt;/a&gt; and  &lt;a href="http://www.shirky.com/writings/powerlaw_weblog.html"&gt;power law&lt;/a&gt; effects? 
&lt;/p&gt;
</description>
</item>
<item>
<dc:date>2005-01-25T10:07:18-05:00</dc:date>
<link>http://weblog.infoworld.com/udell/2005/01/25.html#a1157</link>
<title>Where was desktop search when we needed it?</title>
<description>&lt;p&gt;
&lt;a href="http://weblog.infoworld.com/udell/gems/windowsIndexing.html"&gt;&lt;img vspace="6" hspace="6" src="http://weblog.infoworld.com/udell/gems/desktopSearch.jpg" align="right" width="294" height="237"/&gt;&lt;/a&gt;
&lt;blockquote class="pubQuote InfoWorld"&gt;
Desktop search engines are sprouting like weeds. Google's showed up in October, then Microsoft's in December, and now Yahoo's this month.
&lt;br/&gt;&lt;br/&gt;
...
&lt;br/&gt;&lt;br/&gt;
For lots of people I know, any one of these choices will produce a life-changing productivity boost. For me, though, that's
no longer true. The
&lt;a href="/infoworld/article/04/10/22/43OPstrategic_1.html"&gt;Gmail experiment&lt;/a&gt; has become a lifestyle choice. I still maintain a local Outlook mail store, and it's indexed several ways, but I rarely need
to search it. Similarly, most of the documents I create --
&lt;i&gt;InfoWorld&lt;/i&gt; stories, Weblog postings -- are pushed to the cloud and are searchable there.
&lt;br/&gt;&lt;br/&gt;
Few of you can or should live in the network cloud to the extent that I do. But if you refocus on the corporate intranet,
cloud-based storage has compelling advantages. The first and most obvious one is the ability to access your stuff anywhere,
anytime, from any client. A subtler point is that documents in the cloud are documents that other people can help you tag and find.
&lt;br/&gt;&lt;br/&gt;
The gating factor for desktop search is metadata. Finding documents based on words they contain is a huge benefit, something
we should all have been able to take for granted years ago. But the future isn't faster or prettier full-text search; it's
more context and better relevance. And your personal hard drive isn't the garden where these flowers will grow.
&lt;br/&gt;&lt;br/&gt;
Google's PageRank showed us that relevance is a collective judgment. Services such as del.icio.us, Flickr, and Furl are likewise
showing us that metadata tagging wants to be a group effort. One of the ironies of desktop search may prove to be that, by the time it went mainstream, the personal hard drive was about to become an endangered species.
[Full story at &lt;a href="http://www.infoworld.com//article/05/01/21/04OPstrategic_1.html"&gt;InfoWorld.com&lt;/a&gt;]
&lt;/blockquote&gt;
&lt;/p&gt;
&lt;p&gt;
Today's &lt;a href="http://weblog.infoworld.com/udell/gems/windowsIndexing.html"&gt;screencast&lt;/a&gt; is a 90-second short film that demonstrates &lt;a href="http://www.theinquirer.net/?article=20214"&gt;Simon Burns' astonishing finding&lt;/a&gt; that desktop search has been right under our noses for years -- built into Windows but then crippled by weird design choices. In the screencast you'll see how even when the Windows indexer is enabled, a search won't use it unless you prefix the search term with an exclamation point. You'll also see the ancient and obscure Windows indexing administration tool in use. It's bizarrely named &lt;tt&gt;ciadv.msc&lt;/tt&gt; and tucked away in the &lt;tt&gt;system32&lt;/tt&gt; directory, but if you point a shortcut there you can bring it to life.
&lt;/p&gt;
&lt;p&gt;
This week's column explains how these odd circumstances arose. Even though it's water under the bridge now, I can't help wondering how the desktop search market might be different today if something like this screencast had been widely available three or four years ago. Audio/visual narration of software behavior makes connections in our brains that don't happen when we just hear about software, or read about it, or see static screenshots. 
&lt;/p&gt;
&lt;p&gt;
Several folks commenting on my &lt;a href="http://weblog.infoworld.com/udell/2005/01/22.html#a1156"&gt;Wikipedia screencast&lt;/a&gt; have said things like: "I've tried to explain to people how Wikipedia works, now I can just point them to the screencast." And that was the real point of the exercise for me. We need a new medium in which to communicate about software. The fact that both my Wikipedia screencast and the &lt;a href="http://www.unixuser.org/~euske/vnc2swf/"&gt;vnc2swf&lt;/a&gt; page show up today at &lt;a href="http://del.icio.us/popular/"&gt;del.icio.us/popular/&lt;/a&gt; -- the vnc2swf surge owing to Nat Friedman's &lt;a href="http://www.nat.org/2005/january/#24-January-2005"&gt;Beagle demos&lt;/a&gt; -- tells me that my efforts to popularize screencasting are bearing fruit.
&lt;/p&gt;
&lt;p&gt;
Coincidentally &lt;a href="http://www.gnome.org/projects/beagle/"&gt;Beagle&lt;/a&gt;, the successor to Nat's &lt;a href="http://www.nat.org/dashboard/"&gt;Dashboard&lt;/a&gt; project, is yet another desktop searcher. The more the merrier. We should all expect to enjoy immediate search of local content; it's nuts that we've gotten this far without it; solutions are long overdue. 
&lt;/p&gt;
&lt;p&gt;
In the column I argue that our increasing reliance on network storage makes the need for desktop search less acute than it formerly was. I should add, though, that the core technology of desktop search -- that is, noticing and cataloging information events -- will only grow more relevant with time. Whether or not your personal information lives on your personal disk, and whether or not the index is built and searched locally, the reading and writing and editing and communication events occur on the client. Pervasive high-performance monitoring of that event stream will help us weave local storage and the cloud into a common information space. 
&lt;/p&gt;
</description>
</item>
<item>
<dc:date>2005-01-22T16:49:17-05:00</dc:date>
<link>http://weblog.infoworld.com/udell/2005/01/22.html#a1156</link>
<title>Heavy metal umlaut: the movie</title>
<description>&lt;p&gt;
&lt;a href="http://weblog.infoworld.com/udell/gems/umlaut.html"&gt;&lt;img vspace="6" hspace="6" src="http://weblog.infoworld.com/udell/gems/umlaut.jpg" align="right" width="224" height="190"/&gt;&lt;/a&gt;
Today's &lt;a href="http://weblog.infoworld.com/udell/gems/umlaut.html"&gt;screencast&lt;/a&gt; traces the evolution of Wikipedia's &lt;a href="http://www.wikipedia.org/wiki/Heavy_metal_umlaut"&gt;Heavy metal umlaut&lt;/a&gt; page. I noticed it when both &lt;a href="http://www.tbray.org/ongoing/When/200x/2005/01/20/Umlauts"&gt;Tim Bray&lt;/a&gt; and &lt;a href="http://www.hyperorg.com/blogger/mtarchive/003590.html"&gt;David Weinberger&lt;/a&gt; pointed to it, but the page actually dates back to April 15, 2003. 
&lt;/p&gt;
&lt;p&gt;
It's a wonderfully silly topic, but my point is somewhat serious too. The 8.5-minute screencast turns the change history of this Wiki page into a movie, scrolls forward and backward along the timeline of the document, and follows the development of several motifs. Creating this animated narration of a document's evolution was technically challenging, but I think it suggests interesting possibilities.
&lt;/p&gt;
</description>
</item>
<item>
<dc:date>2005-01-20T10:36:48-05:00</dc:date>
<link>http://weblog.infoworld.com/udell/2005/01/20.html#a1155</link>
<title>Deep structure redux</title>
<description>&lt;p&gt;
I've been monitoring with great interest the reactions to &lt;a href="http://weblog.infoworld.com/udell/2005/01/19.html#a1154"&gt;yesterday's item&lt;/a&gt;, to its related &lt;a href="http://www.infoworld.com/article/05/01/14/03OPstrategic_1.html"&gt;InfoWorld column&lt;/a&gt;, and to Jonathan Edwards' &lt;a href="http://subtextual.org/demo1.html"&gt;screencast&lt;/a&gt; and &lt;a href="http://subtextual.org/OOPSLA04.pdf"&gt;paper&lt;/a&gt; that I cite in both. I was particularly curious to see what Smalltalk and Lisp folks -- who have in certain important respects been there and done that -- would have to say. &lt;a href="http://wiki.cs.uiuc.edu/VisualWorks/James+A.+Robertson"&gt;James Robertson&lt;/a&gt; was merely dismissive in &lt;a href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;amp;entry=3283587336"&gt;this post&lt;/a&gt;. &lt;a href="http://www.bannister.us/weblog/"&gt;Preston Bannister&lt;/a&gt; offers more nuanced reflections:
&lt;blockquote class="personQuote PrestonBannister"&gt;
The example and the accompanying narrative is somewhat interesting. Oddly enough it is not the tree-structure-editor aspect that I find compelling. Rather it is the use of sample values, live computation, and highlighting of "dead" (not executed) code.
[&lt;a href="http://bannister.us/weblog/?p=192"&gt;Structure editors, IDEs, and another Lisp flashback&lt;/a&gt;]
&lt;/blockquote&gt;
&lt;/p&gt;
&lt;p&gt;
Agreed. That's the part of the demo that makes Edwards' notion of example-driven programming come to life. Bannister goes on to say:
&lt;blockquote class="personQuote PrestonBannister"&gt;
One of the strong, subtle advantages in the Lisp environment was in having
the parser and pretty printer as simply another set of functions in the
library. In the C/C++ world the compiler is a large monlithic seperate
program, and offers only a one-way path from source text to compiled
code. You cannot reuse parser or gain access to the parse tree. In the
Java world the compiler is once again part of the environment (with
only slightly awkward access). This is one prime reason Java IDEs can
support refactoring, and "deep" operations on your Java programs.
&lt;br/&gt;&lt;br/&gt;
In my opinion at least, the notion of tree-structure editing is still only
of limited value, and not a replacement for simple text editing. Back
in college, after we had all played with structure editors for a time, &lt;a href="http://drstephencw.blogspot.com/"&gt;one member of our group&lt;/a&gt;
identified the source of our discomfort by noting that many simple
common operations in a text editor were much more complicated in a
structure editor.
[&lt;a href="http://bannister.us/weblog/?p=192"&gt;Structure editors, IDEs, and another Lisp flashback&lt;/a&gt;]
&lt;/blockquote&gt;
Yes. That's why I wondered in my column whether emacs will ever be pried from my cold dead fingers. Mark Levison, who has been &lt;a href="http://dotnetjunkies.com/WebLog/mlevison/archive/2005/01/05/41550.aspx"&gt;thinking about&lt;/a&gt; these issues recently, has some suggestions:
&lt;blockquote class="personQuote MarkLevison"&gt;
&lt;ol&gt;
&lt;li&gt;IDE's need to better tools to manipulate their Abstract Syntax Trees &lt;/li&gt;

&lt;li&gt;The Abstract Syntax Trees need to be documented and made accessible to 
external vendors&lt;/li&gt;&lt;/ol&gt;
[&lt;a href="http://dotnetjunkies.net/WebLog/mlevison/archive/2005/01/19/46139.aspx"&gt;Mark Levison: Programs still edited as text"&lt;/a&gt;]
&lt;/blockquote&gt;
In the .NET world there is &lt;a href="http://www.ondotnet.com/pub/a/dotnet/2003/02/03/codedom.html"&gt;CodeDOM&lt;/a&gt; -- though I gather it's more for creating than for analyzing and rearranging structure. For Java I found the &lt;a href="http://eclipse-plugins.info/eclipse/plugin_details.jsp?id=581"&gt;AST View&lt;/a&gt; plugin for Eclipse which, once installed, reveals the abstract syntax tree and connects tree navigation to text navigation. I suspect that we have many of the raw ingredients we need to move forward. What's missing is a coherent UI metaphor that combines the benefits of structure editing and text editing.
&lt;/p&gt;
&lt;p&gt;
Maybe that's an unattainable goal. But I hope people will keep trying to achieve it nonetheless. It would be great if those who have been there and done that could not merely describe the pitfalls, but also show them to us. Why not take a cue from Edwards and use the screencast medium to do that?
&lt;/p&gt;
</description>
</item>
<item>
<dc:date>2005-01-19T10:14:09-05:00</dc:date>
<link>http://weblog.infoworld.com/udell/2005/01/19.html#a1154</link>
<title>The deep structure of code</title>
<description>&lt;p&gt;
&lt;blockquote class="pubQuote InfoWorld"&gt;
It's been a while since I've written code in Java. But this week I updated my installation of Eclipse, dusted off an old Java program, and saw that ancient artifact in a whole new way. Now, I've never been an IDE (Integrated Development Environment) kind of guy. It's always been emacs for me, and in InfoWorld circles I'm not alone in that preference. Both &lt;a href="http://www.infoworld.com/article/04/08/27/35OPconnection_1.html"&gt;Chad Dickerson&lt;/a&gt; and &lt;a href="http://www.infoworld.com/article/03/09/19/37FEcodeedit_1.html"&gt;Maggie Biggs&lt;/a&gt; have also made the case for the no-frills approach. At the end of the day, programming still comes down to pushing lines of code around in text files. Until we change that paradigm, I've always thought, code editors built to push lines of code around in text files are going to be hard to beat.
&lt;br/&gt;&lt;br/&gt;
...
&lt;br/&gt;&lt;br/&gt;
At one time or another, every programmer has imagined what it would be like to work directly with the deep structure of code. Some of the best minds in the business are working to make that happen. The legendary Charles Simonyi, who left Microsoft a couple of years ago to pursue his vision of &lt;i&gt;intentional programming&lt;/i&gt;, says deep structure is at the core of the toolset his new company, Intentional Software, is building. Sergey Dmitriev shares Simonyi's vision, and his company -- JetBrains, creator of IntelliJ IDEA -- wants to do something similar with its next-generation toolset. 
&lt;br/&gt;&lt;br/&gt;
These projects are still under wraps, but another champion of deep structure is working out in the open. Jonathan Edwards, currently a visiting engineer with MIT's Software Design Group, has built a prototype system that he is demonstrating in a &lt;a href="http://subtextual.org/demo1.html"&gt;screencast&lt;/a&gt; at subtextual.org. There are big ideas at work here. In Edwards' prototype, programming, testing, and debugging are just different ways of interacting with a program's tree structure. Edwards' 2004 OOPSLA paper, &lt;a href="http://subtextual.org/OOPSLA04.pdf"&gt;Example-centric programming&lt;/a&gt;, explores one of the benefits of this arrangement: the examples (or "use cases") that drive program design are worked out the context of the living and evolving program.
&lt;br/&gt;&lt;br/&gt;
We've all heard this stuff before. I may yet go to my grave without emacs ever having been pried from my cold dead fingers. But it's worth pondering, now and then, what we could do with tools that didn't think of programs as strings of text. [Full story &lt;a href="http://www.infoworld.com/article/05/01/14/03OPstrategic_1.html"&gt;InfoWorld.com&lt;/a&gt;]
&lt;/blockquote&gt;
In an article for ACM Queue entitled &lt;a href="http://www.acmqueue.com/modules.php?name=Content&amp;amp;pa=showpage&amp;amp;pid=247&amp;amp;page=1"&gt;Extensible Programming for the 21st Century&lt;/a&gt; (also available &lt;a href="http://www.third-bit.com/~gvwilson/xmlprog.html"&gt;here&lt;/a&gt;), &lt;a href="http://www.third-bit.com/~gvwilson/gvwilson.html"&gt;Greg Wilson&lt;/a&gt; skewers the fallacy of "I Want To See My Programs As They Really Are":
&lt;/p&gt;
&lt;p&gt;
&lt;blockquote class="personQuote GregWilson"&gt;
Many programmers swear they will never use a system that doesn't
let them see their programs "as they really are".  However, this
position ignores the fact that it takes several hundred thousand lines
of device drivers, the operating system, and a graphical interface to
turn magnetic spins on a disk into pixels on a screen.  If we remove
just one of those layers of abstraction, our programs would look like
this:
&lt;br/&gt;
&lt;pre&gt;/  *  * r n  |  *  |  T  h  i  s  |  c  l  a
s  s  |  p  r  i  n  t  s  |  &amp;lt;  e  m  &amp;gt;  o  d
d  |  n  u  m  b  e  r  s  &amp;lt;  /  e  m  &amp;gt;  . r
n  |  *  |  S  e  e  |  t  h  e  |  &amp;lt;  a  |  h
r  e  f  =  "  {  @  d  o  c  R  o  o  t  }  /
c  o  p  y  r  i  g  h  t  .  h  t  m  l  "  &amp;gt;
C  o  p  y  r  i  g  h  t  &amp;lt;  /  a  &amp;gt;  . r n
|  *  |  @  a  u  t  h  o  r  |  G  r  e  g  |
W  i  l  s  o  n r n  |  *  |  @  v  e  r  s
i  o  n  |  1  .  2 r n  |  *  / r n r n
p  u  b  l  i  c  |  c  l  a  s  s  |  O  d  d
s  |  { r n  |  |  p  u  b  l  i  c  |  s  t
a  t  i  c  |  v  o  i  d  |  m  a  i  n  (  S
t  r  i  n  g  [  ]  |  a  r  g  s  )  |  {  |
| r n  |  |  |  |  f  o  r  |  (  i  n  t  |
i  =  0  ;  |  i  &amp;lt;  1  0  ;  |  +  +  i  )  |
{  |  | r n  |  |  |  |  |  |  i  f  |  (  i
|  %  |  2  |  =  =  |  0  )  |  { r n  |  |
|  |  |  |  |  |  S  y  s  t  e  m  .  o  u  t
.  p  r  i  n  t  l  n  (  i  )  ; r n  |  |
|  |  |  |  } r n  |  |  |  |  } r n  |  |
} r n  } r n
&lt;/pre&gt;
Remove another layer of abstraction, and we would have a table of
numeric character codes; another, and we would have a stream of bits.
It is therefore hypocritical to object to &lt;em&gt;adding&lt;/em&gt; another
layer (unless the person raising the objection still uses a text-only
web browser like Lynx [&lt;a href="http://lynx.browser.org/"&gt;Lynx&lt;/a&gt;].  It also ignores the
fact that fewer and fewer documents are stored as byte-per-character
ASCII; increasingly, documents use some character encoding scheme to
represent Unicode [&lt;a href="http://www.joelonsoftware.com/articles/Unicode.html"&gt;Spolsky&lt;/a&gt;], which editors then interpret on the fly.
&lt;/blockquote&gt;
&lt;/p&gt;
&lt;p&gt;
Somewhat to Greg's chagrin, his article was recently Slashdotted. In response he has &lt;a href="http://pyre.third-bit.com/blog/archives/000173.html"&gt;reiterated&lt;/a&gt; that while XML might provide a standard representation of programs at one level of abstraction, the goal is not XSLT writ large. Sure, you can use a text editor to wrap angle brackets around programming-language keywords, but as the Slashdotters point out there's no real traction there. What most of the Slashdotters ignored was the idea of tools that work directly with the deep structure of code -- transforming it, animating it, extending it.
&lt;/p&gt;
&lt;p&gt;
I've talked with Greg a few times about this topic, and to be honest my end of the conversation was mainly footdragging and devil's advocacy. Bootstrapping an ecosystem full of tools that work this way does seem like an insurmountable problem. Still, times change. Refactoring IDEs are a relatively new thing, but a generation of programmers who have grown up using them will bring new expectations to the game.
&lt;/p&gt;
</description>
</item>
<item>
<dc:date>2005-01-18T08:37:28-05:00</dc:date>
<link>http://weblog.infoworld.com/udell/2005/01/18.html#a1153</link>
<title>Building stuff on top of stuff</title>
<description>&lt;p&gt;
&lt;table align="right"&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_new" href="http://weblog.infoworld.com/udell/gems/bosworth_01.mov"&gt;&lt;img src="http://weblog.infoworld.com/udell/gems/bosworth_01.jpg" align="right" hspace="6" vspace="6"/&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;
&lt;div align="center" class="realsmall"&gt;at XML 2003&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
We had a really interesting &lt;a href="http://www.itconversations.com/shows/detail405.html"&gt;conversation with Adam Bosworth&lt;/a&gt; last week. Adam elaborated on the model of distributed query that I first heard him sketch out in his &lt;a href="http://weblog.infoworld.com/udell/2003/12/10.html#a865"&gt;XML 2003 keynote&lt;/a&gt;. The focus then was on the (not-yet-announced) &lt;a href="http://del.icio.us/judell/alchemy"&gt;Alchemy&lt;/a&gt; -- an idea that will have to play out sooner or later, but whose initial open source implementation at BEA became a mystery when Adam moved over to Google. In our conversation last week, the focus was instead on the notion of a network of "queryers and servers" in which the access paths to data look more like what humans do when they traverse the web than they look like what databases do when they consult their indexes.
&lt;/p&gt;
&lt;p&gt;
Clearly XML is a key enabler of this network, and in &lt;a href="http://www.itconversations.com/clip.php?showid=405&amp;amp;start=31:15&amp;amp;stop=33:25"&gt;this two-minute clip&lt;/a&gt; Adam explains how and why RSS, in particular, provides the necessary traction:
&lt;blockquote class="personQuote AdamBosworth"&gt;
It's like Lego. When I was a small kid I used to play with these blocks, and build these very complicated buildings with my sister. And the buildings were all made out of very simple blocks. The fact that they all plugged into each other was what made Lego so amazing. The reason I went to XML in the first place was to try to make it easier to plug things together, but nonetheless the right way to think about XML at this point is that each block has an extraordinarily fine-grained machined shape to each knob that extrudes from it. And to plug another block on top of it you have to get a receptacle for exactly that shape, give or take a little bit.
&lt;br/&gt;&lt;br/&gt;
The cool thing about RSS, as people are discovering, as people like Bloglines are showing, as people like Feedster show when you can do a query and syndicate the query into Bloglines, is that the blocks start to be able to plug into each other because pretty much everyone can extrude something where they understand enough of the shape and how to consume it, and they in turn can extrude that shape, again like the Lego block where you can plug a little knob into the bottom of something and out comes the knob at the top.
&lt;br/&gt;&lt;br/&gt;
So that gives you a way to build stuff on top of stuff, and I think that's really exciting. That's sort of what I've been waiting for, for quite a while, ever since I started working with Jean Paoli and Tim Bray and others on this stuff, was not just a way to exchange data, but for certain standards to emerge that everyone could agree on that would be lingua francas. There's still additional information that might be carried along, but there has to be enough shared grammar for it to work. Whether it's intentional and it's Dave Winer's genius, or whether it's partly luck, or whether it's a combination so it doesn't matter, I think this has turned out to be one very useful lingua franca for plugging things into things.
&lt;/blockquote&gt;
&lt;/p&gt;
&lt;p&gt;
InfoWorld has a pair of SOA (services-oriented architecture) events coming up in May which I'm helping to plan. Here's one question I'd like to put on the agenda. As a language of contracts, SOA involves complex shapes. But as a Lego system, it's about simple shapes. Where's the sweet spot?
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Update&lt;/b&gt;: I went back and dug up my initial report on Alchemy, from &lt;a href="http://www.itconversations.com/shows/detail148.html"&gt;an earlier Gillmor Gang show&lt;/a&gt;. Listening to &lt;a href="http://www.itconversations.com/clip.php?showid=148&amp;amp;start=7:00&amp;amp;stop=10:34"&gt;this 3-minute segment&lt;/a&gt; -- in which I try to explain Adam Bosworth's notion of injecting &lt;i&gt;data intelligence&lt;/i&gt; into the browser -- reminded me why this is a thread we ought not lose sight of.
&lt;/p&gt;
</description>
</item>
</channel>
</rss>
