<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>Jon Udell</title>
    <link>http://odeo.com/channels/3554-Jon-Udell</link>
    <itunes:explicit>no</itunes:explicit>
    <description>Strategies for Internet citizens</description>
    <itunes:summary>Strategies for Internet citizens</itunes:summary>
    <itunes:subtitle>Strategies for Internet citizens</itunes:subtitle>
    <language>en</language>
    <ttl>40</ttl>
    <itunes:image href="http://www.odeo.complaceholder-podcast.jpg"/>
    <image url="http://www.odeo.complaceholder-podcast.jpg" link="http://odeo.com/channels/3554-Jon-Udell" title="Jon Udell"/>
    <pubDate>Mon, 09 Nov 2009 07:08:41 -0800</pubDate>
    <lastBuildDate>Mon, 09 Nov 2009 07:08:41 -0800</lastBuildDate>
    <item>
      <title>Where is the money going?</title>
      <link>http://odeo.com/episodes/25426119-Where-is-the-money-going</link>
      <description>Over the weekend I was poking around in the recipient-reported data at recovery.gov. I filtered the New Hampshire spreadsheet down to items for my town, Keene, and was a bit surprised to find no descriptions in many cases. Here&amp;#8217;s the breakdown: # of awards 25 # of awards with descriptions 05 20% # of awards without descriptions 20 80% $ of awards 10,940,770 $ of awards with descriptions 1,260,719 12% $ of awards without descriptions 9,680,053 88% In this case, the half-dozen largest awards aren&amp;#8217;t described: award amount funding agency recipient description EE00161 2,601,788 Sothwestern Community Services Inc S394A090030 1,471,540 Keene School District AIP #3-33-SBGP-06-2009 1,298,500 City of Keene 2W-33000209-0 1,129,608 City of Keene 2F-96102301-0 666,379 City of Keene 2F-96102301-0 655,395 City of Keene 0901NHCOS2 600,930 Sothwestern Community Services Inc 2009RKWX0608 459,850&amp;lt;/td Department of Justice KEENE, CITY OF The COPS Hiring Recovery Program (CHRP) provides ...</description>
      <itunes:subtitle>Over the weekend I was poking around in the recipient-reported data at recovery.gov. I filtered the New Hampshire spreadsheet down to items for my town, Keene, and was a bit surprised to find no descriptions in many cases. Here&amp;#8217;s the breakdown: # of awards 25 # of awards with descriptions 05 20% # of awards without descriptions 20 80% $ of awards 10,940,770 $ of awards with descriptions 1,260,719 12% $ of awards without descriptions 9,680,053 88% In this case, the half-dozen largest awards aren&amp;#8217;t described: award amount funding agency recipient description EE00161 2,601,788 Sothwestern Community Services Inc S394A090030 1,471,540 Keene School District AIP #3-33-SBGP-06-2009 1,298,500 City of Keene 2W-33000209-0 1,129,608 City of Keene 2F-96102301-0 666,379 City of Keene 2F-96102301-0 655,395 City of Keene 0901NHCOS2 600,930 Sothwestern Community Services Inc 2009RKWX0608 459,850&amp;lt;/td Department of Justice KEENE, CITY OF The COPS Hiring Recovery Program (CHRP) provides funding directly to law enforcement agencies to hire and/or rehire career law enforcement officers in an effort to create and preserve jobs, and to increase their community policing capacity and crime prevention efforts. NH36S01050109 413,394&amp;lt;/td Department of Housing and Urban Development KEENE HOUSING AUTHORITY ARRA Capital Fund Grant. Replacement of roofing, siding, and repair of exterior storage sheds on 29 public housing units at a family complex That got me wondering: Where does the money go? So I built a little app that explores ARRA awards for any city or town: http://elmcity.cloudapp.net/arra. For most places, it seems, the ratio of awards with descriptions to awards without isn&amp;#8217;t quite so bad. In the case of Philadelphia, for example, &amp;#8220;only&amp;#8221; 27% of the dollars awarded ($280 million!) are not described. But even when the description field is filled in, how much does that tell us about what&amp;#8217;s actually being done with the money? We can&amp;#8217;t expect to find that information in a spreadsheet at recovery.gov. The knowledge is held collectively by the many people who are involved in the projects funded by these awards. If we want to materialize a view of that collective knowledge, the ARRA data provides a useful starting point. Every award is identified by an award number. These are, effectively, webscale identifiers &amp;#8212; that is, more-or-less unique tags we could use to collate newspaper articles, blog entries, tweets, or any other online chatter about awards. To promote this idea, the app reports award numbers as search strings. In Keene, for example, the school district got an award for $1.47 million. The award number is S394A090030. If you search for that you&amp;#8217;ll find nothing but a link back to a recovery.gov page entitled Where is the Money Going? Recovery.gov can&amp;#8217;t bootstrap itself out of this circular trap. But if we use the tags that it has helpfully provided, we might be able to find out a lot more about where the money is going.</itunes:subtitle>
      <itunes:summary>Over the weekend I was poking around in the recipient-reported data at recovery.gov. I filtered the New Hampshire spreadsheet down to items for my town, Keene, and was a bit surprised to find no descriptions in many cases. Here&amp;#8217;s the breakdown: # of awards 25 # of awards with descriptions 05 20% # of awards without descriptions 20 80% $ of awards 10,940,770 $ of awards with descriptions 1,260,719 12% $ of awards without descriptions 9,680,053 88% In this case, the half-dozen largest awards aren&amp;#8217;t described: award amount funding agency recipient description EE00161 2,601,788 Sothwestern Community Services Inc S394A090030 1,471,540 Keene School District AIP #3-33-SBGP-06-2009 1,298,500 City of Keene 2W-33000209-0 1,129,608 City of Keene 2F-96102301-0 666,379 City of Keene 2F-96102301-0 655,395 City of Keene 0901NHCOS2 600,930 Sothwestern Community Services Inc 2009RKWX0608 459,850&amp;lt;/td Department of Justice KEENE, CITY OF The COPS Hiring Recovery Program (CHRP) provides funding directly to law enforcement agencies to hire and/or rehire career law enforcement officers in an effort to create and preserve jobs, and to increase their community policing capacity and crime prevention efforts. NH36S01050109 413,394&amp;lt;/td Department of Housing and Urban Development KEENE HOUSING AUTHORITY ARRA Capital Fund Grant. Replacement of roofing, siding, and repair of exterior storage sheds on 29 public housing units at a family complex That got me wondering: Where does the money go? So I built a little app that explores ARRA awards for any city or town: http://elmcity.cloudapp.net/arra. For most places, it seems, the ratio of awards with descriptions to awards without isn&amp;#8217;t quite so bad. In the case of Philadelphia, for example, &amp;#8220;only&amp;#8221; 27% of the dollars awarded ($280 million!) are not described. But even when the description field is filled in, how much does that tell us about what&amp;#8217;s actually being done with the money? We can&amp;#8217;t expect to find that information in a spreadsheet at recovery.gov. The knowledge is held collectively by the many people who are involved in the projects funded by these awards. If we want to materialize a view of that collective knowledge, the ARRA data provides a useful starting point. Every award is identified by an award number. These are, effectively, webscale identifiers &amp;#8212; that is, more-or-less unique tags we could use to collate newspaper articles, blog entries, tweets, or any other online chatter about awards. To promote this idea, the app reports award numbers as search strings. In Keene, for example, the school district got an award for $1.47 million. The award number is S394A090030. If you search for that you&amp;#8217;ll find nothing but a link back to a recovery.gov page entitled Where is the Money Going? Recovery.gov can&amp;#8217;t bootstrap itself out of this circular trap. But if we use the tags that it has helpfully provided, we might be able to find out a lot more about where the money is going.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-11-09,25426119</guid>
      <pubDate>Mon, 09 Nov 2009 07:08:41 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Talking with Marco Barulli about zero-knowledge online password management</title>
      <link>http://odeo.com/episodes/25400239-Talking-with-Marco-Barulli-about-zero-knowledge-online-password-management</link>
      <description>A couple of years ago I was enamored with a clever password manager that pointed the way toward an ideal solution. It was really just a bookmarklet &amp;#8212; a small chunk of JavaScript code &amp;#8212; that used a simple method to produce a unique and strong password for the website you were visiting. The method was to combine a passphrase that you could remember with the domain name of the site, using a one-way cryptographic hash, in order to produce a strong password that would be unique to the site &amp;#8212; and that you&amp;#8217;d otherwise never be able to remember. It wasn&amp;#8217;t perfect. Sometimes the passwords it generated wouldn&amp;#8217;t meet a site&amp;#8217;s requirements. And sometimes the login domain name would vary, which broke the scheme. But it introduced me to two powerful &amp;#8212; and related &amp;#8212; ideas. JavaScript could turn your browser into a programmable cryptographic engine. And that engine could be used to implement protocols that relied on cryptography but transmitted ...</description>
      <itunes:subtitle>A couple of years ago I was enamored with a clever password manager that pointed the way toward an ideal solution. It was really just a bookmarklet &amp;#8212; a small chunk of JavaScript code &amp;#8212; that used a simple method to produce a unique and strong password for the website you were visiting. The method was to combine a passphrase that you could remember with the domain name of the site, using a one-way cryptographic hash, in order to produce a strong password that would be unique to the site &amp;#8212; and that you&amp;#8217;d otherwise never be able to remember. It wasn&amp;#8217;t perfect. Sometimes the passwords it generated wouldn&amp;#8217;t meet a site&amp;#8217;s requirements. And sometimes the login domain name would vary, which broke the scheme. But it introduced me to two powerful &amp;#8212; and related &amp;#8212; ideas. JavaScript could turn your browser into a programmable cryptographic engine. And that engine could be used to implement protocols that relied on cryptography but transmitted no secrets over the wire. To my way of thinking, that&amp;#8217;s a killer combination. For years I&amp;#8217;ve been using Bruce Schneier&amp;#8217;s Password Safe, a Windows program that keeps my passwords in an encrypted store. There are many such programs, another example being 1Password for the Mac. This kind of app lives on your computer and talks to a local data store. That means it&amp;#8217;s cumbersome to move the app and your data from one of your machines to another. And you can&amp;#8217;t use it online, say from a public machine at the library or a friend&amp;#8217;s computer. Imagine a web application that would encrypt your credentials and store them in the cloud. It would deliver that encrypted store to any browser you happen to be using, along with a JavaScript engine that could decrypt it, display your credentials, and even use them to automatically log you onto any of your password-protected services. You&amp;#8217;d trust it because its cryptographic code would be available for security pros to validate. I&amp;#8217;ve wanted this solution for a long time. Now I have it: Clipperz. My guest for this week&amp;#8217;s Innovators show is Marco Barulli, founder and CEO of Clipperz, which he describes as a zero-knowledge web application. What Clipperz has zero knowledge of is you and your data. It just connects you with your data, on terms that you control, in a way that reminds me of Peter Wayner&amp;#8217;s concept of translucent databases. Clipperz is immediately useful to all of us who struggle to manage our growing collections of online credentials, But it&amp;#8217;s also a great example of an important design principle. We reflexively build services that identity users and retain all kinds of information about them. Often we need such knowledge, but it&amp;#8217;s a liability for the operators of services that store it, and a risk for users of those services. If it&amp;#8217;s feasible not to know, we can embrace that constraint and achieve powerful effects.</itunes:subtitle>
      <itunes:summary>A couple of years ago I was enamored with a clever password manager that pointed the way toward an ideal solution. It was really just a bookmarklet &amp;#8212; a small chunk of JavaScript code &amp;#8212; that used a simple method to produce a unique and strong password for the website you were visiting. The method was to combine a passphrase that you could remember with the domain name of the site, using a one-way cryptographic hash, in order to produce a strong password that would be unique to the site &amp;#8212; and that you&amp;#8217;d otherwise never be able to remember. It wasn&amp;#8217;t perfect. Sometimes the passwords it generated wouldn&amp;#8217;t meet a site&amp;#8217;s requirements. And sometimes the login domain name would vary, which broke the scheme. But it introduced me to two powerful &amp;#8212; and related &amp;#8212; ideas. JavaScript could turn your browser into a programmable cryptographic engine. And that engine could be used to implement protocols that relied on cryptography but transmitted no secrets over the wire. To my way of thinking, that&amp;#8217;s a killer combination. For years I&amp;#8217;ve been using Bruce Schneier&amp;#8217;s Password Safe, a Windows program that keeps my passwords in an encrypted store. There are many such programs, another example being 1Password for the Mac. This kind of app lives on your computer and talks to a local data store. That means it&amp;#8217;s cumbersome to move the app and your data from one of your machines to another. And you can&amp;#8217;t use it online, say from a public machine at the library or a friend&amp;#8217;s computer. Imagine a web application that would encrypt your credentials and store them in the cloud. It would deliver that encrypted store to any browser you happen to be using, along with a JavaScript engine that could decrypt it, display your credentials, and even use them to automatically log you onto any of your password-protected services. You&amp;#8217;d trust it because its cryptographic code would be available for security pros to validate. I&amp;#8217;ve wanted this solution for a long time. Now I have it: Clipperz. My guest for this week&amp;#8217;s Innovators show is Marco Barulli, founder and CEO of Clipperz, which he describes as a zero-knowledge web application. What Clipperz has zero knowledge of is you and your data. It just connects you with your data, on terms that you control, in a way that reminds me of Peter Wayner&amp;#8217;s concept of translucent databases. Clipperz is immediately useful to all of us who struggle to manage our growing collections of online credentials, But it&amp;#8217;s also a great example of an important design principle. We reflexively build services that identity users and retain all kinds of information about them. Often we need such knowledge, but it&amp;#8217;s a liability for the operators of services that store it, and a risk for users of those services. If it&amp;#8217;s feasible not to know, we can embrace that constraint and achieve powerful effects.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-11-01,25400239</guid>
      <pubDate>Sun, 01 Nov 2009 23:51:24 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>A literary appreciation of the Olson/Zoneinfo/tz database</title>
      <link>http://odeo.com/episodes/25356414-A-literary-appreciation-of-the-Olson-Zoneinfo-tz-database</link>
      <description>You will probably never need to know about the Olson database, also known as the Zoneinfo or tz database. And were it not for my elmcity project I never would have looked into it. I knew roughly that this bedrock database is a compendium of definitions of the world&amp;#8217;s timezones, plus rules for daylight savings transitions (DST), used by many operating systems and programming languages. I presumed that it was written Unix-style, in some kind of plain-text format, and that&amp;#8217;s true. Here, for example, are top-level DST rules for the United States since 1918: # Rule NAME FROM TO IN ON AT SAVE LETTER/S Rule US 1918 1919 Mar lastSun 2:00 1:00 D Rule US 1918 1919 Oct lastSun 2:00 0 S Rule US 1942 only Feb 9 2:00 1:00 W # War Rule US 1945 only Aug 14 23:00u 1:00 P # Peace Rule US 1945 only Sep 30 2:00 0 S Rule US 1967 2006 Oct lastSun 2:00 0 S Rule US 1967 1973 Apr lastSun 2:00 1:00 D Rule US 1974 only Jan 6 2:00 1:00 D Rule US 1975 only Feb 23 2:00 1:00 D Rule US 1976 1986 Apr la...</description>
      <itunes:subtitle>You will probably never need to know about the Olson database, also known as the Zoneinfo or tz database. And were it not for my elmcity project I never would have looked into it. I knew roughly that this bedrock database is a compendium of definitions of the world&amp;#8217;s timezones, plus rules for daylight savings transitions (DST), used by many operating systems and programming languages. I presumed that it was written Unix-style, in some kind of plain-text format, and that&amp;#8217;s true. Here, for example, are top-level DST rules for the United States since 1918: # Rule NAME FROM TO IN ON AT SAVE LETTER/S Rule US 1918 1919 Mar lastSun 2:00 1:00 D Rule US 1918 1919 Oct lastSun 2:00 0 S Rule US 1942 only Feb 9 2:00 1:00 W # War Rule US 1945 only Aug 14 23:00u 1:00 P # Peace Rule US 1945 only Sep 30 2:00 0 S Rule US 1967 2006 Oct lastSun 2:00 0 S Rule US 1967 1973 Apr lastSun 2:00 1:00 D Rule US 1974 only Jan 6 2:00 1:00 D Rule US 1975 only Feb 23 2:00 1:00 D Rule US 1976 1986 Apr lastSun 2:00 1:00 D Rule US 1987 2006 Apr Sun&amp;gt;=1 2:00 1:00 D Rule US 2007 max Mar Sun&amp;gt;=8 2:00 1:00 D Rule US 2007 max Nov Sun&amp;gt;=1 2:00 0 S What I didn&amp;#8217;t appreciate, until I finally unzipped and untarred a copy of ftp://elsie.nci.nih.gov/pub/tzdata2009o.tar.gz, is the historical scholarship scribbled in the margins of this remarkable database, or document, or hybrid of the two. You can see a glimpse of that scholarship in the above example. The most recent two rules define the latest (2007) change to US daylight savings. The spring forward rule says: &amp;#8220;On the second Sunday in March, at 2AM, save one hour, and use D to change EST to EDT.&amp;#8221; Likewise, on the fast-approaching first Sunday in November, spend one hour and go back to EST. But look at the rules for Feb 9 1942 and Aug 14 1945. The letters are W and P instead of D and S. And the comments tell us that during that period there were timezones like Eastern War Time (EWT) and Eastern Peace Time (EPT). Arthur David Olson elaborates: From Arthur David Olson (2000-09-25): Last night I heard part of a rebroadcast of a 1945 Arch Oboler radio drama. In the introduction, Oboler spoke of &amp;#8220;Eastern Peace Time.&amp;#8221; An AltaVista search turned up :&amp;#8221;When the time is announced over the radio now, it is &amp;#8216;Eastern Peace Time&amp;#8217; instead of the old familiar &amp;#8216;Eastern War Time.&amp;#8217; Peace is wonderful.&amp;#8221; &amp;nbsp; Most of this Talmudic scholarship comes from founding contributor Arthur David Olson and editor Paul Eggert, both of whose Wikipedia pages, although referenced from the Zoneinfo page, strangely do not exist. But the Olson/Eggert commentary is also interspersed with many contributions, like this one about the Mount Washington Observatory. From Dave Cantor (2004-11-02) Early this summer I had the occasion to visit the Mount Washington Observatory weather station atop (of course!) Mount Washington [, NH]&amp;#8230;. One of the staff members said that the station was on Eastern Standard Time and didn&amp;#8217;t change their clocks for Daylight Saving &amp;#8230; so that their reports will always have times which are 5 hours behind UTC. &amp;nbsp; Since Mount Washington has a climate all its own, I guess it makes sense for it to have its own time as well. Here&amp;#8217;s a glimpse of Alaska&amp;#8217;s timezone history: From Paul Eggert (2001-05-30): Howse writes that Alaska switched from the Julian to the Gregorian calendar, and from east-of-GMT to west-of-GMT days, when the US bought it from Russia. This was on 1867-10-18, a Friday; the previous day was 1867-10-06 Julian, also a Friday. Include only the time zone part of this transition, ignoring the switch from Julian to Gregorian, since we can&amp;#8217;t represent the Julian calendar. As far as we know, none of the exact locations mentioned below were permanently inhabited in 1867 by anyone using either calendar. (Yakutat was colonized by the Russians in 1799, but the settlement was destroyed in 1805 by a Yakutat-kon war party.) However, there were nearby inhabitants in some cases and for our purposes perhaps it&amp;#8217;s best to simply use the official transition. &amp;nbsp; You have to have a sense of humor about this stuff, and Paul Eggert does: From Paul Eggert (1999-03-31): Shanks writes that Michigan started using standard time on 1885-09-18, but Howse writes (pp 124-125, referring to Popular Astronomy, 1901-01) that Detroit kept local time until 1900 when the City Council decreed that clocks should be put back twenty-eight minutes to Central Standard Time. Half the city obeyed, half refused. After considerable debate, the decision was rescinded and the city reverted to Sun time. A derisive offer to erect a sundial in front of the city hall was referred to the Committee on Sewers. Then, in 1905, Central time was adopted by city vote. &amp;nbsp; This story is too entertaining to be false, so go with Howse over Shanks. &amp;nbsp; The document is chock full of these sorts of you-can&amp;#8217;t-make-this-stuff-up tales: From Paul Eggert (2001-03-06), following a tip by Markus Kuhn: Pam Belluck reported in the New York Times (2001-01-31) that the Indiana Legislature is considering a bill to adopt DST statewide. Her article mentioned Vevay, whose post office observes a different time zone from Danner&amp;#8217;s Hardware across the street. &amp;nbsp; I love this one about the cranky Portuguese prime minister: Martin Bruckmann (1996-02-29) reports via Peter Ilieve that Portugal is reverting to 0:00 by not moving its clocks this spring. The new Prime Minister was fed up with getting up in the dark in the winter. &amp;nbsp; Of course Gaza could hardly fail to exhibit weirdness: From Ephraim Silverberg (1997-03-04, 1998-03-16, 1998-12-28, 2000-01-17 and 2000-07-25): According to the Office of the Secretary General of the Ministry of Interior, there is NO set rule for Daylight-Savings/Standard time changes. One thing is entrenched in law, however: that there must be at least 150 days of daylight savings time annually. &amp;nbsp; The rule names for this zone are poignant too: # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Gaza 2:17:52 - LMT 1900 Oct 2:00 Zion EET 1948 May 15 2:00 EgyptAsia EE%sT 1967 Jun 5 2:00 Zion I%sT 1996 2:00 Jordan EE%sT 1999 2:00 Palestine EE%sT There&amp;#8217;s also some wonderful commentary in the various software libraries that embody the Olson database. Here&amp;#8217;s Stuart Bishop on why pytz, the Python implementation, supports almost all of the Olson timezones: As Saudi Arabia gave up trying to cope with their timezone definition, I see no reason to complicate my code further to cope with them. (I understand the intention was to set sunset to 0:00 local time, the start of the Islamic day. In the best case caused the DST offset to change daily and worst case caused the DST offset to change each instant depending on how you interpreted the ruling.) &amp;nbsp; It&amp;#8217;s all deliciously absurd. And according to Paul Eggert, Ben Franklin is having the last laugh: From Paul Eggert (2001-03-06): Daylight Saving Time was first suggested as a joke by Benjamin Franklin in his whimsical essay &amp;#8220;An Economical Project for Diminishing the Cost of Light&amp;#8221; published in the Journal de Paris (1784-04-26). Not everyone is happy with the results. &amp;nbsp; So is Olson/Zoneinfo/tz a database or a document? Clearly both. And its synthesis of the two modes is, I would argue, a nice example of literate programming.</itunes:subtitle>
      <itunes:summary>You will probably never need to know about the Olson database, also known as the Zoneinfo or tz database. And were it not for my elmcity project I never would have looked into it. I knew roughly that this bedrock database is a compendium of definitions of the world&amp;#8217;s timezones, plus rules for daylight savings transitions (DST), used by many operating systems and programming languages. I presumed that it was written Unix-style, in some kind of plain-text format, and that&amp;#8217;s true. Here, for example, are top-level DST rules for the United States since 1918: # Rule NAME FROM TO IN ON AT SAVE LETTER/S Rule US 1918 1919 Mar lastSun 2:00 1:00 D Rule US 1918 1919 Oct lastSun 2:00 0 S Rule US 1942 only Feb 9 2:00 1:00 W # War Rule US 1945 only Aug 14 23:00u 1:00 P # Peace Rule US 1945 only Sep 30 2:00 0 S Rule US 1967 2006 Oct lastSun 2:00 0 S Rule US 1967 1973 Apr lastSun 2:00 1:00 D Rule US 1974 only Jan 6 2:00 1:00 D Rule US 1975 only Feb 23 2:00 1:00 D Rule US 1976 1986 Apr lastSun 2:00 1:00 D Rule US 1987 2006 Apr Sun&amp;gt;=1 2:00 1:00 D Rule US 2007 max Mar Sun&amp;gt;=8 2:00 1:00 D Rule US 2007 max Nov Sun&amp;gt;=1 2:00 0 S What I didn&amp;#8217;t appreciate, until I finally unzipped and untarred a copy of ftp://elsie.nci.nih.gov/pub/tzdata2009o.tar.gz, is the historical scholarship scribbled in the margins of this remarkable database, or document, or hybrid of the two. You can see a glimpse of that scholarship in the above example. The most recent two rules define the latest (2007) change to US daylight savings. The spring forward rule says: &amp;#8220;On the second Sunday in March, at 2AM, save one hour, and use D to change EST to EDT.&amp;#8221; Likewise, on the fast-approaching first Sunday in November, spend one hour and go back to EST. But look at the rules for Feb 9 1942 and Aug 14 1945. The letters are W and P instead of D and S. And the comments tell us that during that period there were timezones like Eastern War Time (EWT) and Eastern Peace Time (EPT). Arthur David Olson elaborates: From Arthur David Olson (2000-09-25): Last night I heard part of a rebroadcast of a 1945 Arch Oboler radio drama. In the introduction, Oboler spoke of &amp;#8220;Eastern Peace Time.&amp;#8221; An AltaVista search turned up :&amp;#8221;When the time is announced over the radio now, it is &amp;#8216;Eastern Peace Time&amp;#8217; instead of the old familiar &amp;#8216;Eastern War Time.&amp;#8217; Peace is wonderful.&amp;#8221; &amp;nbsp; Most of this Talmudic scholarship comes from founding contributor Arthur David Olson and editor Paul Eggert, both of whose Wikipedia pages, although referenced from the Zoneinfo page, strangely do not exist. But the Olson/Eggert commentary is also interspersed with many contributions, like this one about the Mount Washington Observatory. From Dave Cantor (2004-11-02) Early this summer I had the occasion to visit the Mount Washington Observatory weather station atop (of course!) Mount Washington [, NH]&amp;#8230;. One of the staff members said that the station was on Eastern Standard Time and didn&amp;#8217;t change their clocks for Daylight Saving &amp;#8230; so that their reports will always have times which are 5 hours behind UTC. &amp;nbsp; Since Mount Washington has a climate all its own, I guess it makes sense for it to have its own time as well. Here&amp;#8217;s a glimpse of Alaska&amp;#8217;s timezone history: From Paul Eggert (2001-05-30): Howse writes that Alaska switched from the Julian to the Gregorian calendar, and from east-of-GMT to west-of-GMT days, when the US bought it from Russia. This was on 1867-10-18, a Friday; the previous day was 1867-10-06 Julian, also a Friday. Include only the time zone part of this transition, ignoring the switch from Julian to Gregorian, since we can&amp;#8217;t represent the Julian calendar. As far as we know, none of the exact locations mentioned below were permanently inhabited in 1867 by anyone using either calendar. (Yakutat was colonized by the Russians in 1799, but the settlement was destroyed in 1805 by a Yakutat-kon war party.) However, there were nearby inhabitants in some cases and for our purposes perhaps it&amp;#8217;s best to simply use the official transition. &amp;nbsp; You have to have a sense of humor about this stuff, and Paul Eggert does: From Paul Eggert (1999-03-31): Shanks writes that Michigan started using standard time on 1885-09-18, but Howse writes (pp 124-125, referring to Popular Astronomy, 1901-01) that Detroit kept local time until 1900 when the City Council decreed that clocks should be put back twenty-eight minutes to Central Standard Time. Half the city obeyed, half refused. After considerable debate, the decision was rescinded and the city reverted to Sun time. A derisive offer to erect a sundial in front of the city hall was referred to the Committee on Sewers. Then, in 1905, Central time was adopted by city vote. &amp;nbsp; This story is too entertaining to be false, so go with Howse over Shanks. &amp;nbsp; The document is chock full of these sorts of you-can&amp;#8217;t-make-this-stuff-up tales: From Paul Eggert (2001-03-06), following a tip by Markus Kuhn: Pam Belluck reported in the New York Times (2001-01-31) that the Indiana Legislature is considering a bill to adopt DST statewide. Her article mentioned Vevay, whose post office observes a different time zone from Danner&amp;#8217;s Hardware across the street. &amp;nbsp; I love this one about the cranky Portuguese prime minister: Martin Bruckmann (1996-02-29) reports via Peter Ilieve that Portugal is reverting to 0:00 by not moving its clocks this spring. The new Prime Minister was fed up with getting up in the dark in the winter. &amp;nbsp; Of course Gaza could hardly fail to exhibit weirdness: From Ephraim Silverberg (1997-03-04, 1998-03-16, 1998-12-28, 2000-01-17 and 2000-07-25): According to the Office of the Secretary General of the Ministry of Interior, there is NO set rule for Daylight-Savings/Standard time changes. One thing is entrenched in law, however: that there must be at least 150 days of daylight savings time annually. &amp;nbsp; The rule names for this zone are poignant too: # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Gaza 2:17:52 - LMT 1900 Oct 2:00 Zion EET 1948 May 15 2:00 EgyptAsia EE%sT 1967 Jun 5 2:00 Zion I%sT 1996 2:00 Jordan EE%sT 1999 2:00 Palestine EE%sT There&amp;#8217;s also some wonderful commentary in the various software libraries that embody the Olson database. Here&amp;#8217;s Stuart Bishop on why pytz, the Python implementation, supports almost all of the Olson timezones: As Saudi Arabia gave up trying to cope with their timezone definition, I see no reason to complicate my code further to cope with them. (I understand the intention was to set sunset to 0:00 local time, the start of the Islamic day. In the best case caused the DST offset to change daily and worst case caused the DST offset to change each instant depending on how you interpreted the ruling.) &amp;nbsp; It&amp;#8217;s all deliciously absurd. And according to Paul Eggert, Ben Franklin is having the last laugh: From Paul Eggert (2001-03-06): Daylight Saving Time was first suggested as a joke by Benjamin Franklin in his whimsical essay &amp;#8220;An Economical Project for Diminishing the Cost of Light&amp;#8221; published in the Journal de Paris (1784-04-26). Not everyone is happy with the results. &amp;nbsp; So is Olson/Zoneinfo/tz a database or a document? Clearly both. And its synthesis of the two modes is, I would argue, a nice example of literate programming.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-23,25356414</guid>
      <pubDate>Fri, 23 Oct 2009 07:45:19 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>More Python and C# idioms: Finding the difference between two list</title>
      <link>http://odeo.com/episodes/25349378-More-Python-and-C-idioms-Finding-the-difference-between-two-list</link>
      <description>Recently I&amp;#8217;ve posted two examples[1, 2] of Python idioms alongside corresponding C# idioms. It always intrigues me to look at the same concept through different lenses, and it seems to intrigue others as well, so here&amp;#8217;s a third installment. Today&amp;#8217;s example comes from a real scenario. I&amp;#8217;ve recently added a feature to the elmcity service that enables curators to control their hubs by sending Twitter direct messages to the service. One method, GetDirectMessagesFromTwitter, calls the Twitter API and returns a list of direct messages sent to the elmcity service. Another method, GetDirectMessagesFromAzure, calls the Azure table storage API and returns a list of direct messages stored there. The difference between the two lists &amp;#8212; if any &amp;#8212; represents new messages to be processed. Here&amp;#8217;s one take on Python and C# idioms for finding the difference between two lists: Python C# fetched_messages = TwitterApi.GetDirectMessagesFromTwitter(); stored_message...</description>
      <itunes:subtitle>Recently I&amp;#8217;ve posted two examples[1, 2] of Python idioms alongside corresponding C# idioms. It always intrigues me to look at the same concept through different lenses, and it seems to intrigue others as well, so here&amp;#8217;s a third installment. Today&amp;#8217;s example comes from a real scenario. I&amp;#8217;ve recently added a feature to the elmcity service that enables curators to control their hubs by sending Twitter direct messages to the service. One method, GetDirectMessagesFromTwitter, calls the Twitter API and returns a list of direct messages sent to the elmcity service. Another method, GetDirectMessagesFromAzure, calls the Azure table storage API and returns a list of direct messages stored there. The difference between the two lists &amp;#8212; if any &amp;#8212; represents new messages to be processed. Here&amp;#8217;s one take on Python and C# idioms for finding the difference between two lists: Python C# fetched_messages = TwitterApi.GetDirectMessagesFromTwitter(); stored_messages = GetDirectMessagesFromAzure(); diff = set(fetched_messages) - set(stored_messages) return list(diff) var fetched_messages = GetDirectMessagesFromTwitter(); var stored_messages = GetDirectMessagesFromAzure(); var diff = fetched_messages.Except(stored_messages); return diff.ToList(); I can&amp;#8217;t decide which one I prefer. Python&amp;#8217;s set arithmetic is mathematically pure. But C#&amp;#8217;s noun-verb syntax is appealing too. Which do you prefer? And why? PS: The Python example above is slightly concocted. It won&amp;#8217;t work as shown here because I&amp;#8217;m modeling Twitter direct messages as .NET objects. IronPython can use those objects, but the set subtraction fails because the objects returned from the two API calls aren&amp;#8217;t directly comparable. A real working example would add something like this: fetched_message_sigs = [x.text+x.datetime for x in fetched_messages] stored_message_sigs = [x.text+x.datetime for x in stored_messages] diff = list(set(fetched_message_sigs) - set(stored_message_sigs)) But that&amp;#8217;s a detail that would only obscure the side-by-side I&amp;#8217;m making here.</itunes:subtitle>
      <itunes:summary>Recently I&amp;#8217;ve posted two examples[1, 2] of Python idioms alongside corresponding C# idioms. It always intrigues me to look at the same concept through different lenses, and it seems to intrigue others as well, so here&amp;#8217;s a third installment. Today&amp;#8217;s example comes from a real scenario. I&amp;#8217;ve recently added a feature to the elmcity service that enables curators to control their hubs by sending Twitter direct messages to the service. One method, GetDirectMessagesFromTwitter, calls the Twitter API and returns a list of direct messages sent to the elmcity service. Another method, GetDirectMessagesFromAzure, calls the Azure table storage API and returns a list of direct messages stored there. The difference between the two lists &amp;#8212; if any &amp;#8212; represents new messages to be processed. Here&amp;#8217;s one take on Python and C# idioms for finding the difference between two lists: Python C# fetched_messages = TwitterApi.GetDirectMessagesFromTwitter(); stored_messages = GetDirectMessagesFromAzure(); diff = set(fetched_messages) - set(stored_messages) return list(diff) var fetched_messages = GetDirectMessagesFromTwitter(); var stored_messages = GetDirectMessagesFromAzure(); var diff = fetched_messages.Except(stored_messages); return diff.ToList(); I can&amp;#8217;t decide which one I prefer. Python&amp;#8217;s set arithmetic is mathematically pure. But C#&amp;#8217;s noun-verb syntax is appealing too. Which do you prefer? And why? PS: The Python example above is slightly concocted. It won&amp;#8217;t work as shown here because I&amp;#8217;m modeling Twitter direct messages as .NET objects. IronPython can use those objects, but the set subtraction fails because the objects returned from the two API calls aren&amp;#8217;t directly comparable. A real working example would add something like this: fetched_message_sigs = [x.text+x.datetime for x in fetched_messages] stored_message_sigs = [x.text+x.datetime for x in stored_messages] diff = list(set(fetched_message_sigs) - set(stored_message_sigs)) But that&amp;#8217;s a detail that would only obscure the side-by-side I&amp;#8217;m making here.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-22,25349378</guid>
      <pubDate>Thu, 22 Oct 2009 16:20:53 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>More Python and C# idioms: Finding the difference between two lists</title>
      <link>http://odeo.com/episodes/25381050-More-Python-and-C-idioms-Finding-the-difference-between-two-lists</link>
      <description>Recently I&amp;#8217;ve posted two examples[1, 2] of Python idioms alongside corresponding C# idioms. It always intrigues me to look at the same concept through different lenses, and it seems to intrigue others as well, so here&amp;#8217;s a third installment. Today&amp;#8217;s example comes from a real scenario. I&amp;#8217;ve recently added a feature to the elmcity service that enables curators to control their hubs by sending Twitter direct messages to the service. One method, GetDirectMessagesFromTwitter, calls the Twitter API and returns a list of direct messages sent to the elmcity service. Another method, GetDirectMessagesFromAzure, calls the Azure table storage API and returns a list of direct messages stored there. The difference between the two lists &amp;#8212; if any &amp;#8212; represents new messages to be processed. Here&amp;#8217;s one take on Python and C# idioms for finding the difference between two lists: Python C# fetched_messages = GetDirectMessagesFromTwitter(); stored_messages = GetDire...</description>
      <itunes:subtitle>Recently I&amp;#8217;ve posted two examples[1, 2] of Python idioms alongside corresponding C# idioms. It always intrigues me to look at the same concept through different lenses, and it seems to intrigue others as well, so here&amp;#8217;s a third installment. Today&amp;#8217;s example comes from a real scenario. I&amp;#8217;ve recently added a feature to the elmcity service that enables curators to control their hubs by sending Twitter direct messages to the service. One method, GetDirectMessagesFromTwitter, calls the Twitter API and returns a list of direct messages sent to the elmcity service. Another method, GetDirectMessagesFromAzure, calls the Azure table storage API and returns a list of direct messages stored there. The difference between the two lists &amp;#8212; if any &amp;#8212; represents new messages to be processed. Here&amp;#8217;s one take on Python and C# idioms for finding the difference between two lists: Python C# fetched_messages = GetDirectMessagesFromTwitter(); stored_messages = GetDirectMessagesFromAzure(); diff = set(fetched_messages) - set(stored_messages) return list(diff) var fetched_messages = GetDirectMessagesFromTwitter(); var stored_messages = GetDirectMessagesFromAzure(); var diff = fetched_messages.Except( stored_messages); return diff.ToList(); I can&amp;#8217;t decide which one I prefer. Python&amp;#8217;s set arithmetic is mathematically pure. But C#&amp;#8217;s noun-verb syntax is appealing too. Which do you prefer? And why? PS: The Python example above is slightly concocted. It won&amp;#8217;t work as shown here because I&amp;#8217;m modeling Twitter direct messages as .NET objects. IronPython can use those objects, but the set subtraction fails because the objects returned from the two API calls aren&amp;#8217;t directly comparable. A real working example would add something like this: fetched_message_sigs = [x.text+x.datetime for x in fetched_messages] stored_message_sigs = [x.text+x.datetime for x in stored_messages] diff = list(set(fetched_message_sigs) - set(stored_message_sigs)) But that&amp;#8217;s a detail that would only obscure the side-by-side comparison I&amp;#8217;m making here.</itunes:subtitle>
      <itunes:summary>Recently I&amp;#8217;ve posted two examples[1, 2] of Python idioms alongside corresponding C# idioms. It always intrigues me to look at the same concept through different lenses, and it seems to intrigue others as well, so here&amp;#8217;s a third installment. Today&amp;#8217;s example comes from a real scenario. I&amp;#8217;ve recently added a feature to the elmcity service that enables curators to control their hubs by sending Twitter direct messages to the service. One method, GetDirectMessagesFromTwitter, calls the Twitter API and returns a list of direct messages sent to the elmcity service. Another method, GetDirectMessagesFromAzure, calls the Azure table storage API and returns a list of direct messages stored there. The difference between the two lists &amp;#8212; if any &amp;#8212; represents new messages to be processed. Here&amp;#8217;s one take on Python and C# idioms for finding the difference between two lists: Python C# fetched_messages = GetDirectMessagesFromTwitter(); stored_messages = GetDirectMessagesFromAzure(); diff = set(fetched_messages) - set(stored_messages) return list(diff) var fetched_messages = GetDirectMessagesFromTwitter(); var stored_messages = GetDirectMessagesFromAzure(); var diff = fetched_messages.Except( stored_messages); return diff.ToList(); I can&amp;#8217;t decide which one I prefer. Python&amp;#8217;s set arithmetic is mathematically pure. But C#&amp;#8217;s noun-verb syntax is appealing too. Which do you prefer? And why? PS: The Python example above is slightly concocted. It won&amp;#8217;t work as shown here because I&amp;#8217;m modeling Twitter direct messages as .NET objects. IronPython can use those objects, but the set subtraction fails because the objects returned from the two API calls aren&amp;#8217;t directly comparable. A real working example would add something like this: fetched_message_sigs = [x.text+x.datetime for x in fetched_messages] stored_message_sigs = [x.text+x.datetime for x in stored_messages] diff = list(set(fetched_message_sigs) - set(stored_message_sigs)) But that&amp;#8217;s a detail that would only obscure the side-by-side comparison I&amp;#8217;m making here.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-22,25381050</guid>
      <pubDate>Thu, 22 Oct 2009 16:20:53 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>To: elmcity, From: @curator, Message: start</title>
      <link>http://odeo.com/episodes/25325383-To-elmcity-From-curator-Message-start</link>
      <description>Because I am lazy, curious, and evangelical, the elmcity service works in an unusual way. Anything that I can delegate to other services I do. So when curators add feeds to hubs, or modify the behavior of hubs, they do it by bookmarking and tagging URLs at delicious.com. It would be foolish to only keep that registry and configuration data in delicious, so I don&amp;#8217;t, I persist it to Azure tables. But for now, I&amp;#8217;m delegating the data entry interface to delicious. It&amp;#8217;s a lazy approach, in the good sense of lazy. I don&amp;#8217;t want to build my own data entry system unless I can add important value, and in this case I can&amp;#8217;t. I&amp;#8217;m also curious to see how far this approach can take us. As the project has evolved, so has the tag vocabulary spoken between curators and the service. It&amp;#8217;s an easy and natural process, and I don&amp;#8217;t see any roadblocks ahead. Finally, I&amp;#8217;m evangelizing this way of doing things because I continue to think that more people ...</description>
      <itunes:subtitle>Because I am lazy, curious, and evangelical, the elmcity service works in an unusual way. Anything that I can delegate to other services I do. So when curators add feeds to hubs, or modify the behavior of hubs, they do it by bookmarking and tagging URLs at delicious.com. It would be foolish to only keep that registry and configuration data in delicious, so I don&amp;#8217;t, I persist it to Azure tables. But for now, I&amp;#8217;m delegating the data entry interface to delicious. It&amp;#8217;s a lazy approach, in the good sense of lazy. I don&amp;#8217;t want to build my own data entry system unless I can add important value, and in this case I can&amp;#8217;t. I&amp;#8217;m also curious to see how far this approach can take us. As the project has evolved, so has the tag vocabulary spoken between curators and the service. It&amp;#8217;s an easy and natural process, and I don&amp;#8217;t see any roadblocks ahead. Finally, I&amp;#8217;m evangelizing this way of doing things because I continue to think that more people should appreciate it. In this scenario I&amp;#8217;ve delegated something else to delicious: authentication. My service doesn&amp;#8217;t have its own user accounts. Instead, as the administrator of the service, I tell it to trust a specific set of delicious accounts. When one of those accounts bookmarks an iCalendar URL, and tags it in a particular way, the service regards that as an authenticated request to add the feed to that hub&amp;#8217;s registry. Other requests that curators can make include: Make the radius for my hub 5 miles. Make my timezone Arizona. Make my CSS file to this URL. But here&amp;#8217;s one that curators have wanted to make and couldn&amp;#8217;t: I just added a feed or changed a configuration option. Please reprocess my hub ASAP. We could represent this message with a tag. Or we could use the rudimentary messaging system in delicious. But these approaches seemed awkward, and I rejected them. Well, why not Twitter? True, it means that curators who want to send messages to the service will now need accounts in two places. But if they don&amp;#8217;t already have accounts on both delicious and Twitter, they can create them. And those accounts will serve them in a variety of ways, unlike a single-purpose account on elmcity. So, it&amp;#8217;s done. As the curator for Keene, I&amp;#8217;ve added the tag twitter=judell to the delicious account that controls the Keene hub. As the elmcity service periodically scans its designated set of delicious accounts, it follows any Twitter handle it isn&amp;#8217;t already following. Those Twitter accounts can then send direct messages to the Twitter account of the elmcity service. For now there&amp;#8217;s only one thing a curator can say to the service in a direct message &amp;#8212; &amp;#8220;start&amp;#8221; &amp;#8212; which means &amp;#8220;please reprocess my hub ASAP.&amp;#8221; But I&amp;#8217;m sure the control vocabulary will evolve. And of course the service can use the channel to send notifications back to curators. Twitter is famously unreliable, but that should be OK for my purposes. We&amp;#8217;re not controlling the space shuttle. If a message doesn&amp;#8217;t get through to the service on the first or second try, it&amp;#8217;ll get through eventually, and that&amp;#8217;ll be good enough. Someday I may have to build a data entry system and an accounts system. Then again, maybe not. Meanwhile I&amp;#8217;m going to keep exploring this lightweight approach. It&amp;#8217;s effective and, not coincidentally, it&amp;#8217;s fun.</itunes:subtitle>
      <itunes:summary>Because I am lazy, curious, and evangelical, the elmcity service works in an unusual way. Anything that I can delegate to other services I do. So when curators add feeds to hubs, or modify the behavior of hubs, they do it by bookmarking and tagging URLs at delicious.com. It would be foolish to only keep that registry and configuration data in delicious, so I don&amp;#8217;t, I persist it to Azure tables. But for now, I&amp;#8217;m delegating the data entry interface to delicious. It&amp;#8217;s a lazy approach, in the good sense of lazy. I don&amp;#8217;t want to build my own data entry system unless I can add important value, and in this case I can&amp;#8217;t. I&amp;#8217;m also curious to see how far this approach can take us. As the project has evolved, so has the tag vocabulary spoken between curators and the service. It&amp;#8217;s an easy and natural process, and I don&amp;#8217;t see any roadblocks ahead. Finally, I&amp;#8217;m evangelizing this way of doing things because I continue to think that more people should appreciate it. In this scenario I&amp;#8217;ve delegated something else to delicious: authentication. My service doesn&amp;#8217;t have its own user accounts. Instead, as the administrator of the service, I tell it to trust a specific set of delicious accounts. When one of those accounts bookmarks an iCalendar URL, and tags it in a particular way, the service regards that as an authenticated request to add the feed to that hub&amp;#8217;s registry. Other requests that curators can make include: Make the radius for my hub 5 miles. Make my timezone Arizona. Make my CSS file to this URL. But here&amp;#8217;s one that curators have wanted to make and couldn&amp;#8217;t: I just added a feed or changed a configuration option. Please reprocess my hub ASAP. We could represent this message with a tag. Or we could use the rudimentary messaging system in delicious. But these approaches seemed awkward, and I rejected them. Well, why not Twitter? True, it means that curators who want to send messages to the service will now need accounts in two places. But if they don&amp;#8217;t already have accounts on both delicious and Twitter, they can create them. And those accounts will serve them in a variety of ways, unlike a single-purpose account on elmcity. So, it&amp;#8217;s done. As the curator for Keene, I&amp;#8217;ve added the tag twitter=judell to the delicious account that controls the Keene hub. As the elmcity service periodically scans its designated set of delicious accounts, it follows any Twitter handle it isn&amp;#8217;t already following. Those Twitter accounts can then send direct messages to the Twitter account of the elmcity service. For now there&amp;#8217;s only one thing a curator can say to the service in a direct message &amp;#8212; &amp;#8220;start&amp;#8221; &amp;#8212; which means &amp;#8220;please reprocess my hub ASAP.&amp;#8221; But I&amp;#8217;m sure the control vocabulary will evolve. And of course the service can use the channel to send notifications back to curators. Twitter is famously unreliable, but that should be OK for my purposes. We&amp;#8217;re not controlling the space shuttle. If a message doesn&amp;#8217;t get through to the service on the first or second try, it&amp;#8217;ll get through eventually, and that&amp;#8217;ll be good enough. Someday I may have to build a data entry system and an accounts system. Then again, maybe not. Meanwhile I&amp;#8217;m going to keep exploring this lightweight approach. It&amp;#8217;s effective and, not coincidentally, it&amp;#8217;s fun.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-21,25325383</guid>
      <pubDate>Wed, 21 Oct 2009 10:41:02 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Restructuring expert attention to revive the lost art of personal customer service</title>
      <link>http://odeo.com/episodes/25317345-Restructuring-expert-attention-to-revive-the-lost-art-of-personal-customer-service</link>
      <description>Instead of mourning the lost art of personal customer service, I would rather celebrate examples that show it&amp;#8217;s still possible. Yesterday I found two gems. First, Southwest Airlines. I had booked a round-trip flight and then needed to change to one-way. You can&amp;#8217;t do that online. So I clenched my jaw, called customer service, and prepared for the long wait. Instead, this: IVR: &amp;#8220;Would you like us to call you back in about 20 minutes?&amp;#8221; Me: &amp;#8220;Why&amp;#8230;yes! Beep, beep, beep, beep, beep, beep, beep, #.&amp;#8221; My jaw relaxed. Twenty or so minutes later, an agent called back and we made the change. Now the unclenched jaw morphed into a smile. Second, FindTape.com. I&amp;#8217;m making interior storm windows and I need double-stick tape for the project. Which, sure, you can buy online. But the smorgasbord of choices is paralyzing. I wasted a half-hour trying to figure out which product would best suit my unusual application and made no progress whatsoever. Then, at ...</description>
      <itunes:subtitle>Instead of mourning the lost art of personal customer service, I would rather celebrate examples that show it&amp;#8217;s still possible. Yesterday I found two gems. First, Southwest Airlines. I had booked a round-trip flight and then needed to change to one-way. You can&amp;#8217;t do that online. So I clenched my jaw, called customer service, and prepared for the long wait. Instead, this: IVR: &amp;#8220;Would you like us to call you back in about 20 minutes?&amp;#8221; Me: &amp;#8220;Why&amp;#8230;yes! Beep, beep, beep, beep, beep, beep, beep, #.&amp;#8221; My jaw relaxed. Twenty or so minutes later, an agent called back and we made the change. Now the unclenched jaw morphed into a smile. Second, FindTape.com. I&amp;#8217;m making interior storm windows and I need double-stick tape for the project. Which, sure, you can buy online. But the smorgasbord of choices is paralyzing. I wasted a half-hour trying to figure out which product would best suit my unusual application and made no progress whatsoever. Then, at FindTape.com, I read this: If you have a specific question related to which tape would work best in your application please fill out and submit the following fields so that we can have an appropriate representative get back in contact with you. A fellow named Kevin wrote back, we&amp;#8217;ve have been discussing my options, and now I&amp;#8217;m ready to buy. Both examples remind me of Michael Nielsen&amp;#8217;s luminous phrase: the restructuring of expert attention. He coined it to define a new era of scientific collaboration, but it applies more broadly. We&amp;#8217;ve been told that companies can&amp;#8217;t afford to focus expert attention on customers. The truth, of course, is that they can&amp;#8217;t afford not to. For a generation and more we&amp;#8217;ve driven a wedge between people who have expertise with products and services and people who need that expertise. How&amp;#8217;s that working for you? Me neither. It&amp;#8217;s true that expert attention is a scarce resource. But we&amp;#8217;re living through a Cambrian explosion of awareness networks and communication modes. Used adroitly, they can optimize the allocation of that scarce resource. Which is a fancy way of saying: Maybe personal customer service isn&amp;#8217;t a lost art after all.</itunes:subtitle>
      <itunes:summary>Instead of mourning the lost art of personal customer service, I would rather celebrate examples that show it&amp;#8217;s still possible. Yesterday I found two gems. First, Southwest Airlines. I had booked a round-trip flight and then needed to change to one-way. You can&amp;#8217;t do that online. So I clenched my jaw, called customer service, and prepared for the long wait. Instead, this: IVR: &amp;#8220;Would you like us to call you back in about 20 minutes?&amp;#8221; Me: &amp;#8220;Why&amp;#8230;yes! Beep, beep, beep, beep, beep, beep, beep, #.&amp;#8221; My jaw relaxed. Twenty or so minutes later, an agent called back and we made the change. Now the unclenched jaw morphed into a smile. Second, FindTape.com. I&amp;#8217;m making interior storm windows and I need double-stick tape for the project. Which, sure, you can buy online. But the smorgasbord of choices is paralyzing. I wasted a half-hour trying to figure out which product would best suit my unusual application and made no progress whatsoever. Then, at FindTape.com, I read this: If you have a specific question related to which tape would work best in your application please fill out and submit the following fields so that we can have an appropriate representative get back in contact with you. A fellow named Kevin wrote back, we&amp;#8217;ve have been discussing my options, and now I&amp;#8217;m ready to buy. Both examples remind me of Michael Nielsen&amp;#8217;s luminous phrase: the restructuring of expert attention. He coined it to define a new era of scientific collaboration, but it applies more broadly. We&amp;#8217;ve been told that companies can&amp;#8217;t afford to focus expert attention on customers. The truth, of course, is that they can&amp;#8217;t afford not to. For a generation and more we&amp;#8217;ve driven a wedge between people who have expertise with products and services and people who need that expertise. How&amp;#8217;s that working for you? Me neither. It&amp;#8217;s true that expert attention is a scarce resource. But we&amp;#8217;re living through a Cambrian explosion of awareness networks and communication modes. Used adroitly, they can optimize the allocation of that scarce resource. Which is a fancy way of saying: Maybe personal customer service isn&amp;#8217;t a lost art after all.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-20,25317345</guid>
      <pubDate>Tue, 20 Oct 2009 06:27:51 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Allman Brothers, Oct 14: Huntington or Nashville? A parable about syndication and provenance.</title>
      <link>http://odeo.com/episodes/25290754-Allman-Brothers-Oct-14-Huntington-or-Nashville-A-parable-about-syndication-and-provenance</link>
      <description>Yesterday Bill Rawlinson, the elmcity curator for Huntington, WV, noticed something odd about an event that showed up on Eventful.com: Here&amp;#8217;s the example: http://eventful.com/huntington/events/allman-brothers-/E0-001-020736056-0. It appears the Allman Brothers were in concert today, but I&amp;#8217;m pretty sure they weren&amp;#8217;t. I&amp;#8217;m pretty sure they weren&amp;#8217;t either. At AllmanBrothersBand.com it says they were in Nashville on October 14. But if that&amp;#8217;s true, Eventful isn&amp;#8217;t the only site that got it wrong date. So, apparently, did a number of event-gathering and ticket-selling sites. Here are couple of examples I found. In cases like these it&amp;#8217;s hard to nail down the provenance of a &amp;#8220;fact&amp;#8221; such as Allman Brothers, Huntington WV, October 14 2009. There is clearly syndication going on, but who&amp;#8217;s upstream and who&amp;#8217;s downstream? How is the network of feeds interconnected? Which is the authoritative source? I know what the answer to al...</description>
      <itunes:subtitle>Yesterday Bill Rawlinson, the elmcity curator for Huntington, WV, noticed something odd about an event that showed up on Eventful.com: Here&amp;#8217;s the example: http://eventful.com/huntington/events/allman-brothers-/E0-001-020736056-0. It appears the Allman Brothers were in concert today, but I&amp;#8217;m pretty sure they weren&amp;#8217;t. I&amp;#8217;m pretty sure they weren&amp;#8217;t either. At AllmanBrothersBand.com it says they were in Nashville on October 14. But if that&amp;#8217;s true, Eventful isn&amp;#8217;t the only site that got it wrong date. So, apparently, did a number of event-gathering and ticket-selling sites. Here are couple of examples I found. In cases like these it&amp;#8217;s hard to nail down the provenance of a &amp;#8220;fact&amp;#8221; such as Allman Brothers, Huntington WV, October 14 2009. There is clearly syndication going on, but who&amp;#8217;s upstream and who&amp;#8217;s downstream? How is the network of feeds interconnected? Which is the authoritative source? I know what the answer to all these questions should be. The Allman Brothers themselves should be the authoritative source, and everyone else should syndicate from them. If AllmanBrothersBand.com published its schedule as calendar data rather than as calendarish web pages, the organization could control the data. Was there originally a concert planned for Huntington on the 14th? I don&amp;#8217;t know, but say for the sake of argument there was. The Allman Brothers calendarish web page cannot effectively propagate a change of plan. An iCalendar feed, on the other hand, could. But calendarish web page are almost never alternately available as machine-readable iCalendar data that can reliably syndicate. Looking under the covers, I see that AllmanBrothersBand.com is a PostNuke site. Are there calendar modules for PostNuke that export iCalendar? None of the ones that I found seem to. Why don&amp;#8217;t more content management systems make event information available as useful data? Why do they instead advertise things like XHTML compliance and not-very-useful RSS feeds? Because, chicken-and-egg, nobody ever seems to expect an iCalendar feed. If we can change that expectation, a nice chunk of the real-world semantic web will fall into place. And it won&amp;#8217;t require RDFa or SPARQL or ontologies. Just good old RFC2445, right under our noses the whole time, if only we would open our eyes and look.</itunes:subtitle>
      <itunes:summary>Yesterday Bill Rawlinson, the elmcity curator for Huntington, WV, noticed something odd about an event that showed up on Eventful.com: Here&amp;#8217;s the example: http://eventful.com/huntington/events/allman-brothers-/E0-001-020736056-0. It appears the Allman Brothers were in concert today, but I&amp;#8217;m pretty sure they weren&amp;#8217;t. I&amp;#8217;m pretty sure they weren&amp;#8217;t either. At AllmanBrothersBand.com it says they were in Nashville on October 14. But if that&amp;#8217;s true, Eventful isn&amp;#8217;t the only site that got it wrong date. So, apparently, did a number of event-gathering and ticket-selling sites. Here are couple of examples I found. In cases like these it&amp;#8217;s hard to nail down the provenance of a &amp;#8220;fact&amp;#8221; such as Allman Brothers, Huntington WV, October 14 2009. There is clearly syndication going on, but who&amp;#8217;s upstream and who&amp;#8217;s downstream? How is the network of feeds interconnected? Which is the authoritative source? I know what the answer to all these questions should be. The Allman Brothers themselves should be the authoritative source, and everyone else should syndicate from them. If AllmanBrothersBand.com published its schedule as calendar data rather than as calendarish web pages, the organization could control the data. Was there originally a concert planned for Huntington on the 14th? I don&amp;#8217;t know, but say for the sake of argument there was. The Allman Brothers calendarish web page cannot effectively propagate a change of plan. An iCalendar feed, on the other hand, could. But calendarish web page are almost never alternately available as machine-readable iCalendar data that can reliably syndicate. Looking under the covers, I see that AllmanBrothersBand.com is a PostNuke site. Are there calendar modules for PostNuke that export iCalendar? None of the ones that I found seem to. Why don&amp;#8217;t more content management systems make event information available as useful data? Why do they instead advertise things like XHTML compliance and not-very-useful RSS feeds? Because, chicken-and-egg, nobody ever seems to expect an iCalendar feed. If we can change that expectation, a nice chunk of the real-world semantic web will fall into place. And it won&amp;#8217;t require RDFa or SPARQL or ontologies. Just good old RFC2445, right under our noses the whole time, if only we would open our eyes and look.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-15,25290754</guid>
      <pubDate>Thu, 15 Oct 2009 08:18:54 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Talking with Daniel Debow about using Rypple to open the Johari Window</title>
      <link>http://odeo.com/episodes/25279707-Talking-with-Daniel-Debow-about-using-Rypple-to-open-the-Johari-Window</link>
      <description>On this week&amp;#8217;s Innovators show, with Daniel Debow of Rypple, I learned about a cognitive psychological tool called the Johari Window. Rypple focuses on the quadrant of the Johari Window at the intersection of &amp;#8220;known to others&amp;#8221; and &amp;#8220;not known to self&amp;#8221; &amp;#8212; the so-called blind area. The company is dedicated to the proposition that if we can become more aware of what others know about us that we don&amp;#8217;t, we can improve ourselves along various axes: personal, social, and &amp;#8212; critically for Rypple&amp;#8217;s business model &amp;#8212; professionally. How do you gain that awareness? By asking questions like: Am I giving sufficiently clear guidance? or Do I interrupt people too often? You direct these questions to a set of people whose feedback you value. Rypple anonymizes their responses and, to the extent you buy into the service, provides a progressively capable framework within which to continue the dialogue. This is a great idea, and one of the very f...</description>
      <itunes:subtitle>On this week&amp;#8217;s Innovators show, with Daniel Debow of Rypple, I learned about a cognitive psychological tool called the Johari Window. Rypple focuses on the quadrant of the Johari Window at the intersection of &amp;#8220;known to others&amp;#8221; and &amp;#8220;not known to self&amp;#8221; &amp;#8212; the so-called blind area. The company is dedicated to the proposition that if we can become more aware of what others know about us that we don&amp;#8217;t, we can improve ourselves along various axes: personal, social, and &amp;#8212; critically for Rypple&amp;#8217;s business model &amp;#8212; professionally. How do you gain that awareness? By asking questions like: Am I giving sufficiently clear guidance? or Do I interrupt people too often? You direct these questions to a set of people whose feedback you value. Rypple anonymizes their responses and, to the extent you buy into the service, provides a progressively capable framework within which to continue the dialogue. This is a great idea, and one of the very few appropriate uses for online anonymity that I can imagine. Rypple, as a company, lives at the intersection of a couple of key trends. Social media, obviously, but also the services ecosystem. As we discuss in the podcast, corporate HR has historically been a monolith that expects 100% compliance with its systems. But people, as we know, differ emotionally and cognitively. We should be able to use a variety of methods to manage and evaluate people, and help them manage and evaluate themselves. Software delivered as a service is an enabler of that possibility. Here&amp;#8217;s a twist: A company won&amp;#8217;t have access to the feedback that employees solicit using Rypple. Daniel Debow says that HR folks, well aware of mainstream social software, are ready to embrace this model. I hope he&amp;#8217;s right. His favorite recent story about Rypple goes like this: At an HR conference I talked to the CEO of a company that uses Rypple. He&amp;#8217;s excited about what we&amp;#8217;re doing, but he said: &amp;#8220;You have a real problem. Use of your system might make your system obselete. We&amp;#8217;ve been using it for a while now, and I&amp;#8217;ve noticed that people are much more willing to give me feedback face-to-face, they&amp;#8217;re willing to talk to me.&amp;#8221; Well that&amp;#8217;s the furthest thing from a problem I can imagine. It&amp;#8217;s like saying to Facebook, you&amp;#8217;ve got a problem, people keep meeting on Facebook and then meeting up in person and creating real relationships offline. Actually that would be problem for Facebook. But Rypple isn&amp;#8217;t about pageviews, it&amp;#8217;s about helping people improve. Which seems like a great idea to me. You can, by the way, use Rypple not only to solicit anonymized feedback from a chosen set of responders, but also from an open-ended set. So here&amp;#8217;s my question: How can I make my ideas more accessible and more actionable? I&amp;#8217;m asking a chosen set too, but if you can perceive my blind spot I&amp;#8217;d love to know what you see there.</itunes:subtitle>
      <itunes:summary>On this week&amp;#8217;s Innovators show, with Daniel Debow of Rypple, I learned about a cognitive psychological tool called the Johari Window. Rypple focuses on the quadrant of the Johari Window at the intersection of &amp;#8220;known to others&amp;#8221; and &amp;#8220;not known to self&amp;#8221; &amp;#8212; the so-called blind area. The company is dedicated to the proposition that if we can become more aware of what others know about us that we don&amp;#8217;t, we can improve ourselves along various axes: personal, social, and &amp;#8212; critically for Rypple&amp;#8217;s business model &amp;#8212; professionally. How do you gain that awareness? By asking questions like: Am I giving sufficiently clear guidance? or Do I interrupt people too often? You direct these questions to a set of people whose feedback you value. Rypple anonymizes their responses and, to the extent you buy into the service, provides a progressively capable framework within which to continue the dialogue. This is a great idea, and one of the very few appropriate uses for online anonymity that I can imagine. Rypple, as a company, lives at the intersection of a couple of key trends. Social media, obviously, but also the services ecosystem. As we discuss in the podcast, corporate HR has historically been a monolith that expects 100% compliance with its systems. But people, as we know, differ emotionally and cognitively. We should be able to use a variety of methods to manage and evaluate people, and help them manage and evaluate themselves. Software delivered as a service is an enabler of that possibility. Here&amp;#8217;s a twist: A company won&amp;#8217;t have access to the feedback that employees solicit using Rypple. Daniel Debow says that HR folks, well aware of mainstream social software, are ready to embrace this model. I hope he&amp;#8217;s right. His favorite recent story about Rypple goes like this: At an HR conference I talked to the CEO of a company that uses Rypple. He&amp;#8217;s excited about what we&amp;#8217;re doing, but he said: &amp;#8220;You have a real problem. Use of your system might make your system obselete. We&amp;#8217;ve been using it for a while now, and I&amp;#8217;ve noticed that people are much more willing to give me feedback face-to-face, they&amp;#8217;re willing to talk to me.&amp;#8221; Well that&amp;#8217;s the furthest thing from a problem I can imagine. It&amp;#8217;s like saying to Facebook, you&amp;#8217;ve got a problem, people keep meeting on Facebook and then meeting up in person and creating real relationships offline. Actually that would be problem for Facebook. But Rypple isn&amp;#8217;t about pageviews, it&amp;#8217;s about helping people improve. Which seems like a great idea to me. You can, by the way, use Rypple not only to solicit anonymized feedback from a chosen set of responders, but also from an open-ended set. So here&amp;#8217;s my question: How can I make my ideas more accessible and more actionable? I&amp;#8217;m asking a chosen set too, but if you can perceive my blind spot I&amp;#8217;d love to know what you see there.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-13,25279707</guid>
      <pubDate>Tue, 13 Oct 2009 08:07:03 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>More visualization of Nobel Peace Prize winners in Freebase</title>
      <link>http://odeo.com/episodes/25272589-More-visualization-of-Nobel-Peace-Prize-winners-in-Freebase</link>
      <description>To sharpen the point I made the other day about the eroding bias toward giving the Nobel Peace Prize to Americans and Europeans, here&amp;#8217;s a comparison of the nationalities of winners before and after 1960. 1901-2009 nobel peace prize winners by nationality before 1960 after 1960 Here&amp;#8217;s another point I forgot to mention. There are gaps in timeline for the Nobel Peace Prize, because it wasn&amp;#8217;t awarded in 1914-1918, 1923, 1924, 1928, 1932, 1939-1943, 1948, 1955-1956, 1966-1967 and 1972. The timeline shows those gaps concisely: As in the earlier examples, you can do this with point-and-click filtering in Freebase, no query-writing required. Which is awesome. Finally, Stefano Mazzocchi offers a clarification of a point that came up in our recent interview: I made it sound like Freebase loaded directly IMDB data while what I should have specified is that we loaded the IMDB &amp;#8216;identifiers&amp;#8217; along with our movie data. Thanks Stefano. And, kudos to the Metaweb team!</description>
      <itunes:subtitle>To sharpen the point I made the other day about the eroding bias toward giving the Nobel Peace Prize to Americans and Europeans, here&amp;#8217;s a comparison of the nationalities of winners before and after 1960. 1901-2009 nobel peace prize winners by nationality before 1960 after 1960 Here&amp;#8217;s another point I forgot to mention. There are gaps in timeline for the Nobel Peace Prize, because it wasn&amp;#8217;t awarded in 1914-1918, 1923, 1924, 1928, 1932, 1939-1943, 1948, 1955-1956, 1966-1967 and 1972. The timeline shows those gaps concisely: As in the earlier examples, you can do this with point-and-click filtering in Freebase, no query-writing required. Which is awesome. Finally, Stefano Mazzocchi offers a clarification of a point that came up in our recent interview: I made it sound like Freebase loaded directly IMDB data while what I should have specified is that we loaded the IMDB &amp;#8216;identifiers&amp;#8217; along with our movie data. Thanks Stefano. And, kudos to the Metaweb team!</itunes:subtitle>
      <itunes:summary>To sharpen the point I made the other day about the eroding bias toward giving the Nobel Peace Prize to Americans and Europeans, here&amp;#8217;s a comparison of the nationalities of winners before and after 1960. 1901-2009 nobel peace prize winners by nationality before 1960 after 1960 Here&amp;#8217;s another point I forgot to mention. There are gaps in timeline for the Nobel Peace Prize, because it wasn&amp;#8217;t awarded in 1914-1918, 1923, 1924, 1928, 1932, 1939-1943, 1948, 1955-1956, 1966-1967 and 1972. The timeline shows those gaps concisely: As in the earlier examples, you can do this with point-and-click filtering in Freebase, no query-writing required. Which is awesome. Finally, Stefano Mazzocchi offers a clarification of a point that came up in our recent interview: I made it sound like Freebase loaded directly IMDB data while what I should have specified is that we loaded the IMDB &amp;#8216;identifiers&amp;#8217; along with our movie data. Thanks Stefano. And, kudos to the Metaweb team!</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-12,25272589</guid>
      <pubDate>Mon, 12 Oct 2009 05:50:57 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="image/png" url="http://jonudell.net/img/awards_after_1960.png"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Recovering forgotten methods of construction</title>
      <link>http://odeo.com/episodes/25269103-Recovering-forgotten-methods-of-construction</link>
      <description>After feasting on audio podcasts for years, I realized that I don&amp;#8217;t always want somebody else&amp;#8217;s voice in my head while running, biking, and hiking. So I went on an audio fast for a couple of months. But now I&amp;#8217;m ready for more input, and I&amp;#8217;m once again reminded how wonderful it is to be able to bring engaging minds with me on my outdoor excursions. One of my companions on yesterday&amp;#8217;s hike was John Ochsendorf, a historian and structural engineer who explores the relevance of ancient and sometimes forgotten construction methods, like Incan suspension bridges woven from grass. One of his passions is Guastavino tile vaulting, a system that was patented in 1885. Although widely used in many notable structures &amp;#8212; including Grand Central Station &amp;#8212; Ochsendorf says that some of these structures have been torn down and rebuilt conventionally because modern engineers no longer understand how the Guastavino system works, and cannot evaluate its integrity....</description>
      <itunes:subtitle>After feasting on audio podcasts for years, I realized that I don&amp;#8217;t always want somebody else&amp;#8217;s voice in my head while running, biking, and hiking. So I went on an audio fast for a couple of months. But now I&amp;#8217;m ready for more input, and I&amp;#8217;m once again reminded how wonderful it is to be able to bring engaging minds with me on my outdoor excursions. One of my companions on yesterday&amp;#8217;s hike was John Ochsendorf, a historian and structural engineer who explores the relevance of ancient and sometimes forgotten construction methods, like Incan suspension bridges woven from grass. One of his passions is Guastavino tile vaulting, a system that was patented in 1885. Although widely used in many notable structures &amp;#8212; including Grand Central Station &amp;#8212; Ochsendorf says that some of these structures have been torn down and rebuilt conventionally because modern engineers no longer understand how the Guastavino system works, and cannot evaluate its integrity. This theme of forgotten knowledge echoes something I heard in Amory Lovins&amp;#8217; epic MAP/Ming lecture series. He describes a large government building in Washington, DC, that was made of stone and cooled by a carefully-designed pattern of air flow. The cooling system wasn&amp;#8217;t completely passive, though. You had to open and close windows in a particular sequence throughout the day. Now that building is cooled by hundreds of window-mounted air conditioners. I&amp;#8217;m sure our modernn expectation of extreme cooling is part of the reason why. But Lovins also says that air conditioning became necessary because people forgot how to operate the building. I love the idea of recovering &amp;#8212; and scientifically validating &amp;#8212; forgotten knowledge. That&amp;#8217;s what John Ochsendorf&amp;#8217;s research group does. One of his students, Joe Dahmen, did a project called Rammed Earth &amp;#8212; a long-term experiment to see if that ancient construction method could actually work in present-day New England. John Ochsendorf says: Historical methods of construction that are very green, very local, may create beautiful low-energy architecture, we&amp;#8217;ve forgotten how to do them. So we have to rediscover them, and do testing to prove to clients and building owners that you can use these methods. And it&amp;#8217;s a good example of MIT&amp;#8217;s motto of mind and hand. We don&amp;#8217;t like to just read about rammed earth walls, we like to get dirty and build them. Very cool. I think the MacArthur Foundation invested wisely in this guy.</itunes:subtitle>
      <itunes:summary>After feasting on audio podcasts for years, I realized that I don&amp;#8217;t always want somebody else&amp;#8217;s voice in my head while running, biking, and hiking. So I went on an audio fast for a couple of months. But now I&amp;#8217;m ready for more input, and I&amp;#8217;m once again reminded how wonderful it is to be able to bring engaging minds with me on my outdoor excursions. One of my companions on yesterday&amp;#8217;s hike was John Ochsendorf, a historian and structural engineer who explores the relevance of ancient and sometimes forgotten construction methods, like Incan suspension bridges woven from grass. One of his passions is Guastavino tile vaulting, a system that was patented in 1885. Although widely used in many notable structures &amp;#8212; including Grand Central Station &amp;#8212; Ochsendorf says that some of these structures have been torn down and rebuilt conventionally because modern engineers no longer understand how the Guastavino system works, and cannot evaluate its integrity. This theme of forgotten knowledge echoes something I heard in Amory Lovins&amp;#8217; epic MAP/Ming lecture series. He describes a large government building in Washington, DC, that was made of stone and cooled by a carefully-designed pattern of air flow. The cooling system wasn&amp;#8217;t completely passive, though. You had to open and close windows in a particular sequence throughout the day. Now that building is cooled by hundreds of window-mounted air conditioners. I&amp;#8217;m sure our modernn expectation of extreme cooling is part of the reason why. But Lovins also says that air conditioning became necessary because people forgot how to operate the building. I love the idea of recovering &amp;#8212; and scientifically validating &amp;#8212; forgotten knowledge. That&amp;#8217;s what John Ochsendorf&amp;#8217;s research group does. One of his students, Joe Dahmen, did a project called Rammed Earth &amp;#8212; a long-term experiment to see if that ancient construction method could actually work in present-day New England. John Ochsendorf says: Historical methods of construction that are very green, very local, may create beautiful low-energy architecture, we&amp;#8217;ve forgotten how to do them. So we have to rediscover them, and do testing to prove to clients and building owners that you can use these methods. And it&amp;#8217;s a good example of MIT&amp;#8217;s motto of mind and hand. We don&amp;#8217;t like to just read about rammed earth walls, we like to get dirty and build them. Very cool. I think the MacArthur Foundation invested wisely in this guy.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-11,25269103</guid>
      <pubDate>Sun, 11 Oct 2009 09:46:22 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Visualizing Nobel Peace Prize winners in Freebase</title>
      <link>http://odeo.com/episodes/25264174-Visualizing-Nobel-Peace-Prize-winners-in-Freebase</link>
      <description>When I watched Barack Obama accept the Nobel Peace Prize, I thought about how the world has changed since the inception of the prize, and how it will continue to change. Since the winners of the Prize are themselves a reflection of what&amp;#8217;s changing, I thought I&amp;#8217;d try using Freebase to visualize them over the century the Prize has existed. What you can find out, with Freebase, depends on its coverage of the topics you&amp;#8217;re asking about. So realize that what I&amp;#8217;ll show here is possible because Nobel Peace Prize winners are a well-covered topic. Still, it&amp;#8217;s wildly impressive. The Nobel site tells us that 89 Nobel Peace Prizes have been awarded since 1901. I haven&amp;#8217;t been able to reproduce that number in Freebase because there are multiple winners in a few years, and I haven&amp;#8217;t found a way group results by year. But for my purposes this related query is good enough: That number, 100, isn&amp;#8217;t as closely related to 89 as you might think. It&amp;#8217;s ...</description>
      <itunes:subtitle>When I watched Barack Obama accept the Nobel Peace Prize, I thought about how the world has changed since the inception of the prize, and how it will continue to change. Since the winners of the Prize are themselves a reflection of what&amp;#8217;s changing, I thought I&amp;#8217;d try using Freebase to visualize them over the century the Prize has existed. What you can find out, with Freebase, depends on its coverage of the topics you&amp;#8217;re asking about. So realize that what I&amp;#8217;ll show here is possible because Nobel Peace Prize winners are a well-covered topic. Still, it&amp;#8217;s wildly impressive. The Nobel site tells us that 89 Nobel Peace Prizes have been awarded since 1901. I haven&amp;#8217;t been able to reproduce that number in Freebase because there are multiple winners in a few years, and I haven&amp;#8217;t found a way group results by year. But for my purposes this related query is good enough: That number, 100, isn&amp;#8217;t as closely related to 89 as you might think. It&amp;#8217;s less by the number of years no award was given, but more by the number of recipients in multiple-award years. Perhaps a Freebase guru can show us how to measure those uncertainties, but I&amp;#8217;ve eyeballed them and I don&amp;#8217;t think they invalidate my results. How did I wind up querying the topic /award/award_winner? It wasn&amp;#8217;t immediately obvious. I spent a while searching and then exploring the facets that emerged, including: http://www.freebase.com/view/en/nobel_prize http://www.freebase.com/view/award/award_category http://www.freebase.com/view/award/award_honor http://www.freebase.com/view/award/award_winner The crazy thing about Freebase is that, in a way, it doesn&amp;#8217;t matter where you start. Everything&amp;#8217;s connected to everything, so you can pick up any node of the graph and re-dangle the rest. Except when you can&amp;#8217;t. I haven&amp;#8217;t yet gotten a good feel for which paths to prefer and why. But in the end I came up with the kind of results I&amp;#8217;d envisioned: 1901-2009 nobel peace prize winners by gender male female 1901-2009 nobel peace prize winners by nationality male female Taken together they show a couple of trends. First, of course, we see most female winners after about 1960. Second, we see a more even geographic distribution of female winners because, prior to 1960, most winners were not only male but also American or European. These results didn&amp;#8217;t surprise me. What did is the relative ease with which I was able to discover and document them. I thought it would be necessary to write MQL queries in order to do this kind of analysis. I&amp;#8217;d previously done a bit of work with MQL, and dug further into it this time around. But in the end I found that it was just as effective to use interactive filtering. Now to be clear, getting the software to actually do the things I&amp;#8217;ve shown here wasn&amp;#8217;t a cakewalk. I had to develop a feel for the web of topics in the domain I chose. And it&amp;#8217;s painfully slow to add and drop filters. But still, it&amp;#8217;s doable. And you can do it yourself by pointing and clicking. That is an astonishing tour de force, and a glimpse of what things will be like when we can all fluently visualize information about our world.</itunes:subtitle>
      <itunes:summary>When I watched Barack Obama accept the Nobel Peace Prize, I thought about how the world has changed since the inception of the prize, and how it will continue to change. Since the winners of the Prize are themselves a reflection of what&amp;#8217;s changing, I thought I&amp;#8217;d try using Freebase to visualize them over the century the Prize has existed. What you can find out, with Freebase, depends on its coverage of the topics you&amp;#8217;re asking about. So realize that what I&amp;#8217;ll show here is possible because Nobel Peace Prize winners are a well-covered topic. Still, it&amp;#8217;s wildly impressive. The Nobel site tells us that 89 Nobel Peace Prizes have been awarded since 1901. I haven&amp;#8217;t been able to reproduce that number in Freebase because there are multiple winners in a few years, and I haven&amp;#8217;t found a way group results by year. But for my purposes this related query is good enough: That number, 100, isn&amp;#8217;t as closely related to 89 as you might think. It&amp;#8217;s less by the number of years no award was given, but more by the number of recipients in multiple-award years. Perhaps a Freebase guru can show us how to measure those uncertainties, but I&amp;#8217;ve eyeballed them and I don&amp;#8217;t think they invalidate my results. How did I wind up querying the topic /award/award_winner? It wasn&amp;#8217;t immediately obvious. I spent a while searching and then exploring the facets that emerged, including: http://www.freebase.com/view/en/nobel_prize http://www.freebase.com/view/award/award_category http://www.freebase.com/view/award/award_honor http://www.freebase.com/view/award/award_winner The crazy thing about Freebase is that, in a way, it doesn&amp;#8217;t matter where you start. Everything&amp;#8217;s connected to everything, so you can pick up any node of the graph and re-dangle the rest. Except when you can&amp;#8217;t. I haven&amp;#8217;t yet gotten a good feel for which paths to prefer and why. But in the end I came up with the kind of results I&amp;#8217;d envisioned: 1901-2009 nobel peace prize winners by gender male female 1901-2009 nobel peace prize winners by nationality male female Taken together they show a couple of trends. First, of course, we see most female winners after about 1960. Second, we see a more even geographic distribution of female winners because, prior to 1960, most winners were not only male but also American or European. These results didn&amp;#8217;t surprise me. What did is the relative ease with which I was able to discover and document them. I thought it would be necessary to write MQL queries in order to do this kind of analysis. I&amp;#8217;d previously done a bit of work with MQL, and dug further into it this time around. But in the end I found that it was just as effective to use interactive filtering. Now to be clear, getting the software to actually do the things I&amp;#8217;ve shown here wasn&amp;#8217;t a cakewalk. I had to develop a feel for the web of topics in the domain I chose. And it&amp;#8217;s painfully slow to add and drop filters. But still, it&amp;#8217;s doable. And you can do it yourself by pointing and clicking. That is an astonishing tour de force, and a glimpse of what things will be like when we can all fluently visualize information about our world.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-10,25264174</guid>
      <pubDate>Sat, 10 Oct 2009 06:47:05 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Magic glasses and magic projectors: Private versus public augmentation of experience</title>
      <link>http://odeo.com/episodes/25254764-Magic-glasses-and-magic-projectors-Private-versus-public-augmentation-of-experience</link>
      <description>At its core, your browser is powered by an engine called the Document Object Model, hereafter DOM. You can think of the DOM as an outline, and the browser as an outline processor that shows and hides things, displays things in different ways, and even adds, removes, or rearranges things. Nowadays what you see, when you view a web page, is the result of a complex interaction between data and code. The data is the HTML content of the page, and the code is its JavaScript behavior. But these are slippery terms. A lot of content never originates as HTML, but is instead produced dynamically &amp;#8212; by a web server, but also quite possibly in the browser as it manipulates the DOM. And a lot of behavior happens opportunistically in response to content on the page. This arrangement has radical implications. For example, back in 2002 I invented LibraryLookup, a bookmarklet that noticed when you were visiting an Amazon or Barnes and Noble book page and offered a one-click search for that book ...</description>
      <itunes:subtitle>At its core, your browser is powered by an engine called the Document Object Model, hereafter DOM. You can think of the DOM as an outline, and the browser as an outline processor that shows and hides things, displays things in different ways, and even adds, removes, or rearranges things. Nowadays what you see, when you view a web page, is the result of a complex interaction between data and code. The data is the HTML content of the page, and the code is its JavaScript behavior. But these are slippery terms. A lot of content never originates as HTML, but is instead produced dynamically &amp;#8212; by a web server, but also quite possibly in the browser as it manipulates the DOM. And a lot of behavior happens opportunistically in response to content on the page. This arrangement has radical implications. For example, back in 2002 I invented LibraryLookup, a bookmarklet that noticed when you were visiting an Amazon or Barnes and Noble book page and offered a one-click search for that book in your local library. A few years later, a Firefox extension called Greasemonkey arrived on the scene. It offered two capabilities that, working together, enabled a zero-click LibraryLookup. First, it could call out to a web service. Second, it could modify the DOM based on the response. Putting these two things together, I wrote a script that would notice that you were visiting an Amazon book page, check to see if the book was available at your local library, and if so, insert a paragraph into the DOM that said: &amp;#8220;Hey, it&amp;#8217;s available at the [YOUR LIBRARY NAME] library!&amp;#8221; Is this kosher? I think so, but it&amp;#8217;s a tricky question. At the time I made a short screencast that reflected on questions of ownership and fair use in an environment that&amp;#8217;s designed and built to support intermediation and remixing. These questions were still largely hypothetical, though, because Firefox users who had also installed Greasemonkey were a very small number indeed. But now, thanks to modern browser-independent JavaScript libraries like jQuery, those hypothetical questions are becoming very real. Here&amp;#8217;s Phil Windley demonstrating his 2009 version of LibraryLookup: The example comes from Phil&amp;#8217;s recent essay The Forgotten Edge: Building a Purpose-Centric Web, which makes the case for contextualized browsing as enabled by libraries like jQuery and by infrastructure like that provided by Phil&amp;#8217;s company, Kynetx. In Phil&amp;#8217;s next blog item, Claiming My Right to a Purpose-Centric Web: SideWiki, he asserts: I claim the right to mash-up, remix, annotate, augment, and otherwise modify Web content for my purposes in my browser using any tool I choose and I extend to everyone else that same privilege. That item grew a long tail of comments. It includes some interesting back-and-forth between Phil Windley and Dave Winer, but I want to focus on this observation from Greg Yardley: Sites also generally come with a contract attached &amp;#8211; some implicit (the view-through), some explicit (the click-through) &amp;#8211; and these contracts, done correctly, are generally enforceable. This whole post mystifies me, because you don&amp;#8217;t have the the right to mash-up, remix, annotate, augment, and otherwise modify Web content &amp;#8211; it&amp;#8217;s not your content. Earlier in the thread, Jeremy Pickens cited an example of such a contract: Google&amp;#8217;s terms of service: 8.2 You should be aware that Content presented to you as part of the Services, including but not limited to advertisements in the Services and sponsored Content within the Services may be protected by intellectual property rights which are owned by the sponsors or advertisers who provide that Content to Google (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this Content (either in whole or in part) unless you have been specifically told that you may do so by Google or by the owners of that Content, in a separate agreement. In response to Greg Yardley, Phil Rees cites fair use: Actually we do have those rights. http://www.law.cornell.edu/uscode/17/107.html I believe so too. Sooner or later, that belief will be tested. After my March interview with Phil about Kynetx, I wrote: There&amp;#8217;s a continuum of ways in which I can modify a web page in a browser, ranging from font enlargement to translation to contexual overlays. I wouldn&amp;#8217;t draw a line anywhere along that continuum. It seems to me that I&amp;#8217;m entitled to view the world through any lens I choose. This doesn&amp;#8217;t only apply to my view of the virtual world, by the way. It will apply to my view of the physical world too. We don&amp;#8217;t yet have magic glasses that overlay web prices on shelf items, or web reputations on store signage, but someday we will. I can&amp;#8217;t see how I could be prevented from creating a heads-up display &amp;#8212; for realspace or cyberspace &amp;#8212; that&amp;#8217;s advantageous to me. But I&amp;#8217;ve got a hunch that those magic glasses are going to be controversial. I wonder if it&amp;#8217;s going to boil down to magic glasses versus magic projectors. Or, in other words, private versus public augmentation of our experiences of the virtual and real worlds. I can wear my magic glasses, but I can&amp;#8217;t necessarily project the view that I&amp;#8217;m seeing.</itunes:subtitle>
      <itunes:summary>At its core, your browser is powered by an engine called the Document Object Model, hereafter DOM. You can think of the DOM as an outline, and the browser as an outline processor that shows and hides things, displays things in different ways, and even adds, removes, or rearranges things. Nowadays what you see, when you view a web page, is the result of a complex interaction between data and code. The data is the HTML content of the page, and the code is its JavaScript behavior. But these are slippery terms. A lot of content never originates as HTML, but is instead produced dynamically &amp;#8212; by a web server, but also quite possibly in the browser as it manipulates the DOM. And a lot of behavior happens opportunistically in response to content on the page. This arrangement has radical implications. For example, back in 2002 I invented LibraryLookup, a bookmarklet that noticed when you were visiting an Amazon or Barnes and Noble book page and offered a one-click search for that book in your local library. A few years later, a Firefox extension called Greasemonkey arrived on the scene. It offered two capabilities that, working together, enabled a zero-click LibraryLookup. First, it could call out to a web service. Second, it could modify the DOM based on the response. Putting these two things together, I wrote a script that would notice that you were visiting an Amazon book page, check to see if the book was available at your local library, and if so, insert a paragraph into the DOM that said: &amp;#8220;Hey, it&amp;#8217;s available at the [YOUR LIBRARY NAME] library!&amp;#8221; Is this kosher? I think so, but it&amp;#8217;s a tricky question. At the time I made a short screencast that reflected on questions of ownership and fair use in an environment that&amp;#8217;s designed and built to support intermediation and remixing. These questions were still largely hypothetical, though, because Firefox users who had also installed Greasemonkey were a very small number indeed. But now, thanks to modern browser-independent JavaScript libraries like jQuery, those hypothetical questions are becoming very real. Here&amp;#8217;s Phil Windley demonstrating his 2009 version of LibraryLookup: The example comes from Phil&amp;#8217;s recent essay The Forgotten Edge: Building a Purpose-Centric Web, which makes the case for contextualized browsing as enabled by libraries like jQuery and by infrastructure like that provided by Phil&amp;#8217;s company, Kynetx. In Phil&amp;#8217;s next blog item, Claiming My Right to a Purpose-Centric Web: SideWiki, he asserts: I claim the right to mash-up, remix, annotate, augment, and otherwise modify Web content for my purposes in my browser using any tool I choose and I extend to everyone else that same privilege. That item grew a long tail of comments. It includes some interesting back-and-forth between Phil Windley and Dave Winer, but I want to focus on this observation from Greg Yardley: Sites also generally come with a contract attached &amp;#8211; some implicit (the view-through), some explicit (the click-through) &amp;#8211; and these contracts, done correctly, are generally enforceable. This whole post mystifies me, because you don&amp;#8217;t have the the right to mash-up, remix, annotate, augment, and otherwise modify Web content &amp;#8211; it&amp;#8217;s not your content. Earlier in the thread, Jeremy Pickens cited an example of such a contract: Google&amp;#8217;s terms of service: 8.2 You should be aware that Content presented to you as part of the Services, including but not limited to advertisements in the Services and sponsored Content within the Services may be protected by intellectual property rights which are owned by the sponsors or advertisers who provide that Content to Google (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this Content (either in whole or in part) unless you have been specifically told that you may do so by Google or by the owners of that Content, in a separate agreement. In response to Greg Yardley, Phil Rees cites fair use: Actually we do have those rights. http://www.law.cornell.edu/uscode/17/107.html I believe so too. Sooner or later, that belief will be tested. After my March interview with Phil about Kynetx, I wrote: There&amp;#8217;s a continuum of ways in which I can modify a web page in a browser, ranging from font enlargement to translation to contexual overlays. I wouldn&amp;#8217;t draw a line anywhere along that continuum. It seems to me that I&amp;#8217;m entitled to view the world through any lens I choose. This doesn&amp;#8217;t only apply to my view of the virtual world, by the way. It will apply to my view of the physical world too. We don&amp;#8217;t yet have magic glasses that overlay web prices on shelf items, or web reputations on store signage, but someday we will. I can&amp;#8217;t see how I could be prevented from creating a heads-up display &amp;#8212; for realspace or cyberspace &amp;#8212; that&amp;#8217;s advantageous to me. But I&amp;#8217;ve got a hunch that those magic glasses are going to be controversial. I wonder if it&amp;#8217;s going to boil down to magic glasses versus magic projectors. Or, in other words, private versus public augmentation of our experiences of the virtual and real worlds. I can wear my magic glasses, but I can&amp;#8217;t necessarily project the view that I&amp;#8217;m seeing.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-08,25254764</guid>
      <pubDate>Thu, 08 Oct 2009 08:01:57 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Talking with Victoria Stodden about Science Commons</title>
      <link>http://odeo.com/episodes/25248994-Talking-with-Victoria-Stodden-about-Science-Commons</link>
      <description>On this week&amp;#8217;s Innovators show I spoke with Victoria Stodden about Science Commons, an effort to bring the values and methods of Creative Commons to the realm of science. Because modern science is so data- and computation-intensive, Science Commons provides legal tools that govern the sharing of data and code. There are lots of good reasons to share the artifacts of scientific computation. Victoria particularly focuses on the benefit of reproducibility. It&amp;#8217;s one thing to say that your analysis of a data set leads to a conclusion. It&amp;#8217;s quite another to give me your data, and the code you used to process it, and invite me to repeat the experiment. In this kind of discussion, the word &amp;#8220;repository&amp;#8221; always comes up. If you put your stuff into a repository, I can take it out and work with it. But I&amp;#8217;ve always had a bit of an allergic reaction to that word, and during this podcast I realized why: it connotes a burial ground. What goes into a repository ju...</description>
      <itunes:subtitle>On this week&amp;#8217;s Innovators show I spoke with Victoria Stodden about Science Commons, an effort to bring the values and methods of Creative Commons to the realm of science. Because modern science is so data- and computation-intensive, Science Commons provides legal tools that govern the sharing of data and code. There are lots of good reasons to share the artifacts of scientific computation. Victoria particularly focuses on the benefit of reproducibility. It&amp;#8217;s one thing to say that your analysis of a data set leads to a conclusion. It&amp;#8217;s quite another to give me your data, and the code you used to process it, and invite me to repeat the experiment. In this kind of discussion, the word &amp;#8220;repository&amp;#8221; always comes up. If you put your stuff into a repository, I can take it out and work with it. But I&amp;#8217;ve always had a bit of an allergic reaction to that word, and during this podcast I realized why: it connotes a burial ground. What goes into a repository just sits there. It might be looked at, it might be copied, but it&amp;#8217;s essentially inert, a dead artifact divorced from its live context. Sooner or later, cloud computing will change that. The live context in which primary research happens will be a shareable online space. Publishing won&amp;#8217;t entail pushing your code and data to a repository, but rather granting access to that space. It&amp;#8217;s a hard conceptual shift to make, though. We think of publishing as a way of pushing stuff out from where we work on it to someplace else where people can get at it. But when we do our work in the cloud, publishing is really just an invitation to visit us there.</itunes:subtitle>
      <itunes:summary>On this week&amp;#8217;s Innovators show I spoke with Victoria Stodden about Science Commons, an effort to bring the values and methods of Creative Commons to the realm of science. Because modern science is so data- and computation-intensive, Science Commons provides legal tools that govern the sharing of data and code. There are lots of good reasons to share the artifacts of scientific computation. Victoria particularly focuses on the benefit of reproducibility. It&amp;#8217;s one thing to say that your analysis of a data set leads to a conclusion. It&amp;#8217;s quite another to give me your data, and the code you used to process it, and invite me to repeat the experiment. In this kind of discussion, the word &amp;#8220;repository&amp;#8221; always comes up. If you put your stuff into a repository, I can take it out and work with it. But I&amp;#8217;ve always had a bit of an allergic reaction to that word, and during this podcast I realized why: it connotes a burial ground. What goes into a repository just sits there. It might be looked at, it might be copied, but it&amp;#8217;s essentially inert, a dead artifact divorced from its live context. Sooner or later, cloud computing will change that. The live context in which primary research happens will be a shareable online space. Publishing won&amp;#8217;t entail pushing your code and data to a repository, but rather granting access to that space. It&amp;#8217;s a hard conceptual shift to make, though. We think of publishing as a way of pushing stuff out from where we work on it to someplace else where people can get at it. But when we do our work in the cloud, publishing is really just an invitation to visit us there.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-07,25248994</guid>
      <pubDate>Wed, 07 Oct 2009 08:59:07 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Querying mobile data objects with LINQ</title>
      <link>http://odeo.com/episodes/25203619-Querying-mobile-data-objects-with-LINQ</link>
      <description>I&amp;#8217;m using US census data to look up the estimated populations of the cities and towns running elmcity hubs. The dataset is just plain old CSV (comma-separated variable), a format that&amp;#8217;s more popular than ever thanks in part to a new wave of web-based data services like DabbleDB, ManyEyes, and others. For my purposes, simple pattern matching was enough to look up the population of a city and state. But I&amp;#8217;d been meaning to try out LINQtoCSV, the .NET equivalent of my old friend, Python&amp;#8217;s csv module. As happens lately, I was struck by the convergence of the languages. Here&amp;#8217;s a side-by-side comparison of Python and C# using their respective CSV modules to query for the population of Keene, NH: Python C# &amp;nbsp; &amp;nbsp; i_name = 5 i_statename = 6 &amp;nbsp; i_pop2008 = 17 &amp;nbsp; &amp;nbsp; handle = urllib.urlopen(url) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reader = csv.reader(handle, delimiter=',') &amp;nbsp; &amp;nbsp; rows = itertools.ifilter(lambda x : &amp;nb...</description>
      <itunes:subtitle>I&amp;#8217;m using US census data to look up the estimated populations of the cities and towns running elmcity hubs. The dataset is just plain old CSV (comma-separated variable), a format that&amp;#8217;s more popular than ever thanks in part to a new wave of web-based data services like DabbleDB, ManyEyes, and others. For my purposes, simple pattern matching was enough to look up the population of a city and state. But I&amp;#8217;d been meaning to try out LINQtoCSV, the .NET equivalent of my old friend, Python&amp;#8217;s csv module. As happens lately, I was struck by the convergence of the languages. Here&amp;#8217;s a side-by-side comparison of Python and C# using their respective CSV modules to query for the population of Keene, NH: Python C# &amp;nbsp; &amp;nbsp; i_name = 5 i_statename = 6 &amp;nbsp; i_pop2008 = 17 &amp;nbsp; &amp;nbsp; handle = urllib.urlopen(url) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reader = csv.reader(handle, delimiter=',') &amp;nbsp; &amp;nbsp; rows = itertools.ifilter(lambda x : &amp;nbsp; x[i_name].startswith('Keene') and &amp;nbsp; x[i_statename] == 'New Hampshire', reader) &amp;nbsp; found_rows = list(rows) &amp;nbsp; &amp;nbsp; &amp;nbsp; count = len(found_rows) &amp;nbsp; if ( count &amp;gt; 0 ): pop = int ( found_rows[0][i_pop2008] ) public class USCensusPopulationData { public string NAME; public string STATENAME; ... etc. ... public string POP_2008; } var csv = new WebClient(). DownloadString(url); var stream = new MemoryStream( Encoding.UTF8.GetBytes(csv)); var sr = new StreamReader(stream); var cc = new CsvContext(); var fd = new CsvFileDescription { }; var reader = cc.Read&amp;lt;USCensusPopulationData&amp;gt;(sr, fd); var rows = reader.ToList(); var found_rows = rows.FindAll(row =&amp;gt; row.name.StartsWith('Keene') &amp;amp;&amp;amp; row.statename == 'New Hampshire'); var count = rows.Count; if ( count &amp;gt; 0 ) pop = Convert.ToInt32( found_rows[0].pop_2008) Things don&amp;#8217;t line up quite as neatly as in my earlier example, or as in the A/B comparison (from way back in 2005) between my first LINQ example and Sam Ruby&amp;#8217;s Ruby equivalent. But the two examples share a common approach based on iterators and filters. This idea of running queries over simple text files is something I first ran into long ago in the form of the ODBC Text driver, which provides SQL queries over comma-separated data. I&amp;#8217;ve always loved this style of data access, and it remains incredibly handy. Yes, some data sets are huge. But the 80,000 rows of that census file add up to only 8MB file. The file isn&amp;#8217;t growing quickly, and it can tell a lot of stories. Here&amp;#8217;s one: 2000 - 2008 population loss in NH -8.09% Berlin city -3.67% Coos County -1.85% Portsmouth city -1.85% Plaistow town -1.78% Balance of Coos County -1.43% Claremont city -1.02% Lancaster town -0.99% Rye town -0.81% Keene city -0.23% Nashua city In both Python and C# you can work directly with the iterators returned by the CSV modules to accomplish this kind of query. Here&amp;#8217;s a Python version: import urllib, itertools, csv i_name = 5 i_statename = 6 i_pop2000 = 9 i_pop2008 = 17 def make_reader(): handle = open('pop.csv') return csv.reader(handle, delimiter=',') def unique(rows): dict = {} for row in rows: key = "%s %s %s %s" % (i_name, i_statename, row[i_pop2000], row[i_pop2008]) dict[key] = row list = [] for key in dict: list.append( dict[key] ) return list def percent(row,a,b): pct = - ( float(row[a]) / float(row[b]) * 100 - 100 ) return pct def change(x,state,minpop=1): statename = x[i_statename] p2000 = int(x[i_pop2000]) p2008 = int(x[i_pop2008]) return ( statename==state and p2008 &amp;gt; minpop and p2008 &amp;lt; p2000 ) state = &amp;#039;New Hampshire&amp;#039; reader = make_reader() reader.next() # skip fieldnames rows = itertools.ifilter(lambda x : change(x,state,minpop=3000), reader) l = list(rows) l = unique(l) l.sort(lambda x,y: cmp(percent(x,i_pop2000,i_pop2008), percent(y,i_pop2000,i_pop2008))) for row in l: print &amp;quot;%2.2f%% %s&amp;quot; % ( percent(row,i_pop2000,i_pop2008), row[i_name] ) A literal C# translation could do all the same things in the same ways: Convert the iterator into a list, use a dictionary to remove duplication, filter the list with a lambda function, sort the list with another lambda function. As queries grow more complex, though, you tend to want a more declarative style. To do that in Python, you&amp;#8217;d likely import the CSV file into a SQL database &amp;#8212; perhaps SQLite in order to stay true to the lightweight nature of this example. Then you&amp;#8217;d ship queries to the database in the form of SQL statements. But you&amp;#8217;re crossing a chasm when you do that. The database&amp;#8217;s type system isn&amp;#8217;t the same as Python&amp;#8217;s. And database&amp;#8217;s internal language for writing functions won&amp;#8217;t be Python either. In the case of SQLite, there won&amp;#8217;t even be an internal language. With LINQ there&amp;#8217;s no chasm to cross. Here&amp;#8217;s the LINQ code that produces the same result: var census_rows = make_reader(); var distinct_rows = census_rows.Distinct(new CensusRowComparer()); var threshold = 3000; var rows = from row in distinct_rows where row.STATENAME == statename &amp;amp;&amp;amp; Convert.ToInt32(row.POP_2008) &amp;gt; threshold &amp;amp;&amp;amp; Convert.ToInt32(row.POP_2008) &amp;lt; Convert.ToInt32(row.POP_2000) orderby percent(row.POP_2000,row.POP_2008) select new { name = row.NAME, pop2000 = row.POP_2000, pop2008 = row.POP_2008 }; foreach (var row in rows) Console.WriteLine("{0:0.00}% {1}", percent(row.pop2000,row.pop2008), row.name ); You can see the supporting pieces below. There are a number of aspects to this approach that I&amp;#8217;m enjoying. It&amp;#8217;s useful, for example, that every row of data becomes an object whose properties are available to the editor and the debugger. But what really delights me is the way that the query context and the results context share the same environment, just as in the Python example above. In this (slightly contrived) example I&amp;#8217;m using the percent function in both contexts. With LINQ to CSV I&amp;#8217;m now using four flavors of LINQ in my project. Two are built into the .NET Framework: LINQ to XML, and LINQ to native .NET objects. And two are extensions: LINQ to CSV, and LINQ to JSON. In all four cases, I&amp;#8217;m querying some kind of mobile data object: an RSS feed, a binary .NET object retrieved from the Azure blob store, a JSON response, and now a CSV file. Six years ago I was part of a delegation from InfoWorld that visited Microsoft for a preview technologies in the pipeline. At a dinner I sat with Anders Hejslberg and listened to him lay out his vision for what would become LINQ. There were two key goals. First, a single environment for query and results. Second, a common approach to many flavors of data. I think he nailed both pretty well. And it&amp;#8217;s timely because the cloud isn&amp;#8217;t just an ecosystem of services, it&amp;#8217;s also an ecosystem of mobile data objects that come in a variety of flavors. private static float percent(string a, string b) { var y0 = float.Parse(a); var y1 = float.Parse(b); return - ( y0 / y1 * 100 - 100); } private static IEnumerable&amp;lt;USCensusPopulationData&amp;gt; make_reader() { var h = new FileStream("pop.csv", FileMode.Open); var bytes = new byte[h.Length]; h.Read(bytes, 0, (Int32)h.Length); bytes = Encoding.UTF8.GetBytes(Encoding.UTF8.GetString(bytes)); var stream = new MemoryStream(bytes); var sr = new StreamReader(stream); var cc = new CsvContext(); var fd = new CsvFileDescription { }; var census_rows = cc.Read&amp;lt;USCensusPopulationData&amp;gt;(sr, fd); return census_rows; } public class USCensusPopulationData { public string SUMLEV; public string state; public string county; public string PLACE; public string cousub; public string NAME; public string STATENAME; public string POPCENSUS_2000; public string POPBASE_2000; public string POP_2000; public string POP_2001; public string POP_2002; public string POP_2003; public string POP_2004; public string POP_2005; public string POP_2006; public string POP_2007; public string POP_2008; public override string ToString() { return NAME + ", " + STATENAME + " " + "pop2000=" + POP_2000 + " | " + "pop2008=" + POP_2008; } } public class CensusRowComparer : IEqualityComparer&amp;lt;USCensusPopulationData&amp;gt; { public bool Equals(USCensusPopulationData x, USCensusPopulationData y) { return x.NAME == y.NAME &amp;amp;&amp;amp; x.STATENAME == y.STATENAME ; } public int GetHashCode(USCensusPopulationData obj) { var hash = obj.ToString(); return hash.GetHashCode(); } }</itunes:subtitle>
      <itunes:summary>I&amp;#8217;m using US census data to look up the estimated populations of the cities and towns running elmcity hubs. The dataset is just plain old CSV (comma-separated variable), a format that&amp;#8217;s more popular than ever thanks in part to a new wave of web-based data services like DabbleDB, ManyEyes, and others. For my purposes, simple pattern matching was enough to look up the population of a city and state. But I&amp;#8217;d been meaning to try out LINQtoCSV, the .NET equivalent of my old friend, Python&amp;#8217;s csv module. As happens lately, I was struck by the convergence of the languages. Here&amp;#8217;s a side-by-side comparison of Python and C# using their respective CSV modules to query for the population of Keene, NH: Python C# &amp;nbsp; &amp;nbsp; i_name = 5 i_statename = 6 &amp;nbsp; i_pop2008 = 17 &amp;nbsp; &amp;nbsp; handle = urllib.urlopen(url) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reader = csv.reader(handle, delimiter=',') &amp;nbsp; &amp;nbsp; rows = itertools.ifilter(lambda x : &amp;nbsp; x[i_name].startswith('Keene') and &amp;nbsp; x[i_statename] == 'New Hampshire', reader) &amp;nbsp; found_rows = list(rows) &amp;nbsp; &amp;nbsp; &amp;nbsp; count = len(found_rows) &amp;nbsp; if ( count &amp;gt; 0 ): pop = int ( found_rows[0][i_pop2008] ) public class USCensusPopulationData { public string NAME; public string STATENAME; ... etc. ... public string POP_2008; } var csv = new WebClient(). DownloadString(url); var stream = new MemoryStream( Encoding.UTF8.GetBytes(csv)); var sr = new StreamReader(stream); var cc = new CsvContext(); var fd = new CsvFileDescription { }; var reader = cc.Read&amp;lt;USCensusPopulationData&amp;gt;(sr, fd); var rows = reader.ToList(); var found_rows = rows.FindAll(row =&amp;gt; row.name.StartsWith('Keene') &amp;amp;&amp;amp; row.statename == 'New Hampshire'); var count = rows.Count; if ( count &amp;gt; 0 ) pop = Convert.ToInt32( found_rows[0].pop_2008) Things don&amp;#8217;t line up quite as neatly as in my earlier example, or as in the A/B comparison (from way back in 2005) between my first LINQ example and Sam Ruby&amp;#8217;s Ruby equivalent. But the two examples share a common approach based on iterators and filters. This idea of running queries over simple text files is something I first ran into long ago in the form of the ODBC Text driver, which provides SQL queries over comma-separated data. I&amp;#8217;ve always loved this style of data access, and it remains incredibly handy. Yes, some data sets are huge. But the 80,000 rows of that census file add up to only 8MB file. The file isn&amp;#8217;t growing quickly, and it can tell a lot of stories. Here&amp;#8217;s one: 2000 - 2008 population loss in NH -8.09% Berlin city -3.67% Coos County -1.85% Portsmouth city -1.85% Plaistow town -1.78% Balance of Coos County -1.43% Claremont city -1.02% Lancaster town -0.99% Rye town -0.81% Keene city -0.23% Nashua city In both Python and C# you can work directly with the iterators returned by the CSV modules to accomplish this kind of query. Here&amp;#8217;s a Python version: import urllib, itertools, csv i_name = 5 i_statename = 6 i_pop2000 = 9 i_pop2008 = 17 def make_reader(): handle = open('pop.csv') return csv.reader(handle, delimiter=',') def unique(rows): dict = {} for row in rows: key = "%s %s %s %s" % (i_name, i_statename, row[i_pop2000], row[i_pop2008]) dict[key] = row list = [] for key in dict: list.append( dict[key] ) return list def percent(row,a,b): pct = - ( float(row[a]) / float(row[b]) * 100 - 100 ) return pct def change(x,state,minpop=1): statename = x[i_statename] p2000 = int(x[i_pop2000]) p2008 = int(x[i_pop2008]) return ( statename==state and p2008 &amp;gt; minpop and p2008 &amp;lt; p2000 ) state = &amp;#039;New Hampshire&amp;#039; reader = make_reader() reader.next() # skip fieldnames rows = itertools.ifilter(lambda x : change(x,state,minpop=3000), reader) l = list(rows) l = unique(l) l.sort(lambda x,y: cmp(percent(x,i_pop2000,i_pop2008), percent(y,i_pop2000,i_pop2008))) for row in l: print &amp;quot;%2.2f%% %s&amp;quot; % ( percent(row,i_pop2000,i_pop2008), row[i_name] ) A literal C# translation could do all the same things in the same ways: Convert the iterator into a list, use a dictionary to remove duplication, filter the list with a lambda function, sort the list with another lambda function. As queries grow more complex, though, you tend to want a more declarative style. To do that in Python, you&amp;#8217;d likely import the CSV file into a SQL database &amp;#8212; perhaps SQLite in order to stay true to the lightweight nature of this example. Then you&amp;#8217;d ship queries to the database in the form of SQL statements. But you&amp;#8217;re crossing a chasm when you do that. The database&amp;#8217;s type system isn&amp;#8217;t the same as Python&amp;#8217;s. And database&amp;#8217;s internal language for writing functions won&amp;#8217;t be Python either. In the case of SQLite, there won&amp;#8217;t even be an internal language. With LINQ there&amp;#8217;s no chasm to cross. Here&amp;#8217;s the LINQ code that produces the same result: var census_rows = make_reader(); var distinct_rows = census_rows.Distinct(new CensusRowComparer()); var threshold = 3000; var rows = from row in distinct_rows where row.STATENAME == statename &amp;amp;&amp;amp; Convert.ToInt32(row.POP_2008) &amp;gt; threshold &amp;amp;&amp;amp; Convert.ToInt32(row.POP_2008) &amp;lt; Convert.ToInt32(row.POP_2000) orderby percent(row.POP_2000,row.POP_2008) select new { name = row.NAME, pop2000 = row.POP_2000, pop2008 = row.POP_2008 }; foreach (var row in rows) Console.WriteLine("{0:0.00}% {1}", percent(row.pop2000,row.pop2008), row.name ); You can see the supporting pieces below. There are a number of aspects to this approach that I&amp;#8217;m enjoying. It&amp;#8217;s useful, for example, that every row of data becomes an object whose properties are available to the editor and the debugger. But what really delights me is the way that the query context and the results context share the same environment, just as in the Python example above. In this (slightly contrived) example I&amp;#8217;m using the percent function in both contexts. With LINQ to CSV I&amp;#8217;m now using four flavors of LINQ in my project. Two are built into the .NET Framework: LINQ to XML, and LINQ to native .NET objects. And two are extensions: LINQ to CSV, and LINQ to JSON. In all four cases, I&amp;#8217;m querying some kind of mobile data object: an RSS feed, a binary .NET object retrieved from the Azure blob store, a JSON response, and now a CSV file. Six years ago I was part of a delegation from InfoWorld that visited Microsoft for a preview technologies in the pipeline. At a dinner I sat with Anders Hejslberg and listened to him lay out his vision for what would become LINQ. There were two key goals. First, a single environment for query and results. Second, a common approach to many flavors of data. I think he nailed both pretty well. And it&amp;#8217;s timely because the cloud isn&amp;#8217;t just an ecosystem of services, it&amp;#8217;s also an ecosystem of mobile data objects that come in a variety of flavors. private static float percent(string a, string b) { var y0 = float.Parse(a); var y1 = float.Parse(b); return - ( y0 / y1 * 100 - 100); } private static IEnumerable&amp;lt;USCensusPopulationData&amp;gt; make_reader() { var h = new FileStream("pop.csv", FileMode.Open); var bytes = new byte[h.Length]; h.Read(bytes, 0, (Int32)h.Length); bytes = Encoding.UTF8.GetBytes(Encoding.UTF8.GetString(bytes)); var stream = new MemoryStream(bytes); var sr = new StreamReader(stream); var cc = new CsvContext(); var fd = new CsvFileDescription { }; var census_rows = cc.Read&amp;lt;USCensusPopulationData&amp;gt;(sr, fd); return census_rows; } public class USCensusPopulationData { public string SUMLEV; public string state; public string county; public string PLACE; public string cousub; public string NAME; public string STATENAME; public string POPCENSUS_2000; public string POPBASE_2000; public string POP_2000; public string POP_2001; public string POP_2002; public string POP_2003; public string POP_2004; public string POP_2005; public string POP_2006; public string POP_2007; public string POP_2008; public override string ToString() { return NAME + ", " + STATENAME + " " + "pop2000=" + POP_2000 + " | " + "pop2008=" + POP_2008; } } public class CensusRowComparer : IEqualityComparer&amp;lt;USCensusPopulationData&amp;gt; { public bool Equals(USCensusPopulationData x, USCensusPopulationData y) { return x.NAME == y.NAME &amp;amp;&amp;amp; x.STATENAME == y.STATENAME ; } public int GetHashCode(USCensusPopulationData obj) { var hash = obj.ToString(); return hash.GetHashCode(); } }</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-09-29,25203619</guid>
      <pubDate>Tue, 29 Sep 2009 06:07:18 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Talking with Stefano Mazzocchi about reconciling web naming systems</title>
      <link>http://odeo.com/episodes/25199910-Talking-with-Stefano-Mazzocchi-about-reconciling-web-naming-systems</link>
      <description>When Stefano Mazzocchi saw my posts on webscale identiers[1, 2] he pointed me to some recent work he and others have been doing at Metaweb. At ids.freebaseapps.com you can find sets of different web identifiers that refer to the same things. So, for example: Apple Inc. versus Apple Records Each of these views collects identifiers from different sources. For Apple Inc. they include: The NYTimes: topics.nytimes.com/top/news/business/companies/apple_computer_inc/ Wikipedia: wikipedia.org/wiki/Apple_Computer Open Library: openlibrary.org/a/OL2669993A/Inc._Apple_Computer On this week&amp;#8217;s Innovators show Stefano joins me to discuss efforts underway at Metaweb to reconcile many different web naming systems and activate connections among them. Meanwhile my recent guest Kingsley Idehen is demonstrating a similar kind of name reconciliation at bbc.openlinksw.com. At this URL, for example, you can see canonical identifers for Michael Jackson from the BBC&amp;#8217;s own namespace and others in...</description>
      <itunes:subtitle>When Stefano Mazzocchi saw my posts on webscale identiers[1, 2] he pointed me to some recent work he and others have been doing at Metaweb. At ids.freebaseapps.com you can find sets of different web identifiers that refer to the same things. So, for example: Apple Inc. versus Apple Records Each of these views collects identifiers from different sources. For Apple Inc. they include: The NYTimes: topics.nytimes.com/top/news/business/companies/apple_computer_inc/ Wikipedia: wikipedia.org/wiki/Apple_Computer Open Library: openlibrary.org/a/OL2669993A/Inc._Apple_Computer On this week&amp;#8217;s Innovators show Stefano joins me to discuss efforts underway at Metaweb to reconcile many different web naming systems and activate connections among them. Meanwhile my recent guest Kingsley Idehen is demonstrating a similar kind of name reconciliation at bbc.openlinksw.com. At this URL, for example, you can see canonical identifers for Michael Jackson from the BBC&amp;#8217;s own namespace and others including DBpedia and OpenCyc. I&amp;#8217;m not quite sure what to make of all this. But my spidey sense is telling me to pay attention, so I am. Related: Semantic web mashups for the rest of us A conversation with Stefano Mazzocchi about Cocoon and SIMILE Motivating people to write the semantic web: A conversation with David Huynh about Parallax Talking with Kingsley Idehen about mastering your own search index</itunes:subtitle>
      <itunes:summary>When Stefano Mazzocchi saw my posts on webscale identiers[1, 2] he pointed me to some recent work he and others have been doing at Metaweb. At ids.freebaseapps.com you can find sets of different web identifiers that refer to the same things. So, for example: Apple Inc. versus Apple Records Each of these views collects identifiers from different sources. For Apple Inc. they include: The NYTimes: topics.nytimes.com/top/news/business/companies/apple_computer_inc/ Wikipedia: wikipedia.org/wiki/Apple_Computer Open Library: openlibrary.org/a/OL2669993A/Inc._Apple_Computer On this week&amp;#8217;s Innovators show Stefano joins me to discuss efforts underway at Metaweb to reconcile many different web naming systems and activate connections among them. Meanwhile my recent guest Kingsley Idehen is demonstrating a similar kind of name reconciliation at bbc.openlinksw.com. At this URL, for example, you can see canonical identifers for Michael Jackson from the BBC&amp;#8217;s own namespace and others including DBpedia and OpenCyc. I&amp;#8217;m not quite sure what to make of all this. But my spidey sense is telling me to pay attention, so I am. Related: Semantic web mashups for the rest of us A conversation with Stefano Mazzocchi about Cocoon and SIMILE Motivating people to write the semantic web: A conversation with David Huynh about Parallax Talking with Kingsley Idehen about mastering your own search index</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-09-28,25199910</guid>
      <pubDate>Mon, 28 Sep 2009 08:01:55 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Speaking and writing webscale identifiers</title>
      <link>http://odeo.com/episodes/25140838-Speaking-and-writing-webscale-identifiers</link>
      <description>I&amp;#8217;ve really enjoyed the conversation about webscale identifiers. Naming web resources is such a crucial discipline, and yet one we&amp;#8217;re all still making up as we go along. I ended the earlier post by suggesting that when we invent namespaces we should, where feasible, prefer names that make sense to people. In comments, a number of folks who have wrestled with the problem of ambiguity pointed out all sorts of reasons why that often just isn&amp;#8217;t feasible. Gavin Bell likes Amazon&amp;#8217;s hybrid approach: The model that Amazon have since moved to with a unique URL identifier and an ignored pretty human readable section is a good compromise. Michael Smethurst agreed with me that the BBC&amp;#8217;s opaque IDs &amp;#8212; for example, b006qpgr for The Archers &amp;#8212; could be promoted as a tag vocabulary that people would be encouraged to use: Shownar is a prototype by Schulze and Webb that aims to track &#8220;buzz&#8221; around bbc programmes. For now it&amp;#8217;s based on inbound links from b...</description>
      <itunes:subtitle>I&amp;#8217;ve really enjoyed the conversation about webscale identifiers. Naming web resources is such a crucial discipline, and yet one we&amp;#8217;re all still making up as we go along. I ended the earlier post by suggesting that when we invent namespaces we should, where feasible, prefer names that make sense to people. In comments, a number of folks who have wrestled with the problem of ambiguity pointed out all sorts of reasons why that often just isn&amp;#8217;t feasible. Gavin Bell likes Amazon&amp;#8217;s hybrid approach: The model that Amazon have since moved to with a unique URL identifier and an ignored pretty human readable section is a good compromise. Michael Smethurst agreed with me that the BBC&amp;#8217;s opaque IDs &amp;#8212; for example, b006qpgr for The Archers &amp;#8212; could be promoted as a tag vocabulary that people would be encouraged to use: Shownar is a prototype by Schulze and Webb that aims to track &#8220;buzz&#8221; around bbc programmes. For now it&amp;#8217;s based on inbound links from blogs/twitter/etc but it could be expanded to use machine tags!?! On Shownar, I find that this episode of Miss Marple was discussed in this blog entry: BBC Radio have just started an Agatha Christie season and a whole host of programmes about the Queen of Crime are available to UK listeners on the iPlayer. They include dramatizations of works starring super sleuths from Miss Marple to the Mysterious Mr Quin, as well as revealing documentaries. The entry uses URLs that embed these BBC ids: b00mk71d, b007jvht. How did the author find them? Clearly, in this case, by way of the search URL which is also cited in the entry: http://www.bbc.co.uk/iplayer/search/?q= agatha christie The search term agatha christie is wildly ambiguous, of course. Shownar would never have included this item had it not cited specific BBC shows by way of their opaque IDs. Nor would the author have cited them if that had required typing b00mk71d or b007jvht. It only works thanks to copy/paste, but it works quite nicely, and it shows why site-specific search still matters in an era of uber search engines. This example got me thinking about the character strings that we can and do type, easily and naturally, versus those we can&amp;#8217;t and won&amp;#8217;t. For example: queries (what we can and do type) results (what we can&amp;#8217;t and don&amp;#8217;t type) http://www.librarything.com/catalog/jonudell&amp;amp;deepsearch= practical internet groupware http://www.librarything.com/work/ 16804 http://www.librarything.com/work/16804/book/ 28447984 http://www.google.com/search?q= practical internet groupware http://oreilly.com/catalog/ 9781565925373 http://oreilly.com/catalog/ pracintgr http://www.bing.com/results.aspx?q= practical internet groupware http://www.amazon.com/Practical-Internet-Groupware-Jon-Udell/dp/ 156592537 http://my.safaribooksonline.com/ 1565925378 http://www.worldcat.org/search?q= practical internet groupware http://www.worldcat.org/oclc/ 43188074 http://www.amazon.com/s?index=blended&amp;amp;field-keywords= practical internet groupware http://www.amazon.com/Practical-Internet-Groupware-Jon-Udell/dp/ 1565925378 &amp;nbsp; Looking at the consistency on the left column, and the variation on the right, I&amp;#8217;ve got to conclude that: Practical Internet Groupware is the de facto webscale identifier for my book. 16804, 28447984, 9781565925373, pracintgr, 156592537, 1565925378, and 43188074 will never converge. I&amp;#8217;ve long imagined a class of equivalence services that would help us bridge the gap between vocabularies we can speak and write and those we&amp;#8217;ll never speak and need help to write. Both are sets of webscale identifiers that we&amp;#8217;ll need to use in complementary ways. That&amp;#8217;ll require a mix of social conventions and technical services.</itunes:subtitle>
      <itunes:summary>I&amp;#8217;ve really enjoyed the conversation about webscale identifiers. Naming web resources is such a crucial discipline, and yet one we&amp;#8217;re all still making up as we go along. I ended the earlier post by suggesting that when we invent namespaces we should, where feasible, prefer names that make sense to people. In comments, a number of folks who have wrestled with the problem of ambiguity pointed out all sorts of reasons why that often just isn&amp;#8217;t feasible. Gavin Bell likes Amazon&amp;#8217;s hybrid approach: The model that Amazon have since moved to with a unique URL identifier and an ignored pretty human readable section is a good compromise. Michael Smethurst agreed with me that the BBC&amp;#8217;s opaque IDs &amp;#8212; for example, b006qpgr for The Archers &amp;#8212; could be promoted as a tag vocabulary that people would be encouraged to use: Shownar is a prototype by Schulze and Webb that aims to track &#8220;buzz&#8221; around bbc programmes. For now it&amp;#8217;s based on inbound links from blogs/twitter/etc but it could be expanded to use machine tags!?! On Shownar, I find that this episode of Miss Marple was discussed in this blog entry: BBC Radio have just started an Agatha Christie season and a whole host of programmes about the Queen of Crime are available to UK listeners on the iPlayer. They include dramatizations of works starring super sleuths from Miss Marple to the Mysterious Mr Quin, as well as revealing documentaries. The entry uses URLs that embed these BBC ids: b00mk71d, b007jvht. How did the author find them? Clearly, in this case, by way of the search URL which is also cited in the entry: http://www.bbc.co.uk/iplayer/search/?q= agatha christie The search term agatha christie is wildly ambiguous, of course. Shownar would never have included this item had it not cited specific BBC shows by way of their opaque IDs. Nor would the author have cited them if that had required typing b00mk71d or b007jvht. It only works thanks to copy/paste, but it works quite nicely, and it shows why site-specific search still matters in an era of uber search engines. This example got me thinking about the character strings that we can and do type, easily and naturally, versus those we can&amp;#8217;t and won&amp;#8217;t. For example: queries (what we can and do type) results (what we can&amp;#8217;t and don&amp;#8217;t type) http://www.librarything.com/catalog/jonudell&amp;amp;deepsearch= practical internet groupware http://www.librarything.com/work/ 16804 http://www.librarything.com/work/16804/book/ 28447984 http://www.google.com/search?q= practical internet groupware http://oreilly.com/catalog/ 9781565925373 http://oreilly.com/catalog/ pracintgr http://www.bing.com/results.aspx?q= practical internet groupware http://www.amazon.com/Practical-Internet-Groupware-Jon-Udell/dp/ 156592537 http://my.safaribooksonline.com/ 1565925378 http://www.worldcat.org/search?q= practical internet groupware http://www.worldcat.org/oclc/ 43188074 http://www.amazon.com/s?index=blended&amp;amp;field-keywords= practical internet groupware http://www.amazon.com/Practical-Internet-Groupware-Jon-Udell/dp/ 1565925378 &amp;nbsp; Looking at the consistency on the left column, and the variation on the right, I&amp;#8217;ve got to conclude that: Practical Internet Groupware is the de facto webscale identifier for my book. 16804, 28447984, 9781565925373, pracintgr, 156592537, 1565925378, and 43188074 will never converge. I&amp;#8217;ve long imagined a class of equivalence services that would help us bridge the gap between vocabularies we can speak and write and those we&amp;#8217;ll never speak and need help to write. Both are sets of webscale identifiers that we&amp;#8217;ll need to use in complementary ways. That&amp;#8217;ll require a mix of social conventions and technical services.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-09-17,25140838</guid>
      <pubDate>Thu, 17 Sep 2009 09:54:02 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Familiar idioms in Perl, Python, JavaScript, and C#</title>
      <link>http://odeo.com/episodes/25135131-Familiar-idioms-in-Perl-Python-JavaScript-and-C</link>
      <description>When I started working on the elmcity project, I planned to use my language of choice in recent years: Python. But early on, IronPython wasn&amp;#8217;t fully supported on Azure, so I switched to C#. Later, when IronPython became fully supported, there was really no point in switching my core roles (worker and web) to it, so I&amp;#8217;ve proceeded in a hybrid mode. The core roles are written in C#, and a variety of auxiliary pieces are written in IronPython. Meanwhile, I&amp;#8217;ve been creating other auxiliary pieces in JavaScript, as will happen with any web project. The other day, at the request of a calendar curator, I used JavaScript to prototype a tag summarizer. This was so useful that I decided to make it a new feature of the service. The C# version was so strikingly similar to the JavaScript version that I just had to set them side by side for comparison: JavaScript C# var tagdict = new Object(); for ( i = 0; i &amp;lt; obj.length; i++ ) { var evt = obj[i]; if ( evt[&amp;quot;categories&amp;qu...</description>
      <itunes:subtitle>When I started working on the elmcity project, I planned to use my language of choice in recent years: Python. But early on, IronPython wasn&amp;#8217;t fully supported on Azure, so I switched to C#. Later, when IronPython became fully supported, there was really no point in switching my core roles (worker and web) to it, so I&amp;#8217;ve proceeded in a hybrid mode. The core roles are written in C#, and a variety of auxiliary pieces are written in IronPython. Meanwhile, I&amp;#8217;ve been creating other auxiliary pieces in JavaScript, as will happen with any web project. The other day, at the request of a calendar curator, I used JavaScript to prototype a tag summarizer. This was so useful that I decided to make it a new feature of the service. The C# version was so strikingly similar to the JavaScript version that I just had to set them side by side for comparison: JavaScript C# var tagdict = new Object(); for ( i = 0; i &amp;lt; obj.length; i++ ) { var evt = obj[i]; if ( evt[&amp;quot;categories&amp;quot;] != undefined) { var tags = evt[&amp;quot;categories&amp;quot;].split(&amp;#039;,&amp;#039;); for (j = 0; j &amp;lt; tags.length; j++ ) { var tag = tags[j]; if ( tagdict[tag] != undefined ) tagdict[tag]++; else tagdict[tag] = 1; } } } var tagdict = new Dictionary(); foreach (var evt in es.events) { if (evt.categories != null) { var tags = evt.categories.Split(','); foreach (var tag in tags) { if (tagdict.ContainsKey(tag)) tagdict[tag]++; else tagdict[tag] = 1; } } } var sorted_keys = []; for ( var tag in tagdict ) sorted_keys.push(tag); sorted_keys.sort(function(a,b) { return tagdict[b] - tagdict[a] }); var sorted_keys = new List(); foreach (var tag in tagdict.Keys) sorted_keys.Add(tag); sorted_keys.Sort( (a, b) =&amp;gt; tagdict[b].CompareTo(tagdict[a])); The idioms involved here include: Splitting a string on a delimiter to produce a list Using a dictionary to build a concordance of strings and occurrence counts Sorting an array of keys by their associated occurrence counts I first used these idioms in Perl. Later they became Python staples. Now here they are again, in both JavaScript and C#.</itunes:subtitle>
      <itunes:summary>When I started working on the elmcity project, I planned to use my language of choice in recent years: Python. But early on, IronPython wasn&amp;#8217;t fully supported on Azure, so I switched to C#. Later, when IronPython became fully supported, there was really no point in switching my core roles (worker and web) to it, so I&amp;#8217;ve proceeded in a hybrid mode. The core roles are written in C#, and a variety of auxiliary pieces are written in IronPython. Meanwhile, I&amp;#8217;ve been creating other auxiliary pieces in JavaScript, as will happen with any web project. The other day, at the request of a calendar curator, I used JavaScript to prototype a tag summarizer. This was so useful that I decided to make it a new feature of the service. The C# version was so strikingly similar to the JavaScript version that I just had to set them side by side for comparison: JavaScript C# var tagdict = new Object(); for ( i = 0; i &amp;lt; obj.length; i++ ) { var evt = obj[i]; if ( evt[&amp;quot;categories&amp;quot;] != undefined) { var tags = evt[&amp;quot;categories&amp;quot;].split(&amp;#039;,&amp;#039;); for (j = 0; j &amp;lt; tags.length; j++ ) { var tag = tags[j]; if ( tagdict[tag] != undefined ) tagdict[tag]++; else tagdict[tag] = 1; } } } var tagdict = new Dictionary(); foreach (var evt in es.events) { if (evt.categories != null) { var tags = evt.categories.Split(','); foreach (var tag in tags) { if (tagdict.ContainsKey(tag)) tagdict[tag]++; else tagdict[tag] = 1; } } } var sorted_keys = []; for ( var tag in tagdict ) sorted_keys.push(tag); sorted_keys.sort(function(a,b) { return tagdict[b] - tagdict[a] }); var sorted_keys = new List(); foreach (var tag in tagdict.Keys) sorted_keys.Add(tag); sorted_keys.Sort( (a, b) =&amp;gt; tagdict[b].CompareTo(tagdict[a])); The idioms involved here include: Splitting a string on a delimiter to produce a list Using a dictionary to build a concordance of strings and occurrence counts Sorting an array of keys by their associated occurrence counts I first used these idioms in Perl. Later they became Python staples. Now here they are again, in both JavaScript and C#.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-09-16,25135131</guid>
      <pubDate>Wed, 16 Sep 2009 10:01:21 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Talking with Hugh McGuire about BookOven</title>
      <link>http://odeo.com/episodes/25130084-Talking-with-Hugh-McGuire-about-BookOven</link>
      <description>On this week&amp;#8217;s Innovators show I reconnect with Hugh McGuire. He&amp;#8217;s the 104th guest in the current incarnation of the show, and was also the fourth. With Hugh it&amp;#8217;s always about books and collaboration. Our first conversation explored one of my favorite projects, LibriVox, which brings people together to make free downloadable audiobooks. This time around we talked about his new project, BookOven, which aims to help authors, editors, and readers work together to create new books. Writing a book was the hardest thing I&amp;#8217;ve ever done. The loneliness was what got to me. I finished around the time the blogosophere was starting to emerge, and the collegial joy I found here made me think I&amp;#8217;d never want to repeat that solitary experience. Nowadays I wouldn&amp;#8217;t have to. Authors commonly write books out in the open on blogs. BookOven aims to push that strategy further by providing a suite of online tools purpose-built for discussing, editing, and proofing long ...</description>
      <itunes:subtitle>On this week&amp;#8217;s Innovators show I reconnect with Hugh McGuire. He&amp;#8217;s the 104th guest in the current incarnation of the show, and was also the fourth. With Hugh it&amp;#8217;s always about books and collaboration. Our first conversation explored one of my favorite projects, LibriVox, which brings people together to make free downloadable audiobooks. This time around we talked about his new project, BookOven, which aims to help authors, editors, and readers work together to create new books. Writing a book was the hardest thing I&amp;#8217;ve ever done. The loneliness was what got to me. I finished around the time the blogosophere was starting to emerge, and the collegial joy I found here made me think I&amp;#8217;d never want to repeat that solitary experience. Nowadays I wouldn&amp;#8217;t have to. Authors commonly write books out in the open on blogs. BookOven aims to push that strategy further by providing a suite of online tools purpose-built for discussing, editing, and proofing long texts. Given the rise of the 140-character blurb, this emphasis on the long form is counter-cyclical. But for me, at least, the pendulum is swinging back. Lately I&amp;#8217;m snacking less on Twitter and enjoying full meals served up by the blogosphere, online magazines, library books. It&amp;#8217;s been nourishing. But I&amp;#8217;m also noticing that much of this work &amp;#8212; in the commercial as well as the amateur realm &amp;#8212; could benefit from better organization, editing, and proofing. The collaborative restructuring of all kinds of professional work has only just begun. Hugh McGuire and I share the belief that our new ability to harness what Yochai Benkler calls the loose affiliation of ad-hoc teams will yield better results in many areas. Book-length writing is the domain that Hugh has staked out. How can the new modes of collaboration enhance this ancient practice? We&amp;#8217;ll see.</itunes:subtitle>
      <itunes:summary>On this week&amp;#8217;s Innovators show I reconnect with Hugh McGuire. He&amp;#8217;s the 104th guest in the current incarnation of the show, and was also the fourth. With Hugh it&amp;#8217;s always about books and collaboration. Our first conversation explored one of my favorite projects, LibriVox, which brings people together to make free downloadable audiobooks. This time around we talked about his new project, BookOven, which aims to help authors, editors, and readers work together to create new books. Writing a book was the hardest thing I&amp;#8217;ve ever done. The loneliness was what got to me. I finished around the time the blogosophere was starting to emerge, and the collegial joy I found here made me think I&amp;#8217;d never want to repeat that solitary experience. Nowadays I wouldn&amp;#8217;t have to. Authors commonly write books out in the open on blogs. BookOven aims to push that strategy further by providing a suite of online tools purpose-built for discussing, editing, and proofing long texts. Given the rise of the 140-character blurb, this emphasis on the long form is counter-cyclical. But for me, at least, the pendulum is swinging back. Lately I&amp;#8217;m snacking less on Twitter and enjoying full meals served up by the blogosphere, online magazines, library books. It&amp;#8217;s been nourishing. But I&amp;#8217;m also noticing that much of this work &amp;#8212; in the commercial as well as the amateur realm &amp;#8212; could benefit from better organization, editing, and proofing. The collaborative restructuring of all kinds of professional work has only just begun. Hugh McGuire and I share the belief that our new ability to harness what Yochai Benkler calls the loose affiliation of ad-hoc teams will yield better results in many areas. Book-length writing is the domain that Hugh has staked out. How can the new modes of collaboration enhance this ancient practice? We&amp;#8217;ll see.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-09-15,25130084</guid>
      <pubDate>Tue, 15 Sep 2009 10:50:03 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Ask and ye may receive, don&#8217;t ask and ye surely will not</title>
      <link>http://odeo.com/episodes/25124369-Ask-and-ye-may-receive-don%E2%80%99t-ask-and-ye-surely-will-not</link>
      <description>This fall a small team of University of Toronto and Michigan State undergrads will be working on parts of the elmcity project by way of Undergraduate Capstone Open Source Projects (UCOSP), organized by Greg Wilson. In our first online meeting, the students decided they&amp;#8217;d like to tackle the problem that FuseCal was solving: extraction of well-structured calendar information from weakly-structured web pages. From a computer science perspective, there&amp;#8217;s a fairly obvious path. Start with specific examples that can be scraped, then work toward a more general solution. So the first two examples are going to be MySpace and LibraryThing. The recipes[1, 2] I&amp;#8217;d concocted for FuseCal-written iCalendar feeds were especially valuable because they could be used by almost any curator for almost any location. But as I mentioned to the students, there&amp;#8217;s another way to approach these two cases. And I was reminded of it again when Michael Foord pointed to this fascinating post ...</description>
      <itunes:subtitle>This fall a small team of University of Toronto and Michigan State undergrads will be working on parts of the elmcity project by way of Undergraduate Capstone Open Source Projects (UCOSP), organized by Greg Wilson. In our first online meeting, the students decided they&amp;#8217;d like to tackle the problem that FuseCal was solving: extraction of well-structured calendar information from weakly-structured web pages. From a computer science perspective, there&amp;#8217;s a fairly obvious path. Start with specific examples that can be scraped, then work toward a more general solution. So the first two examples are going to be MySpace and LibraryThing. The recipes[1, 2] I&amp;#8217;d concocted for FuseCal-written iCalendar feeds were especially valuable because they could be used by almost any curator for almost any location. But as I mentioned to the students, there&amp;#8217;s another way to approach these two cases. And I was reminded of it again when Michael Foord pointed to this fascinating post prompted by the open source release of FriendFeed&amp;#8217;s homegrown web server, Tornado. The author of the post, Glyph Lefkowitz, is the founder of Twisted, a Python-based network programming framework that includes the sort of asynchronous event-driven capabilities that FriendFeed recreated for Tornado. Glyph writes: If you&amp;#8217;re about to undergo a re-write of a major project because it didn&amp;#8217;t meet some requirements that you had, please tell the project that you are rewriting what you are doing. In the best case scenario, someone involved with that project will say, &amp;#8220;Oh, you&amp;#8217;ve misunderstood the documentation, actually it does do that&amp;#8221;. In the worst case, you go ahead with your rewrite anyway, but there is some hope that you might be able to cooperate in the future, as the project gradually evolves to meet your requirements. Somewhere in the middle, you might be able to contribute a few small fixes rather than re-implementing the whole thing and maintaining it yourself. Whether FriendFeed could have improved the parts of Twisted that it found lacking, while leveraging its synergistic aspects, is a question only specialists close to both projects can answer. But Glyph is making a more general point. If you don&amp;#8217;t communicate your intentions, such questions can never even be asked. Tying this back to the elmcity project, I mentioned to the students that the best scraper for MySpace and LibraryThing calendars is no scraper at all. If these services produced iCalendar feeds directly, there would be no need. That would be the ideal solution &amp;#8212; a win for existing users of the services, and for the iCalendar ecosystem I&amp;#8217;m trying to bootstrap. I&amp;#8217;ve previously asked contacts at MySpace and LibraryThing about this. But now, since we&amp;#8217;re intending to scrape those services for calendar info, it can&amp;#8217;t hurt to announce that intention and hope one or both services will provide feeds directly and obviate the need. That way the students can focus on different problems &amp;#8212; and there are plenty to choose from. So I&amp;#8217;ll be sending the URL of this post to my contacts at those companies, and if any readers of this blog can help move things along, please do. We may end up with scrapers anyway. But maybe not. Maybe iCalendar feeds have already been provided, but aren&amp;#8217;t documented. Maybe they were in the priority stack and this reminder will bump them up. It&amp;#8217;s worth a shot. If the problem can be solved by communicating intentions rather than writing redundant code, that&amp;#8217;s the ultimate hack. And its one that I hope more computer science students will learn to aspire to.</itunes:subtitle>
      <itunes:summary>This fall a small team of University of Toronto and Michigan State undergrads will be working on parts of the elmcity project by way of Undergraduate Capstone Open Source Projects (UCOSP), organized by Greg Wilson. In our first online meeting, the students decided they&amp;#8217;d like to tackle the problem that FuseCal was solving: extraction of well-structured calendar information from weakly-structured web pages. From a computer science perspective, there&amp;#8217;s a fairly obvious path. Start with specific examples that can be scraped, then work toward a more general solution. So the first two examples are going to be MySpace and LibraryThing. The recipes[1, 2] I&amp;#8217;d concocted for FuseCal-written iCalendar feeds were especially valuable because they could be used by almost any curator for almost any location. But as I mentioned to the students, there&amp;#8217;s another way to approach these two cases. And I was reminded of it again when Michael Foord pointed to this fascinating post prompted by the open source release of FriendFeed&amp;#8217;s homegrown web server, Tornado. The author of the post, Glyph Lefkowitz, is the founder of Twisted, a Python-based network programming framework that includes the sort of asynchronous event-driven capabilities that FriendFeed recreated for Tornado. Glyph writes: If you&amp;#8217;re about to undergo a re-write of a major project because it didn&amp;#8217;t meet some requirements that you had, please tell the project that you are rewriting what you are doing. In the best case scenario, someone involved with that project will say, &amp;#8220;Oh, you&amp;#8217;ve misunderstood the documentation, actually it does do that&amp;#8221;. In the worst case, you go ahead with your rewrite anyway, but there is some hope that you might be able to cooperate in the future, as the project gradually evolves to meet your requirements. Somewhere in the middle, you might be able to contribute a few small fixes rather than re-implementing the whole thing and maintaining it yourself. Whether FriendFeed could have improved the parts of Twisted that it found lacking, while leveraging its synergistic aspects, is a question only specialists close to both projects can answer. But Glyph is making a more general point. If you don&amp;#8217;t communicate your intentions, such questions can never even be asked. Tying this back to the elmcity project, I mentioned to the students that the best scraper for MySpace and LibraryThing calendars is no scraper at all. If these services produced iCalendar feeds directly, there would be no need. That would be the ideal solution &amp;#8212; a win for existing users of the services, and for the iCalendar ecosystem I&amp;#8217;m trying to bootstrap. I&amp;#8217;ve previously asked contacts at MySpace and LibraryThing about this. But now, since we&amp;#8217;re intending to scrape those services for calendar info, it can&amp;#8217;t hurt to announce that intention and hope one or both services will provide feeds directly and obviate the need. That way the students can focus on different problems &amp;#8212; and there are plenty to choose from. So I&amp;#8217;ll be sending the URL of this post to my contacts at those companies, and if any readers of this blog can help move things along, please do. We may end up with scrapers anyway. But maybe not. Maybe iCalendar feeds have already been provided, but aren&amp;#8217;t documented. Maybe they were in the priority stack and this reminder will bump them up. It&amp;#8217;s worth a shot. If the problem can be solved by communicating intentions rather than writing redundant code, that&amp;#8217;s the ultimate hack. And its one that I hope more computer science students will learn to aspire to.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-09-14,25124369</guid>
      <pubDate>Mon, 14 Sep 2009 09:15:26 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Talking with Kingsley Idehen about mastering your own search index</title>
      <link>http://odeo.com/episodes/25098023-Talking-with-Kingsley-Idehen-about-mastering-your-own-search-index</link>
      <description>Kingsley Idehen&amp;#8217;s vision of a web of linked data long predates the recognition I accorded him in 2003. He&amp;#8217;s seen the big picture for a very long time, and has been driving toward it consistently. Over the years we&amp;#8217;ve had conversations in which I&amp;#8217;ve always wound up saying: &amp;#8220;Yes, OK, but how will we get people to create this web of linked data that we want to navigate and query?&amp;#8221; On this week&amp;#8217;s Innovators show he responds with what I find to be a plausible scenario. Every business, and increasingly every person, presents some kind of home page to the world. On those pages you will find, implied but not clearly stated, one or both of the following kinds of assertions: 1. Things I offer. 2. Things I seek. A plumber, for example, may offer hydronic heating services, and may seek an assistant with certain qualifications. By encoding these kinds of assertions as subject-verb-object triples we could, in theory, build a semantic web that matches seek...</description>
      <itunes:subtitle>Kingsley Idehen&amp;#8217;s vision of a web of linked data long predates the recognition I accorded him in 2003. He&amp;#8217;s seen the big picture for a very long time, and has been driving toward it consistently. Over the years we&amp;#8217;ve had conversations in which I&amp;#8217;ve always wound up saying: &amp;#8220;Yes, OK, but how will we get people to create this web of linked data that we want to navigate and query?&amp;#8221; On this week&amp;#8217;s Innovators show he responds with what I find to be a plausible scenario. Every business, and increasingly every person, presents some kind of home page to the world. On those pages you will find, implied but not clearly stated, one or both of the following kinds of assertions: 1. Things I offer. 2. Things I seek. A plumber, for example, may offer hydronic heating services, and may seek an assistant with certain qualifications. By encoding these kinds of assertions as subject-verb-object triples we could, in theory, build a semantic web that matches seekers and finders more efficiently than the current searchable web can. But that first step was always doozy. Writing the assertions required an XML syntax which has never become a web mainstay. There are other ways to write them, however. Using an approach called RDFa, you can embed them directly into human-readable web pages. This isn&amp;#8217;t a new idea. A decade ago, in my book Practical Internet Groupware, I showed how CSS class attributes could do double duty within a web page, governing style while also conveying meaning. In 2003 I was still experimenting with the idea, which I then called microcontent. Nowadays the term is microformats. Although we&amp;#8217;ve heard plenty about this idea over the years, it has yet to bear fruit. I don&amp;#8217;t know that it will, but the scenario Kingsley Idehen outlines strikes me as plausible because, as Dries Buytaert evocatively says, structured data is the new search engine optimization. Formerly of concern only to publishers, the rationale for search engine optimization is now becoming evident to everyone who writes an About page for their businesses or &amp;#8212; what often comes to the same thing &amp;#8212; for themselves. The formula for an About page is well known: name, address, services offered, hours of operation, etc. Everyone writes this stuff once for the About page, and then again in countless variations for inclusion in various directories. Kingsley and I both hope that the time is now ripe for a web-friendly way to write this data into About pages once, for common use by human visitors, search crawlers, and syndicated directories. His proposal relies on RDFa to encode factual assertions, and on an e-commerce ontology called GoodRelations which, as its creator Martin Hepp says, provides the vocabulary to say things like: a particular Web site describes an offer to sell cellphones of a certain make and model at a certain price, a pianohouse offers maintenance for pianos that weigh less than 150 kg, a car rental company leases out cars of a certain make and model from a particular set of branches across the country. The GoodRelations wiki shows cookbook examples for Yahoo and Google. You&amp;#8217;d have to be fairly technical to adapt these using cut-and-paste, but there&amp;#8217;s also a form that, although currently still wired to emit the older RDF/XML kinds of assertions, will soon also emit RDFa that can be woven into existing About pages. To navigate and query a web of linked data you need, obviously, mechanisms by which to do the navigation and the querying. That&amp;#8217;s never been the problem. Technologists love to figure such things out. But we&amp;#8217;ve spectacularly failed to help people create that web of linked data in the first place. I don&amp;#8217;t know if the approach Kingsley Idehen sketches in this week&amp;#8217;s podcast will succeed. But it feels right, and I love his tagline: &amp;#8220;Be the master of your own index.&amp;#8221;</itunes:subtitle>
      <itunes:summary>Kingsley Idehen&amp;#8217;s vision of a web of linked data long predates the recognition I accorded him in 2003. He&amp;#8217;s seen the big picture for a very long time, and has been driving toward it consistently. Over the years we&amp;#8217;ve had conversations in which I&amp;#8217;ve always wound up saying: &amp;#8220;Yes, OK, but how will we get people to create this web of linked data that we want to navigate and query?&amp;#8221; On this week&amp;#8217;s Innovators show he responds with what I find to be a plausible scenario. Every business, and increasingly every person, presents some kind of home page to the world. On those pages you will find, implied but not clearly stated, one or both of the following kinds of assertions: 1. Things I offer. 2. Things I seek. A plumber, for example, may offer hydronic heating services, and may seek an assistant with certain qualifications. By encoding these kinds of assertions as subject-verb-object triples we could, in theory, build a semantic web that matches seekers and finders more efficiently than the current searchable web can. But that first step was always doozy. Writing the assertions required an XML syntax which has never become a web mainstay. There are other ways to write them, however. Using an approach called RDFa, you can embed them directly into human-readable web pages. This isn&amp;#8217;t a new idea. A decade ago, in my book Practical Internet Groupware, I showed how CSS class attributes could do double duty within a web page, governing style while also conveying meaning. In 2003 I was still experimenting with the idea, which I then called microcontent. Nowadays the term is microformats. Although we&amp;#8217;ve heard plenty about this idea over the years, it has yet to bear fruit. I don&amp;#8217;t know that it will, but the scenario Kingsley Idehen outlines strikes me as plausible because, as Dries Buytaert evocatively says, structured data is the new search engine optimization. Formerly of concern only to publishers, the rationale for search engine optimization is now becoming evident to everyone who writes an About page for their businesses or &amp;#8212; what often comes to the same thing &amp;#8212; for themselves. The formula for an About page is well known: name, address, services offered, hours of operation, etc. Everyone writes this stuff once for the About page, and then again in countless variations for inclusion in various directories. Kingsley and I both hope that the time is now ripe for a web-friendly way to write this data into About pages once, for common use by human visitors, search crawlers, and syndicated directories. His proposal relies on RDFa to encode factual assertions, and on an e-commerce ontology called GoodRelations which, as its creator Martin Hepp says, provides the vocabulary to say things like: a particular Web site describes an offer to sell cellphones of a certain make and model at a certain price, a pianohouse offers maintenance for pianos that weigh less than 150 kg, a car rental company leases out cars of a certain make and model from a particular set of branches across the country. The GoodRelations wiki shows cookbook examples for Yahoo and Google. You&amp;#8217;d have to be fairly technical to adapt these using cut-and-paste, but there&amp;#8217;s also a form that, although currently still wired to emit the older RDF/XML kinds of assertions, will soon also emit RDFa that can be woven into existing About pages. To navigate and query a web of linked data you need, obviously, mechanisms by which to do the navigation and the querying. That&amp;#8217;s never been the problem. Technologists love to figure such things out. But we&amp;#8217;ve spectacularly failed to help people create that web of linked data in the first place. I don&amp;#8217;t know if the approach Kingsley Idehen sketches in this week&amp;#8217;s podcast will succeed. But it feels right, and I love his tagline: &amp;#8220;Be the master of your own index.&amp;#8221;</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-09-09,25098023</guid>
      <pubDate>Wed, 09 Sep 2009 07:21:49 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>The joy of webscale identifiers</title>
      <link>http://odeo.com/episodes/25050648-The-joy-of-webscale-identifiers</link>
      <description>My guest for this week&amp;#8217;s Innovators show, Ian Forrester, heads up the BBC&amp;#8217;s Backstage project. Launched in 2005, Backstage lives at a cultural crossroads where legacy systems and methods intersect with their next-generation counterparts. The tagline for the feeds and APIs provided under the Backstage umbrella is &amp;#8220;use our stuff to build your stuff.&amp;#8221; Admittedly that sounded a lot more exciting prior to 2006, when the BBC ended its trial of the Creative Archive service that was expected to &amp;#8220;open the floodgates&amp;#8221; to a &amp;#8220;treasure trove&amp;#8221; of cultural riches. Ian Forrester says those expectations were ratcheted back for two reasons. First, much of that treasure trove remains undigitized. Second, rights clearance proved to be an intractable problem. So the &amp;#8220;our stuff&amp;#8221; that&amp;#8217;s available to build &amp;#8220;your stuff&amp;#8221; turns out to be mostly metadata: news headlines, program titles and schedules. What&amp;#8217;s more, that metadata ...</description>
      <itunes:subtitle>My guest for this week&amp;#8217;s Innovators show, Ian Forrester, heads up the BBC&amp;#8217;s Backstage project. Launched in 2005, Backstage lives at a cultural crossroads where legacy systems and methods intersect with their next-generation counterparts. The tagline for the feeds and APIs provided under the Backstage umbrella is &amp;#8220;use our stuff to build your stuff.&amp;#8221; Admittedly that sounded a lot more exciting prior to 2006, when the BBC ended its trial of the Creative Archive service that was expected to &amp;#8220;open the floodgates&amp;#8221; to a &amp;#8220;treasure trove&amp;#8221; of cultural riches. Ian Forrester says those expectations were ratcheted back for two reasons. First, much of that treasure trove remains undigitized. Second, rights clearance proved to be an intractable problem. So the &amp;#8220;our stuff&amp;#8221; that&amp;#8217;s available to build &amp;#8220;your stuff&amp;#8221; turns out to be mostly metadata: news headlines, program titles and schedules. What&amp;#8217;s more, that metadata comes from a plethora of BBC content management systems. What can you make out of these ingredients? Here&amp;#8217;s an evocative example: http://www.bbc.co.uk/nature/species/African_Bush_Elephant. The BBC&amp;#8217;s Tom Scott explains: Over the last few months we&amp;#8217;ve been plundering the NHU&#8217;s [Natural History Unit's] archive to find the best bits &#8212; segmenting the TV programmes, tagging them (with DBpedia terms) and then aggregating them around URIs for the key concepts within the natural history domain; so that you can discover those programme segments via both the originating programme and via concepts within the natural history domain &#8212; species, habitats, adaptations and the like. This is just the sort of remixing that Backstage ought to enable anyone, inside or outside the BBC, to achieve. Since I&amp;#8217;m a US resident, and don&amp;#8217;t pay the UK&amp;#8217;s television license fee, I can&amp;#8217;t watch the videos on that page. There&amp;#8217;s nothing that the Backstage team can do about that. But they can take a radically open and inclusive approach to the management of the metadata that supports this remixing, and that&amp;#8217;s just what they&amp;#8217;re doing. In our conversation, Ian Forrester describes how the taxonomy that governs the Backstage feeds and APIs is shared with that of Wikipedia and its structured derivative, DBpedia. Tom Scott elaborates: You might have noticed that the slugs for our URIs (the last bit of the URL) are the same as those used by Wikipedia and DBpedia that&amp;#8217;s because I believe in the simple joy of webscale identifiers, you will also see that much like the BBC&amp;#8217;s music site we are transcluding the introductory text from Wikipedia to provide background information for most things. This also means that we are creating and editing Wikipedia articles where they need improving (of course you are also more than welcome to improve upon the articles). As someone who both practices and preaches collaborative curation, I&amp;#8217;m delighted to see the BBC taking this approach. And I love the phrase webscale identifier. Here&amp;#8217;s how Michael Smethurst defines it, in the post pointed to by Tom Scott: I agree with the four Linked Data rules but I&amp;#8217;d like to try to add a fifth: if possible don&amp;#8217;t reinvent other people&amp;#8217;s web identifiers. By web identifiers I mean those fragments of URLs that uniquely identify a resource within a domain. So in the case of the MusicBrainz entry for The Fall (http://musicbrainz.org/artist/d5da1841-9bc8-4813-9f89-11098090148e.html) that&amp;#8217;ll be d5da1841-9bc8-4813-9f89-11098090148e. The last time we updated the /music site we made this mistake (kind of unavoidable at the time). Even though we linked our data to MusicBrainz we minted new identifiers for artists. So The Fall became http://www.bbc.co.uk/music/artist/jb9x/ where jb9x was the identifier. But jb9x doesn&amp;#8217;t exist anywhere outside of /music. We&amp;#8217;ll (hopefully) never make that mistake again. Beautifully said. Enormous synergies have gone unrealized because web publishers have chosen to mint new namespaces rather than add value to existing ones. What I realized when talking with Ian, though, is that there is one namespace for which the BBC is the appropriate mint, namely its own. Here, for example, are some of the family of URLs for a radio drama called The Archers: homepage: http://www.bbc.co.uk/programmes/b006qpgr/ upcoming shows: http://www.bbc.co.uk/programmes/b006qpgr/episodes/upcoming.xml In this example b006qpgr is, at least potentially, a webscale identifier. It&amp;#8217;s a unique tag for the show that, if used on blogs, on Twitter, and elsewhere, would make it easy to assemble all kinds of online activity related to the show. But in fact only web developers using Backstage feeds and APIs will ever discover, or use, b006qpgr. In colloquial discourse people use The Archers. If the BBC wants people to collaborate with its namespace in the same way that it collaborates with Wikipedia&amp;#8217;s, this would be more inviting: http://www.bbc.co.uk/programmes/The_Archers/ http://www.bbc.co.uk/programmes/The_Archers/episodes/upcoming.xml It should go without saying, but right after the first rule for linked data, &amp;#8220;Use URIs as names for things,&amp;#8221; I would add &amp;#8220;Where possible, choose names that make sense to people.&amp;#8221;</itunes:subtitle>
      <itunes:summary>My guest for this week&amp;#8217;s Innovators show, Ian Forrester, heads up the BBC&amp;#8217;s Backstage project. Launched in 2005, Backstage lives at a cultural crossroads where legacy systems and methods intersect with their next-generation counterparts. The tagline for the feeds and APIs provided under the Backstage umbrella is &amp;#8220;use our stuff to build your stuff.&amp;#8221; Admittedly that sounded a lot more exciting prior to 2006, when the BBC ended its trial of the Creative Archive service that was expected to &amp;#8220;open the floodgates&amp;#8221; to a &amp;#8220;treasure trove&amp;#8221; of cultural riches. Ian Forrester says those expectations were ratcheted back for two reasons. First, much of that treasure trove remains undigitized. Second, rights clearance proved to be an intractable problem. So the &amp;#8220;our stuff&amp;#8221; that&amp;#8217;s available to build &amp;#8220;your stuff&amp;#8221; turns out to be mostly metadata: news headlines, program titles and schedules. What&amp;#8217;s more, that metadata comes from a plethora of BBC content management systems. What can you make out of these ingredients? Here&amp;#8217;s an evocative example: http://www.bbc.co.uk/nature/species/African_Bush_Elephant. The BBC&amp;#8217;s Tom Scott explains: Over the last few months we&amp;#8217;ve been plundering the NHU&#8217;s [Natural History Unit's] archive to find the best bits &#8212; segmenting the TV programmes, tagging them (with DBpedia terms) and then aggregating them around URIs for the key concepts within the natural history domain; so that you can discover those programme segments via both the originating programme and via concepts within the natural history domain &#8212; species, habitats, adaptations and the like. This is just the sort of remixing that Backstage ought to enable anyone, inside or outside the BBC, to achieve. Since I&amp;#8217;m a US resident, and don&amp;#8217;t pay the UK&amp;#8217;s television license fee, I can&amp;#8217;t watch the videos on that page. There&amp;#8217;s nothing that the Backstage team can do about that. But they can take a radically open and inclusive approach to the management of the metadata that supports this remixing, and that&amp;#8217;s just what they&amp;#8217;re doing. In our conversation, Ian Forrester describes how the taxonomy that governs the Backstage feeds and APIs is shared with that of Wikipedia and its structured derivative, DBpedia. Tom Scott elaborates: You might have noticed that the slugs for our URIs (the last bit of the URL) are the same as those used by Wikipedia and DBpedia that&amp;#8217;s because I believe in the simple joy of webscale identifiers, you will also see that much like the BBC&amp;#8217;s music site we are transcluding the introductory text from Wikipedia to provide background information for most things. This also means that we are creating and editing Wikipedia articles where they need improving (of course you are also more than welcome to improve upon the articles). As someone who both practices and preaches collaborative curation, I&amp;#8217;m delighted to see the BBC taking this approach. And I love the phrase webscale identifier. Here&amp;#8217;s how Michael Smethurst defines it, in the post pointed to by Tom Scott: I agree with the four Linked Data rules but I&amp;#8217;d like to try to add a fifth: if possible don&amp;#8217;t reinvent other people&amp;#8217;s web identifiers. By web identifiers I mean those fragments of URLs that uniquely identify a resource within a domain. So in the case of the MusicBrainz entry for The Fall (http://musicbrainz.org/artist/d5da1841-9bc8-4813-9f89-11098090148e.html) that&amp;#8217;ll be d5da1841-9bc8-4813-9f89-11098090148e. The last time we updated the /music site we made this mistake (kind of unavoidable at the time). Even though we linked our data to MusicBrainz we minted new identifiers for artists. So The Fall became http://www.bbc.co.uk/music/artist/jb9x/ where jb9x was the identifier. But jb9x doesn&amp;#8217;t exist anywhere outside of /music. We&amp;#8217;ll (hopefully) never make that mistake again. Beautifully said. Enormous synergies have gone unrealized because web publishers have chosen to mint new namespaces rather than add value to existing ones. What I realized when talking with Ian, though, is that there is one namespace for which the BBC is the appropriate mint, namely its own. Here, for example, are some of the family of URLs for a radio drama called The Archers: homepage: http://www.bbc.co.uk/programmes/b006qpgr/ upcoming shows: http://www.bbc.co.uk/programmes/b006qpgr/episodes/upcoming.xml In this example b006qpgr is, at least potentially, a webscale identifier. It&amp;#8217;s a unique tag for the show that, if used on blogs, on Twitter, and elsewhere, would make it easy to assemble all kinds of online activity related to the show. But in fact only web developers using Backstage feeds and APIs will ever discover, or use, b006qpgr. In colloquial discourse people use The Archers. If the BBC wants people to collaborate with its namespace in the same way that it collaborates with Wikipedia&amp;#8217;s, this would be more inviting: http://www.bbc.co.uk/programmes/The_Archers/ http://www.bbc.co.uk/programmes/The_Archers/episodes/upcoming.xml It should go without saying, but right after the first rule for linked data, &amp;#8220;Use URIs as names for things,&amp;#8221; I would add &amp;#8220;Where possible, choose names that make sense to people.&amp;#8221;</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-31,25050648</guid>
      <pubDate>Mon, 31 Aug 2009 09:55:18 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>FriendFeed for project collaboration</title>
      <link>http://odeo.com/episodes/25032237-FriendFeed-for-project-collaboration</link>
      <description>For me, FriendFeed has been a new answer to an old question &amp;#8212; namely, how to collaborate in a loosely-coupled way with people who are using, and helping to develop, an online service. The elmcity project&amp;#8217;s FriendFeed room has been an incredibly simple and effective way to interleave curated calendar feeds, blog postings describing the evolving service that aggregates those feeds, and discussion among a growing number of curators. In his analysis of Where FriendFeed Went Wrong Dare Obasanjo describes the value of a handful of services (Facebook, Twitter, etc.) in terms that would make sense to non-geeks like his wife. Here&amp;#8217;s the elevator pitch for FriendFeed: Republish all of the content from the different social networking media websites you use onto this site. Also one place to stay connected to what people are saying on multiple social media sites instead of friending them on multiple sites. As usual, I&amp;#8217;m an outlying data point. I&amp;#8217;m using FriendFeed a...</description>
      <itunes:subtitle>For me, FriendFeed has been a new answer to an old question &amp;#8212; namely, how to collaborate in a loosely-coupled way with people who are using, and helping to develop, an online service. The elmcity project&amp;#8217;s FriendFeed room has been an incredibly simple and effective way to interleave curated calendar feeds, blog postings describing the evolving service that aggregates those feeds, and discussion among a growing number of curators. In his analysis of Where FriendFeed Went Wrong Dare Obasanjo describes the value of a handful of services (Facebook, Twitter, etc.) in terms that would make sense to non-geeks like his wife. Here&amp;#8217;s the elevator pitch for FriendFeed: Republish all of the content from the different social networking media websites you use onto this site. Also one place to stay connected to what people are saying on multiple social media sites instead of friending them on multiple sites. As usual, I&amp;#8217;m an outlying data point. I&amp;#8217;m using FriendFeed as a lightweight, flexible aggregator of feeds from my blog and from Delicious, and as a discussion forum. These feeds report key events in the life of the project: I added a new feature to the aggregator, the curator for Sasktatoon found and added a new calendar. The discussion revolves around strategies for finding or creating calendar feeds, features that curators would like me to add to the service, and problems they&amp;#8217;re having with the service. I doubt there&amp;#8217;s a mainstream business model here. It&amp;#8217;s valuable to me because I&amp;#8217;ve created a project environment in which key events in the life of the project are already flowing through feeds that are available to be aggregated and discussed. Anyone could arrange things that way, but few people will. It&amp;#8217;s hugely helpful to me, though. And while I don&amp;#8217;t know for sure that FriendFeed&amp;#8217;s acquisition by FaceBook will end my ability to use FriendFeed in this way, I do need to start thinking about how I&amp;#8217;d replace the service. I don&amp;#8217;t need a lot of what FriendFeed offers. Many of the services it can aggregate &amp;#8212; Flickr, YouTube, SlideShare &amp;#8212; aren&amp;#8217;t relevant. And we don&amp;#8217;t need realtime notification. So it really boils down to a lightweight feed aggregator married to a discussion forum. One feature that FriendFeed&amp;#8217;s API doesn&amp;#8217;t offer, by the way, but that I would find useful, is programmatic control of the aggregator&amp;#8217;s registry. When a new curator shows up, I have to manually add the associated Delicious feed to the FriendFeed room. It&amp;#8217;d be nice to automate that. Ideally FriendFeed will coast along in a way that lets me keep using it as I currently am. If not, it wouldn&amp;#8217;t be too hard to recreate something that provides just the subset of FriendFeed&amp;#8217;s services that I need. But ideally, of course, I&amp;#8217;d repurpose an existing service rather than build a new one. If you&amp;#8217;re using something that could work, let me know.</itunes:subtitle>
      <itunes:summary>For me, FriendFeed has been a new answer to an old question &amp;#8212; namely, how to collaborate in a loosely-coupled way with people who are using, and helping to develop, an online service. The elmcity project&amp;#8217;s FriendFeed room has been an incredibly simple and effective way to interleave curated calendar feeds, blog postings describing the evolving service that aggregates those feeds, and discussion among a growing number of curators. In his analysis of Where FriendFeed Went Wrong Dare Obasanjo describes the value of a handful of services (Facebook, Twitter, etc.) in terms that would make sense to non-geeks like his wife. Here&amp;#8217;s the elevator pitch for FriendFeed: Republish all of the content from the different social networking media websites you use onto this site. Also one place to stay connected to what people are saying on multiple social media sites instead of friending them on multiple sites. As usual, I&amp;#8217;m an outlying data point. I&amp;#8217;m using FriendFeed as a lightweight, flexible aggregator of feeds from my blog and from Delicious, and as a discussion forum. These feeds report key events in the life of the project: I added a new feature to the aggregator, the curator for Sasktatoon found and added a new calendar. The discussion revolves around strategies for finding or creating calendar feeds, features that curators would like me to add to the service, and problems they&amp;#8217;re having with the service. I doubt there&amp;#8217;s a mainstream business model here. It&amp;#8217;s valuable to me because I&amp;#8217;ve created a project environment in which key events in the life of the project are already flowing through feeds that are available to be aggregated and discussed. Anyone could arrange things that way, but few people will. It&amp;#8217;s hugely helpful to me, though. And while I don&amp;#8217;t know for sure that FriendFeed&amp;#8217;s acquisition by FaceBook will end my ability to use FriendFeed in this way, I do need to start thinking about how I&amp;#8217;d replace the service. I don&amp;#8217;t need a lot of what FriendFeed offers. Many of the services it can aggregate &amp;#8212; Flickr, YouTube, SlideShare &amp;#8212; aren&amp;#8217;t relevant. And we don&amp;#8217;t need realtime notification. So it really boils down to a lightweight feed aggregator married to a discussion forum. One feature that FriendFeed&amp;#8217;s API doesn&amp;#8217;t offer, by the way, but that I would find useful, is programmatic control of the aggregator&amp;#8217;s registry. When a new curator shows up, I have to manually add the associated Delicious feed to the FriendFeed room. It&amp;#8217;d be nice to automate that. Ideally FriendFeed will coast along in a way that lets me keep using it as I currently am. If not, it wouldn&amp;#8217;t be too hard to recreate something that provides just the subset of FriendFeed&amp;#8217;s services that I need. But ideally, of course, I&amp;#8217;d repurpose an existing service rather than build a new one. If you&amp;#8217;re using something that could work, let me know.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-27,25032237</guid>
      <pubDate>Thu, 27 Aug 2009 09:30:14 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Purple Numbers for PDF documents?</title>
      <link>http://odeo.com/episodes/25020361-Purple-Numbers-for-PDF-documents</link>
      <description>My contribution to Silona Bonewald week was an interview about her new project citability.org. Silona proposes two new features for government websites. First, change tracking. Second, permalinks for documents, sections, and paragraphs. Nobody will dispute the need for, or utility of, these features. The question is how to implement them across a sprawling landscape of content management systems and publishing procedures that still, in many cases, regard print as canonical and the web as an afterthought. In a follow-on discussion with Silona, on the citability wiki, I recalled a little-known and rarely-used feature of PDF documents. You can form URLs that point to specific pages. And with the right preparation, you can even form URLs that point to named destinations within pages. Those of us fluent in web-friendly document formats like HTML and XML will tend to recommend that these become canonical. But having recently observed what happened when the old-fashioned non-XML method of ...</description>
      <itunes:subtitle>My contribution to Silona Bonewald week was an interview about her new project citability.org. Silona proposes two new features for government websites. First, change tracking. Second, permalinks for documents, sections, and paragraphs. Nobody will dispute the need for, or utility of, these features. The question is how to implement them across a sprawling landscape of content management systems and publishing procedures that still, in many cases, regard print as canonical and the web as an afterthought. In a follow-on discussion with Silona, on the citability wiki, I recalled a little-known and rarely-used feature of PDF documents. You can form URLs that point to specific pages. And with the right preparation, you can even form URLs that point to named destinations within pages. Those of us fluent in web-friendly document formats like HTML and XML will tend to recommend that these become canonical. But having recently observed what happened when the old-fashioned non-XML method of math typesetting was supported by WordPress.com, I have to ask: How much more mileage might we be getting out of the existing print-oriented systems? I am not an expert user of PDF authoring tools, nor an expert user of software libraries that enable programmatic manipulation of PDF files. But some of you are. What would it take, I wonder, to post-process the kinds of PDF files that governments typically produce, in order to add Purple Numbers?</itunes:subtitle>
      <itunes:summary>My contribution to Silona Bonewald week was an interview about her new project citability.org. Silona proposes two new features for government websites. First, change tracking. Second, permalinks for documents, sections, and paragraphs. Nobody will dispute the need for, or utility of, these features. The question is how to implement them across a sprawling landscape of content management systems and publishing procedures that still, in many cases, regard print as canonical and the web as an afterthought. In a follow-on discussion with Silona, on the citability wiki, I recalled a little-known and rarely-used feature of PDF documents. You can form URLs that point to specific pages. And with the right preparation, you can even form URLs that point to named destinations within pages. Those of us fluent in web-friendly document formats like HTML and XML will tend to recommend that these become canonical. But having recently observed what happened when the old-fashioned non-XML method of math typesetting was supported by WordPress.com, I have to ask: How much more mileage might we be getting out of the existing print-oriented systems? I am not an expert user of PDF authoring tools, nor an expert user of software libraries that enable programmatic manipulation of PDF files. But some of you are. What would it take, I wonder, to post-process the kinds of PDF files that governments typically produce, in order to add Purple Numbers?</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-25,25020361</guid>
      <pubDate>Tue, 25 Aug 2009 06:52:11 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>elmcity and WordPress MU: Questions and answers</title>
      <link>http://odeo.com/episodes/24967156-elmcity-and-WordPress-MU-Questions-and-answers</link>
      <description>In the spirit of keystroke conservation, I&amp;#8217;m relaying some elmcity-related questions and answers from email to here. Hopefully it will attract more questions and more answers. Dear Mr. Udell, I am looking for a flexible calendar aggregator that I can use to report upcoming events for our college&amp;#8217;s &amp;#8220;Learning Commons&amp;#8221; WordPress MU website, a site that will hopefully help keep our students abreast of events and opportunities taking place on campus. 1) Our site will be maintained using WordPress MU, so ideally the display of the calendars, and/or event-lists will be handled by a WordPress plugin. The one I am favouring is http://wordpress.org/extend/plugins/wordpress-ics-importer/ . I have tried this plugin and it almost does what we want. Specifically, the plugin includes: &amp;#8211; a single widget that can display the &amp;#8220;event-list&amp;#8221; for one calendar; &amp;#8211; flexible options for displaying and aggregating calendars. This plugin almost does what I want, ...</description>
      <itunes:subtitle>In the spirit of keystroke conservation, I&amp;#8217;m relaying some elmcity-related questions and answers from email to here. Hopefully it will attract more questions and more answers. Dear Mr. Udell, I am looking for a flexible calendar aggregator that I can use to report upcoming events for our college&amp;#8217;s &amp;#8220;Learning Commons&amp;#8221; WordPress MU website, a site that will hopefully help keep our students abreast of events and opportunities taking place on campus. 1) Our site will be maintained using WordPress MU, so ideally the display of the calendars, and/or event-lists will be handled by a WordPress plugin. The one I am favouring is http://wordpress.org/extend/plugins/wordpress-ics-importer/ . I have tried this plugin and it almost does what we want. Specifically, the plugin includes: &amp;#8211; a single widget that can display the &amp;#8220;event-list&amp;#8221; for one calendar; &amp;#8211; flexible options for displaying and aggregating calendars. This plugin almost does what I want, but not quite. a) The plugin is now limited to a single &amp;#8220;events-list&amp;#8221; widget. But with WordPress 2.8, it is possible to have many instances of a widget, so theoretically, I could display the &amp;#8220;Diagnostic Tests&amp;#8221; calendar in one instance , and the &amp;#8220;Peer-tutoring&amp;#8221; calendar in another widget instance. b) It would be nice to have an option to display only the current week for specific calendars. While in other cases, it makes sense to display the entire month. And although I haven&amp;#8217;t thought about it, likely displaying just the current day would be useful. c) I would like flexibility over which calendars to aggregate, creating as many &amp;#8220;topic&amp;#8221; hubs as the current maintainer of the website might think useful for the students. 2) It would be nice to remove the calendar aggregation from the WordPress plugin, and handle that separately. Hopefully the calendars will change much less frequently than the website will be viewed. If I understand http://blog.jonudell.net/elmcity-project-faq/ properly, this might be possible using the elmcity-project. For example, I think we could use &amp;#8220;topical hub aggregation&amp;#8221; to create a &amp;#8220;diagnostic test calendar&amp;#8221; that aggregates the holiday calendar and the different departments &amp;#8220;diagnostic test&amp;#8221; calendars. What I don&amp;#8217;t understand is what is the output of &amp;#8220;elmcity&amp;#8221;. Does it output a single merged calendar (ics) that could be displayed by the above plugin? Is that a possibility? Similarly, I believe I could create a different meta bookmark to aggregate our holiday calendar and our different peer-tutoring calendars (created by each department). Is this correct? We have lots of groups, faculty, departments and staff on campus, and each wants to publicize their upcoming events. Letting them input and maintain their own calendars really seems to make sense. (Thanks for the idea. It seems clear this is the way to go, but I don&amp;#8217;t seem to have the pieces to construct the output properly, as yet.) I agree with your analysis that it would be better to have a separation of concerns between aggregation and display. So let&amp;#8217;s do that, and start with aggregation. I would like flexibility over which calendars to aggregate, creating as many &amp;#8220;topic&amp;#8221; hubs as the current maintainer of the website might think useful for the students. I think the elmcity system can be helpful here. I&amp;#8217;ve recently discovered that there are really two levels &amp;#8212; what I&amp;#8217;ve started to call curation and meta-curation. I believe I could create bookmarks to aggregate our holiday calendar and our different peer-tutoring calendars (created by each department). Is this correct? Right. It sounds like you&amp;#8217;d want to curate a topic hub. It could be YourCollege, but if there may need to be other topic hubs you could choose a more specific name, like YourCollegeLearningCommons. That&amp;#8217;d be your Delicious account name, and you&amp;#8217;d be the &amp;#8220;meta-curator&amp;#8221; in this scenario. As meta-curator you&amp;#8217;d bookmark, in that Delicious account: - Your holiday calendar - Multiple departments&amp;#8217; calendars Each of those would be managed by the responsible/authoritative person, using any software (Outlook, Google, Apple, Drupal, Notes, Live, etc.) that can publish an ICS feed. There&amp;#8217;s another level of flexibility using tags. In the above scenario, as meta-curator you could tag your holiday feed as holiday, and your LearningCommons feeds as LearningCommons, and then filter them accordingly. What I don&amp;#8217;t understand is what is the output of elmcity. Does it output a single merged calendar (ics) that could be displayed by the above plugin? Yes. The outputs currently are: A merged ICS file A default HTML view that can be included in an iframe (e.g.: http://elmcity.info/events includes http://elmcity.cloudapp.net/services/elmcity/html). If that solution works for you, the template and CSS for the view can be altered, and you can point to your versions from your Delicious metadata A Today view (e.g. http://elmcity.cloudapp.net/services/elmcity/today_as_html) that can be included (in an iframe, or programmatically) The same Today view using JavaScript: &amp;lt;script src=&amp;#8221;http://elmcity.cloudapp.net/services/{a2cal|elmcity|etc}/jswidget&amp;#8221;&amp;gt;&amp;lt;/script&amp;gt; XML and JSON data for programmatic use Now, for the display options. So far, we&amp;#8217;ve got: Use the WordPress plugin to display merged ICS Display the entire calendar as included (maybe customized) HTML Display today&amp;#8217;s events as included or script-sourced HTML I have also just recently added a new method that enables things like this: http://jonudell.net/test/upcoming-widget.html You can view the source to see how it&amp;#8217;s done. The &amp;#8220;API call&amp;#8221; here is: http://elmcity.cloudapp.net/services/elmcity/json?jsonp=eventlist&amp;amp;recent=7&amp;amp;view=music Yours might be: http://elmcity.cloudapp.net/services/YourCollegeLearningCommons/json?jsonp=eventlist&amp;amp;recent=10 or &amp;amp;recent=20&amp;amp;view=holiday etc. This is brand new, as of yesterday. Actually I just realized I should use &amp;#8220;upcoming&amp;#8221; instead of &amp;#8220;recent&amp;#8221; so I&amp;#8217;ll go and change that now :-) But you get the idea. The flexibility here is ultimately governed by: 1. The curator&amp;#8217;s expressive and disciplined use of tags to create useful views 2. The kinds of queries I make available through the API. So far I&amp;#8217;ve only been asked to do &amp;#8216;next N events&amp;#8217; so that&amp;#8217;s what I did yesterday. But my intention is to support every kind of query that&amp;#8217;s feasible, and that people ask for. Things like a week&amp;#8217;s worth, or a week&amp;#8217;s worth in a category, are obvious next steps.</itunes:subtitle>
      <itunes:summary>In the spirit of keystroke conservation, I&amp;#8217;m relaying some elmcity-related questions and answers from email to here. Hopefully it will attract more questions and more answers. Dear Mr. Udell, I am looking for a flexible calendar aggregator that I can use to report upcoming events for our college&amp;#8217;s &amp;#8220;Learning Commons&amp;#8221; WordPress MU website, a site that will hopefully help keep our students abreast of events and opportunities taking place on campus. 1) Our site will be maintained using WordPress MU, so ideally the display of the calendars, and/or event-lists will be handled by a WordPress plugin. The one I am favouring is http://wordpress.org/extend/plugins/wordpress-ics-importer/ . I have tried this plugin and it almost does what we want. Specifically, the plugin includes: &amp;#8211; a single widget that can display the &amp;#8220;event-list&amp;#8221; for one calendar; &amp;#8211; flexible options for displaying and aggregating calendars. This plugin almost does what I want, but not quite. a) The plugin is now limited to a single &amp;#8220;events-list&amp;#8221; widget. But with WordPress 2.8, it is possible to have many instances of a widget, so theoretically, I could display the &amp;#8220;Diagnostic Tests&amp;#8221; calendar in one instance , and the &amp;#8220;Peer-tutoring&amp;#8221; calendar in another widget instance. b) It would be nice to have an option to display only the current week for specific calendars. While in other cases, it makes sense to display the entire month. And although I haven&amp;#8217;t thought about it, likely displaying just the current day would be useful. c) I would like flexibility over which calendars to aggregate, creating as many &amp;#8220;topic&amp;#8221; hubs as the current maintainer of the website might think useful for the students. 2) It would be nice to remove the calendar aggregation from the WordPress plugin, and handle that separately. Hopefully the calendars will change much less frequently than the website will be viewed. If I understand http://blog.jonudell.net/elmcity-project-faq/ properly, this might be possible using the elmcity-project. For example, I think we could use &amp;#8220;topical hub aggregation&amp;#8221; to create a &amp;#8220;diagnostic test calendar&amp;#8221; that aggregates the holiday calendar and the different departments &amp;#8220;diagnostic test&amp;#8221; calendars. What I don&amp;#8217;t understand is what is the output of &amp;#8220;elmcity&amp;#8221;. Does it output a single merged calendar (ics) that could be displayed by the above plugin? Is that a possibility? Similarly, I believe I could create a different meta bookmark to aggregate our holiday calendar and our different peer-tutoring calendars (created by each department). Is this correct? We have lots of groups, faculty, departments and staff on campus, and each wants to publicize their upcoming events. Letting them input and maintain their own calendars really seems to make sense. (Thanks for the idea. It seems clear this is the way to go, but I don&amp;#8217;t seem to have the pieces to construct the output properly, as yet.) I agree with your analysis that it would be better to have a separation of concerns between aggregation and display. So let&amp;#8217;s do that, and start with aggregation. I would like flexibility over which calendars to aggregate, creating as many &amp;#8220;topic&amp;#8221; hubs as the current maintainer of the website might think useful for the students. I think the elmcity system can be helpful here. I&amp;#8217;ve recently discovered that there are really two levels &amp;#8212; what I&amp;#8217;ve started to call curation and meta-curation. I believe I could create bookmarks to aggregate our holiday calendar and our different peer-tutoring calendars (created by each department). Is this correct? Right. It sounds like you&amp;#8217;d want to curate a topic hub. It could be YourCollege, but if there may need to be other topic hubs you could choose a more specific name, like YourCollegeLearningCommons. That&amp;#8217;d be your Delicious account name, and you&amp;#8217;d be the &amp;#8220;meta-curator&amp;#8221; in this scenario. As meta-curator you&amp;#8217;d bookmark, in that Delicious account: - Your holiday calendar - Multiple departments&amp;#8217; calendars Each of those would be managed by the responsible/authoritative person, using any software (Outlook, Google, Apple, Drupal, Notes, Live, etc.) that can publish an ICS feed. There&amp;#8217;s another level of flexibility using tags. In the above scenario, as meta-curator you could tag your holiday feed as holiday, and your LearningCommons feeds as LearningCommons, and then filter them accordingly. What I don&amp;#8217;t understand is what is the output of elmcity. Does it output a single merged calendar (ics) that could be displayed by the above plugin? Yes. The outputs currently are: A merged ICS file A default HTML view that can be included in an iframe (e.g.: http://elmcity.info/events includes http://elmcity.cloudapp.net/services/elmcity/html). If that solution works for you, the template and CSS for the view can be altered, and you can point to your versions from your Delicious metadata A Today view (e.g. http://elmcity.cloudapp.net/services/elmcity/today_as_html) that can be included (in an iframe, or programmatically) The same Today view using JavaScript: &amp;lt;script src=&amp;#8221;http://elmcity.cloudapp.net/services/{a2cal|elmcity|etc}/jswidget&amp;#8221;&amp;gt;&amp;lt;/script&amp;gt; XML and JSON data for programmatic use Now, for the display options. So far, we&amp;#8217;ve got: Use the WordPress plugin to display merged ICS Display the entire calendar as included (maybe customized) HTML Display today&amp;#8217;s events as included or script-sourced HTML I have also just recently added a new method that enables things like this: http://jonudell.net/test/upcoming-widget.html You can view the source to see how it&amp;#8217;s done. The &amp;#8220;API call&amp;#8221; here is: http://elmcity.cloudapp.net/services/elmcity/json?jsonp=eventlist&amp;amp;recent=7&amp;amp;view=music Yours might be: http://elmcity.cloudapp.net/services/YourCollegeLearningCommons/json?jsonp=eventlist&amp;amp;recent=10 or &amp;amp;recent=20&amp;amp;view=holiday etc. This is brand new, as of yesterday. Actually I just realized I should use &amp;#8220;upcoming&amp;#8221; instead of &amp;#8220;recent&amp;#8221; so I&amp;#8217;ll go and change that now :-) But you get the idea. The flexibility here is ultimately governed by: 1. The curator&amp;#8217;s expressive and disciplined use of tags to create useful views 2. The kinds of queries I make available through the API. So far I&amp;#8217;ve only been asked to do &amp;#8216;next N events&amp;#8217; so that&amp;#8217;s what I did yesterday. But my intention is to support every kind of query that&amp;#8217;s feasible, and that people ask for. Things like a week&amp;#8217;s worth, or a week&amp;#8217;s worth in a category, are obvious next steps.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-15,24967156</guid>
      <pubDate>Sat, 15 Aug 2009 09:30:35 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Two projects for civic-minded student programmers</title>
      <link>http://odeo.com/episodes/24938744-Two-projects-for-civic-minded-student-programmers</link>
      <description>One of the key findings of the elmcity project, so far, is that there&amp;#8217;s a lot of calendar information online, but very little in machine-readable form. Transforming this implicit data about public events into explicit data is an important challenge. I&amp;#8217;ve been invited to define the problem, for students who may want to tackle it as a school project. Here are the two major aspects I&amp;#8217;ve identified. A general scraper for calendar-like web pages There are zillions of calendar-like web pages, like this one for Harlow&amp;#8217;s Pub in Peterborough, NH. These ideally ought to be maintained using calendar programs that publish machine-readable iCalendar feeds which are also transformed and styled to create human-readable web pages. But that doesn&amp;#8217;t (yet) commonly happen. These web pages are, however, often amenable to scraping. And for a while, elmcity curators were making very effective use of FuseCal (1, 2, 3) to transform these kinds of pages into iCalendar feeds. Wh...</description>
      <itunes:subtitle>One of the key findings of the elmcity project, so far, is that there&amp;#8217;s a lot of calendar information online, but very little in machine-readable form. Transforming this implicit data about public events into explicit data is an important challenge. I&amp;#8217;ve been invited to define the problem, for students who may want to tackle it as a school project. Here are the two major aspects I&amp;#8217;ve identified. A general scraper for calendar-like web pages There are zillions of calendar-like web pages, like this one for Harlow&amp;#8217;s Pub in Peterborough, NH. These ideally ought to be maintained using calendar programs that publish machine-readable iCalendar feeds which are also transformed and styled to create human-readable web pages. But that doesn&amp;#8217;t (yet) commonly happen. These web pages are, however, often amenable to scraping. And for a while, elmcity curators were making very effective use of FuseCal (1, 2, 3) to transform these kinds of pages into iCalendar feeds. When that service shut down, I retained a list of the pages that elmcity curators were successfully transforming into iCalendar feeds using FuseCal. These are test cases for an HTML-to-iCalendar service. Anyone who&amp;#8217;s handy with scraping libraries like Beautiful Soup can solve these individually. The challenge here is to create, by abstraction and generalization, an engine that can handle a significant swath of these cases. A hybrid system for finding implicit recurring events and making them explicit Lots of implicit calendar data online doesn&amp;#8217;t even pretend to be calendar-like, and cannot be harvested using a scraper. Finding one-off events in this category is out of scope for my project. But finding recurring events seems promising. The singular effort required to publish one of these will pay ongoing dividends. It&amp;#8217;s helpful that the language people use to describe these events &amp;#8212; &amp;#8220;every Tuesday&amp;#8221;, &amp;#8220;third Saturday of every month&amp;#8221; &amp;#8212; is distinctive. To being exploring this domain, I wrote a specialized search robot that looks for these patterns, in conjunction with names of places. Its output is available for all the cities and towns participating in the elmcity project. For example, this page is the output for Keene, NH. It includes more than 2000 links to web pages &amp;#8212; or, quite often, PDF files &amp;#8212; some fraction of which represent recurring events. In Finding and connecting social capital I showed a couple of cases where the pages found this way did, in fact, represent recurring events that could be added to an iCalendar feed. To a computer scientist this looks like a problem that you might solve using a natural language parser. And I think it is partly that, but only partly. Let&amp;#8217;s look at another example: At first glance, this looks hopeful: First Monday of each month: Dads Group, 105 Castle Street, Keene NH But the real world is almost always messier than that. For starters, that image comes from the Monadnock Men&amp;#8217;s Resource Center&amp;#8217;s Fall 2004 newsletter. So before I add this to a calendar, I&amp;#8217;ll want to confirm the information. The newsletter is hosted at the MMRC site. Investigation yields these observations: The most recent issue of the newsletter was Winter &amp;#8216;06 The last-modified date of the MMRC home page is September 2008 As of that date, the Dads Group still seems to have been active, under a slightly different name: Parent Outreach Project, DadTime Program, 355-3082 There&amp;#8217;s no email address, only a phone number. So I called the number, left a message, and will soon know the current status. What kind of software-based system can help us scale this gnarly process? There is an algorithmic solution, surely, but it will need to operate in a hybrid environment. The initial search-driven discovery of candidate events can be done by an automated parser tuned for this domain. But the verification of candidates will need to be done by human volunteers, assisted by software that helps them: Divide long lists of candidates into smaller batches Work in parallel on those batches Evaluate the age and provenance of candidates Verify or disqualify candidates based on discoverable evidence, if possible Otherwise, find appropriate email addresses (preferably) or phone numbers, and manage the back-and-forth communication required to verify or disqualify a candidate Refer event sponsors to a calendar publishing how-to, and invite them to create data feeds that can reliably syndicate Students endowed with the geek gene are likely to gravitate toward the first problem because it&amp;#8217;s cleaner. But I hope I can also attract interest in the second problem. We really need people who can hack that kind of real-world messiness.</itunes:subtitle>
      <itunes:summary>One of the key findings of the elmcity project, so far, is that there&amp;#8217;s a lot of calendar information online, but very little in machine-readable form. Transforming this implicit data about public events into explicit data is an important challenge. I&amp;#8217;ve been invited to define the problem, for students who may want to tackle it as a school project. Here are the two major aspects I&amp;#8217;ve identified. A general scraper for calendar-like web pages There are zillions of calendar-like web pages, like this one for Harlow&amp;#8217;s Pub in Peterborough, NH. These ideally ought to be maintained using calendar programs that publish machine-readable iCalendar feeds which are also transformed and styled to create human-readable web pages. But that doesn&amp;#8217;t (yet) commonly happen. These web pages are, however, often amenable to scraping. And for a while, elmcity curators were making very effective use of FuseCal (1, 2, 3) to transform these kinds of pages into iCalendar feeds. When that service shut down, I retained a list of the pages that elmcity curators were successfully transforming into iCalendar feeds using FuseCal. These are test cases for an HTML-to-iCalendar service. Anyone who&amp;#8217;s handy with scraping libraries like Beautiful Soup can solve these individually. The challenge here is to create, by abstraction and generalization, an engine that can handle a significant swath of these cases. A hybrid system for finding implicit recurring events and making them explicit Lots of implicit calendar data online doesn&amp;#8217;t even pretend to be calendar-like, and cannot be harvested using a scraper. Finding one-off events in this category is out of scope for my project. But finding recurring events seems promising. The singular effort required to publish one of these will pay ongoing dividends. It&amp;#8217;s helpful that the language people use to describe these events &amp;#8212; &amp;#8220;every Tuesday&amp;#8221;, &amp;#8220;third Saturday of every month&amp;#8221; &amp;#8212; is distinctive. To being exploring this domain, I wrote a specialized search robot that looks for these patterns, in conjunction with names of places. Its output is available for all the cities and towns participating in the elmcity project. For example, this page is the output for Keene, NH. It includes more than 2000 links to web pages &amp;#8212; or, quite often, PDF files &amp;#8212; some fraction of which represent recurring events. In Finding and connecting social capital I showed a couple of cases where the pages found this way did, in fact, represent recurring events that could be added to an iCalendar feed. To a computer scientist this looks like a problem that you might solve using a natural language parser. And I think it is partly that, but only partly. Let&amp;#8217;s look at another example: At first glance, this looks hopeful: First Monday of each month: Dads Group, 105 Castle Street, Keene NH But the real world is almost always messier than that. For starters, that image comes from the Monadnock Men&amp;#8217;s Resource Center&amp;#8217;s Fall 2004 newsletter. So before I add this to a calendar, I&amp;#8217;ll want to confirm the information. The newsletter is hosted at the MMRC site. Investigation yields these observations: The most recent issue of the newsletter was Winter &amp;#8216;06 The last-modified date of the MMRC home page is September 2008 As of that date, the Dads Group still seems to have been active, under a slightly different name: Parent Outreach Project, DadTime Program, 355-3082 There&amp;#8217;s no email address, only a phone number. So I called the number, left a message, and will soon know the current status. What kind of software-based system can help us scale this gnarly process? There is an algorithmic solution, surely, but it will need to operate in a hybrid environment. The initial search-driven discovery of candidate events can be done by an automated parser tuned for this domain. But the verification of candidates will need to be done by human volunteers, assisted by software that helps them: Divide long lists of candidates into smaller batches Work in parallel on those batches Evaluate the age and provenance of candidates Verify or disqualify candidates based on discoverable evidence, if possible Otherwise, find appropriate email addresses (preferably) or phone numbers, and manage the back-and-forth communication required to verify or disqualify a candidate Refer event sponsors to a calendar publishing how-to, and invite them to create data feeds that can reliably syndicate Students endowed with the geek gene are likely to gravitate toward the first problem because it&amp;#8217;s cleaner. But I hope I can also attract interest in the second problem. We really need people who can hack that kind of real-world messiness.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-10,24938744</guid>
      <pubDate>Mon, 10 Aug 2009 10:18:44 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>That word &#8220;events&#8221;: It does not mean what you think it means</title>
      <link>http://odeo.com/episodes/24926000-That-word-%E2%80%9Cevents%E2%80%9D-It-does-not-mean-what-you-think-it-means</link>
      <description>In of one of my favorite scenes from one my favorite movies, The Princess Bride, Vizzini (Wallace Shawn) has been repeatedly exclaiming: &amp;#8220;Inconceivable!&amp;#8221; Finally Inigo Montoya (Mandy Patinkin) responds: You keep using that word. I do not think it means what you think it means. I&amp;#8217;ve already riffed on that classic bit in the titles of two other items. Now I&amp;#8217;m compelled to do it again because when I talk about events, vis-a-vis the elmcity project, I think the word means something different from you probably think it means. Here&amp;#8217;s one common meaning: major public events. These include things like artistic performances, festivals, fairs, and sporting events. They dominate the &amp;#8220;Things to See and Do&amp;#8221; section of every newspaper and online community guide, and are usually well publicized. Here&amp;#8217;s another common meaning: minor events that are often (but not aways) private. These include birthday parties, house concerts, and outdoor excursions. T...</description>
      <itunes:subtitle>In of one of my favorite scenes from one my favorite movies, The Princess Bride, Vizzini (Wallace Shawn) has been repeatedly exclaiming: &amp;#8220;Inconceivable!&amp;#8221; Finally Inigo Montoya (Mandy Patinkin) responds: You keep using that word. I do not think it means what you think it means. I&amp;#8217;ve already riffed on that classic bit in the titles of two other items. Now I&amp;#8217;m compelled to do it again because when I talk about events, vis-a-vis the elmcity project, I think the word means something different from you probably think it means. Here&amp;#8217;s one common meaning: major public events. These include things like artistic performances, festivals, fairs, and sporting events. They dominate the &amp;#8220;Things to See and Do&amp;#8221; section of every newspaper and online community guide, and are usually well publicized. Here&amp;#8217;s another common meaning: minor events that are often (but not aways) private. These include birthday parties, house concerts, and outdoor excursions. They are, nowadays, often publicized very well in Facebook. Although I&amp;#8217;m happy to see major public events showing up in an elmcity hub, that isn&amp;#8217;t my main goal. And private events, of course, don&amp;#8217;t belong in an elmcity hub, they belong in Facebook, or in other private networks. There&amp;#8217;s a third kind of event that interests me most of all. It occupies a space between the other two. It&amp;#8217;s public, but minor: a book discussion, a roadside cleanup, a support group, a squaredance. These events typically don&amp;#8217;t show up in &amp;#8220;Things To See And Do&amp;#8221; guides because they&amp;#8217;re considered too niche, and because it&amp;#8217;s too much work &amp;#8212; for both the publisher and the contributor &amp;#8212; to get them included. They might show up in Facebook, but if so they will be visible there only within a closed social network. There are tons of events in this minor-but-public category. Here&amp;#8217;s one of my favorite examples. We were having dinner with our friends Lin and Tom recently, and Lin mentioned that Tom had just won the New Hampshire state archery tournament. Me: &amp;#8220;Really? Congratulations! Where was that held?&amp;#8221; Lin: &amp;#8220;At the Keene Recreation Center, last Saturday.&amp;#8221; The Rec Center is a ten-minute walk from my house. I&amp;#8217;d have loved to have seen those precision archers ply their trade. And it was open to the public. Anybody could have gone. But nobody knew. Everyone I talk to has similar stories. Everyone says they find out about such things &amp;#8212; if they find out at all &amp;#8212; only after the fact. Everyone acknowledges that there should be a better way to inform one another about the goings-on that implicitly form much of the social capital of the community. If we can make more of it explicit, we will lead richer lives. And here I mean richer in two senses of that word. There&amp;#8217;s the Robert Putnam sense of social well-being. And there&amp;#8217;s the Richard Florida sense of economic well-being. If we can make more of our implicit social capital explicit, we&amp;#8217;ll profit in both ways.</itunes:subtitle>
      <itunes:summary>In of one of my favorite scenes from one my favorite movies, The Princess Bride, Vizzini (Wallace Shawn) has been repeatedly exclaiming: &amp;#8220;Inconceivable!&amp;#8221; Finally Inigo Montoya (Mandy Patinkin) responds: You keep using that word. I do not think it means what you think it means. I&amp;#8217;ve already riffed on that classic bit in the titles of two other items. Now I&amp;#8217;m compelled to do it again because when I talk about events, vis-a-vis the elmcity project, I think the word means something different from you probably think it means. Here&amp;#8217;s one common meaning: major public events. These include things like artistic performances, festivals, fairs, and sporting events. They dominate the &amp;#8220;Things to See and Do&amp;#8221; section of every newspaper and online community guide, and are usually well publicized. Here&amp;#8217;s another common meaning: minor events that are often (but not aways) private. These include birthday parties, house concerts, and outdoor excursions. They are, nowadays, often publicized very well in Facebook. Although I&amp;#8217;m happy to see major public events showing up in an elmcity hub, that isn&amp;#8217;t my main goal. And private events, of course, don&amp;#8217;t belong in an elmcity hub, they belong in Facebook, or in other private networks. There&amp;#8217;s a third kind of event that interests me most of all. It occupies a space between the other two. It&amp;#8217;s public, but minor: a book discussion, a roadside cleanup, a support group, a squaredance. These events typically don&amp;#8217;t show up in &amp;#8220;Things To See And Do&amp;#8221; guides because they&amp;#8217;re considered too niche, and because it&amp;#8217;s too much work &amp;#8212; for both the publisher and the contributor &amp;#8212; to get them included. They might show up in Facebook, but if so they will be visible there only within a closed social network. There are tons of events in this minor-but-public category. Here&amp;#8217;s one of my favorite examples. We were having dinner with our friends Lin and Tom recently, and Lin mentioned that Tom had just won the New Hampshire state archery tournament. Me: &amp;#8220;Really? Congratulations! Where was that held?&amp;#8221; Lin: &amp;#8220;At the Keene Recreation Center, last Saturday.&amp;#8221; The Rec Center is a ten-minute walk from my house. I&amp;#8217;d have loved to have seen those precision archers ply their trade. And it was open to the public. Anybody could have gone. But nobody knew. Everyone I talk to has similar stories. Everyone says they find out about such things &amp;#8212; if they find out at all &amp;#8212; only after the fact. Everyone acknowledges that there should be a better way to inform one another about the goings-on that implicitly form much of the social capital of the community. If we can make more of it explicit, we will lead richer lives. And here I mean richer in two senses of that word. There&amp;#8217;s the Robert Putnam sense of social well-being. And there&amp;#8217;s the Richard Florida sense of economic well-being. If we can make more of our implicit social capital explicit, we&amp;#8217;ll profit in both ways.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-07,24926000</guid>
      <pubDate>Fri, 07 Aug 2009 09:33:54 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Curation, meta-curation, and live Net radio</title>
      <link>http://odeo.com/episodes/24914348-Curation-meta-curation-and-live-Net-radio</link>
      <description>I&amp;#8217;ve long been dissatisfied with how we discover and tune into Net radio. This iTunes screenshot illustrates the problem: Start with a genre, pick a station in that genre, then listen to that station. This just doesn&amp;#8217;t work for me. I like to listen to a lot of different things. And I especially value serendipitous recommendations from curators whose knowledge and preferences diverge radically from my own. Yes there&amp;#8217;s Pandora, but what I&amp;#8217;ve been wanting all along is a way to enable and then subscribe to curators who guide me to what&amp;#8217;s playing now on the live streams coming from radio stations around the world. It&amp;#8217;s Wednesday morning, 11AM Eastern Daylight Time, and I know there are all kinds of shows playing right now. But how do I materialize a view for this moment in time &amp;#8212; or for tonight at 9PM, or for Sunday morning at 10AM &amp;#8212; across that breadth and wealth of live streams? I started thinking about schedules of radio programs, and ab...</description>
      <itunes:subtitle>I&amp;#8217;ve long been dissatisfied with how we discover and tune into Net radio. This iTunes screenshot illustrates the problem: Start with a genre, pick a station in that genre, then listen to that station. This just doesn&amp;#8217;t work for me. I like to listen to a lot of different things. And I especially value serendipitous recommendations from curators whose knowledge and preferences diverge radically from my own. Yes there&amp;#8217;s Pandora, but what I&amp;#8217;ve been wanting all along is a way to enable and then subscribe to curators who guide me to what&amp;#8217;s playing now on the live streams coming from radio stations around the world. It&amp;#8217;s Wednesday morning, 11AM Eastern Daylight Time, and I know there are all kinds of shows playing right now. But how do I materialize a view for this moment in time &amp;#8212; or for tonight at 9PM, or for Sunday morning at 10AM &amp;#8212; across that breadth and wealth of live streams? I started thinking about schedules of radio programs, and about calendars, and about BBC Backstage &amp;#8212; because I&amp;#8217;ll be interviewing Ian Forrester for an upcoming episode of my podcast &amp;#8212; and I landed on this blog post which shows how to form an URL that retrieves upcoming episodes of a BBC show as an iCalendar feed. Meanwhile, I&amp;#8217;ve just created a new mode for the elmcity calendar aggregator. Now instead of creating a geographical hub, which combines events from Eventful and Upcoming and events from a list of iCalendar feeds &amp;#8212; all for one location &amp;#8212; you can create a topical hub whose events are governed only by time, not by location. Can these ingredients combine to solve my Net radio problem? Could a curator for an elmcity topical aggregator cherrypick favorite shows from around the Net, and create a calendar that shows me what&amp;#8217;s playing right now? It seems plausible, so I spun up a new topical hub in the elmcity aggregator and started experimenting. I started by looking at the BBC&amp;#8217;s iCalendar feeds. For a given show, you can form a variant of its URL that retrieves upcoming shows in iCalendar format. But evidently these iCalendar feeds don&amp;#8217;t include VTIMEZONE components, which means calendar clients (or aggregators) can&amp;#8217;t translate UK times to other times. I ran into a few other issues, which perhaps can be sorted out when I chat with Ian Forrester. But meanwhile, since the universe of Net radio is much vaster than the BBC, and since most of it won&amp;#8217;t be accessible in the form of data feeds, I stepped back for a broader view. Really, anyone can publish an event that gives the time for a live show, plus a link to its player. And when a show happens on a regular recurring schedule, the little bit of effort it takes to publish that event pays recurring dividends. Consider, for example, Nic Harcourt&amp;#8217;s Sounds Eclectic. It&amp;#8217;s on at these (Pacific) times: SUN 6:00A-8:00A, SAT 2:00P-4:00P, SAT 10:00P-12:00A. You can plug these into any calendar program as recurring events. And if you publish a feed, it&amp;#8217;s not only available to you from any calendar client, it&amp;#8217;s also available to any other calendar client &amp;#8212; or to any aggregator. Here&amp;#8217;s a calendar with three recurring events for Sounds Eclectic, plus one recurring event for WICN&amp;#8217;s Sunday jazz show, plus a single non-recurring event &amp;#8212; the BBC&amp;#8217;s Folkscene &amp;#8212; which will be on the BBC iPlayer on Thursday at 4:05PM my time and 9:05PM UK time. If you load the calendar feed into a client &amp;#8212; Outlook, Apple iCal, Google Calendar, Lotus Notes &amp;#8212; you&amp;#8217;ll see these events translated into your local timezone. Note that Live Calendar is especially handy for publishing events from many different timezones. That&amp;#8217;s because like Outlook, but unlike Google Calendar, it enables you to specify timezones on a per-event basis. So instead of having to enter the Sunday morning recurrence of Sounds Eclectic as 9AM Eastern Daylight, I can enter it as 6AM Pacific Daylight Time. Likewise Folkscene: I can enter 9:05 British Summer Time. This sort of calendar is great for personal use. But I&amp;#8217;m looking for the Webjay of Net radio. And I think maybe elmcity topical hubs can help enable that. There&amp;#8217;s a way of using these topical hubs I hadn&amp;#8217;t thought of until Tony Karrer created one. Tony runs TechEmpower, a software, web, and eLearning development firm. He wants to track and publish online eLearning events, so he&amp;#8217;s managing them in Google Calendar and syndicating them through an elmcity topical hub to his website. A topical hub, like a geographic hub, is controlled by a Delicious account whose owner maintains a list of feeds. I&amp;#8217;d been thinking of the account owner as the curator, and of the feeds as homogeneous sources of events: school board meetings, soccer games, and so on. But then Tony partnered with another organization that tracks webinars, invited that group to publish its own feed, added it to the eLearning hub, and wrote a blog post entitled Second Calendar Curator Joins to Help with List of Free Webinars: The initial list of calendar entries, we added ourselves. But I&amp;#8217;m pleased to announce that we&amp;#8217;ve just signed up our second calendar curator &amp;#8211; Coaching Ourselves. Their events are now appearing in the listings. &amp;#8230; It is exactly because we can distribute the load of keeping this list current that makes me think this will work really well in the long run. This probably shouldn&amp;#8217;t have surprised me, but it did. I&amp;#8217;d been thinking in terms of curators, feeds, and events. What Tony showed me is that you can also (optionally) think in terms of meta-curators, curators, feeds, and events. In this example, Tony is himself a curator, but he is also a meta-curator &amp;#8212; that is, a collector of curators. I&amp;#8217;d love to see this model evolve in the realm of Net radio. If you want to join the experiment, just use any calendar program to keep track of some of your favorite recurring shows. (Again, it&amp;#8217;s very helpful to use one that supports per-event timezones.) Then publish the shows as an iCalendar feed, and send me the URL. As the meta-curator of delicious.com/InternetRadio, as well as the curator of jonu.calendar.live.com/calendar/InternetRadio/index.html, I&amp;#8217;ll have two options. If I like most or all of the shows you like, I can add your feed to the hub. If I only like some of the shows you like, I can cherrypick them for my feed. Either way, the aggregated results will be available as XML, as JSON, and as an iCalendar feed that can flow into calendar clients or aggregators. Naturally there can also be other meta-curators. To become one, designate a Delicious account for the purpose, spin up your own topical hub, and tell me about it.</itunes:subtitle>
      <itunes:summary>I&amp;#8217;ve long been dissatisfied with how we discover and tune into Net radio. This iTunes screenshot illustrates the problem: Start with a genre, pick a station in that genre, then listen to that station. This just doesn&amp;#8217;t work for me. I like to listen to a lot of different things. And I especially value serendipitous recommendations from curators whose knowledge and preferences diverge radically from my own. Yes there&amp;#8217;s Pandora, but what I&amp;#8217;ve been wanting all along is a way to enable and then subscribe to curators who guide me to what&amp;#8217;s playing now on the live streams coming from radio stations around the world. It&amp;#8217;s Wednesday morning, 11AM Eastern Daylight Time, and I know there are all kinds of shows playing right now. But how do I materialize a view for this moment in time &amp;#8212; or for tonight at 9PM, or for Sunday morning at 10AM &amp;#8212; across that breadth and wealth of live streams? I started thinking about schedules of radio programs, and about calendars, and about BBC Backstage &amp;#8212; because I&amp;#8217;ll be interviewing Ian Forrester for an upcoming episode of my podcast &amp;#8212; and I landed on this blog post which shows how to form an URL that retrieves upcoming episodes of a BBC show as an iCalendar feed. Meanwhile, I&amp;#8217;ve just created a new mode for the elmcity calendar aggregator. Now instead of creating a geographical hub, which combines events from Eventful and Upcoming and events from a list of iCalendar feeds &amp;#8212; all for one location &amp;#8212; you can create a topical hub whose events are governed only by time, not by location. Can these ingredients combine to solve my Net radio problem? Could a curator for an elmcity topical aggregator cherrypick favorite shows from around the Net, and create a calendar that shows me what&amp;#8217;s playing right now? It seems plausible, so I spun up a new topical hub in the elmcity aggregator and started experimenting. I started by looking at the BBC&amp;#8217;s iCalendar feeds. For a given show, you can form a variant of its URL that retrieves upcoming shows in iCalendar format. But evidently these iCalendar feeds don&amp;#8217;t include VTIMEZONE components, which means calendar clients (or aggregators) can&amp;#8217;t translate UK times to other times. I ran into a few other issues, which perhaps can be sorted out when I chat with Ian Forrester. But meanwhile, since the universe of Net radio is much vaster than the BBC, and since most of it won&amp;#8217;t be accessible in the form of data feeds, I stepped back for a broader view. Really, anyone can publish an event that gives the time for a live show, plus a link to its player. And when a show happens on a regular recurring schedule, the little bit of effort it takes to publish that event pays recurring dividends. Consider, for example, Nic Harcourt&amp;#8217;s Sounds Eclectic. It&amp;#8217;s on at these (Pacific) times: SUN 6:00A-8:00A, SAT 2:00P-4:00P, SAT 10:00P-12:00A. You can plug these into any calendar program as recurring events. And if you publish a feed, it&amp;#8217;s not only available to you from any calendar client, it&amp;#8217;s also available to any other calendar client &amp;#8212; or to any aggregator. Here&amp;#8217;s a calendar with three recurring events for Sounds Eclectic, plus one recurring event for WICN&amp;#8217;s Sunday jazz show, plus a single non-recurring event &amp;#8212; the BBC&amp;#8217;s Folkscene &amp;#8212; which will be on the BBC iPlayer on Thursday at 4:05PM my time and 9:05PM UK time. If you load the calendar feed into a client &amp;#8212; Outlook, Apple iCal, Google Calendar, Lotus Notes &amp;#8212; you&amp;#8217;ll see these events translated into your local timezone. Note that Live Calendar is especially handy for publishing events from many different timezones. That&amp;#8217;s because like Outlook, but unlike Google Calendar, it enables you to specify timezones on a per-event basis. So instead of having to enter the Sunday morning recurrence of Sounds Eclectic as 9AM Eastern Daylight, I can enter it as 6AM Pacific Daylight Time. Likewise Folkscene: I can enter 9:05 British Summer Time. This sort of calendar is great for personal use. But I&amp;#8217;m looking for the Webjay of Net radio. And I think maybe elmcity topical hubs can help enable that. There&amp;#8217;s a way of using these topical hubs I hadn&amp;#8217;t thought of until Tony Karrer created one. Tony runs TechEmpower, a software, web, and eLearning development firm. He wants to track and publish online eLearning events, so he&amp;#8217;s managing them in Google Calendar and syndicating them through an elmcity topical hub to his website. A topical hub, like a geographic hub, is controlled by a Delicious account whose owner maintains a list of feeds. I&amp;#8217;d been thinking of the account owner as the curator, and of the feeds as homogeneous sources of events: school board meetings, soccer games, and so on. But then Tony partnered with another organization that tracks webinars, invited that group to publish its own feed, added it to the eLearning hub, and wrote a blog post entitled Second Calendar Curator Joins to Help with List of Free Webinars: The initial list of calendar entries, we added ourselves. But I&amp;#8217;m pleased to announce that we&amp;#8217;ve just signed up our second calendar curator &amp;#8211; Coaching Ourselves. Their events are now appearing in the listings. &amp;#8230; It is exactly because we can distribute the load of keeping this list current that makes me think this will work really well in the long run. This probably shouldn&amp;#8217;t have surprised me, but it did. I&amp;#8217;d been thinking in terms of curators, feeds, and events. What Tony showed me is that you can also (optionally) think in terms of meta-curators, curators, feeds, and events. In this example, Tony is himself a curator, but he is also a meta-curator &amp;#8212; that is, a collector of curators. I&amp;#8217;d love to see this model evolve in the realm of Net radio. If you want to join the experiment, just use any calendar program to keep track of some of your favorite recurring shows. (Again, it&amp;#8217;s very helpful to use one that supports per-event timezones.) Then publish the shows as an iCalendar feed, and send me the URL. As the meta-curator of delicious.com/InternetRadio, as well as the curator of jonu.calendar.live.com/calendar/InternetRadio/index.html, I&amp;#8217;ll have two options. If I like most or all of the shows you like, I can add your feed to the hub. If I only like some of the shows you like, I can cherrypick them for my feed. Either way, the aggregated results will be available as XML, as JSON, and as an iCalendar feed that can flow into calendar clients or aggregators. Naturally there can also be other meta-curators. To become one, designate a Delicious account for the purpose, spin up your own topical hub, and tell me about it.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-05,24914348</guid>
      <pubDate>Wed, 05 Aug 2009 08:50:10 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Talking with Cathy Marshall about tags, digital archiving, and lifestreams</title>
      <link>http://odeo.com/episodes/24903734-Talking-with-Cathy-Marshall-about-tags-digital-archiving-and-lifestreams</link>
      <description>My guest for this week&amp;#8217;s Innovators show is Cathy Marshall, a Senior Researcher in Microsoft&amp;#8217;s Silicon Valley Lab. She&amp;#8217;s long been intrigued by personal information management &amp;#8212; and nowadays, also by its social dimension. We kicked off the conversation with a discussion of her recent paper Do Tags Work?. (See also her slides from a talk about the project.) This was a clever study in which she collected a bunch of Flickr photos of people spinning on the bull&amp;#8217;s balls in Milan. Notice how that fulltext query effectively retrieves a pile of images, taken by different people, of the same curious custom: If you are passing through the Galleria Vittorio Emanuele II, you should spin around on the testicles of the bull mosaic found in the centre. Legend has it that this will bring you good luck! Now try this query, which uses the same terms but looks at tags instead of the free text (title, description) associated with the photos. It finds nothing. Cathy conclud...</description>
      <itunes:subtitle>My guest for this week&amp;#8217;s Innovators show is Cathy Marshall, a Senior Researcher in Microsoft&amp;#8217;s Silicon Valley Lab. She&amp;#8217;s long been intrigued by personal information management &amp;#8212; and nowadays, also by its social dimension. We kicked off the conversation with a discussion of her recent paper Do Tags Work?. (See also her slides from a talk about the project.) This was a clever study in which she collected a bunch of Flickr photos of people spinning on the bull&amp;#8217;s balls in Milan. Notice how that fulltext query effectively retrieves a pile of images, taken by different people, of the same curious custom: If you are passing through the Galleria Vittorio Emanuele II, you should spin around on the testicles of the bull mosaic found in the centre. Legend has it that this will bring you good luck! Now try this query, which uses the same terms but looks at tags instead of the free text (title, description) associated with the photos. It finds nothing. Cathy concludes that while many people think tags are effective hooks for information retrieval, they really aren&amp;#8217;t. Of course, those of us who attend conferences where the first order of business is to announce a tag know that tags can be a very effective way to aggregate all the blog postings, tweets, and photos associated with an event. Folksonomies that aren&amp;#8217;t intended to converge don&amp;#8217;t. Those that are meant to converge do, quite dramatically, which is why I&amp;#8217;ve long been obsessed with intentional tagging as an enabler of loosely-coupled collaboration. In the second half of the conversation we discussed personal digital archiving, curation, benign neglect, and lifestreams. Cathy tells a lot of stories about the ways in which people do, and also don&amp;#8217;t, take care of their digital stuff. She observes, for example, that when people lose the contents of a computer, they react initially with horror, but then often feel a sense of relief. It turns out a lot of what was there wasn&amp;#8217;t really needed. The burden of culling through it is lifted, and the guilt associated with not doing that culling that goes away. (I laughed harder than I have in a long time when Cathy described rental storage units as &amp;#8220;garbage cans you pay for, and then when you realize you no longer care about the stuff in them, you stop paying for.&amp;#8221;) We ended by agreeing that the hardest thing about introducing a hosted lifebits service ecosystem will be the conceptual model. For psychological reasons, people will want to think in terms of monolithic containers that keep stuff in one place, and monolithic services that do everything related to that stuff. For architectural reasons, though, we&amp;#8217;ll want to federate storage, and also decouple classes of service &amp;#8212; so that storage, for example, is orthogonal to access control and authorization, which is orthogonal to social interaction.</itunes:subtitle>
      <itunes:summary>My guest for this week&amp;#8217;s Innovators show is Cathy Marshall, a Senior Researcher in Microsoft&amp;#8217;s Silicon Valley Lab. She&amp;#8217;s long been intrigued by personal information management &amp;#8212; and nowadays, also by its social dimension. We kicked off the conversation with a discussion of her recent paper Do Tags Work?. (See also her slides from a talk about the project.) This was a clever study in which she collected a bunch of Flickr photos of people spinning on the bull&amp;#8217;s balls in Milan. Notice how that fulltext query effectively retrieves a pile of images, taken by different people, of the same curious custom: If you are passing through the Galleria Vittorio Emanuele II, you should spin around on the testicles of the bull mosaic found in the centre. Legend has it that this will bring you good luck! Now try this query, which uses the same terms but looks at tags instead of the free text (title, description) associated with the photos. It finds nothing. Cathy concludes that while many people think tags are effective hooks for information retrieval, they really aren&amp;#8217;t. Of course, those of us who attend conferences where the first order of business is to announce a tag know that tags can be a very effective way to aggregate all the blog postings, tweets, and photos associated with an event. Folksonomies that aren&amp;#8217;t intended to converge don&amp;#8217;t. Those that are meant to converge do, quite dramatically, which is why I&amp;#8217;ve long been obsessed with intentional tagging as an enabler of loosely-coupled collaboration. In the second half of the conversation we discussed personal digital archiving, curation, benign neglect, and lifestreams. Cathy tells a lot of stories about the ways in which people do, and also don&amp;#8217;t, take care of their digital stuff. She observes, for example, that when people lose the contents of a computer, they react initially with horror, but then often feel a sense of relief. It turns out a lot of what was there wasn&amp;#8217;t really needed. The burden of culling through it is lifted, and the guilt associated with not doing that culling that goes away. (I laughed harder than I have in a long time when Cathy described rental storage units as &amp;#8220;garbage cans you pay for, and then when you realize you no longer care about the stuff in them, you stop paying for.&amp;#8221;) We ended by agreeing that the hardest thing about introducing a hosted lifebits service ecosystem will be the conceptual model. For psychological reasons, people will want to think in terms of monolithic containers that keep stuff in one place, and monolithic services that do everything related to that stuff. For architectural reasons, though, we&amp;#8217;ll want to federate storage, and also decouple classes of service &amp;#8212; so that storage, for example, is orthogonal to access control and authorization, which is orthogonal to social interaction.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-03,24903734</guid>
      <pubDate>Mon, 03 Aug 2009 07:12:09 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Polymath = user innovation</title>
      <link>http://odeo.com/episodes/24892235-Polymath-user-innovation</link>
      <description>In February 2007, Mike Adams, who had recently joined Automattic, the company that makes WordPress, decided on a lark to endow all blogs running on WordPress.com with the ability to use LaTeX, the venerable mathematical typesetting language. So I can write this: &amp;#36;latex \pi r^2&amp;#36; And produce this: When he introduced the feature, Mike wrote: Odd as it may sound, I miss all the equations from my days in grad school, so I decided that what WordPress.com needed most was a hot, niche feature that maybe 17 people would use regularly. A whole lot more than 17 people cared. And some of them, it turns out, are Fields medalists. Back in January, one member of that elite group &amp;#8212; Tim Gowers &amp;#8212; asked: Is massively collaborative mathematics possible? Since then, as reported by observer/participant Michael Nielsen (1, 2), Tim Gowers, Terence Tao, and a bunch of their peers have been pioneering a massively collaborative approach to solving hard mathematical problems. Reflecting on ...</description>
      <itunes:subtitle>In February 2007, Mike Adams, who had recently joined Automattic, the company that makes WordPress, decided on a lark to endow all blogs running on WordPress.com with the ability to use LaTeX, the venerable mathematical typesetting language. So I can write this: &amp;#36;latex \pi r^2&amp;#36; And produce this: When he introduced the feature, Mike wrote: Odd as it may sound, I miss all the equations from my days in grad school, so I decided that what WordPress.com needed most was a hot, niche feature that maybe 17 people would use regularly. A whole lot more than 17 people cared. And some of them, it turns out, are Fields medalists. Back in January, one member of that elite group &amp;#8212; Tim Gowers &amp;#8212; asked: Is massively collaborative mathematics possible? Since then, as reported by observer/participant Michael Nielsen (1, 2), Tim Gowers, Terence Tao, and a bunch of their peers have been pioneering a massively collaborative approach to solving hard mathematical problems. Reflecting on the outcome of the first polymath experiment, Michael Nielsen wrote: The scope of participation in the project is remarkable. More than 1000 mathematical comments have been written on Gowers&#8217; blog, and the blog of Terry Tao, another mathematician who has taken a leading role in the project. The Polymath wiki has approximately 59 content pages, with 11 registered contributors, and more anonymous contributors. It&amp;#8217;s already a remarkable resource on the density Hales-Jewett theorem and related topics. The project timeline shows notable mathematical contributions being made by 23 contributors to date. This was accomplished in seven weeks. Just this week, a polymath blog has emerged to serve as an online home for the further evolution of this approach. I am completely unqualified to evaluate the nature of mathematical discourse that&amp;#8217;s going in on these polymath collaborations, or the claims being made regarding outcomes. But it sure makes my spidey-sense tingle. I am, however, qualified to evaluate the nature of the collaborative methods being employed. And on that front, I&amp;#8217;m amused (and chagrined) to recall something I wrote back in 2000, in a report called Internet groupware for scientific collaboration. The report was commissioned by Greg Wilson, who organized this week&amp;#8217;s Science 2.0 event in Toronto. At that event, my report served as a historical frame for the polymath experimentation that&amp;#8217;s going on right now, and that Michael Nielsen discussed at the Toronto event in an updated version of this talk. In my 2000 report I said: TeX and LaTeX define scientific publishing for a generation of scientists. But these formats don&amp;#8217;t integrate directly into the shared spaces of the Web. The rise of XML as a universal markup language, along with vocabularies such as MathML (for mathematical notation) and SVG (for scalable vector graphics), suggests that the Web may yet reach its original collaborative goal. Why didn&amp;#8217;t I see, then, that the crux of the issue wasn&amp;#8217;t XML and MathML and SVG, but rather the ability to &amp;#8220;integrate directly into the shared spaces of the Web&amp;#8221;? And that what ought to be integrated directly was the typesetting language already familiar to mathematicians, namely LaTeX? The answer is that I needed (and still need) to be reminded that good-enough solutions here now, and familiar to people, often trump great solutions that aren&amp;#8217;t here and wouldn&amp;#8217;t be familiar if they were. From that perspective, I&amp;#8217;m wondering what will and won&amp;#8217;t turn out be good enough for the polymathematicians. The current setup is admittedly imperfect, and they&amp;#8217;re now begining to explore WordPress plugins that enable, for example, more powerful ways to organize, reply to, and refer to one anothers&amp;#8217; comments. I don&amp;#8217;t think anybody yet knows what the right tooling will be for polymathematical collaboration. The ones who are best qualified to figure it out are the polymathematical collaborators themselves, but they are not WordPress plugin developers. What&amp;#8217;s needed is what Eric von Hippel calls a user innovation toolkit. The idea is this: Leading users, as they employ a tool, also modify it, and in so doing they express intentions that tool developers can then capture and formalize. If you look at the systems of notation that the polymathematicians are creating in order to organize and refer to their contributions in these long and complex threads of mathematical discourse, you can see intentions being expressed. So arguably, WordPress is a user innovation toolkit, and we&amp;#8217;ll see these innovations codified in future plugins. I&amp;#8217;ll be watching with great interest.</itunes:subtitle>
      <itunes:summary>In February 2007, Mike Adams, who had recently joined Automattic, the company that makes WordPress, decided on a lark to endow all blogs running on WordPress.com with the ability to use LaTeX, the venerable mathematical typesetting language. So I can write this: &amp;#36;latex \pi r^2&amp;#36; And produce this: When he introduced the feature, Mike wrote: Odd as it may sound, I miss all the equations from my days in grad school, so I decided that what WordPress.com needed most was a hot, niche feature that maybe 17 people would use regularly. A whole lot more than 17 people cared. And some of them, it turns out, are Fields medalists. Back in January, one member of that elite group &amp;#8212; Tim Gowers &amp;#8212; asked: Is massively collaborative mathematics possible? Since then, as reported by observer/participant Michael Nielsen (1, 2), Tim Gowers, Terence Tao, and a bunch of their peers have been pioneering a massively collaborative approach to solving hard mathematical problems. Reflecting on the outcome of the first polymath experiment, Michael Nielsen wrote: The scope of participation in the project is remarkable. More than 1000 mathematical comments have been written on Gowers&#8217; blog, and the blog of Terry Tao, another mathematician who has taken a leading role in the project. The Polymath wiki has approximately 59 content pages, with 11 registered contributors, and more anonymous contributors. It&amp;#8217;s already a remarkable resource on the density Hales-Jewett theorem and related topics. The project timeline shows notable mathematical contributions being made by 23 contributors to date. This was accomplished in seven weeks. Just this week, a polymath blog has emerged to serve as an online home for the further evolution of this approach. I am completely unqualified to evaluate the nature of mathematical discourse that&amp;#8217;s going in on these polymath collaborations, or the claims being made regarding outcomes. But it sure makes my spidey-sense tingle. I am, however, qualified to evaluate the nature of the collaborative methods being employed. And on that front, I&amp;#8217;m amused (and chagrined) to recall something I wrote back in 2000, in a report called Internet groupware for scientific collaboration. The report was commissioned by Greg Wilson, who organized this week&amp;#8217;s Science 2.0 event in Toronto. At that event, my report served as a historical frame for the polymath experimentation that&amp;#8217;s going on right now, and that Michael Nielsen discussed at the Toronto event in an updated version of this talk. In my 2000 report I said: TeX and LaTeX define scientific publishing for a generation of scientists. But these formats don&amp;#8217;t integrate directly into the shared spaces of the Web. The rise of XML as a universal markup language, along with vocabularies such as MathML (for mathematical notation) and SVG (for scalable vector graphics), suggests that the Web may yet reach its original collaborative goal. Why didn&amp;#8217;t I see, then, that the crux of the issue wasn&amp;#8217;t XML and MathML and SVG, but rather the ability to &amp;#8220;integrate directly into the shared spaces of the Web&amp;#8221;? And that what ought to be integrated directly was the typesetting language already familiar to mathematicians, namely LaTeX? The answer is that I needed (and still need) to be reminded that good-enough solutions here now, and familiar to people, often trump great solutions that aren&amp;#8217;t here and wouldn&amp;#8217;t be familiar if they were. From that perspective, I&amp;#8217;m wondering what will and won&amp;#8217;t turn out be good enough for the polymathematicians. The current setup is admittedly imperfect, and they&amp;#8217;re now begining to explore WordPress plugins that enable, for example, more powerful ways to organize, reply to, and refer to one anothers&amp;#8217; comments. I don&amp;#8217;t think anybody yet knows what the right tooling will be for polymathematical collaboration. The ones who are best qualified to figure it out are the polymathematical collaborators themselves, but they are not WordPress plugin developers. What&amp;#8217;s needed is what Eric von Hippel calls a user innovation toolkit. The idea is this: Leading users, as they employ a tool, also modify it, and in so doing they express intentions that tool developers can then capture and formalize. If you look at the systems of notation that the polymathematicians are creating in order to organize and refer to their contributions in these long and complex threads of mathematical discourse, you can see intentions being expressed. So arguably, WordPress is a user innovation toolkit, and we&amp;#8217;ll see these innovations codified in future plugins. I&amp;#8217;ll be watching with great interest.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-31,24892235</guid>
      <pubDate>Fri, 31 Jul 2009 10:10:21 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Talking with Mike Dunn about practical uses of semantic technology</title>
      <link>http://odeo.com/episodes/24869819-Talking-with-Mike-Dunn-about-practical-uses-of-semantic-technology</link>
      <description>My guest for this week&amp;#8217;s Innovators show is Mike Dunn, a veteran media technologist who recently attended, and spoke at, the 2009 Semantic Technology. Mike and I were both impressed by Tom Tague&amp;#8217;s keynote talk, which avoided theory and focused on practical ways that here-and-now semantic technologies are helping media businesses work smarter and more profitably. In this conversation, Mike describes some of the ways that his company, Hearst Media Interactive, is proving that point. Search engine optimization is currently one of the best ways to profit from data-enabled content. Meanwhile, one of the expected benefits of semantic technology &amp;#8212; better search recall and precision &amp;#8212; hasn&amp;#8217;t materialized. But although most users may not care about querying archives more comprehensively and more precisely, writers and editors should. And not only because it helps automate the assembly of context around a current story. If you can review an archive in a precise a...</description>
      <itunes:subtitle>My guest for this week&amp;#8217;s Innovators show is Mike Dunn, a veteran media technologist who recently attended, and spoke at, the 2009 Semantic Technology. Mike and I were both impressed by Tom Tague&amp;#8217;s keynote talk, which avoided theory and focused on practical ways that here-and-now semantic technologies are helping media businesses work smarter and more profitably. In this conversation, Mike describes some of the ways that his company, Hearst Media Interactive, is proving that point. Search engine optimization is currently one of the best ways to profit from data-enabled content. Meanwhile, one of the expected benefits of semantic technology &amp;#8212; better search recall and precision &amp;#8212; hasn&amp;#8217;t materialized. But although most users may not care about querying archives more comprehensively and more precisely, writers and editors should. And not only because it helps automate the assembly of context around a current story. If you can review an archive in a precise and comprehensive way, you can do a better job of planning future stories that acknowledge &amp;#8212; and advance &amp;#8212; the ones you&amp;#8217;ve already done.</itunes:subtitle>
      <itunes:summary>My guest for this week&amp;#8217;s Innovators show is Mike Dunn, a veteran media technologist who recently attended, and spoke at, the 2009 Semantic Technology. Mike and I were both impressed by Tom Tague&amp;#8217;s keynote talk, which avoided theory and focused on practical ways that here-and-now semantic technologies are helping media businesses work smarter and more profitably. In this conversation, Mike describes some of the ways that his company, Hearst Media Interactive, is proving that point. Search engine optimization is currently one of the best ways to profit from data-enabled content. Meanwhile, one of the expected benefits of semantic technology &amp;#8212; better search recall and precision &amp;#8212; hasn&amp;#8217;t materialized. But although most users may not care about querying archives more comprehensively and more precisely, writers and editors should. And not only because it helps automate the assembly of context around a current story. If you can review an archive in a precise and comprehensive way, you can do a better job of planning future stories that acknowledge &amp;#8212; and advance &amp;#8212; the ones you&amp;#8217;ve already done.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-27,24869819</guid>
      <pubDate>Mon, 27 Jul 2009 07:42:18 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Topical event hubs</title>
      <link>http://odeo.com/episodes/24859169-Topical-event-hubs</link>
      <description>The elmcity project began with a focus on aggregating events for communities defined by places: cities, towns. But I realized a while ago that it could also be used to aggregate events for communities defined by topics. So now I&amp;#8217;m building out that capability. One early adopter tracks and promotes online events in the e-learning domain. Another tracks and promotes conferences and events related to environmentally-sustainable business practices. The curation method is very similar to what&amp;#8217;s defined in the elmcity project FAQ. To define a topic hub you use a Delicious account, you create a metadata URL as shown in the FAQ, and you use what= instead of where= to define a topic instead of a location. Since there&amp;#8217;s no location, there&amp;#8217;s no aggregation of Eventful and Upcoming events. The topical hub is driven purely by your registry of iCalendar feeds. If you (or somebody you know) needs to curate events by topic, and would like try this method, please get in touch...</description>
      <itunes:subtitle>The elmcity project began with a focus on aggregating events for communities defined by places: cities, towns. But I realized a while ago that it could also be used to aggregate events for communities defined by topics. So now I&amp;#8217;m building out that capability. One early adopter tracks and promotes online events in the e-learning domain. Another tracks and promotes conferences and events related to environmentally-sustainable business practices. The curation method is very similar to what&amp;#8217;s defined in the elmcity project FAQ. To define a topic hub you use a Delicious account, you create a metadata URL as shown in the FAQ, and you use what= instead of where= to define a topic instead of a location. Since there&amp;#8217;s no location, there&amp;#8217;s no aggregation of Eventful and Upcoming events. The topical hub is driven purely by your registry of iCalendar feeds. If you (or somebody you know) needs to curate events by topic, and would like try this method, please get in touch. I&amp;#8217;d love to have you help me define how this can work, and discover where it can go.</itunes:subtitle>
      <itunes:summary>The elmcity project began with a focus on aggregating events for communities defined by places: cities, towns. But I realized a while ago that it could also be used to aggregate events for communities defined by topics. So now I&amp;#8217;m building out that capability. One early adopter tracks and promotes online events in the e-learning domain. Another tracks and promotes conferences and events related to environmentally-sustainable business practices. The curation method is very similar to what&amp;#8217;s defined in the elmcity project FAQ. To define a topic hub you use a Delicious account, you create a metadata URL as shown in the FAQ, and you use what= instead of where= to define a topic instead of a location. Since there&amp;#8217;s no location, there&amp;#8217;s no aggregation of Eventful and Upcoming events. The topical hub is driven purely by your registry of iCalendar feeds. If you (or somebody you know) needs to curate events by topic, and would like try this method, please get in touch. I&amp;#8217;d love to have you help me define how this can work, and discover where it can go.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-24,24859169</guid>
      <pubDate>Fri, 24 Jul 2009 12:18:27 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Why we need an XML representation for iCalendar</title>
      <link>http://odeo.com/episodes/24851039-Why-we-need-an-XML-representation-for-iCalendar</link>
      <description>On this week&amp;#8217;s Innovators show I got together with two of the authors of a new proposal for representing iCalendar in XML. Mike Douglass is lead developer of the Bedework Calendar System, and Steven Lees is Microsoft&amp;#8217;s program manager for FeedSync and chair of the XML technical committee in CalConnect, the Calendaring and Scheduling Consortium. What&amp;#8217;s proposed is no more, but no less, than a well-defined two-way mapping between the current non-XML-based iCalendar format and an equivalent XML format. So, for example, here&amp;#8217;s an event &amp;#8212; the first low tide of 2009 in Myrtle Beach, SC &amp;#8212; in iCalendar format: BEGIN:VEVENT SUMMARY:Low Tide 0.39 ft DTSTART:20090101T090000Z UID:2009.0 DTSTAMP:20080527T000001Z END:VEVENT And here&amp;#8217;s the equivalent XML: &amp;lt;vevent&amp;gt; &amp;lt;properties&amp;gt; &amp;lt;dtstamp&amp;gt; &amp;lt;date-time utc='yes'&amp;gt; &amp;lt;year&amp;gt;2008&amp;lt;/year&amp;gt;&amp;lt;month&amp;gt;5&amp;lt;/month&amp;gt;&amp;lt;day&amp;gt;27&amp;lt;/day&amp;gt; &amp;lt;hour&amp;gt;0&amp;lt;/hour&amp;gt;&amp;lt;minute&amp;gt;0&amp;l...</description>
      <itunes:subtitle>On this week&amp;#8217;s Innovators show I got together with two of the authors of a new proposal for representing iCalendar in XML. Mike Douglass is lead developer of the Bedework Calendar System, and Steven Lees is Microsoft&amp;#8217;s program manager for FeedSync and chair of the XML technical committee in CalConnect, the Calendaring and Scheduling Consortium. What&amp;#8217;s proposed is no more, but no less, than a well-defined two-way mapping between the current non-XML-based iCalendar format and an equivalent XML format. So, for example, here&amp;#8217;s an event &amp;#8212; the first low tide of 2009 in Myrtle Beach, SC &amp;#8212; in iCalendar format: BEGIN:VEVENT SUMMARY:Low Tide 0.39 ft DTSTART:20090101T090000Z UID:2009.0 DTSTAMP:20080527T000001Z END:VEVENT And here&amp;#8217;s the equivalent XML: &amp;lt;vevent&amp;gt; &amp;lt;properties&amp;gt; &amp;lt;dtstamp&amp;gt; &amp;lt;date-time utc='yes'&amp;gt; &amp;lt;year&amp;gt;2008&amp;lt;/year&amp;gt;&amp;lt;month&amp;gt;5&amp;lt;/month&amp;gt;&amp;lt;day&amp;gt;27&amp;lt;/day&amp;gt; &amp;lt;hour&amp;gt;0&amp;lt;/hour&amp;gt;&amp;lt;minute&amp;gt;0&amp;lt;/minute&amp;gt;&amp;lt;second&amp;gt;1&amp;lt;/second&amp;gt; &amp;lt;/date-time&amp;gt; &amp;lt;/dtstamp&amp;gt; &amp;lt;dtstart&amp;gt; &amp;lt;date-time utc='yes'&amp;gt; &amp;lt;year&amp;gt;2009&amp;lt;/year&amp;gt;&amp;lt;month&amp;gt;1&amp;lt;/month&amp;gt;&amp;lt;day&amp;gt;1&amp;lt;/day&amp;gt; &amp;lt;hour&amp;gt;9&amp;lt;/hour&amp;gt;&amp;lt;minute&amp;gt;0&amp;lt;/minute&amp;gt;&amp;lt;second&amp;gt;0&amp;lt;/second&amp;gt; &amp;lt;/date&amp;gt; &amp;lt;/dtstart&amp;gt; &amp;lt;summary&amp;gt; &amp;lt;text&amp;gt;Low Tide 0.39 ft&amp;lt;/text&amp;gt; &amp;lt;/summary&amp;gt; &amp;lt;uid&amp;gt; &amp;lt;text&amp;gt;2009.0&amp;lt;/text&amp;gt; &amp;lt;/uid&amp;gt; &amp;lt;/properties&amp;gt; &amp;lt;/vevent&amp;gt; The mapping is quite straightforward, as you can see. At first glance, the XML version just seems verbose. So why bother? Because the iCalendar format can be tricky to read and write, either directly (using eyes and hands) or indirectly (using software). That&amp;#8217;s especially true when, as is typical, events include longer chunks of text than you see here. I make an analogy to the RSS ecosystem. When I published my first RSS feed a decade ago, I wrote it by hand. More specifically, I copied an existing feed as a template, and altered it using cut-and-paste. Soon afterward, I wrote the first of countless scripts that flowed data through similar templates to produce various kinds of RSS feeds. Lots of other people did the same, and that&amp;#8217;s part of the reason why we now have a robust network of RSS and Atom feeds that carries not only blogs, but all kinds of data packets. Another part of the reason is the Feed Validator which, thanks to heroic efforts by Mark Pilgrim and Sam Ruby, became and remains the essential sanity check for anybody who&amp;#8217;s whipping up an ad-hoc RSS or Atom feed. No such ecosystem exists for iCalendar. I&amp;#8217;ve been working hard to show why we need one, but the most compelling rationale comes from a Scott Adams essay that I quoted from in this blog entry. Dilber&amp;#8217;s creator wrote: I think the biggest software revolution of the future is that the calendar will be the organizing filter for most of the information flowing into your life. You think you are bombarded with too much information every day, but in reality it is just the timing of the information that is wrong. Once the calendar becomes the organizing paradigm and filter, it won&amp;#8217;t seem as if there is so much. If you buy that argument, then we&amp;#8217;re going to need more than a handful of applications that can reliably create and exchange calendar data. We&amp;#8217;ll want anyone to whip up a calendar feed as easily as anyone can now whip up an RSS/Atom feed. We&amp;#8217;ll also need more than a handful of parsers that can reliably read calendar feeds, so that thousands of ad-hoc applications, services, and scripts will be able consume all the new streams of time-and-date-oriented information. I think that a standard XML representation of iCalendar will enable lots of ad-hoc producers and consumers to get into the game, and collectively bootstrap this new ecosystem. And that will enable what Scott Adams envisions. Here&amp;#8217;s a small but evocative example. Yesterday I started up a new instance of the elmcity aggregator for Myrtle Beach, SC. The curator, Dave Slusher, found a tide table for his location, and it offers an iCalendar feed. So the Myrtle Beach calendar for today begins like this: Thu Jul 23 2009 WeeHours Thu 03:07 AM Low Tide -0.58 ft (Tide Table for Myrtle Beach, SC) Morning Thu 06:21 AM Sunrise 6:21 AM EDT (Tide Table for Myrtle Beach, SC) Thu 09:09 AM High Tide 5.99 ft (Tide Table for Myrtle Beach, SC) Thu 10:00 AM Free Coffee Fridays (eventful: ) Thu 10:00 AM Summer Arts Project at The Market Common (eventful: ) Thu 10:00 AM E.B. Lewis: Story Painter (eventful: ) Imagine this kind of thing happening on the scale of the RSS/Atom feed ecosystem. The lack of an agreed-upon XML representation for iCalendar isn&amp;#8217;t the only reason why we don&amp;#8217;t have an equally vibrant ecosystem of calendar feeds. But it&amp;#8217;s an impediment that can be swept away, and I hope this proposal will finally do that.</itunes:subtitle>
      <itunes:summary>On this week&amp;#8217;s Innovators show I got together with two of the authors of a new proposal for representing iCalendar in XML. Mike Douglass is lead developer of the Bedework Calendar System, and Steven Lees is Microsoft&amp;#8217;s program manager for FeedSync and chair of the XML technical committee in CalConnect, the Calendaring and Scheduling Consortium. What&amp;#8217;s proposed is no more, but no less, than a well-defined two-way mapping between the current non-XML-based iCalendar format and an equivalent XML format. So, for example, here&amp;#8217;s an event &amp;#8212; the first low tide of 2009 in Myrtle Beach, SC &amp;#8212; in iCalendar format: BEGIN:VEVENT SUMMARY:Low Tide 0.39 ft DTSTART:20090101T090000Z UID:2009.0 DTSTAMP:20080527T000001Z END:VEVENT And here&amp;#8217;s the equivalent XML: &amp;lt;vevent&amp;gt; &amp;lt;properties&amp;gt; &amp;lt;dtstamp&amp;gt; &amp;lt;date-time utc='yes'&amp;gt; &amp;lt;year&amp;gt;2008&amp;lt;/year&amp;gt;&amp;lt;month&amp;gt;5&amp;lt;/month&amp;gt;&amp;lt;day&amp;gt;27&amp;lt;/day&amp;gt; &amp;lt;hour&amp;gt;0&amp;lt;/hour&amp;gt;&amp;lt;minute&amp;gt;0&amp;lt;/minute&amp;gt;&amp;lt;second&amp;gt;1&amp;lt;/second&amp;gt; &amp;lt;/date-time&amp;gt; &amp;lt;/dtstamp&amp;gt; &amp;lt;dtstart&amp;gt; &amp;lt;date-time utc='yes'&amp;gt; &amp;lt;year&amp;gt;2009&amp;lt;/year&amp;gt;&amp;lt;month&amp;gt;1&amp;lt;/month&amp;gt;&amp;lt;day&amp;gt;1&amp;lt;/day&amp;gt; &amp;lt;hour&amp;gt;9&amp;lt;/hour&amp;gt;&amp;lt;minute&amp;gt;0&amp;lt;/minute&amp;gt;&amp;lt;second&amp;gt;0&amp;lt;/second&amp;gt; &amp;lt;/date&amp;gt; &amp;lt;/dtstart&amp;gt; &amp;lt;summary&amp;gt; &amp;lt;text&amp;gt;Low Tide 0.39 ft&amp;lt;/text&amp;gt; &amp;lt;/summary&amp;gt; &amp;lt;uid&amp;gt; &amp;lt;text&amp;gt;2009.0&amp;lt;/text&amp;gt; &amp;lt;/uid&amp;gt; &amp;lt;/properties&amp;gt; &amp;lt;/vevent&amp;gt; The mapping is quite straightforward, as you can see. At first glance, the XML version just seems verbose. So why bother? Because the iCalendar format can be tricky to read and write, either directly (using eyes and hands) or indirectly (using software). That&amp;#8217;s especially true when, as is typical, events include longer chunks of text than you see here. I make an analogy to the RSS ecosystem. When I published my first RSS feed a decade ago, I wrote it by hand. More specifically, I copied an existing feed as a template, and altered it using cut-and-paste. Soon afterward, I wrote the first of countless scripts that flowed data through similar templates to produce various kinds of RSS feeds. Lots of other people did the same, and that&amp;#8217;s part of the reason why we now have a robust network of RSS and Atom feeds that carries not only blogs, but all kinds of data packets. Another part of the reason is the Feed Validator which, thanks to heroic efforts by Mark Pilgrim and Sam Ruby, became and remains the essential sanity check for anybody who&amp;#8217;s whipping up an ad-hoc RSS or Atom feed. No such ecosystem exists for iCalendar. I&amp;#8217;ve been working hard to show why we need one, but the most compelling rationale comes from a Scott Adams essay that I quoted from in this blog entry. Dilber&amp;#8217;s creator wrote: I think the biggest software revolution of the future is that the calendar will be the organizing filter for most of the information flowing into your life. You think you are bombarded with too much information every day, but in reality it is just the timing of the information that is wrong. Once the calendar becomes the organizing paradigm and filter, it won&amp;#8217;t seem as if there is so much. If you buy that argument, then we&amp;#8217;re going to need more than a handful of applications that can reliably create and exchange calendar data. We&amp;#8217;ll want anyone to whip up a calendar feed as easily as anyone can now whip up an RSS/Atom feed. We&amp;#8217;ll also need more than a handful of parsers that can reliably read calendar feeds, so that thousands of ad-hoc applications, services, and scripts will be able consume all the new streams of time-and-date-oriented information. I think that a standard XML representation of iCalendar will enable lots of ad-hoc producers and consumers to get into the game, and collectively bootstrap this new ecosystem. And that will enable what Scott Adams envisions. Here&amp;#8217;s a small but evocative example. Yesterday I started up a new instance of the elmcity aggregator for Myrtle Beach, SC. The curator, Dave Slusher, found a tide table for his location, and it offers an iCalendar feed. So the Myrtle Beach calendar for today begins like this: Thu Jul 23 2009 WeeHours Thu 03:07 AM Low Tide -0.58 ft (Tide Table for Myrtle Beach, SC) Morning Thu 06:21 AM Sunrise 6:21 AM EDT (Tide Table for Myrtle Beach, SC) Thu 09:09 AM High Tide 5.99 ft (Tide Table for Myrtle Beach, SC) Thu 10:00 AM Free Coffee Fridays (eventful: ) Thu 10:00 AM Summer Arts Project at The Market Common (eventful: ) Thu 10:00 AM E.B. Lewis: Story Painter (eventful: ) Imagine this kind of thing happening on the scale of the RSS/Atom feed ecosystem. The lack of an agreed-upon XML representation for iCalendar isn&amp;#8217;t the only reason why we don&amp;#8217;t have an equally vibrant ecosystem of calendar feeds. But it&amp;#8217;s an impediment that can be swept away, and I hope this proposal will finally do that.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-23,24851039</guid>
      <pubDate>Thu, 23 Jul 2009 07:44:26 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Late July in Toronto: DemoCamp and Science 2.0</title>
      <link>http://odeo.com/episodes/24822327-Late-July-in-Toronto-DemoCamp-and-Science-2-0</link>
      <description>On Tuesday July 28 I&amp;#8217;ll be at the Toronto DemoCamp. I&amp;#8217;m looking forward to meeting the designers, developers, and developers who&amp;#8217;ll be there, seeing what you&amp;#8217;re working on, and showing you what I&amp;#8217;m working on. The following day I&amp;#8217;ll be speaking at a Science 2.0 event organized by my friend Greg Wilson. Here are the forward-thinking scientists I&amp;#8217;ll be joining: Titus Brown: Choosing Infrastructure and Testing Tools for Scientific Software Projects Cameron Neylon: A Web Native Research Record: Applying the Best of the Web to the Lab Notebook Michael Nielsen: Doing Science in the Open: How Online Tools are Changing Scientific Discovery David Rich: Using &amp;#8220;Desktop&amp;#8221; Languages for Big Problems Victoria Stodden: How Computational Science is Changing the Scientific Method I am not a scientest, nor do I play one on TV, so why me? Because back in 2000, Greg commissioned me to write a report entitled Internet Groupware for Scientific Collabor...</description>
      <itunes:subtitle>On Tuesday July 28 I&amp;#8217;ll be at the Toronto DemoCamp. I&amp;#8217;m looking forward to meeting the designers, developers, and developers who&amp;#8217;ll be there, seeing what you&amp;#8217;re working on, and showing you what I&amp;#8217;m working on. The following day I&amp;#8217;ll be speaking at a Science 2.0 event organized by my friend Greg Wilson. Here are the forward-thinking scientists I&amp;#8217;ll be joining: Titus Brown: Choosing Infrastructure and Testing Tools for Scientific Software Projects Cameron Neylon: A Web Native Research Record: Applying the Best of the Web to the Lab Notebook Michael Nielsen: Doing Science in the Open: How Online Tools are Changing Scientific Discovery David Rich: Using &amp;#8220;Desktop&amp;#8221; Languages for Big Problems Victoria Stodden: How Computational Science is Changing the Scientific Method I am not a scientest, nor do I play one on TV, so why me? Because back in 2000, Greg commissioned me to write a report entitled Internet Groupware for Scientific Collaboration. Greg was then working with the Los Alamos National Laboratory on ways to help scientists make better use of the tools of computation as well as the methods of online collaboration. I had recently finished my book Practical Internet Groupware, I was exploring what we would now call the Web 2.0 landscape, and I was thinking and writing a lot about how these open and loosely-coupled modes of communication could enable the sort of collaboration at the core of science (and other kinds of academic endeavors) in powerful new ways. Nearly a decade later, that vision is becoming a reality. I&amp;#8217;m really excited to meet these folks, whose adventures I&amp;#8217;ve been following through their blogs, and hear about their experiences at the forefront of what I believe will be a new golden age of science. In my own talk, I&amp;#8217;ll review how own current project tackles the challenge of social information management, and aims to democratize the computational way of thinking that enables us to wire the web.</itunes:subtitle>
      <itunes:summary>On Tuesday July 28 I&amp;#8217;ll be at the Toronto DemoCamp. I&amp;#8217;m looking forward to meeting the designers, developers, and developers who&amp;#8217;ll be there, seeing what you&amp;#8217;re working on, and showing you what I&amp;#8217;m working on. The following day I&amp;#8217;ll be speaking at a Science 2.0 event organized by my friend Greg Wilson. Here are the forward-thinking scientists I&amp;#8217;ll be joining: Titus Brown: Choosing Infrastructure and Testing Tools for Scientific Software Projects Cameron Neylon: A Web Native Research Record: Applying the Best of the Web to the Lab Notebook Michael Nielsen: Doing Science in the Open: How Online Tools are Changing Scientific Discovery David Rich: Using &amp;#8220;Desktop&amp;#8221; Languages for Big Problems Victoria Stodden: How Computational Science is Changing the Scientific Method I am not a scientest, nor do I play one on TV, so why me? Because back in 2000, Greg commissioned me to write a report entitled Internet Groupware for Scientific Collaboration. Greg was then working with the Los Alamos National Laboratory on ways to help scientists make better use of the tools of computation as well as the methods of online collaboration. I had recently finished my book Practical Internet Groupware, I was exploring what we would now call the Web 2.0 landscape, and I was thinking and writing a lot about how these open and loosely-coupled modes of communication could enable the sort of collaboration at the core of science (and other kinds of academic endeavors) in powerful new ways. Nearly a decade later, that vision is becoming a reality. I&amp;#8217;m really excited to meet these folks, whose adventures I&amp;#8217;ve been following through their blogs, and hear about their experiences at the forefront of what I believe will be a new golden age of science. In my own talk, I&amp;#8217;ll review how own current project tackles the challenge of social information management, and aims to democratize the computational way of thinking that enables us to wire the web.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-17,24822327</guid>
      <pubDate>Fri, 17 Jul 2009 11:06:27 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Tinker to Evers to Chance, Tripit to Dopplr to Facebook</title>
      <link>http://odeo.com/episodes/24816299-Tinker-to-Evers-to-Chance-Tripit-to-Dopplr-to-Facebook</link>
      <description>A few months back I observed: Tripit, meet Dopplr. Dopplr, Tripit. You two should really get to know one another. Richard Akerman replied: You can feed TripIt&amp;#8217;s ical output into Dopplr, I hear (I haven&amp;#8217;t tried it) That remark should have rung a loud bell for me, but somehow it didn&amp;#8217;t. Then, yesterday, in conversation with James Senior, the bell rang. We were talking about how many services publish and/or subscribe to iCalendar feeds, how few people know that, and how much latent capability is being left on the table. Paraphrasing James: I&amp;#8217;ll give you a perfect example. I use Tripit, it&amp;#8217;s a wonderful service. You email it your travel itinerary, and it organizes all your information for you. But I&amp;#8217;ve been frustrated not to be able to share that information with my friends on Facebook. I also use Dopplr, and Dopplr talks to Facebook, but Tripit doesn&amp;#8217;t. Then I realized that Tripit publishes an iCalendar feed, and that Dopplr can subscribe to iC...</description>
      <itunes:subtitle>A few months back I observed: Tripit, meet Dopplr. Dopplr, Tripit. You two should really get to know one another. Richard Akerman replied: You can feed TripIt&amp;#8217;s ical output into Dopplr, I hear (I haven&amp;#8217;t tried it) That remark should have rung a loud bell for me, but somehow it didn&amp;#8217;t. Then, yesterday, in conversation with James Senior, the bell rang. We were talking about how many services publish and/or subscribe to iCalendar feeds, how few people know that, and how much latent capability is being left on the table. Paraphrasing James: I&amp;#8217;ll give you a perfect example. I use Tripit, it&amp;#8217;s a wonderful service. You email it your travel itinerary, and it organizes all your information for you. But I&amp;#8217;ve been frustrated not to be able to share that information with my friends on Facebook. I also use Dopplr, and Dopplr talks to Facebook, but Tripit doesn&amp;#8217;t. Then I realized that Tripit publishes an iCalendar feed, and that Dopplr can subscribe to iCalendar feeds. So I made that connection, and now my Tripit events are showing up in Facebook. Brilliant. Look: How did I miss that? Me, of all people, Mr. Splice-Everything-To-Everything, Mr. Find-Unintended-Uses-Of-Software, Mr. Cosmic-Significance-Of-Pub-Sub, Mr. Champion-Of-The-Underutilized-iCalendar-Standard, Mr. Computational-Thinking? Because wiring the web is still too abstract, too convoluted, and too non-obvious &amp;#8212; even, sometimes, for me. The phrase wiring the web comes from Ray Ozzie, by the way. At ETech in 2006, demoed a concept called Live Clipboard. From my InfoWorld writeup: Subscribing to an RSS feed, for example, has never conformed to any familiar user-interface pattern. Soon copying and pasting RSS feeds will feel natural to everyone, and Ozzie hopes the copy/paste metaphor will also make advanced capabilities more accessible. Consider my LibraryLookup bookmarklet. Dragging it onto the browser&amp;#8217;s toolbar isn&amp;#8217;t something easily understood or explained. Using the clipboard as the wiring junction will make a lot more sense to most people. The same metaphor can accommodate what I&amp;#8217;ve called lightweight service composition and what Ozzie calls &amp;#8220;wiring the Web.&amp;#8221; He showed how RSS feeds acting as service end points can be pasted into apps to create dynamically updating views. Virtually anyone can master this Tinkertoy approach to self-serve mashups. This was, and remains, a crucial insight. From now on, we are all going to be wiring the web in one way or another. And we&amp;#8217;re going to need a conceptual frame in which to do that &amp;#8212; ideally, a user-interface metaphor that&amp;#8217;s already familiar. Maybe it&amp;#8217;s as simple as copy/paste. Maybe it&amp;#8217;s more like Yahoo! Pipes or Popfly blocks. Whatever it turns out to be, we need to invent and deploy a universal junction box for wiring the web.</itunes:subtitle>
      <itunes:summary>A few months back I observed: Tripit, meet Dopplr. Dopplr, Tripit. You two should really get to know one another. Richard Akerman replied: You can feed TripIt&amp;#8217;s ical output into Dopplr, I hear (I haven&amp;#8217;t tried it) That remark should have rung a loud bell for me, but somehow it didn&amp;#8217;t. Then, yesterday, in conversation with James Senior, the bell rang. We were talking about how many services publish and/or subscribe to iCalendar feeds, how few people know that, and how much latent capability is being left on the table. Paraphrasing James: I&amp;#8217;ll give you a perfect example. I use Tripit, it&amp;#8217;s a wonderful service. You email it your travel itinerary, and it organizes all your information for you. But I&amp;#8217;ve been frustrated not to be able to share that information with my friends on Facebook. I also use Dopplr, and Dopplr talks to Facebook, but Tripit doesn&amp;#8217;t. Then I realized that Tripit publishes an iCalendar feed, and that Dopplr can subscribe to iCalendar feeds. So I made that connection, and now my Tripit events are showing up in Facebook. Brilliant. Look: How did I miss that? Me, of all people, Mr. Splice-Everything-To-Everything, Mr. Find-Unintended-Uses-Of-Software, Mr. Cosmic-Significance-Of-Pub-Sub, Mr. Champion-Of-The-Underutilized-iCalendar-Standard, Mr. Computational-Thinking? Because wiring the web is still too abstract, too convoluted, and too non-obvious &amp;#8212; even, sometimes, for me. The phrase wiring the web comes from Ray Ozzie, by the way. At ETech in 2006, demoed a concept called Live Clipboard. From my InfoWorld writeup: Subscribing to an RSS feed, for example, has never conformed to any familiar user-interface pattern. Soon copying and pasting RSS feeds will feel natural to everyone, and Ozzie hopes the copy/paste metaphor will also make advanced capabilities more accessible. Consider my LibraryLookup bookmarklet. Dragging it onto the browser&amp;#8217;s toolbar isn&amp;#8217;t something easily understood or explained. Using the clipboard as the wiring junction will make a lot more sense to most people. The same metaphor can accommodate what I&amp;#8217;ve called lightweight service composition and what Ozzie calls &amp;#8220;wiring the Web.&amp;#8221; He showed how RSS feeds acting as service end points can be pasted into apps to create dynamically updating views. Virtually anyone can master this Tinkertoy approach to self-serve mashups. This was, and remains, a crucial insight. From now on, we are all going to be wiring the web in one way or another. And we&amp;#8217;re going to need a conceptual frame in which to do that &amp;#8212; ideally, a user-interface metaphor that&amp;#8217;s already familiar. Maybe it&amp;#8217;s as simple as copy/paste. Maybe it&amp;#8217;s more like Yahoo! Pipes or Popfly blocks. Whatever it turns out to be, we need to invent and deploy a universal junction box for wiring the web.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-16,24816299</guid>
      <pubDate>Thu, 16 Jul 2009 08:39:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="image/png" url="http://jonudell.net/img/tripit-dopplr-facebook.png"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Talking with Peter O&#8217;Toole about gathering clinical data and sharing medical knowledge</title>
      <link>http://odeo.com/episodes/24808596-Talking-with-Peter-O%E2%80%99Toole-about-gathering-clinical-data-and-sharing-medical-knowledge</link>
      <description>My guest for this week&amp;#8217;s Innovators show is Peter O&amp;#8217;Toole from mTuitive, a company whose authoring toolkit for clinical data collection I featured in a 2006 screencast. mTuitive is working at the intersection of a number of disciplines that all need to come together to deliver cheaper and better health care. First, usability. Designing clinical data gathering systems that capture what&amp;#8217;s right for the patient, along with what&amp;#8217;s mandated by the insurance company, requires a careful balancing of constraints and freedom in software user interfaces. Second, knowledge engineering. Clinical systems don&amp;#8217;t merely record data, they embody medical protocols that reflect an ever-changing consensus about methods and best practices. mTuitive&amp;#8217;s authoring system aims to enable leading practioners to encode that knowledge in ways that can then guide others. But knowledge grows at the edge as well as at the center. So mTuitive also enables practitioners to extend a...</description>
      <itunes:subtitle>My guest for this week&amp;#8217;s Innovators show is Peter O&amp;#8217;Toole from mTuitive, a company whose authoring toolkit for clinical data collection I featured in a 2006 screencast. mTuitive is working at the intersection of a number of disciplines that all need to come together to deliver cheaper and better health care. First, usability. Designing clinical data gathering systems that capture what&amp;#8217;s right for the patient, along with what&amp;#8217;s mandated by the insurance company, requires a careful balancing of constraints and freedom in software user interfaces. Second, knowledge engineering. Clinical systems don&amp;#8217;t merely record data, they embody medical protocols that reflect an ever-changing consensus about methods and best practices. mTuitive&amp;#8217;s authoring system aims to enable leading practioners to encode that knowledge in ways that can then guide others. But knowledge grows at the edge as well as at the center. So mTuitive also enables practitioners to extend and modify the software, injecting local knowledge and custom. Who owns this knowledge? Who&amp;#8217;s liable for the consequences of its use? These are some of the implications we discussed. Third, semantics. Electronic medical records are still mainly narrative in form, says Peter O&amp;#8217;Toole. But we&amp;#8217;re moving toward more computable ways of describing observations about, say, the nature and size of tumors. Fourth, social software. My hunch, and Peter O&amp;#8217;Toole&amp;#8217;s too, is that progress toward the nirvana of medical records that are both semantically rich and interoperable will be powered by a two-stroke engine. One stroke of the piston will be driven by centrally-defined standards and centrally-imposed legislation. But the other will be driven by networked collaboration, at the edge, among doctors who pool and codify their experiential knowledge using ad-hoc, Web 2.0-like methods.</itunes:subtitle>
      <itunes:summary>My guest for this week&amp;#8217;s Innovators show is Peter O&amp;#8217;Toole from mTuitive, a company whose authoring toolkit for clinical data collection I featured in a 2006 screencast. mTuitive is working at the intersection of a number of disciplines that all need to come together to deliver cheaper and better health care. First, usability. Designing clinical data gathering systems that capture what&amp;#8217;s right for the patient, along with what&amp;#8217;s mandated by the insurance company, requires a careful balancing of constraints and freedom in software user interfaces. Second, knowledge engineering. Clinical systems don&amp;#8217;t merely record data, they embody medical protocols that reflect an ever-changing consensus about methods and best practices. mTuitive&amp;#8217;s authoring system aims to enable leading practioners to encode that knowledge in ways that can then guide others. But knowledge grows at the edge as well as at the center. So mTuitive also enables practitioners to extend and modify the software, injecting local knowledge and custom. Who owns this knowledge? Who&amp;#8217;s liable for the consequences of its use? These are some of the implications we discussed. Third, semantics. Electronic medical records are still mainly narrative in form, says Peter O&amp;#8217;Toole. But we&amp;#8217;re moving toward more computable ways of describing observations about, say, the nature and size of tumors. Fourth, social software. My hunch, and Peter O&amp;#8217;Toole&amp;#8217;s too, is that progress toward the nirvana of medical records that are both semantically rich and interoperable will be powered by a two-stroke engine. One stroke of the piston will be driven by centrally-defined standards and centrally-imposed legislation. But the other will be driven by networked collaboration, at the edge, among doctors who pool and codify their experiential knowledge using ad-hoc, Web 2.0-like methods.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-15,24808596</guid>
      <pubDate>Wed, 15 Jul 2009 07:14:31 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Hat tip to Joshua Allen&#8217;s Better Living Through Software</title>
      <link>http://odeo.com/episodes/24801472-Hat-tip-to-Joshua-Allen%E2%80%99s-Better-Living-Through-Software</link>
      <description>Here&amp;#8217;s another piece of Say Everything that I want to spotlight: Microsoft wasn&amp;#8217;t known as a haven of openness and cooperation. But it was a big place with a lot of smart people. At the turn of the millenium, during the company&amp;#8217;s bitter antitrust fight with the U.S. Department of Justice, many of those people found it impossible to recognize themselves in the press&amp;#8217;s portrait of the company. The first programmer at Microsoft to start blogging, Joshua Allen, set himself up with an account on Dave Winer&amp;#8217;s EditThisPage service in 2000 and started posting under the header &amp;#8220;Better Living Through Software: Tales of Life at Microsoft.&amp;#8221; It was totally informal and unauthorized &amp;#8212; a lone call for a parley raised from behind the company&amp;#8217;s siege walls. Allen explained his intent: &amp;#8220;I wanted to say that I am a Microsoft person and you can talk with me.&amp;#8221; I used to read Joshua&amp;#8217;s blog back then, I still read it now, it was nice ...</description>
      <itunes:subtitle>Here&amp;#8217;s another piece of Say Everything that I want to spotlight: Microsoft wasn&amp;#8217;t known as a haven of openness and cooperation. But it was a big place with a lot of smart people. At the turn of the millenium, during the company&amp;#8217;s bitter antitrust fight with the U.S. Department of Justice, many of those people found it impossible to recognize themselves in the press&amp;#8217;s portrait of the company. The first programmer at Microsoft to start blogging, Joshua Allen, set himself up with an account on Dave Winer&amp;#8217;s EditThisPage service in 2000 and started posting under the header &amp;#8220;Better Living Through Software: Tales of Life at Microsoft.&amp;#8221; It was totally informal and unauthorized &amp;#8212; a lone call for a parley raised from behind the company&amp;#8217;s siege walls. Allen explained his intent: &amp;#8220;I wanted to say that I am a Microsoft person and you can talk with me.&amp;#8221; I used to read Joshua&amp;#8217;s blog back then, I still read it now, it was nice to see its seminal role acknowledged in the book. Here&amp;#8217;s a picture of the blog&amp;#8217;s home page, annotated by the ClearForest Gnosis entity extractor: Quite a cast of characters!</itunes:subtitle>
      <itunes:summary>Here&amp;#8217;s another piece of Say Everything that I want to spotlight: Microsoft wasn&amp;#8217;t known as a haven of openness and cooperation. But it was a big place with a lot of smart people. At the turn of the millenium, during the company&amp;#8217;s bitter antitrust fight with the U.S. Department of Justice, many of those people found it impossible to recognize themselves in the press&amp;#8217;s portrait of the company. The first programmer at Microsoft to start blogging, Joshua Allen, set himself up with an account on Dave Winer&amp;#8217;s EditThisPage service in 2000 and started posting under the header &amp;#8220;Better Living Through Software: Tales of Life at Microsoft.&amp;#8221; It was totally informal and unauthorized &amp;#8212; a lone call for a parley raised from behind the company&amp;#8217;s siege walls. Allen explained his intent: &amp;#8220;I wanted to say that I am a Microsoft person and you can talk with me.&amp;#8221; I used to read Joshua&amp;#8217;s blog back then, I still read it now, it was nice to see its seminal role acknowledged in the book. Here&amp;#8217;s a picture of the blog&amp;#8217;s home page, annotated by the ClearForest Gnosis entity extractor: Quite a cast of characters!</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-14,24801472</guid>
      <pubDate>Tue, 14 Jul 2009 13:45:06 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="image/png" url="http://jonudell.net/img/joshua-gnosis.png"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>More fun than herding servers</title>
      <link>http://odeo.com/episodes/24801473-More-fun-than-herding-servers</link>
      <description>Until recently, the elmcity calendar aggregator was running as a single instance of an Azure worker role. The idea all along, of course, was to exploit the system&amp;#8217;s ability to farm out the work of aggregation to many workers. Although the sixteen cities currently being aggregated don&amp;#8217;t yet require the service to scale beyond a single instance, I&amp;#8217;d been meaning to lay the foundation for that. This week I finally did. Will there ever be hundreds or thousands of participating cities and towns? Maybe that&amp;#8217;ll happen, maybe it won&amp;#8217;t, but the gating factor will not be my ability to babysit servers. That&amp;#8217;s a remarkable change from just a few years ago. Over the weekend I read Scott Rosenberg&amp;#8217;s new history of blogging, Say Everything. Here&amp;#8217;s a poignant moment from 2001: Blogger still lived a touch-and-go existence. Its expenses had dropped from a $50,000-a-month burn rate to a few thousand in rent and technical costs for bandwidth and such; sti...</description>
      <itunes:subtitle>Until recently, the elmcity calendar aggregator was running as a single instance of an Azure worker role. The idea all along, of course, was to exploit the system&amp;#8217;s ability to farm out the work of aggregation to many workers. Although the sixteen cities currently being aggregated don&amp;#8217;t yet require the service to scale beyond a single instance, I&amp;#8217;d been meaning to lay the foundation for that. This week I finally did. Will there ever be hundreds or thousands of participating cities and towns? Maybe that&amp;#8217;ll happen, maybe it won&amp;#8217;t, but the gating factor will not be my ability to babysit servers. That&amp;#8217;s a remarkable change from just a few years ago. Over the weekend I read Scott Rosenberg&amp;#8217;s new history of blogging, Say Everything. Here&amp;#8217;s a poignant moment from 2001: Blogger still lived a touch-and-go existence. Its expenses had dropped from a $50,000-a-month burn rate to a few thousand in rent and technical costs for bandwidth and such; still, even that modest budget wasn&amp;#8217;t easy to meet. Eventually [Evan] Williams had to shut down the office entirely and move the servers into his apartment. He remembers this period as an emotional rollercoaster. &amp;#8220;I don&amp;#8217;t know how I&amp;#8217;m going to pay the rent, and I can&amp;#8217;t figure that out because the server&amp;#8217;s not running, and I have to stay up all night, trying to figure out Linux, and being hacked, and then fix that.&amp;#8221; I&amp;#8217;ve been one of those guys who babysits the server under the desk, and I&amp;#8217;m glad I won&amp;#8217;t ever have to go back there again. What I will have to do, instead, is learn how to take advantage of the cloud resources now becoming available. But I&amp;#8217;m finding that to be an enjoyable challenge. In the case of the calendar aggregator, which needs to map many worker roles to many cities, I&amp;#8217;m using a blackboard approach. Here&amp;#8217;s a snapshot of it, from an aggregator run using only a single worker instance: id: westlafcals start: 7/14/2009 12:12:05 PM stop: 7/14/2009 12:14:46 PM running: False id: networksierra start: 7/14/2009 12:14:48 PM stop: 7/14/2009 12:15:05 PM running: False id: localist start: 7/14/2009 12:15:06 PM stop: 7/14/2009 5:37:03 AM running: True id: aroundfred start: 7/14/2009 5:37:05 AM stop: 7/14/2009 5:39:20 AM running: False The moving finger wrote westlafcals (West Lafayette) and networksierra (Sonora), it&amp;#8217;s now writing localist (Baltimore), and will next write aroundfred (Fredericksburg). Here&amp;#8217;s a snapshot from another run using two worker instances: id: westlafcals start: 7/14/2009 10:12:05 PM stop: 7/14/2009 4:37:03 AM running: True id: networksierra start: 7/14/2009 10:12:10 PM stop: 7/14/2009 10:13:05 PM running: False id: localist start: 7/14/2009 10:13:06 PM stop: 7/14/2009 4:41:12 AM running: True id: aroundfred start: 7/14/2009 4:41:05 AM stop: 7/14/2009 4:42:20 AM running: False Now there are two moving fingers. One&amp;#8217;s writing westlafcals, one has written networksierra, one&amp;#8217;s writing localist, and one or the other will soon write aroundfred. The total elapsed time will be very close to half what it was in the single-instance case. I&amp;#8217;d love to crank up the instance count and see an aggregation run rip through all the cities in no time flat. But the Azure beta caps the instance count at two. The blackboard is an Azure table with one record for each city. Records are flexible bags of name/value pairs. If you make a REST call to the table service to query for one of those records, the Atom payload that comes back looks like this: &amp;lt;m:properties&amp;gt; &amp;lt;d:PartitionKey&amp;gt;blackboard&amp;lt;/d:PartitionKey&amp;gt; &amp;lt;d:RowKey&amp;gt;aroundfred&amp;lt;/d:RowKey&amp;gt; &amp;lt;d:start&amp;gt;7/14/2009 4:41:05 AM&amp;lt;/d:start&amp;gt; &amp;lt;d:stop&amp;gt;7/14/2009 4:42:20 AM&amp;lt;/d:stop&amp;gt; &amp;lt;d:running&amp;gt;False&amp;lt;/d:stop&amp;gt; &amp;lt;/m:properties&amp;gt; At the start of a cycle, each worker wakes up, iterates through all the cities, aggregates those not claimed by other workers, and then sleeps until the next cycle. To claim a city, a worker tries to create a record in a parallel Azure table, using the PartitionKey locks instead of blackboard. If the worker succeeds in doing that, it considers the city locked for its own use, it aggregates the city&amp;#8217;s calendars, and then it deletes the lock record. If the worker fails to create that record, it considers the city locked by another worker and moves on. This cycle is currently one hour. But in order to respect the various services it pulls from, the service defines the interval between aggregation runs to be 8 hours. So when a worker claims a city, it first checks to see if the last aggregation started more than 8 hours ago. If not, the worker skips that city. Locks can be abandoned. That could happen if a worker hangs or crashes, or when I redeploy a new version of the service. So the worker also checks to see if a lock has been hanging around longer than the aggregation interval. If so, it overrides the lock and aggregates that city. I&amp;#8217;m sure this scheme isn&amp;#8217;t bulletproof, but I reckon it doesn&amp;#8217;t need to be. If two workers should happen to wind up aggregating the same city at about the same time, it&amp;#8217;s no big deal. The last writer wins, a little extra work gets done. Anyway, I&amp;#8217;ll be watching the blackboard over the next few days. There&amp;#8217;s undoubtedly more tinkering to do. And it&amp;#8217;s a lot more fun than herding servers.</itunes:subtitle>
      <itunes:summary>Until recently, the elmcity calendar aggregator was running as a single instance of an Azure worker role. The idea all along, of course, was to exploit the system&amp;#8217;s ability to farm out the work of aggregation to many workers. Although the sixteen cities currently being aggregated don&amp;#8217;t yet require the service to scale beyond a single instance, I&amp;#8217;d been meaning to lay the foundation for that. This week I finally did. Will there ever be hundreds or thousands of participating cities and towns? Maybe that&amp;#8217;ll happen, maybe it won&amp;#8217;t, but the gating factor will not be my ability to babysit servers. That&amp;#8217;s a remarkable change from just a few years ago. Over the weekend I read Scott Rosenberg&amp;#8217;s new history of blogging, Say Everything. Here&amp;#8217;s a poignant moment from 2001: Blogger still lived a touch-and-go existence. Its expenses had dropped from a $50,000-a-month burn rate to a few thousand in rent and technical costs for bandwidth and such; still, even that modest budget wasn&amp;#8217;t easy to meet. Eventually [Evan] Williams had to shut down the office entirely and move the servers into his apartment. He remembers this period as an emotional rollercoaster. &amp;#8220;I don&amp;#8217;t know how I&amp;#8217;m going to pay the rent, and I can&amp;#8217;t figure that out because the server&amp;#8217;s not running, and I have to stay up all night, trying to figure out Linux, and being hacked, and then fix that.&amp;#8221; I&amp;#8217;ve been one of those guys who babysits the server under the desk, and I&amp;#8217;m glad I won&amp;#8217;t ever have to go back there again. What I will have to do, instead, is learn how to take advantage of the cloud resources now becoming available. But I&amp;#8217;m finding that to be an enjoyable challenge. In the case of the calendar aggregator, which needs to map many worker roles to many cities, I&amp;#8217;m using a blackboard approach. Here&amp;#8217;s a snapshot of it, from an aggregator run using only a single worker instance: id: westlafcals start: 7/14/2009 12:12:05 PM stop: 7/14/2009 12:14:46 PM running: False id: networksierra start: 7/14/2009 12:14:48 PM stop: 7/14/2009 12:15:05 PM running: False id: localist start: 7/14/2009 12:15:06 PM stop: 7/14/2009 5:37:03 AM running: True id: aroundfred start: 7/14/2009 5:37:05 AM stop: 7/14/2009 5:39:20 AM running: False The moving finger wrote westlafcals (West Lafayette) and networksierra (Sonora), it&amp;#8217;s now writing localist (Baltimore), and will next write aroundfred (Fredericksburg). Here&amp;#8217;s a snapshot from another run using two worker instances: id: westlafcals start: 7/14/2009 10:12:05 PM stop: 7/14/2009 4:37:03 AM running: True id: networksierra start: 7/14/2009 10:12:10 PM stop: 7/14/2009 10:13:05 PM running: False id: localist start: 7/14/2009 10:13:06 PM stop: 7/14/2009 4:41:12 AM running: True id: aroundfred start: 7/14/2009 4:41:05 AM stop: 7/14/2009 4:42:20 AM running: False Now there are two moving fingers. One&amp;#8217;s writing westlafcals, one has written networksierra, one&amp;#8217;s writing localist, and one or the other will soon write aroundfred. The total elapsed time will be very close to half what it was in the single-instance case. I&amp;#8217;d love to crank up the instance count and see an aggregation run rip through all the cities in no time flat. But the Azure beta caps the instance count at two. The blackboard is an Azure table with one record for each city. Records are flexible bags of name/value pairs. If you make a REST call to the table service to query for one of those records, the Atom payload that comes back looks like this: &amp;lt;m:properties&amp;gt; &amp;lt;d:PartitionKey&amp;gt;blackboard&amp;lt;/d:PartitionKey&amp;gt; &amp;lt;d:RowKey&amp;gt;aroundfred&amp;lt;/d:RowKey&amp;gt; &amp;lt;d:start&amp;gt;7/14/2009 4:41:05 AM&amp;lt;/d:start&amp;gt; &amp;lt;d:stop&amp;gt;7/14/2009 4:42:20 AM&amp;lt;/d:stop&amp;gt; &amp;lt;d:running&amp;gt;False&amp;lt;/d:stop&amp;gt; &amp;lt;/m:properties&amp;gt; At the start of a cycle, each worker wakes up, iterates through all the cities, aggregates those not claimed by other workers, and then sleeps until the next cycle. To claim a city, a worker tries to create a record in a parallel Azure table, using the PartitionKey locks instead of blackboard. If the worker succeeds in doing that, it considers the city locked for its own use, it aggregates the city&amp;#8217;s calendars, and then it deletes the lock record. If the worker fails to create that record, it considers the city locked by another worker and moves on. This cycle is currently one hour. But in order to respect the various services it pulls from, the service defines the interval between aggregation runs to be 8 hours. So when a worker claims a city, it first checks to see if the last aggregation started more than 8 hours ago. If not, the worker skips that city. Locks can be abandoned. That could happen if a worker hangs or crashes, or when I redeploy a new version of the service. So the worker also checks to see if a lock has been hanging around longer than the aggregation interval. If so, it overrides the lock and aggregates that city. I&amp;#8217;m sure this scheme isn&amp;#8217;t bulletproof, but I reckon it doesn&amp;#8217;t need to be. If two workers should happen to wind up aggregating the same city at about the same time, it&amp;#8217;s no big deal. The last writer wins, a little extra work gets done. Anyway, I&amp;#8217;ll be watching the blackboard over the next few days. There&amp;#8217;s undoubtedly more tinkering to do. And it&amp;#8217;s a lot more fun than herding servers.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-14,24801473</guid>
      <pubDate>Tue, 14 Jul 2009 13:11:50 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>The civic dashboard</title>
      <link>http://odeo.com/episodes/24793093-The-civic-dashboard</link>
      <description>On Friday my local paper ran a story entitled Keene crime rates steady over years. Because that link will go dark soon, I&amp;#8217;m going to assert fair use for the part of the story that cites statistics: Strings of vehicle break-ins and vandalism and the occasional vicious beating or stabbing may lead some to believe that Keene&#8217;s streets are getting meaner, but crime statistics show little change over the last six years. Even in light of rough economic times, which typically parallel a spike in shoplifting &#8212; people begin stealing groceries or other necessities they can no longer afford &#8212; the Elm City&#8217;s property crime rate remains stable. The city&#8217;s social programs, such as The Community Kitchen, which provides food to area residents in need, play a significant role in curbing crime, Keene police Lt. Jay U. Duguay said. &#8220;We&#8217;re behind the nation when it comes to economic issues. People are still losing their homes and jobs, but overall we haven&#8217;t felt the effects of it yet,&#8221; he said. ...</description>
      <itunes:subtitle>On Friday my local paper ran a story entitled Keene crime rates steady over years. Because that link will go dark soon, I&amp;#8217;m going to assert fair use for the part of the story that cites statistics: Strings of vehicle break-ins and vandalism and the occasional vicious beating or stabbing may lead some to believe that Keene&#8217;s streets are getting meaner, but crime statistics show little change over the last six years. Even in light of rough economic times, which typically parallel a spike in shoplifting &#8212; people begin stealing groceries or other necessities they can no longer afford &#8212; the Elm City&#8217;s property crime rate remains stable. The city&#8217;s social programs, such as The Community Kitchen, which provides food to area residents in need, play a significant role in curbing crime, Keene police Lt. Jay U. Duguay said. &#8220;We&#8217;re behind the nation when it comes to economic issues. People are still losing their homes and jobs, but overall we haven&#8217;t felt the effects of it yet,&#8221; he said. &#8220;Right now it&#8217;s wait-and-see.&#8221; During the last six years, Keene police have received an average of 490 reports dealing with larceny or theft. Last year they took 667 reports of larceny or theft, the highest number of those types of crimes since 2002, which saw 604 reports. From the beginning of this year to the end of April, there were 202 reports of larceny and theft, slightly higher than the 147 during the same period last year, and 33 burglaries, which is on par with previous years. &#8220;There&#8217;s going to be periods with a little influx, but for the most part it&#8217;s steady,&#8221; Duguay said. &#8220;I was actually kind of surprised at how consistent the numbers were.&#8221; In 2004 and 2005, property crime rates dipped dramatically. While 2003 saw 557 larcenies and thefts, that number hit 272 the following year and then slightly increased to 286 the next year before rising to 455 in 2006. &#8220;We didn&#8217;t change our patrol procedures during those times (2004 and 2005) and we weren&#8217;t up to full staff. So I don&#8217;t know why those years are lower,&#8221; Duguay said. &#8220;I think the more consistent number is the high number, but thank goodness for the lows.&#8221; Violent crime reports in Keene have also remained steady over the last several years, with an average of 366 assaults annually. Between 20 and 30 sex assaults are reported in the city each year, though only a small fraction of those cases result in arrests because the others lack sufficient evidence, Duguay said. Statistics only tell part of the story, though. For the crime victims, the numbers hold little meaning. The story concludes with anecdotes from townsfolk who either do, or don&amp;#8217;t, believe that tough economic times are making Keene&amp;#8217;s streets meaner. I quote at length from it here because I think it captures a moment in time. The story seems to be data-driven, but not in the way that many of us now realize such stories can be. The reporter got some numbers from the police department, and the story quotes a lieutenant&amp;#8217;s interpretation of those numbers, but there&amp;#8217;s nothing available for an interested citizen to verify or falsify. And there&amp;#8217;s no reference to an alternative source &amp;#8212; from the US Bureau of Justice &amp;#8212; that could confirm, challenge, or otherwise contextualize the numbers. I hope that my response, below, also marks a moment in time &amp;#8212; one in which people didn&amp;#8217;t demand, governments didn&amp;#8217;t provide, journalists didn&amp;#8217;t exploit, and all these groups didn&amp;#8217;t collaboratively engage with more and better evidence than informs most civic dialogue today. From time to time, communities ask: Are we having a crime wave? A couple of summers ago it seemed that way. The Sentinel invited TalkBalk comments, and one person wrote: &amp;#8220;Keene has gone downhill. Once a peaceful, quaint city that was safe, it is no more.&amp;#8221; We shouldn&amp;#8217;t have to just speculate about these trends though. We should be able to look at the data and draw reasonable conclusions. Increasingly, we can. In 2007 I looked, and the first source I found was the data reported by the Keene police department (and every other police department around the country) to the US Bureau of Justice. I noticed a couple of things. First, the numbers showed no uptick in violent crime. But since they stopped in 2005, they didn&amp;#8217;t address concern about events in the then-current 2006-2007 period. Second, because the numbers went back to 1985, they revealed a remarkable anomaly. There was a huge spike in violent crime &amp;#8212; assaults and rapes &amp;#8212; from 1990 to 1994. You can see the trend plainly in the charts and data I&amp;#8217;ve posted at http://jonudell.net/crime/keene-crime.html. What happened then? How should this historical context influence our perception of current trends? I&amp;#8217;d love to see the Sentinel ask, and try to answer, these questions. Since the Bureau of Justice data wasn&amp;#8217;t current enough to address the 2006-2007 concerns about crime, I asked the police department to provide me with more recent data. In the end, after multiple requests and some nudging by an attorney, they complied. The snapshot I received, with numbers through July 2007, showed no evidence of a recent uptick in either violent crime or property crime. That was reassuring. It was also enlightening to compare the raw data in the police spreadsheet to the numbers reported to the Bureau of Justice. They don&amp;#8217;t exactly line up. This isn&amp;#8217;t nefarious, it&amp;#8217;s just what happens when local systems try to mesh with national systems. There is a lot of local variation in the classification of different types of crimes, and room for interpretation when you bundle them into larger categories. Fast forward to summer 2009. The economy has tanked, and people are again wondering whether we&amp;#8217;re having a crime wave. The Sentinel gathered some data, talked to the police, and concluded &amp;#8212; I suspect correctly &amp;#8212; that as before, the perception of a crime wave is not the reality. For the reasons I&amp;#8217;ve explained, the police department numbers reported in the Sentinel don&amp;#8217;t quite line up with those reported to the Bureau of Justice. Consider larceny-theft, for example: 2003 2004 2005 2006 Sentinel 557 272 286 455 Justice 534 245 235 622 But I do wonder about this: &amp;#8220;Violent crime reports in Keene have also remained steady over the last several years, with an average of 366 assaults annually.&amp;#8221; I hope that&amp;#8217;s an error. According to the Bureau of Justice there were at most about 100 violent crimes per year, back in the dark ages of 1990-1994, and we&amp;#8217;ve averaged between 40 and 60 per year from then until 2007. In any case, here&amp;#8217;s the larger point. Cities around the country have begun to realize that the operational data of city government can be made available to everyone &amp;#8212; citizens as well as journalists &amp;#8212; so that we can all monitor the health of our cities in a collaborative way. Crime statistics are one popular category of data, others include restaurant inspections, infrastructure repairs, and licensing. Nowadays it costs about $100/month to augment a police department&amp;#8217;s information system with software that reports current crime statistics online, and also displays the locations of crimes on a map. In New Hampshire, one such system (crimereports.com) has been installed in Exeter, Hampton, Laconia, and Rochester. I&amp;#8217;d love to see the Keene police department join that club. A civic dashboard is part of what I proposed during the Community Visioning Process. But there&amp;#8217;s no need to wait until 2028. Cities around the country are creating their dashboards now, and we can too.</itunes:subtitle>
      <itunes:summary>On Friday my local paper ran a story entitled Keene crime rates steady over years. Because that link will go dark soon, I&amp;#8217;m going to assert fair use for the part of the story that cites statistics: Strings of vehicle break-ins and vandalism and the occasional vicious beating or stabbing may lead some to believe that Keene&#8217;s streets are getting meaner, but crime statistics show little change over the last six years. Even in light of rough economic times, which typically parallel a spike in shoplifting &#8212; people begin stealing groceries or other necessities they can no longer afford &#8212; the Elm City&#8217;s property crime rate remains stable. The city&#8217;s social programs, such as The Community Kitchen, which provides food to area residents in need, play a significant role in curbing crime, Keene police Lt. Jay U. Duguay said. &#8220;We&#8217;re behind the nation when it comes to economic issues. People are still losing their homes and jobs, but overall we haven&#8217;t felt the effects of it yet,&#8221; he said. &#8220;Right now it&#8217;s wait-and-see.&#8221; During the last six years, Keene police have received an average of 490 reports dealing with larceny or theft. Last year they took 667 reports of larceny or theft, the highest number of those types of crimes since 2002, which saw 604 reports. From the beginning of this year to the end of April, there were 202 reports of larceny and theft, slightly higher than the 147 during the same period last year, and 33 burglaries, which is on par with previous years. &#8220;There&#8217;s going to be periods with a little influx, but for the most part it&#8217;s steady,&#8221; Duguay said. &#8220;I was actually kind of surprised at how consistent the numbers were.&#8221; In 2004 and 2005, property crime rates dipped dramatically. While 2003 saw 557 larcenies and thefts, that number hit 272 the following year and then slightly increased to 286 the next year before rising to 455 in 2006. &#8220;We didn&#8217;t change our patrol procedures during those times (2004 and 2005) and we weren&#8217;t up to full staff. So I don&#8217;t know why those years are lower,&#8221; Duguay said. &#8220;I think the more consistent number is the high number, but thank goodness for the lows.&#8221; Violent crime reports in Keene have also remained steady over the last several years, with an average of 366 assaults annually. Between 20 and 30 sex assaults are reported in the city each year, though only a small fraction of those cases result in arrests because the others lack sufficient evidence, Duguay said. Statistics only tell part of the story, though. For the crime victims, the numbers hold little meaning. The story concludes with anecdotes from townsfolk who either do, or don&amp;#8217;t, believe that tough economic times are making Keene&amp;#8217;s streets meaner. I quote at length from it here because I think it captures a moment in time. The story seems to be data-driven, but not in the way that many of us now realize such stories can be. The reporter got some numbers from the police department, and the story quotes a lieutenant&amp;#8217;s interpretation of those numbers, but there&amp;#8217;s nothing available for an interested citizen to verify or falsify. And there&amp;#8217;s no reference to an alternative source &amp;#8212; from the US Bureau of Justice &amp;#8212; that could confirm, challenge, or otherwise contextualize the numbers. I hope that my response, below, also marks a moment in time &amp;#8212; one in which people didn&amp;#8217;t demand, governments didn&amp;#8217;t provide, journalists didn&amp;#8217;t exploit, and all these groups didn&amp;#8217;t collaboratively engage with more and better evidence than informs most civic dialogue today. From time to time, communities ask: Are we having a crime wave? A couple of summers ago it seemed that way. The Sentinel invited TalkBalk comments, and one person wrote: &amp;#8220;Keene has gone downhill. Once a peaceful, quaint city that was safe, it is no more.&amp;#8221; We shouldn&amp;#8217;t have to just speculate about these trends though. We should be able to look at the data and draw reasonable conclusions. Increasingly, we can. In 2007 I looked, and the first source I found was the data reported by the Keene police department (and every other police department around the country) to the US Bureau of Justice. I noticed a couple of things. First, the numbers showed no uptick in violent crime. But since they stopped in 2005, they didn&amp;#8217;t address concern about events in the then-current 2006-2007 period. Second, because the numbers went back to 1985, they revealed a remarkable anomaly. There was a huge spike in violent crime &amp;#8212; assaults and rapes &amp;#8212; from 1990 to 1994. You can see the trend plainly in the charts and data I&amp;#8217;ve posted at http://jonudell.net/crime/keene-crime.html. What happened then? How should this historical context influence our perception of current trends? I&amp;#8217;d love to see the Sentinel ask, and try to answer, these questions. Since the Bureau of Justice data wasn&amp;#8217;t current enough to address the 2006-2007 concerns about crime, I asked the police department to provide me with more recent data. In the end, after multiple requests and some nudging by an attorney, they complied. The snapshot I received, with numbers through July 2007, showed no evidence of a recent uptick in either violent crime or property crime. That was reassuring. It was also enlightening to compare the raw data in the police spreadsheet to the numbers reported to the Bureau of Justice. They don&amp;#8217;t exactly line up. This isn&amp;#8217;t nefarious, it&amp;#8217;s just what happens when local systems try to mesh with national systems. There is a lot of local variation in the classification of different types of crimes, and room for interpretation when you bundle them into larger categories. Fast forward to summer 2009. The economy has tanked, and people are again wondering whether we&amp;#8217;re having a crime wave. The Sentinel gathered some data, talked to the police, and concluded &amp;#8212; I suspect correctly &amp;#8212; that as before, the perception of a crime wave is not the reality. For the reasons I&amp;#8217;ve explained, the police department numbers reported in the Sentinel don&amp;#8217;t quite line up with those reported to the Bureau of Justice. Consider larceny-theft, for example: 2003 2004 2005 2006 Sentinel 557 272 286 455 Justice 534 245 235 622 But I do wonder about this: &amp;#8220;Violent crime reports in Keene have also remained steady over the last several years, with an average of 366 assaults annually.&amp;#8221; I hope that&amp;#8217;s an error. According to the Bureau of Justice there were at most about 100 violent crimes per year, back in the dark ages of 1990-1994, and we&amp;#8217;ve averaged between 40 and 60 per year from then until 2007. In any case, here&amp;#8217;s the larger point. Cities around the country have begun to realize that the operational data of city government can be made available to everyone &amp;#8212; citizens as well as journalists &amp;#8212; so that we can all monitor the health of our cities in a collaborative way. Crime statistics are one popular category of data, others include restaurant inspections, infrastructure repairs, and licensing. Nowadays it costs about $100/month to augment a police department&amp;#8217;s information system with software that reports current crime statistics online, and also displays the locations of crimes on a map. In New Hampshire, one such system (crimereports.com) has been installed in Exeter, Hampton, Laconia, and Rochester. I&amp;#8217;d love to see the Keene police department join that club. A civic dashboard is part of what I proposed during the Community Visioning Process. But there&amp;#8217;s no need to wait until 2028. Cities around the country are creating their dashboards now, and we can too.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-12,24793093</guid>
      <pubDate>Sun, 12 Jul 2009 16:34:53 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Understanding Wikipedia notability</title>
      <link>http://odeo.com/episodes/24773599-Understanding-Wikipedia-notability</link>
      <description>Some fellow residents of my town have recently noticed, and pointed out to me, that I&amp;#8217;m listed in Wikipedia as a notable inhabitant of Keene, NH. They&amp;#8217;re more impressed than they should be. All forms of notability are subject to bias, but Internet notability is subject to a different kind of bias than most people realize. For example, friends and family used to be impressed by the fact that I was the top result in Google for my first name &amp;#8212; and then second to Jon Stewart for a long while, until I had to reboot my InfoWorld archive. Why? Just because I&amp;#8217;ve projected a large surface area of searchable documents whose titles include the trigram jon. An example of a far more notable person than me is Glenn Fine, who was in my grade in junior high school and is now Inspector General for the Department of Justice. You won&amp;#8217;t find him anywhere near the top of a search for his first name because Inspectors General don&amp;#8217;t (yet) project a large surface area of...</description>
      <itunes:subtitle>Some fellow residents of my town have recently noticed, and pointed out to me, that I&amp;#8217;m listed in Wikipedia as a notable inhabitant of Keene, NH. They&amp;#8217;re more impressed than they should be. All forms of notability are subject to bias, but Internet notability is subject to a different kind of bias than most people realize. For example, friends and family used to be impressed by the fact that I was the top result in Google for my first name &amp;#8212; and then second to Jon Stewart for a long while, until I had to reboot my InfoWorld archive. Why? Just because I&amp;#8217;ve projected a large surface area of searchable documents whose titles include the trigram jon. An example of a far more notable person than me is Glenn Fine, who was in my grade in junior high school and is now Inspector General for the Department of Justice. You won&amp;#8217;t find him anywhere near the top of a search for his first name because Inspectors General don&amp;#8217;t (yet) project a large surface area of documents onto the web. To place my newfound Wikipedia notability into a similar context, I wanted to show people how these lists of notable inhabitants are made. I figured the person who made the change is somebody who knows of my work, because I&amp;#8217;ve written about it so much online, and who is inclined to edit Wikipedia, which correlates with an interest in my work. I wanted to illustrate exactly who, when, and how, so I went to Wikipedia with the confident expectation that it would be easy to answer those questions. Surprisingly, it wasn&amp;#8217;t. I guess I haven&amp;#8217;t really tried searching revision histories in Wikipedia before, but in this case and a few others I&amp;#8217;ve tried lately, it seems quite difficult to pinpoint the author of a change. For example, on Twitter I asked: Wikipedia: &amp;#8220;The term &amp;#8216;Web 2.0&amp;#8242; was coined by Darcy DiNucci in 1999.&amp;#8221; Added when, by whom? WikiBlame seems an ineffective way to find out. @bazzargh replied: Robert Gehl. http://bit.ly/46r1a Thanks. By the way, how&amp;#8217;d you do that? switch to 500 view in history, then rough bisection from oldest. Couple of minutes; used this a lot to find long-lived vandalism. if older, I progressively back off 2..4..8&amp;#8230; pages through this. In this case though, there was a clueful log message! That&amp;#8217;s pretty much what I&amp;#8217;ve found myself doing when trying to track down changes, so I was glad to know it wasn&amp;#8217;t just me. But this highlights an important point about transparency: It&amp;#8217;s all relative. One of the reasons we think of government as opaque is that while records may be notionally public, it takes time, effort, and skill to visit city hall, dig through them, and find what you&amp;#8217;re looking for. I have always regarded Wikipedia as an extreme counter-example. And that&amp;#8217;s true. It is radically transparent. You can ultimately find out exactly how any statement in any article came to be. You may not be able to correlate the author&amp;#8217;s pseudonym to a real-world identity, but you can evaluate that author&amp;#8217;s corpus and reputation within the context of Wikipedia. And yet, the ability to do this spelunking requires more time, effort, and skill than most people possess. Although I&amp;#8217;m reluctant to deflate my status as a notable inhabitant of Keene, I wish it were easier for people who read that to also find out what it does &amp;#8212; and doesn&amp;#8217;t &amp;#8212; mean.</itunes:subtitle>
      <itunes:summary>Some fellow residents of my town have recently noticed, and pointed out to me, that I&amp;#8217;m listed in Wikipedia as a notable inhabitant of Keene, NH. They&amp;#8217;re more impressed than they should be. All forms of notability are subject to bias, but Internet notability is subject to a different kind of bias than most people realize. For example, friends and family used to be impressed by the fact that I was the top result in Google for my first name &amp;#8212; and then second to Jon Stewart for a long while, until I had to reboot my InfoWorld archive. Why? Just because I&amp;#8217;ve projected a large surface area of searchable documents whose titles include the trigram jon. An example of a far more notable person than me is Glenn Fine, who was in my grade in junior high school and is now Inspector General for the Department of Justice. You won&amp;#8217;t find him anywhere near the top of a search for his first name because Inspectors General don&amp;#8217;t (yet) project a large surface area of documents onto the web. To place my newfound Wikipedia notability into a similar context, I wanted to show people how these lists of notable inhabitants are made. I figured the person who made the change is somebody who knows of my work, because I&amp;#8217;ve written about it so much online, and who is inclined to edit Wikipedia, which correlates with an interest in my work. I wanted to illustrate exactly who, when, and how, so I went to Wikipedia with the confident expectation that it would be easy to answer those questions. Surprisingly, it wasn&amp;#8217;t. I guess I haven&amp;#8217;t really tried searching revision histories in Wikipedia before, but in this case and a few others I&amp;#8217;ve tried lately, it seems quite difficult to pinpoint the author of a change. For example, on Twitter I asked: Wikipedia: &amp;#8220;The term &amp;#8216;Web 2.0&amp;#8242; was coined by Darcy DiNucci in 1999.&amp;#8221; Added when, by whom? WikiBlame seems an ineffective way to find out. @bazzargh replied: Robert Gehl. http://bit.ly/46r1a Thanks. By the way, how&amp;#8217;d you do that? switch to 500 view in history, then rough bisection from oldest. Couple of minutes; used this a lot to find long-lived vandalism. if older, I progressively back off 2..4..8&amp;#8230; pages through this. In this case though, there was a clueful log message! That&amp;#8217;s pretty much what I&amp;#8217;ve found myself doing when trying to track down changes, so I was glad to know it wasn&amp;#8217;t just me. But this highlights an important point about transparency: It&amp;#8217;s all relative. One of the reasons we think of government as opaque is that while records may be notionally public, it takes time, effort, and skill to visit city hall, dig through them, and find what you&amp;#8217;re looking for. I have always regarded Wikipedia as an extreme counter-example. And that&amp;#8217;s true. It is radically transparent. You can ultimately find out exactly how any statement in any article came to be. You may not be able to correlate the author&amp;#8217;s pseudonym to a real-world identity, but you can evaluate that author&amp;#8217;s corpus and reputation within the context of Wikipedia. And yet, the ability to do this spelunking requires more time, effort, and skill than most people possess. Although I&amp;#8217;m reluctant to deflate my status as a notable inhabitant of Keene, I wish it were easier for people who read that to also find out what it does &amp;#8212; and doesn&amp;#8217;t &amp;#8212; mean.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-09,24773599</guid>
      <pubDate>Thu, 09 Jul 2009 05:31:59 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Strategic choices for calendar publishers</title>
      <link>http://odeo.com/episodes/24764784-Strategic-choices-for-calendar-publishers</link>
      <description>Although I haven&amp;#8217;t been able to confirm this officially yet, it looks like FuseCal, the HTML screen-scraping service that I&amp;#8217;ve been using (and recommending) as a way to convert calendar-like web pages into iCalendar feeds, has shut down. The web pages that FuseCal has been successfully processing, for several curators participating in the elmcity project, are listed below. They&amp;#8217;re a kind of existence proof, validating the notion that unstructured calendar info &amp;#8212; what people intuitively create &amp;#8212; can be mechanically transformed into structured info that syndicates reliably. I hope this service, or some future variant of it, will continue. It&amp;#8217;s a really useful way to help people grasp the concept of publishing calendar feeds. But in the long run, it&amp;#8217;s a set of training wheels. Ultimately we need to teach people why and how to produce such feeds more directly. All of the event information shown below could be managed in a more structured way usi...</description>
      <itunes:subtitle>Although I haven&amp;#8217;t been able to confirm this officially yet, it looks like FuseCal, the HTML screen-scraping service that I&amp;#8217;ve been using (and recommending) as a way to convert calendar-like web pages into iCalendar feeds, has shut down. The web pages that FuseCal has been successfully processing, for several curators participating in the elmcity project, are listed below. They&amp;#8217;re a kind of existence proof, validating the notion that unstructured calendar info &amp;#8212; what people intuitively create &amp;#8212; can be mechanically transformed into structured info that syndicates reliably. I hope this service, or some future variant of it, will continue. It&amp;#8217;s a really useful way to help people grasp the concept of publishing calendar feeds. But in the long run, it&amp;#8217;s a set of training wheels. Ultimately we need to teach people why and how to produce such feeds more directly. All of the event information shown below could be managed in a more structured way using calendar software that produces data feeds for syndication and web pages for browsing. More broadly, incidents like this prompt us to consider the nature of the services ecosystem we&amp;#8217;re all embedded in &amp;#8212; as users and, increasingly, as co-creators. In the software business, developers have long since learned to evaluate the benefits and risks of &amp;#8220;taking a dependency&amp;#8221; on a component, library, or service. Users didn&amp;#8217;t have to think too much about that. A software product that was discontinued would keep working perfectly well, maybe for years. But services can &amp;#8212; and sometimes do &amp;#8212; stop abruptly. Since the elmcity project is embedded in a services ecosystem, as both a provider and a consumer, how should a curator evaluate service dependencies and their associated risks and benefits? Here are some guidelines. Many eggs, many baskets An instance of the calendar aggregator gathers events from three main sources: Eventful (service #1), Upcoming (service #2), and a curated set of iCalendar feeds. A subset of those feeds may (until recently) have been mediated by FuseCal (service #3). So there were three main service dependencies here, and that&amp;#8217;s one form of diversification. But the iCalendar feeds represent another, and more powerful, form of diversification. One may be served up by a Drupal system, one may be an ICS file posted from Outlook 2007, one may be an instance of Google Calendar. Each depends on its own supporting services, but the ecosystem is very diverse. Data and service portability The elmcity project isn&amp;#8217;t a database of events, but rather an aggregator of feeds of events. What matters in this case is portability of metadata describing the feeds, as well as data describing events. The system depends on Delicious for the management of the metadata. But all this metadata is replicated to Azure for safekeeping. Since the elmcity project does run on Azure, there&amp;#8217;s clearly a strong dependence on that platform&amp;#8217;s compute and storage services. But I could run the code on another host &amp;#8212; even another cloud-based host, thanks to Amazon&amp;#8217;s EC2 for Windows. Likewise I could store blobs and tables in Amazon&amp;#8217;s S3 and SimpleDB. Strategic choices In this context, the use of FuseCal was a strategic choice. There isn&amp;#8217;t a readily available replacement, and that&amp;#8217;s a recipe for the sort of disruption we&amp;#8217;ve just experienced. But since the system is diversified, that disruption is contained. Was the benefit provided by this unique service worth the cost of disruption? Some curators may disagree, but I think the answer is yes. It was really helpful to be able to show people that informational web pages are implicitly data feeds, and to show what can happen when those data feeds are made explicit. Still, it was a crutch. Ultimately we want people to stand on their own two feet, and take direct control of the information they publish to the web. FuseCal had to guess which times went with which events, and sometimes guessed wrong. If you&amp;#8217;re publishing the event, you want to state these facts unambiguously. And using a variety of methods, as I&amp;#8217;ve shown, you can. Those methods are the real strategic choices. If you can publish your own data feed, simply and inexpensively, you should seize the opportunity to do so Calendar pages successfully parsed by FuseCal prescottaz Events | Prescott Arizona News and Events Sharlot Hall Museum Events Board of Adjustments Board of Supervisors Prescott Public Library fallschurchcals City of Falls Church, VA Government Calendar City of Falls Church, VA Government Calendar City of Falls Church, VA Government Calendar The Dirty Pints &amp;#8211; Traditional Irish Music &amp;#8211; CALENDAR City of Falls Church Concert Band Dogfish Head Ale House Calendar ottawacals LibraryThing &amp;#8211; Events within 25 miles of ottawa,on snoqualmie Meadowbrook Farm Classes and Events mashablecity RI Council for the Humanities elmcity The Greater Keene Men&amp;#8217;s Softball Association Cheshire Soccer Club Jatoba in Keene Garrin Benfield in Keene Harlow&amp;#8217;s Pub Kiwanis Events Kiwanis Meetings Monadnock Speedway Stonewall Farm Weathervane Music Hall, Brattleboro Mariposa Museum, Peterborough McCue&amp;#8217;s Keene Cal Ripken Baseball Lonesome Lake: Jeffrey James Murphy, Bjorn Delacruz, Gregory George Moore Keene State College Antioch Cheshire Medical Center Monadnock Earth Festival Keene Community Master Plan a2cal LibraryThing events for Ann Arbor whyhuntington Cabell County Public Library, Huntington, WV Huntington Symphony Orchestra of Huntington, West Virginia St Mary&amp;#8217;s Medical Center Cabell-Huntington Hospital Events Pullman Square Appalachian Film Festival Marshall University Department of Music Marshall Sports Create Huntington Big Sandy Superstore Arena Calendar Mountaineer Opry Arts Resources for the Tri State Paramount Arts Center (Ashland Ky) Calendar West Virginia Pumpkin Park Calendar/</itunes:subtitle>
      <itunes:summary>Although I haven&amp;#8217;t been able to confirm this officially yet, it looks like FuseCal, the HTML screen-scraping service that I&amp;#8217;ve been using (and recommending) as a way to convert calendar-like web pages into iCalendar feeds, has shut down. The web pages that FuseCal has been successfully processing, for several curators participating in the elmcity project, are listed below. They&amp;#8217;re a kind of existence proof, validating the notion that unstructured calendar info &amp;#8212; what people intuitively create &amp;#8212; can be mechanically transformed into structured info that syndicates reliably. I hope this service, or some future variant of it, will continue. It&amp;#8217;s a really useful way to help people grasp the concept of publishing calendar feeds. But in the long run, it&amp;#8217;s a set of training wheels. Ultimately we need to teach people why and how to produce such feeds more directly. All of the event information shown below could be managed in a more structured way using calendar software that produces data feeds for syndication and web pages for browsing. More broadly, incidents like this prompt us to consider the nature of the services ecosystem we&amp;#8217;re all embedded in &amp;#8212; as users and, increasingly, as co-creators. In the software business, developers have long since learned to evaluate the benefits and risks of &amp;#8220;taking a dependency&amp;#8221; on a component, library, or service. Users didn&amp;#8217;t have to think too much about that. A software product that was discontinued would keep working perfectly well, maybe for years. But services can &amp;#8212; and sometimes do &amp;#8212; stop abruptly. Since the elmcity project is embedded in a services ecosystem, as both a provider and a consumer, how should a curator evaluate service dependencies and their associated risks and benefits? Here are some guidelines. Many eggs, many baskets An instance of the calendar aggregator gathers events from three main sources: Eventful (service #1), Upcoming (service #2), and a curated set of iCalendar feeds. A subset of those feeds may (until recently) have been mediated by FuseCal (service #3). So there were three main service dependencies here, and that&amp;#8217;s one form of diversification. But the iCalendar feeds represent another, and more powerful, form of diversification. One may be served up by a Drupal system, one may be an ICS file posted from Outlook 2007, one may be an instance of Google Calendar. Each depends on its own supporting services, but the ecosystem is very diverse. Data and service portability The elmcity project isn&amp;#8217;t a database of events, but rather an aggregator of feeds of events. What matters in this case is portability of metadata describing the feeds, as well as data describing events. The system depends on Delicious for the management of the metadata. But all this metadata is replicated to Azure for safekeeping. Since the elmcity project does run on Azure, there&amp;#8217;s clearly a strong dependence on that platform&amp;#8217;s compute and storage services. But I could run the code on another host &amp;#8212; even another cloud-based host, thanks to Amazon&amp;#8217;s EC2 for Windows. Likewise I could store blobs and tables in Amazon&amp;#8217;s S3 and SimpleDB. Strategic choices In this context, the use of FuseCal was a strategic choice. There isn&amp;#8217;t a readily available replacement, and that&amp;#8217;s a recipe for the sort of disruption we&amp;#8217;ve just experienced. But since the system is diversified, that disruption is contained. Was the benefit provided by this unique service worth the cost of disruption? Some curators may disagree, but I think the answer is yes. It was really helpful to be able to show people that informational web pages are implicitly data feeds, and to show what can happen when those data feeds are made explicit. Still, it was a crutch. Ultimately we want people to stand on their own two feet, and take direct control of the information they publish to the web. FuseCal had to guess which times went with which events, and sometimes guessed wrong. If you&amp;#8217;re publishing the event, you want to state these facts unambiguously. And using a variety of methods, as I&amp;#8217;ve shown, you can. Those methods are the real strategic choices. If you can publish your own data feed, simply and inexpensively, you should seize the opportunity to do so Calendar pages successfully parsed by FuseCal prescottaz Events | Prescott Arizona News and Events Sharlot Hall Museum Events Board of Adjustments Board of Supervisors Prescott Public Library fallschurchcals City of Falls Church, VA Government Calendar City of Falls Church, VA Government Calendar City of Falls Church, VA Government Calendar The Dirty Pints &amp;#8211; Traditional Irish Music &amp;#8211; CALENDAR City of Falls Church Concert Band Dogfish Head Ale House Calendar ottawacals LibraryThing &amp;#8211; Events within 25 miles of ottawa,on snoqualmie Meadowbrook Farm Classes and Events mashablecity RI Council for the Humanities elmcity The Greater Keene Men&amp;#8217;s Softball Association Cheshire Soccer Club Jatoba in Keene Garrin Benfield in Keene Harlow&amp;#8217;s Pub Kiwanis Events Kiwanis Meetings Monadnock Speedway Stonewall Farm Weathervane Music Hall, Brattleboro Mariposa Museum, Peterborough McCue&amp;#8217;s Keene Cal Ripken Baseball Lonesome Lake: Jeffrey James Murphy, Bjorn Delacruz, Gregory George Moore Keene State College Antioch Cheshire Medical Center Monadnock Earth Festival Keene Community Master Plan a2cal LibraryThing events for Ann Arbor whyhuntington Cabell County Public Library, Huntington, WV Huntington Symphony Orchestra of Huntington, West Virginia St Mary&amp;#8217;s Medical Center Cabell-Huntington Hospital Events Pullman Square Appalachian Film Festival Marshall University Department of Music Marshall Sports Create Huntington Big Sandy Superstore Arena Calendar Mountaineer Opry Arts Resources for the Tri State Paramount Arts Center (Ashland Ky) Calendar West Virginia Pumpkin Park Calendar/</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-07,24764784</guid>
      <pubDate>Tue, 07 Jul 2009 07:14:52 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Influencing the production of public data</title>
      <link>http://odeo.com/episodes/24760549-Influencing-the-production-of-public-data</link>
      <description>In the latest installment of my Innovators podcast, which ran while I was away on vacation, I spoke with Steven Willmott of 3scale, one of several companies in the emerging business of third-party API management. As more organizations get into the game of providing APIs to their online data, there&amp;#8217;s a growing need for help in the design and management of those APIs. By way of demonstration, 3scale is providing an unofficial API to some of the datasets offered by the United Nations. The UN data at http://data.un.org, while browseable and downloadable, is not programmatically accessible. If you visit 3scale&amp;#8217;s demo at www.undata-api.org/ you can sign up for an access key, ask for available datasets &amp;#8212; mostly, so far, from the World Health Organization (see below) &amp;#8212; and then query them. The query capability is rather limited. For a given measure, like Births by caesarean section (percent), you can select subsets by country or by year, but you can&amp;#8217;t query or ...</description>
      <itunes:subtitle>In the latest installment of my Innovators podcast, which ran while I was away on vacation, I spoke with Steven Willmott of 3scale, one of several companies in the emerging business of third-party API management. As more organizations get into the game of providing APIs to their online data, there&amp;#8217;s a growing need for help in the design and management of those APIs. By way of demonstration, 3scale is providing an unofficial API to some of the datasets offered by the United Nations. The UN data at http://data.un.org, while browseable and downloadable, is not programmatically accessible. If you visit 3scale&amp;#8217;s demo at www.undata-api.org/ you can sign up for an access key, ask for available datasets &amp;#8212; mostly, so far, from the World Health Organization (see below) &amp;#8212; and then query them. The query capability is rather limited. For a given measure, like Births by caesarean section (percent), you can select subsets by country or by year, but you can&amp;#8217;t query or order by values. And you can&amp;#8217;t make correlations across tables in one query. It&amp;#8217;s just a demo, of course. If 3scale wanted to invest more effort, a more robust query system could be built. The fact that such a system can be built by an unofficial intermediary, rather than by the provider of the data, is quite interesting. As I watch this data publication meme spread, here&amp;#8217;s something that interests me even more. These efforts don&amp;#8217;t really reflect the Web 2.0 values of engagement and participation to the extent they could. We&amp;#8217;re now very focused on opening up flexible means of access to data. But the conversation is still framed in terms of a producer/consumer relationship that isn&amp;#8217;t itself much discussed. At the end of this entry you&amp;#8217;ll find a list of WHO datasets. Here&amp;#8217;s one: Community and traditional health workers density (per 10,000 population). What kinds of questions do we think we might try to answer by counting this category of worker? What kinds of questions can&amp;#8217;t we try to answer using the datasets WHO is collecting? How might we therefore want to try to influence the WHO&amp;#8217;s data-gathering efforts, and those of other public health organizations? &amp;#8220;Give us the data&amp;#8221; is an easy slogan to chant. And there&amp;#8217;s no doubt that much good will come from poking through what we are given. But we also need to have ideas about what we want the data for, and communicate those ideas to the providers who are gathering it on our behalf. Adolescent fertility rate Adult literacy rate (percent) Gross national income per capita (PPP international $) Net primary school enrolment ratio female (percent) Net primary school enrolment ratio male (percent) Population (in thousands) total Population annual growth rate (percent) Population in urban areas (percent) Population living below the poverty line (percent living on less than US$1 per day) Population median age (years) Population proportion over 60 (percent) Population proportion under 15 (percent) Registration coverage of births (percent) Registration coverage of deaths (percent) Total fertility rate (per woman) Antenatal care coverage &amp;#8211; at least four visits (percent) Antiretroviral therapy coverage among HIV-infected pregnant women for PMTCT (percent) Antiretroviral therapy coverage among people with advanced HIV infections (percent) Births attended by skilled health personnel (percent) Births by caesarean section (percent) Children aged 6-59 months who received vitamin A supplementation (percent) Children aged less than 5 years sleeping under insecticide-treated nets (percent) Children aged less than 5 years who received any antimalarial treatment for fever (percent) Children aged less than 5 years with ARI symptoms taken to facility (percent) Children aged less than 5 years with diarrhoea receiving ORT (percent) Contraceptive prevalence (percent) Neonates protected at birth against neonatal tetanus (PAB) (percent) One-year-olds immunized with MCV One-year-olds immunized with three doses of Hepatitis B (HepB3) (percent) One-year-olds immunized with three doses of Hib (Hib3) vaccine (percent) One-year-olds immunized with three doses of diphtheria tetanus toxoid and pertussis (DTP3) (percent) Tuberculosis detection rate under DOTS (percent) Tuberculosis treatment success under DOTS (percent) Women who have had PAP smear (percent) Women who have had mammography (percent) Community and traditional health workers density (per 10 000 population) Dentistry personnel density (per 10 000 population) Environment and public health workers density (per 10 000 population) External resources for health as percentage of total expenditure on health General government expenditure on health as percentage of total expenditure on health General government expenditure on health as percentage of total government expenditure Hospital beds (per 10 000 population) Laboratory health workers density (per 10 000 population) Number of community and traditional health workers Number of dentistry personnel Number of environment and public health workers Number of laboratory health workers Number of nursing and midwifery personnel Number of other health service providers Number of pharmaceutical personnel Nursing and midwifery personnel density (per 10 000 population) Other health service providers density (per 10 000 population) Out-of-pocket expenditure as percentage of private expenditure on health Per capita total expenditure on health (PPP int. $) Per capita total expenditure on health at average exchange rate (US$ Pharmaceutical personnel density (per 10 000 population) Physicians density (per 10 000 population) Private expenditure on health as percentage of total expenditure on health Private prepaid plans as percentage of private expenditure on health Ratio of health management and support workers to health service providers Ratio of nurses and midwives to physicians Social security expenditure on health as percentage of general government expenditure on health Total expenditure on health as percentage of gross domestic product</itunes:subtitle>
      <itunes:summary>In the latest installment of my Innovators podcast, which ran while I was away on vacation, I spoke with Steven Willmott of 3scale, one of several companies in the emerging business of third-party API management. As more organizations get into the game of providing APIs to their online data, there&amp;#8217;s a growing need for help in the design and management of those APIs. By way of demonstration, 3scale is providing an unofficial API to some of the datasets offered by the United Nations. The UN data at http://data.un.org, while browseable and downloadable, is not programmatically accessible. If you visit 3scale&amp;#8217;s demo at www.undata-api.org/ you can sign up for an access key, ask for available datasets &amp;#8212; mostly, so far, from the World Health Organization (see below) &amp;#8212; and then query them. The query capability is rather limited. For a given measure, like Births by caesarean section (percent), you can select subsets by country or by year, but you can&amp;#8217;t query or order by values. And you can&amp;#8217;t make correlations across tables in one query. It&amp;#8217;s just a demo, of course. If 3scale wanted to invest more effort, a more robust query system could be built. The fact that such a system can be built by an unofficial intermediary, rather than by the provider of the data, is quite interesting. As I watch this data publication meme spread, here&amp;#8217;s something that interests me even more. These efforts don&amp;#8217;t really reflect the Web 2.0 values of engagement and participation to the extent they could. We&amp;#8217;re now very focused on opening up flexible means of access to data. But the conversation is still framed in terms of a producer/consumer relationship that isn&amp;#8217;t itself much discussed. At the end of this entry you&amp;#8217;ll find a list of WHO datasets. Here&amp;#8217;s one: Community and traditional health workers density (per 10,000 population). What kinds of questions do we think we might try to answer by counting this category of worker? What kinds of questions can&amp;#8217;t we try to answer using the datasets WHO is collecting? How might we therefore want to try to influence the WHO&amp;#8217;s data-gathering efforts, and those of other public health organizations? &amp;#8220;Give us the data&amp;#8221; is an easy slogan to chant. And there&amp;#8217;s no doubt that much good will come from poking through what we are given. But we also need to have ideas about what we want the data for, and communicate those ideas to the providers who are gathering it on our behalf. Adolescent fertility rate Adult literacy rate (percent) Gross national income per capita (PPP international $) Net primary school enrolment ratio female (percent) Net primary school enrolment ratio male (percent) Population (in thousands) total Population annual growth rate (percent) Population in urban areas (percent) Population living below the poverty line (percent living on less than US$1 per day) Population median age (years) Population proportion over 60 (percent) Population proportion under 15 (percent) Registration coverage of births (percent) Registration coverage of deaths (percent) Total fertility rate (per woman) Antenatal care coverage &amp;#8211; at least four visits (percent) Antiretroviral therapy coverage among HIV-infected pregnant women for PMTCT (percent) Antiretroviral therapy coverage among people with advanced HIV infections (percent) Births attended by skilled health personnel (percent) Births by caesarean section (percent) Children aged 6-59 months who received vitamin A supplementation (percent) Children aged less than 5 years sleeping under insecticide-treated nets (percent) Children aged less than 5 years who received any antimalarial treatment for fever (percent) Children aged less than 5 years with ARI symptoms taken to facility (percent) Children aged less than 5 years with diarrhoea receiving ORT (percent) Contraceptive prevalence (percent) Neonates protected at birth against neonatal tetanus (PAB) (percent) One-year-olds immunized with MCV One-year-olds immunized with three doses of Hepatitis B (HepB3) (percent) One-year-olds immunized with three doses of Hib (Hib3) vaccine (percent) One-year-olds immunized with three doses of diphtheria tetanus toxoid and pertussis (DTP3) (percent) Tuberculosis detection rate under DOTS (percent) Tuberculosis treatment success under DOTS (percent) Women who have had PAP smear (percent) Women who have had mammography (percent) Community and traditional health workers density (per 10 000 population) Dentistry personnel density (per 10 000 population) Environment and public health workers density (per 10 000 population) External resources for health as percentage of total expenditure on health General government expenditure on health as percentage of total expenditure on health General government expenditure on health as percentage of total government expenditure Hospital beds (per 10 000 population) Laboratory health workers density (per 10 000 population) Number of community and traditional health workers Number of dentistry personnel Number of environment and public health workers Number of laboratory health workers Number of nursing and midwifery personnel Number of other health service providers Number of pharmaceutical personnel Nursing and midwifery personnel density (per 10 000 population) Other health service providers density (per 10 000 population) Out-of-pocket expenditure as percentage of private expenditure on health Per capita total expenditure on health (PPP int. $) Per capita total expenditure on health at average exchange rate (US$ Pharmaceutical personnel density (per 10 000 population) Physicians density (per 10 000 population) Private expenditure on health as percentage of total expenditure on health Private prepaid plans as percentage of private expenditure on health Ratio of health management and support workers to health service providers Ratio of nurses and midwives to physicians Social security expenditure on health as percentage of general government expenditure on health Total expenditure on health as percentage of gross domestic product</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-06,24760549</guid>
      <pubDate>Mon, 06 Jul 2009 07:21:26 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>New England still too wet. Escaping to sunny Old England.</title>
      <link>http://odeo.com/episodes/24745657-New-England-still-too-wet-Escaping-to-sunny-Old-England</link>
      <description>We&amp;#8217;re just back from a Caribbean vacation &amp;#8212; with a couple of interesting souvenirs in tow. Under normal circumstances I&amp;#8217;d feel a twinge of regret about turning around a day later and heading out again. But I&amp;#8217;m not really in the mood to build an ark, which after 40 days of rain is about to become the new summer sport here in New England. And while the wet isn&amp;#8217;t letting up yet here, the weather looks lovely in Old England. So it&amp;#8217;s actually a great time to head off to London for a Tuesday visit and talk at Nature Publishing, panels and a talk at the Activate conference on Wednesday, and another talk at the Guardian on Thursday. That one is open to the guests &amp;#8212; for the first time, I gather. The writeup also notes: Many people will then head down to the Rotunda bar for drinks on the canal waterfront after the talk at about 6. In all these venues I&amp;#8217;ll be expanding on the themes I&amp;#8217;ve written about here lately: collaborative curation, co...</description>
      <itunes:subtitle>We&amp;#8217;re just back from a Caribbean vacation &amp;#8212; with a couple of interesting souvenirs in tow. Under normal circumstances I&amp;#8217;d feel a twinge of regret about turning around a day later and heading out again. But I&amp;#8217;m not really in the mood to build an ark, which after 40 days of rain is about to become the new summer sport here in New England. And while the wet isn&amp;#8217;t letting up yet here, the weather looks lovely in Old England. So it&amp;#8217;s actually a great time to head off to London for a Tuesday visit and talk at Nature Publishing, panels and a talk at the Activate conference on Wednesday, and another talk at the Guardian on Thursday. That one is open to the guests &amp;#8212; for the first time, I gather. The writeup also notes: Many people will then head down to the Rotunda bar for drinks on the canal waterfront after the talk at about 6. In all these venues I&amp;#8217;ll be expanding on the themes I&amp;#8217;ve written about here lately: collaborative curation, computational thinking for everyone, community calendars as a motivating case study, and Azure as platform for doing stuff in the cloud. By the time I get home for July 4, it ought to be dry here. If not, I&amp;#8217;ll break out my cubit-calibrated tape measure and get to work on that ark.</itunes:subtitle>
      <itunes:summary>We&amp;#8217;re just back from a Caribbean vacation &amp;#8212; with a couple of interesting souvenirs in tow. Under normal circumstances I&amp;#8217;d feel a twinge of regret about turning around a day later and heading out again. But I&amp;#8217;m not really in the mood to build an ark, which after 40 days of rain is about to become the new summer sport here in New England. And while the wet isn&amp;#8217;t letting up yet here, the weather looks lovely in Old England. So it&amp;#8217;s actually a great time to head off to London for a Tuesday visit and talk at Nature Publishing, panels and a talk at the Activate conference on Wednesday, and another talk at the Guardian on Thursday. That one is open to the guests &amp;#8212; for the first time, I gather. The writeup also notes: Many people will then head down to the Rotunda bar for drinks on the canal waterfront after the talk at about 6. In all these venues I&amp;#8217;ll be expanding on the themes I&amp;#8217;ve written about here lately: collaborative curation, computational thinking for everyone, community calendars as a motivating case study, and Azure as platform for doing stuff in the cloud. By the time I get home for July 4, it ought to be dry here. If not, I&amp;#8217;ll break out my cubit-calibrated tape measure and get to work on that ark.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-29,24745657</guid>
      <pubDate>Mon, 29 Jun 2009 08:39:38 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>It&#8217;s the headings, stupid!!!</title>
      <link>http://odeo.com/episodes/24724882-It%E2%80%99s-the-headings-stupid</link>
      <description>My recent adventure in naming the times of day was so much fun that I lost track of the original purpose of the exercise, which was to improve accessibility for sight-impaired users. When I interpersed time-of-day labels into each day&amp;#8217;s event listing, I used HTML DIV tags. Wrong, wrong, wrong! Those labels are structural elements, and as my accessibility consultant Susan Gerhart gently reminded me, screen readers depend on HTML headings to find and announce them. The labels should have been second-level headings &amp;#8212; i.e., HTML H2 tags. It gets worse. When Susan prompted me to take another look at what I&amp;#8217;d done, I found that the date labels were inexplicably tagged as paragraphs (P) instead of the top-level headers (H1) that they logically are. Oh. Right. Of course. Duh. Fixed. Sorry. What was I thinking? How could somebody like me, who has preached about the attention-focusing power of heads, decks, and leads, screw up something so basic as this? Easily, as it turns ...</description>
      <itunes:subtitle>My recent adventure in naming the times of day was so much fun that I lost track of the original purpose of the exercise, which was to improve accessibility for sight-impaired users. When I interpersed time-of-day labels into each day&amp;#8217;s event listing, I used HTML DIV tags. Wrong, wrong, wrong! Those labels are structural elements, and as my accessibility consultant Susan Gerhart gently reminded me, screen readers depend on HTML headings to find and announce them. The labels should have been second-level headings &amp;#8212; i.e., HTML H2 tags. It gets worse. When Susan prompted me to take another look at what I&amp;#8217;d done, I found that the date labels were inexplicably tagged as paragraphs (P) instead of the top-level headers (H1) that they logically are. Oh. Right. Of course. Duh. Fixed. Sorry. What was I thinking? How could somebody like me, who has preached about the attention-focusing power of heads, decks, and leads, screw up something so basic as this? Easily, as it turns out, in the absence of feedback. If you yourself don&amp;#8217;t depend on a design feature, there is a natural tendency to forget why it matters to others. Coincidentally (or not) Susan recently wrote an essay, and published a companion audio recording, that will help me &amp;#8212; and I hope others &amp;#8212; not to forget again. Entitled Hear Me Stumble Around White House, Recovery, and Data GOV web sites, it&amp;#8217;s a blow-by-blow account of her efforts to navigate those sites with a screen reader. In this recording you can hear Susan and her screen reader trying to make sense of whitehouse.gov. If you&amp;#8217;ve never heard a screen reader in action, it&amp;#8217;s worth listening for that alone. You&amp;#8217;ll get a very clear sense of how these tools depend on the hierarchy of the page. Simultaneously you&amp;#8217;ll hear Susan narrate her intention &amp;#8212; to read an article about cybersecurity &amp;#8212; and her frustration. For example: I was thrown off by the slide show at the top of the page. Once I hit the cybersecurity story, the next time I traverse this section the story was about the Supreme Court nominee. Despite this randomness, the page does at least identify the top stories with H1 tags. And Signed Legislation is an H2. But none of the headlines under Signed Legislation are H3s, they&amp;#8217;re Ps. Over at recovery.gov and data.gov Susan finds none at all, and reacts to their omissions less gently she did to mine: It&amp;#8217;s the headings, stupid!!! Thanks. I will try not to forget that again. PS: In a follow-up to her blog essay, Susan links to detailed reports by accessibility pioneer Jim Thatcher on the issues he found with data.gov and recovery.gov.</itunes:subtitle>
      <itunes:summary>My recent adventure in naming the times of day was so much fun that I lost track of the original purpose of the exercise, which was to improve accessibility for sight-impaired users. When I interpersed time-of-day labels into each day&amp;#8217;s event listing, I used HTML DIV tags. Wrong, wrong, wrong! Those labels are structural elements, and as my accessibility consultant Susan Gerhart gently reminded me, screen readers depend on HTML headings to find and announce them. The labels should have been second-level headings &amp;#8212; i.e., HTML H2 tags. It gets worse. When Susan prompted me to take another look at what I&amp;#8217;d done, I found that the date labels were inexplicably tagged as paragraphs (P) instead of the top-level headers (H1) that they logically are. Oh. Right. Of course. Duh. Fixed. Sorry. What was I thinking? How could somebody like me, who has preached about the attention-focusing power of heads, decks, and leads, screw up something so basic as this? Easily, as it turns out, in the absence of feedback. If you yourself don&amp;#8217;t depend on a design feature, there is a natural tendency to forget why it matters to others. Coincidentally (or not) Susan recently wrote an essay, and published a companion audio recording, that will help me &amp;#8212; and I hope others &amp;#8212; not to forget again. Entitled Hear Me Stumble Around White House, Recovery, and Data GOV web sites, it&amp;#8217;s a blow-by-blow account of her efforts to navigate those sites with a screen reader. In this recording you can hear Susan and her screen reader trying to make sense of whitehouse.gov. If you&amp;#8217;ve never heard a screen reader in action, it&amp;#8217;s worth listening for that alone. You&amp;#8217;ll get a very clear sense of how these tools depend on the hierarchy of the page. Simultaneously you&amp;#8217;ll hear Susan narrate her intention &amp;#8212; to read an article about cybersecurity &amp;#8212; and her frustration. For example: I was thrown off by the slide show at the top of the page. Once I hit the cybersecurity story, the next time I traverse this section the story was about the Supreme Court nominee. Despite this randomness, the page does at least identify the top stories with H1 tags. And Signed Legislation is an H2. But none of the headlines under Signed Legislation are H3s, they&amp;#8217;re Ps. Over at recovery.gov and data.gov Susan finds none at all, and reacts to their omissions less gently she did to mine: It&amp;#8217;s the headings, stupid!!! Thanks. I will try not to forget that again. PS: In a follow-up to her blog essay, Susan links to detailed reports by accessibility pioneer Jim Thatcher on the issues he found with data.gov and recovery.gov.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-18,24724882</guid>
      <pubDate>Thu, 18 Jun 2009 06:37:07 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://apodder.org/stumbles/AYWC_USG_1_White_House.mp3"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Endangered languages and linguistic best practices</title>
      <link>http://odeo.com/episodes/24719547-Endangered-languages-and-linguistic-best-practices</link>
      <description>Daniel Everett&amp;#8217;s recent Long Now talk about endangered languages (writeup, mp3) includes this gem reported by Stewart Brand: Among other things, the wide variety of verb forms are used to account for the directness of evidence for a statement. Everett originally went to the Pirah&#227; in 1977 as a Christian missionary. They challenged him to provide evidence for the existence of Jesus, and lost interest when he couldn&amp;#8217;t. Eventually so did he. The Pirah&#227; made him an atheist. This is so interesting that it&amp;#8217;s worth unpacking for those who won&amp;#8217;t have time to listen. Among the sixteen suffixes for verbs, there are three that convey the source of evidence: I heard that Dan went fishing. I saw Dan go fishing. I deduce, from the available evidence, that Dan went fishing. These assertions might not be true. The Pirah&#227;, being human, do sometimes lie. But I love the idea of a culture in which evidence-based thinking is baked into the language. There are only a few hundred P...</description>
      <itunes:subtitle>Daniel Everett&amp;#8217;s recent Long Now talk about endangered languages (writeup, mp3) includes this gem reported by Stewart Brand: Among other things, the wide variety of verb forms are used to account for the directness of evidence for a statement. Everett originally went to the Pirah&#227; in 1977 as a Christian missionary. They challenged him to provide evidence for the existence of Jesus, and lost interest when he couldn&amp;#8217;t. Eventually so did he. The Pirah&#227; made him an atheist. This is so interesting that it&amp;#8217;s worth unpacking for those who won&amp;#8217;t have time to listen. Among the sixteen suffixes for verbs, there are three that convey the source of evidence: I heard that Dan went fishing. I saw Dan go fishing. I deduce, from the available evidence, that Dan went fishing. These assertions might not be true. The Pirah&#227;, being human, do sometimes lie. But I love the idea of a culture in which evidence-based thinking is baked into the language. There are only a few hundred Pirah&#227;, and their language is only one of thousands &amp;#8212; more than half unwritten &amp;#8212; that are endangered. The talk ends with plea to preserve and document those languages. It has never been easier to capture and disseminate recorded audio, or to collaboratively curate such material, so I hope these capabilities will be put to good use in the quest to preserve linguistic diversity. But no matter what, we&amp;#8217;re going to continue to lose languages. Maybe, though, if we can identify some of the ways of thinking encoded in those languages, we can carry them forward. Respect for the source of evidence is a great example. I could have simply told you about what Daniel Everett said, and what Stewart Brand wrote about what Daniel Everett said. But it was possible to form links to the audio and text, so I did. I wonder how many other best practices are encoded in those thousands of endangered languages. And I wonder if it might be possible to identify and catalog more of them.</itunes:subtitle>
      <itunes:summary>Daniel Everett&amp;#8217;s recent Long Now talk about endangered languages (writeup, mp3) includes this gem reported by Stewart Brand: Among other things, the wide variety of verb forms are used to account for the directness of evidence for a statement. Everett originally went to the Pirah&#227; in 1977 as a Christian missionary. They challenged him to provide evidence for the existence of Jesus, and lost interest when he couldn&amp;#8217;t. Eventually so did he. The Pirah&#227; made him an atheist. This is so interesting that it&amp;#8217;s worth unpacking for those who won&amp;#8217;t have time to listen. Among the sixteen suffixes for verbs, there are three that convey the source of evidence: I heard that Dan went fishing. I saw Dan go fishing. I deduce, from the available evidence, that Dan went fishing. These assertions might not be true. The Pirah&#227;, being human, do sometimes lie. But I love the idea of a culture in which evidence-based thinking is baked into the language. There are only a few hundred Pirah&#227;, and their language is only one of thousands &amp;#8212; more than half unwritten &amp;#8212; that are endangered. The talk ends with plea to preserve and document those languages. It has never been easier to capture and disseminate recorded audio, or to collaboratively curate such material, so I hope these capabilities will be put to good use in the quest to preserve linguistic diversity. But no matter what, we&amp;#8217;re going to continue to lose languages. Maybe, though, if we can identify some of the ways of thinking encoded in those languages, we can carry them forward. Respect for the source of evidence is a great example. I could have simply told you about what Daniel Everett said, and what Stewart Brand wrote about what Daniel Everett said. But it was possible to form links to the audio and text, so I did. I wonder how many other best practices are encoded in those thousands of endangered languages. And I wonder if it might be possible to identify and catalog more of them.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-17,24719547</guid>
      <pubDate>Wed, 17 Jun 2009 06:24:14 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>When does afternoon begin?</title>
      <link>http://odeo.com/episodes/24709020-When-does-afternoon-begin</link>
      <description>When I invited folks to become calendar curators for the elmcity project, the person who stepped forward in Prescott AZ was Susan Gerhart, whom I interviewed here. One of her great insights about web design is that the right thing for a vision-impaired user is almost always also the right thing for everyone. She calls this the curb cuts principle: Curb cuts for wheelchairs also guide blind persons into street crossings and prevent accidents for baby strollers, bicyclists, skateboarders, and inattentive walkers. So I shouldn&amp;#8217;t have been surprised when Susan noticed that the HTML rendering of the calendar need some curb cuts. Within each day, the events show up as a long undifferentiated list. She suggested that subdividing the list by time of day &amp;#8212; morning, afternoon, evening &amp;#8212; will be helpful to folks using screen readers. But in fact, it&amp;#8217;s just plain helpful. So I&amp;#8217;m testing a version of that idea now. Ionically I was just thinking about this same princ...</description>
      <itunes:subtitle>When I invited folks to become calendar curators for the elmcity project, the person who stepped forward in Prescott AZ was Susan Gerhart, whom I interviewed here. One of her great insights about web design is that the right thing for a vision-impaired user is almost always also the right thing for everyone. She calls this the curb cuts principle: Curb cuts for wheelchairs also guide blind persons into street crossings and prevent accidents for baby strollers, bicyclists, skateboarders, and inattentive walkers. So I shouldn&amp;#8217;t have been surprised when Susan noticed that the HTML rendering of the calendar need some curb cuts. Within each day, the events show up as a long undifferentiated list. She suggested that subdividing the list by time of day &amp;#8212; morning, afternoon, evening &amp;#8212; will be helpful to folks using screen readers. But in fact, it&amp;#8217;s just plain helpful. So I&amp;#8217;m testing a version of that idea now. Ionically I was just thinking about this same principle in another context. The new version of Oakland Crimespotting, which I raved about, segments incidents using this vocabulary: light, dark, commute, nightlife, day, night, swing shift In that spirit, I&amp;#8217;m trying this: morning, lunch, afternoon, evening, night This of course leads to the question: When do these times begin and end? I was fascinated to see that both Google and Bing return the same Yahoo answers page for the query morning afternoon evening. For now, though, I&amp;#8217;m going with this ruleset: Morning: 5:00 AM to 11:30 AM Lunch: 11:30 AM to 1:00 PM Afternoon: 1:30 PM to 5:30 PM Evening: 5:30 PM to 9:00 PM Night: 9:00 PM to 5:00 AM But I&amp;#8217;ll make these rules &amp;#8212; and maybe even the time-of-day names &amp;#8212; configurable on a per-location basis.</itunes:subtitle>
      <itunes:summary>When I invited folks to become calendar curators for the elmcity project, the person who stepped forward in Prescott AZ was Susan Gerhart, whom I interviewed here. One of her great insights about web design is that the right thing for a vision-impaired user is almost always also the right thing for everyone. She calls this the curb cuts principle: Curb cuts for wheelchairs also guide blind persons into street crossings and prevent accidents for baby strollers, bicyclists, skateboarders, and inattentive walkers. So I shouldn&amp;#8217;t have been surprised when Susan noticed that the HTML rendering of the calendar need some curb cuts. Within each day, the events show up as a long undifferentiated list. She suggested that subdividing the list by time of day &amp;#8212; morning, afternoon, evening &amp;#8212; will be helpful to folks using screen readers. But in fact, it&amp;#8217;s just plain helpful. So I&amp;#8217;m testing a version of that idea now. Ionically I was just thinking about this same principle in another context. The new version of Oakland Crimespotting, which I raved about, segments incidents using this vocabulary: light, dark, commute, nightlife, day, night, swing shift In that spirit, I&amp;#8217;m trying this: morning, lunch, afternoon, evening, night This of course leads to the question: When do these times begin and end? I was fascinated to see that both Google and Bing return the same Yahoo answers page for the query morning afternoon evening. For now, though, I&amp;#8217;m going with this ruleset: Morning: 5:00 AM to 11:30 AM Lunch: 11:30 AM to 1:00 PM Afternoon: 1:30 PM to 5:30 PM Evening: 5:30 PM to 9:00 PM Night: 9:00 PM to 5:00 AM But I&amp;#8217;ll make these rules &amp;#8212; and maybe even the time-of-day names &amp;#8212; configurable on a per-location basis.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-15,24709020</guid>
      <pubDate>Mon, 15 Jun 2009 13:44:10 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Bulk search-and-replace for blog entries</title>
      <link>http://odeo.com/episodes/24685225-Bulk-search-and-replace-for-blog-entries</link>
      <description>Last night I realized there was one more step needed to restore my 2002-2006 archive. All of my references into that archive from this blog, which started in December 2006, had to be redirected. What&amp;#8217;s more, they had to be remapped. Old URLs like http://weblog.infoworld.com/udell/2006/12/04.html#a1571 had to become new URLs like http://jonudell.net/udell/2006-12-04-hunting-the-elusive-search-strategy.html. Even without the remapping, it&amp;#8217;s not obvious how to do a simple search and replace (say, from weblog.infoworld.com/udell to jonudell.net/udell) across a set of blog entries. I tried the export/edit/import route, but &amp;#8212; at least in the case of WordPress &amp;#8212; that doesn&amp;#8217;t seem to be a way to update existing stuff. So I wound up writing a script that uses the MetaWeblog API to fetch my current blog entries, find references to the old namespace, adjust them to point to the new namespace, and update the entries. It&amp;#8217;s here for my own future reference, and...</description>
      <itunes:subtitle>Last night I realized there was one more step needed to restore my 2002-2006 archive. All of my references into that archive from this blog, which started in December 2006, had to be redirected. What&amp;#8217;s more, they had to be remapped. Old URLs like http://weblog.infoworld.com/udell/2006/12/04.html#a1571 had to become new URLs like http://jonudell.net/udell/2006-12-04-hunting-the-elusive-search-strategy.html. Even without the remapping, it&amp;#8217;s not obvious how to do a simple search and replace (say, from weblog.infoworld.com/udell to jonudell.net/udell) across a set of blog entries. I tried the export/edit/import route, but &amp;#8212; at least in the case of WordPress &amp;#8212; that doesn&amp;#8217;t seem to be a way to update existing stuff. So I wound up writing a script that uses the MetaWeblog API to fetch my current blog entries, find references to the old namespace, adjust them to point to the new namespace, and update the entries. It&amp;#8217;s here for my own future reference, and for yours if you need it. As always in these situations, I end up wondering what a civilian would do. Blog publishing systems don&amp;#8217;t seem have bulk search-and-replace capability. They do, however, have APIs. There could be a tool or service that helps people make these kinds of changes. It&amp;#8217;d be hard to avoid the password anti-pattern, so if this were a cloud-based service rather than a locally-installed tool you&amp;#8217;d want to change your password after using it. But still, it should be doable. Do such tools or services exist?</itunes:subtitle>
      <itunes:summary>Last night I realized there was one more step needed to restore my 2002-2006 archive. All of my references into that archive from this blog, which started in December 2006, had to be redirected. What&amp;#8217;s more, they had to be remapped. Old URLs like http://weblog.infoworld.com/udell/2006/12/04.html#a1571 had to become new URLs like http://jonudell.net/udell/2006-12-04-hunting-the-elusive-search-strategy.html. Even without the remapping, it&amp;#8217;s not obvious how to do a simple search and replace (say, from weblog.infoworld.com/udell to jonudell.net/udell) across a set of blog entries. I tried the export/edit/import route, but &amp;#8212; at least in the case of WordPress &amp;#8212; that doesn&amp;#8217;t seem to be a way to update existing stuff. So I wound up writing a script that uses the MetaWeblog API to fetch my current blog entries, find references to the old namespace, adjust them to point to the new namespace, and update the entries. It&amp;#8217;s here for my own future reference, and for yours if you need it. As always in these situations, I end up wondering what a civilian would do. Blog publishing systems don&amp;#8217;t seem have bulk search-and-replace capability. They do, however, have APIs. There could be a tool or service that helps people make these kinds of changes. It&amp;#8217;d be hard to avoid the password anti-pattern, so if this were a cloud-based service rather than a locally-installed tool you&amp;#8217;d want to change your password after using it. But still, it should be doable. Do such tools or services exist?</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-10,24685225</guid>
      <pubDate>Wed, 10 Jun 2009 09:20:04 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Rebooting my 2002-2006 archive</title>
      <link>http://odeo.com/episodes/24681952-Rebooting-my-2002-2006-archive</link>
      <description>While spot-checking my mostly-reconstructed 2002-2006 blog, I found this plaint from 2002: When you are a writer whose entire corpus exists online, woven into a fabric of citation and commentary, it is incredibly painful to see that fabric torn apart. D&#233;j&#224; vu all over again. In 2002 I had to sacrifice the linkage to my 1999-2002 BYTE.com and restore it here. Now I&amp;#8217;ve done the same for my 2002-2006 InfoWorld blog. Since its former namespace isn&amp;#8217;t being redirected, and since all the old links were broken anyway, I&amp;#8217;ve taken this opportunity to create new descriptive names that incorporate dates and titles. The reboot isn&amp;#8217;t 100% clean, but it&amp;#8217;s automated and reproducible so I can address categories of problems as they show up. I&amp;#8217;m glad I&amp;#8217;m not in publishing anymore. It turns out to be a lousy way to keep your stuff published. When a commercial hosted lifebits service comes online, I&amp;#8217;ll be customer #1.</description>
      <itunes:subtitle>While spot-checking my mostly-reconstructed 2002-2006 blog, I found this plaint from 2002: When you are a writer whose entire corpus exists online, woven into a fabric of citation and commentary, it is incredibly painful to see that fabric torn apart. D&#233;j&#224; vu all over again. In 2002 I had to sacrifice the linkage to my 1999-2002 BYTE.com and restore it here. Now I&amp;#8217;ve done the same for my 2002-2006 InfoWorld blog. Since its former namespace isn&amp;#8217;t being redirected, and since all the old links were broken anyway, I&amp;#8217;ve taken this opportunity to create new descriptive names that incorporate dates and titles. The reboot isn&amp;#8217;t 100% clean, but it&amp;#8217;s automated and reproducible so I can address categories of problems as they show up. I&amp;#8217;m glad I&amp;#8217;m not in publishing anymore. It turns out to be a lousy way to keep your stuff published. When a commercial hosted lifebits service comes online, I&amp;#8217;ll be customer #1.</itunes:subtitle>
      <itunes:summary>While spot-checking my mostly-reconstructed 2002-2006 blog, I found this plaint from 2002: When you are a writer whose entire corpus exists online, woven into a fabric of citation and commentary, it is incredibly painful to see that fabric torn apart. D&#233;j&#224; vu all over again. In 2002 I had to sacrifice the linkage to my 1999-2002 BYTE.com and restore it here. Now I&amp;#8217;ve done the same for my 2002-2006 InfoWorld blog. Since its former namespace isn&amp;#8217;t being redirected, and since all the old links were broken anyway, I&amp;#8217;ve taken this opportunity to create new descriptive names that incorporate dates and titles. The reboot isn&amp;#8217;t 100% clean, but it&amp;#8217;s automated and reproducible so I can address categories of problems as they show up. I&amp;#8217;m glad I&amp;#8217;m not in publishing anymore. It turns out to be a lousy way to keep your stuff published. When a commercial hosted lifebits service comes online, I&amp;#8217;ll be customer #1.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-09,24681952</guid>
      <pubDate>Tue, 09 Jun 2009 21:13:03 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>London, July 1: Activate</title>
      <link>http://odeo.com/episodes/24676912-London-July-1-Activate</link>
      <description>On July 1 I&amp;#8217;ll be in London to speak at the Guardian&amp;#8217;s Activate summit. In a writeup on his blog, my former InfoWorld colleague Matt McAlister sets the tone: What does the Internet mean? How far will the changes go? Which aspects of civilization itself will become something different, perhaps even unrecognizable to us today through the pervasive effect of the network? It looks to be the kind of diverse gathering that really charges my batteries. In an interview published today, I sketch the themes of my talk: collaborative curation, social information management, syndication. These principles and practices are at the core of the elmcity project. I think they&amp;#8217;re also at the core of the civilizational change that pervasive networking can bring.</description>
      <itunes:subtitle>On July 1 I&amp;#8217;ll be in London to speak at the Guardian&amp;#8217;s Activate summit. In a writeup on his blog, my former InfoWorld colleague Matt McAlister sets the tone: What does the Internet mean? How far will the changes go? Which aspects of civilization itself will become something different, perhaps even unrecognizable to us today through the pervasive effect of the network? It looks to be the kind of diverse gathering that really charges my batteries. In an interview published today, I sketch the themes of my talk: collaborative curation, social information management, syndication. These principles and practices are at the core of the elmcity project. I think they&amp;#8217;re also at the core of the civilizational change that pervasive networking can bring.</itunes:subtitle>
      <itunes:summary>On July 1 I&amp;#8217;ll be in London to speak at the Guardian&amp;#8217;s Activate summit. In a writeup on his blog, my former InfoWorld colleague Matt McAlister sets the tone: What does the Internet mean? How far will the changes go? Which aspects of civilization itself will become something different, perhaps even unrecognizable to us today through the pervasive effect of the network? It looks to be the kind of diverse gathering that really charges my batteries. In an interview published today, I sketch the themes of my talk: collaborative curation, social information management, syndication. These principles and practices are at the core of the elmcity project. I think they&amp;#8217;re also at the core of the civilizational change that pervasive networking can bring.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-09,24676912</guid>
      <pubDate>Tue, 09 Jun 2009 09:58:33 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
    <item>
      <title>Rebooting my 2002-2006 archive</title>
      <link>http://odeo.com/episodes/24669298-Rebooting-my-2002-2006-archive</link>
      <description>While spot-checking my mostly-reconstructed 2002-2006 blog, I found this plaint from 2002: When you are a writer whose entire corpus exists online, woven into a fabric of citation and commentary, it is incredibly painful to see that fabric torn apart. D&#233;j&#224; vu all over again. In 2002 I had to sacrifice the linkage to my 1999-2002 BYTE.com and restore it here. Now I&amp;#8217;ve done the same for my 2002-2006 InfoWorld blog. Since its former namespace isn&amp;#8217;t being redirected, and since all the old links were broken anyway, I&amp;#8217;ve taken this opportunity to create new descriptive names that incorporate dates and titles. The reboot isn&amp;#8217;t 100% clean, but it&amp;#8217;s automated and reproducible so I can address categories of problems as they show up. I&amp;#8217;m glad I&amp;#8217;m not in publishing anymore. It turns out to be a lousy way to keep your stuff published. When a commercial hosted lifebits service comes online, I&amp;#8217;ll be customer #1.</description>
      <itunes:subtitle>While spot-checking my mostly-reconstructed 2002-2006 blog, I found this plaint from 2002: When you are a writer whose entire corpus exists online, woven into a fabric of citation and commentary, it is incredibly painful to see that fabric torn apart. D&#233;j&#224; vu all over again. In 2002 I had to sacrifice the linkage to my 1999-2002 BYTE.com and restore it here. Now I&amp;#8217;ve done the same for my 2002-2006 InfoWorld blog. Since its former namespace isn&amp;#8217;t being redirected, and since all the old links were broken anyway, I&amp;#8217;ve taken this opportunity to create new descriptive names that incorporate dates and titles. The reboot isn&amp;#8217;t 100% clean, but it&amp;#8217;s automated and reproducible so I can address categories of problems as they show up. I&amp;#8217;m glad I&amp;#8217;m not in publishing anymore. It turns out to be a lousy way to keep your stuff published. When a commercial hosted lifebits service comes online, I&amp;#8217;ll be customer #1.</itunes:subtitle>
      <itunes:summary>While spot-checking my mostly-reconstructed 2002-2006 blog, I found this plaint from 2002: When you are a writer whose entire corpus exists online, woven into a fabric of citation and commentary, it is incredibly painful to see that fabric torn apart. D&#233;j&#224; vu all over again. In 2002 I had to sacrifice the linkage to my 1999-2002 BYTE.com and restore it here. Now I&amp;#8217;ve done the same for my 2002-2006 InfoWorld blog. Since its former namespace isn&amp;#8217;t being redirected, and since all the old links were broken anyway, I&amp;#8217;ve taken this opportunity to create new descriptive names that incorporate dates and titles. The reboot isn&amp;#8217;t 100% clean, but it&amp;#8217;s automated and reproducible so I can address categories of problems as they show up. I&amp;#8217;m glad I&amp;#8217;m not in publishing anymore. It turns out to be a lousy way to keep your stuff published. When a commercial hosted lifebits service comes online, I&amp;#8217;ll be customer #1.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-08,24669298</guid>
      <pubDate>Mon, 08 Jun 2009 21:54:50 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://0.gravatar.com/avatar/0d7c7e171fc0ad3dacc9b1ed203e3e50?s=96&amp;d=identicon&amp;r=G"/>
      <itunes:author>Jon Udell</itunes:author>
      <itunes:keywords>Uncategorized</itunes:keywords>
    </item>
  </channel>
</rss>
