SlideShare une entreprise Scribd logo
1  sur  31
technical fluency examples from the elmcity case study Jon Udell Marlboro College Graduate School October 2010 http://jonudell.net http://delicious.com/judell/marlboro1
>>> s = open('marlboro2.xml').read() >>> s[0:80] '<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www' >>> xml = minidom.parseString(s) >>> xml <xml.dom.minidom.Document instance at 0x0159F7B0> >>> items = xml.getElementsByTagName('item') >>> len(items) 6 >>> titles = item.getElementsByTagName('title') >>> len(titles) 1 >>> title = titles[0] >>> title.toxml() u"<title>Developing intuitions about data - O'Reilly Radar</title>"
>>> title.firstChild <DOM Text node "u'Developing'..."> >>> title.firstChild.nodeValue "Developing intuitions about data - O'Reilly Radar" >>> collection = {} >>> for item in items: ...   title = item.getElementsByTagName('title')[0].firstChild.nodeValue ...   url = item.getElementsByTagName('link')[0].firstChild.nodeValue ...   collection[title] = url ... >>> collection.keys() ["The principle of indirection - O'Reilly Radar", 'Collaborative curation as a service', 'To: elmcity, From: @curator, Message: start ', "Developing intuitions about data - O'Reilly Radar", 'A new answer to an old question', "The power of informal contracts - O'Reilly Radar"]
>>> collection.values() ['http://radar.oreilly.com/2010/09/the-principle-of-indirection.html', 'http://blog.jonudell.net/2009/02/26/collaborative-curation-as-a-service/', 'http://blog.jonudell.net/2009/10/21/to-elmcity-from-curator-message-start/', 'http://radar.oreilly.com/2010/10/developing-intuitions-about-da.html', 'http://blog.jonudell.net/2009/03/18/a-new-answer-to-an-old-question/', 'http://radar.oreilly.com/2010/08/the-power-of-informal-contract.html'] >>> for key in collection.keys(): ...   print key + ': ' + collection[key] The principle of indirection - O'Reilly Radar:http://radar.oreilly.com/2010/09/the-principle-of-indirection.html Collaborative curation as a service « Jon Udell:http://blog.jonudell.net/2009/02/26/collaborative-curation-as-a-service/ To: elmcity, From: @curator, Message: start:http://blog.jonudell.net/2009/10/21/to-elmcity-from-curator-message-start/ Developing intuitions about data - O'Reilly Radar:http://radar.oreilly.com/2010/10/developing-intuitions-about-da.html A new answer to an old question:http://blog.jonudell.net/2009/03/18/a-new-answer-to-an-old-question/ The power of informal contracts - O'Reilly Radar:http://radar.oreilly.com/2010/08/the-power-of-informal-contract.html
>>> for key in collection.keys(): ...   print '<a href="%s">%s</a>' % ( collection[key], key) <a href="http://radar.oreilly.com/2010/09/the-principle-of-indirection.html">The principle of indirection</a> <a href="http://blog.jonudell.net/2009/02/26/collaborative-curation-as-a-service/">Collaborative curation as a service</a> <a href="http://blog.jonudell.net/2009/10/21/to-elmcity-from-curator-message-start/">To: elmcity, From: @curator, Message: start</a> <a href="http://radar.oreilly.com/2010/10/developing-intuitions-about-da.html">Developing intuitions about data - O'Reilly Radar</a> <a href="http://blog.jonudell.net/2009/03/18/a-new-answer-to-an-old-question">A new answer to an old question</a> <a href="http://radar.oreilly.com/2010/08/the-power-of-informal-contract.html">The power of informal contracts - O'Reilly Radar</a> >>>
versus
where=honolulu,hitz=hawaiian   contact=elmcity@alohavibe.com facebook=yes      where: honolulu,hi tz:	 hawaiian    contact:	 elmcity@alohavibe.com facebook: yes
query http://www.delicious.com/alohavibe/trusted+ics+feed data
http://feeds.delicious.com/v2/rss/alohavibe/trusted+ics+feed transformation transformation evaluation transformation <item>  <title>Hawaii Reggae Guild</title>  <pubDate>Sun, 03 Oct 2010 22:52:21 +0000</pubDate>  <guidisPermaLink="false">http://www.delicious.com/url/d107b1cb6d87eb32858daa7fa25b68a9#alohavibe</guid>  <link>http://www.google.com/calendar/ical/usb3tucgslji5pdrfgf1luij94%40group.calendar.google.com/public/basic.ics</link>  <source url="http://feeds.delicious.com/v2/rss/alohavibe">alohavibe's bookmarks</source>  <category domain="http://www.delicious.com/alohavibe/">trusted</category>  <category domain="http://www.delicious.com/alohavibe/">ics</category>  <category domain="http://www.delicious.com/alohavibe/">feed</category>  <category domain="http://www.delicious.com/alohavibe/">category=music,reggae</category>  <category domain="http://www.delicious.com/alohavibe/">url=http://hawaiireggaeguild.com</category>  </item>  Is alohavibe’s metadata URN tagged with trusted AND ics AND feed? If yes, add to list aggregated by hub. If no, ignore. feedurl: http//www.google.com/calendar/ical..basic.ics category: music,reggae          url: http://hawaiireggaeguild.com
query http://elmcity.cloudapp.net/services/alohavibe/tags_json transformation data for computers  [{"music":333},{"reggae":171] query http://elmcity.cloudapp.net/services/alohavibe/tags_html   data for people
query http://elmcity.cloudapp.net/services/alohavibe/metadata PartitionKey: alohavibe RowKey: alohavibe Timestamp: 10/8/2010 6:08:18 PM contact: elmcity@alohavibe.com eventbrite_events: 17 eventful_events: 1346 events: 4050 events_per_person: 0.01 facebook: yes facebook_events: 49 feed_count: 7 ical_events: 592 population: 374676 tz: hawaiian upcoming_events: 2095 where: honolulu,hi                           data            merged from delicious
… items omitted …
  message from       a person   messages  from a   computer
