<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1154664265889512920</id><updated>2011-11-30T18:36:28.728-08:00</updated><category term='calendar'/><category term='case study'/><category term='iconography'/><category term='enterprise architecture'/><category term='use case'/><category term='strategy'/><category term='UI'/><category term='technique'/><category term='privacy'/><category term='events'/><category term='analytics'/><category term='CAVE'/><category term='corporate'/><category term='cyber security'/><category term='Ambient Visualization'/><category term='Flash'/><category term='accessibility'/><category term='DSL'/><category term='data portability'/><category term='software engineering'/><category term='Government 2.0'/><category term='gov20'/><category term='scenario'/><category term='video'/><category term='knowledge sharing'/><category term='Stuart Card'/><category term='Carl Malamud'/><category term='EA'/><category term='The Virginian-Pilot'/><category term='training'/><category term='DARPA'/><category term='simulation'/><category term='graph layout'/><category term='visualization'/><category term='business'/><category term='prefuse'/><category term='graph visualization communication network analysis'/><category term='DDV'/><category term='Virginia'/><category term='local'/><category term='digital libraries'/><category term='information'/><category term='VR'/><category term='viz20'/><category term='Bridgeborn'/><category term='government'/><category term='opengov'/><category term='DoDAF'/><category term='Best Practices'/><category term='Virginia Beach'/><category term='industry'/><category term='dataportability'/><category term='MILSTD'/><category term='people'/><category term='integration'/><category term='BML'/><category term='opinion'/><category term='transparency'/><category term='2.0'/><category term='delicious'/><category term='innovation'/><category term='graph theory'/><category term='citycamp'/><category term='tcamp2010'/><category term='coding'/><category term='OOP'/><category term='federal'/><category term='design'/><category term='Edward Tufte'/><category term='philosopy'/><category term='modeling'/><category term='well-formed data'/><category term='journalism'/><category term='Gov 2.0'/><category term='Jeffrey Heer'/><category term='Army'/><category term='network analysis'/><category term='education'/><category term='technology'/><category term='design patterns'/><category term='PaaS'/><category term='content sharing'/><category term='linked data'/><category term='map'/><category term='open data'/><category term='ETD'/><category term='military'/><category term='about'/><category term='pattern recognition'/><category term='graph'/><category term='mashups'/><category term='us code'/><category term='whatis'/><category term='Document-Driven Visualization'/><category term='SaaS'/><category term='tag cloud'/><category term='analysis'/><category term='crime'/><category term='open government data'/><category term='USDA'/><category term='opendata'/><category term='VT'/><category term='lessons learned'/><category term='graph visualization'/><category term='ETLV'/><category term='Wired'/><category term='social network'/><category term='web20'/><category term='Bridgeworks'/><category term='hack'/><category term='socrata'/><category term='flare'/><category term='operating systems'/><category term='Internet'/><category term='platform'/><category term='research'/><category term='cloud computing'/><category term='HCI'/><category term='programming'/><category term='awesome'/><category term='tutorial'/><category term='dataviz'/><category term='farming'/><category term='videos'/><category term='retrieval'/><category term='interoperability'/><category term='communication'/><category term='g2e'/><category term='FEA'/><category term='citizenship'/><category term='web services'/><category term='blog'/><category term='Web 2.0'/><category term='API'/><category term='Google'/><category term='networks'/><category term='AWS'/><category term='software architecture'/><category term='infrastructure'/><category term='criticism'/><category term='energy'/><category term='DoD'/><category term='CSCW'/><category term='g2s'/><category term='GPO'/><category term='virtual reality'/><category term='search'/><category term='Word Press'/><category term='tagging'/><category term='GWEI'/><category term='data'/><category term='metadata'/><category term='transportation'/><title type='text'>Flow</title><subtitle type='html'>This is what I'm here to say, I guess.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>74</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-1226594745900667201</id><published>2011-02-07T22:09:00.000-08:00</published><updated>2011-02-08T10:17:04.270-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opendata'/><category scheme='http://www.blogger.com/atom/ns#' term='map'/><category scheme='http://www.blogger.com/atom/ns#' term='gov20'/><category scheme='http://www.blogger.com/atom/ns#' term='USDA'/><category scheme='http://www.blogger.com/atom/ns#' term='socrata'/><title type='text'>Map of US Farmers' Markets</title><content type='html'>&lt;div&gt;&lt;iframe width="425px" title="U.S. Farmers' Markets" height="425px" src="http://opendata.socrata.com/w/sk4m-ajki/y34g-bnf3?cur=yz12Mj-m7IZ&amp;from=root" frameborder="0" scrolling="no"&gt;&lt;a href="http://opendata.socrata.com/Government/U-S-Farmers-Markets/sk4m-ajki" title="U.S. Farmers' Markets" target="_blank"&gt;U.S. Farmers' Markets&lt;/a&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://www.socrata.com/" target="_blank"&gt;Powered by Socrata&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;NOTE: You may have to zoom in/out to get points to load. The map will only load 500 points at a time and is a bit quirky about paging data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-1226594745900667201?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/1226594745900667201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=1226594745900667201' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1226594745900667201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1226594745900667201'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2011/02/map-of-us-farmers-markets.html' title='Map of US Farmers&apos; Markets'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-6655158796040931420</id><published>2010-07-21T20:11:00.000-07:00</published><updated>2010-07-21T20:12:15.148-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gov20'/><category scheme='http://www.blogger.com/atom/ns#' term='calendar'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><title type='text'>Gov 2.0 Events Calendar (Test)</title><content type='html'>&lt;iframe src="http://www.google.com/calendar/embed?title=Gov%202.0%20Events&amp;amp;mode=AGENDA&amp;amp;height=600&amp;amp;wkst=1&amp;amp;bgcolor=%2399ff99&amp;amp;src=31k829jeql3prp6vus30uc6tj0%40group.calendar.google.com&amp;amp;color=%23853104&amp;amp;ctz=Etc%2FGMT" style=" border:solid 1px #777 " width="800" height="600" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-6655158796040931420?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/6655158796040931420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=6655158796040931420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/6655158796040931420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/6655158796040931420'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2010/07/gov-20-events-calendar-test.html' title='Gov 2.0 Events Calendar (Test)'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-2293476517329858319</id><published>2010-07-01T18:49:00.000-07:00</published><updated>2010-07-01T21:12:46.950-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoD'/><category scheme='http://www.blogger.com/atom/ns#' term='well-formed data'/><category scheme='http://www.blogger.com/atom/ns#' term='data portability'/><category scheme='http://www.blogger.com/atom/ns#' term='opengov'/><category scheme='http://www.blogger.com/atom/ns#' term='transparency'/><category scheme='http://www.blogger.com/atom/ns#' term='Bridgeborn'/><title type='text'>We OPML'd the DoD</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;I'm just giddy about this.  &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.bridgeborn.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;We&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; OPML'd the DoD.  Specifically, we &lt;/span&gt;&lt;/span&gt;&lt;a href="http://optimalbrowser.com/optimal.php?url=http://dev.bridgeborn.com/JCA.opml"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;published OPML for Joint Capability Areas&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.  It turned out to be so easy, too.  I wish I could easily convey the significance of this achievement.&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;a href="http://www.dtic.mil/futurejointwarfare/cap_areas.htm"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;JCA's are an exhaustive military taxonomy&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; declaring hundreds of defined military capabilities. They are predominantly referenced in decision making for acquisitions and planning.  All over the military there are organizations who are required to map every aspect of their existences to JCAs or else be denied resources.  Consequently, nearly every “decision support” and “business intelligence” tool under the sun  (there are hundreds, if not thousands of them; costing tens, if not hundreds, of millions) has a requirement for mapping JCAs.    Just this week (in fact, &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;after&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; we decided to do this) one of our teams received a requirement to add JCA mappings in a database.  The first question that came to my mind was, "how are they going to get that data into the system?"&lt;br /&gt;&lt;br /&gt;You see, JCAs are published in &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.dtic.mil/futurejointwarfare/strategic/jca_framework.xls"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;formats&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; that are only readable by people, and not in formats that can be used by tools.  As a result, people &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;repeatedly&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;spend unnecessary time &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;manually keying in JCAs&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; just so they can be available for menu items, pick lists, and other input forms in their software applications.  This is inefficient, error prone, and easily solved by publishing JCAs in &lt;/span&gt;&lt;/span&gt;&lt;span style="  color: rgb(0, 0, 153); background- font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; color:transparent;"&gt;&lt;a href="http://en.wikipedia.org/wiki/OPML"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Outline Processor Markup Language&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;So that's what we did.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Now system integrators can consume a URL-addressable, well-formed, hierarchical, text document as input to their application development.  No more need to manually key stuff.  No more typos.  Point any developer worth his/her salt as &lt;a href="http://dev.bridgeborn.com/jca.opml"&gt;this URL&lt;/a&gt; and they will be off to the races.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;It's too bad the owner of JCAs &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.dtic.mil/futurejointwarfare/strategic/jca_framework.xls"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;doesn't&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.dtic.mil/futurejointwarfare/strategic/jca_framework_defs.doc"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; publish&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; more portable content, but maybe now they will.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Credit where it is due&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Our (2nd) wonderful co-op student from &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.rit.edu/co-op.html"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Rochester Institute of Technology&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, Ben Kaiser wrote the code.  Longtime Bridgeborner, &lt;/span&gt;&lt;/span&gt;&lt;a href="http://twitter.com/robshell"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Rob Shell&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; shared some SME-ness and was Johnny-on-the-Spot with &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.bta.mil/products/BEA_7_0/BEA/iwp/bealist_jointcapabilityarea_na.htm"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;this (mostly well-formed) HTML version of the JCAs&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.  Thanks also to &lt;/span&gt;&lt;/span&gt;&lt;a href="http://sunlightlabs.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Sunlight Labs&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; for &lt;/span&gt;&lt;/span&gt;&lt;a href="http://twitter.com/sunlightlabs/status/17459816790"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;feedback&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; on choosing the right technology to get the job done.  &lt;/span&gt;&lt;/span&gt;&lt;a href="http://twitter.com/rdhyee"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Raymond Yee&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; provided &lt;/span&gt;&lt;/span&gt;&lt;a href="http://blog.dataunbound.com/2009/06/18/a-first-pass-at-an-org-chart-for-the-us-federal-government/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;an excellent model &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;for us to follow (in response to &lt;/span&gt;&lt;/span&gt;&lt;a href="http://sunlightlabs.com/ideas/8/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;this project idea&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; from &lt;/span&gt;&lt;/span&gt;&lt;a href="http://infovegan.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Clay Johnson&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-2293476517329858319?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/2293476517329858319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=2293476517329858319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2293476517329858319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2293476517329858319'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2010/07/we-opmld-dod.html' title='We OPML&apos;d the DoD'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-7188943279376003846</id><published>2010-06-27T21:01:00.000-07:00</published><updated>2010-06-27T20:59:50.575-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data portability'/><category scheme='http://www.blogger.com/atom/ns#' term='web services'/><category scheme='http://www.blogger.com/atom/ns#' term='open data'/><category scheme='http://www.blogger.com/atom/ns#' term='open government data'/><category scheme='http://www.blogger.com/atom/ns#' term='citycamp'/><title type='text'>Questions I Should Be Able to Ask My City (On the Web)</title><content type='html'>It's too hard to ask a simple question about a city and get a simple answer.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This notion goes well beyond satisfying the need to know the answers.  Our inability to ask basic questions about any city and provide simple answers is a much more profound shortcoming compared to just the answers themselves.  Simple answers to basic questions are the foundational elements of more complex analyses.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When we rely on experts and representatives, elected or otherwise, to perform these analyses we expect accuracy and completeness.  But how is this measured?  No matter what the field of study, the answer has always been references, data sets, and peer review.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Today, especially in matters of public interest, the word "peer" is hard to define.  All the more reason why satisfying the first two elements, references and data sets, is of paramount importance.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cities should provide simple answers to basic questions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cities should provide simple answer to basic questions in a URL-addressable, well-formed, text format.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are many mechanisms cities can use to satisfy this requirement; Web API, online spreadsheet, posted XML documents.  Ideally, technology exists and can be integrated so that cities can answer questions via several of these mechanisms.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what are the questions we would ask our cities, if we could?  Following are a few to which I would like to know the answers.  Moreover, given the answers to these questions in URL-addressable, well-formed, text format(s) the answers to these questions could make for some rather interesting, useful &lt;a href="http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid)"&gt;mash-ups&lt;/a&gt;.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Where is the location of each road and intersection under construction in my city?&lt;/li&gt;&lt;li&gt;How long has road/intersection X been under construction?&lt;/li&gt;&lt;li&gt;When will road/intersection X construction project be complete?&lt;/li&gt;&lt;li&gt;What is the list of each building construction permit in my city?&lt;/li&gt;&lt;li&gt;Where is the location of each building construction permit in my city?&lt;/li&gt;&lt;li&gt;What is the list of businesses that pay taxes in my city?&lt;/li&gt;&lt;li&gt;What is the list of businesses that pay taxes in my city, by type of business?&lt;/li&gt;&lt;li&gt;What is the list of how much each business paid in taxes in my city?&lt;/li&gt;&lt;li&gt;Where is the location of each business that pays taxes in my city?&lt;/li&gt;&lt;li&gt;What is the list of neighborhoods in my city?&lt;/li&gt;&lt;li&gt;How many houses are in each neighborhood in my city?&lt;/li&gt;&lt;li&gt;What is the list of schools in the city? (This should include private and church schools, too, if these schools are required to be registered with the city.)&lt;/li&gt;&lt;li&gt;What is the location of each school in my city?&lt;/li&gt;&lt;li&gt;What is the enrollment at each school in my city?&lt;/li&gt;&lt;li&gt;How many cars are registered in my city?&lt;/li&gt;&lt;li&gt;What is the list of most traveled streets in my city?&lt;/li&gt;&lt;li&gt;What is the list of traffic accidents in my city?&lt;/li&gt;&lt;li&gt;Where are the locations of each traffic accident in my city?&lt;/li&gt;&lt;li&gt;How many pounds of garbage are collected in my city?&lt;/li&gt;&lt;li&gt;How many pounds of garbage are collected in my city, by zipcode?&lt;/li&gt;&lt;li&gt;How many pounds of garbage are collected in my city, by neighborhood?&lt;/li&gt;&lt;li&gt;What is the list of events in my city?&lt;/li&gt;&lt;li&gt;When are events occurring in my city, by time period?&lt;/li&gt;&lt;li&gt;Where are events occurring in my city?&lt;/li&gt;&lt;li&gt;What is the list of conditional use permits in my city?&lt;/li&gt;&lt;li&gt;What is the list of all emergency response stations (fire, police, medical) in my city?&lt;/li&gt;&lt;li&gt;Where are the locations of each emergency response station in my city?&lt;/li&gt;&lt;li&gt;What is the number of emergency calls in my city, by time period?&lt;/li&gt;&lt;li&gt;What is the list of stations responding to emergency calls, by time period?&lt;/li&gt;&lt;li&gt;What is the frequency of emergency calls by station and time period?&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;[To be continued...]&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Without a doubt, this list is far from exhaustive.  Crime data is one of the most popular and reported-on data sets.  I tried to come up with relevant questions for which data are not likely accessible.  Certainly, schema are required for declaring the answers to these questions in our required format.  Probably every question does not have to be anticipated &lt;i&gt;a priori.&lt;/i&gt;  We should also not assume that a particular question implies a specific data set.  We often can easily get the answer of, for example, the location of each crime.  Rarely, however, can we get aggregate data, useful in trend analyses.  Perhaps what we need are structured data sets and &lt;a href="http://www.wolframalpha.com/"&gt;Wolfram Alpha&lt;/a&gt;.  In any case, a foundational platform of data is required.  In any case, we should be able to formulate a basic question and get a simple answer (on the Web).  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Given the simplicity of what is being asked, however, this should not be complicated.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-7188943279376003846?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/7188943279376003846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=7188943279376003846' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7188943279376003846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7188943279376003846'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2010/06/questions-i-should-be-able-to-ask-my.html' title='Questions I Should Be Able to Ask My City (On the Web)'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-4725406952809550377</id><published>2010-06-27T14:16:00.000-07:00</published><updated>2010-07-07T20:48:23.919-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ambient Visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='Virginia'/><category scheme='http://www.blogger.com/atom/ns#' term='Virginia Beach'/><category scheme='http://www.blogger.com/atom/ns#' term='open government data'/><category scheme='http://www.blogger.com/atom/ns#' term='opengov'/><category scheme='http://www.blogger.com/atom/ns#' term='transparency'/><category scheme='http://www.blogger.com/atom/ns#' term='citycamp'/><title type='text'>Transparency and Visualization of City Data</title><content type='html'>Last year my city was considering closing one or two schools (&lt;a href="http://hamptonroads.com/2009/01/beach-committee-pick-nine-schools-closure"&gt;HamptonRoads.com&lt;/a&gt;, &lt;a href="http://www.wavy.com/dpp/news/local_wavy_vb_public_elementary_schools_20090113"&gt;WAVY.com&lt;/a&gt;).  One of the justifications cited was decline in student enrollment. &lt;a href="http://www.vbschools.com/BUC/charts.asp"&gt; Though I can no longer find it anywhere online&lt;/a&gt;, one of the enrollment artifacts put forth was this image of a column chart from a (presumably) Excel spreadsheet.&lt;div&gt;&lt;br /&gt;&lt;table style="width:auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/XqeENyiKR1IeCHcvQQxQIg?feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_4I3iR6s_Psk/Sh1MVa-hRSI/AAAAAAAAHfc/HBx4q6GNhbQ/s800/Elem-Membership-Graph.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family:arial,sans-serif; font-size:11px; text-align:right"&gt;From &lt;a href="http://picasaweb.google.com/kmcurry/Flow02?feat=embedwebsite"&gt;Flow&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To look at this picture (of data) one would assume there was a HUGE drop in enrollment, something in the vicinity of 50-60%.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But a closer look at the values reveals quite a different quantitative result.  In fact, the actual decline from the peak in 1994-95 to the valley in 2008-09 &lt;i&gt;appears &lt;/i&gt;to be 5,600 students.  Keep in mind, I'm doing my best to derive the actual number based on the Y-axis scale on the &lt;i&gt;picture&lt;/i&gt;.  The data weren't provided.  To make matters more difficult, the column chart is shown in 3D.  This undermines the utility of the visualization by making it hard to determine an actual value on the chart.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The actual difference is 6,824 students, from the high in 1994-95 to the &lt;i&gt;projected &lt;/i&gt;low in 2012-13.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;6,824 students is 18.1% of the peak (6,824/37,707).  While significant, 18.1% is a far cry from what appears to be a 50-60% decline.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fortunately, when I &lt;a href="http://spreadsheets.google.com/ccc?key=0AtBw9czGJjSTcEw4aU5nZU56RHpQZmxRUm9qamZxZEE&amp;amp;hl=en#gid=2"&gt;requested the data&lt;/a&gt; they were provided to me. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is valuable for two reasons.  First and foremost, I get the data, not an interpretation of the&lt;/div&gt;&lt;div&gt; data.  Second, and more the point of this post, I can show &lt;a href="http://spreadsheets.google.com/ccc?key=0AtBw9czGJjSTcEw4aU5nZU56RHpQZmxRUm9qamZxZEE&amp;amp;hl=en#gid=0"&gt;what this chart &lt;/a&gt;&lt;i&gt;&lt;a href="http://spreadsheets.google.com/ccc?key=0AtBw9czGJjSTcEw4aU5nZU56RHpQZmxRUm9qamZxZEE&amp;amp;hl=en#gid=0"&gt;should&lt;/a&gt;&lt;/i&gt;&lt;a href="http://spreadsheets.google.com/ccc?key=0AtBw9czGJjSTcEw4aU5nZU56RHpQZmxRUm9qamZxZEE&amp;amp;hl=en#gid=0"&gt; look like&lt;/a&gt; and what else the data have to say.  &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_4I3iR6s_Psk/TCfYTtf8lVI/AAAAAAAAJTg/Ybi9BrypfYk/s320/elementary_membership_k-5.png" style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 106px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5487592504116942162" /&gt;&lt;/div&gt;&lt;div&gt;Notice the slope of the decline and the differences between yearly observations.  Neither are so exaggerated as the first image.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The differences in view are the aspect ratio of the graph and the value of the Y-axis origin.  In the first chart the aspect ratio of the picture is nearly square, or 1:1.  The starting value of the Y-axis is 28000 (an arbitrary value not found anywhere in the data).  In the second chart the Y-axis begins at zero (0) and the aspect ratio is closer to 3:1 (which is probably too wide).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So then, which image and which set of chart variables is correct?  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The answer depends on the basis for the query...or what you are trying to say.  Actually the answer has nothing to do with "what you are trying to say" since you/we shouldn't be trying to say anything except to represent quantitative values in visual form.  The right thing is to understand the nature of the analysis and the decision trying to be made.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this case, we can assume with confidence that the Y-axis has no business starting at any value other than zero.  In this case what is being claimed, via what is shown, is a long term (since 1990) decline, not a year-to-year fluctuation.  Over the 14 year span the decline is obviously not in the range of 50-60%, therefore the chart should no imply so.  Otherwise, if year-to-year deltas are of interest it probably does not make sense to show a 14 year span.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By the way, the data for recent yearly decline are -216, -200, +30, -17 between the years 2006-2010.  200 students &lt;i&gt;city wide&lt;/i&gt; is hardly justification for closing a school.  (Our school has over 600 students.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the end, my city chose not to close a school.  I think that was a wise choice.  But I have to wonder what was going on in the minds of the decision makers.  What analyses were they using?  Did they, too, realize the truth in these numbers or was it some other (political) factor.  Did we just get lucky?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When cities make claims based on data they should &lt;i&gt;publish the data&lt;/i&gt;.  When cities, or anyone, shows you a picture of data you should question the picture and &lt;i&gt;&lt;strike&gt;demand&lt;/strike&gt; politely request a reference&lt;/i&gt; to the data.  At minimum, know what you are seeing.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-4725406952809550377?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/4725406952809550377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=4725406952809550377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/4725406952809550377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/4725406952809550377'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2010/06/transparency-and-visualization.html' title='Transparency and Visualization of City Data'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_4I3iR6s_Psk/Sh1MVa-hRSI/AAAAAAAAHfc/HBx4q6GNhbQ/s72-c/Elem-Membership-Graph.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-2605989919866710344</id><published>2010-06-24T15:17:00.000-07:00</published><updated>2010-06-24T21:44:18.362-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='use case'/><category scheme='http://www.blogger.com/atom/ns#' term='data'/><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='The Virginian-Pilot'/><category scheme='http://www.blogger.com/atom/ns#' term='case study'/><category scheme='http://www.blogger.com/atom/ns#' term='local'/><category scheme='http://www.blogger.com/atom/ns#' term='citycamp'/><title type='text'>Mashing up Hampton Roads School System Data</title><content type='html'>&lt;p&gt;I'm tempted to not provide a narrative for this.  The pictures really tell the story.&lt;/p&gt;&lt;p&gt;I was reading an article from my local "paper," &lt;i&gt;The Virginian-Pilot&lt;/i&gt;, online.  When I finished the article I noticed the "Quick Links" just below.  To my pleasant surprise, the first category of links was "Databases."  Truth be told, I'm not that surprised to find &lt;a href="http://hamptonroads.com/tags/databases"&gt;data at &lt;i&gt;The Pilot&lt;/i&gt;&lt;/a&gt;, but what unfolded when I followed that link was far from the norm when it comes to online (local) journalism and data.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/67403355@N00/4730989289/" title="Pilot_Databases_QuickLink by kmcurry, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1089/4730989289_d799454fc5_b.jpg" width="697" height="671" alt="Pilot_Databases_QuickLink" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;I clicked the link to "School Violence" and found the following page.  If you look closely you will see there is a form:&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/67403355@N00/4731452413/" title="Pilot_Databases_Form by kmcurry, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1070/4731452413_df922f26b0_b.jpg" width="677" height="365" alt="Pilot_Databases_Form" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Clicking "Search" took me to this next page.  I was not surprised to see that the results were available in HTML only:&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/67403355@N00/4731015089/" title="Pilot_Databases_Example by kmcurry, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1343/4731015089_f4fd0a29c9_b.jpg" width="533" height="791" alt="Pilot_Databases_Example" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;Whenever I come across data like this the first thing I want to know is whether or not it can actually be used &lt;i&gt;as data&lt;/i&gt;.  In order to be used/usable as data the contents of this HTML table need to be, at minimum, copy-and-paste-able into a spreadsheet.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Lo and behold...  In about 20 minutes I had pasted all of the contents of the database into &lt;a href="http://spreadsheets.google.com/ccc?key=0AtBw9czGJjSTdEUxRlI5ZnlyZEZoaW9mS29adEtxQmc&amp;amp;hl=en"&gt;a Google spreadsheet&lt;/a&gt;:&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/67403355@N00/4731654992/" title="Pilot_Databases_Google_Spreadsheet by kmcurry, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1343/4731654992_fe34c56211_b.jpg" width="548" height="274" alt="Pilot_Databases_Google_Spreadsheet" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;From there I was able to create a few transformations of the data and about a half-dozen meaningful charts like this:&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/67403355@N00/4731609950/" title="number_of_violations_by_type_and_school_division by kmcurry, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1192/4731609950_79b5828cdd_b.jpg" width="500" height="300" alt="number_of_violations_by_type_and_school_division" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;What if more news organizations published databases?  What if journalists had a habit of digging into those databases with with these simple tools?  Would we create better news products?  Would we become more accurately and insightfully informed as citizens?  Would our governments, businesses, and civic organizations make wiser strategy and better decisions?  And if we think that the answer to any of these questions is yes, how do we sustain the "model?"&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-2605989919866710344?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/2605989919866710344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=2605989919866710344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2605989919866710344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2605989919866710344'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2010/06/more-local-data-from-virginian-pilot.html' title='Mashing up Hampton Roads School System Data'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm2.static.flickr.com/1089/4730989289_d799454fc5_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-7569143672366164490</id><published>2010-03-29T04:49:00.000-07:00</published><updated>2010-03-29T06:04:11.726-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tcamp2010'/><category scheme='http://www.blogger.com/atom/ns#' term='gov20'/><category scheme='http://www.blogger.com/atom/ns#' term='opengov'/><category scheme='http://www.blogger.com/atom/ns#' term='transparency'/><category scheme='http://www.blogger.com/atom/ns#' term='citycamp'/><title type='text'>Transparency and the Digital Divide</title><content type='html'>As I start this post I'm on the Orange line of the Metro heading home from Transparency Camp 2010.  I timed my arrival almost exactly with that of the train using &lt;a href="http://appsearch.justanotheriphoneblog.com/dcmetro-iphone-12353/app"&gt;an iPhone app&lt;/a&gt;.  Now I'm typing on a super-powerful laptop with a huge display.  Many Metro stations have 3G access and even though I don't tether my phone to my computer to use 3G on my laptop, I'm sure it can be done.  I have nearly all of the comforts of the digital age at my disposal nearly all of the time.&lt;br /&gt;&lt;br /&gt;I often use these tools to stay in touch with what is happening in and around my community, my local and state governments, and the federal government.  I use access to Web sites, data, and social networks to stay informed and engaged.  These tools offer me many choices of how much info I want to consume and how much I feel like engaging.&lt;br /&gt;&lt;br /&gt;But what can people who don't have these resources do to be informed and participate?  What choices do they have for receiving information and offering feedback?  So much of Gov 2.0 and open government relates to the Web that we must be careful not to exclude those who lack digital resources.&lt;br /&gt;&lt;br /&gt;This topic came up in multiple sessions at Transparency Camp and we generated some good ideas (we think) on how to address this issue responsibly.  One idea in particular that resonated was placing LED message boards around town to broadcast key indicators, initiatives, and citizen feedback.&lt;br /&gt;&lt;br /&gt;The basic idea is to place LED signs at heavily trafficked locations.  These signs would display information about the city in which people are most interested.  Some of this content would be generated the city and some of the content would be generated by citizens.  Information, especially that generated by citizens, would vary somewhat by neighborhood.&lt;br /&gt;&lt;br /&gt;On the participation side of the conversation the minimum barrier to entry would be a mobile phone.  Anyone who can send a text message can contribute.  Of course, there would be other ways to contribute.  On the information side of the equation would be these message boards.&lt;br /&gt;&lt;br /&gt;This would be a way for people to simultaneously tell their city what they want and to see what the city is getting by way of feedback.&lt;br /&gt;&lt;br /&gt;There is plenty of reason to think this can be effective, too.&lt;br /&gt;&lt;br /&gt;But before I go on, I need to add some context.  This all came up during a session I facilitated called "&lt;a href="http://www.ustream.tv/recorded/5754124"&gt;Local Government Transparency&lt;/a&gt;."  In the beginning of the session I gave several examples of transparency happening at the local level.  One example was &lt;a href="http://amherst-ma.localocracy.org/"&gt;Localocracy&lt;/a&gt;.  &lt;a href="http://twitter.com/hartdanger"&gt;Hart Rossman&lt;/a&gt; quickly pointed out that, while I'm able to easily cite these examples, most people hardly know what I'm even talking about.  The point being: we need to make this relevant to the vast majority of people who aren't aware of what's going on in this space.&lt;br /&gt;&lt;br /&gt;Keying on that, &lt;a href="http://octo.dc.gov/DC/OCTO/About+OCTO/Who+We+Are/Director's+Biography"&gt;Bryan Sivak, CTO of Washington, D.C.&lt;/a&gt;, shared with us his concerns about the "digital divide" in his city.  In the poorest wards in D.C., broadband Internet access is about 30%.  The point being:  we can make all the cool open data and participation websites we want, but we won't be serving key constituencies in his city if those people can't access these online resources.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://whiteafrican.com/2009/03/12/the-blackboard-blogger-of-monrovia/"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://3.bp.blogspot.com/_4I3iR6s_Psk/S7CZHUVnjPI/AAAAAAAAJPg/b7Sl3PcDEwQ/s400/3349745636_92c628d66f.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5454027499743186162" /&gt;&lt;/a&gt;After some back and forth a gentlemen, whose name regrettably escapes me at the moment made a reference that reminded me very much of "The Blackboard Blogger of Monrovia," &lt;a href="http://www.google.com/search?q=alfred+sirleaf"&gt;Alfred Sirleaf&lt;/a&gt;.  Alfred is not just dealing with a digital divide.  He has customers who are not literate.  Still, he manages to provide useful information about what matters around them.&lt;br /&gt;&lt;br /&gt;At lesser extremes we see other examples of this idea already working.  Metro transit signs are one great example.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4I3iR6s_Psk/S7CZ-HWoiqI/AAAAAAAAJPo/W4bO25YgLB0/s1600/transit-sign.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 237px;" src="http://3.bp.blogspot.com/_4I3iR6s_Psk/S7CZ-HWoiqI/AAAAAAAAJPo/W4bO25YgLB0/s400/transit-sign.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5454028441150589602" /&gt;&lt;/a&gt;&lt;br /&gt;What else do people want to know about their city that can be easily provided on on a billboard in the public square?&lt;br /&gt;&lt;br /&gt;It's worth noting that we don't necessarily need government to provide (and maintain) the billboard.  Alfred Sirleaf makes a living doing what he does.  People who visit his blackboard buy goods from him.  We probably need government to issue permits for signs in public spaces.  Then again, What if food vendors in D.C. hung LEDs on their carts?&lt;br /&gt;&lt;br /&gt;We do need from government data that is open and accessible so that it can be easily used by anyone at low or no cost.  Given this and a touch of inspiration from Alfred Sirleaf, maybe we can succeed at engaging citizens in their own government in ways that are widely accessible.&lt;br /&gt;&lt;br /&gt;Post Script:&lt;br /&gt;&lt;a href="http://twitter.com/gwynnek"&gt;Gwynne Kostin&lt;/a&gt; pointed out the next day, that the digital divide is as much cultural as it is economical.  There are plenty of people who aren't resource constrained who are nonetheless struggling with relevance of transparency and open government in their lives.&lt;br /&gt;&lt;br /&gt;Thank you to &lt;a href="http://whiteafrican.com/about/"&gt;Erik Hersman&lt;/a&gt; for the image of Alfred Sirleaf&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-7569143672366164490?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/7569143672366164490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=7569143672366164490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7569143672366164490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7569143672366164490'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2010/03/transparency-and-digital-divide.html' title='Transparency and the Digital Divide'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4I3iR6s_Psk/S7CZHUVnjPI/AAAAAAAAJPg/b7Sl3PcDEwQ/s72-c/3349745636_92c628d66f.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-2738269535157070940</id><published>2010-02-23T08:59:00.000-08:00</published><updated>2010-02-23T09:52:48.710-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opendata'/><category scheme='http://www.blogger.com/atom/ns#' term='gov20'/><category scheme='http://www.blogger.com/atom/ns#' term='Virginia'/><category scheme='http://www.blogger.com/atom/ns#' term='Virginia Beach'/><category scheme='http://www.blogger.com/atom/ns#' term='opengov'/><category scheme='http://www.blogger.com/atom/ns#' term='citycamp'/><title type='text'>How to Mash-up Open Data APIs + Google Docs to Visualize City Data</title><content type='html'>&lt;object id="scPlayer" width="460" height="276"&gt; &lt;param name="movie" value="http://content.screencast.com/users/kmcurry/folders/Default/media/342827dd-99f2-4744-9bf0-3eb3eec7e67c/bootstrap.swf"&gt; &lt;param name="quality" value="high"&gt; &lt;param name="bgcolor" value="#FFFFFF"&gt; &lt;param name="flashVars" value="thumb=http://content.screencast.com/users/kmcurry/folders/Default/media/342827dd-99f2-4744-9bf0-3eb3eec7e67c/FirstFrame.jpg&amp;amp;containerwidth=460&amp;amp;containerheight=276&amp;amp;content=http://content.screencast.com/users/kmcurry/folders/Default/media/342827dd-99f2-4744-9bf0-3eb3eec7e67c/HamptonRoads.com_2010-02-17_1357.swf"&gt; &lt;param name="allowFullScreen" value="true"&gt; &lt;param name="scale" value="showall"&gt; &lt;param name="allowScriptAccess" value="always"&gt; &lt;param name="base" value="http://content.screencast.com/users/kmcurry/folders/Default/media/342827dd-99f2-4744-9bf0-3eb3eec7e67c/"&gt;  &lt;embed src="http://content.screencast.com/users/kmcurry/folders/Default/media/342827dd-99f2-4744-9bf0-3eb3eec7e67c/bootstrap.swf" quality="high" bgcolor="#FFFFFF" width="460" height="276" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="thumb=http://content.screencast.com/users/kmcurry/folders/Default/media/342827dd-99f2-4744-9bf0-3eb3eec7e67c/FirstFrame.jpg&amp;amp;containerwidth=460&amp;amp;containerheight=276&amp;amp;content=http://content.screencast.com/users/kmcurry/folders/Default/media/342827dd-99f2-4744-9bf0-3eb3eec7e67c/HamptonRoads.com_2010-02-17_1357.swf" allowfullscreen="true" base="http://content.screencast.com/users/kmcurry/folders/Default/media/342827dd-99f2-4744-9bf0-3eb3eec7e67c/" scale="showall"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Full size:&lt;a href="http://www.screencast.com/users/kmcurry/folders/Default/media/342827dd-99f2-4744-9bf0-3eb3eec7e67c"&gt;  http://www.screencast.com/users/kmcurry/folders/Default/media/342827dd-99f2-4744-9bf0-3eb3eec7e67c&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-2738269535157070940?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/2738269535157070940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=2738269535157070940' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2738269535157070940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2738269535157070940'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2010/02/how-to-mash-up-open-data-apis-google.html' title='How to Mash-up Open Data APIs + Google Docs to Visualize City Data'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-1684706011422146687</id><published>2010-02-06T07:32:00.000-08:00</published><updated>2010-02-15T08:53:30.304-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gov20'/><category scheme='http://www.blogger.com/atom/ns#' term='citycamp'/><title type='text'>What's Happened Since City Camp?</title><content type='html'>At the start of the second day of &lt;a href="http://barcamp.pbworks.com/CityCamp"&gt;City Camp&lt;/a&gt; we challenged ourselves to think about what happens &lt;i&gt;after &lt;/i&gt;City Camp.  We focused our sessions around concrete actions we would take after we all scattered back to our homes.  Here's a quick rundown of  some of our post-City Camp activities:&lt;div&gt;&lt;ol&gt;&lt;li&gt;We've been editing the &lt;a href="http://wiki.openmuni.org/"&gt;Open Muni wiki&lt;/a&gt;&lt;/li&gt;&lt;li&gt;We started a&lt;a href="http://groups.google.com/group/sheetcake"&gt; help-desk for journalists who want to use data&lt;/a&gt;&lt;/li&gt;&lt;li&gt;We're &lt;a href="http://twitter.com/JeffSelf/status/8676953316"&gt;planning spin-offs&lt;/a&gt; and &lt;a href="http://forums.e-democracy.org/groups/chicago"&gt;meet-ups&lt;/a&gt; in a number of different cities&lt;/li&gt;&lt;li&gt;We connected &lt;a href="http://www.innovationgeo.com/"&gt;experts in crime data mashup &amp;amp; visualization&lt;/a&gt; with a local paper's &lt;a href="http://labs.hamptonroads.com/api/crime/"&gt;crime data API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;We stay &lt;a href="http://forums.e-democracy.org/groups/citycamp"&gt;active online&lt;/a&gt;&lt;/li&gt;&lt;li&gt;We started &lt;a href="http://csclabs.org/"&gt;Colorado Smart Communities&lt;/a&gt;&lt;/li&gt;&lt;li&gt;We &lt;a href="http://prezi.com/d-iu5q4vi-ke/"&gt;reported back to local government&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;Update 02.15.10:  We set up a &lt;a href="http://www.ipublic.org/blog/2010/02/online-resources-for-civic-openmedia-project/"&gt;development environment for open source government data feeds&lt;/a&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;In fact, in their report back to City of Edmonton, Devin Serink &amp;amp; Ashley Casovan, listed six "next steps" for their city:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;[Participate in] Inter-city collaboration&lt;/li&gt;&lt;li&gt;[Contribute to] Open Data Cookbook&lt;/li&gt;&lt;li&gt;Experiment in 3D virtual worlds&lt;/li&gt;&lt;li&gt;Develop understanding and excitement internally&lt;/li&gt;&lt;li&gt;[Initiate] Apps for Edmonton&lt;/li&gt;&lt;li&gt;[Support creation of] Code for Canada&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;To be sure, many of these activities were initiated prior to and/or separately from City Camp.  That said, we all connected through City Camp to these activities and those connections are moving us foward.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P.S.  &lt;a href="http://wemedia.com/2010/02/04/stites-wins-we-media-game-changer-award/"&gt;This City Camper won an award&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-1684706011422146687?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/1684706011422146687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=1684706011422146687' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1684706011422146687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1684706011422146687'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2010/02/whats-happened-since-city-camp.html' title='What&apos;s Happened Since City Camp?'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-1766768546433588207</id><published>2010-01-30T21:02:00.001-08:00</published><updated>2010-01-30T21:02:45.927-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='journalism'/><category scheme='http://www.blogger.com/atom/ns#' term='dataviz'/><category scheme='http://www.blogger.com/atom/ns#' term='crime'/><category scheme='http://www.blogger.com/atom/ns#' term='citycamp'/><title type='text'>Journalism, Data, Visualization</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4I3iR6s_Psk/S2UIFsYEU0I/AAAAAAAAJM8/uBwcln7X_Zc/s1600-h/vabeach_crime_trend_gadget.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 174px;" src="http://2.bp.blogspot.com/_4I3iR6s_Psk/S2UIFsYEU0I/AAAAAAAAJM8/uBwcln7X_Zc/s400/vabeach_crime_trend_gadget.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5432757419396846402" /&gt;&lt;/a&gt;This is time series data of crimes reported in Virginia Beach from 2007-2009.  There are stories in this data.  Perhaps some are significant.  Perhaps many are not.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We don't know because we don't consider the data in this way.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What is that spike in 2007?  If nothing else it is statistically unusual.  But why?  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4I3iR6s_Psk/S2UI3UfoupI/AAAAAAAAJNI/RdtEE1IyAmE/s1600-h/vabeach_crime_trend_gadget_zoom1.png"&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4I3iR6s_Psk/S2UI3UfoupI/AAAAAAAAJNI/RdtEE1IyAmE/s1600-h/vabeach_crime_trend_gadget_zoom1.png"&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4I3iR6s_Psk/S2UI3UfoupI/AAAAAAAAJNI/RdtEE1IyAmE/s1600-h/vabeach_crime_trend_gadget_zoom1.png"&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4I3iR6s_Psk/S2UI3UfoupI/AAAAAAAAJNI/RdtEE1IyAmE/s1600-h/vabeach_crime_trend_gadget_zoom1.png"&gt;&lt;img style="float: right; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 10px; cursor: pointer; width: 400px; height: 173px; " src="http://1.bp.blogspot.com/_4I3iR6s_Psk/S2UI3UfoupI/AAAAAAAAJNI/RdtEE1IyAmE/s400/vabeach_crime_trend_gadget_zoom1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5432758271979600530" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What is the story behind the 247 crimes that were reported on this single day, June 1, 2007?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It doesn't look like there was a trending increase in reported crime.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4I3iR6s_Psk/S2ULIwelFRI/AAAAAAAAJNU/ldLcgN5muHE/s1600-h/vabeach_crime_trend_gadget_zoom2.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 174px;" src="http://4.bp.blogspot.com/_4I3iR6s_Psk/S2ULIwelFRI/AAAAAAAAJNU/ldLcgN5muHE/s400/vabeach_crime_trend_gadget_zoom2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5432760770572391698" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Still, what accounts for the difference between the low of 78 crimes on April 20, 2007?  Should we just chalk it up to summer tourism?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Is there nothing we can learn from this?  Are there stories that might inform future generations?&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-1766768546433588207?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/1766768546433588207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=1766768546433588207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1766768546433588207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1766768546433588207'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2010/01/journalism-data-visualization_30.html' title='Journalism, Data, Visualization'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4I3iR6s_Psk/S2UIFsYEU0I/AAAAAAAAJM8/uBwcln7X_Zc/s72-c/vabeach_crime_trend_gadget.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-2484741995169210468</id><published>2010-01-30T07:29:00.000-08:00</published><updated>2010-01-30T07:36:32.201-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gov20'/><category scheme='http://www.blogger.com/atom/ns#' term='opengov'/><category scheme='http://www.blogger.com/atom/ns#' term='citycamp'/><title type='text'>My Initial Takeaways from City Camp</title><content type='html'>I posted this in a &lt;a href="http://bit.ly/dlXyZA"&gt;comment thread in GovLoop&lt;/a&gt;; copying here so it can be read without requiring a login:&lt;br /&gt;&lt;br /&gt;&lt;table style="width:auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/T5SG2lINgVw6JpO-rw7mIQ?feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_4I3iR6s_Psk/Sx_I33f0WHI/AAAAAAAAI9M/RHigU-8tXoM/s144/CityCamp512.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;My biggest takeaways:&lt;div&gt;&lt;br /&gt;It's essential to get a good mix of perspective. We had civil servants, vendors, journalists, non-profits, and citizens. It would not have been as successful if it was gov-to-gov, vendor-to-vendor, or even gov-to-vendor.&lt;br /&gt;&lt;br /&gt;It's essential that the conversation not revolve entirely around tech and data. In 2010 we can assume that technology and data are involved. We're just scratching the surface on process. And the processes involved are not just about methods and means for collecting-publishing-visualizing data. Providing greater opportunities to get citizens' voices heard and to increase their engagement in civic duty is important.&lt;br /&gt;&lt;br /&gt;There is a new and important role for journalism: tell the stories behind the tech and the data. However, journalists may not have the education and knowledge to do this well. Interpreting stats is hard. I am excited to see Global Integrity stepping up to start a "help desk" specifically to work this problem. I think there is a new "extreme programming" model that papers could adopt; or perhaps to put it in terms papers already understand: pair your journalists up with data-viz-stats people like you pair them up with photographers.&lt;br /&gt;&lt;br /&gt;People want what City Camp provided. We are going to learn from it, refine it, and keep it going.&lt;br /&gt;&lt;br /&gt;Don't wait for me or Jen to keep City Camp going. Anyone can do this anywhere at anytime. Copy what works. Adapt for your local perspective. Just do it.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-2484741995169210468?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/2484741995169210468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=2484741995169210468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2484741995169210468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2484741995169210468'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2010/01/my-initial-takeaways-from-city-camp.html' title='My Initial Takeaways from City Camp'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_4I3iR6s_Psk/Sx_I33f0WHI/AAAAAAAAI9M/RHigU-8tXoM/s72-c/CityCamp512.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-3646807144265193355</id><published>2010-01-04T20:37:00.000-08:00</published><updated>2010-01-04T20:52:31.416-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='map'/><category scheme='http://www.blogger.com/atom/ns#' term='gov20'/><category scheme='http://www.blogger.com/atom/ns#' term='analytics'/><category scheme='http://www.blogger.com/atom/ns#' term='citycamp'/><title type='text'>http://citycamp.eventbrite.com</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Visits to &lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;a href="http://citycamp.eventbrite.com/"&gt;http://citycamp.eventbrite.com&lt;/a&gt; &lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;as of January 4, 2010&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://www.flickr.com/photos/67403355@N00/4247123098/" title="analytics_world by kmcurry, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4004/4247123098_f909b50e24.jpg" width="375" height="219" alt="analytics_world" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;World&lt;/b&gt; &lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://www.flickr.com/photos/67403355@N00/4247123024/" title="analytics_US by kmcurry, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2529/4247123024_3bd3ffca20.jpg" width="375" height="219" alt="analytics_US" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;U.S.&lt;/b&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://www.flickr.com/photos/67403355@N00/4246348695/" title="analytics_Canada by kmcurry, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4015/4246348695_a3445ae6b6.jpg" width="375" height="225" alt="analytics_Canada" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Canada&lt;/b&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-3646807144265193355?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/3646807144265193355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=3646807144265193355' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/3646807144265193355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/3646807144265193355'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2010/01/httpcitycampeventbritecom.html' title='http://citycamp.eventbrite.com'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4004/4247123098_f909b50e24_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-3165380735945106870</id><published>2009-12-07T19:43:00.000-08:00</published><updated>2009-12-07T19:47:03.320-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='DoD'/><category scheme='http://www.blogger.com/atom/ns#' term='awesome'/><category scheme='http://www.blogger.com/atom/ns#' term='Army'/><category scheme='http://www.blogger.com/atom/ns#' term='Word Press'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><title type='text'>Army's milBlog Runs on Word Press</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4I3iR6s_Psk/Sx3LcSST5lI/AAAAAAAAI6k/BX81SrCAnCk/s1600-h/MilBlog_WordPress.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 374px; height: 295px;" src="http://4.bp.blogspot.com/_4I3iR6s_Psk/Sx3LcSST5lI/AAAAAAAAI6k/BX81SrCAnCk/s400/MilBlog_WordPress.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5412706013974619730" /&gt;&lt;/a&gt;Word Press is awesome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-3165380735945106870?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/3165380735945106870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=3165380735945106870' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/3165380735945106870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/3165380735945106870'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/12/armys-mil-blog-infrastructure-is-word.html' title='Army&apos;s milBlog Runs on Word Press'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4I3iR6s_Psk/Sx3LcSST5lI/AAAAAAAAI6k/BX81SrCAnCk/s72-c/MilBlog_WordPress.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-4304351944407893709</id><published>2009-11-23T20:29:00.000-08:00</published><updated>2009-11-23T20:44:00.799-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='military'/><category scheme='http://www.blogger.com/atom/ns#' term='linked data'/><category scheme='http://www.blogger.com/atom/ns#' term='web services'/><category scheme='http://www.blogger.com/atom/ns#' term='MILSTD'/><category scheme='http://www.blogger.com/atom/ns#' term='iconography'/><title type='text'>Iconography Service</title><content type='html'>A &lt;a href="http://spreadsheets.google.com/pub?key=ty9DUkFgsVIsouCpwQAFGuA&amp;amp;gid=3"&gt;Web Service that returns a MILSTD 2525C icon&lt;/a&gt; in PNG format given echelon (size) and proponent type (unit):&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dev.bridgeborn.com/symbology/SymbologyHandler.ashx?unit=I&amp;amp;size=4"&gt;http://dev.bridgeborn.com/symbology/&lt;/a&gt;&lt;div&gt;&lt;a href="http://dev.bridgeborn.com/symbology/SymbologyHandler.ashx?unit=I&amp;amp;size=4"&gt;SymbologyHandler.ashx?unit=I&amp;amp;size=2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.bridgeborn.com/symbology/SymbologyHandler.ashx?unit=I&amp;amp;size=4"&gt;&lt;img src="http://dev.bridgeborn.com/symbology/SymbologyHandler.ashx?unit=I&amp;amp;size=4" alt="Infantry Brigade" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This could easily be extended to include &lt;a href="http://www.fgdc.gov/HSWG/index.html" title="DHS Emergency Symbology Reference"&gt;other iconography standards&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Code by &lt;a href="http://twitter.com/shadyproject"&gt;@shadyproject&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-4304351944407893709?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/4304351944407893709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=4304351944407893709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/4304351944407893709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/4304351944407893709'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/11/iconography-service.html' title='Iconography Service'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-7164981044458626476</id><published>2009-11-14T07:34:00.000-08:00</published><updated>2009-12-03T11:39:17.596-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='accessibility'/><category scheme='http://www.blogger.com/atom/ns#' term='DSL'/><category scheme='http://www.blogger.com/atom/ns#' term='data portability'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud computing'/><category scheme='http://www.blogger.com/atom/ns#' term='AWS'/><title type='text'>Wiktionary</title><content type='html'>&lt;span class="Apple-style-span" style=" white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;div&gt;&lt;i&gt;Update:  12.03.09 - It seems thefreedictionary.com is already providing most of what I'd like to see from a service:  anyone can add (don't even have to auth), domain attributes, links to references, direct URL to entry:  &lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;a href="http://acronyms.thefreedictionary.com/" style="text-decoration: none;"&gt;http://acronyms.thefreedictionary.com/&lt;/a&gt;&lt;i&gt;  There are some obvious difference in approach.  I want to go further with URLs.  I'd like to be able to point to a unique defintion via a path, ex., /wiktionary/FOO/1.  I also want to do lookups in other dimensions, ex., return all terms from domain:X.&lt;/i&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;The government is awash with acronyms.  New acronyms are created daily.  Acronyms create a barrier to understanding if they cannot be easily resolved, where easy = universal and universal = URL.  There are many online dictionaries with entries that are found in Web searches.  However, these return results only in highly formatted, not-well-formed HTML that is not always accessible through simple URLs.  Furthermore, these dictionaries provide no way for the community to create and share new entries as they are needed.  A simple solution to this is:&lt;/span&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Use the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://aws.amazon.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;cloud&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; to store terms and definitions&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Use Web services to return definitions through &lt;/span&gt;&lt;/span&gt;&lt;a href="http://dev.os.bridgeborn.com/wiktionary/terms/URL"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;URL&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;s as &lt;/span&gt;&lt;/span&gt;&lt;a href="http://dev.os.bridgeborn.com/wiktionary/terms/XML"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;XML&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;a href="http://dev.os.bridgeborn.com/wiktionary/terms/JSON"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;JSON&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, and &lt;/span&gt;&lt;/span&gt;&lt;a href="http://dev.os.bridgeborn.com/wiktionary/terms/XHTML"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;XHTML&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Provide a simple form that lets &lt;/span&gt;&lt;/span&gt;&lt;a href="http://openid.net/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;registered&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; users add and edit terms&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;We have created a proof of concept here using &lt;/span&gt;&lt;/span&gt;&lt;a href="http://dev.os.bridgeborn.com/wiktionary/terms/XAMPP"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;XAMPP&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; and &lt;/span&gt;&lt;/span&gt;&lt;a href="http://dev.os.bridgeborn.com/wiktionary/terms/AWS"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;AWS&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://dev.os.bridgeborn.com/wiktionary/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://dev.os.bridgeborn.com/wiktionary/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;It's not perfect or even complete.  For example, the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://validator.w3.org/check?uri=http://dev.os.bridgeborn.com/wiktionary/terms/XAMPP&amp;amp;charset=(detect+automatically)&amp;amp;doctype=Inline&amp;amp;group=0"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;XHTML returns errors from the W3C validator&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.  But I think this is a solid start and I'd like to open it up and see it go further.  To that end, I &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.sunlightlabs.com/ideas/22/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;submitted it as an idea for Sunlight Labs&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.  We'll see if it garners any votes of interest...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue';"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-7164981044458626476?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/7164981044458626476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=7164981044458626476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7164981044458626476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7164981044458626476'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/11/wiktionary.html' title='Wiktionary'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-4168375487165563236</id><published>2009-11-07T13:45:00.000-08:00</published><updated>2009-11-09T08:42:33.890-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='accessibility'/><category scheme='http://www.blogger.com/atom/ns#' term='linked data'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Bad Practices of Linked Data</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4I3iR6s_Psk/SvXrdx2frqI/AAAAAAAAIz8/i1gDcWBTJic/s1600-h/sf_ecomap.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 78px;" src="http://2.bp.blogspot.com/_4I3iR6s_Psk/SvXrdx2frqI/AAAAAAAAIz8/i1gDcWBTJic/s400/sf_ecomap.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5401482224931417762" /&gt;&lt;/a&gt;&lt;br /&gt;Urban EcoMap San Francisco is a great site that lets you explore emissions by zip code on a color-coded map:&lt;div&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_4I3iR6s_Psk/SvXr6-VDD1I/AAAAAAAAI0E/6CcNRkvZOlA/s400/sf_ecomap2.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 369px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5401482726496997202" /&gt;&lt;/div&gt;&lt;div&gt;Smartly, they also provide a "link" to download the data as comma-separated values.&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4I3iR6s_Psk/SvXqxH4F-xI/AAAAAAAAIzs/4t98Dd3p71o/s1600-h/flash_data_obfuscation.bmp" style="text-decoration: none;"&gt;&lt;img style="text-align: center;float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 400px; height: 233px; " src="http://1.bp.blogspot.com/_4I3iR6s_Psk/SvXqxH4F-xI/AAAAAAAAIzs/4t98Dd3p71o/s400/flash_data_obfuscation.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5401481457749588754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;Sadly, however, the link it not accessible!&lt;br /&gt;&lt;br /&gt;Where is the URL for this data? It's hidden behind a Flash control.&lt;br /&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_4I3iR6s_Psk/SvXq4hQKoiI/AAAAAAAAIz0/JP0IwIEsu4c/s400/flash_data_obfuscation2.bmp" style="float:left; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 209px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5401481584820527650" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-4168375487165563236?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/4168375487165563236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=4168375487165563236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/4168375487165563236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/4168375487165563236'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/11/bad-practices-of-linked-data.html' title='Bad Practices of Linked Data'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4I3iR6s_Psk/SvXrdx2frqI/AAAAAAAAIz8/i1gDcWBTJic/s72-c/sf_ecomap.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-8665530347325607801</id><published>2009-10-25T08:30:00.000-07:00</published><updated>2010-02-16T19:07:09.470-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mashups'/><category scheme='http://www.blogger.com/atom/ns#' term='journalism'/><category scheme='http://www.blogger.com/atom/ns#' term='Gov 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='gov20'/><category scheme='http://www.blogger.com/atom/ns#' term='Virginia'/><category scheme='http://www.blogger.com/atom/ns#' term='Virginia Beach'/><category scheme='http://www.blogger.com/atom/ns#' term='citycamp'/><title type='text'>Mashing up Virginia Beach Police Data with Google Docs</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Last Sunday, 10/18/2009, the editor of the neighborhood section of my local paper, The &lt;a href="http://hamptonroads.com/pilotonline/"&gt;Virginian-Pilot&lt;/a&gt;, said that he was looking for ways to improve how he reports crime data.  At the same time, I know that neighborhood crime is a hot topic in our community league meetings, casual get-togethers, and email lists.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Witness:  hyperlocal supply and demand in Gov 2.0.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In fact, there's &lt;b&gt;&lt;i&gt;plenty &lt;/i&gt;&lt;/b&gt;my local paper can do to improve the reporting of [crime] data in our city.  In the printed edition of the neighborhood section they only print the police "blotter" from the previous week.  Online they use Google maps to report crimes by location, but &lt;a href="http://hamptonroads.com/newsdata/crime/virginia-beach/"&gt;interfaces are constrained and inconsistent&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What my paper should do to improve crime reporting is go to the source. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Virginia Beach Police Department publishes crime data on a city website.  Here's the URL:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.vbgov.com/vgn.aspx?vgnextoid=8f770d066c0dd010VgnVCM1000006310640aRCRD&amp;amp;vgnextchannel=6a0a1c17717ec110VgnVCM100000190c640aRCRD&amp;amp;vgnextfmt=default"&gt;http://www.vbgov.com/vgn.aspx?vgnextoid=8f770d066c0dd010VgnVCM1000006310640aRCRD&amp;amp;vgnextchannel=&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.vbgov.com/vgn.aspx?vgnextoid=8f770d066c0dd010VgnVCM1000006310640aRCRD&amp;amp;vgnextchannel=6a0a1c17717ec110VgnVCM100000190c640aRCRD&amp;amp;vgnextfmt=default"&gt;6a0a1c17717ec110VgnVCM100000190c640aRCRD&amp;amp;vgnextfmt=default&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Gnarly.&lt;/div&gt;&lt;br /&gt;You can query for all crimes going back to January 1, 2006 (why only that far back?) up to the present day.  &lt;i&gt;But you can look at exactly 15 results at a time&lt;/i&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_4I3iR6s_Psk/SupOd-omRYI/AAAAAAAAIzE/qaEPbICWRdU/s400/vbgov.com_crime_form.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 220px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5398213380293412226" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4I3iR6s_Psk/SupOuHbrSyI/AAAAAAAAIzM/PuEd3H0fysk/s1600-h/vbgov.com_crime_result.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 168px;" src="http://4.bp.blogspot.com/_4I3iR6s_Psk/SupOuHbrSyI/AAAAAAAAIzM/PuEd3H0fysk/s400/vbgov.com_crime_result.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5398213657533041442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;So what my local paper should do is appeal to the city to make [crime] data more accessible to everyone; where everyone includes The Virginian-Pilot.  Short of that, the Pilot should take the energy it invests in supporting its Web presence and use it to scrape and publish city data.  If only there were a "Machine Friendly" link next to the "Printer Friendly" link.  (Both are designed to help people.)&lt;/div&gt;&lt;div&gt;&lt;p&gt;Shortcomings notwithstanding, here's what Pilot &lt;i&gt;&lt;b&gt;reporters &lt;/b&gt;&lt;/i&gt;can do right now for free:&lt;/p&gt;&lt;p&gt;Compile and publish Google spreadsheets with charts:&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span"  style="  white-space: pre; font-family:Arial;"&gt;&lt;a href="http://spreadsheets.google.com/ccc?key=0AtBw9czGJjSTdGZGVzh3MzdzWEQ1SzJ6NTJDbl9taHc&amp;amp;hl=en"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://spreadsheets.google.com/ccc?key=0AtBw9czGJjSTdGZGVzh3MzdzWEQ1SzJ6NTJDbl9taHc&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span"   style="font-family:Arial;color:#000000;"&gt;&lt;span class="Apple-style-span" style="white-space: pre; text-decoration: none; "&gt;&lt;a href="http://spreadsheets.google.com/ccc?key=0AtBw9czGJjSTdFdlaEEwT2Y1RGotdGNWU2w4WDh3Nnc&amp;amp;hl=en"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://spreadsheets.google.com/ccc?key=0AtBw9czGJjSTdFdlaEEwT2Y1RGotdGNWU2w4WDh3Nnc&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4I3iR6s_Psk/SupY7RuNEcI/AAAAAAAAIzY/A4QB9mRVnHQ/s1600-h/accident_count_by_primary_street.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 200px;" src="http://3.bp.blogspot.com/_4I3iR6s_Psk/SupY7RuNEcI/AAAAAAAAIzY/A4QB9mRVnHQ/s400/accident_count_by_primary_street.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5398224878749684162" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4I3iR6s_Psk/SupZClyTeaI/AAAAAAAAIzg/nIjHB_m_U4A/s1600-h/crime_count_by_neighborhood.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_4I3iR6s_Psk/SupZClyTeaI/AAAAAAAAIzg/nIjHB_m_U4A/s400/crime_count_by_neighborhood.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5398225004394674594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;a name="update"&gt;&lt;/a&gt;&lt;p&gt;Wow, who knew that &lt;b&gt;&lt;i&gt;&lt;strike&gt;72% of all crime in Virginia Beach&gt;&lt;/strike&gt;&lt;/i&gt;&lt;/b&gt; occurs at the Oceanfront?&lt;/p&gt;&lt;p&gt;&lt;i&gt;Update:  &lt;b&gt;HUGE, HUGE ERROR&lt;/b&gt; in my reporting of this stat.  The pie chart above &lt;b&gt;does not show all crime in Virginia Beach&lt;/b&gt;.  It shows &lt;b&gt;only the top 5 neighborhoods&lt;/b&gt;.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;This chart, below, is the correct chart.  It shows that, while still a standout piece of the pie, &lt;b&gt;4%&lt;/b&gt; of all crime happens at the Oceanfront.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://spreadsheets.google.com/ccc?key=0AtBw9czGJjSTdHdXVFhNSlJCRm5xbjNGZkRkeVVoN1E&amp;amp;hl=en"&gt;&lt;img width="400" height="300" src="http://spreadsheets.google.com/oimg?key=0AtBw9czGJjSTdHdXVFhNSlJCRm5xbjNGZkRkeVVoN1E&amp;amp;oid=4&amp;amp;v=1266375109532" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;I'm feeling really dense right now, but in a way I'm glad this happened.  This is a perfect illustration of a fundamental in data viz (and reporting).&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-8665530347325607801?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/8665530347325607801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=8665530347325607801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8665530347325607801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8665530347325607801'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/10/mashing-up-virginia-beach-police-data.html' title='Mashing up Virginia Beach Police Data with Google Docs'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4I3iR6s_Psk/SupOd-omRYI/AAAAAAAAIzE/qaEPbICWRdU/s72-c/vbgov.com_crime_form.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-5364963781942723872</id><published>2009-10-10T12:20:00.000-07:00</published><updated>2009-10-29T20:15:12.460-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gov 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='gov20'/><category scheme='http://www.blogger.com/atom/ns#' term='Virginia'/><category scheme='http://www.blogger.com/atom/ns#' term='Virginia Beach'/><category scheme='http://www.blogger.com/atom/ns#' term='citycamp'/><title type='text'>Ten Things My City Can Do to Improve Our Website</title><content type='html'>&lt;ol&gt;&lt;li&gt;Publish events in iCal format&lt;/li&gt;&lt;li&gt;Publish electronic police reports as XML&lt;/li&gt;&lt;li&gt;Publish 311 data (as XML)&lt;/li&gt;&lt;li&gt;Geocode public works projects&lt;/li&gt;&lt;li&gt;Implement short, guessable URLs&lt;/li&gt;&lt;li&gt;Use a free mapping service&lt;/li&gt;&lt;li&gt;Update the Transportation Data Management System&lt;/li&gt;&lt;li&gt;Add a "Web-Friendly" link next to "Printer-Friendly"&lt;/li&gt;&lt;li&gt;Create a data catalog&lt;/li&gt;&lt;li&gt;Get a .gov address&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Details to be added &lt;a href="http://kevincurry.blogspot.com/2009/10/mashing-up-virginia-beach-police-data.html"&gt;here&lt;/a&gt;...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-5364963781942723872?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/5364963781942723872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=5364963781942723872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/5364963781942723872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/5364963781942723872'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/09/ten-things-my-city-can-do-to-improve.html' title='Ten Things My City Can Do to Improve Our Website'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-5570960055412225880</id><published>2009-09-30T12:41:00.001-07:00</published><updated>2009-10-02T09:30:38.061-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gov20'/><category scheme='http://www.blogger.com/atom/ns#' term='g2s'/><category scheme='http://www.blogger.com/atom/ns#' term='people'/><category scheme='http://www.blogger.com/atom/ns#' term='g2e'/><title type='text'>Gov 2.0 Doers</title><content type='html'>There has been some criticism that Gov 2.0 is:&lt;div&gt;&lt;ol&gt;&lt;li&gt;Just another buzz word&lt;/li&gt;&lt;li&gt;Just people talking about stuff, no one doing stuff&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;I disagree, certainly with the 2nd point.  Most of the Gov 2.0 people I know and/or follow on Twitter are the &lt;i&gt;doers&lt;/i&gt;.  Here's a list of who some of them are, certainly not comprehensive, in no particular order:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Brian Sobel, InnovationGeo, Are You Safe, iLive.at&lt;/li&gt;&lt;li&gt;Dmitry Kachaev, D.C. OCTO R&amp;amp;D&lt;/li&gt;&lt;li&gt;Philip Ashlock, Open Planning Project, Open 311&lt;/li&gt;&lt;li&gt;Josh Tauberer, GovTrack.us&lt;/li&gt;&lt;li&gt;Jim Gilliam, act.ly, GovLuv.org, TweetProgress.us, WhiteHouse2.org, and NationBuilder.com&lt;/li&gt;&lt;li&gt;Andrew Turner, GeoCommons, FortiusOne&lt;/li&gt;&lt;li&gt;Everyone at Sunlight Labs&lt;/li&gt;&lt;li&gt;Carl Malamud, public.resource.org&lt;/li&gt;&lt;li&gt;Jen Pahlka, Code for America&lt;/li&gt;&lt;li&gt;Leonard Lin, Code for America&lt;/li&gt;&lt;li&gt;Steve Ressler, GovLoop&lt;/li&gt;&lt;li&gt;Noel Hidalgo, New York State Office of the CIO&lt;/li&gt;&lt;li&gt;Raymond Yee, UC Berkeley&lt;/li&gt;&lt;li&gt;Peter Corbett, iStrategy Labs, Apps for Democracy&lt;/li&gt;&lt;li&gt;Kevin Merritt, Socrata.com&lt;/li&gt;&lt;li&gt;Hillary Hartley, NICUSA, Citizen Space&lt;/li&gt;&lt;li&gt;Guy Martin, Forge.mil&lt;/li&gt;&lt;li&gt;Silona Bonewald, League of Technical Voters, citability.org&lt;/li&gt;&lt;li&gt;Kevin Connor, LittleSis.org&lt;/li&gt;&lt;li&gt;Greg Elin, United Cerebral Palsy&lt;/li&gt;&lt;li&gt;Noel Dickover, DoD Office of the CIO, DoDTechipedia.mil&lt;/li&gt;&lt;li&gt;Jon Udell, Microsoft, ElmCity&lt;/li&gt;&lt;li&gt;Kim Patrick Kobza, Neighborhood America&lt;/li&gt;&lt;li&gt;Jay Nath, City of San Francisco&lt;/li&gt;&lt;li&gt;Wayne Moses Burke, Open Forum Foundation&lt;/li&gt;&lt;li&gt;Micah Sifry, Personal Democracy Forum&lt;/li&gt;&lt;li&gt;George Thomas, GSA&lt;/li&gt;&lt;li&gt;Alan Silberberg, You2Gov.org&lt;/li&gt;&lt;li&gt;Steve Lunceford, GovTwit.com&lt;/li&gt;&lt;li&gt;Joseph Porcelli, Neighbors for Neighbors&lt;/li&gt;&lt;li&gt;Luke Fretwell, GovFresh&lt;/li&gt;&lt;li&gt;Chris Rasmussen, Intellipedia, NGO&lt;/li&gt;&lt;li&gt;Pam Broviak, MuniGov 2.0&lt;/li&gt;&lt;li&gt;Bill Greeves, MuniGov 2.0, Roanoke County, VA&lt;/li&gt;&lt;li&gt;Jeff Levy, EPA Web Manager, Federal Web Managers Council&lt;/li&gt;&lt;li&gt;Adrian Holovaty, Everyblock, chicagocrime.org&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;BTW, we need both "talkers" &lt;i&gt;and &lt;/i&gt;"doers."  Some people are both.  Some people are connectors.  Not everyone is an implementer.  I tried to stick to implementers; to pick people who have projects and/or organizations dedicated to or related to Gov 2.0.  There are some obvious names not on this list.  That's probably because they are not implementers.  Doesn't mean they're not important.  If I missed someone you think should be on the list leave a comment.  Be sure to tell me what project they're on.  I certainly don't know everyone.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll try to come back with links and pictures.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-5570960055412225880?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/5570960055412225880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=5570960055412225880' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/5570960055412225880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/5570960055412225880'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/09/gov-20-doers.html' title='Gov 2.0 Doers'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-2978809604280809792</id><published>2009-08-27T18:58:00.001-07:00</published><updated>2009-08-27T19:14:12.535-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='Army'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><title type='text'>Views, Transformations, and Sources</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4I3iR6s_Psk/Spc52h_zxmI/AAAAAAAAImQ/9XEYp49TcsY/s1600-h/view_xform_source.JPG"&gt;&lt;br /&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 276px;" src="http://3.bp.blogspot.com/_4I3iR6s_Psk/Spc52h_zxmI/AAAAAAAAImQ/9XEYp49TcsY/s400/view_xform_source.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5374828289291699810" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Visualizations, like any research product, should contain bibliographic hyperlinks to sources and transformations.  (Click to englarge.)&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-2978809604280809792?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/2978809604280809792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=2978809604280809792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2978809604280809792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2978809604280809792'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/08/views-transformations-and-sources.html' title='Views, Transformations, and Sources'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4I3iR6s_Psk/Spc52h_zxmI/AAAAAAAAImQ/9XEYp49TcsY/s72-c/view_xform_source.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-8503569240319137572</id><published>2009-08-25T09:51:00.000-07:00</published><updated>2009-08-26T10:46:29.717-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='citizenship'/><category scheme='http://www.blogger.com/atom/ns#' term='gov20'/><title type='text'>Why Gov 2.0 Matters To Me</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;i&gt;I posted this here last night but took it down because it felt too personal and too much about my story.  The reason I wrote it this way is because I didn't want to presume why it should matter to other people, but rather describe why it matters to me and let others find commonality in it...or not.  Tim O'Reilly just posed the question: "&lt;a href="http://radar.oreilly.com/2009/08/what-does-government-20-mean-to-you.html"&gt;What does Gov 2.0 mean to me?&lt;/a&gt;"  I think he may be asking a slightly different question (definition vs. motivation), but given that I decided to put this back out there.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Friends and family have been asking me why I'm into Gov 2.0 and what I get out of it.  I'm going to attempt to answer these questions for them and for me here in this post.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;For me, Gov 2.0 is personal.  I can't answer the question without relating it to my own story:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I was born on October 14, 1970 at &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www-nmcp.med.navy.mil/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Portsmouth Naval Hospital&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; in &lt;/span&gt;&lt;/span&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=portsmouth,+va&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=35.957999,70.576172&amp;amp;ie=UTF8&amp;amp;z=11&amp;amp;iwloc=A"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Portsmouth, Virginia&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.  My father was stationed at &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.cnic.navy.mil/Oceana/index.htm"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Naval Air Station Oceana&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; in &lt;/span&gt;&lt;/span&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=virginia+beach,+va&amp;amp;sll=36.83503,-76.312844&amp;amp;sspn=0.284125,0.551376&amp;amp;ie=UTF8&amp;amp;z=10&amp;amp;iwloc=A"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Virginia Beach&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.  From where I sit writing this, Oceana is not more than a quarter of a mile away (as the jets/crows fly).  &lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://1.bp.blogspot.com/_4I3iR6s_Psk/SpRNsW0RYUI/AAAAAAAAIiY/lk6hDi9BztU/s400/latitude_loc.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 336px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5374005679794250050" /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;My mother was a teacher in the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.vbschools.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Virginia Beach Public Schools&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; system.  I grew up in that school system and my daughter is in it now, 5th grade.  I have not always lived here.  I spent about 10 years in the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://maps.google.com/maps?source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=new+river+valley&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=35.957999,70.576172&amp;amp;ie=UTF8&amp;amp;hq=new+river+valley+loc:&amp;amp;split=1&amp;amp;z=9"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;New River Valley&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; of southwest Virginia for college, work, and graduate school.   I did not intend to come back to Virginia Beach after grad school.  In 1999 I was graduating with a Master of Science in Computer Science and Applications degree from &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.vt.edu/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Virginia Tech&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.  It was decent ticket to anywhere and I was looking west to San Antonio, San Francisco, and Redmond.  But events unfolded and I transitioned from a part-time graduate research assistant at Virginia Tech to a full-time Research Associate at &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.researchfoundation.odu.edu/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Old Dominion University Research  Foundation&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;, in Norfolk, VA.  Fast-forward to today, in the late summer of 2009, and I'm right back where I started.  I think my internal magnets have this lat/lon set as my home base.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I'm not at ODU anymore.  Today I'm a government contractor at &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.bridgeborn.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;a company I co-founded&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;. Mostly I am a Defense contractor.  I didn't set out to be that either.  In fact, I was explicitly trying to avoid it.  I don't want to get into all of the reasons why.  It's far too complicated for anyone but me to understand and I'm not even sure I do.  At risk of abusing a metaphor, suffice it to say that my internal magnets draw me to other things.  But I have grown and learned as Defense contractor.  I have banished narrow prejudices and have adopted new world views.  I have also rekindled something in me that was instilled at a very early age by my parents:  &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;the importance of public service&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I can still see my dad standing in our driveway at my childhood home, as I would have looked up to him, telling me about public service.  I remember he tended to talk specifically about civil service.  Though he was in the Navy he didn't necessarily talk about military service.  Grandma Curry worked for the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.cbp.gov/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;U.S. Customs Service&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; and I know my dad admired that.  Dad also talked a lot about how involved Grandpa Curry was with &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.miamidade.gov/parks/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Miami-Dade Parks &amp;amp; Recreation&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;, in &lt;/span&gt;&lt;/span&gt;&lt;a href="http://maps.google.com/maps?q=miami,+fl&amp;amp;ie=UTF8&amp;amp;split=0&amp;amp;gl=us&amp;amp;ei=5VOUSqTeIYHZlAfR0omgDA&amp;amp;t=p&amp;amp;z=11&amp;amp;iwloc=A"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Miami, FL&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I've rarely shied away from taking initiative where I see something needs to be done and participation in organizations comes naturally to me.  I've ignored the call to service once or twice.  After 17 years growing up a Navy brat, the effects of having a parent coming and going every 6-8 months, and lacking any of my own life direction, I steered away from ROTC and a long term commitment to a military career.  I could have gone into civil service, I suppose, but another thing about my internal composition:  I'm an entrepreneur and I don't care much for layered, abstract bureaucracy.  I'm not so much into rising up through the ranks as making my own way.  It's not that rising up through the ranks is bad.  It's highly admirable, in fact.  It's just not me.  For me, patience is a trained virtue.  If there's one thing I've learned as a government contractor is that working either with or for government requires intense patience.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;So here I am.  I'm a &lt;/span&gt;&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Generation_X"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Generation Xer&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.  I have not served in the military or civil service.  I am easily frustrated by government process.  Yet, I have an intense inclination toward public service.  How do those add up?  What can I do to serve government?  &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;i&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;(I think this is a question lots of people like me are asking themselves.)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I think today the answers are non-traditional.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I am active in the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.vapta.org/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;PTA&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; for my daughter's school.   I try to remain active with our Community League.  For the past two years I've organized our neighborhood's participation in &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.cbf.org/clean"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Clean the Bay Day&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.  Before then our neighborhood didn't participate in CTBD.  Of course, these aren't government activities.  I think they help government activities, though, and that's significant.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;For me, Gov 2.0 represents a near-perfect fit with my personality, direction, and goals.  I feel like it was made just for me or that I was made just to live at this time.  I really do.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;There is and will continue to be no shortage of debate about what Gov 2.0 is, exactly.  In fact, during the second week of September there is a "summit" in Washington D.C. dedicated to the topic.  Is it tech?  Does it include non tech?  How does it work?  Who can participate?  I'm not sure framing it is as important as learning to recognize it from multiple perspectives and acting.  I tend to take a literal interpretation.  For me, that means there is a distinct connection between Gov 2.0 and &lt;/span&gt;&lt;/span&gt;&lt;a href="http://oreilly.com/web2/archive/what-is-web-20.html"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Web 2.0&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.  Therefore, for me, Gov 2.0 tends to be significantly Web/tech enabled.  But as someone experienced in working for government, I know that tech requires policy and that both are intended to work for people.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;This year I attended three important "unconferences" for Gov 2.0 movement:  &lt;/span&gt;&lt;/span&gt;&lt;a href="http://transparencycamp.org/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Transparency Camp&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; East, &lt;/span&gt;&lt;/span&gt;&lt;a href="http://gov20camp.eventbrite.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Gov 2.0 Camp&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; East, and Transparency Camp West.  I will be at the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.gov2summit.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Gov 2.0 Summit&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; in a couple of weeks and at &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.gov2expo.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Gov 2.0 Expo&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; next Spring.   What most interests me is how I can use Gov 2.0 techniques to improve the way my city functions.  I am interested also in how my customers will respond to Gov 2.0 and how I can apply it to their needs, but my motive is not winning more contracts.  Sure, some will say that if they think it's what other people want to hear.  Let there be no doubt that I want my business to succeed and I want to prosper from it.  But I'm willing to take it on faith that both things will happen if I just keep following my passion and don't resist the pull of my internal magnets.  I just want to "&lt;/span&gt;&lt;/span&gt;&lt;a href="http://radar.oreilly.com/2009/01/work-on-stuff-that-matters-fir.html"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;work on stuff that matters.&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;"  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Increasingly, I want to work on stuff that matters here in Virginia Beach and in my region.  But I also want to work on stuff that matters for my state, our nation, and our world.  I am particularly drawn toward applications in education, where I see a growing gap between public and private education that is not just affecting the fringes, but is squarely squeezing out the middle and making our nation "dumber" as a whole.  I see Gov 2.0 as a means for correcting this troublesome situation.  (In general, I think Gov 2.0 can be particularly effective in areas that lack models, process, and funding.)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Early next year I hope to be kicking off the inaugural CityCamp, along with &lt;/span&gt;&lt;/span&gt;&lt;a href="http://twitter.com/pahlkadot"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Jen Pahlka&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; from Tech Web.  Our goal is to start an unconference around the theme "Gov 2.0 goes local."  Jen also has another project in the works that is very much in line with this theme.  It's called Code for America and it's modeled after the successful &lt;/span&gt;&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Teach_For_America"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Teach for America&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; program.  I look forward to seeing that take shape.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;So, this is about the examples set by my parents (and their parents) and the lessons they taught me.  It's about wanting to be a part of the solution in my community and my school system; not just a sideline complainer.  It's about recognizing that I have something to offer that government needs.  This is my opportunity to serve.  This is why Gov 2.0 matters to me. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-8503569240319137572?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/8503569240319137572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=8503569240319137572' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8503569240319137572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8503569240319137572'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/08/why-gov-20-matters-to-me.html' title='Why Gov 2.0 Matters To Me'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4I3iR6s_Psk/SpRNsW0RYUI/AAAAAAAAIiY/lk6hDi9BztU/s72-c/latitude_loc.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-500743222695189043</id><published>2009-08-14T18:00:00.000-07:00</published><updated>2009-08-15T20:38:22.807-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gov20'/><category scheme='http://www.blogger.com/atom/ns#' term='web20'/><category scheme='http://www.blogger.com/atom/ns#' term='linked data'/><category scheme='http://www.blogger.com/atom/ns#' term='us code'/><title type='text'>U.S. Code as Linked Data</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Recently the &lt;/span&gt;&lt;a href="http://uscode.house.gov/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Office of the Law Revision Council&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; released a &lt;/span&gt;&lt;a href="http://www.house.gov/cao-opp/PDFSolicitations/OPR09000754-LRC.pdf"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;request for proposal (RFP) to upgrade their website&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="  font-style: italic; font-weight: bold; font-family:Verdana;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;span class="Apple-style-span"  style="  -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;"The Office of the Law Revision Counsel prepares and publishes the United States Code, which is a consolidation and codification by subject matter of the general and permanent laws of the United States."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;We responded to that RFP.  We = &lt;/span&gt;&lt;a href="http://www.bridgeborn.com/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Bridgeborn, Inc&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, and &lt;/span&gt;&lt;a href="http://businessbullpen.com/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Business Bullpen, LLC&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The Law Revision Council's recognition that the online home of the United States Code needs upgrading translates into a wonderful opportunity for the LRC, our companies, and the American People.  This is much more than an opportunity to redesign web pages for an online presence.  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;/span&gt;&lt;span style="font-weight: normal; "&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;This is an opportunity to publish the U.S. Code as &lt;a href="http://www.w3.org/DesignIssues/LinkedData.html"&gt;linked data&lt;/a&gt;.&lt;/span&gt;&lt;span style="font-style: normal; "&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-weight: normal; "&gt;&lt;span style="font-style: normal; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Linked data is important for the U.S. Code because it will make the Code more searchable, navigable, and usable by orders of magnitude.  Linked data will also increase accessibility and lower costs of integration by making it easier for more consumers to treat the information according to their needs and possible constraints.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-weight: normal; "&gt;&lt;span style="font-style: normal; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Sites exist already to provide the U.S. Code through styled web pages.  The&lt;/span&gt;&lt;a href="http://www.law.cornell.edu/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; Legal Information Institute of the Cornell University Law School&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, for example, publishes &lt;span class="Apple-style-span"  style=" ;font-size:16px;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;a &lt;/span&gt;&lt;a href="http://www.law.cornell.edu/uscode/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;searchable HTML index of the U.S. Code&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.  This version, however, is &lt;/span&gt;&lt;a href="http://validator.w3.org/check?uri=http://www.law.cornell.edu/uscode/html/uscode01/usc_sec_01_00000001----000-.html&amp;amp;charset=(detect+automatically)&amp;amp;doctype=Inline&amp;amp;group=0"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;not well-formed&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, linked data.  These sites also omit important text included in the official record published by the LRC, such as the &lt;a href="http://uscode.house.gov/codification/legislation.shtml"&gt;Positive Law Codification&lt;/a&gt; actions that have been taken. These sites play an important roll is the dissemination of U.S. Code, so it is our hope that this effort will also make the U.S. Code more  accessible and usable for consumers like Cornell's LII.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The LRC Web site isn't too bad really.  Essentially what it needs is a global site navigation scheme, search on every page, and a good Cascading Style Sheet.  There are features that could be added, such as public request for comments with voting.  But the most important thing anyone can do with this site is&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Tag the&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt; Code.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style=" font-style: normal; font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;For example, the following text:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'Courier New';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;-CITE-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;span style="font-family:'times new roman';"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;THE ORGANIC LAWS OF THE UNITED STATES OF AMERICA&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;span style="font-family:'times new roman';"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;-End-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;span style="font-family:'times new roman';"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;-CITE- &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;span style="font-family:'times new roman';"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; USC THE DECLARATION OF INDEPENDENCE - 1776 01/03/2007 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;span style="font-family:'times new roman';"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; -EXPCITE- &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;span style="font-family:'times new roman';"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; THE DECLARATION OF INDEPENDENCE - 1776 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;span style="font-family:'times new roman';"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; -HEAD-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;span style="font-family:'times new roman';"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;THE DECLARATION OF INDEPENDENCE - 1776 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;span style="font-family:'times new roman';"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; -MISC1- &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;span style="font-family:'times new roman';"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; THE DECLARATION OF INDEPENDENCE - 1776 (!1) IN CONGRESS, JULY 4, 1776 THE UNANIMOUS DECLARATION OF THE THIRTEEN UNITED STATES OF AMERICA&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'Courier New';"&gt;&lt;span style="font-style: normal; font-weight: normal; "&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;    ...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-weight: normal; "&gt;&lt;span style="font-style: normal; "&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Could become:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal;"&gt;&lt;img src="http://3.bp.blogspot.com/_4I3iR6s_Psk/SoYcvgLscJI/AAAAAAAAIiM/AHH365RGk54/s400/LRC_XML.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 213px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5370011208104308882" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;From here, there is nowhere we can't go with the Code.  We can put put it in any container, we can transform it into any view, we can access it from any device.  Given tagged, well-formed, linked data, we can &lt;i&gt;address every element of U.S. Code from a standard Internet URL&lt;/i&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal;"&gt;While tagging the code with XML may not fully constitute linked data, it is a big step in the right direction.  Decorating the those tags with RDF is easily accomplished. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-style-span"  style=" font-style: normal; font-weight: normal;font-size:13px;"&gt;There is no point in enumerating the potential applications of an endeavor such as this.  They are infinite.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-500743222695189043?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/500743222695189043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=500743222695189043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/500743222695189043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/500743222695189043'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/08/us-code-as-linked-data.html' title='U.S. Code as Linked Data'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4I3iR6s_Psk/SoYcvgLscJI/AAAAAAAAIiM/AHH365RGk54/s72-c/LRC_XML.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-5355248008310664077</id><published>2009-07-29T21:16:00.000-07:00</published><updated>2009-08-11T13:41:14.185-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoDAF'/><category scheme='http://www.blogger.com/atom/ns#' term='DoD'/><category scheme='http://www.blogger.com/atom/ns#' term='Document-Driven Visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='viz20'/><category scheme='http://www.blogger.com/atom/ns#' term='EA'/><category scheme='http://www.blogger.com/atom/ns#' term='web services'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='flare'/><title type='text'>Visualizing Army with Flare</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4I3iR6s_Psk/Sn5o-xecBaI/AAAAAAAAIgo/ah-YFGDg338/s1600-h/Org_TOEs_Near.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 241px;" src="http://4.bp.blogspot.com/_4I3iR6s_Psk/Sn5o-xecBaI/AAAAAAAAIgo/ah-YFGDg338/s400/Org_TOEs_Near.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5367843233514390946" /&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://3.bp.blogspot.com/_4I3iR6s_Psk/Sn5oRcNp1BI/AAAAAAAAIgY/ZcO6r-IBVnw/s400/CADIE_ExecHB_MedCo_Org_Far.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5367842454712734738" /&gt;&lt;img src="http://3.bp.blogspot.com/_4I3iR6s_Psk/Sn5oeRL9kfI/AAAAAAAAIgg/8PLL_9u8Mh8/s400/CADIE_ExecHB_MedCo_Org_Near.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5367842675091149298" /&gt;&lt;img src="http://2.bp.blogspot.com/_4I3iR6s_Psk/SnEfHG9a41I/AAAAAAAAIdQ/oJtzx3tkqQQ/s400/Flare_OV6c_far.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5364102838162744146" /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4I3iR6s_Psk/SnEfMpDAsDI/AAAAAAAAIdY/oO2njmELh9w/s1600-h/Flare_OV6c_tooltip.bmp" style="text-decoration: none;"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 239px;" src="http://2.bp.blogspot.com/_4I3iR6s_Psk/SnEfMpDAsDI/AAAAAAAAIdY/oO2njmELh9w/s400/Flare_OV6c_tooltip.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5364102933212344370" /&gt;&lt;/a&gt;&lt;img src="http://3.bp.blogspot.com/_4I3iR6s_Psk/SnEex6YIh1I/AAAAAAAAIdA/O5Nt6StyyAw/s400/Flare_OV3_far.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5364102474007873362" /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4I3iR6s_Psk/SnEe79N3ASI/AAAAAAAAIdI/_HW9fPAHOlk/s1600-h/Flare_OV3_near.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_4I3iR6s_Psk/SnEe79N3ASI/AAAAAAAAIdI/_HW9fPAHOlk/s400/Flare_OV3_near.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5364102646568780066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-5355248008310664077?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/5355248008310664077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=5355248008310664077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/5355248008310664077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/5355248008310664077'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/07/visualizing-army-with-flare.html' title='Visualizing Army with Flare'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4I3iR6s_Psk/Sn5o-xecBaI/AAAAAAAAIgo/ah-YFGDg338/s72-c/Org_TOEs_Near.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-6779941633976856958</id><published>2009-06-12T08:38:00.000-07:00</published><updated>2009-06-12T09:47:44.030-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='industry'/><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>The Mr. Miyagi School of Software Engineering</title><content type='html'>This is a re-post from a &lt;a href="http://slashdot.org/~prestidigital/journal/64640"&gt;journal entry I originally wrote&lt;/a&gt; over on Slashdot in 2004.  I've made some minor changes and updates for this entry.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Background:  This was an concept born out of necessity about 5 years ago.  I needed a way to train someone with very little experience to work with &lt;a href="http://dev.bridgeborn.com/Bridgeborn/download.asp"&gt;Bridgeworks&lt;/a&gt; but I couldn't afford to spend hours and hours of my own time working with him; too many of my own responsibilities and deliverables.  It was very successful and now he is our best Bridgeworks app developer.  Fast-forward to today when I'm interviewing CS students from a local university for a summer internship.  This is a (well) paid position for which I need someone with decent coding skills who is a self-starter.  Unfortunately none of my candidates have any practical skills whatsoever.  (I don't know what the universities are teaching, but it's not what we need in industry.)  With these candidates it would be like starting from square one.  Obviously I'm not going to pay what I'm willing to pay for people who don't have the quals.  I am willing to train such a person as an unpaid intern, but that is not without its catches.  I still don't have the time to spend hours and hours with these folks.  Furthermore, ethically, unpaid internships are intended for the sole benefit of the student.  My company should not benefit in any way from the labor of unpaid interns.  Practically speaking, though, you can't train someone without giving them tasks.  Re-enter the Mr. Miyagi School of Software Engineering.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Lessons on how to train a junior programmer:&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Let's call him Danielsan.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Mr. Miyagi was a very wise and clever sensei.  His methodology, loosely translated, is perfect for any small software company that is bringing new developers into the system.  The reason Mr. Miyagi's method works so well is because it provides intense, immersive exposure to the most important lessons while demanding relatively few additional resources from the instructor(s).  Think about it.  While Danielsan was busy painting the fence and sanding the deck, Mr. Miyagi was out having the time of his life!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;The length of each lesson is to be determined on a case by case basis.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Lesson 1:  Write SDK Documentation&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Even the best developers can be notorious for not adequately commenting their code.  Good documentation of an software includes both programmer's notes and comments for automated documentation (e.g., doxygen).  This oft neglected task is perfect for Danielsan.  An excellent way for him to learn the software from a developer's perspective is to write the documentation that explains how it all works.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Listen carefully when Danielsan asks questions about the existing code base.  Discourage him from asking too many questions, except regarding complex concepts.  It is important that Danielsan develop his own understanding of algorithms, relationships, dependencies, etc.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Lesson 2:  Build Company Demos&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Documenting the code shows Danielsan how the software developer sees things.  Danielsan also needs to see the software from users' perspectives.  "Users" include programmers who develop applications &lt;i&gt;from&lt;/i&gt; the software and end users of the applications that are developed.  Ideally, these would be two separate lessons.  Knowing that time and money are always issues, these lessons can be condensed into one by having Danielsan build the company demos.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Architects and senior engineers &lt;i&gt;loathe&lt;/i&gt; building company demos.  While they are often happy to write test apps for in-house use, company demos bring with them a mountain of maintenance headaches and customer support issues.  Whether or not your company is big enough to have it's own department(s) for maintenance and support, it's worth putting Danielsan to work on company demos so he can get his hands a little dirty and see first hand the challenges facing maintenance and support team(s).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Lesson 3:  Clean House&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Many companies have coding standards that must be followed by all code writers.  These standards help everyone to write clean, consistent code that everyone can understand.  Unless you work at a sterlized laboratory, it's a safe bet that your house &lt;i&gt;always&lt;/i&gt; needs cleaning.  A great way for Danielsan to learn this important lesson and also develop habits that are consistent with the team is to set him to work checking for adherence to company coding standards, leaks, potential security issues and the like.  It's also a convenient way for you to get your code checked by a fresh pair of eyes.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;The Successful Sensei&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;The successful sensei will know that these lessons are not opportunities for him to relax his own standards or to set Danielsan to work unguided.  The successful sensei practices what he preaches.  He knows which lessons Danielson must learn on his own and which require guidance.  Naturally, Danielsan may occasionally bemoan his instruction.  Perhaps he will consider that his training is too rote or mundane.  Since you can't just throw a bunch of karate maneuvers in his face to show him what he's learned, it's important to sometimes let Danielsan work on things he finds interesting and fun.  Ask him to write stand-alone utility apps that your company might need.  Give Danielsan isolated new tasks within the SDK, perhaps something that requires he work with others to design interface requirements, resource requirements, etc.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;to be cont'd.&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;Axiom 1:&lt;/b&gt; Tooltips are better left on.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;If you leave your tooltips on, chances are better that you will learn something new each time you use your application(s).  For Danielsan, tooltips are especially useful when they instruct him about fundamental principles of programming, those that transcend applications.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Axiom 1a:&lt;/i&gt;  Some tooltips are better than others.&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-6779941633976856958?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/6779941633976856958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=6779941633976856958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/6779941633976856958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/6779941633976856958'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/06/mr-miyagi-school-of-software.html' title='The Mr. Miyagi School of Software Engineering'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-2032383280148243326</id><published>2009-05-18T20:17:00.000-07:00</published><updated>2009-05-19T12:13:06.509-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ambient Visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='scenario'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='Bridgeworks'/><title type='text'>On Ambient Visualization</title><content type='html'>I want visualization to be less a part of a specific application that I go to and to be more of a natural extension to the computer itself, available from everywhere.  I want visualization to an &lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;a href="http://www.merriam-webster.com/dictionary/ambient"&gt;ambient&lt;/a&gt; &lt;/span&gt;experience.  When I encounter &lt;span class="Apple-style-span" style="font-style: italic;"&gt;any table of data in any document container &lt;/span&gt;I'd like to be able to quickly view it as a column chart without starting up a chart&lt;span class="Apple-style-span" style="font-style: italic;"&gt;-making&lt;/span&gt; or data processing &lt;span class="Apple-style-span" style="font-style: italic;"&gt;application&lt;/span&gt;, without shuffling around through copy &amp;amp; paste.  I just want to select rows and columns an pop a "window" with a chart in it in one easy step.  If I can recognize with my eyes that a table contains place names or lat/lon pairs then a computer ought to be able to map it with minimal intervention on the part of the user.  I should also be able to put my selected, obviously geospatial data on a virtual Earth model.  With just a little more imagination I can see turning lists and tables into nodes and edges, viewable with graph layouts.  Think &lt;a href="http://humanized.com/"&gt;Enso&lt;/a&gt; for visualization.  I might want to do more than just look at my chart, map/Earth model, and graph.  I might want to start to interact with these views (assume independently for now).  It starts to seem like I need an application to do that, but I'm not ready to jump the gun.  This is still in the realm of a &lt;span class="Apple-style-span" style="font-style: italic;"&gt;capability&lt;/span&gt; and not necessarily an application.  Applications start to assume containers and domain-specific use cases.  Most visualization techniques have standard, "off-the-shelf" things you can do with them given basic commands or input devices.  Charts can be sorted and transformed into different layouts.  One can pan, zoom, and rotate maps and terrain.  The technique of "drill-down" and "roll-up", which can be applied to any visualization technique, is nothing more than navigation of linked data at multiple levels of detail and sometimes across multiple view contexts.  At what point do is a specialized application needed more than a capability?  We may be overly conditioned to assume the application model when we think of software as having utility.  This is changing rapidly on the web.  (It was always thus on the Unix command line, yes?)  Visualization ought to change with it.  Leave the application building up to subject matter experts with an application domain, not to software programmers.  Ah but wait, lest too much be read into a passing editorial remark.  Obviously software programmers play a key role here.  The tendency among programmers who attempt to answer that call is to build an "application building framework."  Again, the assumption is that subject-matter experts always need an app to make use of viz.  I wonder why visualization software shouldn't be a part of an operating system; a core capability for any application or purpose.  There have been wonderful advances made through web browser extensions, but even here visualization is at best an after thought applied to a mostly universal application.  (I say "mostly" b/c there are no less than 3 different web browsers installed on my one operating system.)  What happens when someone emails me some data in a flat file that I open in a text editor?    Instead what is need are document object models for visualization techniques and runtime software that can parse viz documents on the fly.  The runtime is optimized for robust interaction and attribute manipulation of high level visual artifacts, not application-specific tasks.  This runtime can be invoked from a background process or "embedded" (contained in, called from) an application runtime.  Devices having different display and user interfaces can choose how to represent what are otherwise well understood visual metaphors.  Data can be more easily passed around &lt;span class="Apple-style-span" style="font-style: italic;"&gt;and visualized&lt;/span&gt; simply by passing text documents describing interactive, dynamically updatable (or not) views.  (This seems inherently more secure, too.)  Only this way is ambient visualization possible; something that is available everywhere on my computer, no matter what kind of computer/device/hardware platform I am using.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-2032383280148243326?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/2032383280148243326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=2032383280148243326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2032383280148243326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2032383280148243326'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/05/on-ambient-visualization.html' title='On Ambient Visualization'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-7178611683303118320</id><published>2009-03-09T13:58:00.000-07:00</published><updated>2009-03-13T18:41:12.741-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='citizenship'/><category scheme='http://www.blogger.com/atom/ns#' term='Gov 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Carl Malamud'/><category scheme='http://www.blogger.com/atom/ns#' term='open government data'/><category scheme='http://www.blogger.com/atom/ns#' term='transparency'/><category scheme='http://www.blogger.com/atom/ns#' term='GPO'/><title type='text'>Carl Malamud for Public Printer of the United States</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://yeswescan.org/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 201px; height: 290px;" src="http://yeswescan.org/data.4.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;I endorse Carl Malamud for Public Printer of the United States&lt;/div&gt;&lt;div style="text-align: center;"&gt;(Administrator of the &lt;a href="http://www.gpo.gov/"&gt;US GPO&lt;/a&gt;)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-7178611683303118320?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/7178611683303118320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=7178611683303118320' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7178611683303118320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7178611683303118320'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/03/carl-malamud-for-public-printer-of.html' title='Carl Malamud for Public Printer of the United States'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-6952823647177269439</id><published>2009-02-15T08:54:00.000-08:00</published><updated>2009-08-28T07:44:14.035-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoDAF'/><category scheme='http://www.blogger.com/atom/ns#' term='Document-Driven Visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='ETLV'/><category scheme='http://www.blogger.com/atom/ns#' term='web services'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='FEA'/><title type='text'>Enterprise Architectures As Data 2</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;a href="http://kevincurry.blogspot.com/2008/12/enterprise-architectures-as-data.html"&gt;I wrote about this topic last December&lt;/a&gt;.  Now I want to drill down on a key element of our approach for turning enterprise architecture models into queryable sources.  Furthermore,  I should address why anyone would ever care about "turning enterprise architecture...blah blah blah."&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;div&gt;There is a technology aspect and a human aspect.  Both are necessary, but technology alone is never sufficient.  Far more important to our success has been a strategy focused on answering key stakeholder questions.  &lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My experience is mostly with Department of Defense Architecture Framework (DoDAF), so I will use examples from that domain.  But to the best of my ability I will use language that is portable to other domains.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, what are "key stakeholder questions?"  To what does "key" refer, "stakeholder" or "questions?"  The answer to the second question is:  both.  The answer to the first question is:  depends on which stakeholder(s) we are talking about.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the Army, and DoD in general, organizations are broken down at the general officer level from 1-9 as follows:  &lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;HR&lt;/li&gt;&lt;li&gt;Intel&lt;/li&gt;&lt;li&gt;Operations&lt;/li&gt;&lt;li&gt;Logistics/Sustainment&lt;/li&gt;&lt;li&gt;Planning/Doctrine&lt;br /&gt;&lt;/li&gt;&lt;li&gt;IT&lt;/li&gt;&lt;li&gt;Training&lt;/li&gt;&lt;li&gt;Finance&lt;/li&gt;&lt;li&gt;Civil-Military Cooperation&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;These are the key stakeholder perspectives at the highest level.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An Operator wants to know, "How will architecture help me win the fight (i.e., get the work done)?"  A Budget Analyst wants to know, "How does architecture help me making smarter spending decisions?"  These are reasonable questions.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_4I3iR6s_Psk/Sbsajwft6TI/AAAAAAAAG9A/y_7wd-mQ7c0/s400/MultipleStakeholderPerspectives.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 341px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5312869387029309746" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;UPDATE 2009-09-28:  THERE IS AN ERROR IN THIS GRAPHIC.  THE G8's perspective in this case is "Force Development."  He is asking the question, "Is the Force we are developing in line with my capability expectations?"&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Indeed, no model exists except to answer questions.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But when presented with architecture in forms that speak only to the IT/engineering perspective, i.e., schematics, flow diagrams and the like, the multi-stakeholder conclusion tends to be, "Architecture doesn't help answer my questions."  That's unfortunate because architecture, especially at the scale and complexity of federal government, can be effective in answering many useful questions for all perspectives.  The trick is to:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Understand what questions are being asked&lt;/span&gt; from each perspective&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Extend architectures from models that produce schematics into queryable sources that can produce schematics &lt;span class="Apple-style-span" style="font-style: italic; "&gt;and also answer questions&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Extract the answers to those questions &lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;automatically &lt;/span&gt;to an open, text-based format&lt;/li&gt;&lt;li&gt;Transform answers into views that are "fit for purpose," i.e., can be understood and used from many perspectives&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Therefore, the question IT people should be asking is, "What can I do to make architecture better able to answer stakeholder questions."  To be sure, there are questions architectures can't answer.  But it is more productive to focus on the questions that architecture can answer.  Following are actual endpoints in use (though they don't point anywhere in this post):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;li&gt;&lt;a href="http://localhost/aarmsservice/aarmsservice.asmx?op=GetCountOfPlatformsForArch"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;GetCountOfPlatformsForArch&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;Returns an Xml Node containing a NewDataSet for the distribution of  platforms for the given architecture&lt;br /&gt;Answers the question: &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;What are the  platforms of this architecture and how many of each?&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;a href="http://localhost/aarmsservice/aarmsservice.asmx?op=GetCountOfPlatformsForArchAndTOE"&gt;GetCountOfPlatformsForArchAndTOE&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;Returns an Xml Node containing a NewDataSet for the distribution of  platforms for the given architecture and TOE&lt;br /&gt;Answers the question: &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;What  are the platforms of this architecture and TOE and how many of each?&lt;a href="http://localhost/aarmsservice/aarmsservice.asmx?op=GetEquipmentForONN"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span&gt;&lt;a href="http://localhost/aarmsservice/aarmsservice.asmx?op=GetEquipmentForONN"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;GetEquipmentForONN&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" font-weight: bold;font-family:arial;"&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Returns an Xml Node describing the equipment used by the given ONN in  the given architecture&lt;br /&gt;Answers the question: &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;What equipment does this ONN  use in this architecture?&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" font-weight: bold;font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" font-weight: bold; font-family:arial;"&gt;&lt;img src="http://4.bp.blogspot.com/_4I3iR6s_Psk/SZi8iY7U_LI/AAAAAAAAG5U/aA5ZiifPnDc/s400/HorseBlanketONN.bmp" style="text-align: left;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 353px; height: 400px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5303195860221623474" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style=" font-weight: bold; font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Believe it or not, this type of view can be automatically produced &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style=" font-weight: bold; font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;from an enterprise architecture model&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"   style="  font-weight: bold;font-family:arial;font-size:10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;There is added value in this approach, too.  From the technology side of the coin, opening up architecture models through relational databases and ubiquitous, text-based formats makes it much easier to relate architecture data with other data.  An architecture can tell you "how many," but "how much" is probably in another database.  In fact, there are about 85 software programs the Army knows about that are being used to track costs for systems.  To be sure some will be eliminated.  But many will stay and those that do must support data portability.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ok, so...why does any of this matter?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let us start with the fact that government is an enormous compiler of data.  It really doesn't matter if we are talking about enterprise architecture, a Line Item Number database, a "portfolio management" system, or even good, old-fashioned spreadsheet.  Analysts will never part with their spreadsheets.  Wonks stuff data into tools.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Unfortunately, many useful tools that are good at capturing data are lousy at both storing it and saving it back out.  Applications too often co-mingle their own data with the subject matter data, making it difficult to separate later.  Many tools don't have export in mind.  (&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;All tools should&lt;/span&gt; have &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;export &lt;/span&gt;in mind&lt;/span&gt;.)  Owners of online, enterprise databases typically only offer their contents in human-readable formats; PDF and HTML pages. Applications built for one perspective are lousy at supporting other perspectives.  The list of interoperability challenges goes on.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A battalion commander is not typically nimble with UML.  Same goes for a budget analyst and resource director.  In the world of enterprise architecture the consequence is that a lot of people are taking a lot of time away from their primary tasks so that they can manually shuffle data into views their many customers demand.  Time is money.  My back of the napkin estimate is that architecture shops are working twice as hard for half the output that they could otherwise achieve if they offloaded the ETLV problem to IT and got back to building architectures.  Of course, plenty will point out that architecture and reality are often different.  That's a topic for another discussion.  Like it or not, enterprise architecture plays a huge role in government organizations, especially DoD.  This is just about getting better return on that investment.  It's opportunity for both a current cost savings and future "force multiplier."&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, I would argue that the strategy of answering key stakeholder questions is useful to knowledge management in general, regardless of subject matter domain or technology form factor.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-6952823647177269439?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/6952823647177269439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=6952823647177269439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/6952823647177269439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/6952823647177269439'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/02/enterprise-architectures-as-data-2.html' title='Enterprise Architectures As Data 2'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4I3iR6s_Psk/Sbsajwft6TI/AAAAAAAAG9A/y_7wd-mQ7c0/s72-c/MultipleStakeholderPerspectives.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-8601714476316498536</id><published>2009-01-27T20:55:00.000-08:00</published><updated>2009-02-08T08:29:43.135-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='criticism'/><category scheme='http://www.blogger.com/atom/ns#' term='government'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><title type='text'>"Response" to Previous</title><content type='html'>Update 12.28.09:  I just had to record for posterity the flames from some folks who tagged my previous post in Reddit.  (So much for polite, constructive discourse.)  In truth, I would like to have this conversation with some of these folks.  Even the harshest ones.  But I don't want to have to register for a service I don't use and I don't want to get into flame wars over comment threads.  I get the frustration.  I've experienced it.  I too have been and remain rather skeptical of the hype.  Some level of hype gets things noticed and forces conversations that need to happen but aren't.  Some of what I said was written and/or read poorly.  For example, Mac/Office is about culture, not interoperability.  I know that Google came before Web 2.0.   That was expressed poorly.  My company also was doing a lot of this stuff before we ever heard of Web 2.0.  I can't speak for Tim O'Reilly, but I feel confident he realizes he didn't invent something.  He made salient observations about the Internet and human behavior and how the two have, do, and perhaps ought to work together.  Many of these concepts go back decades to the roots of computer science and the Internet.  I've been in workshops with Senior Technical Fellows, having extremely well-qualified CVs, who said, "we proposed all this in the beginning."  My response was, "Exactly.  Isn't it past time we got back to that?" &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And I know how radical ("insane") my idea sounds, but I am not saying government should fund Web 2.0.  This is not about a bailout, as some seem to think.  Some of these comments come from the position of having no idea how government runs.  I'm saying government &lt;span class="Apple-style-span" style="font-style: italic;"&gt;is&lt;/span&gt; actively spending money, money is being wasted, and I know from education and direct, relevant experience that several of the concepts articulated in &lt;a href="http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html"&gt;the original essay&lt;/a&gt; can help tax paying citizens spend more wisely.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Consider &lt;a href="http://innovation.cio-g6.com/index.php"&gt;this from the Army&lt;/a&gt;:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;"&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(68, 68, 68);   line-height: 16px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;The Army spends, under 85 programs, approximately $6.7B annually on Information Technology (I.T.) without a method to converge these systems into a centralized infrastructure designed to improve robustness and dynamically deliver web services to hundreds of thousands of users while reducing risk"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And that is just service within DoD, DoD just being one (the biggest) government spender on IT.  It's full of waste and the reason isn't just because Web 2.0 is magic Koolaid or that we are already on to so-called Web 3.0.  It is because the government still looks at the Web the way it used to be in the 90s; i.e., with a 1.0 mindset.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More concrete thoughts on this later on how exactly government might use Twitter, for example.  Think SMS.  Twitter is  a metaphor.  The folks who run Twitter - for example - just might be the &lt;a href="http://benchracing.typepad.com/bench_racing_with_steve_a/images/2007/10/24/the_pros_from_dover.jpg"&gt;Pros from Dover&lt;/a&gt; who can help save government from itself.  Think FEMA and USAID...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's the juicy stuff:&lt;br /&gt;&lt;p class="title" style="margin-top: 0px; margin-right: 0px; margin-left: 0px; color: blue; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; font-size: medium; font-weight: normal; margin-bottom: 1px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="title" style="margin-top: 0px; margin-right: 0px; margin-left: 0px; color: blue; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; font-size: medium; font-weight: normal; margin-bottom: 1px; "&gt;&lt;a class="title " href="http://kevincurry.blogspot.com/2008/12/q-how-does-web-20-make-money-government.html" style="text-decoration: none; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; font-size: medium; font-weight: normal; margin-bottom: 1px; color: rgb(85, 26, 139); "&gt;Haha, this nutbag thinks that the government should fund web 2.0. And he's serious.&lt;/a&gt;&lt;span class="domain"  style="color: rgb(136, 136, 136);  font-size:x-small;"&gt;(&lt;a href="http://www.reddit.com/domain/kevincurry.blogspot.com" style="text-decoration: none; color: rgb(136, 136, 136); "&gt;kevincurry.blogspot.com&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p class="tagline" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(136, 136, 136); font-size: x-small; "&gt;submitted 4 days ago by &lt;a class="author" href="http://www.reddit.com/user/candlejac/" style="color: rgb(51, 102, 153); text-decoration: none; "&gt;candlejac&lt;/a&gt;&lt;/p&gt;&lt;ul class="flat-list buttons" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; list-style-type: none; display: inline; "&gt;&lt;li class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-left: 0px; "&gt;&lt;a class=" comments" href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/" target="_parent" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;11 comments&lt;/a&gt;&lt;/li&gt;&lt;li class="share"  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;span class="share-button toggle"&gt;&lt;a class="option active " href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" onclick="return showcover('', 'share_' + $(this).thing_id());" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; display: inline; "&gt;share&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="child" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/div&gt;&lt;div class="clearleft" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; clear: left; height: 0px; "&gt;&lt;/div&gt;&lt;div class="clearleft" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; clear: left; height: 0px; "&gt;&lt;/div&gt;&lt;div class="menuarea"   style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom- padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; margin-top: 5px; margin-right: 310px; margin-bottom: 5px; margin-left: 5px;  font-size:larger;color:gray;"&gt;&lt;div class="spacer" style="margin-top: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-bottom: 5px; display: inline; margin-right: 15px; "&gt;&lt;span class="dropdown-title lightdrop"&gt;sort by: &lt;/span&gt;&lt;div class="dropdown lightdrop" onclick="open_menu(this)" onmouseover="hover_open_menu(this)" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; cursor: default; display: inline; position: relative; "&gt;&lt;span class="selected"  style="font-weight: bold; position: relative; background-image: url(http://www.reddit.com/static/droparrowgray.gif); background-repeat: no-repeat; background-attachment: scroll; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; padding-right: 21px; text-decoration: underline;  background-position: 100% 50%; color:gray;"&gt;hot&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="spacer" style="margin-top: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-bottom: 5px; display: inline; margin-right: 15px; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id="siteTable_t3_7rzjp" class="sitetable nestedlisting" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; "&gt;&lt;div class=" thing id-t1_c078jel odd comment" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-left: 10px; "&gt;&lt;p class="parent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;a name="c078jel" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="midcol" style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; float: left; margin-right: 2px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; margin-left: 0px; width: 15px; background-position: initial initial; "&gt;&lt;div class="arrow up" onclick="showcover(true, 'vote_t1_c078jel')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/aupgray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;div class="arrow down" onclick="showcover(true, 'vote_t1_c078jel')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/adowngray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; margin-left: 3px; opacity: 1; "&gt;&lt;div class="noncollapsed" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="tagline" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(136, 136, 136); font-size: x-small; "&gt;&lt;a class="author" href="http://www.reddit.com/user/Kitchenfire/" style="color: rgb(51, 102, 153); text-decoration: none; font-weight: bold; "&gt;Kitchenfire&lt;/a&gt; &lt;span class="score "  style=" ;font-size:x-small;"&gt;3 points&lt;/span&gt; 4 days ago&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" class="expand" onclick="return hidecomment(this)" style="color: rgb(51, 102, 153); text-decoration: none; font-style: normal; margin-left: 5px; margin-right: 5px; padding-top: 1px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; "&gt;[-]&lt;/a&gt;&lt;/p&gt;&lt;div class="commentbody " style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;div class="md" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; max-width: 60em; overflow-x: auto; overflow-y: auto; font-size: small; "&gt;&lt;blockquote style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; border-left-width: 2px; border-left-style: solid; border-left-color: rgb(51, 102, 153); padding-left: 4px; margin-top: 5px; margin-bottom: 5px; margin-left: 5px; margin-right: 15px; "&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;""The Bigs," i.e., large-cap companies that provide most of the contracting labor, are not at all oriented to innovate in the Web 2.0 technology space. You don't see Macs anywhere. You do see MS Office everywhere. "&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;I wonder if this guy knows that Macs can run MS Office. Or that he's insane.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class="flat-list buttons" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; list-style-type: none; display: inline; "&gt;&lt;li class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-left: 0px; "&gt;&lt;a class=" comments empty" href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/c078jel" target="_parent" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;permalink&lt;/a&gt;&lt;/li&gt;&lt;li  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;span class="reply-button toggle"&gt;&lt;a class="option active " href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" onclick="return showcover('', 'reply_' + $(this).thing_id());" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; display: inline; "&gt;reply&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="child" style="margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-left: 15px; "&gt;&lt;/div&gt;&lt;div class="clearleft" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; clear: left; height: 0px; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="clearleft" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; clear: left; height: 0px; "&gt;&lt;/div&gt;&lt;div class=" thing id-t1_c078iqi even comment" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-left: 10px; "&gt;&lt;p class="parent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;a name="c078iqi" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="midcol" style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; float: left; margin-right: 2px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; margin-left: 0px; width: 15px; background-position: initial initial; "&gt;&lt;div class="arrow up" onclick="showcover(true, 'vote_t1_c078iqi')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/aupgray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;div class="arrow down" onclick="showcover(true, 'vote_t1_c078iqi')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/adowngray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; margin-left: 3px; opacity: 1; "&gt;&lt;div class="noncollapsed" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="tagline" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(136, 136, 136); font-size: x-small; "&gt;&lt;a class="author" href="http://www.reddit.com/user/turkourjurbs/" style="color: rgb(51, 102, 153); text-decoration: none; font-weight: bold; "&gt;turkourjurbs&lt;/a&gt; &lt;span class="score "  style=" ;font-size:x-small;"&gt;3 points&lt;/span&gt; 4 days ago&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" class="expand" onclick="return hidecomment(this)" style="color: rgb(51, 102, 153); text-decoration: none; font-style: normal; margin-left: 5px; margin-right: 5px; padding-top: 1px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; "&gt;[-]&lt;/a&gt;&lt;/p&gt;&lt;div class="commentbody " style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;div class="md" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; max-width: 60em; overflow-x: auto; overflow-y: auto; font-size: small; "&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;"Google does a good job selling into government with its enterprise appliance model, and with more than just search. But, of course, Google is a massive company."&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;&lt;em style="font-weight: normal; font-style: italic; "&gt;SIGH!!!&lt;/em&gt; Google was aroung &lt;em style="font-weight: normal; font-style: italic; "&gt;long&lt;/em&gt; before Tim O'Reilly decided he needed more money, and made up a completely inaccurate and bullshit term to describe something we already have. Even if he didn't decide to look like a technological ignoramus, we'd still have Twitter, Facebook, etc. without calling them something that makes absolutely no sense at all.&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;Please, point out which "Web 2.0 Server" I should be using and which "Web 2.0" browsers will work with them. Every underlying technology that's considered "web 2.0" is the same technology that's been behind the web since before there was Web 2.0 We have the web. We have web sites. There is nothing more to it.&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;Maybe if we somehow get rid of the head nutbag (O'Reilly), the rest of the web 2.0 delusionists like this one will go with him.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class="flat-list buttons" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; list-style-type: none; display: inline; "&gt;&lt;li class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-left: 0px; "&gt;&lt;a class=" comments empty" href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/c078iqi" target="_parent" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;permalink&lt;/a&gt;&lt;/li&gt;&lt;li  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;span class="reply-button toggle"&gt;&lt;a class="option active " href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" onclick="return showcover('', 'reply_' + $(this).thing_id());" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; display: inline; "&gt;reply&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="child" style="margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-left: 15px; "&gt;&lt;div id="siteTable_t1_c078iqi" class="sitetable listing" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; "&gt;&lt;div class=" thing id-t1_c078jlt odd comment" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-left: 10px; "&gt;&lt;p class="parent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;a name="c078jlt" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="midcol" style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; float: left; margin-right: 2px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; margin-left: 0px; width: 15px; background-position: initial initial; "&gt;&lt;div class="arrow up" onclick="showcover(true, 'vote_t1_c078jlt')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/aupgray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;div class="arrow down" onclick="showcover(true, 'vote_t1_c078jlt')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/adowngray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; margin-left: 3px; opacity: 1; "&gt;&lt;div class="noncollapsed" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="tagline" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(136, 136, 136); font-size: x-small; "&gt;&lt;a class="author" href="http://www.reddit.com/user/skymt0/" style="color: rgb(51, 102, 153); text-decoration: none; font-weight: bold; "&gt;skymt0&lt;/a&gt; &lt;span class="score "  style=" ;font-size:x-small;"&gt;2 points&lt;/span&gt; 4 days ago&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" class="expand" onclick="return hidecomment(this)" style="color: rgb(51, 102, 153); text-decoration: none; font-style: normal; margin-left: 5px; margin-right: 5px; padding-top: 1px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; "&gt;[-]&lt;/a&gt;&lt;/p&gt;&lt;div class="commentbody " style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;div class="md" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; max-width: 60em; overflow-x: auto; overflow-y: auto; font-size: small; "&gt;&lt;blockquote style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; border-left-width: 2px; border-left-style: solid; border-left-color: rgb(51, 102, 153); padding-left: 4px; margin-top: 5px; margin-bottom: 5px; margin-left: 5px; margin-right: 15px; "&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;Please, point out which "Web 2.0 Server" I should be using&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;That would be lighttpd, &lt;a href="http://www.lighttpd.net/" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;according to their home page&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class="flat-list buttons" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; list-style-type: none; display: inline; "&gt;&lt;li class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-left: 0px; "&gt;&lt;a class=" comments empty" href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/c078jlt" target="_parent" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;permalink&lt;/a&gt;&lt;/li&gt;&lt;li  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#c078iqi" class="bylink" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;parent&lt;/a&gt;&lt;/li&gt;&lt;li  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;span class="reply-button toggle"&gt;&lt;a class="option active " href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" onclick="return showcover('', 'reply_' + $(this).thing_id());" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; display: inline; "&gt;reply&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="child" style="margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-left: 15px; "&gt;&lt;/div&gt;&lt;div class="clearleft" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; clear: left; height: 0px; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="clearleft" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; clear: left; height: 0px; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="clearleft" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; clear: left; height: 0px; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="clearleft" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; clear: left; height: 0px; "&gt;&lt;/div&gt;&lt;div class=" thing id-t1_c078g16 even comment" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-left: 10px; "&gt;&lt;p class="parent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;a name="c078g16" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="midcol" style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; float: left; margin-right: 2px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; margin-left: 0px; width: 15px; background-position: initial initial; "&gt;&lt;div class="arrow up" onclick="showcover(true, 'vote_t1_c078g16')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/aupgray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;div class="arrow down" onclick="showcover(true, 'vote_t1_c078g16')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/adowngray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; margin-left: 3px; opacity: 1; "&gt;&lt;div class="noncollapsed" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="tagline" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(136, 136, 136); font-size: x-small; "&gt;&lt;a class="author" href="http://www.reddit.com/user/cochico/" style="color: rgb(51, 102, 153); text-decoration: none; font-weight: bold; "&gt;cochico&lt;/a&gt; &lt;span class="score "  style=" ;font-size:x-small;"&gt;1 point&lt;/span&gt; 4 days ago&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" class="expand" onclick="return hidecomment(this)" style="color: rgb(51, 102, 153); text-decoration: none; font-style: normal; margin-left: 5px; margin-right: 5px; padding-top: 1px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; "&gt;[-]&lt;/a&gt;&lt;/p&gt;&lt;div class="commentbody " style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;div class="md" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; max-width: 60em; overflow-x: auto; overflow-y: auto; font-size: small; "&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;pffft! We're already working on Web 3.0&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class="flat-list buttons" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; list-style-type: none; display: inline; "&gt;&lt;li class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-left: 0px; "&gt;&lt;a class=" comments empty" href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/c078g16" target="_parent" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;permalink&lt;/a&gt;&lt;/li&gt;&lt;li  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;span class="reply-button toggle"&gt;&lt;a class="option active " href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" onclick="return showcover('', 'reply_' + $(this).thing_id());" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; display: inline; "&gt;reply&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="child" style="margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-left: 15px; "&gt;&lt;/div&gt;&lt;div class="clearleft" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; clear: left; height: 0px; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="clearleft" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; clear: left; height: 0px; "&gt;&lt;/div&gt;&lt;div class=" thing id-t1_c078f1r odd comment" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-left: 10px; "&gt;&lt;p class="parent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;a name="c078f1r" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="midcol" style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; float: left; margin-right: 2px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; margin-left: 0px; width: 15px; background-position: initial initial; "&gt;&lt;div class="arrow up" onclick="showcover(true, 'vote_t1_c078f1r')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/aupgray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;div class="arrow down" onclick="showcover(true, 'vote_t1_c078f1r')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/adowngray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; margin-left: 3px; opacity: 1; "&gt;&lt;div class="noncollapsed" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="tagline" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(136, 136, 136); font-size: x-small; "&gt;&lt;a class="author" href="http://www.reddit.com/user/funkah/" style="color: rgb(51, 102, 153); text-decoration: none; font-weight: bold; "&gt;funkah&lt;/a&gt; &lt;span class="score "  style=" ;font-size:x-small;"&gt;1 point&lt;/span&gt; 4 days ago&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" class="expand" onclick="return hidecomment(this)" style="color: rgb(51, 102, 153); text-decoration: none; font-style: normal; margin-left: 5px; margin-right: 5px; padding-top: 1px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; "&gt;[-]&lt;/a&gt;&lt;/p&gt;&lt;div class="commentbody " style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;div class="md" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; max-width: 60em; overflow-x: auto; overflow-y: auto; font-size: small; "&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;Crazy, sure, but I'm not exactly loving the idea of giving tons of money to banks who lost hundreds of billions because of shitty risk analysis, either.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class="flat-list buttons" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; list-style-type: none; display: inline; "&gt;&lt;li class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-left: 0px; "&gt;&lt;a class=" comments empty" href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/c078f1r" target="_parent" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;permalink&lt;/a&gt;&lt;/li&gt;&lt;li  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;span class="reply-button toggle"&gt;&lt;a class="option active " href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" onclick="return showcover('', 'reply_' + $(this).thing_id());" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; display: inline; "&gt;reply&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="child" style="margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-left: 15px; "&gt;&lt;div id="siteTable_t1_c078f1r" class="sitetable listing" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; "&gt;&lt;div class=" thing id-t1_c078fsv even comment" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-left: 10px; "&gt;&lt;p class="parent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;a name="c078fsv" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="midcol" style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; float: left; margin-right: 2px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; margin-left: 0px; width: 15px; background-position: initial initial; "&gt;&lt;div class="arrow up" onclick="showcover(true, 'vote_t1_c078fsv')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/aupgray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;div class="arrow down" onclick="showcover(true, 'vote_t1_c078fsv')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/adowngray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; margin-left: 3px; opacity: 1; "&gt;&lt;div class="noncollapsed" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="tagline" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(136, 136, 136); font-size: x-small; "&gt;&lt;a class="author" href="http://www.reddit.com/user/candlejac/" style="color: rgb(51, 102, 153); text-decoration: none; font-weight: bold; "&gt;candlejac&lt;/a&gt; &lt;span class="score "  style=" ;font-size:x-small;"&gt;1 point&lt;/span&gt; 4 days ago&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" class="expand" onclick="return hidecomment(this)" style="color: rgb(51, 102, 153); text-decoration: none; font-style: normal; margin-left: 5px; margin-right: 5px; padding-top: 1px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; "&gt;[-]&lt;/a&gt;&lt;/p&gt;&lt;div class="commentbody " style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;div class="md" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; max-width: 60em; overflow-x: auto; overflow-y: auto; font-size: small; "&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;At least their risk analysis is better than Twitter's.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class="flat-list buttons" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; list-style-type: none; display: inline; "&gt;&lt;li class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-left: 0px; "&gt;&lt;a class=" comments empty" href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/c078fsv" target="_parent" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;permalink&lt;/a&gt;&lt;/li&gt;&lt;li  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#c078f1r" class="bylink" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;parent&lt;/a&gt;&lt;/li&gt;&lt;li  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;span class="reply-button toggle"&gt;&lt;a class="option active " href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" onclick="return showcover('', 'reply_' + $(this).thing_id());" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; display: inline; "&gt;reply&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="child" style="margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-left: 15px; "&gt;&lt;div id="siteTable_t1_c078fsv" class="sitetable listing" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; "&gt;&lt;div class=" thing id-t1_c078g03 odd comment" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-left: 10px; "&gt;&lt;p class="parent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;a name="c078g03" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="midcol" style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; float: left; margin-right: 2px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; margin-left: 0px; width: 15px; background-position: initial initial; "&gt;&lt;div class="arrow up" onclick="showcover(true, 'vote_t1_c078g03')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/aupgray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;div class="arrow down" onclick="showcover(true, 'vote_t1_c078g03')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/adowngray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; margin-left: 3px; opacity: 1; "&gt;&lt;div class="noncollapsed" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="tagline" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(136, 136, 136); font-size: x-small; "&gt;&lt;a class="author" href="http://www.reddit.com/user/funkah/" style="color: rgb(51, 102, 153); text-decoration: none; font-weight: bold; "&gt;funkah&lt;/a&gt; &lt;span class="score "  style=" ;font-size:x-small;"&gt;2 points&lt;/span&gt; 4 days ago&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" class="expand" onclick="return hidecomment(this)" style="color: rgb(51, 102, 153); text-decoration: none; font-style: normal; margin-left: 5px; margin-right: 5px; padding-top: 1px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; "&gt;[-]&lt;/a&gt;&lt;/p&gt;&lt;div class="commentbody " style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;div class="md" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; max-width: 60em; overflow-x: auto; overflow-y: auto; font-size: small; "&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;I don't even know what that means.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class="flat-list buttons" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; list-style-type: none; display: inline; "&gt;&lt;li class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-left: 0px; "&gt;&lt;a class=" comments empty" href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/c078g03" target="_parent" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;permalink&lt;/a&gt;&lt;/li&gt;&lt;li color="initial" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- "&gt;&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#c078fsv" class="bylink" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;parent&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;span class="reply-button toggle"&gt;&lt;a class="option active " href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" onclick="return showcover('', 'reply_' + $(this).thing_id());" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; display: inline; "&gt;reply&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="child" style="margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-left: 15px; "&gt;&lt;div id="siteTable_t1_c078g03" class="sitetable listing" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; "&gt;&lt;div class=" thing id-t1_c078h5r even comment" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-left: 10px; "&gt;&lt;p class="parent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;a name="c078h5r" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="midcol" style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; float: left; margin-right: 2px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; margin-left: 0px; width: 15px; background-position: initial initial; "&gt;&lt;div class="arrow up" onclick="showcover(true, 'vote_t1_c078h5r')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/aupgray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;div class="arrow down" onclick="showcover(true, 'vote_t1_c078h5r')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/adowngray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; margin-left: 3px; opacity: 1; "&gt;&lt;div class="noncollapsed" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="tagline" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(136, 136, 136); font-size: x-small; "&gt;&lt;a class="author" href="http://www.reddit.com/user/candlejac/" style="color: rgb(51, 102, 153); text-decoration: none; font-weight: bold; "&gt;candlejac&lt;/a&gt; &lt;span class="score "  style=" ;font-size:x-small;"&gt;1 point&lt;/span&gt; 4 days ago&lt;em style="font-style: normal; font-weight: normal; "&gt;*&lt;/em&gt; &lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" class="expand" onclick="return hidecomment(this)" style="color: rgb(51, 102, 153); text-decoration: none; font-style: normal; margin-left: 5px; margin-right: 5px; padding-top: 1px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; "&gt;[-]&lt;/a&gt;&lt;/p&gt;&lt;div class="commentbody " style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;div class="md" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; max-width: 60em; overflow-x: auto; overflow-y: auto; font-size: small; "&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;Twitter is a company with no business plan. They seriously are closest to the underpants gnomes&lt;/p&gt;&lt;ol style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-right: 2em; margin-bottom: 10px; margin-left: 2em; list-style-type: decimal; list-style-position: outside; list-style-image: initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Build website for 140 character microblog posts&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Pay carriers to send txts with updates to subscribers, while not charging for this service&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Pay to receive texts on a shortcode&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;???&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Profit!&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class="flat-list buttons" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; list-style-type: none; display: inline; "&gt;&lt;li class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-left: 0px; "&gt;&lt;a class=" comments empty" href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/c078h5r" target="_parent" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;permalink&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#c078g03" class="bylink" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;parent&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;span class="reply-button toggle"&gt;&lt;a class="option active " href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" onclick="return showcover('', 'reply_' + $(this).thing_id());" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; display: inline; "&gt;reply&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="child" style="margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-left: 15px; "&gt;&lt;div id="siteTable_t1_c078h5r" class="sitetable listing" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; "&gt;&lt;div class=" thing id-t1_c078kc7 odd comment" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-left: 10px; "&gt;&lt;p class="parent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;a name="c078kc7" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="midcol" style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; float: left; margin-right: 2px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; margin-left: 0px; width: 15px; background-position: initial initial; "&gt;&lt;div class="arrow up" onclick="showcover(true, 'vote_t1_c078kc7')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/aupgray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;div class="arrow down" onclick="showcover(true, 'vote_t1_c078kc7')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/adowngray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; margin-left: 3px; opacity: 1; "&gt;&lt;div class="noncollapsed" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="tagline" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(136, 136, 136); font-size: x-small; "&gt;&lt;a class="author" href="http://www.reddit.com/user/grilled_ch33z/" style="color: rgb(51, 102, 153); text-decoration: none; font-weight: bold; "&gt;grilled_ch33z&lt;/a&gt; &lt;span class="score "  style=" ;font-size:x-small;"&gt;1 point&lt;/span&gt; 4 days ago&lt;em style="font-style: normal; font-weight: normal; "&gt;*&lt;/em&gt; &lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" class="expand" onclick="return hidecomment(this)" style="color: rgb(51, 102, 153); text-decoration: none; font-style: normal; margin-left: 5px; margin-right: 5px; padding-top: 1px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; "&gt;[-]&lt;/a&gt;&lt;/p&gt;&lt;div class="commentbody " style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;div class="md" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; max-width: 60em; overflow-x: auto; overflow-y: auto; font-size: small; "&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;I'd argue that it's more like:&lt;/p&gt;&lt;ul style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-right: 2em; margin-bottom: 10px; margin-left: 2em; list-style-type: disc; list-style-position: outside; list-style-image: initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Build website for 140 character microblog posts&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Pay carriers to send txts with updates to subscribers, while not charging for this service&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Pay to receive texts on a shortcode&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;???&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;???&lt;/li&gt;&lt;/ul&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;edit: how do you do numbered lists?&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class="flat-list buttons" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; list-style-type: none; display: inline; "&gt;&lt;li class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-left: 0px; "&gt;&lt;a class=" comments empty" href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/c078kc7" target="_parent" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;permalink&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#c078h5r" class="bylink" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;parent&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- color:initial;"&gt;&lt;span class="reply-button toggle"&gt;&lt;a class="option active " href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" onclick="return showcover('', 'reply_' + $(this).thing_id());" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; display: inline; "&gt;reply&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="child" style="margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-left: 15px; "&gt;&lt;div id="siteTable_t1_c078kc7" class="sitetable listing" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; "&gt;&lt;div class=" thing id-t1_c078kr9 even comment" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-left: 10px; "&gt;&lt;p class="parent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;a name="c078kr9" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="midcol" style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; float: left; margin-right: 2px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; margin-left: 0px; width: 15px; background-position: initial initial; "&gt;&lt;div class="arrow up" onclick="showcover(true, 'vote_t1_c078kr9')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/aupgray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;div class="arrow down" onclick="showcover(true, 'vote_t1_c078kr9')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/adowngray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; margin-left: 3px; opacity: 1; "&gt;&lt;div class="noncollapsed" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="tagline" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(136, 136, 136); font-size: x-small; "&gt;&lt;a class="author" href="http://www.reddit.com/user/candlejac/" style="color: rgb(51, 102, 153); text-decoration: none; font-weight: bold; "&gt;candlejac&lt;/a&gt; &lt;span class="score "  style=" ;font-size:x-small;"&gt;2 points&lt;/span&gt; 4 days ago&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" class="expand" onclick="return hidecomment(this)" style="color: rgb(51, 102, 153); text-decoration: none; font-style: normal; margin-left: 5px; margin-right: 5px; padding-top: 1px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; "&gt;[-]&lt;/a&gt;&lt;/p&gt;&lt;div class="commentbody " style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;div class="md" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; max-width: 60em; overflow-x: auto; overflow-y: auto; font-size: small; "&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;numbers and periods, but you must not know much about the underpants gnomes&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class="flat-list buttons" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; list-style-type: none; display: inline; "&gt;&lt;li class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-left: 0px; "&gt;&lt;a class=" comments empty" href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/c078kr9" target="_parent" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;permalink&lt;/a&gt;&lt;/li&gt;&lt;li color="initial" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- "&gt;&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#c078kc7" class="bylink" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;parent&lt;/a&gt;&lt;/li&gt;&lt;li color="initial" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- "&gt;&lt;span class="reply-button toggle"&gt;&lt;a class="option active " href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" onclick="return showcover('', 'reply_' + $(this).thing_id());" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; display: inline; "&gt;reply&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="child" style="margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-left: 15px; "&gt;&lt;div id="siteTable_t1_c078kr9" class="sitetable listing" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; "&gt;&lt;div class=" thing id-t1_c078o3h odd comment" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-left: 10px; "&gt;&lt;p class="parent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;a name="c078o3h" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="midcol" style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; float: left; margin-right: 2px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; margin-left: 0px; width: 15px; background-position: initial initial; "&gt;&lt;div class="arrow up" onclick="showcover(true, 'vote_t1_c078o3h')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/aupgray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;div class="arrow down" onclick="showcover(true, 'vote_t1_c078o3h')" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 100%; height: 14px; display: block; cursor: pointer; background-repeat: no-repeat; background-image: url(http://www.reddit.com/static/adowngray.gif); background-position: 50% 50%; "&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; margin-left: 3px; opacity: 1; "&gt;&lt;div class="noncollapsed" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="tagline" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(136, 136, 136); font-size: x-small; "&gt;&lt;a class="author" href="http://www.reddit.com/user/Ac3/" style="color: rgb(51, 102, 153); text-decoration: none; font-weight: bold; "&gt;Ac3&lt;/a&gt; &lt;span class="score "  style=" ;font-size:x-small;"&gt;2 points&lt;/span&gt; 4 days ago&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" class="expand" onclick="return hidecomment(this)" style="color: rgb(51, 102, 153); text-decoration: none; font-style: normal; margin-left: 5px; margin-right: 5px; padding-top: 1px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; "&gt;[-]&lt;/a&gt;&lt;/p&gt;&lt;div class="commentbody " style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;div class="md" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; max-width: 60em; overflow-x: auto; overflow-y: auto; font-size: small; "&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;Well he clearly will not profit.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class="flat-list buttons" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; list-style-type: none; display: inline; "&gt;&lt;li class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-left: 0px; "&gt;&lt;a class=" comments empty" href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/c078o3h" target="_parent" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;permalink&lt;/a&gt;&lt;/li&gt;&lt;li color="initial" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- "&gt;&lt;a href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#c078kr9" class="bylink" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; "&gt;parent&lt;/a&gt;&lt;/li&gt;&lt;li color="initial" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; display: inline; padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- "&gt;&lt;span class="reply-button toggle"&gt;&lt;a class="option active " href="http://www.reddit.com/r/technology/comments/7rzjp/haha_this_nutbag_thinks_that_the_government/#" onclick="return showcover('', 'reply_' + $(this).thing_id());" style="text-decoration: none; color: rgb(136, 136, 136); font-weight: bold; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 1px; display: inline; "&gt;reply&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-8601714476316498536?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/8601714476316498536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=8601714476316498536' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8601714476316498536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8601714476316498536'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2009/01/response-to-previous.html' title='&quot;Response&quot; to Previous'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-8310333667573317827</id><published>2008-12-28T20:32:00.000-08:00</published><updated>2009-01-18T07:35:05.190-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='platform'/><category scheme='http://www.blogger.com/atom/ns#' term='SaaS'/><category scheme='http://www.blogger.com/atom/ns#' term='PaaS'/><category scheme='http://www.blogger.com/atom/ns#' term='web services'/><category scheme='http://www.blogger.com/atom/ns#' term='government'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><title type='text'>Q:  How Does Web 2.0 Make Money?  A:  Government.</title><content type='html'>A lot of folks are wondering how Twitter will monetize.  Will they sell premium services to businesses that want to make Twitter part of a communications strategy?  What about Flickr, YouTube, and Facebook?  Are the ads working?  Regardless, if this is Web 2.0 then&lt;span class="Apple-style-span" style="font-style: italic;"&gt; why are we &lt;/span&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;still&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt; talking about subscriptions and eyeballs on pages&lt;/span&gt;?! &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I want to suggest another strategy:  Sell to government.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I don't mean the general sense.  I  mean, specifically, Twitter, YouTube, and Facebook and a great many &lt;a href="http://http//kevincurry.blogspot.com/2008/12/common-web-20-services-brainstorm.html"&gt;others&lt;/a&gt; should set up for-government operations.  I wrote to the Delicious team years ago asking when they were coming out with a solution that I could bring to government, i.e., in-house.  I never got an answer.  Regardless, figuring out how to get these companies oriented toward government is not straightforward.  Most Web 2.0 companies literally could not be further outside The Beltway.  I suspect they don't have much in the way of strategy for state, tribal, or local either.  Google does a good job selling into government with its enterprise appliance model, and with more than just search.  But, of course, Google is a massive company.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Culture has a lot to do with things.  The Pentagon is not a T-shirt and flip flops kind of environment.  "The Bigs," i.e., large-cap companies that provide most of the contracting labor, are not at all oriented to innovate in the Web 2.0 technology space.  You don't see Macs anywhere.  You do see MS Office everywhere.  I'm not entirely sure what conclusions can be drawn from these observations but I am sure the observations are significant.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I suppose the best example of Web 2.0 penetration into the government space is tele-presence.  Adobe Breeze is ubiquitous on Defense Knowledge Online (DKO).  Just about anyone with a DKO government account can create or attend a meeting.  But tele-presence probably isn't the first thing that comes to people's minds when asked to name a Web 2.0 technology and I'm not sure Adobe is the best example of a Web 2.0 company.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Yes, there is something different about Twitter, Flickr, YouTube, Facebook, Delicious, &lt;span class="Apple-style-span" style="font-style: italic;"&gt;et al&lt;/span&gt;.  I happen to think that something different - whatever it is - translates into unrealized opportunity for both buyers and sellers in the government space.  I choose to focus on these technologies specifically and there are others that I include.  ProgrammableWeb has a solution for the registry problem, for example.  I don't represent any of these companies, by the way.  I call them out as (mostly) well-known examples of capabilities the government needs.  I don't really care if Flickr, Picasa, or PhotoBucket is the image repository of choice.  Vimeo and YouTube can and should compete for the video infrastructure.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The point is that government needs platform solutions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Simple, content-based, platform solutions are the most obvious plays for Web 2.0 in government; images, video, audio.  The federal government processes a staggering amount of this stuff.  The DoD may be the first to get into the mix with &lt;a href="http://trooptube.com/"&gt;TroopTube&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There also are plenty of outfits that would use social tagging tools if only they could bring them in house.  By bring them in house, what I mean and recommend is providing enterprise services solutions.  It's nice to have applications that provide tagging, but applications are seldom the best enterprise solutions and are hardly social (except, perhaps, in MOSS).  Tagging is a domain, a Web 2.0 partition, if you will, unto itself.  It is a simple-enough-but-not-too-simple utility that scales and it can be integrated with just about any other application, regardless of whether or not the application was designed with tagging in mind.  Yes, government needs strategic guidance and support for tagging services and Web 2.0 tagging companies are just the ones to provide it...if we can figure out how.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The current providers, a.k.a. "The Bigs" are not oriented to provide Web 2.0 tech support.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is either an opportunity to get new business before The Bigs or to create a business of showing them the way.  In any case it is an opportunity to make money.  More specifically, it is a way for Web 2.0 technologies to make money.  In the government services space the biz-speak is generally referred to as "priming" and "subbing," as in:  you are either a prime contractor or a subcontractor.  I don't see many Web 2.0 companies subcontracting to big, traditional system integrators, though.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The government is not set up to acquire Web 2.0 technologies.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While services contracts are fairly common and understood, things are less well-defined in the products and solutions space unless the products and solutions are ubiquitous or otherwise extremely well known.  Government, especially federal, wants to buy everything in bulk.  See also:  Indefinite Delivery, Indefinite Quantity (&lt;a href="http://en.wikipedia.org/wiki/IDIQ"&gt;IDIQ&lt;/a&gt;).  New technology is extraordinarily difficult to insert, especially in secure environments.  Protocol, procedure, and process rule the land.  Force-fitting into an existing model is too often the preferred method.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We are getting better at defining and avoiding undue process but process, by definition, is:  1)  necessary and 2)  inherently situational.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When doing business with the federal government, it's important to know how business is done inside The Beltway.  There are most probably things in the mix that need to be undone, too.  To a meaningful extent the situation is not different at state, tribal, and local levels.  Education is needed on both sides of the buyer/seller relationship.  We might "change the world" in the process of implementing Web 2.0 for government, but requisite is the obligation to have a fair understanding of "the world" first.  The obligation goes both ways but mostly falls on the shoulders of sellers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Choices for Web 2.0 companies to make money by doing business with government:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Become or spin-off an &lt;span class="Apple-style-span" style="font-style: italic;"&gt;enterprise &lt;/span&gt;systems integrations unit&lt;/li&gt;&lt;li&gt;Sell enterprise systems solutions a) to government b) to system integrators (Note:  probably can't sell solutions to government without either being an integrator or having the support of one.)&lt;/li&gt;&lt;li&gt;Consult a) to government b) to system integrators on enterprise systems&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Of course, "partner" is an option, but still implies one or more the previously listed options.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;[Update 9:47 PM - I've decided I really don't like these choices at all.  Need to come up with an altogether new business model, perhaps...probably]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;There's so much more to this than I can wrap my head around now, certainly more than I am prepared or qualified to comment here.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;[Update 9:47 PM - Forgot to comment on need for and evidence of government investment in backbone instracture and understanding of cloud architecture; significant issues arise once a bunch of these services are running around on a single network.  And as always, security is different and harder.]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think it's time Web 2.0 companies, government, and large-cap contracting companies had a grand introduction to one another.  Believe it or not, there are plenty of people who have never even heard of Web 2.0.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-8310333667573317827?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/8310333667573317827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=8310333667573317827' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8310333667573317827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8310333667573317827'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/12/q-how-does-web-20-make-money-government.html' title='Q:  How Does Web 2.0 Make Money?  A:  Government.'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-259227144487114117</id><published>2008-12-22T19:23:00.000-08:00</published><updated>2008-12-28T21:20:17.303-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='platform'/><category scheme='http://www.blogger.com/atom/ns#' term='SaaS'/><category scheme='http://www.blogger.com/atom/ns#' term='web services'/><category scheme='http://www.blogger.com/atom/ns#' term='government'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><title type='text'>Common Web 2.0 Services for Government Brainstorm</title><content type='html'>&lt;ol&gt;&lt;li&gt;SMS - ex., Twitter&lt;/li&gt;&lt;li&gt;Expertise Location - ex., Facebook, LinkedIn, &lt;span class="Apple-style-span" style="font-style: italic; "&gt;semantic profilers&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;Tagging - ex., Delicious, Magnolia, Stumble Upon&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;Image Sharing- ex., Flickr, Picasa, PhotoBucket&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;Video Sharing- ex., YouTube, Vimeo, &lt;/span&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;TroopTube! &lt;span class="Apple-style-span" style="font-style: normal; "&gt;(&lt;/span&gt;&lt;span class="Apple-style-span"&gt;12.28.08)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;Audio Sharing - ex., SoundCloud, HuffDuff&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;Document Sharing - ex., Google Docs, MOSS, Word Press, Blogger, Tumblr&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;Registry - ex., ACME.ProgrammableWeb, Wiki (?)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;Tele-presence - ex., Breeze, WebEx, GoToMeeting&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Search - ex. Google, Yahoo!&lt;/li&gt;&lt;li&gt;Visualization - ex., ManyEyes, Swivel&lt;/li&gt;&lt;li&gt;Dictionary - ex., Merriam-Webster.com (http://m-w.com/dictionary/[WORD])&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;Data Transformation- ex., ??&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;[Update 12.29.08] Geospatial, mapping - ex., Google Earth/Maps, Microsoft Live Virtual Earth/Maps&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Utility model (i.e., like electric, water, natural gas)&lt;/li&gt;&lt;li&gt;Specialized content and application services infrastructure&lt;/li&gt;&lt;li&gt;Government needs a strategy for inserting these technologies&lt;/li&gt;&lt;li&gt;Government strategy must be capabilities-based and vendor indifferent, yet cannot be generic&lt;/li&gt;&lt;li&gt;How exactly/specifically can government do business with Facebook or LinkedIn, for example?&lt;/li&gt;&lt;li&gt;To what extent will/should third-party integrators be involved?  Is Twitter likely to provide labor resources for technology insertion or would they just want to license the platform to third parties?&lt;/li&gt;&lt;li&gt;Companies listed above need a strategy for doing business with government.  Some have them, but most don't.&lt;/li&gt;&lt;li&gt;The mutual strategy should be for companies to implement their architectures for these platform services in public and government-managed domains.&lt;/li&gt;&lt;li&gt;Probably the biggest hurdle is the massive amount of process and procedure required to navigate the government marketplace and interact with customers&lt;/li&gt;&lt;li&gt;Culture gaps&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More later...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;[Update 12.23.08]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Security model is much more complicated than just protecting access to personal information; ease of and tracking of information flow a greater concern&lt;/li&gt;&lt;li&gt;Security models need to be reconsidered by both buyers and sellers&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-259227144487114117?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/259227144487114117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=259227144487114117' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/259227144487114117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/259227144487114117'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/12/common-web-20-services-brainstorm.html' title='Common Web 2.0 Services for Government Brainstorm'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-2234126333462279214</id><published>2008-12-13T18:27:00.000-08:00</published><updated>2008-12-14T10:52:02.138-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='philosopy'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='design patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>A Pattern is as a Pattern Does</title><content type='html'>&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;I had a great conversation the other day with &lt;a href="http://twitter.com/huikau"&gt;Mike McKinney&lt;/a&gt;.  One topic in particular really stuck with me and now I can't seem to shake it.  Mike and I had been talking about design philosophies and what it takes to do smart implementation, especially as a government contractor.  We both lamented the environment of design and implementation bloat in which we seemed to find ourselves.  Bloat does not fly in government contracting.  Time and money resources are extremely tight and skillsets are scarce.  Mike noted that "ever since the '&lt;a href="http://en.wikipedia.org/wiki/Design_Patterns"&gt;Gang of Four&lt;/a&gt;' book came out everyone thinks they are an architect and everyone wants to build a framework."  I couldn't have agreed more.  Ugh, that word:  "framework."  I've used it many times myself, but if I never see or hear or use it again I wouldn't be unhappy about it.&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;div&gt;The purpose of design patterns &lt;span class="Apple-style-span" style=""&gt;isn't&lt;/span&gt; necessarily to build huge, abstract libraries of software components.  The purpose of design patterns &lt;span class="Apple-style-span" style=""&gt;isn't&lt;/span&gt; necessarily to solve common programming problems for other programmers.  A wonderful thing about design patterns &lt;span class="Apple-style-span" style=""&gt;is&lt;/span&gt; that they are something familiar to rely on when confronted with new problems.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've used dozens of patterns and I've even participated in writing a  &lt;a href="http://dev.bridgeborn.com/Bridgeborn/download.asp"&gt;framework&lt;/a&gt; or two.  But the world needs only so many frameworks.  At the same time there are no shortages of hard problems to solve for which design patterns are quite, quite useful.  I don't have time, money, or expertise for all the frameworks I'd otherwise need to get the job done.  I need robust, reliable patterns and people skilled enough to recognize how to implement them to solve customers' problems.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, attention all developers:  Don't just think of design patterns as architectural building blocks. Sure, they are that.  But think also of design patterns as tools in a toolbox.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When we're confronted with a domain-specific problem we should build neither point-to-point solutions nor frameworks.  Instead, use patterns to solve a domain-specific problem in a reliable way.  Point-to-point solutions require niche skillsets, are complicated, and don't scale well.  Yet, we don't have time or resources to build frameworks and there wouldn't be much of a market for them if we did.  Either that or our frameworks have to be raised up to such a level of abstraction that we end up forcing domain-specific stakeholders into our patterns rather than molding our patterns around domain-specific use cases.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, what is a good example of how we use patterns to solve domain-specific problems without building a framework?  ETLV is a good example:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_4I3iR6s_Psk/SUVPHs5kZXI/AAAAAAAAGv8/N8SPpmpo2to/s400/Domain-Specific+Embodiments.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 337px; height: 400px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5279713131892073842" /&gt;&lt;/div&gt;&lt;div&gt;You don't need a framework to implement this pattern.  Simply recognize that the solution to interoperability among domain-specific applications is the production and consumption of well-formed Unicode data.  If someone gives you a data source and is looking for a way to visualize it you could look for a visualization API and use point-to-point integration to read the data and constuct objects from the API.  But then what do you do when someone hands you another data source?  What if the new source lends itself to a new visualization technique?  What if the API you chose the first time around doesn't support that technique?  Well, perhaps you have job security as a software integrator.  On the other hand, if you want to maintain separation of concerns and implement a robust, flexible solution you could follow a pattern based on decoupling data from proprietary or domain-specific formats and transforming data into views using standard, ubiquitous processors.  This effectively changes the integration and interoperability problem into a easier-to-solve scalability problem.  Point-to-point integration is neither simple nor scalable.  However, given any data source expressed as well-formed Unicode we can write a practically boundless number of transformations to produce a practically boundless number of views and applications.  It takes a pattern but not a framework.&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-2234126333462279214?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/2234126333462279214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=2234126333462279214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2234126333462279214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2234126333462279214'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/12/pattern-is-as-pattern-does.html' title='A Pattern is as a Pattern Does'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4I3iR6s_Psk/SUVPHs5kZXI/AAAAAAAAGv8/N8SPpmpo2to/s72-c/Domain-Specific+Embodiments.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-7135312356317842479</id><published>2008-12-09T07:33:00.000-08:00</published><updated>2009-04-20T21:31:49.817-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='interoperability'/><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='Document-Driven Visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='ETLV'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='web services'/><category scheme='http://www.blogger.com/atom/ns#' term='simulation'/><category scheme='http://www.blogger.com/atom/ns#' term='modeling'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise architecture'/><title type='text'>Models and Simulations as Data</title><content type='html'>&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;A colleague, Anthony Watkins, and I recently conducted a feasbility assessment of &lt;a href="http://bridgeborn.com/technology.asp"&gt;ETL-V&lt;/a&gt; applied to a DoD tactical simulation called JCATS:  Joint Conflict and Tactical Simulation. &lt;a href="https://www.llnl.gov/str/Shimamoto.html"&gt; JCATS was created by Lawrence Livermore National Labs&lt;/a&gt; in 1997 and has been supported in some fashion or another ever since.  JCATS is not unlike other military sims I've encountered over the years; &lt;a href="http://www.onesaf.net/community/documents/Papers_Presentations/OneSAF_UsersConference_2004/OneSAF-UC04_OTB.pdf"&gt;OTB&lt;/a&gt;, &lt;a href="http://www.solipsys.com/cs/products/tdf/product_information"&gt;TDF&lt;/a&gt;.  In fact, JCATS is generally not unlike all other models and sims with which I have worked in the past 11 years - aerospace apps, power/energy sims, custom apps.&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;I AM NOT A MODELING AND SIMULATION EXPERT.  &lt;/div&gt;&lt;div style="text-align: center;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;I took a class in graduate school, did pretty well.  But I studied &lt;a href="http://www.cs.vt.edu/"&gt;Computer Science and Applications&lt;/a&gt;.  That's my slant.&lt;/div&gt;&lt;div style="text-align: center;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;When I reflect on my scant 11 years of experience designing, developing, implementing, and integrating business processes and software - a fair amount of it in the M&amp;amp;S domain - I come to one conclusion.&lt;/div&gt;&lt;div style="text-align: center;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;Interoperability stinks.&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;A bit of personal history on why that I think that - three words:  &lt;span class="Apple-style-span" style="font-style: italic;"&gt;separation of concerns&lt;/span&gt;.  As in, we haven't maintained it.  I observed the problem in my first job at &lt;a href="http://www.researchfoundation.odu.edu/"&gt;ODU Research Foundation&lt;/a&gt;, &lt;a href="http://www.ccpo.odu.edu/"&gt;Center for Coastal Physical Oceanography&lt;/a&gt;:  oceanographers were writing code...bad code.  Eventually the computer scientists got involved, but all we did was write occasionally elegant code wrapped tightly around a domain application.&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;Then, in September of 2001, I found &lt;a href="http://en.wikipedia.org/wiki/Object_(computer_science)"&gt;Object&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Serialization"&gt;Serialization&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Reflection_(computer_science)"&gt;Reflection&lt;/a&gt;, and &lt;a href="http://w3c.org/xml"&gt;XML&lt;/a&gt; all at the same time (XML, casually, in '99).  &lt;a href="http://www.bridgeborn.com/"&gt;My colleagues&lt;/a&gt; and I were using these to create 3D visualization, behavior, and human-computer interaction for the Web.  With the introduction of XML-RPC we were communicating with "back end" data services to drive client-side 3D.  The 3D applications were entirely dynamic without compilation,  the same way all other content was being delivered over HTTP to a standard browser.  It was cooler than dirt.  &lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;Along came &lt;a href="http://www.w3.org/2002/ws/"&gt;Web Services&lt;/a&gt;, circa 2003-4 for us. Finally, everything was starting to click.&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;That brings me back to models and simulations as data and where I am in 2009.  &lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Simulations aren't applications, they're data sources.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;a href="http://kevincurry.blogspot.com/2008/12/enterprise-architectures-as-data.html"&gt;I've written previously&lt;/a&gt; about how we use enterprise architecture models as data sources for analytics.  It's basically the same thing for sim integration.  There is one additional component.  Simulations often stream data in real time.  The transactional model of the Web and relational databases is not always sufficient.  Regardless, the methodology is not dependent on transfer rate or protocol.  The methodology is based on separation of concerns.  The difference between yesterday and today is that we realized how to take what were doing above the level of a single application.&lt;/div&gt;&lt;div style="text-align: center;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;Most of the applications with which I am experienced are heavy...very heavy.  Whether we are talking about footprint, documentation, training, number of participants, facilities, or duration most simulation apps require a lot of it.  Technology insertion and training are costly.  Learning curves are steep.  Exposure and knowledge is limited to very small groups.&lt;/div&gt;&lt;div style="text-align: center;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;It doesn't have to be that way, either.&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;[Update:  12/10/08 - Well, maybe it does.  I appreciate that M&amp;amp;S is hard and hard takes time.  The point I really want to make is that we can and should reuse the data generated by M&amp;amp;S to increase their ROI and overall value of their insights as information assets.  We do this by decoupling their data so it can be more easily integrated with other things - things people who aren't modelers or enterprise architects care about.]&lt;/span&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;If I could wave a magic wand, I'd strip every simulation down to it's algorithms and databases.  To be sure, there are some sweet front-ends out there, but they aren't maintaining separation of concerns.&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;JCATS, for example, is a powerful tactical simulation.  There are good smarts in there.  But JCATS has a limited graphical user interface (2D) and is strictly designed for tactical operational scenarios on maps.  While the designers of JCATS may have thought about 3D and some statistical diagnostics, they certainly did not, nor could they have anticipated or accomodated all the many ways we can use the output of JCATS simulations.&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;The good news is that JCATS saves huge DAT files, i.e., data files, i.e., JCATS data is portable.  JCATS produces &lt;a href="http://kevincurry.blogspot.com/2008/04/best-practices-of-well-formed-data.html"&gt;ordinary delimited text files&lt;/a&gt; (comma-separated) and puts similar data on the wire in real time (either TCP/IP or UDP, I think).&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;From here it's easy:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://4.bp.blogspot.com/_4I3iR6s_Psk/ST9H4PI6q5I/AAAAAAAAGu8/NJPtn4Vq_Sk/s400/Top+Level.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 126px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5278016319763688338" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_4I3iR6s_Psk/ST9IXEyhB5I/AAAAAAAAGvE/lFxMXqhYBkY/s400/JCATSService.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 316px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5278016849561323410" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_4I3iR6s_Psk/ST9EpqviuEI/AAAAAAAAGus/KDjHhL2qFgA/s400/Effects.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 235px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5278012770940532802" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;img src="http://2.bp.blogspot.com/_4I3iR6s_Psk/ST9JUokWXWI/AAAAAAAAGvc/A0LRHEi1a_8/s400/ActiveUnits.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 235px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5278017907137600866" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_4I3iR6s_Psk/ST9FCh7aLkI/AAAAAAAAGu0/CpP5nywlsoM/s400/Sides_Time_6.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 294px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5278013198071115330" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4I3iR6s_Psk/ST9I1er-yII/AAAAAAAAGvM/1DCQ8obFlj4/s1600-h/Sides_Platforms_Perspective.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 294px;" src="http://1.bp.blogspot.com/_4I3iR6s_Psk/ST9I1er-yII/AAAAAAAAGvM/1DCQ8obFlj4/s400/Sides_Platforms_Perspective.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5278017371909310594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4I3iR6s_Psk/ST9JHOtwYII/AAAAAAAAGvU/mS6txYpeszM/s1600-h/Tanks_Formation_Close.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 294px;" src="http://2.bp.blogspot.com/_4I3iR6s_Psk/ST9JHOtwYII/AAAAAAAAGvU/mS6txYpeszM/s400/Tanks_Formation_Close.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5278017676859433090" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;div style="text-align: center;"&gt;All of these interactive views are transformations of JCATS data using ETL-V&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-7135312356317842479?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/7135312356317842479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=7135312356317842479' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7135312356317842479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7135312356317842479'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/12/models-and-simulations-as-data.html' title='Models and Simulations as Data'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4I3iR6s_Psk/ST9H4PI6q5I/AAAAAAAAGu8/NJPtn4Vq_Sk/s72-c/Top+Level.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-8580759814860016777</id><published>2008-12-06T16:53:00.000-08:00</published><updated>2008-12-07T17:02:04.692-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='whatis'/><category scheme='http://www.blogger.com/atom/ns#' term='Government 2.0'/><title type='text'>Government 1.0 -&gt; Government 2.0</title><content type='html'>&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;div&gt;Observing, describing, and defining a 1.0 -&gt; 2.0 transition may be a difficult undertaking.  Take Government 2.0, for example.  What is our context for "government;" local, state, federal, international?  All of these?  I think if we are going to attempt any articulation of a 1.0 -&gt; 2.0 transition we should start by following a model.  In the case of all things 2.0, that model is obviously the seminal piece by Tim O' Reilly, entitled "&lt;a href="http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html"&gt;What is Web 2.0?  Design Patterns and Business Models for the Next Generation of Software&lt;/a&gt;."&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I suppose we should first start by questioning the appropriateness of trying to draw such inferences from one domain to another.  However, this is occuring regardless.  The 2.0 moniker is being attached to everything under the sun, perhaps without consideration of anything but brand/buzz recognition.  So, like it or not, we are now at a point where we must articulate what we mean by Government 2.0, indeed, by 2.0 in general.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I do think it is appropriate to use Web 2.0 as a model for other domains.  Web 2.0 is not just about technology.  It is about technology that recognizes and leverages the profound role of human behavior and scale.  It certainly seems relevant to Government 2.0&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Literally, it may be appropriate to relate the seven top elements of O' Reilly's paper to other domains.  Intuitively I can see such relationships in Government 2.0.  Harnessing Collective Intelligence strikes me as very Democratic.  What could be more &lt;span class="Apple-style-span" style="font-style: italic;"&gt;E Pluribus Unum&lt;/span&gt;?  Data is the next Intel Inside is Open Government Data (see also:  &lt;a href="http://octo.dc.gov/"&gt;Kundra&lt;/a&gt;).  The sub-elements relate as well:  "A Platform Beats an Application Every Time" is exactly the point being made by Robinson, &lt;span class="Apple-style-span" style="font-style: italic;"&gt;et al&lt;/span&gt;,  in "&lt;a href="http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1138083"&gt;Government Data and the Invisible Hand&lt;/a&gt;."&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But even before we get too carried away with that exercise, perhaps we should start where O'Reilly and MediaLive International started; with a brainstorm.  What are examples of the 1.0 to 2.0 transition in government?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are a few examples that are obvious to me:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;NOAA active weather bulletins -&gt; &lt;a href="http://www.weather.gov/rss/"&gt;NOAA active weather RSS&lt;/a&gt;&lt;/div&gt;Agency reports -&gt; &lt;a href="http://data.octo.dc.gov/"&gt;Open Government Data&lt;/a&gt;&lt;div&gt;Budget competition -&gt; &lt;a href="http://www.youtube.com/user/dcgovernment"&gt;transparent investment&lt;/a&gt;&lt;/div&gt;&lt;div&gt;representatives' web sites -&gt; representatives' blogs&lt;/div&gt;&lt;div&gt;Public council meeting -&gt; public council WebEx&lt;/div&gt;&lt;div&gt;Requests for Proposals -&gt; Contests for Apps (solutions)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well, perhaps it's a start anyway.&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-8580759814860016777?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/8580759814860016777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=8580759814860016777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8580759814860016777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8580759814860016777'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/12/government-10-government-20.html' title='Government 1.0 -&gt; Government 2.0'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-8258630150790455630</id><published>2008-12-06T14:35:00.000-08:00</published><updated>2008-12-16T08:20:30.973-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoDAF'/><category scheme='http://www.blogger.com/atom/ns#' term='Document-Driven Visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='ETLV'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='FEA'/><title type='text'>Enterprise Architectures as Data</title><content type='html'>&lt;a href="http://www.whitehouse.gov/omb/budget/fy2003/bud35.html"&gt;Enterprise architectures&lt;/a&gt; are more than static structures, use cases, and process/sequence models.  Enterprise architectures are also queryable data sources that, once constructed, can be used to answer a great many questions relevant to decision making based on multiple stakeholder concerns; operational, technical, financial, logistical.  In my experience, this assertion usually surprises people.  Operators want to know what complex (in their minds &lt;span class="Apple-style-span" style="font-style: italic;"&gt;complicated&lt;/span&gt;) EA models have to do with getting the job done.  Appropriators want to know how system producer-consumer dependencies relate to purchasing decisions.  To anyone unfamiliar with enterprise architecture, EA can be seen as not only having no value, but as an unwelcome cost burden.  Yet, each of these perspectives is relevant to an enterprise architecture.  Many architects understand this problem but have been helpless to address it.  Enterprise architecture is a rigid, rigorous discipline.  The language and views of architects are complex and detailed.  The tools architects use are highly specialized.  All of this contributes to formidable barrier to information and knowledge sharing.&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;The good news is that there is a relatively simple technology solution that can cut through the complexity and lead to better decision making informed by a variety of stakeholder perspectives.  Now, I'm not saying this is a case of technology riding in on a white horse to save the day, but it's darn close.  To be sure, technology's job here is to &lt;span class="Apple-style-span" style="font-style: italic;"&gt;get out of the way;&lt;/span&gt; to provide the least amount of resistance and friction to business processes and people communicating.  By focusing on a strategy for how EA data is stored, extracted, and transformed we can make the data more versatile.  By making the data more versatile we can make the information that data describe more useable.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The solution strategy, then, is to make enterprise architecture data more versatile using standards.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By implementing this strategy we can use enterprise architectures as data sources to answer a diverse set of typical stakeholder questions.  Using this strategy we clearly see that otherwise detailed, complex data can be easily queried, extracted, transformed, and visualized in entirely new ways.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_4I3iR6s_Psk/STtXavQxfXI/AAAAAAAAGnk/Ddk0f35ebPw/s200/DoDAF+SV.JPG" style="float:left; margin:0 10px 10px 0;cursor:pointer; width: 200px; height: 142px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5276907505269702002" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://3.bp.blogspot.com/_4I3iR6s_Psk/STtX6dUM5SI/AAAAAAAAGns/ZLL8BYfXYEA/s200/AABEA_SysCostCap.bmp" style="float:right; margin:0 0 10px 10px;cursor:pointer; width: 200px; height: 118px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5276908050208056610" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_4I3iR6s_Psk/STtYYPCgJ9I/AAAAAAAAGn0/YjY039d0vfM/s320/arrow.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; width: 85px; height: 71px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5276908561771800530" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://3.bp.blogspot.com/_4I3iR6s_Psk/STtZOyuai1I/AAAAAAAAGn8/NVgtF3n-_0o/s400/Embodiment+1.bmp" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; width: 369px; height: 400px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5276909499064159058" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-8258630150790455630?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/8258630150790455630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=8258630150790455630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8258630150790455630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8258630150790455630'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/12/enterprise-architectures-as-data.html' title='Enterprise Architectures as Data'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4I3iR6s_Psk/STtXavQxfXI/AAAAAAAAGnk/Ddk0f35ebPw/s72-c/DoDAF+SV.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-1796861296523626179</id><published>2008-11-22T11:23:00.000-08:00</published><updated>2008-11-25T17:27:14.237-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='open data'/><category scheme='http://www.blogger.com/atom/ns#' term='innovation'/><category scheme='http://www.blogger.com/atom/ns#' term='government'/><category scheme='http://www.blogger.com/atom/ns#' term='energy'/><category scheme='http://www.blogger.com/atom/ns#' term='transportation'/><category scheme='http://www.blogger.com/atom/ns#' term='farming'/><title type='text'>Priorities for Technology and Innovation?</title><content type='html'>If I could choose our country's top five strategic priorities for technology and innovation, they would be:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Diversify the energy ecosystem&lt;/li&gt;&lt;li&gt;Transform human transportation&lt;/li&gt;&lt;li&gt;Open more government data&lt;/li&gt;&lt;li&gt;Boost resurgence in manufacturing&lt;/li&gt;&lt;li&gt;Transform farming practices&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Diversifying the energy ecosystem means that we diversify production and consumption.  Diversifying production means that we increase the number of different means for producing energy in terms of both type and scale; everything from storing the energy you produce in your exercise machine up to expanding nuclear.  If they ever figure out the photosynthesis model of using the sun then we're literally set for life.  Diversifying energy consumption means that we increase the number of different kinds of energy a consumer can use &lt;span class="Apple-style-span" style="font-style: italic;"&gt;and&lt;/span&gt; decrease the amount of energy the consumer requires in order to be effective.  There will always be both high energy and low energy systems that have purpose and value.  Efficiency of consumption still matters.   Ideally we will produce and require less energy to do more.  This is not a pipe dream.  This is innovation and efficiency.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Transforming human transportation means that we change the way we think about how people move around geographically.  We need to look at the logistics of national and local transportation free from the constraints of mode.  When it comes to moving people, we will also place great emphasis on the preferences of the individual.  These might be combined into the notion of demand.  Given an understanding of demand (past, present, future?) we can make better decisions among biomotive, automotive, locomotive, hydromotive, and aeromotive modes of transportation (most of which are not English words, by the way).  I'm not sure I have good answers, but I'm certain transportation is A) complex and B) broken.  That usually tells me we need to turn the problem on its head and look at it sideways to recognize what will work.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Opening more goverment data means that local, state, and federal governments and their agencies commit to putting all information already in the public domain online in standard, ubiquitous formats that are easy to publish, syndicate, transform, integrate, and view.  Governments should spend less time and money on applications (analysis and visualization tools, websites/portals).  Governments should spend more time and overall less money on opening up our data vice building applications.  Naturally, government-internal uses of data will require tools and applications.  But in all cases better tools and applications will emerge when data is open.  This may be the easiest and least costly priority to implement.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Boosting resurgence in manufacturing means that we recreate and reinvigorate our strength and ingenuity as skilled manufacturers.  More specifically, we invest in:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;High-tech, lightweight manufacturing; tools, devices, sensors, robotics and the like&lt;/li&gt;&lt;li&gt;Transportation manufacturing; planes, trains, and automobiles &lt;/li&gt;&lt;/ol&gt;Maybe farming equipment becomes an emerging market (see priority 5).  Obviously auto manufacturing needs a new direction.  Flying is a horrendous and toxic experience on many levels.  And trains are poised for a comeback here in the U.S.  Clearly transportation of goods is important and deserves attention.  But I think transportation of goods is largely solvable while transportation of people seems nearly, but not quite, intractable.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Transforming farming practices means we find the middle ground between niche farming and factory farming.  Niche farming is not efficient or practical and is more costly than Americans will endure.  The factory farming model is failing in the current environment.  There is entirely too much land not being farmed in an effort to control prices and trade, yet prices are high and trade is poor.  Some argue that cheap food is gone.  I'm not so sure.  The reason sited is the high cost of transportation undercutting the (tightly) controlled production practices that created cheap food in the first place.  I agree those practices should end.  But as long as we are purposely not farming land I don't know how we can make accurate determinations about price realism in food.  Here in Virginia and in southerly neighbor North Carolina we have acres and acres of underutilized, fertile farmland.  Whether it is land that goes unused because a mid-sized farmer can't compete in a factory-farm environment or old tobacco farms that must transform or die, a new strategy for farming can make use of that land, uplift local economies, keep choices up and prices low.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then again, what do I know?  This is more feeling than fact.  I could be terribly, terribly wrong.  Clearly I'm short of specifics.  What I'm after is strategic priorities.  This feels like what matters.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-1796861296523626179?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/1796861296523626179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=1796861296523626179' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1796861296523626179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1796861296523626179'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/11/priorities-for-technology-and.html' title='Priorities for Technology and Innovation?'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-9086751314511101708</id><published>2008-11-14T04:40:00.000-08:00</published><updated>2008-11-14T08:47:19.231-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><category scheme='http://www.blogger.com/atom/ns#' term='interoperability'/><category scheme='http://www.blogger.com/atom/ns#' term='data portability'/><category scheme='http://www.blogger.com/atom/ns#' term='content sharing'/><category scheme='http://www.blogger.com/atom/ns#' term='infrastructure'/><category scheme='http://www.blogger.com/atom/ns#' term='government'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='federal'/><title type='text'>Pentagon Internet Utility Model</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.trooptube.tv/" style="text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;Pentagon gets it right:&lt;/span&gt;&lt;/a&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.trooptube.tv/" style="text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;img src="http://1.bp.blogspot.com/_4I3iR6s_Psk/SR1x99sKeVI/AAAAAAAAGm0/m-W_0T4cUE0/s400/VideoCluster.bmp" style="text-decoration: underline;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 215px; height: 213px; " border="0" alt="Resources by Content, not Application" id="BLOGGER_PHOTO_ID_5268492448439105874" /&gt;&lt;br /&gt;&lt;img src="http://4.bp.blogspot.com/_4I3iR6s_Psk/SR1ya4B1RUI/AAAAAAAAGm8/gTo971vqQXw/s400/TroopTubeLogo.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 78px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5268492945135584578" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;Now that you have &lt;a title="TroopTube.tv" href="http://trooptube.tv/"&gt;a space in your cloud to put all your videos&lt;/a&gt;, you can come up with much simpler plans for multi-level security in that cloud using technology means that have been thoroughly vetted for decades&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.trooptube.tv/" style="text-decoration: none; "&gt;&lt;/a&gt;.  Better results with less technology burden.  This can solve nearly any of your needs, not only the just-in-time requirements driven by the popularity of personal video production and sharing.  Certainly every unclassified activity is covered and that alone makes the world better by several orders of magnitude.  But, replicate this &lt;span class="Apple-style-span" style="font-style: italic;"&gt;model &lt;/span&gt;on NIPR, SIPR, and JWICS and every possible thing you could want to do with digital video will be covered by (roughly) the same technology solution.  People who have to manage security layers will still have to manage security layers, but that concern is more easily separated from the entanglements of technology now.  This is a good thing all around in ways I hope and think you realized before I ever commented here.  &lt;a href="http://www.youtube.com/watch?v=1q_WDX2Ilhc"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;a href="http://www.youtube.com/watch?v=1q_WDX2Ilhc"&gt;This is why you're hot&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More thoughts on &lt;a href="http://kevincurry.blogspot.com/2008/09/federal-agency-internet-utility-model.html"&gt;Federal Agency Internet Utility Model&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P.S. "OneSource" is a bad term.  When it comes to shared content, there is never one source.  That's the point.  You are the infrastructure, just need to figure out how to make that catchy for PR and marketing.  One Destination, maybe.  ...needs work in any case.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-9086751314511101708?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/9086751314511101708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=9086751314511101708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/9086751314511101708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/9086751314511101708'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/11/pentagon-internet-utility-model.html' title='Pentagon Internet Utility Model'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4I3iR6s_Psk/SR1x99sKeVI/AAAAAAAAGm0/m-W_0T4cUE0/s72-c/VideoCluster.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-7687664570814373536</id><published>2008-10-24T22:00:00.000-07:00</published><updated>2008-10-29T05:08:13.311-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='graph visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='pattern recognition'/><category scheme='http://www.blogger.com/atom/ns#' term='networks'/><title type='text'>Pattern Recognition in Graphs</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4I3iR6s_Psk/SQfBimAufZI/AAAAAAAAGlI/eGXZjodOr_Q/s1600-h/GraphViz.bmp"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 170px;" src="http://2.bp.blogspot.com/_4I3iR6s_Psk/SQfBimAufZI/AAAAAAAAGlI/eGXZjodOr_Q/s200/GraphViz.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5262387489669021074" /&gt;&lt;/a&gt;Recognition of a pattern in a graph is a curious thing.  On the one hand, if patterns can be seen among relationships of nodes by their edges, then relationships exist whether or not they can be seen with the eye.  In other words, the relationship is inherently mathematical and can be conclusively tested.  On the other hand, decision making is not strictly binary, i.e., does the relationship exist?  yes/no.  Even when decision making is highly quantitative it is most often multi-dimensional.  This is where graph visualization comes in.  There is significant utility in having the capability to see multiple data dimensions simultaneously by affecting the many attributes of graphical objects.  When people are considering multi-dimensional problem spaces then they are engaged in a level of thinking that is poorly supported by low-level primitives (ex., tables of numbers).  Decision-making based on tables of tuples is no way to go.  Pattern recognition is mind numbing.  The best we can do is perform operations on rows and columns; counting, sorting, grouping, filtering.  While these are immensly useful and powerful, they overlook the possibility that patterns exist among the atomic, non-aggregate entities themselves.  Furthermore, we don't know what they are until we see them and therefore cannot apply operations &lt;span class="Apple-style-span" style="font-style: italic;"&gt;a priori&lt;/span&gt;.  On the other hand, given layered, multi-dimensional graphics we can map these many atomic attributes of abstract data to the attributes of graphical objects.  Then we can use operations for manipulating graphical attributes to reveal patterns.  &lt;a href="http://www.vimeo.com/1917236"&gt;This is particularly useful in graph visualization&lt;/a&gt;, i.e., of networks:&lt;div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://1.bp.blogspot.com/_4I3iR6s_Psk/SQfAKpDhGWI/AAAAAAAAGkw/WpAnZBcafGc/s400/me_traffic_radial_hidden_graph_hidden_labels.bmp" style="cursor:pointer; cursor:hand;width: 400px; height: 361px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5262385978657544546" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://4.bp.blogspot.com/_4I3iR6s_Psk/SQe_l59fZ7I/AAAAAAAAGkg/jlcmg4i4O4U/s400/me_traffic_radial_hidden_backgraph_hidden_abels.bmp" style="cursor:pointer; cursor:hand;width: 400px; height: 361px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5262385347540510642" /&gt;&lt;/div&gt;&lt;div style="text-align: center; "&gt;&lt;img src="http://3.bp.blogspot.com/_4I3iR6s_Psk/SQe_2IVJTjI/AAAAAAAAGko/Ru1e3kAlfeQ/s400/me_traffic_radial_constrasted_backgraph.bmp" style="cursor:pointer; cursor:hand;width: 400px; height: 359px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5262385626275728946" /&gt;&lt;img src="http://1.bp.blogspot.com/_4I3iR6s_Psk/SQfCfZMGZ2I/AAAAAAAAGlY/ALYU5NGExYM/s400/me_coi_markup.bmp" style="cursor:pointer; cursor:hand;width: 400px; height: 348px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5262388534199084898" /&gt;&lt;/div&gt;&lt;div style="text-align: center; "&gt;&lt;span class="Apple-style-span" style="font-weight: bold; font-style: italic;"&gt;Revealing two distinct communities of interest&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-7687664570814373536?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/7687664570814373536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=7687664570814373536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7687664570814373536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7687664570814373536'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/10/pattern-recognition-in-graphs.html' title='Pattern Recognition in Graphs'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4I3iR6s_Psk/SQfBimAufZI/AAAAAAAAGlI/eGXZjodOr_Q/s72-c/GraphViz.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-480967763869841119</id><published>2008-10-02T17:05:00.000-07:00</published><updated>2008-10-03T04:41:07.703-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Document-Driven Visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='BML'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='Bridgeworks'/><category scheme='http://www.blogger.com/atom/ns#' term='SaaS'/><title type='text'>BML Hello World</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://dev.bridgeborn.com/bwschools/BwContent/01_LoadBox.xml"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4I3iR6s_Psk/SOWTtwJ6HbI/AAAAAAAAFRw/-huWIOY-6UM/s400/hello_world.bmp" alt="" id="BLOGGER_PHOTO_ID_5252766954627407282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Loads a 3D &lt;a href="http://www.newtek.com/lightwave/"&gt;Lightwave&lt;/a&gt; model:&lt;br /&gt;&lt;a href="http://dev.bridgeborn.com/bwschools/BwContent/01_LoadBox.xml"&gt;http://dev.bridgeborn.com/bwschools/BwContent/01_LoadBox.xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Describes a stacked column chart:&lt;br /&gt;&lt;a href="http://dev.bridgeborn.com/bwschools/BwContent/3DChart_SingleRow_Stacked.xml"&gt;http://dev.bridgeborn.com/bwschools/BwContent/3DChart_SingleRow_Stacked.xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Describes a force-directed graph (of a caffeine molecule):&lt;br /&gt;&lt;a href="http://dev.bridgeborn.com/bwschools/BwContent/ForceDirectedLayout_CaffeineMolecule.xml"&gt;http://dev.bridgeborn.com/bwschools/BwContent/ForceDirectedLayout_CaffeineMolecule.xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Try them out here:&lt;br /&gt;&lt;a href="http://dev.bridgeborn.com/bwschools"&gt;http://dev.bridgeborn.com/bwschools&lt;/a&gt;&lt;br /&gt;(IE only right now, sorry)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-480967763869841119?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/480967763869841119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=480967763869841119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/480967763869841119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/480967763869841119'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/10/bml-hello-world.html' title='BML Hello World'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4I3iR6s_Psk/SOWTtwJ6HbI/AAAAAAAAFRw/-huWIOY-6UM/s72-c/hello_world.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-1484931742050888722</id><published>2008-09-29T20:11:00.000-07:00</published><updated>2009-06-04T06:54:38.128-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='interoperability'/><category scheme='http://www.blogger.com/atom/ns#' term='Document-Driven Visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='data portability'/><title type='text'>A Portable Language for Real Time, Interactive, Rich Media</title><content type='html'>&lt;p&gt;&lt;span style="FONT-STYLE: italic"&gt;Following is a draft section from an in-progress whitepaper on ETL-V:&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The key to enabling visualization as a core capability is robust description of functionality that is machine portable and parsable through a universal processor that enables the serialization and deserialization of any object, attribute, and behavior in a standard way. Such a description captures the language of visualization in a way that can be understood by any program or person.&lt;/p&gt;Our machine portable language is not intended to express low-level artifacts like vertex points and surface normal vectors, although it can. Most often we follow the model of HTML, which uses URLs to reference images, movies, and other digital multimedia. A 3D Model is not unlike an image:&lt;br /&gt;&lt;br /&gt;&amp;lt;img src="images/car.jpg" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Model url="objects/car.lwo"/&amp;gt;&lt;br /&gt;&lt;br /&gt;Moreover, our language expresses high level artifacts that describe things a person without prior subject-matter expertise might easily recognize. Camera, Model, and Light are but a few examples of rudimentary artifacts in our language. Yet, to establish a robust platform for visualization we must be able to describe artifacts of greater complexity. We must describe the attributes of, for example, ColumnChart, AreaChart, FlowChart, TreeMap, and RadialTree.&lt;br /&gt;&lt;br /&gt;Some objects have implied behaviors such as a Sequencer that iterates through a list of items or a Directive that traverses a graph.&lt;br /&gt;&lt;br /&gt;Our language must contain more than nouns; it must also contain verbs. Therefore we have command objects like Append, Remove, Interpolate, Morph, Notify, and many others (see also Command schema, below).&lt;br /&gt;&lt;p&gt;Our language must be capable of describing attributes having multiple dimensions, for example a 3-dimensional position. We classify attributes as belonging to one of four basic categories: primitive, complex, compound, and collection. These are defined as follows: &lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Primitive Attribute&lt;/b&gt; – an attribute that is expressed using a single value; ex., integer, floating point number, character; we also consider string to be primitive&lt;/li&gt;&lt;li&gt;&lt;b&gt;Complex Attribute&lt;/b&gt; - an attribute that is expressed using multiple primitives; ex., 3D vector of floats&lt;/li&gt;&lt;li&gt;&lt;b&gt;Compound Attribute&lt;/b&gt; – an attribute that is itself an Object containing other attributes; Animation has Keyframe attribute, Keyframe is an Object with its own attributes&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Collection Attribute&lt;/strong&gt; - an attribute that represents a data structure, such as a list, vector, or hash map. A Collection attribute can hold any other kind of attribute.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Given this language, we can express any visualization technique, behavior, or interaction style as a human and machine readable document capable of being interpreted at runtime. To demonstrate our concept for this machine portable language, we have created Bridgeworks Markup Language (BML). BML is defined using Extensible Schema Definition language (XSD). Documentation and source schemata are available online in the following locations:&lt;/p&gt;&lt;p&gt;Documentation of BML:&lt;a href="http://dev.bridgeborn.com/Bridgeworks/Schemata/doc/Bridgeworks.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://dev.bridgeborn.com/Bridgeworks/Schemata/doc/Bridgeworks.html"&gt;http://dev.bridgeborn.com/Bridgeworks/Schemata/doc/Bridgeworks.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;Schemata: (relative to http://dev.bridgeborn.com/Bridgeworks)&lt;span style="TEXT-DECORATION: underline"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://dev.bridgeborn.com/Bridgeworks/Schemata/Bridgeworks/Bridgeworks.xsd"&gt;/Schemata/Bridgeworks/Bridgeworks.xsd&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.bridgeborn.com/Bridgework/Schemata/Common/Command/Command.xsd"&gt;/Schemata/Common/Command/Command.xsd&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.bridgeborn.com/Bridgeworks/Schemata/Common/Directive/Directive.xsd"&gt;/Schemata/Common/Directive/Directive.xsd&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.bridgeborn.com/Bridgeworks/Schemata/Common/Evaluator/Evaluator.xsd"&gt;/Schemata/Common/Evaluator/Evaluator.xsd&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.bridgeborn.com/Bridgeworks/Schemata/Common/Node/Node.xsd"&gt;/Schemata/Common/Node/Node.xsd&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="FONT-STYLE: italic"&gt;[Update 12.02.08:  realized the schemata listed above do not contain all of the elements documented...not sure what happened...see &lt;a href="http://dev.bridgeborn.com/bwschools"&gt;BwSchools&lt;/a&gt;&lt;span class="Apple-style-span" style="FONT-STYLE: normal"&gt;&lt;span class="Apple-style-span" style="FONT-STYLE: italic"&gt; for full list&lt;/span&gt;&lt;span class="Apple-style-span" style="FONT-STYLE: italic"&gt;. Schemata are best viewed in XMLSpy.]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We use Bridgeworks to provide our customers with the largest and most flexible set of visualization capabilities available to them on the market. We deliver these capabilities through a single lightweight runtime that scales between personal devices and large facilities. The runtime engine operates through simple input/output mechanism for parsing text-base, well-formed data, making it easy to integrate without a lot of API programming.&lt;br /&gt;&lt;h4&gt;Platform Functional Requirements:&lt;/h4&gt;&lt;ol style="MARGIN-TOP: 0in" type="1"&gt;&lt;li&gt;The capability must provide &lt;b&gt;graph layouts&lt;/b&gt; (ex., radial tree, cone tree, force-directed graph)&lt;/li&gt;&lt;li&gt;The capability must provide &lt;b&gt;chart layouts&lt;/b&gt; (ex., bar charts, line charts)&lt;/li&gt;&lt;li&gt;The capability must provide &lt;b&gt;geospatial layouts&lt;/b&gt; (ex., maps, globe, terrains)&lt;/li&gt;&lt;li&gt;The capability must provide &lt;span style="FONT-WEIGHT: bold"&gt;high-fidelity 3D modeling and animation&lt;/span&gt; &lt;/li&gt;&lt;li&gt;The capability must provide &lt;strong&gt;video&lt;/strong&gt; and &lt;strong&gt;audio&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;The capability must provide &lt;b&gt;hybridized views&lt;/b&gt; (ex., Extrude Map: geospatial + chart)&lt;/li&gt;&lt;li&gt;The capability must provide &lt;b&gt;split views&lt;/b&gt; (ex., side-by-side comparison)&lt;/li&gt;&lt;li&gt;The capability must provide &lt;b&gt;layered views&lt;/b&gt; &lt;/li&gt;&lt;li&gt;The capability must provide a &lt;b&gt;temporal dimension&lt;/b&gt; &lt;/li&gt;&lt;li&gt;The capability must provide a mechanism for &lt;b&gt;user-defined attributes&lt;/b&gt;&lt;/li&gt;&lt;li&gt;The capability must provide a mechanism for &lt;b&gt;user-defined events, and triggers&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h4&gt;Platform Technical Requirements:&lt;br /&gt;&lt;/h4&gt;&lt;ol style="MARGIN-TOP: 0in" type="1"&gt;&lt;li&gt;The capability must provide &lt;b&gt;multi-dimensional graphics&lt;/b&gt; (2D, 3D, 4D+)&lt;/li&gt;&lt;li&gt;The capability must provide an &lt;b&gt;engine that can change views and behaviors at runtime using only a text based, interpreted language that does not require compilation in order to add/modify/delete content in real time&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The capability must provide &lt;b&gt;serialization and de-serialization&lt;/b&gt; of data and objects into and out of rich media views using:   &lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;XML&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;JSON&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;CSV&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;The capability must provide &lt;b&gt;serialization and de-serialization of standard object notations&lt;/b&gt; (SONs, ex., JSON) into and out of views&lt;/li&gt;&lt;li&gt;The capability must provide &lt;b&gt;Object/Attribute Reflection&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The capability must provide &lt;b&gt;storage of domain data as Objects’ attributes loaded in memory&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The capability must provide an &lt;b&gt;extensible API&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The capability must provide &lt;b&gt;ECMA script language binding&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The capability must provide &lt;b&gt;COM language binding&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The capability must provide &lt;b&gt;Java language binding&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The capability must be able to &lt;b&gt;render from multiple 2D and 3D file formats&lt;/b&gt;, including but not limited to:&lt;br /&gt;&lt;/li&gt;&lt;ol style="MARGIN-TOP: 0in" type="a"&gt;&lt;li&gt;&lt;b&gt;ESRI ArcView Shape&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;LightWave Object&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Keyhole Markup Language (KML)&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;CAD Models (AutoDesk, SolidWorks)&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;JPEG&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Bitmap&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Extensible to other formats as needed&lt;/b&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;li&gt;The capability must be able to render from data located in &lt;b&gt;local and remote URLs&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The capability must embeddable in the following software applications:&lt;br /&gt;&lt;/li&gt;&lt;ol style="MARGIN-TOP: 0in" type="a"&gt;&lt;li&gt;&lt;b&gt;Internet Explorer versions 6 &amp;amp; 7&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Microsoft Office 2003 Products: Word, Excel, PowerPoint&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Mozilla&lt;/b&gt;&lt;b&gt; Firefox&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Win32 Graphical User Interfaces (GUIs)&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;.Net/C# GUIs&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Java GUIs&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;The capability must provide an &lt;b&gt;XML schema and a document object model (DOM)&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;Visualization as a Service&lt;br /&gt;&lt;/h3&gt;&lt;br /&gt;Visualization as a service is an extension of our core capability concept of visualization as a platform. Because we can express views, behaviors, and interaction models without deviating from our standards for reasonable portability we can &lt;i&gt;publish and share&lt;/i&gt; views, behaviors, and interaction models just like any other content. This means that web services and other data servers can produce human and machine readable &lt;span class="Apple-style-span" style="FONT-STYLE: italic"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;a href="http://kevincurry.blogspot.com/2007/09/document-driven-visualization.html"&gt;documents &lt;/a&gt;&lt;/span&gt;&lt;/span&gt;that describe visualization, behavior, and interaction. Furthermore, these documents can be parsed to create or modify any visualization, behavior, or interaction technique at runtime without intermediate compilation. Depending on transfer frequency, volume of data, and security constraints, data describing visualizations, behavior, and interaction can also be cached for use in “offline-mode” with so-called “rich Internet applications” (RIAs).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="FONT-STYLE: italic"&gt;[Update 03.14.2009 - Just watched &lt;a href="http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html"&gt;Tim Berners-Lee's TED Talk on Linked Open Data&lt;/a&gt; and recently watched &lt;a href="http://videoontheweb.faa.gov/info_tech/Vint-Cert-02202009-HS.asx"&gt;Vint Cerf's Feb 09 lecture to FAA&lt;/a&gt;.  Want to add here that a document-based approach is the best way to ensure that visualization follows the important lessons taught by these great teachers.  Binary objects can be be linked using HTTP and metadata, but binary objects are not open.  Binary objects also always require a specialized software reader to be interpreted.  Documents, on the other hand, are what the Web was designed to link and text will always be readable by readily available software on the web.  Even if one rendering engine disappears it is always possible for another to come along; ex., if rendering an old visualization document as graphics ever becomes important hundreds of years in the future.  I realize I am contradicting this principle by encouraging the use of existing binary formats for images and 3D models, but this is a compromise I am willing to make at this point.  Check out &lt;a href="http://kevincurry.blogspot.com/2008/10/bml-hello-world.html"&gt;BML Hello World&lt;/a&gt;.  &lt;a href="http://code.google.com/apis/kml/documentation/"&gt;KML &lt;/a&gt;is important and wonderful, but it is just scratching the surface.]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-1484931742050888722?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1484931742050888722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1484931742050888722'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/09/portable-language-for-real-time.html' title='A Portable Language for Real Time, Interactive, Rich Media'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-1047416245245718487</id><published>2008-09-23T16:20:00.001-07:00</published><updated>2008-09-23T16:22:26.046-07:00</updated><title type='text'>Federal Agency Internet Utility Model</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4I3iR6s_Psk/SNl6LCRYr7I/AAAAAAAAFL8/KqhJ6_OS_0k/s1600-h/FederalAgencyInternetUtilityModel.bmp"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_4I3iR6s_Psk/SNl6LCRYr7I/AAAAAAAAFL8/KqhJ6_OS_0k/s400/FederalAgencyInternetUtilityModel.bmp" alt="" id="BLOGGER_PHOTO_ID_5249361170683965362" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-1047416245245718487?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1047416245245718487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1047416245245718487'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/09/federal-agency-internet-utility-model.html' title='Federal Agency Internet Utility Model'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4I3iR6s_Psk/SNl6LCRYr7I/AAAAAAAAFL8/KqhJ6_OS_0k/s72-c/FederalAgencyInternetUtilityModel.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-1121479174509173575</id><published>2008-09-05T18:46:00.000-07:00</published><updated>2008-09-05T19:28:14.481-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='graph theory'/><category scheme='http://www.blogger.com/atom/ns#' term='Jeffrey Heer'/><category scheme='http://www.blogger.com/atom/ns#' term='graph layout'/><category scheme='http://www.blogger.com/atom/ns#' term='Document-Driven Visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='Stuart Card'/><category scheme='http://www.blogger.com/atom/ns#' term='prefuse'/><category scheme='http://www.blogger.com/atom/ns#' term='technique'/><category scheme='http://www.blogger.com/atom/ns#' term='graph'/><category scheme='http://www.blogger.com/atom/ns#' term='flare'/><title type='text'>Flare gets DDV</title><content type='html'>I have learned much from the work Stuart Card and Jeffrey Heer.  It was their research on graph layout algorithms that made possible the modularization of graphing capabilities in software.  Heer's premier software implementation of this research is &lt;a href="http://prefuse.org/"&gt;Prefuse&lt;/a&gt;.  Computer Science taught us Graph Theory and the structure, manipulation, and traversal of nodes and edges.  Prefuse taught us &lt;a href="http://picasaweb.google.com/kmcurry/GraphVisualization#5201922940281993010"&gt;Radial Tree&lt;/a&gt;, &lt;a href="http://picasaweb.google.com/kmcurry/Bridgeworks#5200826830268315250"&gt;Force-directed Graph&lt;/a&gt;, and Degree-of-Interest Tree.  And Prefuse is excellent not just because it good at graphics and layouts but because it is also document-driven, i.e., it runs on XML.  Sure, there's a Java API, and that's probably what most developers focus on.   But the fact that it parses XML, that it recognizes a &lt;span style="font-style: italic;"&gt;vocabulary &lt;/span&gt;and language for visualization, and that this language can be expressed as documents is what I think makes Prefuse special.&lt;br /&gt;&lt;br /&gt;After Prefuse came &lt;a href="http://flare.prefuse.org/"&gt;Flare&lt;/a&gt;.  Flare is a wonderful application of prefuse ported to ActionScript.&lt;br /&gt;&lt;br /&gt;Flare really gets document-driven visualization.  I was just browsing through &lt;a href="http://flare.prefuse.org/download"&gt;the source&lt;/a&gt; when I unfolded the &lt;a href="http://flare.prefuse.org/api/flare/data/converters/package-detail.html"&gt;data/converters&lt;/a&gt; package:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4I3iR6s_Psk/SMHoWpu15MI/AAAAAAAAFIY/kn0bnjlOwIE/s1600-h/well-formed.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_4I3iR6s_Psk/SMHoWpu15MI/AAAAAAAAFIY/kn0bnjlOwIE/s400/well-formed.bmp" alt="" id="BLOGGER_PHOTO_ID_5242726917093057730" border="0" /&gt;&lt;/a&gt;See also (emphases added by me):&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Tahoma;font-size:13;"  &gt;&lt;table class="summaryTable"  style="border: 1px solid rgb(153, 153, 153); width: 391px; margin-bottom: 20px; margin-right: 10px; height: 256px;color:white;" cellpadding="3" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th  style="text-align: left; font-weight: bold; vertical-align: bottom; color: rgb(255, 255, 255); background-color: rgb(98, 124, 157); white-space: nowrap;font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/th&gt;&lt;th  style="text-align: left; font-weight: bold; vertical-align: bottom; color: rgb(255, 255, 255); background-color: rgb(98, 124, 157); white-space: nowrap;font-size:13px;" width="30%"&gt;&lt;span style="font-size:85%;"&gt;Class&lt;/span&gt;&lt;/th&gt;&lt;th  style="text-align: left; font-weight: bold; vertical-align: bottom; color: rgb(255, 255, 255); background-color: rgb(98, 124, 157); white-space: nowrap;font-size:13px;" width="70%"&gt;&lt;span style="font-size:85%;"&gt;Description&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr class="prow1" style="background-color: rgb(255, 255, 255);"&gt;&lt;td class="summaryTablePaddingCol"  style="border-top: 1px solid rgb(153, 153, 153); width: 5px; vertical-align: top;font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td class="summaryTableSecondCol"  style="border-top: 1px solid rgb(153, 153, 153); vertical-align: top;font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.blogger.com/Converters.html" style="color: rgb(0, 0, 204); text-decoration: none;"&gt;Converters&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td class="summaryTableLastCol"  style="border-top: 1px solid rgb(153, 153, 153); padding-right: 10px; vertical-align: top; color: rgb(0, 0, 0);font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;Factory class for looking up the appropriate IDataConverter for a given data format.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="prow0" style="background-color: rgb(242, 242, 242);"&gt;&lt;td class="summaryTablePaddingCol"  style="border-top: 1px solid rgb(153, 153, 153); width: 5px; vertical-align: top;font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td class="summaryTableSecondCol"  style="border-top: 1px solid rgb(153, 153, 153); vertical-align: top;font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.blogger.com/DelimitedTextConverter.html" style="color: rgb(0, 0, 204); text-decoration: none;"&gt;DelimitedTextConverter&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td class="summaryTableLastCol"  style="border-top: 1px solid rgb(153, 153, 153); padding-right: 10px; vertical-align: top; color: rgb(0, 0, 0);font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;Converts data between &lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;delimited text &lt;/span&gt;&lt;span style="font-size:85%;"&gt;(e.g., tab delimited) and flare DataSet instances.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="prow1" style="background-color: rgb(255, 255, 255);"&gt;&lt;td class="summaryTablePaddingCol"  style="border-top: 1px solid rgb(153, 153, 153); width: 5px; vertical-align: top;font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td class="summaryTableSecondCol"  style="border-top: 1px solid rgb(153, 153, 153); vertical-align: top;font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.blogger.com/GraphMLConverter.html" style="color: rgb(0, 0, 204); text-decoration: none;"&gt;GraphMLConverter&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td class="summaryTableLastCol"  style="border-top: 1px solid rgb(153, 153, 153); padding-right: 10px; vertical-align: top; color: rgb(0, 0, 0);font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;Converts data between GraphML &lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;markup &lt;/span&gt;&lt;span style="font-size:85%;"&gt;and flare DataSet instances.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="prow0" style="background-color: rgb(242, 242, 242);"&gt;&lt;td class="summaryTablePaddingCol"  style="border-top: 1px solid rgb(153, 153, 153); width: 5px; vertical-align: top;font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td class="summaryTableSecondCol"  style="border-top: 1px solid rgb(153, 153, 153); vertical-align: top;font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.blogger.com/JSONConverter.html" style="color: rgb(0, 0, 204); text-decoration: none;"&gt;JSONConverter&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td class="summaryTableLastCol"  style="border-top: 1px solid rgb(153, 153, 153); padding-right: 10px; vertical-align: top; color: rgb(0, 0, 0);font-size:13px;"&gt;&lt;span style="font-size:85%;"&gt;Converts data between &lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;JSON &lt;/span&gt;&lt;span style="font-size:85%;"&gt;(JavaScript Object Notation) strings and flare DataSet instances.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;This is certainly &lt;a href="http://kevincurry.blogspot.com/2008/04/best-practices-of-well-formed-data.html"&gt;familiar&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-1121479174509173575?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1121479174509173575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1121479174509173575'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/09/flare-gets-ddv.html' title='Flare gets DDV'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4I3iR6s_Psk/SMHoWpu15MI/AAAAAAAAFIY/kn0bnjlOwIE/s72-c/well-formed.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-445302522331050830</id><published>2008-09-04T09:54:00.000-07:00</published><updated>2008-11-23T15:41:14.311-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='interoperability'/><category scheme='http://www.blogger.com/atom/ns#' term='Document-Driven Visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='Edward Tufte'/><category scheme='http://www.blogger.com/atom/ns#' term='data portability'/><category scheme='http://www.blogger.com/atom/ns#' term='DDV'/><title type='text'>Tufte on document-based platforms</title><content type='html'>&lt;p  style="font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;This just posted at the end of a new thread on &lt;a href="http://www.edwardtufte.com/bboard"&gt;Ask E.T.&lt;/a&gt; &lt;a href="http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0003Hd&amp;amp;topic_id=1"&gt;about Google Chrome&lt;/a&gt;:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: georgia;"&gt;(Emphasis added by me)&lt;br /&gt;&lt;/p&gt;&lt;p  style="font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;&lt;i&gt;"How's the browser?&lt;/i&gt; &lt;/span&gt;&lt;/p&gt;&lt;p  style="font-style: italic;font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p  style="font-style: italic;font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;Thanks to the many contributors who pointed out Scott's kind link in the example of amazon search.  &lt;/span&gt;&lt;/p&gt;&lt;p  style="font-style: italic;font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;David Pogue's  &lt;a href="http://www.nytimes.com/2008/09/03/technology/personaltech/03pogue.html?ex=1378180800&amp;amp;en=ef493033765f7845&amp;amp;ei=5124&amp;amp;partner=permalink&amp;amp;exprod=permalink"&gt;report&lt;/a&gt; in The  New York Times suggests this browser leads to &lt;span style="font-weight: bold;"&gt;an integrated platform with non-proprietary formats (very good)&lt;/span&gt;  &lt;span style="font-weight: bold;"&gt;but is still application-based rather than document-based (not very good)&lt;/span&gt;." &lt;/span&gt;&lt;/p&gt;&lt;p  style="font-style: italic;font-family:georgia;"&gt;     &lt;span style="font-size:100%;"&gt;       &lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:times new roman,times,serif;font-size:100%;"&gt;&lt;span style="font-style: italic;font-family:georgia;"&gt;-- Edward Tufte, September 3, 2008&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;This is something I think constantly about - document-based platforms can serve end-to-end needs from data extraction, transformation, portability, and &lt;span style="font-style: italic;"&gt;visualization&lt;/span&gt;. See also, the flow on  &lt;/span&gt;&lt;a style="font-family: georgia;" href="http://kevincurry.blogspot.com/2007/09/document-driven-visualization.html"&gt;Document Driven Visualization&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-445302522331050830?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/445302522331050830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/445302522331050830'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/09/tufte-on-document-based-platforms.html' title='Tufte on document-based platforms'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-932368966100801220</id><published>2008-08-30T20:35:00.000-07:00</published><updated>2008-09-01T17:00:20.391-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='operating systems'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><title type='text'>Visualization as a Core Capability</title><content type='html'>I came back from a recent DARPA workshop ever more convinced that visualization as a core capability is both necessary and attainable.  "Visualization as a core capability" means that the full spectrum of visualization techniques is available from any application.  It doesn't involve so-called "pluggable" components; no automatic code generation to force big-bang integration between heterogeneous apps, tools, and APIs.  Anywhere I come across some columns of data I ought to be able to generate a chart.  If I can recognize that columns of data are latitudes and longitudes then the computer should also make that recognition and generate a map.  The chart and the map should be independent of any application and at the same time embeddable into any application.  I am increasingly of the opinion that we need visualization built into the operating system as a platform service.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4I3iR6s_Psk/SLyB5W4GVPI/AAAAAAAAFH4/hYNI_6NFLjY/s1600-h/LANA_slide.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4I3iR6s_Psk/SLyB5W4GVPI/AAAAAAAAFH4/hYNI_6NFLjY/s400/LANA_slide.bmp" alt="" id="BLOGGER_PHOTO_ID_5241206888745817330" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-932368966100801220?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/932368966100801220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/932368966100801220'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/08/visualization-as-core-capability.html' title='Visualization as a Core Capability'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4I3iR6s_Psk/SLyB5W4GVPI/AAAAAAAAFH4/hYNI_6NFLjY/s72-c/LANA_slide.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-1609686263979333274</id><published>2008-08-13T20:05:00.000-07:00</published><updated>2008-08-13T20:10:28.929-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cyber security'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='GWEI'/><category scheme='http://www.blogger.com/atom/ns#' term='DARPA'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>Attention DARPA:  Here is your National Cyber Range Solution</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://gwei.org/img/GWEI_System.pdf"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_4I3iR6s_Psk/SKOhbQNEOUI/AAAAAAAAE8Q/z0GbKCMjPCo/s400/GWEI_SYSTEM.gif" alt="" id="BLOGGER_PHOTO_ID_5234204681512958274" border="0" /&gt;&lt;/a&gt;Just sayin...&lt;br /&gt;&lt;br /&gt;(Image from &lt;a href="http://gwei.org"&gt;GWEI.org&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-1609686263979333274?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1609686263979333274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1609686263979333274'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/08/attention-darpa-here-is-your-national.html' title='Attention DARPA:  Here is your National Cyber Range Solution'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4I3iR6s_Psk/SKOhbQNEOUI/AAAAAAAAE8Q/z0GbKCMjPCo/s72-c/GWEI_SYSTEM.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-2576202555388637782</id><published>2008-07-31T19:02:00.001-07:00</published><updated>2008-08-06T21:05:57.191-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knowledge sharing'/><category scheme='http://www.blogger.com/atom/ns#' term='lessons learned'/><category scheme='http://www.blogger.com/atom/ns#' term='Edward Tufte'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><title type='text'>Perma-Knowledge</title><content type='html'>I love that people continue to add relevant and useful information to &lt;a title="Wildfire Maps" href="http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0000tY&amp;amp;topic_id=1" mce_href="http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0000tY&amp;amp;topic_id=1"&gt;5 year old threads on Edward Tufte's bulletin board&lt;/a&gt;.  It happens all the time.  Talk about a simple and effective lessons learned resource...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-2576202555388637782?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2576202555388637782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2576202555388637782'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/07/i-love-that-people-continue-to-add.html' title='Perma-Knowledge'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-3435939700613879288</id><published>2008-07-28T19:16:00.000-07:00</published><updated>2008-07-28T16:17:17.716-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='philosopy'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>"Information Technology Support" is an Oxymoron</title><content type='html'>The purpose of technology is to help people perform tasks.  Isn't it ironic that we need so much human support for managing technology?  Or maybe oxymoron isn't quite right.  "Technology support" is redundant.  It's support for support, is it not?  I mean, is technology doing its job if it needs lots of ancillary support to keep it going?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-3435939700613879288?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/3435939700613879288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/3435939700613879288'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/05/information-technology-support-is.html' title='&quot;Information Technology Support&quot; is an Oxymoron'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-959519175274974175</id><published>2008-07-27T17:40:00.001-07:00</published><updated>2008-07-27T17:43:09.596-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='delicious'/><category scheme='http://www.blogger.com/atom/ns#' term='tagging'/><category scheme='http://www.blogger.com/atom/ns#' term='tag cloud'/><title type='text'>Delicious Prestidigital</title><content type='html'>&lt;a href="http://wordle.net/gallery/wrdl/92172/Delicious_Prestidigital" title="Wordle: Delicious Prestidigital"&gt;&lt;img src="http://wordle.net/thumb/wrdl/92172/Delicious_Prestidigital" style="padding:4px;border:1px solid #ddd"/&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-959519175274974175?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/959519175274974175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/959519175274974175'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/07/delicious-prestidigital.html' title='Delicious Prestidigital'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-4856043175958364680</id><published>2008-06-04T05:28:00.000-07:00</published><updated>2008-06-23T07:28:12.552-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tagging'/><category scheme='http://www.blogger.com/atom/ns#' term='metadata'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><title type='text'>Calling All OS Designers:  Redesign "Save As..."</title><content type='html'>It's time to redux "Save As..." Keyword tagging is everywhere and there is a resurgence in metadata collection, now that benefits are being realized. Indeed applications have included metadata forms for generations but no one ever uses them because they have always been hidden from our awareness and critical task paths. In other words, you have to go out of your way to collect metadata. But this doesn't need to be the case. We learned while working a very complex information organization problem for the FCS Lead Systems Integrator that it is entirely practical to insert minimal steps into the task of bookmarking in order to create a much richer and more easily shared collection. It wasn't a matter of automated versus manual tagging since senior subject matter experts were already using browser-based, hierarchical bookmarking techniques to keep track what they were finding while conducting their research online. (More on that later.) Instead, it was a matter of suggesting that, "Hey, since you are already actively browsing and bookmarking, would you mind if we pop up a window and collect a few key words?" The cost was the number of keystrokes and/or clicks to enter key words plus one to submit a pre-populated tag form.&lt;br /&gt;&lt;br /&gt;And so this is what I am suggesting: We should add this kind of metadata collection to the "Save As..." task. Of course it can be opted out, but Save As... is the semantic equivalent of browser-based, hierarchical bookmarking. I won't argue the pros and cons of keyword tagging versus hierarchical cataloging. I know from experience that both have value and that one is much more versatile than the other. I would just ask, how many times do you find yourself saving files with names like:&lt;br /&gt;&lt;br /&gt;"Arxiv_electron_force_depth3_foregraph_select_highly-referenced.bmp"&lt;br /&gt;&lt;br /&gt;Maybe it's just me and since I can really only speak for myself, I will: I damn sure would enter a few key words during the Save As... process if only I had the means. It needs to be universal, too, or as close as we can get given the hodge-podge of technology on our machines.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-4856043175958364680?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/4856043175958364680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/4856043175958364680'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/06/calling-all-os-designers-redesign-save.html' title='Calling All OS Designers:  Redesign &quot;Save As...&quot;'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-3668683435039115563</id><published>2008-06-02T19:28:00.000-07:00</published><updated>2008-06-03T15:15:05.023-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='citizenship'/><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><category scheme='http://www.blogger.com/atom/ns#' term='Wired'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='government'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='DARPA'/><category scheme='http://www.blogger.com/atom/ns#' term='communication'/><category scheme='http://www.blogger.com/atom/ns#' term='privacy'/><title type='text'>I Can't Believe I'm Thinking This...</title><content type='html'>I just stumbled across a post from &lt;a href="http://en.wikipedia.org/wiki/Bruce_Sterling"&gt;Bruce Sterling&lt;/a&gt; on Wired's "&lt;a href="http://blog.wired.com/27bstroke6/"&gt;Threat Level&lt;/a&gt;" blog: "&lt;a href="http://blog.wired.com/sterling/2008/05/threat-level-is.html"&gt;Threat Level is fascinated by the National Cyber Range&lt;/a&gt;." I found it because I happened to have read the BAA last week and I was now doing a little homework for a proposal. Let me first record that I applaud Mr. Sterling's calling attention and his quippish commentary. I have to admit that I've had many of the same thoughts over several years of working in this business and even today as I consider implications of potentially working this concept. But given rationalization, a most useful tool and frequent resolver of guilt, I am compelled to counter Mr. Sterling's remarks.&lt;br /&gt;&lt;br /&gt;I'll start with the obvious: &lt;a href="http://www.ideafinder.com/history/inventions/internet.htm"&gt;DARPA invented the Internet&lt;/a&gt;; the thing Mr. Sterling is using to exercise his freedom of speech (in the wide open, by the way - something that will get you jailed or killed in other places in the world). Brilliant and now legendary inventors like &lt;a href="http://en.wikipedia.org/wiki/Vinton_Cerf"&gt;Vinton Cerf worked for DARPA&lt;/a&gt;. Two prominent California &lt;a href="http://www.stanford.edu/"&gt;universities&lt;/a&gt; &lt;a href="http://www.ucla.edu/"&gt;participated&lt;/a&gt;, too. Even then the Internet started with a trepidatious title: "&lt;a href="http://web.mit.edu/invent/iow/cerf.html"&gt;Galactic Network&lt;/a&gt;," but here we are.&lt;br /&gt;&lt;br /&gt;But enough of the obvious. It is easy to pique our fears by tapping into what is surely a bottomless well of sarcasm and criticism, particularly when one is not bothering to give treatment to any other relevant possibilities. At very least, an entirely contrary position owes some consideration of likelihood. Generally from there we do a good job of protecting ourselves from those downsides, particularly, believe it or not, where our privacy and rights are concerned. A more appropriate criticism would be one that counters the supposed benefits an endeavor such as this program may suggest to offer. Since none are suggested by Mr. Sterling I will have to come up with my own.&lt;br /&gt;&lt;br /&gt;I have to start by asking myself, "What existing problems can this solve?" Or, "What questions can this answer?" Or better yet, just plain, "Why?" I know I have to consider these questions in "DARPA-hard" terms. It seems naive to reduce this to a matter of...what? DoD's attempt to CONTROL EVERYONE AND RULE THE WORLD!? ...muhahahaha! (I get sarcasm.) I am absolutely certain that the kind of folks who would work on a program like this are smart enough to know that the concept of people exchanging information in the form of data packets over wavelengths has no constraints on infrastructure. There is always peer-to-peer.&lt;br /&gt;&lt;br /&gt;I do suppose it is worth making explicit, by law, the fundamental right to operate your own network on your own infrastructure...&lt;br /&gt;&lt;br /&gt;If there was ever an obvious example of a lab experiment having massively unforseen consequences beyond the lab it is the Internet. Ironically, the very spread of the Internet itself must have all of the same characteristics of the spread of an Internet virus or else Internet viruses would lack the very means attributing their basic behavior. Spread of cell phone technology is even more pervasive. And it is all fantastic. But there is some really bad, bad shit that happens on OUR Internet - the one &lt;em&gt;conceived of, invented, and owned by civil people&lt;/em&gt; - and it has nothing to do with privacy.&lt;br /&gt;&lt;br /&gt;Spam is beyond out of control. It may be intractable. DARPA does intractable. Who would tolerate hundreds or thousands of phone calls daily? Why is Internet spam so disproportionately leveraged as an advertising medium compared to junk mail? Is it because spammers think it's better marketing? Or could it be because criminals are exploiting our Internet for personal gain?&lt;br /&gt;&lt;br /&gt;Why would DARPA want the "ability to rapidly generate and integrate replications of new machines?" Could it have anything to do with the existence of &lt;a href="http://www.usenix.org/event/hotbots07/tech/full_papers/rajab/rajab_html/node2.html"&gt;multimillion node botnets&lt;/a&gt; wreaking havoc?&lt;br /&gt;&lt;br /&gt;Then there's &lt;a href="http://www.cnn.com/2007/US/09/26/power.at.risk/index.html"&gt;this CNN report&lt;/a&gt; of researchers demonstrating the feasibility of hacking and destroying critical infrastructure.&lt;br /&gt;&lt;br /&gt;So, I just don't know. What exactly is wrong with trying to fix that stuff? Why can't that be DARPA's reason?&lt;br /&gt;&lt;br /&gt;How about this one: "The ability to replicate large-scale military and government network enclaves." &lt;em&gt;De facto&lt;/em&gt;, the military and government have every right to pursue that ability for themselves if they think they need it. Er, ourselves...if we think we need it. Whether we like it or not the military and the government is us and us and us. But, hey, wouldn't it be great if DARPA invented a revolutionary new way to replicate [FOO] large-scale network? Like the ones on which our banks run.&lt;br /&gt;&lt;br /&gt;And this one: "The ability to connect to distributed, custom facilities and/or capabilities as necessary to incorporate specialized capabilities, effects, or infrastructures." Hello, system integrators. DARPA should call Apple for this one.&lt;br /&gt;&lt;br /&gt;And: "Realistically replicate human behavior and frailties." Well, that's just DARPA being DARPA-weird.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-3668683435039115563?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/3668683435039115563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=3668683435039115563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/3668683435039115563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/3668683435039115563'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/06/i-cant-believe-im-thinking-this.html' title='I Can&apos;t Believe I&apos;m Thinking This...'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-5546994178589271421</id><published>2008-05-08T19:46:00.001-07:00</published><updated>2009-11-17T06:20:38.440-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dataportability'/><category scheme='http://www.blogger.com/atom/ns#' term='interoperability'/><category scheme='http://www.blogger.com/atom/ns#' term='well-formed data'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Wonderfully Simple Praise of the Hyperlink?</title><content type='html'>(Prologue:  This title comes from posts written by &lt;a href="http://benfry.com/writing/archives/85"&gt;Ben Fry&lt;/a&gt; and &lt;a href="http://adactio.com/articles/1132/"&gt;Jeremy Keith&lt;/a&gt;.  I hope they will not mind.  I find myself increasingly attracted to what they have to say on technology matters I care about.)&lt;br /&gt;&lt;br /&gt;Here is near perfect example of a complexity problem, that I have yet to define, when comparing the integration of two APIs:  Facebook and del.icio.us.  One  API seems to indicate what happens when you let developers define use cases and one shows what happens when you actually stop to think about how information is used by consumers.  (I can say that because I write code.)&lt;br /&gt;&lt;br /&gt;So in this case, I want to get a list of my friends.  It's a dead simple request.  I tell the platform I want my friends.  I get back a well-formed (hopefully) document containing my data about my friends, right?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4I3iR6s_Psk/SCO-DbafkKI/AAAAAAAAD50/0kRoF_fBQ6Q/s1600-h/FacebookAPIFriendsGet.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_4I3iR6s_Psk/SCO-DbafkKI/AAAAAAAAD50/0kRoF_fBQ6Q/s320/FacebookAPIFriendsGet.bmp" alt="" id="BLOGGER_PHOTO_ID_5198207361023447202" border="0" /&gt;&lt;/a&gt;Exhibit A, The Facebook API:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;facebook.friends.get&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The name suggests a clean, intuitive interface...until we get into how we use the interface.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;facebook.friends.get&lt;/span&gt; has &lt;span style="font-style: italic;"&gt;nine&lt;/span&gt; parameters.  &lt;span style="font-style: italic;"&gt;Two &lt;/span&gt;of the parameters are &lt;span style="font-style: italic;"&gt;separate authentication values&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The parameter &lt;span style="font-family:courier new;"&gt;call_id&lt;/span&gt; is documented as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"The request's sequence number. Each successive call for any session must use a sequence number greater than the last. We suggest using the current time in milliseconds, such as PHP's &lt;/span&gt;&lt;code style="font-style: italic;"&gt;microtime(true)&lt;/code&gt;&lt;span style="font-style: italic;"&gt; function."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Which is to say that the caller is responsible for scheduling calls with the service?!  Why do we have to agree on a "sequence number" in order to do business?&lt;br /&gt;&lt;br /&gt;How about the "variable" that isn't:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:courier new;"&gt;string v&lt;/span&gt;&lt;span style="font-style: italic;"&gt;  This &lt;span style="font-weight: bold;"&gt;must be set to 1.0&lt;/span&gt; to use this version of the API.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Which is to say, "Please pass me this parameter even though I already know the value."&lt;br /&gt;&lt;br /&gt;It's a "placeholder," right?  Because in "the future" we &lt;span style="font-style: italic;"&gt;might &lt;/span&gt;want to leave room for specifying which version we want...&lt;span style="font-style: italic;"&gt;per interface&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;It's goes on and on.  Then you tell &lt;span style="font-family:courier new;"&gt;facebook.friends.get &lt;/span&gt;what format you want, then whether or not you want the results wrapped in a function call so you can get around cross-domain data security, yada, yada... And don't forget to hash the URL first!  I'm only talking about one endpoint here.&lt;br /&gt;&lt;br /&gt;Ugh.&lt;br /&gt;&lt;br /&gt;Am I wrong to be disappointed?  Am I the only one who is confused?  Who thinks this is unnecessary?  This is the standard API-centric view of interoperability but I'm not buying it.&lt;br /&gt;&lt;br /&gt;Now, I have little doubt there is a good reason for every parameter and for this kind of programming.  I've heard every reason.  I argued many of them myself...until I learned better.  To gnash teeth over the legitimacy of each thing is to argue details regardless of their relevancy to the matter at hand.  The matter at hand is that &lt;span style="font-style: italic;"&gt;I am requesting my friends&lt;/span&gt; from the platform &lt;span style="font-style: italic;"&gt;and I am expecting back a well-formed document&lt;/span&gt; as a result.  That's all.  From here the platform should do everything it possibly can limit the amount of additional information it requires of me.  I'll grant that platform expects me to authenticate my request.&lt;br /&gt;&lt;br /&gt;The problem with &lt;span style="font-family:courier new;"&gt;facebook.friends.get&lt;/span&gt; is that it is trying to serve multiple use cases through a single request, as if that is more efficient or more simple.  Most of the use cases serve developers (or so they may think).  Most use cases are more easily supported than the basic task I am trying to perform.  Remember?  It's "get my friends.  " I find myself restating this important detail like a mantra in order for it to have a greater voice.  Why is the service burdening the consumer with all of this minutia for a simple data call that should return a document?&lt;br /&gt;&lt;br /&gt;Exhibit B:  The del.icio.us interface for the same data:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://del.icio.us/help/json"&gt;http://del.icio.us/feeds/json/network/prestidigital&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's one simple URL.  It returns well-formed data as JSON.  Oh, the simplicity!  Oh, the possibilities!&lt;br /&gt;&lt;br /&gt;Detractors would no doubt point to the fact that this URL is neither authenticated nor encrypted.  I would counter:  that was a choice made to serve customers in this case as &lt;a href="http://del.icio.us/help/api/"&gt;delicious certainly supports authenticated, encrypted interfaces&lt;/a&gt; that are just as easily used as /feeds/json/network.  Beyond that, everything else is a decoration.&lt;br /&gt;&lt;br /&gt;And, OK, so developers do need more options and features than can be provided through a simple URL interface.  But those should be added as one or more layers on top of a layer that &lt;span style="font-style: italic;"&gt;just provides well-formed data&lt;/span&gt;.  I'll accept that if someone can show me:  where's the layer that provides the data?  It's obfuscated by the business layer.  This is no doubt an artifact of the traditional three-tiered architecture (a model of which I am a proponent by the way).&lt;br /&gt;&lt;br /&gt;On the Internet, the way in which data is located is via the URI and the way it is passed is HTTP.  It's rudimentary:  every container of data has a uniquely addressable identifier.  Web service endpoints are URLs.  We need to get developers and Internet platform providers back to this fundamental principle.&lt;br /&gt;&lt;br /&gt;&lt;strike&gt;Exhibit C:  Yahoo! Internet Location Platform:&lt;br /&gt;&lt;a href="http://where.yahooapis.com/v1/place/2507854"&gt;&lt;br /&gt;http://where.yahooapis.com/v1/place/2507854&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click the URL, get back an XML document.  Now THAT'S data portability; that's interoperability.&lt;/strike&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;i&gt;Update 11.17.09:  BUMMER, this link is broken.  It looks like an auth issue.&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-5546994178589271421?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/5546994178589271421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/5546994178589271421'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/05/wonderfully-simple-praise-of-hyperlink.html' title='Wonderfully Simple Praise of the Hyperlink?'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4I3iR6s_Psk/SCO-DbafkKI/AAAAAAAAD50/0kRoF_fBQ6Q/s72-c/FacebookAPIFriendsGet.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-2924786994840248730</id><published>2008-04-25T20:18:00.001-07:00</published><updated>2008-09-05T20:05:55.719-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dataportability'/><category scheme='http://www.blogger.com/atom/ns#' term='data'/><category scheme='http://www.blogger.com/atom/ns#' term='interoperability'/><category scheme='http://www.blogger.com/atom/ns#' term='well-formed data'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Best Practices of Well-Formed Data?</title><content type='html'>&lt;span style="font-style: italic;"&gt;Update 2008/05/06:  It occurs to me now that this works for me due to my dependence on Western (American English) style characters:  &lt;/span&gt;&lt;a style="font-style: italic;" href="http://benfry.com/writing/archives/82"&gt;http://benfry.com/writing/archives/82&lt;/a&gt;&lt;span style="font-style: italic;"&gt;...  My concern is readability by humans and for me that means American English.  Unicode is a super set, so I have modified my post accordingly.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have come to realize that there are exactly three (3) formats for well-formed data which suit all of my interoperability needs:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;XML&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;strike&gt;ASCII&lt;/strike&gt; Unicode standard object notation&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;(i.e., script object notation, i.e., SON,  i.e., &lt;span style="font-style: italic;"&gt;Object.property&lt;/span&gt; as text, ex. JSON)&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span&gt;&lt;strike&gt;ASCII&lt;/strike&gt; Unicode standard delimited notation&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;(ex., comma-separated values)&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;Each of these has upsides and downsides.&lt;br /&gt;&lt;br /&gt;Use XML when you want to be the most versatile with your data.  Besides being ubiquitous, XML serializes and deserializes quickly and easily, represents OO clearly, and can be easily, automatically validated.  XML presents itself well for both people and software.  Especially use XML when you want to do advanced searches on data or transform the data from one domain-specific language (DSL) to another.  DOM and XPath queries do lose their utility as data sets get large, but these situations can be avoided and parsing remains fast even on files many megabytes in size.  Batch processing gigs of data is not a job for XML.  (Use a relational database for that.)&lt;br /&gt;&lt;br /&gt;Use SON when all you want to do is serialize/deserialize data to/from business objects or standard data structures (ex., arrays, maps).  JavaScript Object Notation, or JSON, is super convenient for Javascript apps and JSON "liblets" (very small libraries, usually only 1 file) are easily found and maintained with your own code.  SON also represents OO clearly, and given a pretty-print function, presents itself well to both people and software.  But, there is currently no way to validate a SON.  Not everything can handle a SON either.  &lt;strike&gt;JSON doesn't work with languages that aren't JavaScript&lt;/strike&gt;*, although there's nothing about JSON that is proprietary to Javascript so it's just a matter of time.  JSON is just formatted text.  &lt;strike&gt;ASCII&lt;/strike&gt; Unicode-based SONs may one day be the XML killer but that time is a long way off.&lt;br /&gt;&lt;br /&gt;Use CSVs when you want to  be super fast on the throughput and can make assumptions that the data is simple to interpret.  CSVs work well when moving very large amounts of data over a wire and/or into and out of relational databases.  CSV data does not represent OO in any way, it does not present itself well to people, and there is no standard way to automatically validate it.  CSV can be super efficient, but it is error-prone, can be difficult to debug, and is not nearly as versatile as the other two formats.&lt;br /&gt;&lt;br /&gt;A good data service should support all three of these whenever and wherever it is feasible.  And here is the obvious point that I do not want to escape from me - these 3 formats are all any data service ever need provide.  Any service that supports each of these will be "universally" (practically) interoperable.  If all data services supported exactly these 3 then all the Web would be an oyster.&lt;br /&gt;&lt;br /&gt;*&lt;span style="font-style: italic;"&gt;Update:  over at JSON.org you can find ports for every language under the sun.  Actually, what I meant is that support for JSON isn't native in the main platforms.  Hopefully it will be built into all of these languages in the future.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-2924786994840248730?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/2924786994840248730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=2924786994840248730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2924786994840248730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2924786994840248730'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/04/best-practices-of-well-formed-data.html' title='Best Practices of Well-Formed Data?'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-4589020124712837504</id><published>2008-04-06T20:40:00.000-07:00</published><updated>2009-01-14T18:30:28.284-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='corporate'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='government'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Is Google Search Appliance Appropriate for Government and Corporate Enterprises?</title><content type='html'>&lt;a href="http://people.cs.vt.edu/~arthur/"&gt;Question to Ponder (QTP)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Google's smarts are based on Page Rank, which is tied to popularity.  Popularity on Google is heavily influenced by financial and other driving incentives.  Google's strengths are based on Gi-normous machine clusters and on huge critical mass of the widest diversity of users, who are mixing it up and providing feed back into the system explicitly and implicitly by way of their behavior.&lt;br /&gt;&lt;br /&gt;So is a Google search appliance a smart recommendation for government or corporate enterprise?  I don't know exactly but last good info I had was that they cost about $150K per appliance rack that could search 2 or 3M items.  &lt;span class="Apple-style-span" style="font-style: italic;"&gt;[Update 01.14.2009 - &lt;a href="http://www.google.com/enterprise/gsa/"&gt;new box&lt;/a&gt; searches 10M docs]&lt;/span&gt;  One NASA center has two racks and found they chewed up 4-6M items in no time.   I don't know what percentage that was, but I do know that they were want for more racks.  Last I talked to them they were getting good at setting up filters to weed stuff out.  (Weeding the garden is probably not a bad thing in any event.)&lt;br /&gt;&lt;br /&gt;Now, I suppose you could - antitrust laws and fear not withstanding - scale Google's model to apply to the whole of the US federal government's information infrastructure and we'd approach some aspect of critical mass.  Popularity behavior would surely be different than the commercial advertising model (I think).  But that's not necessarily bad, if true.&lt;br /&gt;&lt;br /&gt;It actually might not cost a lot of money in terms of federal budget scales.  The way I figure, 1 billion records would cost $50M at full retail cost, i.e., no negotiated discount:&lt;br /&gt;&lt;br /&gt;1,000,000,000 items/3,000,000 items per rack = 333 racks  :  333*150,000 = 50,000,000&lt;br /&gt;&lt;br /&gt;Tack on 20% to implement? +10M gets us to $60M&lt;br /&gt;20% per year for maintenance?  +10M per year * 10 years and we're at $160M&lt;br /&gt;&lt;br /&gt;Double it all for 2B items.  $320M.  Even with no write downs for discount that's a rounding error in the federal budget.&lt;br /&gt;&lt;br /&gt;To avoid monoply and other sticky issues with a deal like this, the government should buy Google's intellectual property and arrange a reseller license agreement so the government can contract out to the fairest qualified bidders (plural) the secure right to implement the IP on hardware on the government's behalf.  Google could even be forbidden from competing in that way for some number of years.   Government then leases time on the GIG to cover the bandwidth resources consumed by the huge clusters serving this purpose.  (Ooh - is that in the cost?)  Government already has the ability to secure this at multiple levels of security (Is that in the cost?).  It is essentially, if perhaps not trivially, a matter of organizing search clusters to operate within NIPR or within SIPR or within JWICS firewalls.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[Update on 11 April based on conversation with Katharine:  It might not be one big Google search farm pointed at these networks, at least not without a radical change in policy that may be intractable due to politics.  There are many, many organizational firewalls.  But at least get the bulk purchase order in, get a huge discount...for taxpayers, and place clusters where they need to be to get the biggest bang for those bucks.  The essence is to take a strategic approach to search for the whole of government information.  Search is so very fundamental that it deserves this kind of treatment.]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ok...that demon thought is expelled now.  I'm writing too many proposals.  Approaching temporary burnout threshold.  My brainstorming synapses may be totally misfiring at this point.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;[Update 3 December 08:  2B searchable items is nary a drop in the bucket, I reckon.  Are we talking about 2 trillion?  200 trillion?  Large numbers that sound obscene when spoken?]&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-4589020124712837504?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/4589020124712837504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=4589020124712837504' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/4589020124712837504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/4589020124712837504'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/04/is-google-search-appliance-appropriate.html' title='Is Google Search Appliance Appropriate for Government and Corporate Enterprises?'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-8275576002993780852</id><published>2008-04-02T00:17:00.000-07:00</published><updated>2008-04-03T22:03:39.453-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='API'/><category scheme='http://www.blogger.com/atom/ns#' term='graph visualization communication network analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>On Accessors and Mutators</title><content type='html'>I was just exploring the &lt;a href="http://code.google.com/apis/visualization/documentation/reference.html"&gt;Google Visualization API reference&lt;/a&gt; and found myself a little hung up something.  It's not just Google's API, but they are certainly a huge propagator of code.  It's not the first time I've been hung up on this, either.  The problem is that most APIs that use the Accessor/Mutator pattern follow it in the same, and in my opinion &lt;span style="font-style: italic;"&gt;wrong&lt;/span&gt;, way.  What is the point of declaring and implementing a unique function - no - &lt;span style="font-style: italic;"&gt;two &lt;/span&gt;functions for &lt;span style="font-style: italic;"&gt;every property &lt;/span&gt;contained by an Object?  In fact why do we need any more than exactly two functions total to get or set any property or, in fact, any Object?&lt;br /&gt;&lt;br /&gt;&lt;code&gt;getColor()&lt;br /&gt;getName()&lt;br /&gt;getNumberOfColumns()&lt;br /&gt;getNumberOfRows()&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Why not just &lt;code&gt;get(namedAttribute)&lt;/code&gt; and &lt;code&gt;set(namedAttribute, value)&lt;/code&gt;?&lt;br /&gt;&lt;code&gt;&lt;br /&gt;get("color")&lt;br /&gt;get("name")&lt;br /&gt;get("numberOfColumns")&lt;br /&gt;get("numberOfRows")&lt;br /&gt;set("numberOfRows", 6);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Realize that 6 is probably not the literal integer 6, but rather an Object itself or perhaps a Collection (of size 1) containing literal, primitively typed values.  But that is hardly of consequence in the scheme of things, it seems to me.  I dread even having to make the case for efficiency.  Programmers still get hung up on efficiency too much in terms of cycles and RAM.  While I am sensitive to these concerns (for reasons of achieving enough throughput to support fluid user interaction) such concerns pale in comparison to what is lost overall to complexity of integration.  How many API's do we want to learn, really?  Domain-specific languages are much easier to learn and use, and more so when there aren't too many competing DSLs floating around a domain.&lt;br /&gt;&lt;br /&gt;Perhaps I have it wrong and it is all a trivial point I am making.  But it seems an awful waste of time doing it the other way.  What kind of code bloat is being propagated?  What happens when you add a new attribute?  In fact, the ability to declare an arbitrary property and assign it to any Object is a powerful mechanism in software.  It will be used and abused one way or the other so we should anticipate and handle it.  But specifically, this kind of abstract polymorphism is ideal for serialization and deserialization of database records without having to tightly bind classes to database constructs through object relational mapping.  Whether using XML, standard object notation, or standard delimited formats, there are multiple ways to deserialize any Object into memory for use by business logic without having to declare and implement a class for the Object.&lt;br /&gt;&lt;br /&gt;In fact, one interface for get and one for set is much more flexible on the whole.  Integration and interoperability with other programs is much easier with a single get/set.  The ability for interoperating software programs to bind solely to a universal input/output protocol, and for interoperating software to remain blissfully unconcerned with the inner workings of peers is beyond powerful.  Then we can focus on the &lt;span style="font-style: italic;"&gt;functional&lt;/span&gt; roles of software.  What does it do?  I don't care how (beyond the I/O interface)(and I do care how &lt;span style="font-style: italic;"&gt;well&lt;/span&gt;).  When you get to that point, software can program other software (within a security model, of course).  This kind of integration is also easier to maintain.  Consider an implementation that uses XML as the carrier.  The main Do-Until-Error loop is as simple as:  While(Element is recognized)  Process Element; Else Throw/Ignore (Unrecognized Element Error).  A secondary error condition will exist in the event that expected inputs are no longer generated as outputs from peers*.  In both cases, the situations are reduced to a matter of choosing how to process output from peers as it is provided and not also a matter of refactoring the interface between peers.  It's all the UNIX command line applied to the Web.  And I am certainly &lt;a href="http://pipes.yahoo.com/"&gt;not the first or only person to have noticed&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;* A third condition occurs when input is malformed&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-8275576002993780852?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/8275576002993780852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=8275576002993780852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8275576002993780852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/8275576002993780852'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/03/on-accessors-and-mutators.html' title='On Accessors and Mutators'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-7541858592999676441</id><published>2008-02-25T17:01:00.000-08:00</published><updated>2008-11-12T12:40:32.598-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CAVE'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='retrieval'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='digital libraries'/><category scheme='http://www.blogger.com/atom/ns#' term='virtual reality'/><category scheme='http://www.blogger.com/atom/ns#' term='information'/><category scheme='http://www.blogger.com/atom/ns#' term='VR'/><category scheme='http://www.blogger.com/atom/ns#' term='VT'/><category scheme='http://www.blogger.com/atom/ns#' term='ETD'/><title type='text'>CAVE ETD</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-7753797c1a6f08b4" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v21.nonxt7.googlevideo.com/videoplayback?id%3D7753797c1a6f08b4%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330409316%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D3770780B44A577CFADA7CC81BFF726A78B384C6.15D695AFF4C7E117D9BBC8E802ED227F35A394F7%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D7753797c1a6f08b4%26offsetms%3D5000%26itag%3Dw160%26sigh%3DdgQeaKp-VF1nD8ogrJuzunxivuw&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v21.nonxt7.googlevideo.com/videoplayback?id%3D7753797c1a6f08b4%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330409316%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D3770780B44A577CFADA7CC81BFF726A78B384C6.15D695AFF4C7E117D9BBC8E802ED227F35A394F7%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D7753797c1a6f08b4%26offsetms%3D5000%26itag%3Dw160%26sigh%3DdgQeaKp-VF1nD8ogrJuzunxivuw&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;This movie (above) was a product of a class assignment from graduate school, co-developed by Hussein Suleman and Fernando Das Neves.  Talented guys.  Actually, they did most of the development.  I was the CAVE SME but still a fairly green agile developer.  The class was &lt;a href="http://fox.cs.vt.edu/"&gt;Dr. Ed Fox's&lt;/a&gt; &lt;a href="http://ei.cs.vt.edu/~cs5604/"&gt;Information Storage and Retrieval&lt;/a&gt; (archived).  The assignment was a basic proof-of-concept for navigating the &lt;a href="http://scholar.lib.vt.edu/theses/"&gt;Electronic Thesis and Disse&lt;/a&gt;&lt;a href="http://scholar.lib.vt.edu/theses/"&gt;rtation (ETD) digital library&lt;/a&gt; at &lt;a href="http://www.vt.edu/"&gt;Virginia&lt;/a&gt;&lt;a href="http://www.vt.edu/"&gt; Tech&lt;/a&gt; using a 3d virtual reality metaphor.  This is probably first time I knew for sure that realistic physical metaphors for browsing large electronic collections is a complete waste of time.  It's even worse when the digital collection does not map to any actual physical space (i.e., this isn't a model of the campus library) and that's usually the case.  On the other hand, tagging virtual environments with contextual information can be quite useful.  Keep in mind that this is screen capture from monitor, but we are in a 10 cu. ft room, fully immersed in a 3D environment.  So if you then keep everything the same but change the use case...there might very well be some value in linking the contents of a digital library to a virtual environment as a way of enriching the environment.  Instead of wandering through a library having a completely arbitrary "floorplan" conceived by the application developers you are looking at a piece of complex equipment inside a virtual power plant and you can click anywhere and link into the:  parts catalog, component specification, training lesson...any digital content.  That would be more useful.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4I3iR6s_Psk/R8N1aenod9I/AAAAAAAADZc/cbMyhXTXDQQ/s1600-h/ccgt1.bmp"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_4I3iR6s_Psk/R8N1aenod9I/AAAAAAAADZc/cbMyhXTXDQQ/s320/ccgt1.bmp" alt="" id="BLOGGER_PHOTO_ID_5171105894907803602" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4I3iR6s_Psk/R8N1nunod-I/AAAAAAAADZk/H5NG21RCRSE/s1600-h/Sim_Component_Pump.bmp"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_4I3iR6s_Psk/R8N1nunod-I/AAAAAAAADZk/H5NG21RCRSE/s320/Sim_Component_Pump.bmp" alt="" id="BLOGGER_PHOTO_ID_5171106122541070306" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-7541858592999676441?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=7753797c1a6f08b4&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/7541858592999676441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=7541858592999676441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7541858592999676441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7541858592999676441'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/02/cave-etd.html' title='CAVE ETD'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4I3iR6s_Psk/R8N1aenod9I/AAAAAAAADZc/cbMyhXTXDQQ/s72-c/ccgt1.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-1831724930183926485</id><published>2008-02-15T19:48:00.000-08:00</published><updated>2008-02-15T21:01:36.534-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='philosopy'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='communication'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Visualization Doesn't Matter</title><content type='html'>Sense-making matters.   I've always been cognizant of the fact that people without sight have exactly zero use for visualization.  (Probably not 100% true, I bet.)  The point is that there is nothing presumptive about visualization that makes sense-making possible.  It is the human mind that makes sense-making have even meaning enough to give way to possibility.  Communication matters, too.  Certainly visualization makes communication possible by providing an entire medium/channel/wavelength such that when we lack it our communication may likely be impeded.&lt;br /&gt;&lt;br /&gt;Obviously I think there is value in visualization.  So why do I say it doesn't matter?  Because visualization is never more than a means to an end.  That end could be to have fun or it could be to make an important decision or it could be to send a message.  But in any case, there can be 1001 means to achieving those ends and visualization is never more than one of them.&lt;br /&gt;&lt;br /&gt;Why is this point worth understanding and remembering? &lt;br /&gt;&lt;br /&gt;Selling.  Working for customers.  Providing a service to people.  I am a computer scientist and a technologist and a visualization "guy" but my work and my business are all about people.  Sometimes people forget what the word "technology" &lt;a href="http://www.merriam-webster.com/dictionary/technology"&gt;means&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And so when I'm talking to a customer about visualization and I find that we are talking too much about visualization then something is not right.  We should be talking about the customer's wants, needs, pains in intellectual terms that are not constrained by any one means of achieving an end.  It's up to me to decide how, where, why, and when visualization matters.  That's what I'm getting paid to do.&lt;br /&gt;&lt;br /&gt;Ok, so enough with the hand-waving.  What is a practical example?&lt;br /&gt;&lt;br /&gt;I have a customer who wants and needs to make an investment in visualization and part of his information technology capability.  I know going in that the reason I am doing business with this customer is because he values visualization and knows he needs help integrating it into his IT portfolio.  So I'm sitting down in front of him and giving him his first brief on what I am doing for him.  Most of the hour long presentation (demonstrations, actually) is/are in terms of how visualization is used to present and interact with his domain data.  He finds that all well and good in about 5 minutes, but what he really wants to know is "which of my problems does it solve?"  And that's where it gets tricky.  Because the answer is that visualizing domain information doesn't solve any problems &lt;span style="font-style: italic;"&gt;de facto&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;So do you want to talk about my visualization services or do you want to talk about your problems?  What matters?  I'm happy and comfortable discussing either.  But in my business, people solve problems and it just so happens that my people are skilled at using visualization as a means toward that end.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-1831724930183926485?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/1831724930183926485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=1831724930183926485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1831724930183926485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1831724930183926485'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/02/visualization-doesnt-matter.html' title='Visualization Doesn&apos;t Matter'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-2175745932907552689</id><published>2008-01-31T08:10:00.000-08:00</published><updated>2008-01-31T08:33:39.840-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dataportability'/><category scheme='http://www.blogger.com/atom/ns#' term='social network'/><category scheme='http://www.blogger.com/atom/ns#' term='interoperability'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><title type='text'>Social Network Portability or Portable Social Networks?</title><content type='html'>I find it wickedly ironic that all the worthwhile activity around social network portability and data portability is trumped by ordinary human behavior:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://groups.google.com/group/social-network-portability/browse_thread/thread/b837b0042c40e375"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4I3iR6s_Psk/R6Hz7MyUEAI/AAAAAAAADXc/Pwv56AGg2yM/s400/snp_moved.bmp" alt="" id="BLOGGER_PHOTO_ID_5161674846313385986" border="0" /&gt;&lt;/a&gt;Note that what Julian asserts there is valid, in my opinion:  a whole lot of thought and knowledge, both good and bad, was poured into SNP in the "early days."  If the people have moved from one group to another then perhaps it is safe to assume the knowledge went with them.  But if this group died and the other emerged...then what?&lt;br /&gt;&lt;br /&gt;And if that weren't confusion enough:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://groups.google.com/group/dataportability/browse_thread/thread/68741ad3b6232dd#"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4I3iR6s_Psk/R6H1ecyUECI/AAAAAAAADXs/Mtgz9BSng0Y/s400/dnp_moved.bmp" alt="" id="BLOGGER_PHOTO_ID_5161676551415402530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So here we are trying to keep up with the conversation - which can be extremely difficult in active groups - and the conversation keeps moving...figuratively and literally.&lt;br /&gt;&lt;br /&gt;"Wait.  It's not just social network portability.  It's ALL data portability.  Let's all move up to data portability."&lt;br /&gt;&lt;br /&gt;"But 'all' data portability is too big.  There are too many facets.  Let's all move down into the various facets (presumably according to our interests and perspectives)."&lt;br /&gt;&lt;br /&gt;Down that path madness lies if one isn't careful.  Managing the order of things when it comes to the Internet can drive one crazy enough as is.&lt;br /&gt;&lt;br /&gt;I do admire them for trying.  Progress is being made.  Data portability is intensely important for connected computing and process interoperability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-2175745932907552689?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/2175745932907552689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=2175745932907552689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2175745932907552689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/2175745932907552689'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/01/social-network-portability-or-portable.html' title='Social Network Portability or Portable Social Networks?'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4I3iR6s_Psk/R6Hz7MyUEAI/AAAAAAAADXc/Pwv56AGg2yM/s72-c/snp_moved.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-6212040568396778958</id><published>2008-01-08T20:50:00.000-08:00</published><updated>2008-01-08T20:55:32.876-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social network'/><category scheme='http://www.blogger.com/atom/ns#' term='tagging'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='graph'/><title type='text'>Latest g.licious</title><content type='html'>&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;More noodling around...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/kmcurry/Bridgeworks/photo#5153326487522327218"&gt;&lt;img style="width: 405px; height: 238px;" src="http://lh5.google.com/kmcurry/R4RLIwxhOrI/AAAAAAAADTg/67D5gUSn6bg/s800/firefox_tagcloud.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/kmcurry/Bridgeworks"&gt;Bridgeworks&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-6212040568396778958?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/6212040568396778958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=6212040568396778958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/6212040568396778958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/6212040568396778958'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2008/01/latest-glicious.html' title='Latest g.licious'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-7102181678874797984</id><published>2007-12-20T08:38:00.001-08:00</published><updated>2007-12-20T08:47:00.045-08:00</updated><title type='text'>On API Integration</title><content type='html'>This &lt;a href="http://groups.google.com/group/social-network-portability/browse_thread/thread/be1cec4290ffc6c6#"&gt;quote&lt;/a&gt; from &lt;a href="http://dannyayers.com/"&gt;Danny Ayers&lt;/a&gt; in the &lt;a href="http://groups.google.com/group/social-network-portability"&gt;social-network-portability group&lt;/a&gt; is spot on and goes a long way to help explain why our approach to &lt;a href="http://kevincurry.blogspot.com/2007/09/document-driven-visualization.html"&gt;document-driven visualization&lt;/a&gt; is the best way to integrate:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Architecturally, there are at least two big advantages in taking this &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; approach &lt;/span&gt;&lt;span&gt;[of import/export to common portable formats]&lt;/span&gt;&lt;span style="font-style: italic;"&gt;.&lt;br /&gt;When we have an environment which contains N different formats/&lt;br /&gt;APIs which can express the social information, either we need &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; N^2 different converters to enable interop *or* we can map to a common &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; model, and just need N different parsers/serialisers - still &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; non-trivial, but a lot easier. The second advantage, which is the &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; reason an RDF-backed is appropriate, is having the flexibility to &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; compatibly include whatever (other) information you like in the common &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; model, beyond the limitations of the typical individual formats/APIs. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; Check Tim Berners-Lee's FOAF [6]. &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-7102181678874797984?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/7102181678874797984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=7102181678874797984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7102181678874797984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7102181678874797984'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2007/12/on-api-integration.html' title='On API Integration'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-3138095143287796441</id><published>2007-12-19T04:29:00.000-08:00</published><updated>2008-01-06T17:56:26.432-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social network'/><title type='text'>all.my.base</title><content type='html'>I wanted to see if I could remember/find all of the web spaces where I have a profile and/or social network:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linkedin.com/in/kevincurry" target="_blank"&gt;Linked In&lt;/a&gt; (as kevincurry)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://del.icio.us/prestidigital" target="_blank"&gt;del.icio.us&lt;/a&gt; (as prestidigital)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vt.facebook.com/profile.php?id=524551108" target="_blank"&gt;facebook&lt;/a&gt; (as kmcurry)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.last.fm/user/prestidigital/" target="_blank"&gt;Last.fm&lt;/a&gt; (as prestidigital)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.myspace.com/prestidigital" target="_blank"&gt;My Space&lt;/a&gt; (as prestidigital)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/profiles.yahoo.com/prestidigital" target="_blank"&gt;Yahoo!&lt;/a&gt; (as prestidigital)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kevincurry.openid.org/" target="_blank"&gt;OpenId&lt;/a&gt; (as kevincurry)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.simpy.com/user/prestidigital" target="_blank"&gt;Simpy&lt;/a&gt; (as prestidigital)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://slashdot.org/%7Eprestidigital/" target="_blank"&gt;Slashdot&lt;/a&gt; (as prestidigital)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ted.com/index.php/profiles/view/id/47147" target="_blank"&gt;TED&lt;/a&gt; (as KevinCurry)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.orkut.com/Profile.aspx?uid=15302965487273919329&amp;amp;pcy=3&amp;amp;t=0"&gt;Orkut&lt;/a&gt; (as Kevin Curry)&lt;br /&gt;&lt;br /&gt;MSN (as hokiestoked)&lt;br /&gt;&lt;br /&gt;AOL (as hokiestoked)&lt;br /&gt;&lt;br /&gt;Update 01/06/08 - I'm updating this list in &lt;a href="http://thebutterroom.com/"&gt;the butter room&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-3138095143287796441?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/3138095143287796441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=3138095143287796441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/3138095143287796441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/3138095143287796441'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2007/12/allmybase.html' title='all.my.base'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-5434042353690358226</id><published>2007-12-04T07:50:00.000-08:00</published><updated>2007-12-04T07:51:55.479-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social network'/><category scheme='http://www.blogger.com/atom/ns#' term='military'/><category scheme='http://www.blogger.com/atom/ns#' term='CSCW'/><category scheme='http://www.blogger.com/atom/ns#' term='network analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='communication'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Net-centricity v. Social Networking</title><content type='html'>&lt;a href="http://blog.wired.com/defense"&gt;Danger Room&lt;/a&gt; Editor, Noah Schachtman, has a rather interesting article on this topic in the Dec. 2007 print issue of &lt;a href="http://www.wired.com/"&gt;Wired, &lt;/a&gt;15-12.  The main theme is the juxtaposition between net-centricity and social networking (although not exactly the social networking we know through Web 2.0 popular culture).  The message about net-centricity is that it is highly effective as a destructive, lethal capability while social networking is better at stability operations and counter-insurgency.  Some of the most advanced social networking groups in Afghanistan are just starting to step it up with computer hardware and software, I reckon to enable things like social bookmarking, collaborative placemarking, network analysis, pattern matching, and the like.  But the focus in Iraq and in general is on personal interaction, almost eschewing technology.  The irony of ironies is that our military has an excellent solution to a problem it does not currently have (fighting big wars with nations and dictators), while the terrorists and insurgents have swiftly mastered the technology domain of modern social networking - email, cell phones, text messages, chat, forums - and the military is reportedly now most successful resorting back to low-tech, human/psychological solutions.  Not coincidentally or surprisingly, there is some heated &lt;a href="http://blog.wired.com/defense/2007/12/the-fight-betwe.html"&gt;debate about the role of social science in military operations&lt;/a&gt;.  My interest is in the heart of the matter...the balance between communication technology and human interaction, particularly when technology gets in the way or solves the wrong problem.  The insight in the Wired article is that, technically speaking, a better application of IT to the military's current and future challenges related to stability ops and counter-insurgency, &lt;a href="http://kevincurry.blogspot.com/2007/11/net-centricity.html"&gt;as previously inferred&lt;/a&gt;, is closer to Web 2.0 social networking and collaborative read/write web technologies, web services, pub/sub and the like.  I would go so far as to project the need onto the whole of government and civic life - federal, state, and local.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-5434042353690358226?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/5434042353690358226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=5434042353690358226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/5434042353690358226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/5434042353690358226'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2007/12/net-centricity-v-social-networking.html' title='Net-centricity v. Social Networking'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-1117373031129889856</id><published>2007-11-19T05:49:00.000-08:00</published><updated>2007-11-19T07:53:33.877-08:00</updated><title type='text'>Net-centricity</title><content type='html'>I received a forwarded email from a colleague entitled "DoD seeks net-centricity help."  I found a &lt;a href="http://www.google.com/url?sa=t&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fwww.fcw.com%2Fprint%2F13_40%2Fprocurement%2F150750-1.html&amp;amp;ei=mZRBR8L9A5aqeojlka0K&amp;amp;usg=AFQjCNHj4c-az73T26fahqQwcCEmDvhr3Q&amp;amp;sig2=jSGSYmrzcKp2Hj5Y8eK9Tw"&gt;copy here&lt;/a&gt;.  It seems from this article, at least, that they do in fact have a problem articulating their message.  I also suspect they aren't talking to the &lt;a href="http://www.bridgeborn.com/"&gt;right&lt;/a&gt;...&lt;a href="http://www.jackbe.com/"&gt;vendors&lt;/a&gt;.  Mr. &lt;span class="storybody"&gt;Montemarano is sparse on specifics and fails to bound the problem.  I know it's just a syndicated news article, but it's the message I received.  (Ironic, isn't it?)  What do you want me to consider?  He says he wants vendors to offer pub/sub.  Ok, great.  &lt;a href="http://kevincurry.blogspot.com/2007/11/on-addressability-of-data-on-web.html"&gt;Done.&lt;/a&gt;   But, what about security?  Presumably that is important to DoD.  What about the Army's mobile, ad-hoc requirements for FCS?  &lt;a href="http://en.wikipedia.org/wiki/Net-centric"&gt;Net-centricity&lt;/a&gt; is a broad concept.  Some argue that it also frames the problem in terms of technology and not people.  There is certainly something to that.  As a career student of computer-supportive cooperative work (CSCW) and human-computer interaction (HCI), I usually defend that position.  (Consider the case here, where news with the wrong message has been successfully syndicated to a wide audience.  Tech did it's job.)  But sometimes it is just about the technology and I think that is the case with DoD net-centricity in the way I infer here.  I would agree that vendors are not implementing what Mr. Montemarano seems to need.  DARPA invented the Internet.  It was an amazing technical feat.  Communication-wise it was about as complicated as "Hi."  But DARPA must have become a one-hit wonder in the telecom domain.  What Mr. Montemarano wants is &lt;a href="http://www.oreilly.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html"&gt;Web 2.0&lt;/a&gt;.  And he can have it.  Want is not happening is that no one is seriously considering how to get Web 2.0 done in what are rigidly constrained environments inside DoD.  And O' Reilly's original essay on Web 2.0 isn't without flaws.  "Wisdom of Crowds" can also lead to "&lt;a href="http://www.psysr.org/groupthink%20overview.htm"&gt;Group Think&lt;/a&gt;" and gross disinformation.  Mr. Montemarano, my name is Kevin Curry.  I work for a company called Bridgeborn.  We have offices in Virginia Beach, VA, Arlington, VA, and Savannah, GA.  Give me a call.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-1117373031129889856?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/1117373031129889856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=1117373031129889856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1117373031129889856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1117373031129889856'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2007/11/net-centricity.html' title='Net-centricity'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-7730268049569876722</id><published>2007-11-15T14:32:00.000-08:00</published><updated>2007-11-18T14:27:18.136-08:00</updated><title type='text'>On Addressability of Data on the Web</title><content type='html'>I don't understand data sharing solutions that require centralization of data stores.  Centralization is an organizational artifact, not a technical one.  "The way to solve this is...everyone stop putting you data &lt;span style="font-style: italic;"&gt;there &lt;/span&gt;and start putting it &lt;span style="font-style: italic;"&gt;here&lt;/span&gt;."&lt;span style="font-style: italic;"&gt;  &lt;/span&gt;By the very nature of the web, this requirement will never be fully satisfied.  There will always be something &lt;span style="font-style: italic;"&gt;not &lt;/span&gt;in the "master database" that is relevant.  And how do you consume data from multiple sources, i.e., multiple perspectives (ex., operational, financial, organizational)?  Centralization is seldom even possible, by design, in classified environments and highly improbable when sharing data potentially leads to losing your budget.  If data exists on the web and needs to be shared then the way to share is clearly pub/sub; to syndicate query results over HTTP.  Probably, but not necessarily, XML will be used to carry data.  Technically this should be a no-brainer.  Wrap database stored procedures with methods on a Web Service and point to them with URLs.  Everything we share on the web we share over HTTP using URLs for addressability.  Addresses are fundamental to how data is managed in computers down to the hardware.  Why should data on the web be any different?  They aren't:&lt;br /&gt;&lt;br /&gt;[Note:  These links are illustrative.  They don't work]&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/dodafservice2.asmx?op=GetConsumerOpNodesByCountOfIER"&gt;GetConsumerOpNodesByCountOfIER&lt;/a&gt;  &lt;span&gt;&lt;br /&gt;Returns an Xml Node containing the list of Consumer Operational Nodes  and their IER counts, ordered by count &lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/dodafservice2.asmx?op=GetConsumerSysEntitiesByCountOfIER"&gt;GetConsumerSysEntitiesByCountOfIER&lt;/a&gt;  &lt;span&gt;&lt;br /&gt;Returns an Xml Node containing the list of unique System Entities  ordered by number of IERS for which the SysEntity is used as a Consumer &lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/dodafservice2.asmx?op=GetConsumerSysNodesByCountOfIER"&gt;GetConsumerSysNodesByCountOfIER&lt;/a&gt;  &lt;span&gt;&lt;br /&gt;Returns an Xml Node containing the list of Consumer System Nodes and  their IER counts, ordered by count &lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/dodafservice2.asmx?op=GetMissionThreads"&gt;GetMissionThreads&lt;/a&gt;  &lt;span&gt;&lt;br /&gt;Returns an Xml Node containing the list of unique Mission Threads  &lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/dodafservice2.asmx?op=GetMissionThreadsByCount"&gt;GetMissionThreadsByCount&lt;/a&gt;  &lt;span&gt;&lt;br /&gt;Returns an Xml Node containing the list of unique Mission Threads by  count of threads &lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/dodafservice2.asmx?op=GetMissionThreadsForOpNode"&gt;GetMissionThreadsForOpNode&lt;/a&gt;  &lt;span&gt;&lt;br /&gt;Returns an Xml Node containing the list of unique Mission Threads in  which the given OpNode participates. &lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/dodafservice2.asmx?op=GetOpActivities"&gt;GetOpActivities&lt;/a&gt;  &lt;span&gt;&lt;br /&gt;Returns an Xml Node containing the list of unique Operational  Activities&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;The results of these queries are usable by both people and software. &lt;br /&gt;&lt;br /&gt;Sidebar:  Just like hardware, data addresses aren't particularly people-friendly.  Look to the ideas behind semantic web to help with that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-7730268049569876722?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/7730268049569876722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=7730268049569876722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7730268049569876722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7730268049569876722'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2007/11/on-addressability-of-data-on-web.html' title='On Addressability of Data on the Web'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-1496034773124289815</id><published>2007-11-12T21:04:00.000-08:00</published><updated>2007-11-14T08:57:08.965-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Form-driven Editors and Language as Cognitive Artifacts</title><content type='html'>I was recently noodling in an &lt;a href="http://office.microsoft.com/en-us/access/FX100487571033.aspx"&gt;Access &lt;/a&gt;database, creating queries.  By default the "New Query" dialog steers users to a form-driven editor.  It takes a couple of clicks to get to a text editor for writing SQL.&lt;br /&gt;&lt;br /&gt;When writing SQL, at least, I'd much prefer the text editor by default.  The reason is that the form editor slows me down at a very fundamental level.  It's not as if I'm a coder with a chip on my shoulder about graphical code generators.  Far from it.  I can think of at least two that are quite handy at what they do [&lt;a href="http://www.popfly.ms/"&gt;1&lt;/a&gt;, &lt;a href="http://pipes.yahoo.com/pipes/"&gt;2&lt;/a&gt;].  But with a language like SQL it's always going to be easier to learn how to speak the language than learn how to use a proprietary GUI.  Even if Access was the only database technology I ever used (which is not the case), I know intrinsically that SQL is the right way to query a database and a form editor is the wrong way to query a database.  The reason is that the act of querying a database is, at its core, an act of language expression.  Filling in a form and dragging boxes around are acts of interaction that get in the way of expression...of me telling the computer what I want it to do.&lt;br /&gt;&lt;br /&gt;This must be the inherent lesson from &lt;a href="http://www.jnd.org/"&gt;Donald Norman's&lt;/a&gt; theories on cognitive artifacts.  It's interesting that I found &lt;a href="http://www.forbes.com/2006/03/15/don-norman-tools_cx_de_0315norman.html"&gt;this article by him&lt;/a&gt; just now.  It says:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"And of all the artifacts that have aided cognition, the most important is the development of writing, or more properly, of notational systems: number systems, writing, calendars, notational systems for mathematics, engineering, music and dance."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-1496034773124289815?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/1496034773124289815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=1496034773124289815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1496034773124289815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1496034773124289815'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2007/11/form-driven-editors-and-language-as.html' title='Form-driven Editors and Language as Cognitive Artifacts'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-7161654584977912174</id><published>2007-10-07T17:48:00.001-07:00</published><updated>2007-10-07T20:44:07.552-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='graph visualization communication network analysis'/><title type='text'>Visualizing My Email</title><content type='html'>&lt;a href="http://picasaweb.google.com/kmcurry/GraphVisualization/photo#5118762833685943986"&gt;&lt;img src="http://lh5.google.com/kmcurry/Rwl_rUdSlrI/AAAAAAAACn8/uB-YXRStq0Y/s144/Inbox_Radial_NullObjects.jpg" /&gt;&lt;/a&gt;Just getting started,&lt;br /&gt;but the &lt;a href="http://picasaweb.google.com/kmcurry/GraphVisualization"&gt;initial results look interesting and promising.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-7161654584977912174?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/7161654584977912174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=7161654584977912174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7161654584977912174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/7161654584977912174'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2007/10/visualizing-my-email.html' title='Visualizing My Email'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-4086580880257720033</id><published>2007-10-04T04:48:00.001-07:00</published><updated>2007-10-07T17:38:56.797-07:00</updated><title type='text'>Not An All Or None Situation</title><content type='html'>Document-driven visualization represents a disruptively powerful innovation for visualization interoperability.  It means that we can treat visualization in the same way that we treat the clear majority of data on the web.&lt;br /&gt;&lt;br /&gt;But I'm having a mini-reawakening to the bigger picture in which we see the value in APIs and ultra-lean (and more secure) data transfer.  When we tie into simulators we still use XML to configure the system, but in a way that tells it to use the API to connect to values directly as they come off a TCP/IP socket connection.  The same is true for online collaboration.  The object in these cases is to move data efficiently and reliably.  There's no need to pull in all the DOM overhead and seldom any need to perform transformation of the data.  (But even complex rules for converting Attribute types can be  encoded into Objects that are then configurable through Reflection, Serialization, and ultimately XML.  We call them "AttributeConverters.")   The other network protocols (TCP/IP, UDP...not really FTP) contribute  by giving us a lot more flexibility in terms of quality of service.  Again, OO fundamentals are key.  Object Reflection means we can get and set any attribute value in a standard way...in the API.  Any integration more complicated than that usually indicates that our core visualization capability is missing something.  Ultimately we want to move closer to the GPU...I think...dual core processors also represent a new (finally stable) option for better performance laptops and PCs.&lt;br /&gt;&lt;br /&gt;I digress.  Document-driven viz is super neat, but it isn't everything.  I suppose I'm just echoing a common theme in life.  Not a Panacea.  Not a Silverbullet.  Not A Cure for World Hunger.  Just the best thing I've seen in my brief career.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-4086580880257720033?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/4086580880257720033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=4086580880257720033' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/4086580880257720033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/4086580880257720033'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2007/10/not-all-or-none-situation.html' title='Not An All Or None Situation'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-1074915827398470524</id><published>2007-10-03T06:39:00.000-07:00</published><updated>2007-10-03T13:21:55.119-07:00</updated><title type='text'>Thoughts on secure data publishing and transformation governance and best practices</title><content type='html'>I'm not a security guy, so maybe I'm out a limb here.  Douglas Crockford recently &lt;a href="http://video.google.com/videoplay?docid=452089494323007214"&gt;called the DOM and huge security problem&lt;/a&gt;.   I'm looking at a huge traceability and lack-of-symmetry problem.  The problem I usually run into in big enterprises is not with permission to trace data, but the complete in ability to do so.  When people can't trace data back to sources and when transformation processes are asymmetrical, it becomes&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;extremely, exhorbitantly difficult to make sense from information; V&amp;amp;V goes out the door.&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoPlainText"&gt;&lt;span style="font-style: italic;"&gt;Claim:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Data exports should pass metadata describing, at minimum, their immediate source, and any transformation applied by that source when producing the data.&lt;span style=""&gt;  &lt;/span&gt;This metadata forms a singly-linked, directed list from data targets to their sources (ex., from an Excel spreadsheet back to a System Architect model).&lt;span style=""&gt;  &lt;/span&gt;The link list can be followed only by persons and systems having clearance to do so.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;span style="font-style: italic;"&gt;Motivation&lt;/span&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Better traceability and symmetry in the data transformation and publishing process&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;span style="font-style: italic;"&gt;Specification for metadata&lt;/span&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Required field:&lt;span style=""&gt;  &lt;/span&gt;URL for source&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Required field:&lt;span style=""&gt;  &lt;/span&gt;Security Classification of source&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Required field:&lt;span style=""&gt;  &lt;/span&gt;Security Classification of metadata and traceability &lt;span style=""&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;permission&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Required field:&lt;span style=""&gt;  &lt;/span&gt;Timestamp&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Required field:&lt;span style=""&gt;  &lt;/span&gt;Author, publisher name&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Optional field:&lt;span style=""&gt;  &lt;/span&gt;Name (aliases?) of source &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Optional field:&lt;span style=""&gt;  &lt;/span&gt;Name (aliases?) of transformation&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Optional field:&lt;span style=""&gt;  &lt;/span&gt;URL for transformation, when used (bad practice to not &lt;span style=""&gt;            &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;include when present)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Optional field:&lt;span style=""&gt;  &lt;/span&gt;Description of source&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Optional field:&lt;span style=""&gt;  &lt;/span&gt;Description of transformation&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-style: italic;"&gt;Technical Requirements&lt;/span&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;It is the producer's responsibility to describe itself by placing metadata into the exported target's DOM.&lt;span style=""&gt;  &lt;/span&gt;This is not a "must" requirement.&lt;span style=""&gt;  &lt;/span&gt;Data producers have the right to be anonymous.&lt;/p&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;p class="MsoPlainText"&gt;&lt;span style="font-style: italic;"&gt;Use Cases&lt;/span&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Cleared receivers of data can trace data back to the data's source by following a hyperlink to the source, or to metadata when the source is incapable of acting as an Internet asset.&lt;span style=""&gt;  &lt;/span&gt;The link chain can be followed as long as the tracer has clearance to go to the previous node, i.e., to visit a URL.  The burden for granting or denying access to URLs is already maintained by existing systems  (ex., Web server permissions, CAC).&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;o:p&gt;&lt;/o:p&gt;Traceability is stopped by denying permission to get to the URL for the source .&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;Metadata is scrubbed by pruning its node(s) from target's DOM.&lt;/p&gt;&lt;p class="MsoPlainText"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1154664265889512920-1074915827398470524?l=kevincurry.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevincurry.blogspot.com/feeds/1074915827398470524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1154664265889512920&amp;postID=1074915827398470524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1074915827398470524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1154664265889512920/posts/default/1074915827398470524'/><link rel='alternate' type='text/html' href='http://kevincurry.blogspot.com/2007/10/thoughts-on-secure-data-publishing-and.html' title='Thoughts on secure data publishing and transformation governance and best practices'/><author><name>Kevin Curry</name><uri>http://www.blogger.com/profile/11117910582029078325</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://lh4.google.com/kmcurry/RvB2YcgywvI/AAAAAAAACX0/Fb3dNBg7L_U/s144/headshot_extrasmall.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1154664265889512920.post-7732637804162663835</id><published>2007-09-18T00:00:00.000-07:00</published><updated>2008-09-04T10:02:28.578-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Document-Driven Visualization</title><content type='html'>Alright, here's the flow on document driven visualization.  Documents are the lifeblood of the Internet.  Right now everything we experience on the web is tied to documents.  If it's Flash it's a document...instructions that tell the Flash engine what and how to render.  HTML is a document.  Any markup is a document.  Even if it's not XML...if it's data, it's a document.  Don't argue it, just accept it.  Be okay with it because documents are just written communication.  What are we doing when we use computers to collaborate if not communicating?  So, it stands to reason that if visualization is going to thrive on the Internet it had better come to terms a document model...The Document Object Model, to be specific.&lt;br /&gt;&lt;br /&gt;So I realized that the DOM makes for an ideal match to visualization, as I was taught it.  I learned visualization programming using &lt;a href="http://www.sgi.com/"&gt;SGI's&lt;/a&gt; &lt;a href="http://www.sgi.com/products/software/performer/"&gt;IRIS Performer&lt;/a&gt;.  Performer was a...no, THE rich, powerful API driving almost every immersive virtual environment on the planet in the late, late 90s (maybe it still is).  A central concept in Performer is the Scene Graph.  A Scene Graph is made of Nodes.  Nodes have Parents and Children.  Graphs of Nodes can be Traversed. When Nodes are visited (during Traversal) they are evaluated and sometimes modified.  The way we created and manipulated an immersive virtual environment was to add, remove, modify, and traverse the Nodes of a Scene Graph.  So, it could be said that the complexity of writing any visualization application can be reduced to the repetitive execution of these operations over these Objects in performance of some domain-specific task.  Well, it wasn't sooo easy, but the concept was really starting to gel.&lt;br /&gt;&lt;br /&gt;Then I learned about a couple of really handy patterns from the Object-Oriented Paradigm that were in the Java core language.  "Handy" doesn't do them justice, in fact.  To me, &lt;a href="http://java.sun.com/developer/technicalArticles/ALT/Reflection/index.html"&gt;Reflection&lt;/a&gt; and &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Serializable.html"&gt;Serialization &lt;/a&gt;are the most important aspects of OOP.  In a &lt;a href="http://www.oreilly.com/store/series/nutshells.csp"&gt;nutshell&lt;/a&gt;, Serialization is the ability for Objects to write themselves (or be written) out to text (XML) and Reflection is the ability for an Object's Attributes to be Get and Set by name.&lt;br /&gt;&lt;br /&gt;Scene Graph has Nodes.  DOM has Nodes.  (Scene Graph is a Graph.  DOM is a Tree.  Turns out this is not a constraint that matters.)  The fundamental operations on a Scene Graph of Nodes are the fundamental operations on a DOM Tree.  Nodes are Objects.  Even operations are Objects.  Objects can be Reflected upon and Serialized to XML.  Visualization Objects can be Reflected upon and Serialized to XML.  Visualization is a Document.  I don't know if that is a straight line but it seems pretty damn solid to me.&lt;br /&gt;&lt;br /&gt;This is powerful.  Visualization (and interaction) can be published.  Visualization (and interaction) can be transformed.  Visualization (and interaction) is interoperable.  Visualization (and interaction) can be mashed up.  Visualization gets the Internet.  (Visualization gets natural language?)&lt;br /&gt;&lt;br /&gt;Here are some other important factors:&lt;br /&gt;&lt;br /&gt;A.  We don't serialize everything to XML.  Very rarely do we need to spell out all the vertices and normals of a geometry.  3D models do not need to be XML.  To me expressing geometry as XML (some is okay) is like expressing the 0-255 value of every pixel in a bitmap.  Do what HTML does with images:&lt;br /&gt;&lt;br /&gt;"img src="url/to/image.jpg""&lt;br /&gt;&lt;br /&gt;"Model url="url/to/model.lwo""&lt;br /&gt;&lt;br /&gt;B.  Driving visualization with APIs is powerful and there are plenty of occasions for it.  But point-to-point API integration does not scale.  You want graphs and maps and charts.  &lt;a href="http://prefuse.org/"&gt;Prefuse &lt;/a&gt;does graphs.  &lt;a href="http://earth.google.com/"&gt;Earth&lt;/a&gt; does maps.  &lt;a href="http://www.softwarefx.com/"&gt;ChartFX&lt;/a&gt; does charts.  Have fun coding.  Instead, programs should use XML as a standard input/output format.  Then at least integrators can use ubiquitous technologies to move and transform data from program to program.  Visualization programs can even be written by other software programs.  It's just rules producing markup fed to a render context.  All of this reminds me of the Unix operating system.  But with apps and APIs we still aren't getting to the heart of the matter.  Apps and APIs are laden with cognitive artifacts for both end users and developers.  Whether we
