SlideShare a Scribd company logo
technical fluencyexamples from the elmcity case studyJon UdellMarlboro College Graduate SchoolOctober 2010http://jonudell.nethttp://delicious.com/judell/marlboro1
technical fluency
technical fluency
technical fluency
>>> s = open('marlboro2.xml').read()>>> s[0:80]'<?xml version="1.0" encoding="UTF-8"?>\n<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.htmlCollaborative 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.htmlA 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>>>>
technical fluency
technical fluency
versus
where=honolulu,hitz=hawaiian   contact=elmcity@alohavibe.com facebook=yes     where: honolulu,hitz:	 hawaiian   contact:	 elmcity@alohavibe.comfacebook: yes
queryhttp://www.delicious.com/alohavibe/trusted+ics+feeddata
http://feeds.delicious.com/v2/rss/alohavibe/trusted+ics+feedtransformationtransformationevaluationtransformation<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 URNtagged 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.icscategory: music,reggae         url: http://hawaiireggaeguild.com
queryhttp://elmcity.cloudapp.net/services/alohavibe/tags_jsontransformationdata for computers [{"music":333},{"reggae":171]queryhttp://elmcity.cloudapp.net/services/alohavibe/tags_html  data for people
queryhttp://elmcity.cloudapp.net/services/alohavibe/metadataPartitionKey: alohavibeRowKey: alohavibeTimestamp: 10/8/2010 6:08:18 PMcontact: elmcity@alohavibe.comeventbrite_events: 17eventful_events: 1346events: 4050events_per_person: 0.01facebook: yesfacebook_events: 49feed_count: 7ical_events: 592population: 374676tz: hawaiianupcoming_events: 2095where: honolulu,hi                          data           merged from delicious
technical fluency
… items omitted …
  message from      a person  messages from a  computer
articles: http://feeds.delicious.com/v2/rss/judell/elmcity+azure
technical fluency
… items omitted …
status updates: http://blog.jonudell.net/elmcityazure-project-status/feed/
technical fluency
http://pipes.yahoo.com/pipes/pipe.run?_id=d4529aab6d88a333bab8e438c4e7ca48&_render=rss&tag=icalvalid
sources: delicious, twitter, wordpress, technoratieffect: query for a tag across all sources result: rss feed merging results from all queries
technical fluency
technical fluency
1. the elmcity service operates on twitter as @elmcity_azure2. the curator for the westborough, ma, hub operates as @westborough3. 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_azure5. 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 metadataenable curators to create and edit a feed registryenable curators to categorize (tag) feedsenable curators to assign or revoke trust on a per-feed basisenable curators to specify default links for feedsnotify everyone when key project events happen:a curator finds and adds a new icalendar feed
the project manager issues a status update

More Related Content

PDF
Scalabay - API Design Antipatterns
PDF
Silicon Valley 2014 - API Antipatterns
PPTX
1-04: HTML Elements
PDF
The Python Cheat Sheet for the Busy Marketer
PPTX
Doing More with Less: Automated, High-Quality Content Generation
PPT
1hr Research And Thinking
PPTX
Scaling Keyword Research to Find Content Gaps
PPTX
Query Classification on Steroids with BERT
Scalabay - API Design Antipatterns
Silicon Valley 2014 - API Antipatterns
1-04: HTML Elements
The Python Cheat Sheet for the Busy Marketer
Doing More with Less: Automated, High-Quality Content Generation
1hr Research And Thinking
Scaling Keyword Research to Find Content Gaps
Query Classification on Steroids with BERT

Viewers also liked (8)

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

Similar to technical fluency (20)

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

technical fluency

  • 1. technical fluencyexamples from the elmcity case studyJon UdellMarlboro College Graduate SchoolOctober 2010http://jonudell.nethttp://delicious.com/judell/marlboro1
  • 5. >>> s = open('marlboro2.xml').read()>>> s[0:80]'<?xml version="1.0" encoding="UTF-8"?>\n<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.htmlCollaborative 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.htmlA 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>>>>
  • 12. where=honolulu,hitz=hawaiian contact=elmcity@alohavibe.com facebook=yes where: honolulu,hitz: hawaiian contact: elmcity@alohavibe.comfacebook: yes
  • 14. http://feeds.delicious.com/v2/rss/alohavibe/trusted+ics+feedtransformationtransformationevaluationtransformation<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 URNtagged 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.icscategory: music,reggae url: http://hawaiireggaeguild.com
  • 15. queryhttp://elmcity.cloudapp.net/services/alohavibe/tags_jsontransformationdata for computers [{"music":333},{"reggae":171]queryhttp://elmcity.cloudapp.net/services/alohavibe/tags_html data for people
  • 16. queryhttp://elmcity.cloudapp.net/services/alohavibe/metadataPartitionKey: alohavibeRowKey: alohavibeTimestamp: 10/8/2010 6:08:18 PMcontact: elmcity@alohavibe.comeventbrite_events: 17eventful_events: 1346events: 4050events_per_person: 0.01facebook: yesfacebook_events: 49feed_count: 7ical_events: 592population: 374676tz: hawaiianupcoming_events: 2095where: honolulu,hi data merged from delicious
  • 19. message from a person messages from a computer
  • 26. sources: delicious, twitter, wordpress, technoratieffect: query for a tag across all sources result: rss feed merging results from all queries
  • 29. 1. the elmcity service operates on twitter as @elmcity_azure2. the curator for the westborough, ma, hub operates as @westborough3. 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_azure5. 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. the elmcity project did not have to build or buy software or services to:enable curators to create and edit hub metadataenable curators to create and edit a feed registryenable curators to categorize (tag) feedsenable curators to assign or revoke trust on a per-feed basisenable curators to specify default links for feedsnotify everyone when key project events happen:a curator finds and adds a new icalendar feed
  • 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 wordpressreceive authenticated messages from curators
  • 34. jeannettewing’s manifestoTo 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 thinkingdigital literacy, systems thinking, 21st-century skillsthere isn’t an app for thatto make the most of the local internet – and the global one! – we need to learn, teach, and apply core principles