articles: http://feeds.delicious.com/v2/rss/judell/elmcity+azure
… items omitted …
status updates: http://blog.jonudell.net/elmcityazure-project-status/feed/
http://pipes.yahoo.com/pipes/pipe.run?_id=d4529aab6d88a333bab8e438c4e7ca48 &_render=rss&tag=icalvalid
sources: delicious, twitter, wordpress, technorati effect: query for a tag across all sources  result: rss feed merging results from all queries
1. the elmcity service operates on twitter as @elmcity_azure 2. the curator for the westborough, ma, hub operates as @westborough 3. if the elmcity sees twitter=@NAME in a hub’s metadata, it follows @NAME  4. because @elmcity_azure follows @westborough, @westborough can     send a direct message to @elmcity_azure 5. if @westborough just added a feed and wants @elmcity_azure to     aggregate now, instead of waiting 8 hours, he can send the start message:
the elmcity project did not have to  build or buy software or services to: enable curators to create and edit hub metadata enable curators to create and edit a feed registry enable curators to categorize (tag) feeds enable curators to assign or revoke trust on a per-feed basis enable curators to specify default links for feeds notify everyone when key project events happen: ,[object Object]
the project manager issues a status update

Contenu connexe

En vedette

being observable
being observablebeing observable
being observablejudell
 
Why Johnny Can't Syndicate
Why Johnny Can't SyndicateWhy Johnny Can't Syndicate
Why Johnny Can't Syndicatejudell
 
Representing the world: How web users become web thinkers and web makers
Representing the world: How web users become web thinkers and web makersRepresenting the world: How web users become web thinkers and web makers
Representing the world: How web users become web thinkers and web makersjudell
 
rethinking the community calendar: a case study in fourth r principles
rethinking the community calendar: a case study in fourth r principlesrethinking the community calendar: a case study in fourth r principles
rethinking the community calendar: a case study in fourth r principlesjudell
 
A calendar hub for Manchester UK
A calendar hub for Manchester UKA calendar hub for Manchester UK
A calendar hub for Manchester UKjudell
 
Calendar syndication in Ann Arbor
Calendar syndication in Ann ArborCalendar syndication in Ann Arbor
Calendar syndication in Ann Arborjudell
 
NH Municipal Management Association June 2012
NH Municipal Management Association June 2012NH Municipal Management Association June 2012
NH Municipal Management Association June 2012judell
 

En vedette (8)

being observable
being observablebeing observable
being observable
 
Why Johnny Can't Syndicate
Why Johnny Can't SyndicateWhy Johnny Can't Syndicate
Why Johnny Can't Syndicate
 
Representing the world: How web users become web thinkers and web makers
Representing the world: How web users become web thinkers and web makersRepresenting the world: How web users become web thinkers and web makers
Representing the world: How web users become web thinkers and web makers
 
rethinking the community calendar: a case study in fourth r principles
rethinking the community calendar: a case study in fourth r principlesrethinking the community calendar: a case study in fourth r principles
rethinking the community calendar: a case study in fourth r principles
 
A calendar hub for Manchester UK
A calendar hub for Manchester UKA calendar hub for Manchester UK
A calendar hub for Manchester UK
 
Calendar syndication in Ann Arbor
Calendar syndication in Ann ArborCalendar syndication in Ann Arbor
Calendar syndication in Ann Arbor
 
Gold 50 club bop
Gold 50 club bopGold 50 club bop
Gold 50 club bop
 
NH Municipal Management Association June 2012
NH Municipal Management Association June 2012NH Municipal Management Association June 2012
NH Municipal Management Association June 2012
 

Similaire à technical fluency

XML Training Presentation
XML Training PresentationXML Training Presentation
XML Training PresentationSarah Corney
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructurePamela Fox
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructureguest517f2f
 
Agile Descriptions
Agile DescriptionsAgile Descriptions
Agile DescriptionsTony Hammond
 
Getting the Most Out of OpenSocial Gadgets
Getting the Most Out of OpenSocial GadgetsGetting the Most Out of OpenSocial Gadgets
Getting the Most Out of OpenSocial GadgetsAtlassian
 
IMS Learning Tools Interoperability @ UCLA
IMS Learning Tools Interoperability @ UCLAIMS Learning Tools Interoperability @ UCLA
IMS Learning Tools Interoperability @ UCLACharles Severance
 
Pratical HTML5
Pratical HTML5Pratical HTML5
Pratical HTML5Leon Poole
 
HTML5 - techMaine Presentation 5/18/09
HTML5 - techMaine Presentation 5/18/09HTML5 - techMaine Presentation 5/18/09
HTML5 - techMaine Presentation 5/18/09pemaquid
 
Peter lubbers-html5-overview-sf-dev-conf-2011
Peter lubbers-html5-overview-sf-dev-conf-2011Peter lubbers-html5-overview-sf-dev-conf-2011
Peter lubbers-html5-overview-sf-dev-conf-2011Peter Lubbers
 
IST 561 Session2--Feb 2, 2009 Basic XHTML Concepts
IST 561 Session2--Feb 2, 2009 Basic XHTML ConceptsIST 561 Session2--Feb 2, 2009 Basic XHTML Concepts
IST 561 Session2--Feb 2, 2009 Basic XHTML ConceptsD.A. Garofalo
 
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009Jacob Gyllenstierna
 
Integrating and Interpreting Social Data from Heterogeneous Sources
Integrating and Interpreting Social Data from Heterogeneous SourcesIntegrating and Interpreting Social Data from Heterogeneous Sources
Integrating and Interpreting Social Data from Heterogeneous SourcesMatthew Rowe
 
HTML5 - What h#@$ is it?
HTML5 - What h#@$ is it?HTML5 - What h#@$ is it?
HTML5 - What h#@$ is it?Carlos Ramon
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructureguest517f2f
 
GTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationGTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationDavid Calavera
 
HTML5 - One spec to rule them all
HTML5 - One spec to rule them allHTML5 - One spec to rule them all
HTML5 - One spec to rule them allStu King
 

Similaire à technical fluency (20)

Html5
Html5Html5
Html5
 
HTML5: 5 Quick Wins
HTML5:  5 Quick WinsHTML5:  5 Quick Wins
HTML5: 5 Quick Wins
 
XML Training Presentation
XML Training PresentationXML Training Presentation
XML Training Presentation
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Agile Descriptions
Agile DescriptionsAgile Descriptions
Agile Descriptions
 
Getting the Most Out of OpenSocial Gadgets
Getting the Most Out of OpenSocial GadgetsGetting the Most Out of OpenSocial Gadgets
Getting the Most Out of OpenSocial Gadgets
 
IMS Learning Tools Interoperability @ UCLA
IMS Learning Tools Interoperability @ UCLAIMS Learning Tools Interoperability @ UCLA
IMS Learning Tools Interoperability @ UCLA
 
Pratical HTML5
Pratical HTML5Pratical HTML5
Pratical HTML5
 
Front End on Rails
Front End on RailsFront End on Rails
Front End on Rails
 
HTML5 - techMaine Presentation 5/18/09
HTML5 - techMaine Presentation 5/18/09HTML5 - techMaine Presentation 5/18/09
HTML5 - techMaine Presentation 5/18/09
 
Peter lubbers-html5-overview-sf-dev-conf-2011
Peter lubbers-html5-overview-sf-dev-conf-2011Peter lubbers-html5-overview-sf-dev-conf-2011
Peter lubbers-html5-overview-sf-dev-conf-2011
 
IST 561 Session2--Feb 2, 2009 Basic XHTML Concepts
IST 561 Session2--Feb 2, 2009 Basic XHTML ConceptsIST 561 Session2--Feb 2, 2009 Basic XHTML Concepts
IST 561 Session2--Feb 2, 2009 Basic XHTML Concepts
 
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
 
Integrating and Interpreting Social Data from Heterogeneous Sources
Integrating and Interpreting Social Data from Heterogeneous SourcesIntegrating and Interpreting Social Data from Heterogeneous Sources
Integrating and Interpreting Social Data from Heterogeneous Sources
 
HTML5 - What h#@$ is it?
HTML5 - What h#@$ is it?HTML5 - What h#@$ is it?
HTML5 - What h#@$ is it?
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
GTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationGTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementation
 
HTML5 - One spec to rule them all
HTML5 - One spec to rule them allHTML5 - One spec to rule them all
HTML5 - One spec to rule them all
 

technical fluency

  • 1. technical fluency examples from the elmcity case study Jon Udell Marlboro College Graduate School October 2010 http://jonudell.net http://delicious.com/judell/marlboro1
  • 2.
  • 3.
  • 4.
  • 5. >>> s = open('marlboro2.xml').read() >>> s[0:80] '<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www' >>> xml = minidom.parseString(s) >>> xml <xml.dom.minidom.Document instance at 0x0159F7B0> >>> items = xml.getElementsByTagName('item') >>> len(items) 6 >>> titles = item.getElementsByTagName('title') >>> len(titles) 1 >>> title = titles[0] >>> title.toxml() u"<title>Developing intuitions about data - O'Reilly Radar</title>"
  • 6. >>> title.firstChild <DOM Text node "u'Developing'..."> >>> title.firstChild.nodeValue "Developing intuitions about data - O'Reilly Radar" >>> collection = {} >>> for item in items: ... title = item.getElementsByTagName('title')[0].firstChild.nodeValue ... url = item.getElementsByTagName('link')[0].firstChild.nodeValue ... collection[title] = url ... >>> collection.keys() ["The principle of indirection - O'Reilly Radar", 'Collaborative curation as a service', 'To: elmcity, From: @curator, Message: start ', "Developing intuitions about data - O'Reilly Radar", 'A new answer to an old question', "The power of informal contracts - O'Reilly Radar"]
  • 7. >>> collection.values() ['http://radar.oreilly.com/2010/09/the-principle-of-indirection.html', 'http://blog.jonudell.net/2009/02/26/collaborative-curation-as-a-service/', 'http://blog.jonudell.net/2009/10/21/to-elmcity-from-curator-message-start/', 'http://radar.oreilly.com/2010/10/developing-intuitions-about-da.html', 'http://blog.jonudell.net/2009/03/18/a-new-answer-to-an-old-question/', 'http://radar.oreilly.com/2010/08/the-power-of-informal-contract.html'] >>> for key in collection.keys(): ... print key + ': ' + collection[key] The principle of indirection - O'Reilly Radar:http://radar.oreilly.com/2010/09/the-principle-of-indirection.html Collaborative curation as a service « Jon Udell:http://blog.jonudell.net/2009/02/26/collaborative-curation-as-a-service/ To: elmcity, From: @curator, Message: start:http://blog.jonudell.net/2009/10/21/to-elmcity-from-curator-message-start/ Developing intuitions about data - O'Reilly Radar:http://radar.oreilly.com/2010/10/developing-intuitions-about-da.html A new answer to an old question:http://blog.jonudell.net/2009/03/18/a-new-answer-to-an-old-question/ The power of informal contracts - O'Reilly Radar:http://radar.oreilly.com/2010/08/the-power-of-informal-contract.html
  • 8. >>> for key in collection.keys(): ... print '<a href="%s">%s</a>' % ( collection[key], key) <a href="http://radar.oreilly.com/2010/09/the-principle-of-indirection.html">The principle of indirection</a> <a href="http://blog.jonudell.net/2009/02/26/collaborative-curation-as-a-service/">Collaborative curation as a service</a> <a href="http://blog.jonudell.net/2009/10/21/to-elmcity-from-curator-message-start/">To: elmcity, From: @curator, Message: start</a> <a href="http://radar.oreilly.com/2010/10/developing-intuitions-about-da.html">Developing intuitions about data - O'Reilly Radar</a> <a href="http://blog.jonudell.net/2009/03/18/a-new-answer-to-an-old-question">A new answer to an old question</a> <a href="http://radar.oreilly.com/2010/08/the-power-of-informal-contract.html">The power of informal contracts - O'Reilly Radar</a> >>>
  • 9.
  • 10.
  • 12. where=honolulu,hitz=hawaiian contact=elmcity@alohavibe.com facebook=yes where: honolulu,hi tz: hawaiian contact: elmcity@alohavibe.com facebook: yes
  • 14. http://feeds.delicious.com/v2/rss/alohavibe/trusted+ics+feed transformation transformation evaluation transformation <item> <title>Hawaii Reggae Guild</title> <pubDate>Sun, 03 Oct 2010 22:52:21 +0000</pubDate> <guidisPermaLink="false">http://www.delicious.com/url/d107b1cb6d87eb32858daa7fa25b68a9#alohavibe</guid> <link>http://www.google.com/calendar/ical/usb3tucgslji5pdrfgf1luij94%40group.calendar.google.com/public/basic.ics</link> <source url="http://feeds.delicious.com/v2/rss/alohavibe">alohavibe's bookmarks</source> <category domain="http://www.delicious.com/alohavibe/">trusted</category> <category domain="http://www.delicious.com/alohavibe/">ics</category> <category domain="http://www.delicious.com/alohavibe/">feed</category> <category domain="http://www.delicious.com/alohavibe/">category=music,reggae</category> <category domain="http://www.delicious.com/alohavibe/">url=http://hawaiireggaeguild.com</category> </item> Is alohavibe’s metadata URN tagged with trusted AND ics AND feed? If yes, add to list aggregated by hub. If no, ignore. feedurl: http//www.google.com/calendar/ical..basic.ics category: music,reggae url: http://hawaiireggaeguild.com
  • 15. query http://elmcity.cloudapp.net/services/alohavibe/tags_json transformation data for computers [{"music":333},{"reggae":171] query http://elmcity.cloudapp.net/services/alohavibe/tags_html data for people
  • 16. query http://elmcity.cloudapp.net/services/alohavibe/metadata PartitionKey: alohavibe RowKey: alohavibe Timestamp: 10/8/2010 6:08:18 PM contact: elmcity@alohavibe.com eventbrite_events: 17 eventful_events: 1346 events: 4050 events_per_person: 0.01 facebook: yes facebook_events: 49 feed_count: 7 ical_events: 592 population: 374676 tz: hawaiian upcoming_events: 2095 where: honolulu,hi data merged from delicious
  • 17.
  • 19. message from a person messages from a computer
  • 21.
  • 24.
  • 26. sources: delicious, twitter, wordpress, technorati effect: query for a tag across all sources result: rss feed merging results from all queries
  • 27.
  • 28.
  • 29. 1. the elmcity service operates on twitter as @elmcity_azure 2. the curator for the westborough, ma, hub operates as @westborough 3. if the elmcity sees twitter=@NAME in a hub’s metadata, it follows @NAME 4. because @elmcity_azure follows @westborough, @westborough can send a direct message to @elmcity_azure 5. if @westborough just added a feed and wants @elmcity_azure to aggregate now, instead of waiting 8 hours, he can send the start message:
  • 30.
  • 31. the project manager issues a status update
  • 32. the project manager writes an article about the project
  • 33. any item tagged with the subproject icalvalid is posted to delicious or twitter or wordpress receive authenticated messages from curators
  • 34. jeannettewing’s manifesto To reading, writing, and arithmetic, we should add computational thinking to every child’s analytical ability. It is a universally applicable attitude and skill. other names for computational thinking digital literacy, systems thinking, 21st-century skills there isn’t an app for that to make the most of the local internet – and the global one! – we need to learn, teach, and apply core principles