<?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-3812785271700903620</id><updated>2012-01-31T12:25:31.015-06:00</updated><category term='install'/><category term='flash'/><category term='haiti'/><category term='postgresql'/><category term='meetup'/><category term='Amazon'/><category term='geodata'/><category term='Vincenty Distance'/><category term='tile server'/><category term='tl;dr'/><category term='user stories'/><category term='2010 census'/><category term='geotools'/><category term='open street map'/><category term='geowebcache'/><category term='Galaxy Tab'/><category term='rgeo'/><category term='blocking flash'/><category term='wms'/><category term='VW radio'/><category term='video'/><category term='proj'/><category term='geowanking'/><category term='bricked'/><category term='performance'/><category term='eclipse'/><category term='SF1'/><category term='EC2'/><category term='PowerPC'/><category term='auxiliary input'/><category term='Transparency Camp'/><category term='mechanical turk'/><category term='MySQL'/><category term='wms isdead'/><category term='java'/><category term='AMI'/><category term='postgis'/><category term='cloud'/><category term='mission 4636'/><category term='bash'/><category term='ThinkUp'/><category term='unboxing'/><category term='oracle'/><category term='iPhone'/><category term='wave protocol summit'/><category term='myTouch'/><category term='Jetta'/><category term='Huffduffer'/><category term='ubuntu'/><category term='collaborative'/><category term='conferences'/><category term='BIOS update'/><category term='ruby'/><category term='free tier'/><category term='wherecamp'/><category term='Silverlight error'/><category term='HTC EVO 4G'/><category term='crisiscamp'/><category term='Instapaper'/><category term='Google Ideas'/><category term='unrecognized battery'/><category term='tilemill mapnik'/><category term='location privacy'/><category term='curl'/><category term='basic authentication'/><category term='Froyo'/><category term='OS X'/><category term='Augmented Reality'/><category term='Chromium'/><category term='OSX update'/><category term='jars'/><category term='iPod adapter'/><category term='Chrome'/><category term='embedded tomcat'/><category term='Wikitude'/><category term='Google mapplet'/><category term='trigonometry'/><category term='ardevcamp'/><category term='Android'/><category term='wave'/><category term='Google I/O'/><category term='where2.0'/><category term='blue screen'/><category term='recovery'/><category term='stupid vendor tricks'/><category term='Gamaray'/><category term='Texas GIS Forum'/><category term='docs'/><category term='#arny'/><category term='REST'/><category term='howto'/><category term='gis'/><category term='videos'/><category term='AR Parrot Drone'/><category term='mapping'/><category term='brew'/><category term='locative media'/><category term='blog'/><category term='Google'/><category term='cello'/><category term='AWS'/><category term='christmas orchestra'/><category term='dead'/><category term='bluetooth'/><category term='googleplex'/><category term='FOSS4G 2009'/><category term='geoserver'/><category term='twitter processing'/><category term='10.5.7 update'/><category term='fail'/><category term='social media'/><category term='Jared Cohen'/><category term='iPad'/><category term='Dell Mini 9'/><category term='ardevcampnyc'/><category term='open geo data'/><category term='Layar'/><category term='T-Mobile'/><category term='prakticello'/><title type='text'>'sproke</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>89</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-8682995547599355634</id><published>2012-01-10T17:49:00.007-06:00</published><updated>2012-01-31T12:25:31.029-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2010 census'/><category scheme='http://www.blogger.com/atom/ns#' term='SF1'/><category scheme='http://www.blogger.com/atom/ns#' term='postgresql'/><category scheme='http://www.blogger.com/atom/ns#' term='open geo data'/><title type='text'>Importing 2010 SF1 Census in PostgreSQL</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;The Census Bureau provides a &lt;a href="http://www2.census.gov/census_2010/04-Summary_File_1/SF1_Access2003.mdb"&gt;template&lt;/a&gt; &lt;a href="http://sf1_access2007.accdb/"&gt;MS Access database&lt;/a&gt; for importing&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;fixed width/comma delimited &amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www2.census.gov/census_2010/04-Summary_File_1/"&gt;SF1 files&lt;/a&gt;. Nice if you have MS Acess, which I don't.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;With the help of &lt;a href="http://mdbtools.sourceforge.net/"&gt;MDBTools&lt;/a&gt;, I extracted the schema (using the mdb-schema command) from the Census provided template database. With a little bit of sed/awk/vi munging I converted the the schema into valid sql&amp;nbsp;&lt;a href="https://gist.github.com/1590982" target="_blank"&gt;script&lt;/a&gt;&amp;nbsp;that creates the SF1 tables in PostgreSQL.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Create a data base and run the script to create the tables&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border-bottom-color: rgb(153, 153, 153); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(153, 153, 153); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(153, 153, 153); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(153, 153, 153); border-top-style: dashed; border-top-width: 1px; color: black; line-height: 14px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 100%;"&gt;&lt;code&gt;&lt;span style="font-family: 'Andale Mono', 'Lucida Console', Monaco, fixed, monospace;"&gt;&lt;span style="font-size: 12px;"&gt;createdb SF1_2010
psql SF1_2010 -f &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style="font-family: 'Andale Mono', 'Lucida Console', Monaco, fixed, monospace;"&gt;&lt;span style="font-size: 12px;"&gt;create_SF1_tables.sql&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;You can import all or just the ones you need. For example, I wanted the total population count by age and sex by census tract. The &lt;a href="http://www.census.gov/prod/cen2010/doc/sf1.pdf" target="_blank"&gt;2010 Summary File 1 document&lt;/a&gt; shows the file containing the data I wanted (Chapter 6 The Data Dictionary), which was in xx000172010.sf1.&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Use the postgres copy command to import the data tables.&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;COPY sf1_00017 FROM '/path/to/xx000172010.sf1' CSV;&lt;/code&gt;&lt;/pre&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;The SF1 database also provides a geo_header table common to all SF1 data files. Unlike the SF1 data files, which are comma delimited, the geo_header file uses fixed length records. This can be imported with a bit file munging and some &lt;a href="http://www.postgresonline.com/journal/archives/157-Import-fixed-width-data-into-PostgreSQL-with-just-PSQL.html" target="_blank"&gt;sql foo&lt;/a&gt;. The first step is to read the geoheader into a temporary table with each line as a record. There's a &lt;a href="https://gist.github.com/1590991" target="_blank"&gt;script&lt;/a&gt; for this also.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;CREATE TABLE geo_header_staging (data text);
COPY geo_header_staging FROM '/path/to/dcgeo2010.sf1' DELIMITER AS '|';&lt;/code&gt;&lt;/pre&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Note that "|" is used as a delimiter to read the entire line. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;The second part is to use PostgreSQL's string functions to extract the values and insert them into the correct field in the geo_header table. Writing the sql would have taken some time, but fortunately the Census provides a &lt;a href="http://www2.census.gov/census_2010/01-Redistricting_File--PL_94-171/pl_geohd_2010.sas"&gt;SAS import script&lt;/a&gt; which I used as a starting point. With some more sed/awk/cut/paste/vi munging, I produced an &lt;a href="https://gist.github.com/1590966"&gt;import script&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;psql SF1_2010 -f geo_header_to_postgresql.sql&lt;/code&gt;&lt;/pre&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;This will create a PostgreSQL database with a valid geo_header table that you can use for querying by census geography. The primary key is logrecno, which ties together the geography with the data. Query for the logrecno for the geography of interest, then query for the data using the logrecno.&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;SELECT logrecno from geo_header_sf1 WHERE tract ='192200' AND sumlev ='140' AND name = ' Census Tract 1922';

SELECT * FROM sf1_00017 WHERE logrecno ='69229';
&lt;/code&gt;&lt;/pre&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;After selecting and summarizing the data, I produced a population pyramid. Whew!&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-OtADNrLCw1o/TwuDoaKTFtI/AAAAAAAAAbc/-09LtgujM2o/s1600/Picture+20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="304" src="http://1.bp.blogspot.com/-OtADNrLCw1o/TwuDoaKTFtI/AAAAAAAAAbc/-09LtgujM2o/s320/Picture+20.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;* Thank you to &lt;a href="https://twitter.com/richgibson" target="_blank"&gt;@richgibson&lt;/a&gt; for corrections&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Verdana, sans-serif;"&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/3812785271700903620-8682995547599355634?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/8682995547599355634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2012/01/importing-2010-sf1-census-in-postgresql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/8682995547599355634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/8682995547599355634'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2012/01/importing-2010-sf1-census-in-postgresql.html' title='Importing 2010 SF1 Census in PostgreSQL'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-OtADNrLCw1o/TwuDoaKTFtI/AAAAAAAAAbc/-09LtgujM2o/s72-c/Picture+20.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-3485358086546086575</id><published>2011-10-26T11:28:00.000-05:00</published><updated>2011-10-26T11:28:21.671-05:00</updated><title type='text'>Conferences and Workshop Materials</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;At FOSS4G 2011, I gave a workshop on Deploying Map Services on Amazon Web Services. The materials are here:&amp;nbsp;&lt;a href="https://github.com/spara/aws_foss4g_2011"&gt;https://github.com/spara/aws_foss4g_2011&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;I'll be presenting "Mapping: What in the Wide, Wide World of Sports Is Going On?" at the 2011 Texas GIS Forum. The presentation is here:&amp;nbsp;&lt;a href="http://prezi.com/mc7wstzgky5-/mapping-what-in-the-wide-wide-world-of-sports-is-going-on/"&gt;http://prezi.com/mc7wstzgky5-/mapping-what-in-the-wide-wide-world-of-sports-is-going-on/&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-3485358086546086575?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/3485358086546086575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/10/conferences-and-workshop-materials.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3485358086546086575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3485358086546086575'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/10/conferences-and-workshop-materials.html' title='Conferences and Workshop Materials'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-7982109866388375811</id><published>2011-07-31T15:46:00.000-05:00</published><updated>2011-07-31T15:46:39.672-05:00</updated><title type='text'>Loading shapefiles into Elasticsearch</title><content type='html'>&lt;span class="Apple-style-span" style="line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;Elasticsearch&lt;/span&gt;&amp;nbsp;is an open source (Apache 2), distributed, RESTful, search engine built on top of&amp;nbsp;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;a href="http://lucene.apache.org/" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 2px; padding-right: 2px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Lucene&lt;/a&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; line-height: 22px;"&gt;Elasticsearch supports point data as a &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; line-height: 22px;"&gt;&lt;a href="http://www.elasticsearch.org/guide/reference/mapping/geo-point-type.html"&gt;geo_point&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; line-height: 22px;"&gt; data type; which provides several types of spatial search:&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; line-height: 22px;"&gt;&lt;a href="http://www.elasticsearch.org/guide/reference/query-dsl/geo-distance-filter.html"&gt;distance filter&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; line-height: 22px;"&gt;&lt;a href="http://www.elasticsearch.org/guide/reference/query-dsl/geo-distance-range-filter.html"&gt;distance range filter&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; line-height: 22px;"&gt;&lt;a href="http://www.elasticsearch.org/guide/reference/query-dsl/geo-bounding-box-filter.html"&gt;bounding box filter&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; line-height: 22px;"&gt;&lt;a href="http://www.elasticsearch.org/guide/reference/query-dsl/geo-polygon-filter.html"&gt;polygon filter&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; line-height: 22px;"&gt;&lt;a href="http://www.elasticsearch.org/guide/reference/api/search/facets/geo-distance-facet.html"&gt;distance facets&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Elasticsearch provides a REST API for configuring, loading, and querying data. It also has a bulk loading interface. To load shapefiles into elastic search I wrote a &lt;a href="https://gist.github.com/1117027"&gt;ruby script to convert shapefiles&lt;/a&gt; to Elasticsearch's bulk loading format. Here's the process for loading multiple shapefiles as multiple types into a single index (think of an index as a 'database' and types as 'tables').&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;If you haven't installed Elasticsearch, &lt;a href="http://www.elasticsearch.org/download/2011/07/27/0.17.2.html"&gt;download it&lt;/a&gt;, unzip it, and read the README file to start the node.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;1. Create the index&lt;/span&gt;&lt;/div&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;curl -XPUT 'http://localhost:9200/geo/'&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2. Create a mapping file (place.json) in your favorite editor. This example is for a shapefile called place&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;{
    "place" : {
        "properties" : {
            "geometry": {
                "properties": {
                    "coordinates": {
                        "type": "geo_point"
                    }
                }
            }
        }
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;curl -XPUT http://localhost:9200/geo/place/_mapping -d @place.json&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3. Convert the shapefile to the ES bulk format.&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;ruby shapefile2elasticsearch.rb &amp;gt; place_data.json&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;4. Bulk load the data.&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;curl -XPUT 'http://localhost:9200/_bulk/' --data-binary @place_data.json&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;5. Test query.&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;curl -XGET 'http://localhost:9200/geo/place/_search' -d '{
    "query": {
        "filtered": {
            "query": {
                "match_all": {}
            },
            "filter": {
                "geo_distance": {
                    "distance": "20km",
                    "geometry.coordinates": {
                        "lat": 32.25,
                        "lon": -97.75
                    }
                }
            }
        }
    }
}'&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;6. Add a second type definition for zipcodes:&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;{
    "zipcode" : {
        "properties" : {
            "geometry": {
                "properties": {
                    "coordinates": {
                        "type": "geo_point"
                    }
                }
            }
        }
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;curl -XPUT http://localhost:9200/geo/place/_mapping -d @zipcode.json&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;7. Convert and bulk load the data.&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;curl -XPUT 'http://localhost:9200/_bulk/' --data-binary @zipcode_data.json&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;8. Test query.&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;curl -XGET 'http://localhost:9200/geo/zipcode/_search' -d '{
    "query": {
        "filtered": {
            "query": {
                "match_all": {}
            },
            "filter": {
                "geo_distance": {
                    "distance": "20km",
                    "geometry.coordinates": {
                        "lat": 32.25,
                        "lon": -97.75
                    }
                }
            }
        }
    }
}'
&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-7982109866388375811?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/7982109866388375811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/07/loading-shapefiles-into-elasticsearch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/7982109866388375811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/7982109866388375811'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/07/loading-shapefiles-into-elasticsearch.html' title='Loading shapefiles into Elasticsearch'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-1337655797374214231</id><published>2011-06-25T15:54:00.001-05:00</published><updated>2011-06-25T16:07:59.748-05:00</updated><title type='text'>Give us THUNDERDOME!</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The FOSS4G WMS Shootout is &lt;a href="http://en.wiktionary.org/wiki/bikeshedding"&gt;bikeshedding&lt;/a&gt;. I have the utmost respect to the WMS Shootout/Benchmarking participant teams, but the exercise is pointless. There should be a new and more relevant competition for web map servers. There should be Thunderdome.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;First things first, this is lower case wms — web map server, not the deceased Web Map Service specification. Similar to the &lt;a href="http://programming-motherfucker.com/"&gt;Programming M*therf*cker manifesto&lt;/a&gt;, we do one thing in Thunderdome: we serve maps.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Second, there is no such thing as a level playing field in the &lt;a href="https://twitter.com/#!/cageyjames/status/84309761666985985"&gt;real world&lt;/a&gt;. Assuming all things being equal and spherical cows is fine for theory, but the world doesn't work that way. So the first rule is no limits on technology or architecture, if a vendor wants to spend a million dollars, no problem! The catch is that the architecture, tweaks, and costs have to be disclosed. To make this a little more realistic, the infrastructure has to be deployed on approved Amazon Machine Images (AMIs) and the billing has to be&amp;nbsp;publicly&amp;nbsp;available. So deploy one machine or deploy a cluster of a 100 machines, doesn't matter. We want to see the price/performance ratio.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Third, all participants must serve the same data set. You choose the backend: file, database, or NoSQL — your choice, doesn't matter. Again your architecture is fully documented, including indexes built, connection pooling, etc. We're after configuration and maintenance information.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Fourth, the prescribed set data and maps must be served in a format or protocol supported by OpenLayers. This means no plugins. WMS, tiles, GML, GeoJSON, ArcGIS, whatever works best. Have at it, just as long as it can be retrieved by OpenLayers. Why OpenLayers? It has the best support for a variety of formats and protocols of all the javascript mapping libraries.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Fifth, users will be able to download a tool similar in design to &lt;a href="http://en.wikipedia.org/wiki/LOIC"&gt;Anonymous' LOIC&lt;/a&gt; (Low Orbit Ion Canon) to fully exercise each system for a week. This geoLOIC, as it were, will send the appropriate requests to the targeted system. This tool will gather real world performance across a variety of platforms and network conditions, the results will be sent back to the organizers at the conclusion of the test.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Sixth, logs for each server will record down time, response time, and other metrics. If a geoLOIC shuts down a server, the team has to get it back up. Uptime is crucial.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;All, participant data will be presented across a standard set of metrics such as uptime, total response time, response time at the server and cost. All documentation, logs, etc will be&amp;nbsp;publicly&amp;nbsp;available.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The goal of wms Thunderdome is develop a set of statistics that implementors can use to evaluate web map servers across a variety of axis whether it be price/performance, availability/cost, maintenance/performance, etc.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Now go listen to the creepy man's intro.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://3.gvt0.com/vi/pHU6K47qgc8/0.jpg" height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pHU6K47qgc8&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="480" height="385"  src="http://www.youtube.com/v/pHU6K47qgc8&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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/3812785271700903620-1337655797374214231?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/1337655797374214231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/06/give-us-thunderdome.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1337655797374214231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1337655797374214231'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/06/give-us-thunderdome.html' title='Give us THUNDERDOME!'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-1522194353841209394</id><published>2011-06-24T08:02:00.000-05:00</published><updated>2011-06-24T08:02:35.351-05:00</updated><title type='text'>Summarizing why WMS is Dead</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;At the urging of @wonderchook I did an Ignite talk at WhereCampDC titled: WMS is Dead&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://3.gvt0.com/vi/HjQmTpaznOc/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/HjQmTpaznOc&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/HjQmTpaznOc&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;I feel that I've flogged this issue enough but nothing like putting in finishing nails in the coffin to tidy it up.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Architecture and Scaling&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;WMS was designed in the late 1990's, when we really didn't understand how the web worked at scale. I think that the dominant mental model of web services at that time was RPC and it's evident in the architecture of OGC W*S. The architecture was designed to mimic GIS systems, so WMS requests are standardized RPC calls to an abstract model of a GIS. Where WMS went wrong was that it ignored existing Web standards and that the Web's architecture and infrastructure was optimized for delivering documents via links. Ignoring URIs to retrieve standard well known mime types such as pngs contributes to it's clunky interface. Retrieving tiles via URIs is a Web native operation; whilst sending long requests to create a single document is not. That being said, I believe that layering a REST interface over WMS is a futile exercise in trying to hang with the cool kids. As Bruce Sterling often says, "Good luck with that."&lt;a href="http://www.blogger.com/post-edit.g?blogID=3812785271700903620&amp;amp;postID=1522194353841209394#HTML"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Cartography&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;In WMS, you make make maps with SLD. I can't say enough that SLD is a bad idea. XML is for data, it should not be perverted in a single configuration, query, and pseudo programming language.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Projections&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Projections have been cited as one reason WMS is superior to tile based mapping. My response is that Web mapping is a different medium from traditional cartography. In traditional cartography, the map maker has only the X and Y dimensions to convey information; which makes projections one of the most important tools for the cartographer. In web mapping, we have n dimensions to present information from info bubbles to interactive tools. Projections are still important for operations that require measurement, but that occurs on the backend and is less important for presentation.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Interoperability&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;WMS fails at interoperability because it is implemented at the application level. Chaining together a bunch of applications through a series of client requests does not result in a performant web application. In addition, WMS stateless (request/response) operations bypass web native optimizations such as HTTP caching; which has led to software such a &lt;a href="http://mapproxy.org/"&gt;MapProxy&lt;/a&gt; to overcome this shortcoming. Again this is a bandaid solution to a deeper architectural problem.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Interoperability should take into consideration how the Web is designed rather than providing an overlay that implements loosely-coupled client-server like architecture over the Internet. This means that interoperability should occur at a much lower level than application to application communications, such as data and document types.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;I think that the prevalence of tile servers proves the point that URIs plus well known mime types trumps Web RPC. Data is out of the scope of WMS since it is primarily designed as a presentation interface (with lots of kruft), but I think it is important to the future of Web mapping as well as interoperability.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;When the W*S standards were under initial development, OGC made a bet that XML would rule the day; which is understandable since XML was the new hotness at the time. Implicit in this assumption was that XML parsers would improve, especially in the browser. However, as this &lt;a href="http://blog.mongolab.com/?p=23"&gt;blog explains&lt;/a&gt;, developers are tired of writing XML parsers and use JSON instead. JSON is a well supported and compact way to serialize data that trusts that the developer will use good taste to unpack the data instead of mandating the download of XML schema. The rise of fast and powerful Javascript engines as well as server side Javascript such as node.js was certainly not predictable. This does not bode well for W*S standards, which will be overcome by events even more quickly. For the INSPIRE folks, "Good luck with that."&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;I feel that the direction of Web mapping will be tied to Javascript on both the client and server side. We are already seeing this with the popularity of TileMill which uses node.js and client scripting libraries such as Leaflet and ModestMaps-JS. Like it or not, this direction in Web mapping is organic instead of top down from a standards body.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;sup&gt;1&lt;/sup&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;In all fairness, WMS was designed to retrieve a map dynamically based on a user's request. The use case was not, "I want a fast background map with data sprinkles"; which is the real world use case.&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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/3812785271700903620-1522194353841209394?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/1522194353841209394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/06/summarizing-why-wms-is-dead.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1522194353841209394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1522194353841209394'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/06/summarizing-why-wms-is-dead.html' title='Summarizing why WMS is Dead'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-3539858923889014576</id><published>2011-06-19T15:36:00.002-05:00</published><updated>2011-06-22T13:53:15.951-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Galaxy Tab'/><category scheme='http://www.blogger.com/atom/ns#' term='recovery'/><category scheme='http://www.blogger.com/atom/ns#' term='Google I/O'/><title type='text'>Recovering the Google I/O Samsung Galaxy Tab 10.1 on OSX</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Short Story&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Several days after an OTA update to Honeycomb, my Google I/O Galaxy Tab crashed and went into a constant reboot state. These are the steps I used to recover. Note that this will delete all your personal data in the /data directory&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Download &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://developer.htc.com/adp.html#s2"&gt;fastboot&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;, you will need this tool to get to the recovery screen. Unzip it and make sure it is executable:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;chmod 755 fastboot-mac
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Put the Tab into recovery mode by holding the Power button and Volume Down. The screen should look like this:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-mwQ9QRNca3A/Tf5bMB2SDhI/AAAAAAAAAiU/djV00uIVJ_4/s1600/P1060379.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://4.bp.blogspot.com/-mwQ9QRNca3A/Tf5bMB2SDhI/AAAAAAAAAiU/djV00uIVJ_4/s640/P1060379.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Select USB by clicking on Volume Down, click on Volume Up to confirm. Plug the Tab into your computer&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Download &lt;a href="http://droidbasement.com/galaxy/sys-backup/recovery.zip"&gt;recovery.zip&lt;/a&gt; and unzip it&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Fastboot the Tab (I used the parameters from &lt;a href="http://forum.xda-developers.com/showthread.php?t=1117524&amp;amp;page=10"&gt;here&lt;/a&gt;):&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;./fastboot-mac -p 0x0700 -i 0x0955 boot recovery.img
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;On the Tab, use the Volume control to a factory reset. This will reformat /data — note that all your data will be deleted.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-KvfvP6MzIpw/Tf5b4bqa6XI/AAAAAAAAAiY/xva0iw1FuYo/s1600/P1060380.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://4.bp.blogspot.com/-KvfvP6MzIpw/Tf5b4bqa6XI/AAAAAAAAAiY/xva0iw1FuYo/s640/P1060380.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Reboot the Tab.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Long Story&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;I tried a number of methods to recover the Tab without losing data. I tried to use &lt;a href="http://droidbasement.com/db-blog/?p=2035"&gt;Droid Basement's Guide&lt;/a&gt;&amp;nbsp;to recover the Tab, but I was stymied by /data. When the Tab booted using fastboot, the /data directory was mounted read only. &amp;nbsp;I tried mounting /data rw&amp;nbsp;numerous times&amp;nbsp;via adb shell but every time I tried to write to /data it immediately reverted to a ro state. Reformatting /data seemed to the remaining choice.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;If you want to do more with the Galaxy Tab, I highly recommend &lt;a href="http://droidbasement.com/db-blog/"&gt;Droid Basement&lt;/a&gt; for hacks and images.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&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/3812785271700903620-3539858923889014576?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/3539858923889014576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/06/recovering-google-io-samsung-galaxy-tab.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3539858923889014576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3539858923889014576'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/06/recovering-google-io-samsung-galaxy-tab.html' title='Recovering the Google I/O Samsung Galaxy Tab 10.1 on OSX'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-mwQ9QRNca3A/Tf5bMB2SDhI/AAAAAAAAAiU/djV00uIVJ_4/s72-c/P1060379.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6886952852054952261</id><published>2011-05-27T09:59:00.001-05:00</published><updated>2011-05-27T10:17:30.512-05:00</updated><title type='text'>How-To: Install the Locker Project</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The &lt;a href="https://github.com/quartzjer/Locker"&gt;Locker Project&lt;/a&gt;&amp;nbsp;collects your personal data into a single platform. You can read more about its core values and goals at the &lt;a href="http://blog.lockerproject.org/"&gt;Locker Project blog&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This how-to covers installing on OSX. It assumes you have gcc,&amp;nbsp;&lt;a href="http://code.google.com/p/git-osx-installer/"&gt;git&lt;/a&gt;, python, and &lt;a href="http://pypi.python.org/pypi/setuptools"&gt;setuptools&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;1. Install node.js&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ git clone --depth 1 https://github.com/joyent/node.git
$ cd node/
$ export JOBS=2
$ mkdir ~/local
$ ./configure --prefix=$HOME/local/node
$ make
$ make install
$ export PATH=$HOME/local/node/bin:$PATH&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2. Install npm&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ curl http://npmjs.org/install.sh | sh&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3. Install the locker&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ git clone https://github.com/quartzjer/Locker.git
$ cd Locker
$ npm install
$ python setupEnv.py&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;4. Start the locker and go to http://localhost:8042 in your browser&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ node lockerd.js&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;If you see "&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;TypeError: Invalid argument to getAgent" you will need to &lt;a href="https://github.com/quartzjer/Locker/issues/48"&gt;change the following in node-http-proxy.js&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ cd ./Locker/node-modules/http-proxy/lib

# using your favorite editor, change node-http-proxy.js to look like this:

function _getAgent (host, port, secure) {
//var agent = !secure ? http.getAgent(host, port) : https.getAgent({
// host: host,
// port: port
//});
var opts = {
host: host,
port: port
};
var agent = !secure ? http.getAgent(opts) : https.getAgent(opts);

agent.maxSockets = maxSockets;
return agent;
}
&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-6886952852054952261?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6886952852054952261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/05/how-to-install-locker-project.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6886952852054952261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6886952852054952261'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/05/how-to-install-locker-project.html' title='How-To: Install the Locker Project'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-693542612870217050</id><published>2011-03-24T08:21:00.003-05:00</published><updated>2011-03-24T08:44:55.575-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bluetooth'/><category scheme='http://www.blogger.com/atom/ns#' term='iPod adapter'/><category scheme='http://www.blogger.com/atom/ns#' term='VW radio'/><category scheme='http://www.blogger.com/atom/ns#' term='Jetta'/><category scheme='http://www.blogger.com/atom/ns#' term='auxiliary input'/><title type='text'>Weekend Hack: Adding an Auxiliary Input to VW Radio with Satellite and iPod Adapter</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;I've bought cars over the internet for the past decade without ever seeing then, so when I bought a 2009 VW Jetta TDI with an iPod adapter I thought, "that would be a nice option." However, VW's iPod interface is terrible. For example, albums and playlists are treated as CDs and even basic mp3 tags such as album or song names are displayed as Folder N or Track N. The iPod option also removes the auxiliary audio input. After trying to hack an auxiliary input on to the iPod adapter and failing because the the adapter needs an iPod attached to work, I decided to try a different route.&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-godXGHSXPL8/TYtDXG80gnI/AAAAAAAAAfM/hF0fUwiSGvQ/s1600/P1030466.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh4.googleusercontent.com/-godXGHSXPL8/TYtDXG80gnI/AAAAAAAAAfM/hF0fUwiSGvQ/s320/P1030466.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The car came with a Sirius satellite radio (pre XM acquisition) that I don't use for a number of reasons, but mainly because Sirius pissed me off with the way they handled pre-merger XM contracts. It occurred to me that I could use the satellite radio audio output as an&amp;nbsp;auxiliary&amp;nbsp;input.&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The satellite radio box is mounted in the trunk. The speaker outputs from the radio are on a plug with a group of three purple wires and two orange striped wires.&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-sdGBvByuW-Q/TYZj_kebVsI/AAAAAAAAAek/x8v7X5GJnNc/s1600/P1030456.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh4.googleusercontent.com/-sdGBvByuW-Q/TYZj_kebVsI/AAAAAAAAAek/x8v7X5GJnNc/s320/P1030456.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;I originally thought about running a line with 3.5mm mini stereo plug to the center console, but I decided to add a blue tooth receiver instead. This offers more flexibility and I can play music from multiple devices including Pandora on my Android phone.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Parts list:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.amazon.com/gp/product/B0035229EA"&gt;Bluelink Bluetooth Music Receiver&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.amazon.com/gp/product/B0012JWS1M"&gt;USB Car Charger&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.amazon.com/gp/product/B0002MKBI2"&gt;A to A USB Cable&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The Bluelink Bluetooth Music receiver is an inexpensive bluetooth receiver that can run on either 110 volts or through a USB cable. The Jetta has a convenient 12 volt socket in the trunk so the Bluelink can be powered with a USB car charger connected via a male A to A USB cable.&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-_QB_YGwTQmU/TYapGqbRKeI/AAAAAAAAAeo/gozs5Sy5K3E/s1600/P1030461.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh6.googleusercontent.com/-_QB_YGwTQmU/TYapGqbRKeI/AAAAAAAAAeo/gozs5Sy5K3E/s320/P1030461.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The Bluelink comes with a 3.5mm mini stereo to RCA cable which I used to make a new cable connecting the audio wires fron the satellite radio to the Bluelink input.&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-GMzgNxDW1SQ/TYapiw3Ea0I/AAAAAAAAAes/5Ey8-wyBy1I/s1600/P1030457.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh6.googleusercontent.com/-GMzgNxDW1SQ/TYapiw3Ea0I/AAAAAAAAAes/5Ey8-wyBy1I/s320/P1030457.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The wiring schematic from the satellite radio is:&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;purple w/ blue stripe &amp;gt; ground (black)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;purple w/ white stripe &amp;gt; right channel (red)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;purple w/ green stripe &amp;gt; left channel (white)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;After the wires were soldered, they were covered with heat shrink tubing and wire connectors were added. I've found that electronics in cars are constantly vibrating and using connectors improves the reliability of the installation.&lt;/span&gt;&lt;br /&gt;
&lt;a href="https://lh5.googleusercontent.com/-vvgi6q1KhIU/TYaqCG7i-1I/AAAAAAAAAe0/P8Z8D8JgNAY/s1600/P1030460.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh5.googleusercontent.com/-vvgi6q1KhIU/TYaqCG7i-1I/AAAAAAAAAe0/P8Z8D8JgNAY/s320/P1030460.JPG" width="320" /&gt;&lt;/a&gt;&lt;a href="https://lh4.googleusercontent.com/-aVcVLGlLnWs/TYaqiOcZHWI/AAAAAAAAAe4/gmhvwRAQtFk/s1600/P1030462.JPG" imageanchor="1"&gt;&lt;img border="0" height="240" src="https://lh4.googleusercontent.com/-aVcVLGlLnWs/TYaqiOcZHWI/AAAAAAAAAe4/gmhvwRAQtFk/s320/P1030462.JPG" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://lh4.googleusercontent.com/-aVcVLGlLnWs/TYaqiOcZHWI/AAAAAAAAAe4/gmhvwRAQtFk/s1600/P1030462.JPG" imageanchor="1"&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The Bluelink was ziptied to the rear deck frame and the cable from the satellite radio and USB power cable were tucked away and ziptied as needed.&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-RaR5EqtN73U/TYtDF8O0n3I/AAAAAAAAAfI/O9ma9chrm_Q/s1600/P1030463.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://lh3.googleusercontent.com/-RaR5EqtN73U/TYtDF8O0n3I/AAAAAAAAAfI/O9ma9chrm_Q/s320/P1030463.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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/3812785271700903620-693542612870217050?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/693542612870217050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/03/weekend-hack-adding-auxiliary-input-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/693542612870217050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/693542612870217050'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/03/weekend-hack-adding-auxiliary-input-to.html' title='Weekend Hack: Adding an Auxiliary Input to VW Radio with Satellite and iPod Adapter'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-godXGHSXPL8/TYtDXG80gnI/AAAAAAAAAfM/hF0fUwiSGvQ/s72-c/P1030466.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-1454579276736142619</id><published>2011-03-23T08:01:00.000-05:00</published><updated>2011-03-23T08:01:28.624-05:00</updated><title type='text'>Install script for the OpenGeo Suite Community Edition on Ubuntu</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;OpenGeo released a packaged version of the OpenGeo Suite that can be installed through apt or yum. The install &lt;a href="http://repo.opengeo.org/suite/releases/community/docs/OpenGeoSuite-2.3.3-README-linux.txt"&gt;requires some familiarity with Linux&lt;/a&gt;, which maybe a barrier if you are coming from the Windows world. I've posted a&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;n install script for OpenGeo Suite Community Edition with the Apache2 proxy configured. The script is available on &lt;a href="https://gist.github.com/881944"&gt;gist&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The script does the following:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;update the list of repositories to include OpenGeo's repository&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;install the OpenGeo Suite Community Edition&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;install apache2&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;configure apache2 to proxy the Suite web applications to port 80&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The script was tested on Ubuntu Desktop 10.10 Desktop and the Canonical Ubuntu 10.10 64-bit AMI&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;ami-cef405a7.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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/3812785271700903620-1454579276736142619?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/1454579276736142619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/03/install-script-for-opengeo-suite.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1454579276736142619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1454579276736142619'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/03/install-script-for-opengeo-suite.html' title='Install script for the OpenGeo Suite Community Edition on Ubuntu'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-3906560125481260182</id><published>2011-03-20T08:18:00.002-05:00</published><updated>2011-03-20T11:31:28.863-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='OSX update'/><category scheme='http://www.blogger.com/atom/ns#' term='brew'/><category scheme='http://www.blogger.com/atom/ns#' term='geoserver'/><category scheme='http://www.blogger.com/atom/ns#' term='rgeo'/><category scheme='http://www.blogger.com/atom/ns#' term='proj'/><title type='text'>How-To: Spatial and Ruby on OSX</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Notes on getting started using Ruby and rgeo on OSX to manipulate spatial data.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Setup:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;1. Download and install ruby 1.92&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ curl ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p180.tar.gz -o ruby-1.9.2-p180.tar.gz 
$ tar xvfz ruby-1.9.2-p180.tar.gz
$ cd ruby-1.9.2-p180
$ ./configure
$ make
$ sudo make install&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2. Download and install homebrew package manager&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ ruby -e "$(curl -fsSLk https://gist.github.com/raw/323731/install_homebrew.rb)"&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3. Download and install geos and proj libraries. The ruby gem rgeo requires geos and proj. While it is possible to build rgeo against &amp;nbsp;the &lt;a href="http://www.kyngchaos.com/software/frameworks"&gt;Kyng Chaos Frameworks&lt;/a&gt;, it's far easier to install these libraries using brew.&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ brew install geos
$ brew intall proj&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;4. Install rgeo. RGeo is a &lt;a href="https://github.com/dazuma/rgeo#readme"&gt;ruby gem based on the OGC Simple Features Specification&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ sudo gem install rgeo&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;5. Install supporting rgeo gems.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Shapefile:&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ sudo gem install dbf
$ sudo gem install rgeo-shapefile&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;PostGIS:&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ gem install pg
$ gem install rgeo-activerecord
$ gem install activerecord-postgis-adapter&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;GeoJSON:&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ gem install rgeo-geojson
&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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/3812785271700903620-3906560125481260182?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/3906560125481260182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/03/spatial-and-ruby-on-osx.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3906560125481260182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3906560125481260182'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/03/spatial-and-ruby-on-osx.html' title='How-To: Spatial and Ruby on OSX'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-3233305619770157530</id><published>2011-03-10T07:03:00.000-06:00</published><updated>2011-03-10T07:03:07.048-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wms isdead'/><category scheme='http://www.blogger.com/atom/ns#' term='postgis'/><category scheme='http://www.blogger.com/atom/ns#' term='tilemill mapnik'/><title type='text'>Overcome by Events: Chicago Tribune shows how to map</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Clint Waggoner&lt;sup&gt;1&lt;/sup&gt; (an old boss) once told me, "If you wait just a little bit longer, things tend to resolve themselves." After saying WMS is OBE and baiting people with the #WMSisdead hashtag on Twitter, I felt that I should prove my point by using the tools I mentioned and documenting the process to create custom tiles and display them on the web.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Project deadlines, a long weekend at the beach, telecons, and a cruise to Cozumel :) resulted in putting it off. As usual Clint was right.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The Chicago Tribune published a &lt;a href="http://blog.apps.chicagotribune.com/2011/03/08/making-maps-1/"&gt;five part series&lt;/a&gt;&amp;nbsp;on how to make custom maps using PostGIS, TileMill, Mapnik and display it on Google maps. Their &lt;a href="https://github.com/newsapps/making-maps-demo"&gt;code is also available on github&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;sup&gt;1&lt;/sup&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;I have undying respect for Clint because he used to dynamically allocate memory by wiring &lt;a href="http://en.wikipedia.org/wiki/Magnetic-core_memory"&gt;magnetic-core memory&lt;/a&gt; as his program was running. He did this on a PDP11. In a sub. Next to a nuclear reactor.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&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/3812785271700903620-3233305619770157530?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/3233305619770157530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/03/overcome-by-events-chicago-tribune.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3233305619770157530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3233305619770157530'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/03/overcome-by-events-chicago-tribune.html' title='Overcome by Events: Chicago Tribune shows how to map'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6273357945870446507</id><published>2011-03-02T12:18:00.000-06:00</published><updated>2011-03-02T12:18:21.348-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wms'/><category scheme='http://www.blogger.com/atom/ns#' term='dead'/><title type='text'>and the shift away from W*S architecture continues</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;On the &lt;a href="http://blog.safe.com/"&gt;Safe&lt;/a&gt; blog, Paul Nalos &lt;a href="http://blog.safe.com/2011/03/just-in-time-spatial-data-integration-or-bridging-data-silos-with-visualization/"&gt;writes&lt;/a&gt;&amp;nbsp;about Iowa DOT's data publishing strategy:&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Second – and this is where it gets really interesting – they presented  an approach where multiple data sources are fused together in the  visualization stage. The idea is that it is easier to query multiple  data sources (e.g., using web services) in the visualization layer than  to keep composite or centralized data stores in sync. Merging data this  late in the game likely doesn’t make sense in all cases (e.g., if  complex analysis or transformation is required), but the basic  advantages are clear: users benefit from an integrated display of data  in one system when they would previously have consulted two.&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;"An integrated display of data" sounds a lot like a tile cache.&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-6273357945870446507?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6273357945870446507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/03/and-shift-away-from-ws-architecture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6273357945870446507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6273357945870446507'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/03/and-shift-away-from-ws-architecture.html' title='and the shift away from W*S architecture continues'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-4000611251995866052</id><published>2011-02-26T10:26:00.000-06:00</published><updated>2011-02-26T10:26:49.021-06:00</updated><title type='text'>OBE: Where we last left off ...</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Blogger's default commenting system is pathetic and I can't be arsed to find a better solution. So here are the comments to &lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html#comments"&gt;Overcome by Events&lt;/a&gt;&amp;nbsp;formatted for easier reading. My responses are indented.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;dt class="comment-author " id="c3919207377566789290" style="line-height: 16px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em;"&gt;&lt;div class="avatar-image-container avatar-stock" style="height: 37px; left: -45px; position: absolute; width: 37px;"&gt;&lt;span dir="ltr"&gt;&lt;a href="http://www.bostongis.com/blog" rel="nofollow" style="color: #336699;"&gt;&lt;img alt="" height="16" src="http://img1.blogblog.com/img/blank.gif" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 0px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 0px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 0px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 0px; float: right; padding-bottom: 1px; padding-left: 1px; padding-right: 1px; padding-top: 1px;" title="Regina Obe" width="16" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;b&gt;&lt;a href="http://www.bostongis.com/blog" rel="nofollow" style="color: #336699;"&gt;Regina Obe&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;
&lt;dd class="comment-body" id="Blog1_cmt-3919207377566789290" style="line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.25em;"&gt;&lt;div style="margin-bottom: 0.75em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I think you are wrong that WMS is dead.&lt;br /&gt;
Aside from the fact you used my name in vein -- I'll let that piece slide.&lt;br /&gt;
&lt;br /&gt;
Both Tile Servers and WMS have there place and for different reasons.&lt;br /&gt;
&lt;br /&gt;
Tile Servers are great for standard stuff like a general overlay when you don't care about being able to feed in different projections, or don't care about other datasets. This is because they are easy to scale and are fast and face it are static (well as far as the viewer is concerned anyway).&lt;br /&gt;
&lt;br /&gt;
They suck when you are talking about very custom layers that few people use or people need in different projections are are changing constantly (by constantly I mean by seconds and you are feeding a lot of it you can't just push with JSON/XML/take your pick ajax overlay).&lt;br /&gt;
&lt;br /&gt;
This is where you need WMS. Both taste great and work great together. Just don't use the wrong tool for the job.&lt;/div&gt;&lt;/dd&gt;&lt;dd class="comment-footer" style="line-height: 1.4em; margin-bottom: 2em; margin-left: 0px; margin-right: 0px; margin-top: -0.25em;"&gt;&lt;span class="comment-timestamp"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298144217078#c3919207377566789290" style="color: #336699;" title="comment permalink"&gt;February 19, 2011 1:36 PM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-887255953" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=3919207377566789290" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/dd&gt;&lt;br /&gt;
&lt;dt class="comment-author blog-author" id="c6926912890811173437" style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;a href="" name="c6926912890811173437"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="avatar-image-container avatar-stock" style="height: 37px; left: -45px; line-height: 16px; position: absolute; width: 37px;"&gt;&lt;span dir="ltr"&gt;&lt;a class="avatar-hovercard" href="http://www.blogger.com/profile/04683385958453111558" id="av-1-04683385958453111558" rel="nofollow" style="color: #336699;"&gt;&lt;img alt="" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 0px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 0px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 0px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 0px; float: right; padding-bottom: 1px; padding-left: 1px; padding-right: 1px; padding-top: 1px;" title="sophia" width="16" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="line-height: 16px;"&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/04683385958453111558" rel="nofollow" style="color: #336699;"&gt;sophia&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;I'm afraid WMS is dead, it's just lurching around like a zombie waiting for pickaxe to the brain. At least, WMS did have some life unlike the majority of OGC specs which were still births.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;Your line of argument is correct if we assume the point of WMS is Web based GIS. However, that isn't how web mapping is used in practice. Serving light weight vector data formats over static maps is the dominant pattern for web mapping. So if you want a custom map, why not use Tile Mill to generate a custom layer? Sure only a couple of projections are available, but in practice do the majority of users care? If your require custom projections why not use a desktop solution which has better cartographic support?&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;As for dynamic maps, tile servers are evolving to use different algorithms to account for rapidly changing data. Frankly, having seen the amount of effort expended on the FOSS4G WMS Shootout, I think that a code sprint improving tile servers would be a better expenditure of time.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;Thanks for letting the acronym slide, overuse of acronyms is a nasty habit I picked up in DC and OGC meetings.&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 14px;"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298155512587#c6926912890811173437" style="color: #336699;" title="comment permalink"&gt;February 19, 2011 4:45 PM&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;span class="item-control blog-admin pid-1665261362" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=6926912890811173437" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;/dt&gt;&lt;br /&gt;
&lt;dt class="comment-author " id="c1306125315741496989" style="line-height: 16px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em;"&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/04892958878143369551" rel="nofollow" style="color: #336699;"&gt;sgillies&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;
&lt;dd class="comment-body" id="Blog1_cmt-1306125315741496989" style="line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.25em;"&gt;&lt;div style="margin-bottom: 0.75em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;In tiles you have what are essentially positional arguments (http://twitter.com/mnot/status/34854552700194816), which suck for programmers, but you get cachability, scalability, all the goodness of URIs. In WMS you have keyword arguments - more programmer friendly, but no consideration for caching, none of benefits of URIs. Trade-offs.&lt;/div&gt;&lt;/dd&gt;&lt;div style="line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="line-height: 14px;"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298159975736#c1306125315741496989" style="color: #336699;" title="comment permalink"&gt;February 19, 2011 5:59 PM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-1955229290" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=1306125315741496989" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="line-height: 16px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;dt class="comment-author " id="c4103471987795233623" style="line-height: 16px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em;"&gt;&lt;b&gt;&lt;a href="http://www.bostongis.com/blog" rel="nofollow" style="color: #336699;"&gt;Regina Obe&lt;/a&gt;&amp;nbsp;said..&lt;/b&gt;.&lt;/dt&gt;&lt;br /&gt;
&lt;dd class="comment-body" id="Blog1_cmt-4103471987795233623" style="line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.25em;"&gt;&lt;div style="margin-bottom: 0.75em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Sophia,&lt;br /&gt;
&lt;br /&gt;
I'm with Sean on this. I agree that the majority of web mapping is dishing up common variety stuff best handled with tile servers. TielMill I'm not familiar with which gathering from Jame's Fees blog, I just see as another way of generating stylized tiles (and a more use-friendly way of stylizing) similar to MapNik. Solves a different problem from what WMS does.&lt;br /&gt;
&lt;br /&gt;
I also don't think WMS is just for GIS. The projection support may only be relevant for GIS, but the rest of it is useful for other things.&lt;br /&gt;
&lt;br /&gt;
Imagine if you had like 20 different layers of interest - imagine how much effort that would be to create tiles for that for all the zoom levels you would need (when most of them will NEVER BE USED) - to publish that like in mapserver I just add another 5 lines of code. And of course we do have tilecaches, geocaches too which help out a bit and are best on actual use. Also at some point speed becomes less relevant with advancing CPU, GPUs technology. So thinking about speed is short-sighted and to say that just because 80% of your map need is tiles forgets about the 20% that makes your map more interesting and different from Joe Blow's down the street.&lt;br /&gt;
&lt;br /&gt;
As Sean said WMS is more programmer friendly because it provides more flexibility and face it you aren't hard-coding those calls. My OpenLayers does that -- why do I give a damn what it looks like.&lt;/div&gt;&lt;/dd&gt;&lt;dd class="comment-footer" style="line-height: 1.4em; margin-bottom: 2em; margin-left: 0px; margin-right: 0px; margin-top: -0.25em;"&gt;&lt;span class="comment-timestamp"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298174001609#c4103471987795233623" style="color: #336699;" title="comment permalink"&gt;February 19, 2011 9:53 PM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-887255953" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=4103471987795233623" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/dd&gt;&lt;dd class="comment-footer" style="margin-bottom: 2em; margin-left: 0px; margin-right: 0px; margin-top: -0.25em;"&gt;&lt;blockquote style="line-height: 16px;"&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/04683385958453111558" rel="nofollow" style="color: #336699;"&gt;sophia&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;&lt;b&gt;&lt;/b&gt;Regina,&lt;br /&gt;
WMS (and by extension other OGC services) is a dead end not because of speed but because it does how the Internet has evolved. This Sean's point about with tile servers "you get cachability, scalability, all the goodness of URIs" — we both agree with Sean ;-).&amp;nbsp;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;Tiles do not have to be pre-generated, they can and are typically generated dynamically. While WMS are typically used to generate tiles, there really isn't a reason to use WMS.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;The geospatial industry is moving towards deployment on cloud infrastructures along with the rest if the IT industry. This style of infrastructure favors tools that natively leverage the attributes of the internet over a protocol designed by committee.&lt;br /&gt;
&lt;span class="comment-timestamp"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298259784747#c6954239863367860340" style="color: #336699;" title="comment permalink"&gt;February 20, 2011 9:43 PM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-1665261362" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=6954239863367860340" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="line-height: 16px;"&gt;&lt;/div&gt;&lt;/dd&gt;&lt;br /&gt;
&lt;dt class="comment-author " id="c6796518516366082981" style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em;"&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/11473385549812836620" rel="nofollow" style="color: #336699;"&gt;Slar&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;
&lt;dd class="comment-body" id="Blog1_cmt-6796518516366082981" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.25em;"&gt;&lt;div style="margin-bottom: 0.75em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Sophia,&lt;br /&gt;
I think it is an important discussion, but I believe reports of WMS's demise are greatly exaggerated. The web is filled with really bad specifications that have become ubiquitous - HTML, JavaScript, JPG, XML, etc. The reason they stick around is not because they are any good, but because they have reached that critical mass of adoption so there is interoperability.&lt;br /&gt;
&lt;br /&gt;
I have no doubt that if you control the entire stack then a different approach will deliver better performance. Often in the federal government the entire stack can not (or should not) be controlled by one implementer and there is benefit from Server A serving stuff that Application B (or C or Q) can display. WMS certainly isn't perfect, but it does support this case reasonably well.&lt;br /&gt;
&lt;br /&gt;
If you have an approach for efficiently serving up tiles that everyone from ESRI to the FOSS community to the Luciad/Gallium/other-trendy-company-du-jour will agree to support in their clients, I'd love to see it. What we're finding is that in most cases, WMS is delivering acceptable performance faster than other approaches are proving interoperable. As long as this is the case, WMS will remain relevant.&lt;/div&gt;&lt;/dd&gt;&lt;span class="Apple-style-span" style="line-height: 14px;"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298211374724#c6796518516366082981" style="color: #336699;" title="comment permalink"&gt;February 20, 2011 8:16 AM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-753873387" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=6796518516366082981" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="line-height: 16px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;blockquote style="line-height: 16px;"&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/04683385958453111558" rel="nofollow" style="color: #336699;"&gt;sophia&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;&lt;b&gt;&lt;/b&gt;Slar,&lt;br /&gt;
Since I'm on a roll, I'll venture another heresy. In practice, interoperability is a red herring. I have yet to see a production site that uses multiple web map servers that originate from different domains. The speed of a mapping client is determined by it's slowest link. If your mapping application includes a slow or frequently down WMS, chances are that people will complain or not use it. More often than not, you deploy the data yourself to ensure availability.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;Getting back the "interoperability is great" world, GeoWebCache (FOSS) now serves ArcGIS tile caches. So you can use all the great ArcGIS tools to create your map and use a FOSS solution to serve it up. When it comes down to interoperability, what is more interoperable than a URL and a png?&amp;nbsp;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;At the risk of redundancy, Federal IT infrastructure is moving to the cloud: http://gcn.com/articles/2011/02/18/kundra-plan-25-percent-of-it-spending-on-cloud.aspx It doesn't make sense to deploy a load balanced WMS infrastructure when storage with an HTTP interface will scale for far less.&lt;br /&gt;
&lt;span class="comment-timestamp"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298261982924#c3832682052042174723" style="color: #336699;" title="comment permalink"&gt;February 20, 2011 10:19 PM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-1665261362" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=3832682052042174723" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="line-height: 16px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;dt class="comment-author " id="c2620544034109083849" style="line-height: 16px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em;"&gt;&lt;b&gt;Anonymous said...&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;
&lt;dd class="comment-body" id="Blog1_cmt-2620544034109083849" style="line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.25em;"&gt;&lt;div style="margin-bottom: 0.75em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;In practice the advantage of WMS is that the configuration is discoverable from a single URL from most GIS software. Usually with tile based services you need to configure the origin and resolutions yourself. I don't doubt that there are significant advantages using tiles. But it should be indistinguishable to GIS users.&lt;/div&gt;&lt;/dd&gt;&lt;div style="line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="line-height: 14px;"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298290069429#c2620544034109083849" style="color: #336699;" title="comment permalink"&gt;February 21, 2011 6:07 AM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-92993800" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=2620544034109083849" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="line-height: 16px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;blockquote style="line-height: 16px;"&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/04683385958453111558" rel="nofollow" style="color: #336699;"&gt;sophia&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;&lt;b&gt;&lt;/b&gt;Anonymous,&lt;br /&gt;
In general, GetCapabilities document works well when you have less than 100 layers to serve with relatively few styles or SRS supported. I have had customers with this volume of data to serve, think federal agencies. The main problem is that the GetCapabilities document becomes too big to parse efficiently, or hold in memory, especially for web based clients. On the server side, generating this document dynamically can also take quite a bit of time and compute resources to generate. Certain implementations, such as ArcGIS, cache the GetCapabilities document and hold it in cache until ArcGIS is restarted. This works fine unless your use case requires dynamic additions to layers to the WMS.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;The response to handling discovery for WMS with lots of layers has been to use a catalog. The problem is that it adds another layer of complexity that a client must negotiate. EBRIM much?&amp;nbsp;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;In contrast, tile servers are dead simple. Tile size can specified and resolutions are set both dejuré and defacto. There is no handshake, no processing of XML, you just get maps. Of course you have to know apriori what you are requesting, but in practice do you really know what you are getting when you select a layer in a WMS?&lt;br /&gt;
&lt;span class="comment-timestamp"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298292656109#c7859309474707324890" style="color: #336699;" title="comment permalink"&gt;February 21, 2011 6:50 AM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-1665261362" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=7859309474707324890" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="line-height: 16px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;dt class="comment-author " id="c5286253809596449662" style="line-height: 16px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em;"&gt;&lt;b&gt;Anonymous said...&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;
&lt;dd class="comment-body" id="Blog1_cmt-5286253809596449662" style="line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.25em;"&gt;&lt;div style="margin-bottom: 0.75em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I been in GIS App development for over three years now and I did'nt have opportunity to work with WMS as they SUCK..You are right Sophia. I worked with all kind of geospatial developer and know tons of real world geo spatial application, among all those share of WMS is negligible. People who are crying about it are same people who cried for arcIMS but its gone too.&lt;br /&gt;
If anyone has doubt, just Google the Web App and see who is using WMS...&lt;/div&gt;&lt;/dd&gt;&lt;dd class="comment-footer" style="line-height: 1.4em; margin-bottom: 2em; margin-left: 0px; margin-right: 0px; margin-top: -0.25em;"&gt;&lt;span class="comment-timestamp"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298557915265#c5286253809596449662" style="color: #336699;" title="comment permalink"&gt;February 24, 2011 8:31 AM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-1438969045" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=5286253809596449662" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/dd&gt;&lt;br /&gt;
&lt;dt class="comment-author blog-author" id="c2438697499896890664" style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;a href="" name="c2438697499896890664"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="avatar-image-container avatar-stock" style="height: 37px; left: -45px; line-height: 16px; position: absolute; width: 37px;"&gt;&lt;span dir="ltr"&gt;&lt;a class="avatar-hovercard" href="http://www.blogger.com/profile/04683385958453111558" id="av-10-04683385958453111558" rel="nofollow" style="color: #336699;"&gt;&lt;img alt="" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 0px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 0px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 0px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 0px; float: right; padding-bottom: 1px; padding-left: 1px; padding-right: 1px; padding-top: 1px;" title="sophia" width="16" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="line-height: 16px;"&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/04683385958453111558" rel="nofollow" style="color: #336699;"&gt;sophia&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;&lt;b&gt;&lt;/b&gt;I'm not sure how to find out who is using WMS in their applications, but there is quite a bit of data served through WMS. For example, there are 14K WMS layers listed at the FGDC monitoring site: http://registry.fgdc.gov/statuschecker/wmsResultsReport.php&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="line-height: 16px;"&gt;I'm sure that there are more catalogs of WMS services out there if you search for "GeoNetwork". I agree with you about adoption/use, despite the number of of WMS services and layers available, I have yet to see actual usage numbers. This is what I mean about the long tail of WMS.&lt;br /&gt;
&lt;span class="Apple-style-span" style="line-height: 14px;"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298578559262#c2438697499896890664" style="color: #336699;" title="comment permalink"&gt;February 24, 2011 2:15 PM&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;span class="item-control blog-admin pid-1665261362" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=2438697499896890664" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;div style="line-height: 16px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/dt&gt;&lt;br /&gt;
&lt;dt class="comment-author " id="c2702292809349043851" style="line-height: 16px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em;"&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/07302992998280520048" rel="nofollow" style="color: #336699;"&gt;mc.prins&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;
&lt;dd class="comment-body" id="Blog1_cmt-2702292809349043851" style="line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.25em;"&gt;&lt;div style="margin-bottom: 0.75em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;INSPIRE viewservice dictates WMS on steroids (WMS will learn to speak all the European languages) and WMS has evolved so it now does tilecaches (WMS-C/WMTS) as well.&lt;br /&gt;
oh yeah, we also want to support 20 or so different SRS's&lt;/div&gt;&lt;/dd&gt;&lt;dd class="comment-footer" style="line-height: 1.4em; margin-bottom: 2em; margin-left: 0px; margin-right: 0px; margin-top: -0.25em;"&gt;&lt;span class="comment-timestamp"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298643252023#c2702292809349043851" style="color: #336699;" title="comment permalink"&gt;February 25, 2011 8:14 AM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-176836605" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=2702292809349043851" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/dd&gt;&lt;br /&gt;
&lt;dt class="comment-author blog-author" id="c2735434853409654995" style="line-height: 16px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em;"&gt;&lt;a href="" name="c2735434853409654995"&gt;&lt;/a&gt;&lt;div class="avatar-image-container avatar-stock" style="height: 37px; left: -45px; position: absolute; width: 37px;"&gt;&lt;span dir="ltr"&gt;&lt;a class="avatar-hovercard" href="http://www.blogger.com/profile/04683385958453111558" id="av-12-04683385958453111558" rel="nofollow" style="color: #336699;"&gt;&lt;img alt="" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 0px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 0px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 0px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 0px; float: right; padding-bottom: 1px; padding-left: 1px; padding-right: 1px; padding-top: 1px;" title="sophia" width="16" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/04683385958453111558" rel="nofollow" style="color: #336699;"&gt;sophia&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;b&gt;&lt;/b&gt;mc.prins,&lt;br /&gt;
That's great but if the INSPIRE viewer (http://www.inspire-geoportal.eu/index.cfm/pageid/341) is any indication of performance, the 20-30 second load times is not very inspiring.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;I think the saying that a map service can be either be fast or interoperable, but not both is not true. It's a matter of picking the right technology and architecture.&lt;br /&gt;
&lt;span class="Apple-style-span" style="line-height: 14px;"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298647966826#c2735434853409654995" style="color: #336699;" title="comment permalink"&gt;February 25, 2011 9:32 AM&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;span class="item-control blog-admin pid-1665261362" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=2735434853409654995" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;br /&gt;
&lt;/dt&gt;&lt;br /&gt;
&lt;dt class="comment-author " id="c6179305737120587641" style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em;"&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/11473385549812836620" rel="nofollow" style="color: #336699;"&gt;Slar&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;
&lt;dd class="comment-body" id="Blog1_cmt-6179305737120587641" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.25em;"&gt;&lt;div style="margin-bottom: 0.75em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;With something like this, there are three categories of interoperability.&lt;br /&gt;
1. Adopted standards. Things like WMS give almost complete interoperability but sometimes you feel like you are trying to pound a round peg into a square hole.&lt;br /&gt;
&lt;br /&gt;
2. Emerging standards. You get better performance, but you usually have to do some development to get there. Tile servers fit into this category - they are more or less standardized but most vendors haven't implemented support yet. If you have full control over the solution, it's fine. The FOSS community tries to inhabit this space at every opportunity.&lt;br /&gt;
&lt;br /&gt;
3. Proprietary solutions. Customers will often sacrifice interoperability if they find a solution that is performant and requires minimal development.&lt;br /&gt;
&lt;br /&gt;
The problem I'm having with the Army is that it moves at glacial speeds. If I suggest Door #2 the response is "Sounds good. We can field that by 2017. So...what would you like us to do until then? Unless you have a better plan, I'm just going to pick Door #3." Therefore I am often stuck promoting Door #1 and hoping that it isn't the weakest link in the system. (That's usually when ESRI pipes up and says "Don't worry, we'll be sure to break something so that we can justify our expensive maintenance agreement.") I don't see this changing any time soon so I don't see WMS going anywhere.&lt;br /&gt;
&lt;br /&gt;
In the meantime, please stand up a WMS so that I can at least see your data, even if I'm ultimately going to want to acquire it and host it myself.&lt;/div&gt;&lt;/dd&gt;&lt;span class="Apple-style-span" style="line-height: 14px;"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298695347595#c6179305737120587641" style="color: #336699;" title="comment permalink"&gt;February 25, 2011 10:42 PM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-753873387" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=6179305737120587641" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/04683385958453111558" rel="nofollow" style="color: #336699;"&gt;sophia&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;Slar,&lt;br /&gt;
I concur with everything you have said. I've also been in the same situation selling WMS as a solution. We often would make a sale as a "special project" , i.e. it's an experiment. It was frustrating that it was difficult to get anything into production and customers would default to Option 3.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;However, I don't believe that WMS is the only way to make web maps discoverable. A simple README or metadata document of your choice at the root of a tile cache would suffice. The best part of this is that this can be indexed by crawlers instead of having to do the GetCapabilities two step dance to get an ISO19115 doc that may point to actual metadata buried in an ISO 19139 doc.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;If we really wanted to get fancy, metadata can be embedded in the tiles as EXIF for jpgs or XMP for pngs.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;Of course there is also the WMS-C or WMTS spec, but again you have to deal with a service interface that I feel is overly complicated.&lt;br /&gt;
&lt;span class="comment-timestamp"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298733548016#c2665355159412014842" style="color: #336699;" title="comment permalink"&gt;February 26, 2011 9:19 AM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-1665261362" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=2665355159412014842" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;dt class="comment-author " id="c7155801575734951101" style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em;"&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/07302992998280520048" rel="nofollow" style="color: #336699;"&gt;mc.prins&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;
&lt;dd class="comment-body" id="Blog1_cmt-7155801575734951101" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.25em;"&gt;&lt;div style="margin-bottom: 0.75em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;The INSPIRE legislation has fairly strict requirements on performance (response time for 800x600 pixels, 8 bits==470Kb image is =&amp;lt; 5 sec.) and availability (99%). Just because some proof of concept viewer makes 20 or so 15KB requests for a layer (instead of one) doesn't make the services slow, it just demonstrates a poor use of the requirements.&lt;/div&gt;&lt;/dd&gt;&lt;dd class="comment-footer" style="line-height: 1.4em; margin-bottom: 2em; margin-left: 0px; margin-right: 0px; margin-top: -0.25em;"&gt;&lt;span class="comment-timestamp"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298719753374#c7155801575734951101" style="color: #336699;" title="comment permalink"&gt;February 26, 2011 5:29 AM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-176836605" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=7155801575734951101" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/dd&gt;&lt;dd class="comment-footer" style="line-height: 1.4em; margin-bottom: 2em; margin-left: 0px; margin-right: 0px; margin-top: -0.25em;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;blockquote&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/profile/04683385958453111558" rel="nofollow" style="color: #336699;"&gt;sophia&lt;/a&gt;&amp;nbsp;said...&lt;/b&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;b&gt;&lt;/b&gt;mc.prins,&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;That's the problem with legislated requirements, people end up building systems that only meets the minimum. I'll be bold and predict that by 2015 INSPIRE requirements will be OBE as well, which is well before the 2019 end date for implementation.&lt;br /&gt;
sophia&lt;br /&gt;
&lt;span class="comment-timestamp"&gt;&lt;a href="http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html?showComment=1298735006043#c3960440417258854248" style="color: #336699;" title="comment permalink"&gt;February 26, 2011 9:43 AM&amp;nbsp;&lt;/a&gt;&lt;span class="item-control blog-admin pid-1665261362" style="display: inline;"&gt;&lt;a class="comment-delete" href="http://www.blogger.com/delete-comment.g?blogID=3812785271700903620&amp;amp;postID=3960440417258854248" style="color: #336699; text-decoration: none !important;" title="Delete Comment"&gt;&lt;img src="http://www.blogger.com/img/icon_delete13.gif" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/dd&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-4000611251995866052?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/4000611251995866052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/02/obe-where-we-last-left-off.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/4000611251995866052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/4000611251995866052'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/02/obe-where-we-last-left-off.html' title='OBE: Where we last left off ...'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-5803916132211258746</id><published>2011-02-19T09:52:00.006-06:00</published><updated>2011-02-26T12:25:00.545-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wms'/><category scheme='http://www.blogger.com/atom/ns#' term='tile server'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><title type='text'>Overcome By Events or Rearranging Deck Chairs</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;OBE, the polite acronym to signify that you have become irrelevant.&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Compare these two requests to a tile server and a Web Map Server:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Cloudmade/OSM tile server&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;http://b.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/1/256/15/17599/10746.png
&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Web Map Server (from ESRI example)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;http://hostname/deploy_name/com.esri.wms.Esrimap?SERVICE=WMS&amp;amp;VERSION=1.1.1&amp;amp;REQUEST=GetMap&amp;amp;LAYERS=Oceans,Countries,Cities&amp;amp;STYLES=&amp;amp;SRS=EPSG:4326&amp;amp;BBOX=-124,21,-66,49&amp;amp;WIDTH=600&amp;amp;HEIGHT=400&amp;amp;FORMAT=image/png
&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Both requests return a map, but which one would you rather use? The tile server URL can be generated &lt;a href="http://developers.cloudmade.com/projects/tiles/documents"&gt;programmatically&lt;/a&gt;. The WMS URL requires a GetCapabilities handshake, parsing an XML doc, and &lt;a href="http://webhelp.esri.com/arcims/9.2/general/mergedProjects/wms_connect/wms_connector/get_map.htm"&gt;formulating a request&lt;/a&gt;. It's true that you can compose a map with a WMS, but are developers (or even users) interested in all that sausage making? Amazon now supports &lt;a href="http://aws.typepad.com/aws/2011/02/host-your-static-website-on-amazon-s3.html"&gt;static website hosting in S3 storage&lt;/a&gt;; cheap storage and hosting all in one, boom. Tools such as &lt;a href="http://mapbox.com/tools/tilemill"&gt;TileMill&lt;/a&gt;&amp;nbsp;ease the process of generating tiles without the clunkiness of Style Layer Descriptor (SLDs) used by WMS.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Don't get me wrong, W*S style services will have a long tail, because we've spent a decade expounding it's virtues to the Federal government. However, it's time we recognize the WMS is OBE.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="font-family: Times; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br class="Apple-interchange-newline" /&gt;UPDATE:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;"we'll lie in the W*S beds we've made" &amp;nbsp;-&amp;nbsp;&lt;a href="http://sgillies.net/blog/"&gt;Sean Gillies&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;UPDATE 2:&lt;/b&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Nicely (or better) formatted comments &lt;a href="http://sproke.blogspot.com/2011/02/obe-where-we-last-left-off.html"&gt;posted here.&lt;/a&gt;&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/3812785271700903620-5803916132211258746?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/5803916132211258746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html#comment-form' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/5803916132211258746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/5803916132211258746'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html' title='Overcome By Events or Rearranging Deck Chairs'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-8729765089627662054</id><published>2011-01-13T10:18:00.004-06:00</published><updated>2011-01-14T10:53:58.725-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='postgresql'/><category scheme='http://www.blogger.com/atom/ns#' term='EC2'/><category scheme='http://www.blogger.com/atom/ns#' term='AWS'/><title type='text'>Postgres/PostGIS with RAID 10 on Amazon EBS without Leaving the Browser</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Since some one asked about installing Postgres on AWS without leaving the browser, I've updated the &lt;a href="http://dl.dropbox.com/u/6706687/postgres-ubuntu-ec2-install.sh"&gt;Postgres install script&lt;/a&gt; to Ubuntu 10.10 Maverick Meerkat and made the size and number of the volumes as command line arguments. The script below can be cut and pasted into the User Data textbox when launching the AMI as in the previous&amp;nbsp;&lt;a href="http://sproke.blogspot.com/2011/01/install-geoserver-on-amazon-ec2-without.html"&gt;GeoServer install instructions&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;You will need to place your private key and X.509 certificate where they can be downloaded. For the sake of simplicity, the example script retrieves the credentials &amp;nbsp;using wget protected by a username and password. In practice, I would use sftp or scp to transfer the credentials&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;UPDATE 1/14/11:&lt;/b&gt;&amp;nbsp;The script from 1/13/11 contained errors and has been replaced. The current script has been tested against&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: #3a3a3a; line-height: 14px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;ami-cef405a7&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;#!/bin/bash -ex
exec &amp;gt; &amp;gt;(tee /var/log/user-data.log|logger -t user-data -s 2&amp;gt;/dev/console) 2&amp;gt;&amp;amp;1

# download the install script and run it
cd /home/ubuntu

# grab your private key and X.509 cert
wget --user=user --password='myPassword' http://example.server.com/home/*.pem
sudo chmod 600 *pem 

# change this to your keypair and cert
export EC2_PRIVATE_KEY=~/myKey.pem
export EC2_CERT=~/myCert.pem

# get install script
wget http://dl.dropbox.com/u/6706687/postgres-ubuntu-ec2-install.sh 
chmod 755 postgres-ubuntu-ec2-install.sh

# run it, note that the install script now takes arguments for the number of volumes
#   and the size of each volume in gigbytes, args below create a 500GB RAID10 
sudo -u ubuntu ./postgres-ubuntu-ec2-install.sh 10 100
&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-8729765089627662054?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/8729765089627662054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/01/postgrespostgis-with-raid-10-on-amazon.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/8729765089627662054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/8729765089627662054'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/01/postgrespostgis-with-raid-10-on-amazon.html' title='Postgres/PostGIS with RAID 10 on Amazon EBS without Leaving the Browser'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-55110441293935976</id><published>2011-01-06T20:21:00.002-06:00</published><updated>2011-01-06T20:28:27.183-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='geoserver'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='AWS'/><title type='text'>Install GeoServer on Amazon EC2 without leaving the browser</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Learned a new trick from @waxpancake at ThinkUp, so here's how to install GeoServer on a Ubuntu Maverick 10.10 EC2 instance with out leaving the browser.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Launch an Ubuntu AMI, in this example I use&amp;nbsp;ami-cef405a7, but check &lt;a href="http://uec-images.ubuntu.com/releases/10.10/release/"&gt;this page&lt;/a&gt; to find a suitable AMI from Canonical.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pYE2kH0wQFY/TSZzk20sCiI/AAAAAAAAAdI/84ry0x07-yw/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="387" src="http://4.bp.blogspot.com/_pYE2kH0wQFY/TSZzk20sCiI/AAAAAAAAAdI/84ry0x07-yw/s640/1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;I use a micro instance in this example, but you can use any size.&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pYE2kH0wQFY/TSZ0j_aJkKI/AAAAAAAAAdM/OBVgQ8RADe4/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="390" src="http://4.bp.blogspot.com/_pYE2kH0wQFY/TSZ0j_aJkKI/AAAAAAAAAdM/OBVgQ8RADe4/s640/2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Copy the following script in the User Data textbox. The script downloads the install script from the &lt;a href="http://sproke.blogspot.com/2010/12/install-script-for-geoserver-on-ubuntu.html"&gt;earlier blog post&lt;/a&gt;&amp;nbsp;and runs it.&lt;/span&gt;&lt;br /&gt;
&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;#!/bin/bash -ex
exec &amp;gt; &amp;gt;(tee /var/log/user-data.log&amp;#124;logger -t user-data -s 2&amp;gt;/dev/console) 2&amp;gt;&amp;amp;1

# download the install script and run it
cd /home/ubuntu
wget http://dl.dropbox.com/u/6706687/geoserver-ubuntu-ec2-install.sh 
chmod 755 geoserver-ubuntu-ec2-install.sh
./geoserver-ubuntu-ec2-install.sh
&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;It should look like this:&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_pYE2kH0wQFY/TSZ1WG968hI/AAAAAAAAAdQ/NPYHLqYHf9k/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="390" src="http://1.bp.blogspot.com/_pYE2kH0wQFY/TSZ1WG968hI/AAAAAAAAAdQ/NPYHLqYHf9k/s640/3.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;You can tag your instance or leave it blank.&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pYE2kH0wQFY/TSZ1rAx-N1I/AAAAAAAAAdU/dCfvA3F84CM/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="392" src="http://4.bp.blogspot.com/_pYE2kH0wQFY/TSZ1rAx-N1I/AAAAAAAAAdU/dCfvA3F84CM/s640/4.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Use an existing keypair or create a new one.&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_pYE2kH0wQFY/TSZ17w378uI/AAAAAAAAAdY/gCrI1cxf40E/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="390" src="http://2.bp.blogspot.com/_pYE2kH0wQFY/TSZ17w378uI/AAAAAAAAAdY/gCrI1cxf40E/s640/5.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Use and existing security group or create a new one. Note that port 80 and 22 need to be open for Apache and ssh respectively.&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_pYE2kH0wQFY/TSZ2fKp6DSI/AAAAAAAAAdc/MlKSIzXJbyM/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="390" src="http://1.bp.blogspot.com/_pYE2kH0wQFY/TSZ2fKp6DSI/AAAAAAAAAdc/MlKSIzXJbyM/s640/6.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Launch the instance.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_pYE2kH0wQFY/TSZ2roC-utI/AAAAAAAAAdg/oWmDoriNMyI/s1600/7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="390" src="http://2.bp.blogspot.com/_pYE2kH0wQFY/TSZ2roC-utI/AAAAAAAAAdg/oWmDoriNMyI/s640/7.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;That's it! It may take a minute or three to get everything installed, configured, and running even if the console shows that the instance is running.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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/3812785271700903620-55110441293935976?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/55110441293935976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/01/install-geoserver-on-amazon-ec2-without.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/55110441293935976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/55110441293935976'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/01/install-geoserver-on-amazon-ec2-without.html' title='Install GeoServer on Amazon EC2 without leaving the browser'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pYE2kH0wQFY/TSZzk20sCiI/AAAAAAAAAdI/84ry0x07-yw/s72-c/1.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-4564423112537909071</id><published>2011-01-05T16:58:00.000-06:00</published><updated>2011-01-05T16:58:57.655-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='T-Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Froyo'/><category scheme='http://www.blogger.com/atom/ns#' term='myTouch'/><title type='text'>Uninstalling Cyanogen Mod 6 and Installing T-Moble Froyo for MyTouch (Sapphire)</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Last year I installed Cyanogenmod-6 because I wanted Froyo on my T-Mobile Sapphire MyTouch. It seemed unlikely that T-Mobile would release Froyo for the MyTouch so &lt;a href="http://sproke.blogspot.com/2010/08/updating-t-mobile-mytouch-to-froyo.html"&gt;rooted the phone&lt;/a&gt;. Initially, Cyanogenmod ran reasonably well, but performance degraded over time.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;In the mean time, T-Mobile did release a Froyo OTA (Over The Air) update. Of course, having a rooted phone meant that I did not receive the OTA update. My phone was close to unusable, and the reviews for the T-Mobile Froyo update were positive so I was willing to give it a try.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://forums.t-mobile.com/t5/Operating-System-Software/How-To-Manually-Update-to-Froyo/td-p/515941"&gt;Follow these directions&lt;/a&gt; to restore your T-Mobile MyTouch (v1.0) to a stock Android Donut 1.6 DMD64 install, then upgrade it to the T-Mobile Froyo update. Note that the link in the article for the actual Froyo update is broken. You can download the Froyo update &lt;a href="http://android.clients.google.com/packages/ota/tmobile_opal/687ff5575808.signed-opal-ota-75603.687ff557.zip"&gt;from this link&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Happily, I can now play Angry Birds with the rest of you.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-4564423112537909071?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/4564423112537909071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2011/01/uninstalling-cyanogen-mod-6-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/4564423112537909071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/4564423112537909071'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2011/01/uninstalling-cyanogen-mod-6-and.html' title='Uninstalling Cyanogen Mod 6 and Installing T-Moble Froyo for MyTouch (Sapphire)'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-375892622676056868</id><published>2010-12-31T11:20:00.005-06:00</published><updated>2011-01-06T20:29:56.491-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='geoserver'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='AWS'/><title type='text'>Install script for Geoserver on Ubuntu EC2 instance</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Continuing with the theme of running stuff on the free tier of Amazon Web Services, here's a script to install Geoserver proxied through apache for when you want to throw up a quick map server. The script installs Geoserver 2.02 on Ubuntu Maverick 10.10 using&amp;nbsp;&lt;a href="http://aws.amazon.com/amis/4350?_encoding=UTF8&amp;amp;jiveRedirect=1"&gt;ami-cef405a7&lt;/a&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The script is available &lt;a href="http://dl.dropbox.com/u/6706687/geoserver-ubuntu-ec2-install.sh"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;
#
# install Geoserver on Ubuntu Maverick 10.10
# note: Geoserver is proxied through apache so port 8080 is not used
#
# @spara 11/15/10
#

# setup sources 
sudo sh -c "echo ' ' &amp;gt;&amp;gt; /etc/apt/sources.list"
sudo sh -c "echo 'deb http://us.archive.ubuntu.com/ubuntu/ maverick multiverse' &amp;gt;&amp;gt; /etc/apt/sources.list"
sudo sh -c "echo 'deb-src http://us.archive.ubuntu.com/ubuntu/ maverick multiverse' &amp;gt;&amp;gt; /etc/apt/sources.list"
sudo sh -c "echo 'deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates multiverse' &amp;gt;&amp;gt; /etc/apt/sources.list"
sudo sh -c "echo 'deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-updates multiverse' &amp;gt;&amp;gt; /etc/apt/sources.list"
sudo sh -c "echo 'deb http://archive.canonical.com/ maverick partner' &amp;gt;&amp;gt; /etc/apt/sources.list"
sudo apt-get update

# magic! (installs java without physically accepting license)
echo "sun-java6-jdk shared/accepted-sun-dlj-v1-1 boolean true" | sudo -E debconf-set-selections

# setup prerequisites 
sudo apt-get -y install sun-java6-bin
export JAVA_HOME=/usr/lib/jvm/java-6-sun
sudo apt-get -y install unzip

# set java paths
sudo touch /etc/profile.d/java.sh
sudo sh -c "echo 'export JAVA_HOME=/usr/lib/jvm/java-6-sun' &amp;gt;&amp;gt; /etc/profile.d/java.sh"
sudo sh -c "echo 'export PATH=$PATH;$JAVA_HOME/bin' &amp;gt;&amp;gt; /etc/profile.d/java.sh"
sudo source /etc/profile.d/java.sh

#install tomcat6
sudo apt-get install -y tomcat6
sudo chgrp -R tomcat6 /etc/tomcat6
sudo chmod -R g+w /etc/tomcat6

# install and config apache
sudo apt-get install -y apache2
sudo ln -s /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-enabled/proxy.conf
sudo ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.load
sudo ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load

# add tomcat proxy
sudo chmod 666 /etc/apache2/sites-available/default
sudo sed -i '$d'  /etc/apache2/sites-available/default
sudo sh -c "echo ' ' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo 'ProxyRequests Off' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo '# Remember to turn the next line off if you are proxying to a NameVirtualHost' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo 'ProxyPreserveHost On' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo ' ' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo '&lt;proxy&gt;' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo '    Order deny,allow' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo '    Allow from all' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo '&lt;/proxy&gt;' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo ' ' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo 'ProxyPass /geoserver http://localhost:8080/geoserver' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo 'ProxyPassReverse /geoserver http://localhost:8080/geoserver' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo ' ' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo sh -c "echo '' &amp;gt;&amp;gt; /etc/apache2/sites-available/default"
sudo chmod 644 /etc/apache2/sites-available/default

# get geoserver, change to version you want
sudo service tomcat6 stop
wget http://downloads.sourceforge.net/geoserver/geoserver-2.0.2-war.zip
sudo unzip -d /var/lib/tomcat6/webapps/ geoserver-2.0.2-war.zip
sudo chown -R tomcat6 /var/lib/tomcat6/webapps/geoserver.war
sudo chgrp g+w tomcat6 /var/lib/tomcat6/webapps/geoserver.war

# restart
sudo service tomcat6 restart
sudo service apache2 restart

# echo message
addy=$(GET http://169.254.169.254/latest/meta-data/public-hostname)
echo " "
echo "Geoserver is available at: http://$addy/geoserver"


# additional tweaks for production instances
#
# add the following options to catalina.sh
#
# JAVA_OPTS="-Djava.awt.headless=true -Xms256m -Xmx768m -Xrs -XX:PerfDataSamplingInterval=500 -XX:MaxPermSize=128m -DGEOSERVER_DATA_DIR=/var/lib/tomcat6/webapps/geoserver/data"


&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-375892622676056868?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/375892622676056868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/12/install-script-for-geoserver-on-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/375892622676056868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/375892622676056868'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/12/install-script-for-geoserver-on-ubuntu.html' title='Install script for Geoserver on Ubuntu EC2 instance'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6667391303770352662</id><published>2010-12-30T14:26:00.003-06:00</published><updated>2011-01-05T17:04:02.862-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ThinkUp'/><category scheme='http://www.blogger.com/atom/ns#' term='install'/><category scheme='http://www.blogger.com/atom/ns#' term='AWS'/><title type='text'>Install script for ThinkUp 0.7 on Ubuntu EC2 instance</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;ThinkUp is a nifty web app for managing social media; from the &lt;a href="http://thinkupapp.com/"&gt;site&lt;/a&gt;:&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;ThinkUp captures your posts, replies, retweets, friends, followers, and links on social networks like Twitter and Facebook. We'll be adding more networks in the future. ThinkUp stores your social data in a database you control, and makes it easy to search, sort, filter, export, and visualize in useful ways.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;ThinkUp requires the LAMP stack, a number of php packages, and sendmail. Installing these individually can be daunting so I wrote a script that takes care of all the prerequisites and installs ThinkUp on an Ubuntu EC2 instance. I commented out the phpmyadmin installation because it isn't necessary, but it is nice to have if you need to make changes to the database.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;For testing, I used my Ubuntu 10.10 AMI that complies with AWS free tier requirements:&amp;nbsp;ami-8548bfec.  One caveat, I set my ThinkUp account email to gmail which seems to mark the autoregistration notification email as spam, so check your spam folder first.&lt;/span&gt; &lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;UPDATE 12/30/10:&lt;/b&gt;&amp;nbsp;Canonical released refreshed UEC images for 10.10 (Maverick Meerkat) with 8GB root EBS volumes that will run on the AWS free tier. The list of Amazon published AMIs is available &lt;a href="http://uec-images.ubuntu.com/server/releases/maverick/release-20101225/"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;UPDATE 1/5/11:&lt;/b&gt; Andy Baio updated the script and wrote a tutorial to perform the whole install in the browser. &lt;a href="https://github.com/ginatrapani/ThinkUp/wiki/Installing-ThinkUp-on-Amazon-EC2"&gt;The tutorial is on the ThinkUp wiki&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;# install ThinkUp on EC2 Ubuntu instance:
#
# @spara 12/23/10
#

echo "Installing required packages, follow the prompts"
sleep 2

# install required packages
sudo apt-get update
sudo tasksel install lamp-server
sudo apt-get -y install unzip
sudo apt-get -y install curl libcurl3 libcurl3-dev php5-curl php5-mcrypt php5-gd --fix-missing
sudo apt-get -y install sendmail

# restart apache to init php packages
sudo service apache2 restart

# not necessary but nice to have
#sudo apt-get -y install phpmyadmin

wget https://github.com/downloads/ginatrapani/ThinkUp/thinkup-0.7.zip --no-check-certificate
sudo unzip -d /var/www/ thinkup-0.7.zip

# config thinkup installer
sudo ln -s /usr/sbin/sendmail /usr/bin/sendmail
sudo chown -R www-data /var/www/thinkup/_lib/view/compiled_view/
sudo touch /var/www/thinkup/config.inc.php
sudo chown www-data /var/www/thinkup/config.inc.php

# create database
echo -n "Enter the MySQL admin password: "
read -e pword
mysqladmin -h localhost -u root -p$pword create thinkup

# echo message
addy=$(GET http://169.254.169.254/latest/meta-data/public-hostname)
echo "Copy the URL below to install and configure Thinkup"
echo "http://$addy/thinkup/install/"
&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-6667391303770352662?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6667391303770352662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/12/install-script-for-thinkup-07-on-ubuntu.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6667391303770352662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6667391303770352662'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/12/install-script-for-thinkup-07-on-ubuntu.html' title='Install script for ThinkUp 0.7 on Ubuntu EC2 instance'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-110883303380661844</id><published>2010-12-29T14:57:00.000-06:00</published><updated>2010-12-29T14:57:33.660-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='postgis'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='postgresql'/><category scheme='http://www.blogger.com/atom/ns#' term='AWS'/><title type='text'>Build-out Script for Postgres/PostGIS with RAID 10 on Amazon EBS volumes</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;My iteration on &lt;a href="https://github.com/tokumine/ebs_raid_postgis/blob/master/build.sh"&gt;Simon Tokumine's script&lt;/a&gt; to install Postgres on Amazon Web Services. This version is based on Ubuntu 10.4 and builds out a RAID 10 drive, installs GEOS, Proj4, osm2pgsql and PostGIS from source, and creates a database ready for loading OSM data.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;################################################################
#
# Amazon EC2 PostGIS 1.5 on RAID10,f2 EBS Array Build Script
#
# Complete Rip off of:
# http://github.com/tokumine/ebs_raid_postgis/blob/master/build.sh
# http://alestic.com/2009/06/ec2-ebs-raid
# http://biodivertido.blogspot.com/2009/10/install-postgresql-84-and-postgis-140.html
#
# Additional glue by Simon Tokumine, 15/11/09
# Additions by Sophia Parafina, 10/08/10
#        added additional repos to sources.list
#        custom postgis, proj4, geos build
#        added packages for building postgis, proj4, geos
#        configured to build RAID10
#        customized for Canonical Ubuntu AMIs
#
# INSTALL ON ALESTIC UBUNTU AMI'S - http://alestic.com/
# I ORIGINALLY USED THE 32-bit AMI: ami-ccf615a5 (jaunty)
#
# NOTE, THIS IS ONLY FOR TESTING
################################################################

################################################################
#SETUP
#Please complete the parts that are in []'s (over writing the []'s)
#then just run the script on the server
################################################################

# change this to you keypair and cert
export EC2_PRIVATE_KEY=~[key.pem]
export EC2_CERT=~[cert.pem]
# change this to your instance
instanceid=[my-instance]
# change to the instance's availability zone
availability_zone=us-east-1d
# builds out RAID10, so size of RAID=volumes*size/2,
#   change this to your needs
volumes=[10]
size=[100]
# change to your mount point
mountpoint=[/mnt/vol1]
# change to a device
raid_array_location=[/dev/md0]
raid_level=10
raid_layout=f2
raid_chunk=256
# change to your password
postgres_password=[postgres]
# create a postgis template
db_name=template_postgis
################################################################

#####
# TODO
#
# UNMOUNT AND DETACH/DESTROY EBS &amp;amp; TERMINATE EC2
#
#####


################################################################
# CREATE EBS VOLUMES &amp;amp; RAID ARRAY
################################################################
sudo sh -c &amp;quot;echo ' ' &amp;gt;&amp;gt; /etc/apt/sources.list&amp;quot;
sudo sh -c &amp;quot;echo 'deb http://us.archive.ubuntu.com/ubuntu/ lucid multiverse' &amp;gt;&amp;gt; /etc/apt/sources.list&amp;quot;
sudo sh -c &amp;quot;echo 'deb-src http://us.archive.ubuntu.com/ubuntu/ lucid multiverse' &amp;gt;&amp;gt; /etc/apt/sources.list&amp;quot;
sudo sh -c &amp;quot;echo 'deb http://us.archive.ubuntu.com/ubuntu/ lucid-updates multiverse' &amp;gt;&amp;gt; /etc/apt/sources.list&amp;quot;
sudo sh -c &amp;quot;echo 'deb-src http://us.archive.ubuntu.com/ubuntu/ lucid-updates multiverse' &amp;gt;&amp;gt; /etc/apt/sources.list&amp;quot;
# this is specific for lucid only
sudo sh -c &amp;quot;echo 'deb http://archive.canonical.com/ lucid partner' &amp;gt;&amp;gt; /etc/apt/sources.list&amp;quot;
sudo apt-get update
sudo apt-get -y install ec2-api-tools
sudo apt-get -y install sun-java6-bin
export JAVA_HOME=/usr/lib/jvm/java-6-sun

devices=$(perl -e 'for$i(&amp;quot;h&amp;quot;..&amp;quot;k&amp;quot;){for$j(&amp;quot;&amp;quot;,1..15){print&amp;quot;/dev/sd$i$j\n&amp;quot;}}'&amp;#124;
head -$volumes)
devicearray=($devices)
volumeids=
i=1
while [ $i -le $volumes ]; do
   volumeid=$(ec2-create-volume -z $availability_zone --size $size &amp;#124; cut -f2)
   echo &amp;quot;$i: created $volumeid&amp;quot;
   device=${devicearray[$(($i-1))]}
   echo $volumeid
   ec2-attach-volume $volumeid -i $instanceid -d $device
   volumeids=&amp;quot;$volumeids $volumeid&amp;quot;
   let i=i+1
done
echo &amp;quot;volumeids='$volumeids'&amp;quot;

sudo apt-get update &amp;amp;&amp;amp;
sudo apt-get install -y mdadm xfsprogs

devices=$(perl -e 'for$i(&amp;quot;h&amp;quot;..&amp;quot;k&amp;quot;){for$j(&amp;quot;&amp;quot;,1..15){print&amp;quot;/dev/sd$i$j\n&amp;quot;}}'&amp;#124;
head -$volumes)


#builds out RAID10
yes &amp;#124; sudo mdadm \
--create $raid_array_location \
--chunk=$raid_chunk \
--level=$raid_level \
--layout=$raid_layout \
--metadata=1.1 \
--raid-devices $volumes \
$devices

echo DEVICE $devices &amp;#124; sudo tee /etc/mdadm.conf
sudo mdadm --detail --scan &amp;#124; sudo tee -a /etc/mdadm.conf

sudo mkfs.xfs $raid_array_location

echo &amp;quot;$raid_array_location $mountpoint xfs noatime 0 0&amp;quot; &amp;#124; sudo tee -a /etc/fstab
sudo mkdir $mountpoint
sudo mount $mountpoint

################################################################
# INSTALL POSTGRES, POSTGIS &amp;amp; SETUP DATABASE ON RAID VOLUME
################################################################
#echo &amp;quot; &amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list
#echo &amp;quot;deb http://ppa.launchpad.net/pitti/postgresql/ubuntu jaunty main&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list
#echo &amp;quot;deb-src http://ppa.launchpad.net/pitti/postgresql/ubuntu jaunty main&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list
#sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8683D8A2
#sudo apt-get update
sudo apt-get install libxml2-dev

sudo apt-get -y install postgresql-8.4 postgresql-server-dev-8.4 postgresql-contrib-8.4 libpq-dev
sudo /etc/init.d/postgresql-8.4 stop

sudo mkdir $mountpoint/data
sudo chmod -R 700 $mountpoint/data
sudo chown -R postgres.postgres $mountpoint/data
sudo -u postgres /usr/lib/postgresql/8.4/bin/initdb -D $mountpoint/data
sudo sed -i.bak -e 's/port = 5433/port = 5432/' /etc/postgresql/8.4/main/postgresql.conf
sudo sed -i.bak -e &amp;quot;s@\/var\/lib\/postgresql\/8.4\/main@$mountpoint\/data@&amp;quot; /etc/postgresql/8.4/main/postgresql.conf
sudo sed -i.bak -e 's/ssl = true/#ssl = true/' /etc/postgresql/8.4/main/postgresql.conf
sudo /etc/init.d/postgresql-8.4 start
cd /tmp
sudo apt-get -y install bzip2
sudo apt-get -y install g++
sudo apt-get -y install checkinstall

# install geos
wget http://download.osgeo.org/geos/geos-3.2.2.tar.bz2
bunzip2 geos-3.2.2.tar.bz2
tar xvf geos-3.2.2.tar
cd geos-3.2.2
./configure
make &amp;amp;&amp;amp; sudo checkinstall --pkgname geos --pkgversion 3.2.2-src --default

# install proj
cd ../
wget http://download.osgeo.org/proj/proj-4.7.0.tar.gz
tar xvfz proj-4.7.0.tar.gz
cd proj-4.7.0
./configure
make &amp;amp;&amp;amp; sudo checkinstall --pkgname proj4 --pkgversion 4.70-src --default
cd ../

# install postgis as a package for easier removal if needed
wget http://postgis.refractions.net/download/postgis-1.5.2.tar.gz
tar xvfz postgis-1.5.2.tar.gz
cd postgis-1.5.2
./configure
make &amp;amp;&amp;amp; sudo checkinstall --pkgname postgis --pkgversion 1.5.2-src --default # remove with dpkg -r postgis
sudo /sbin/ldconfig

# config template_postgis
sudo -u postgres psql -c&amp;quot;ALTER user postgres WITH PASSWORD '$postgres_password'&amp;quot;
sudo -u postgres createdb $db_name
sudo -u postgres createlang -d$db_name plpgsql
sudo -u postgres psql -d$db_name -f /usr/share/postgresql/8.4/contrib/postgis-1.5/postgis.sql
sudo -u postgres psql -d$db_name -f /usr/share/postgresql/8.4/contrib/postgis-1.5/spatial_ref_sys.sql
sudo -u postgres psql -d$db_name -c&amp;quot;select postgis_lib_version();&amp;quot;

# osm
# install osm2pgsql
cd /tmp
sudo apt-get -y install subversion
sudo apt-get -y install autoconf
sudo apt-get -y install libbz2-dev
svn export http://svn.openstreetmap.org/applications/utils/export/osm2pgsql/
cd osm2pgsql
./autogen.sh
./configure
sed -i 's/-g -O2/-O2 -march=native -fomit-frame-pointer/' Makefile
make
sudo make install

# create osm database
# sudo -u postgres createdb -T template_postgis osm
&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-110883303380661844?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/110883303380661844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/12/build-out-script-for-postgrespostgis.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/110883303380661844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/110883303380661844'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/12/build-out-script-for-postgrespostgis.html' title='Build-out Script for Postgres/PostGIS with RAID 10 on Amazon EBS volumes'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-3658398995305237474</id><published>2010-12-29T13:56:00.002-06:00</published><updated>2010-12-30T21:54:21.616-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free tier'/><category scheme='http://www.blogger.com/atom/ns#' term='AMI'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='AWS'/><title type='text'>Recipe: Ubuntu Maverick 10.10 on the AWS Free Tier</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;I love free stuff, who doesn't? In grad school, I once found a fancy cake in a shopping cart in the grocery store parking lot. I brought it to our graduate seminar to share with my fellow grad students, who enjoyed it until I mentioned where the cake came from.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;I pretend to read the fine print, but in my excitement over free I usually fail to comprehend it. So it was for the &lt;a href="http://aws.amazon.com/free/"&gt;AWS free tier announcement&lt;/a&gt;. I excitedly spun up an Official Ubuntu AMI and went on my merry way setting up apps, thinking all the time how wonderful it was to have my very own server on the interwebs humming away for gratis. At the end of the month, I got a bill for $0.50. Huh, not free, so I read the fine print (again):&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;10 GB of Amazon Elastic Block Storage, plus 1 million I/Os, 1 GB of  snapshot storage, 10,000 snapshot Get Requests and 1,000 snapshot Put  Requests*&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Oops, the Official Unbuntu images have a 15GB root file system.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://ubuntu-smoser.blogspot.com/2010/11/using-ubunt-images-on-aws-free-tier.html"&gt;Scott Moser provided a recipe&lt;/a&gt; for making an AWS Ubuntu 10.10 AMI with a 10GB root file system. So I made a public AMI based on his recipe that y'all can use:&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial; line-height: 16px; white-space: nowrap;"&gt;ami-8548bfec&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: arial; line-height: 16px; white-space: nowrap;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: arial; line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; line-height: normal; white-space: normal;"&gt;&lt;b&gt;UPDATE 12/30/10:&lt;/b&gt;&amp;nbsp;Canonical released refreshed UEC images for 10.10 (Maverick Meerkat) with 8GB root EBS volumes that will run on the AWS free tier. The list of Amazon published AMIs is available&amp;nbsp;&lt;a href="http://uec-images.ubuntu.com/server/releases/maverick/release-20101225/"&gt;here&lt;/a&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/3812785271700903620-3658398995305237474?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/3658398995305237474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/12/recipe-ubuntu-maverick-1010-on-aws-free.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3658398995305237474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3658398995305237474'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/12/recipe-ubuntu-maverick-1010-on-aws-free.html' title='Recipe: Ubuntu Maverick 10.10 on the AWS Free Tier'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-1163579179439299729</id><published>2010-12-29T13:10:00.002-06:00</published><updated>2010-12-29T13:14:59.345-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Vincenty Distance'/><category scheme='http://www.blogger.com/atom/ns#' term='trigonometry'/><title type='text'>Trigonometric and Spatial functions for MySQL</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;MySQL function snippets for azimuth, perpendicular of the the azimuth, coordinates of a point given a bearing and a distance, and Vincenty Distance. These functions are for use at large scales, i.e. short distances.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Calculate the azimuth between two points (from &lt;a href="http://williams.best.vwh.net/avform.htm#Crs"&gt;Aviation Formulary V1.45&lt;/a&gt;):&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;DELIMITER //
DROP FUNCTION IF EXISTS azimuth//

CREATE FUNCTION azimuth(lng1 DOUBLE, lat1 DOUBLE, lng2 DOUBLE, lat2 DOUBLE)
RETURNS DOUBLE
    DETERMINISTIC
BEGIN
   DECLARE az DOUBLE;
   DECLARE lat_rad1 DOUBLE;
   DECLARE lat_rad2 DOUBLE;
   DECLARE dLon DOUBLE;
   DECLARE var DOUBLE;

   SET var = lng1;

   SET lat_rad1 := RADIANS(lat1);
   SET lat_rad2 := RADIANS(lat2);
   SET dlon := RADIANS(lng2-lng1);
   SET az := atan2( 
                 sin(dLon)*cos(lat_rad2),
                 (cos(lat_rad1)*sin(lat_rad2)) - (sin(lat_rad1)*cos(lat_rad2)*cos(dLon))
                );
   SET az := (DEGREES(az) + 360) % 360;
   RETURN az;
END//
DELIMITER ;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Calculate perpendicular bearing of an azimuth (note: MySQL was not correctly calculating values for 90° and 270°, so I hard coded the correct values):&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;DELIMITER //
DROP FUNCTION IF EXISTS perpendicularBearing//
CREATE FUNCTION perpendicularBearing(azimuth DOUBLE, side VARCHAR(5))
RETURNS DOUBLE
BEGIN
   DECLARE perp_az DOUBLE;

   SET perp_az = DEGREES(atan(1/tan(RADIANS(azimuth))*-1));
   IF side = "left" THEN
      SET perp_az = 180 + (180 -(180 - perp_az));
   END IF;
   IF azimuth = 90 THEN
      SET perp_az = 0;
   END IF;
   IF azimuth = 270 THEN
      SET perp_az = 0;
   END IF;
   IF azimuth = -90 THEN
      SET perp_az = 0;
   END IF;
   IF azimuth = -270 THEN
      SET perp_az = 0;
   END IF;
   RETURN perp_az;
END//
DELIMITER ;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Calculate the coordinates of a point given a start point, an azimuth, and a distance in feet (from &lt;a href="http://williams.best.vwh.net/avform.htm#LL"&gt;Aviation Formulary V1.45&lt;/a&gt;):&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;DELIMITER //
DROP FUNCTION IF EXISTS destinationPoint//
CREATE FUNCTIOn destinationPoint(azimuth DOUBLE, distance DOUBLE, lat DOUBLE, lng DOUBLE)
RETURNS Point
   
BEGIN
   DECLARE az_rad DOUBLE;
   DECLARE lat_rad DOUBLE;
   DECLARE lng_rad DOUBLE;
   DECLARE dist_km DOUBLE;
   DECLARE dist_rad DOUBLE;
   DECLARE lat_dest DOUBLE;
   DECLARE lng_dest DOUBLE;
   DECLARE dest_point Point;  
 
   SET dist_km = distance * 0.0003048;
   SET dist_rad = dist_km/6371;
   SET lat_rad = RADIANS(lat);
   SET lng_rad = RADIANS(lng);
   SET az_rad = RADIANS(azimuth);
   
   SET lat_dest = asin(sin(lat_rad)*cos(dist_rad) + 
                      cos(lat_rad)*sin(dist_rad)*cos(az_rad) );
   SET lng_dest = lng_rad + atan2(sin(az_rad)*sin(dist_rad)*cos(lat_rad), 
                             cos(dist_rad)-sin(lat_rad)*sin(lat_rad));
   SET lng_dest = (lng_dest+3*pi())%(2*pi()) - pi();
   SET dest_point = Point(DEGREES(lng_dest),DEGREES(lat_dest));
   RETURN dest_point;
END//
DELIMITER ;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Finally, Vincenty Distance calculations from &lt;a href="http://forge.mysql.com/tools/tool.php?id=222"&gt;bramsi at forge.mysql.com&lt;/a&gt;:&lt;/span&gt;&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;DELIMITER ;;
DROP FUNCTION IF EXISTS `vd`;;

CREATE FUNCTION `vd`(lng1 DOUBLE, lat1 DOUBLE, lng2 DOUBLE, lat2 DOUBLE, metric VARCHAR(2)) RETURNS DOUBLE
    DETERMINISTIC
    COMMENT 'Vincenty Distance WGS-84 http://code.google.com/p/geopy/'
BEGIN
DECLARE gcdx DOUBLE;
DECLARE lng_rad1 DOUBLE;
DECLARE lat_rad1 DOUBLE;
DECLARE lng_rad2 DOUBLE;
DECLARE lat_rad2 DOUBLE;

DECLARE wgs84_major DOUBLE;
DECLARE wgs84_minor DOUBLE;
DECLARE wgs84_flattening DOUBLE;

DECLARE delta_lng DOUBLE;
DECLARE reduced_lat1 DOUBLE;
DECLARE reduced_lat2 DOUBLE;
DECLARE sin_reduced1 DOUBLE;
DECLARE cos_reduced1 DOUBLE;
DECLARE sin_reduced2 DOUBLE;
DECLARE cos_reduced2 DOUBLE;

DECLARE lambda_lng DOUBLE;
DECLARE lambda_prime DOUBLE;

DECLARE iter_limit INT;

DECLARE sin_lambda_lng DOUBLE;
DECLARE cos_lambda_lng DOUBLE;
DECLARE sin_sigma DOUBLE;
DECLARE cos_sigma DOUBLE;
DECLARE sigma DOUBLE;
DECLARE sin_alpha DOUBLE;
DECLARE cos_sq_alpha DOUBLE;
DECLARE cos2_sigma_m DOUBLE;
DECLARE C DOUBLE;
DECLARE u_sq DOUBLE;
DECLARE A DOUBLE;
DECLARE B DOUBLE;
DECLARE delta_sigma DOUBLE;

SET lng_rad1 := RADIANS(lng1);
SET lat_rad1 := RADIANS(lat1);
SET lng_rad2 := RADIANS(lng2);
SET lat_rad2 := RADIANS(lat2);

SET wgs84_major := 6378.137;
SET wgs84_minor := 6356.7523142;
SET wgs84_flattening := 1 / 298.257223563;

SET delta_lng := lng_rad2 - lng_rad1;

SET reduced_lat1 := atan((1 - wgs84_flattening) * tan(lat_rad1));
SET reduced_lat2 := atan((1 - wgs84_flattening) * tan(lat_rad2));

SET sin_reduced1 := sin(reduced_lat1);
SET cos_reduced1 := cos(reduced_lat1);
SET sin_reduced2 := sin(reduced_lat2);
SET cos_reduced2 := cos(reduced_lat2);

SET lambda_lng := delta_lng;
SET lambda_prime := 2 * pi();

SET iter_limit = 20;

WHILE abs(lambda_lng - lambda_prime) &amp;gt; pow(10, -11) and iter_limit &amp;gt; 0 DO
     SET sin_lambda_lng := sin(lambda_lng);
     SET cos_lambda_lng := cos(lambda_lng);

     SET sin_sigma := sqrt(pow((cos_reduced2 * sin_lambda_lng), 2) +
                      pow((cos_reduced1 * sin_reduced2 - sin_reduced1 *
                       cos_reduced2 * cos_lambda_lng), 2));

     IF sin_sigma = 0 THEN
        RETURN 0;
     END IF;

     SET cos_sigma := (sin_reduced1 * sin_reduced2 +
                         cos_reduced1 * cos_reduced2 * cos_lambda_lng);

     SET sigma := atan2(sin_sigma, cos_sigma);

     SET sin_alpha := cos_reduced1 * cos_reduced2 * sin_lambda_lng / sin_sigma;
     SET cos_sq_alpha := 1 - pow(sin_alpha, 2);

     IF cos_sq_alpha != 0 THEN
         SET cos2_sigma_m := cos_sigma - 2 * (sin_reduced1 * sin_reduced2 /
                                         cos_sq_alpha);
     ELSE
         SET cos2_sigma_m := 0.0;
     END IF;

     SET C := wgs84_flattening / 16.0 * cos_sq_alpha * (4 + wgs84_flattening * (4 - 3 * cos_sq_alpha));

     SET lambda_prime := lambda_lng;
     SET lambda_lng := (delta_lng + (1 - C) * wgs84_flattening * sin_alpha *
                   (sigma + C * sin_sigma *
                    (cos2_sigma_m + C * cos_sigma *
                     (-1 + 2 * pow(cos2_sigma_m, 2)))));
     SET iter_limit := iter_limit - 1;
END WHILE;

IF iter_limit = 0 THEN
    RETURN NULL;
END IF;

SET u_sq := cos_sq_alpha * (pow(wgs84_major, 2) - pow(wgs84_minor, 2)) / pow(wgs84_minor, 2);

SET A := 1 + u_sq / 16384.0 * (4096 + u_sq * (-768 + u_sq *
                                        (320 - 175 * u_sq)));

SET B := u_sq / 1024.0 * (256 + u_sq * (-128 + u_sq * (74 - 47 * u_sq)));

SET delta_sigma := (B * sin_sigma *
               (cos2_sigma_m + B / 4. *
                (cos_sigma * (-1 + 2 * pow(cos2_sigma_m, 2)) -
                 B / 6. * cos2_sigma_m * (-3 + 4 * pow(sin_sigma, 2)) *
                 (-3 + 4 * pow(cos2_sigma_m, 2)))));

SET gcdx := wgs84_minor * A * (sigma - delta_sigma);

IF metric = 'km' THEN
 RETURN gcdx;
ELSEIF metric = 'mi' THEN
 RETURN gcdx * 0.621371192;
ELSEIF metric = 'nm' THEN
 RETURN gcdx / 1.852;
ELSE
 RETURN gcdx;
END IF;
END;;

DELIMITER ;
&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-1163579179439299729?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/1163579179439299729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/12/trigonometric-and-spatial-functions-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1163579179439299729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1163579179439299729'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/12/trigonometric-and-spatial-functions-for.html' title='Trigonometric and Spatial functions for MySQL'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6031853971872274799</id><published>2010-11-21T10:53:00.000-06:00</published><updated>2010-11-21T10:53:17.069-06:00</updated><title type='text'>OSX Boonana Trojan</title><content type='html'>&lt;blockquote&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;"&gt;SecureMac has discovered a new trojan horse in the wild that affects Mac OS X, including Snow Leopard (OS X 10.6), the latest version of OS X. The trojan horse, trojan.osx.boonana.a, is spreading through social networking sites, including Facebook, disguised as a video. The trojan is currently appearing as a link in messages on social networking sites with the subject "Is this you in this video?" &lt;a href="http://www.securemac.com/boonana-bulletin.php"&gt;... more&lt;/a&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-6031853971872274799?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6031853971872274799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/11/osx-boonana-trojan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6031853971872274799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6031853971872274799'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/11/osx-boonana-trojan.html' title='OSX Boonana Trojan'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-5317151174197547884</id><published>2010-11-13T19:11:00.004-06:00</published><updated>2010-11-13T19:13:36.548-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><category scheme='http://www.blogger.com/atom/ns#' term='wave protocol summit'/><category scheme='http://www.blogger.com/atom/ns#' term='docs'/><category scheme='http://www.blogger.com/atom/ns#' term='wave'/><title type='text'>Wave Protocol Summit Videos and Documents</title><content type='html'>&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Pamela Fox uploaded and posted the videos from the Wave Protocol Summit in a wave. I've put the links here for convenience.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wave Summit Talks&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Links to Youtube videos and slides.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Day 1:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;WIAB system architecture (Alex North)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_386gn37nngv"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_386gn37nngv&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=pDPBnmRDkag"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=pDPBnmRDkag&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Robot and Data APIs (Lennard de Rijk)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_387fmpsrvd4"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_387fmpsrvd4&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=Vs4cfvh2Ghg"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=Vs4cfvh2Ghg&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Building, and running the code (Joseph Gentle)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://wave.google.com/wave/waveref/googlewave.com/w+d7Tkit8sA"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Talk: Setting up wave in a box&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wave model deep dive (Alex North)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_388kz759bff"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_388kz759bff&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Development practises (Lennard de Rijk)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_389cxmgvgfg"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_389cxmgvgfg&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=WpBrNUbB4sE"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=WpBrNUbB4sE&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wave Project Governance&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=dBwakZjE76M"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=dBwakZjE76M&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Day 2:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wave Server &amp;amp; Store&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_390d4665cfd"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_390d4665cfd&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=7dbDhmX2v6E"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=7dbDhmX2v6E&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wave Export Options&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_392d5v4rgc7"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_392d5v4rgc7&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=PKIHAIV_zPU"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=PKIHAIV_zPU&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Demo: Novell demo&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://socket.io/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;socket.io&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; (Tad Glines)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=X6lTwwzdR9o"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=X6lTwwzdR9o&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Client authentication (Joseph Gentle)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=xx0qbXC_uys"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=xx0qbXC_uys&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Local Gov't &amp;amp; Wave (James Purser)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=0AZFPDiThSCjmZG50ZnZuNl84OWdwd3JrNGQ2"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=0AZFPDiThSCjmZG50ZnZuNl84OWdwd3JrNGQ2&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=AHG21gGWgms"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=AHG21gGWgms&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Oracle (Grant Emeny-Smith)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Outlook (Matt T)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=qvv-YlYcnAE"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=qvv-YlYcnAE&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Federation protocol (Soren Lassen)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_393hhvjstfw"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_393hhvjstfw&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=z1VBdU38zlk"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=z1VBdU38zlk&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Authentication performance (Scott Crosby)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wave panel and rendering (Dave Hearnden)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_394dgzq4kfh"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_394dgzq4kfh&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=76lmWFgnsgk"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=76lmWFgnsgk&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Day 3:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Concurrent Data &amp;amp; OT Alternatives&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_395fh6mckfb"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_395fh6mckfb&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_401jmxbs2dg"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_401jmxbs2dg&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=zo8uGlqQaCo"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=zo8uGlqQaCo&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Client/server protocol (Alex North)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_396d4qmhmgp"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_396d4qmhmgp&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=LOdOweJzqlM"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=LOdOweJzqlM&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Real-time editor &amp;amp; Doodads (Dave Hearnden)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_397f4m5hhg7"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_397f4m5hhg7&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="https://docs.google.com/present/view?id=dggjrx3s_398cms8qgc7"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;https://docs.google.com/present/view?id=dggjrx3s_398cms8qgc7&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.youtube.com/watch?v=EuXApEulIzc"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/watch?v=EuXApEulIzc&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Demo: &lt;/span&gt;&lt;a href="http://Wave-VS.net/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wave-VS.net&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wave API Future (Pamela Fox)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://prezi.com/nhuvwmwsv0nj/wave-apis-now-beyond/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://prezi.com/nhuvwmwsv0nj/wave-apis-now-beyond/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&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/3812785271700903620-5317151174197547884?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/5317151174197547884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/11/wave-protocol-summit-videos-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/5317151174197547884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/5317151174197547884'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/11/wave-protocol-summit-videos-and.html' title='Wave Protocol Summit Videos and Documents'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-190868331322231945</id><published>2010-11-11T07:55:00.002-06:00</published><updated>2010-11-11T07:56:38.382-06:00</updated><title type='text'>Movie looping in the iPad</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;None of the movie players currently available for the iPad (the iPad Videos app, VLC, CineXPlayer) will loop a movie continuously. A quick search suggested playing the movie in the browser using a bit of HTML5.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;
  &amp;lt;head&amp;gt;
      &amp;lt;title&amp;gt;Parrot AR Drone&amp;lt;/title&amp;gt;
    &amp;lt;/script&amp;gt;

  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    
&amp;lt;video src="http://mydomain.com/mymovie.mp4" width="576" height="576" controls="controls" autoplay="autoplay" loop = "loop" qtnext1="goto0" controller="false" kioskmode="true"&amp;gt;&amp;lt;/video&amp;gt;

  &amp;lt;/body&amp;gt;

&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Note that this won't work for flash movies.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: Times; white-space: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-190868331322231945?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/190868331322231945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/11/movie-looping-in-ipad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/190868331322231945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/190868331322231945'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/11/movie-looping-in-ipad.html' title='Movie looping in the iPad'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-2316093591527859979</id><published>2010-10-30T10:53:00.002-05:00</published><updated>2010-10-30T11:34:36.185-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Texas GIS Forum'/><category scheme='http://www.blogger.com/atom/ns#' term='gis'/><title type='text'>Texas GIS Forum 2010</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I've never been fond of regional GIS conferences because they seemed set up to sing the praises of the sales team of that GIS vendor whose name I dare not speak because of the Voldemort rule. &amp;nbsp;In full disclosure, I haven't been to a regional GIS conference in six to eight years — when I was howling in the wilderness about "web services" and hearing crickets in the background.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I attended the Texas GIS Forum and had my rather jaded view of regional GIS conferences rearranged. I've always loved presentations about how people are using GIS and spatial technologies to solve problems. Listening to people talk about how they apply their domain knowledge and using or creating tools is the most enjoyable part of conferences for me. However, I've always preferred presentations where people create tools or creatively use tools with a bit of side-ways thinking, over presentations where they use only the vendor provided toolset. &amp;nbsp;It's not that there isn't a lot of creative problem solving going on with single vendor solutions, but when people start using an assortment of tools I usually learn something new to add to my own toolbox. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;A summary bullet point from a presentation seemed to me the main lesson of the conference:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"Don't be afraid to mix technology in your GIS/Web stack"&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;When I saw that, I knew I was at the right place. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.storymusgrave.com/biography_biographies_single_page.htm"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Story Musgrave&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;gave an fascinating keynote that wove together elements of his life starting from growing up on the farm, working as an aircraft mechanic during the Korean War, life as an astronaut at NASA, the 18 years he spent managing the Hubble Space Telescope project , and his current activities in the rotting business and teaching design&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;at A&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;rt Center College of Design in Pasadena, CA. Throughout the keynote he referenced the principles of simplicity and reliability in design, while gorgeous photos of his life were shown on the screen as examples. He graciously made his slides available to the audience. &lt;/span&gt;&lt;a href="http://dl.dropbox.com/u/6706687/GIS.pptx"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;They are available for download&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I did not attend as many sessions as I wanted (one day I would like to be at a conference with zero telecon responsibilities), but I made a few notes on some of the presentations that I did see.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;h4 style="font: normal normal normal 10px/normal Verdana, Arial, Helvetica, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Get the Results You Want, Mapping with KML&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;, &amp;nbsp;Michael Chamberlain of TxDOT TPP demoed an application that combined TxDOT's Linear Referencing System (LRS), javascript, and KML to produce an online &lt;/span&gt;&lt;a href="http://www.txdot.gov/apps/statewide_mapping/StatewidePlanningMap.html"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Statewide Planning Map&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Visualizing Recovery Act Funding: Lessons Learned from Development to Deployment by&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Jeremiah Akin, Texas State Comptroller's Office demonstrated an &lt;/span&gt;&lt;a href="http://www.window.state.tx.us/recovery/transparency/map/mobile/touch/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;mobile app &lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;that shows&amp;nbsp;of TARP funds in Texas suitable for a number of mobile clients such as iPhone and iPad.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Microsoft demoed the &lt;/span&gt;&lt;a href="http://www.microsoft.com/maps/isdk/ajax/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Bing Interactive SDK &lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;where you can change code and see the change in the brower.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;In Introduction to SQL Server Spatial and Capabilities&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; by RanJan Muttiah of iHydro Engineering was a great overview of SQL Server Spatial. I was struck by the adherence to OGC standards and how all the SQL shown would run in PostGIS unmodified. Also, major kudos to MicroSoft for adhering to EPSG codes instead of publishing their own version of WKT (Well Known Text), unlike other vendors (cough, Oracle; cough, that other GIS vendor).&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Bing Maps and SQL Server - Adding Data Awareness to GEMSS by&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;Richard Wade and Chris Williams of TNRIS demoed&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;a href="http://gemss.tnris.org/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;GEMSS (Geographic Emergency Management Support System)&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; which is a home  grown SDI for Texas by TNRIS (Texas Natureal Resource Information  System). It currently acts as a searchable data archive but TNRIS is adding uploading of user data. Wade said that this was the future direction for data dessemination by TNRIS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/h4&gt;&lt;h4 style="font: normal normal normal 10px/normal Verdana, Arial, Helvetica, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;h4 style="font: normal normal normal 10px/normal Verdana, Arial, Helvetica, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;It was great conference and I hope to be back next year.&lt;/span&gt;&lt;/h4&gt;&lt;h4 style="font: normal normal normal 10px/normal Verdana, Arial, Helvetica, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;/h4&gt;&lt;/span&gt;&lt;/h4&gt;&lt;h4 style="font: normal normal normal 10px/normal Verdana, Arial, Helvetica, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h4&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-2316093591527859979?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/2316093591527859979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/10/texas-gis-forum-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/2316093591527859979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/2316093591527859979'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/10/texas-gis-forum-2010.html' title='Texas GIS Forum 2010'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-2724918572188470487</id><published>2010-10-30T04:44:00.005-05:00</published><updated>2010-10-30T06:11:19.556-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Jared Cohen'/><title type='text'>Jared Cohen at the World Affairs Council, October 4th, Houston, TX</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Times; font-size: medium; 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;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Audio of Jared Cohen's talk at the World Affairs Council on October 4th, 2010 in Houston, Texas.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;embed height="27" src="http://www.google.com/reader/ui/3523697345-audio-player.swf?audioUrl=http://dl.dropbox.com/u/6706687/jared-cohen_world-affairs-council-10042010.mp3" type="application/x-shockwave-flash" width="320" wmode="transparent"&gt;&lt;/embed&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Jared Cohen is the Director of Google Ideas, a&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.foreignpolicy.com/articles/2010/09/07/jared_cohen?page=full"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;think/do tank&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="font-family: Arial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&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="font-family: Arial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;* Recorded using Evernote, which only records 20 minute segments. Audio was spliced at ~18 minutes.&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/3812785271700903620-2724918572188470487?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='audio/mpeg' href='http://dl.dropbox.com/u/6706687/jared-cohen_world-affairs-council-10042010.mp3' length='0'/><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/2724918572188470487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/10/jared-cohen-at-world-affairs-council.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/2724918572188470487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/2724918572188470487'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/10/jared-cohen-at-world-affairs-council.html' title='Jared Cohen at the World Affairs Council, October 4th, Houston, TX'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-1988011664470290753</id><published>2010-10-06T20:45:00.033-05:00</published><updated>2010-10-07T09:14:27.082-05:00</updated><title type='text'>Obligatory xkcd Map of Online Communities in OpenLayers</title><content type='html'>&lt;script language="javascript"&gt;
  function reSize() { try{ var oBody = ifrm.document.body; var oFrame = document.all("ifrm"); oFrame.style.height = oBody.scrollHeight + (oBody.offsetHeight - oBody.clientHeight); oFrame.style.width = oBody.scrollWidth + (oBody.offsetWidth - oBody.clientWidth); } }  
&lt;/script&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://twitter.com/godwinsgo"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;@godwinsgo&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; egged me on, so here it is:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;iframe align="middle" frameborder="0" height="650" style="width:100%;" id="ifrm" name="ifrm"  src="http://locativemedia.org/xkcd.html" &gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Thanks to &lt;a href="http://berniejconnors/"&gt;Bernie Connors&lt;/a&gt; for alerting me to problems with the iFrame in Windows.&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/3812785271700903620-1988011664470290753?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/1988011664470290753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/10/obligatory-xkcd-map-of-online.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1988011664470290753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1988011664470290753'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/10/obligatory-xkcd-map-of-online.html' title='Obligatory xkcd Map of Online Communities in OpenLayers'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-870927412783735713</id><published>2010-10-05T08:32:00.000-05:00</published><updated>2010-10-05T08:32:58.874-05:00</updated><title type='text'>Hey Google, events have a time and a location</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Usually I whine, then post a solution; this one is all whine. Consider yourself warned. I use Google Calendar in my personal life because it's convenient and at work because we've bought into Google Apps. I travel frequently, which means I switch time zones. Life and work go on wherever I might be at the time. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The problem is that when I add events in Central Standard Time while I'm at work in Eastern Standard Time, Google Calendar assumes that the event is in EST. When I'm at home, Google notes that I've changed time zones and moves the event. This works if I do this only once, but since I make appointments months in advance and I jump across multiple time zones before the appointment, the time for the event shifts constantly. &amp;nbsp;Apparently, I'm not the only one with this &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.google.com/support/forum/p/Calendar/thread?tid=1f05577692e541c2&amp;amp;hl=en"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;problem&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The press have picked up on this issue. In a &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.pcworld.com/businesscenter/article/206338/is_google_calendar_timezone_challenged.html"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;PCWorld article&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: #1a1a1a; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I talked to GCal product manager Grace Kwak, who acknowledged users' need to be able to set time zones for individual events, and said that her team will soon add that capability to the calendar. “We are working on it right now, and it’s something we think is a great feature addition.”&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;However, I found Kwak's response as to why Google Calendar doesn't handle time zones less than satisfying:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: #1a1a1a; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;“Time zones are very complicated,” Kwak told me. “Google has one way of depicting time: We use a universal clock, so there’s like a universal time, and all the lines on the globe are in relation to that universal time.”&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Really? &amp;nbsp;I wonder if she had to Google that?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I wonder how Microsoft Outlook, Palm Calendar, and all those other calendar apps figured out this tricky time zone stuff years ago.&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/3812785271700903620-870927412783735713?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/870927412783735713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/10/hey-google-events-have-time-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/870927412783735713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/870927412783735713'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/10/hey-google-events-have-time-and.html' title='Hey Google, events have a time and a location'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-8758643147821396223</id><published>2010-09-26T16:23:00.003-05:00</published><updated>2010-09-26T16:27:33.411-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Huffduffer'/><category scheme='http://www.blogger.com/atom/ns#' term='tl;dr'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='Instapaper'/><title type='text'>Overcoming tl;dr on the iPad</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;tl;dr is defined by Encyclopedia Dramatica as &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;too long; didn't read&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;; if the meaning isn't obvious, just read the &lt;/span&gt;&lt;a href="http://encyclopediadramatica.com/TL;DR"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;article&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. Shockingly, there are number of books and articles that I have either lied about reading or given a vague nod to indicate that I have read it repeatedly and have written copious notes in the gloss, while the reality is that I tossed the book out of a moving car. For example:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;img border="0" height="320" src="http://images.encyclopediadramatica.com/images/thumb/5/52/Ayn_rand_tldr.jpg/352px-Ayn_rand_tldr.jpg" style="margin-left: auto; margin-right: auto;" width="188" /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://encyclopediadramatica.com/File:Ayn_rand_tldr.jpg&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I find many things on the web and in my twitter stream that I would like to read, but just don't have time at the moment or I find that the the writing style detracts so much from the content that I need more time to focus on the material. Book marking has never worked for me because I lack the discipline that it takes to maintain a tidy and organized bookmarking schema. Furthermore, bookmarks are merely pointers to the article and not the text itself (which is why I think geospatial data catalogs based on metadata are stupid, but I digress).&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Enter &lt;/span&gt;&lt;a href="http://www.instapaper.com/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Instapaper&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;, which describes itself as "a simple tool to save&amp;nbsp;web pages for reading later." Instapaper works in the browser, but it also works on the iPad and the Kindle, which means that I always have access to the articles (if I remember to sync Instapaper on the iPad). This ensures that I have plenty of reading material even at 30,000 feet. Instapaper is easy to use and you can install a scriptlet called the &lt;/span&gt;&lt;a href="http://www.instapaper.com/extras"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Read Later bookmarklet&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; on your browser that saves the web page. Installing the bookmarklet on Safari on the iPad is a little more involved, but the process is documented &lt;/span&gt;&lt;a href="http://www.instapaper.com/i__?Paste_here_and_replace_this"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. &amp;nbsp;The other really great thing about Instapaper is that the bookmarklet function (i.e. Read Later) is &lt;/span&gt;&lt;a href="http://www.instapaper.com/extras"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;integrated in many other applications&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; such as RSS readers and twitter clients. That means you never have to leave your current stream of work to throw another article on the pile.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The one short coming is that Instapaper does not support pdfs which academic journals and research white papers seem to favor. Fortunately, iBooks recently added pdf support. I add pdfs to my book archive by downloading them to the Automatically Add to iTunes directory (/Users/&lt;/span&gt;&lt;username&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;/Music/iTunes/iTunes Media/Automatically Add to iTunes/); which, as the folder name says, adds the pdfs to iTunes. &amp;nbsp;When I sync the iPad with iTunes, all the pdfs are transferred to the iPad.&lt;/span&gt;&lt;/username&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;username&gt;&lt;/username&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;RSS feeds, like bookmarking, do not work for me because they are essentially all you can eat buffets of links that lack curation. I can't be bothered to sift through all of that. This is true of especially podcasts, where they encourage users to subscribe to a stream. Typically, I just want to listen to a podcast or an audio file.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://huffduffer.com/"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Huffduffer&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;is like Instapaper, but it bookmarks audio files using a bookmarklet called&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://huffduffer.com/about"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Huffduff it&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;.&amp;nbsp;&amp;nbsp;Huffduffer creates an RSS feed of the audio which can be added to iTunes so you have your own curated Podcast channel.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&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;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Finally, Youtube also has a lots of content where the&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.youtube.com/watch?v=lCmyl7XitHg"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;video isn't terribly important&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;and an mp3 works just as well.&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.downloadhelper.net/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Download Helper&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;is a a&amp;nbsp;&lt;/span&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/3006/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Firefox extension&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;that can download video and&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;convert&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;it to other formats such as mp3.&amp;nbsp;&amp;nbsp;Using Downloader Helper's preferences menu, I set the download directory to the&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Automatically Add to iTunes directory&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;so it's added to iTunes and loaded when the iPad is synched.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;div style="font-family: Arial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&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="font-family: Arial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Thanks to&amp;nbsp;&lt;/span&gt;&lt;a href="http://programmerjoe.com/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Joel Ludwig&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;(@joeludwig) for the twitter exchange that prompted this post.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&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/3812785271700903620-8758643147821396223?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/8758643147821396223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/09/overcoming-tldr-on-ipad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/8758643147821396223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/8758643147821396223'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/09/overcoming-tldr-on-ipad.html' title='Overcoming tl;dr on the iPad'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6034111463020206144</id><published>2010-09-10T07:12:00.002-05:00</published><updated>2010-09-10T08:39:10.848-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='AWS'/><title type='text'>What's your excuse?</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Seriously, what reason do you have for not deploying a map server? Take your pick of the open source map servers or even a commercial one. The cost of deploying a map server on the Internet is $5.12/month for 100% usage on Amazon Web Services.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;There's a one time charge for a 1 year ($54) or 3 year ($82) reserved instance on an EBS boot (read you won't lose your work if you terminate the instance). &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;If you want to host a low bandwidth map server for testing, learning, or just because you have cool data to share via maps, a micro instance costs $5.12, as the &lt;/span&gt;&lt;a href="http://calculator.s3.amazonaws.com/calc5.html"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Amazon Simple Monthly calculator&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; shows:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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 class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_pYE2kH0wQFY/TIogPO9wbTI/AAAAAAAAAb0/gFLeAyQurDI/s1600/Screen+shot+2010-09-10+at+2.08.06+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;img border="0" height="308" src="http://1.bp.blogspot.com/_pYE2kH0wQFY/TIogPO9wbTI/AAAAAAAAAb0/gFLeAyQurDI/s640/Screen+shot+2010-09-10+at+2.08.06+PM.png" width="640" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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, sans-serif;"&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;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-6034111463020206144?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6034111463020206144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/09/whats-your-excuse.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6034111463020206144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6034111463020206144'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/09/whats-your-excuse.html' title='What&apos;s your excuse?'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pYE2kH0wQFY/TIogPO9wbTI/AAAAAAAAAb0/gFLeAyQurDI/s72-c/Screen+shot+2010-09-10+at+2.08.06+PM.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-1606213039028950648</id><published>2010-08-11T23:18:00.001-05:00</published><updated>2010-08-11T23:30:59.622-05:00</updated><title type='text'>Your information is somebody's asset</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The Electronic Frontier Foundation published an &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.eff.org/deeplinks/2010/08/publisher-former-partners-agree"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;article&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; about the disposition of assets belonging to the defunct XY.com/XY magazine that included the personal information of their&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;1,000,000+&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;former subscribers. The parties in the XY.com case reached and agreement to destroy all personally identifiable information as suggested by the FCC.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;In this instance, things ended well for the former XY.com customers. &amp;nbsp;However the law is unclear on how to handle corporate assets such as customer lists. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I recently received an email from &lt;/span&gt;&lt;/span&gt;&lt;a href="http://sivers.org/about"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Derek Sivers&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;, the founder and former CEO of CDBaby. I've bought CDs and mp3s through CDBaby in the past, so my information was part of CDBaby's corporate assets. What is interesting is that Derek Sivers contacted me a &lt;/span&gt;&lt;/span&gt;&lt;a href="http://sivers.org/done"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;couple of years after he sold CDBaby&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. Siver's email was a, "Hi, I wanted to tell you about my new projects." Definitely not creepy, and interesting enough for me to click through a couple of links. However, using a contact list from his former company seem incongruous. I wasn't the only one:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;@&lt;/span&gt;&lt;a href="http://twitter.com/sivers"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sivers&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; What's up with this email you sent out to old CDBaby members? Did you take a list of emails/purchases/credit cards when you left? &amp;nbsp;(&lt;/span&gt;&lt;a href="http://twitter.com/jonursenbach/status/19843714102"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;from Jon Ursenbach&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://twitter.com/sivers/status/19854139269"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Derek Sivers replied&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;@&lt;/span&gt;&lt;/span&gt;&lt;a class="tweet-url username" href="http://twitter.com/jonursenbach" rel="nofollow" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;jonursenbach&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;I got to keep my database of clients and customers for two years, yes. Many are good friends.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;His email also mentioned the last album I bought from CDBaby, so I'm fairly sure he has access to complete database. Thanks to the Internet Archive Wayback Machine I can check on the &lt;/span&gt;&lt;a href="http://web.archive.org/web/20070703202600/cdbaby.com/about"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;privacy policy around the time I bought my last album&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;from CDBaby.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh6.ggpht.com/_pYE2kH0wQFY/TGNqTgNUYgI/AAAAAAAAAbY/2D5ldzvlZus/Screen%20shot%202010-08-11%20at%2010.22.35%20PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;img border="0" height="393" src="http://lh6.ggpht.com/_pYE2kH0wQFY/TGNqTgNUYgI/AAAAAAAAAbY/2D5ldzvlZus/Screen%20shot%202010-08-11%20at%2010.22.35%20PM.png" width="640" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;So Derek Sivers is not another company, but when he sold the company he became an external party that had access to CDBaby's customer database. No being a lawyer, my best guess is that Siver's access to the customer database falls within the letter of the CDBaby's privacy policy. &amp;nbsp;Having sold a company, I'm well aware of the details and negotiations that go on during a sale. But having access to the customer database as a condition in the sale of a company strikes me as out of the ordinary.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I do believe that the email Sivers sent was genuinely part of a friendly hello, get in touch, soft marketing campaign. However, it was unexpected and makes me just that more leery of blanket privacy policies. CDBaby continues to have a similar &lt;/span&gt;&lt;a href="http://www.cdbaby.com/Privacy"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;privacy policy&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 20px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;We don’t give or sell your personal info to any other company - EVER! (Not even your email address!)&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Only the musicians whose music you purchase will know who you are. If you don't even want the musician to know who you are, you can easily change your customer account settings to remain anonymous&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;.&lt;/span&gt;&lt;/i&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;In contrast, Bandcamp (my current favorite place to buy music from independent musicians) has a very &lt;/span&gt;&lt;a href="http://bandcamp.com/privacy"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;detailed privacy policy&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; that specifies the conditions that determine how your personal information is shared, including the transfer of assets in the event of the sale of the company. The Bandcamp privacy policy is very clear that any information I provide becomes the property of Bandcamp. This isn't much comfort, but at least I know what I'm giving up.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&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/3812785271700903620-1606213039028950648?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/1606213039028950648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/08/your-information-is-somebodys-asset.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1606213039028950648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1606213039028950648'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/08/your-information-is-somebodys-asset.html' title='Your information is somebody&apos;s asset'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_pYE2kH0wQFY/TGNqTgNUYgI/AAAAAAAAAbY/2D5ldzvlZus/s72-c/Screen%20shot%202010-08-11%20at%2010.22.35%20PM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-8040702544683649790</id><published>2010-08-10T17:16:00.002-05:00</published><updated>2010-08-10T17:19:43.897-05:00</updated><title type='text'>Updating a T-Mobile myTouch to Froyo (Cyanogenmod-5)</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;During last week's geekgasm, I upgraded my T-Mobile myTouch to Froyo because I've lost all hope of T-Mobile providing an OTA Froyo upgrade. There are many sites that describe how to root an Android phone and the Cyanogen site has minimalist install instructions, so these are notes are for the process I muddled through. They are as much for me as for other folks.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;A couple of things before starting.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: small;"&gt;Back up your SD card or use another one, this process will wipe out all your data, photos, etc.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: small;"&gt;All the download links here are for an old style myTouch, not the one with the earphone jack on the top, or the myTouch Slide. The process is the same but you will have to find images for your phone.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: small;"&gt;There are points during the install where it seems nothing is happening or the install is locked up. My advice is to wait and don't be impatient and reboot. The boot cycle after loading a ROM can take quite a while.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: small;"&gt;As a convention, green text is a summary of what you are going to do and red text are steps I ignored.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Updating the myTouch to Cyanogenmod-5&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;Downgrade your myTouch to 1.5 to install a custom recovery image that can load a custom ROM.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;From &lt;/span&gt;&lt;/span&gt;&lt;a href="http://theunlockr.com/2010/04/26/how-to-root-the-htc-mytouch-3g/"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;theunlockr.com&lt;/span&gt;&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: Verdana, sans-serif;"&gt;:&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I. Downgrade to Cupcake&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;1. Download the Original SAPPIMG.nbh:&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://www.megaupload.com/?d=DQWW0Y9N" target="_blank"&gt;Original SAPPIMG.nbh&lt;/a&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;2. Plug the phone into your computer via USB. Select Mount by pulling  down on the notification bar at the top of the phone’s screen and  selecting the USB notification. You should now be able to access the sd  card in your phone on your computer.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;3. Now, put the .nbh file that you just downloaded on the root of the SD card (NOT in any folder, just on the sdcard itself).&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;4. Unplug the phone and turn it off.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;5. Turn on the phone by holding the Volume Down button and the End key until the &lt;/span&gt;&lt;a class="kLink" href="http://theunlockr.com/2010/04/26/how-to-root-the-htc-mytouch-3g/#" id="KonaLink1" style="position: static;" target="undefined"&gt;&lt;span style="position: static;"&gt;&lt;span class="kLink" style="position: relative;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;bootloader&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; screen comes up.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;6. Hit the End key to start the update. DO NOT INTERUPT THIS PROCESS.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;7. Once it is done, hit the trackball to restart the phone. You now are on the stock Cupcake firmware.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;II. Flash a Custom Recovery Image&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;1. On your phone, goto Settings &amp;gt; Applications and make sure Unknown source is checked ON&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;2. On your phone, goto Settings, SD card and phone storage, and click Unmount SD card.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;3. Then click Format SD card (it should automatically remount after this).&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;4. Plug the phone into the compuer via USB, then pull down the  notification bar and click on the SD card notification. Then click  mount.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;5. Download this APK and the recovery image and save it to your computer:&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;a href="http://www.megaupload.com/?d=8SP7PBLD" target="_blank"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FlashRec.apk&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;a href="http://www.megaupload.com/?d=YJNZ7YUF" target="_blank"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Amon Ra’s Recovery Image&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;6. Once they are saved to your computer, copy them both to your SD  card (do NOT put them inside any folders on the SD card, just put them  on the SD card itself).&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;7. Unplug the phone from the computer once they are downloaded to the SD card.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;8. Goto the Market and download Linda File Manager or any file manager program if you do not already have one.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;9. Open the file manager and goto SDCard and then find the FlashRec  apk file and click it. If asked tell it to use Package Installer to open  it. It should automatically install the apk.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;10. Open the FlashRec program and click on Backup Recovery Image and wait for it to finish.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;11. Once done, click on the empty text box in the FlashRec program and type:&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;/sdcard/recovery.img&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Then click on the Flash Custom RecoveryImage button and wait for it to finish.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;12. Turn off the phone and turn it on into Recovery mode by holding  down Home and Power to turn it on (keep holding until the recovery  screen comes up has a bunch of text on a black background). So long as  that screen comes up, LEAVE IT ON THAT SCREEN, you have done it correctly and can now go on to loading a ROM .&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;III. Partition Your Memory Card for Hero ROMs, Swap, and Apps2SD&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;1. With your phone STILL in recovery mode from the How To Root  procedure, click on Partition SD Card &amp;gt; Partition SD (this will erase  everything off of your memory card).&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;2. When it asks you, select 96mbs for Swap, 512mbs for ext2 and fat32 for the remainder&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;3. Once it is done partitioning the memory card, click on Partition SD Card &amp;gt; SD: ext2 to ext3&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;At this point you can load Cyanogenmod-5 (Froyo 2.1)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Once you have the custom recovery image loaded, you can load a basic rooted ROM such as the&amp;nbsp;Generic MyTouch ROM w/ Root – &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.megaupload.com/?d=QXIEZXS8" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Here&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="color: red;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Instructions from &lt;/span&gt;&lt;/span&gt;&lt;a href="http://forum.xda-developers.com/showthread.php?t=688262"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;forum.xda-developers.com&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="color: red;"&gt;:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;1. Root your device and install &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.koushikdutta.com/2010/02/clockwork-recovery-image.html" id="link_15" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Clockwork Recovery&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="color: red;"&gt; (ROM Manager on the market) or Amon_RA's recovery (&lt;/span&gt;&lt;/span&gt;&lt;a href="http://forum.xda-developers.com/showthread.php?t=566669" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Dream&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="color: red;"&gt; / &lt;/span&gt;&lt;/span&gt;&lt;a href="http://forum.xda-developers.com/showthread.php?t=530492" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Magic&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="color: red;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;2. Do a Nandroid backup!&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;3. &lt;/span&gt;&lt;/span&gt;&lt;a href="http://wiki.cyanogenmod.com/index.php/DangerSPL" id="link_16" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Install the DangerSPL&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="color: red;"&gt; if you don't already have it&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;* NOTE:&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;I skipped the steps in red because the myTouch was already wiped from the downgrade to Cupcake 1.5, so I didn't see much point in doing a back up. Using the custom recovery image I loaded the Cyanogenmod-5 ROM directly.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;download &lt;/span&gt;&lt;a href="http://cyanogen-updater.googlecode.c...-DS-signed.zip/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Cyanogenmod-5&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;(don't unzip)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;if you want the google apps (who doesn't?), download the &lt;/span&gt;&lt;a href="http://kanged.net/mirror/download.php?file=gapps-ds-ERE36B-signed.zip"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;google apps image&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;(don't unzip)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;copy the files to the root of the sdcard by plugging the myTouch into the USB port and selecting USB-MS Toggle in the Recovery mode menu&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;4. select WIPE in the Recovery mode menu &lt;wipe data="" factory="" reset=""&gt;&lt;/wipe&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;5. Install the ROM from the zip file &lt;apply and="" from="" sd="" zip=""&gt;&lt;/apply&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;6. Optionally install the Google Addon if you want Google Applications like Gmail and Market&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;Feeling more adventurous?&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;Try a &lt;a href="http://mirror.kanged.net/cm/nightly/dream_sapphire/"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;nightly Cyanogen build&lt;/span&gt;&lt;/a&gt;, I'm running one and it's been very stable. You can also install Clockwork Recovery, which is a&amp;nbsp;recovery image with a user friendly front end. Makes loading ROMs much easier.&lt;/blockquote&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-8040702544683649790?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/8040702544683649790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/08/updating-t-mobile-mytouch-to-froyo.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/8040702544683649790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/8040702544683649790'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/08/updating-t-mobile-mytouch-to-froyo.html' title='Updating a T-Mobile myTouch to Froyo (Cyanogenmod-5)'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6418063279291439578</id><published>2010-07-26T21:08:00.002-05:00</published><updated>2010-07-26T21:11:35.226-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='location privacy'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='social media'/><category scheme='http://www.blogger.com/atom/ns#' term='conferences'/><title type='text'>Why location privacy matters</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I attended The Next HOPE, the 8th installment of the Hackers on Planet Earth conference, last weekend. I've attended "hacker" conferences over the past decade and I've rarely seen &amp;nbsp;location or geo content with the exception of the war driving contests in the early '00s. I was excited that HOPE had a number of geo related sessions ranging from location privacy to hacking your GPS.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ben Jackson from Mayhemic Labs presented &lt;a href="http://www.mayhemiclabs.com/files/Locational%20Privacy%20and%20Wholesale%20Surveillance.pdf"&gt;Locational Privacy and Wholesale Surveillance via Photo Services&lt;/a&gt;. Jackson sampled 2.5 million photo links posted to Twitter, Twitpic, YFrog and Sexypeek and retrieved latitude and longitude from the EXIF metadata from 65,000 photos. His message was that users are leaking location information, often with knowing it. To publicize his findings, Jackson established &lt;a href="http://ICanStalkYou.com/"&gt;ICanStalkYou.com&lt;/a&gt;&amp;nbsp;to let users know that they could be easily located.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;In a similar vein, Paul Vet presented &lt;a href="http://640k.ca/wp/wp-content/uploads/2010/07/paul-vet-geotagging-hope.pdf"&gt;Geotagging: Opting-in to Total Surveillance&lt;/a&gt;&amp;nbsp;(&lt;a href="http://hattorrents.com/torrents/The%20Next%20HOPE%20%282010%29%20-%20Geo-Tagging%20-%20Opting-In%20to%20Total%20Surveillance.m4v.torrent"&gt;video available&lt;/a&gt;). His tag line, "One geotag is anecdote, many geotags are data," summarizes his position that information about a person's location (home, work, entertainment) and habits (timing) can be derived from mining their twitter stream. Like Jackson, extracting tweets with key words such as bed, home, TV and extracting the location data could be used to build a profile of a person's home, place of work, and their habits. Even tweets from friends, such as "Playing XBox with @username" adds additional information. Vet used a clustering algorithm to further refine individual coordinates in probable locations.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I also followed the &lt;a href="http://geoloco.tv/"&gt;GeoLoco conference&lt;/a&gt; via Twitter. Panelists in the &lt;a href="http://www.atelier-us.com/events-and-conferences/article/geoloco-2010-the-future-of-geo-location-part-one?p=1835?XTOR=RSS-13"&gt;Future of Geo-Location Panel responded to predictions&lt;/a&gt; collected by Dr. Phil Hendrix, the moderator. Here are two predictions that impact location privacy:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;div style="line-height: 17px;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;2. Location-awareness will be integral to any mobile app.&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="line-height: 17px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The panelists mainly agreed with this statement, with the observation that not all mobile apps will need LBS.&lt;br /&gt;
“For me, this is obvious,” Eisnor said. “With increase in precision, we’re moving towards an ecosystem of location-aware devices.”&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 17px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;“We’re going to have way too many devices in 2014; we will need to know where they are,” said GigaOM’s Liz Gannes.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;4. Virtually all user-generated content will be geo-tagged.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;In Ron’s words, “That’s already happening today,” but some of the panelists had reservations about a totally geo-tagged world.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;“We’re going to find situations where location-sharing can be very weird,” Scoble said, noting that a recent deal between Rackspace and NASA could have been discovered before it was announced if observers had been tracking both organization’s locations.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;“We’re getting to the point where journalists could know what the intelligence community does,” Liebhold said.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="color: #353535; font-family: Arial, Helvetica, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The attitude of conference attendees (via Twitter) towards location privacy seemed to take a back seat to the business of monetizing location, despite the possibility that location privacy issues could make or break a company.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #353535; font-family: Arial, Helvetica, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Verdana, sans-serif;"&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;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Another week, another hacker conference. This time &lt;a href="http://www.blackhat.com/html/bh-us-10/bh-us-10-speaker_bios.html#Ryan"&gt;Thomas Ryan&lt;/a&gt; will be presenting&amp;nbsp;&lt;a href="http://www.blackhat.com/html/bh-us-10/bh-us-10-briefings.html#"&gt;Getting in Bed with Robin Sage&lt;/a&gt;; which describes his exercise of creating a fake twenty-something year old woman who worked for Naval Network Warfare Command. Robin Sage was able to collect 300 connections on LinkedIn, 110 Facebook friends, and 141 Twitter followers. Robin Sage was able to view photos with location information from Afghanistan and Iraq in Facebook and Twitter. Sage even received job offers and dinner invitations. More information about Robin Sage is available from &lt;a href="http://www.darkreading.com/shared/printableArticle.jhtml?articleID=225702468"&gt;darkreading.com&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;While the US ponders the release of (six month to years old) information from WikiLeaks. It is worth noting that we might want be looking at social media when it comes to releases of information that endanger operational security in the present day.&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/3812785271700903620-6418063279291439578?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6418063279291439578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/07/why-location-privacy-matters.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6418063279291439578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6418063279291439578'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/07/why-location-privacy-matters.html' title='Why location privacy matters'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-2907332359651228254</id><published>2010-07-24T12:19:00.000-05:00</published><updated>2010-07-24T12:19:31.590-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dell Mini 9'/><category scheme='http://www.blogger.com/atom/ns#' term='bricked'/><category scheme='http://www.blogger.com/atom/ns#' term='unrecognized battery'/><category scheme='http://www.blogger.com/atom/ns#' term='BIOS update'/><title type='text'>Fixing a bricked Dell Mini 9</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The Dell Mini 9 has been sitting on the corner of my desk for several months now, unloved and more importantly uncharged. I'm going on vacation soon and I wanted to bring it along for casual coding instead of &amp;nbsp;my work notebook. I fired it up with a very dead battery and the Dell Mini failed to recognize the battery - ugly orange LED blinking at me.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;What to do? Forums suggested resetting the bios by unplugging and unplugging the CMOS battery. That didn't work, despite the fifteen minutes I spent unscrewing the 25 or so screws that hold the Dell Mini together.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;More searching led to flashing the BIOS to make it recognize the battery. Dell only provides a Windows executable for BIOS upgrades (too bad for you cheap bastard, you bought a Mini with Linux), but the enterprising users at Dell Mini Forums packaged a image with DOS and the BIOS flasher that runs on a USB stick. The package and instructions can be found on the &lt;a href="http://www.mydellmini.com/forum/mac-os-x-guides/5621-howto-upgrade-your-bios-os-x.html"&gt;Dell Mini Forums.&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The BIOS flasher checks to see if the both the battery and power supply are plugged; if neither one is plugged in, then it exits. Since the battery was unrecognized, the BIOS flasher exited. This is where it the fun begins. &amp;nbsp;You can make the BIOS flasher ignore the power supply and battery checks by running the BIOS flasher with a /forceit option.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The first time I ran the BIOS flasher, it worked correctly. However, the battery was still unrecognized. I'm a great believer in the maxim, "If it jams, force it. If it breaks, well it wasn't working anyways." So yes, I ran the BIOS flasher a second time, and this time the screen went blank and the Dell Mini would not reboot, despite my frantic poking at the on button.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Fortunately, there are many people much smarter than me who are willing to share their smarts. Instructions for recovering a bricked Dell Mini 9 are available at &lt;a href="http://www.fosk.it/dell-mini-9-usb-pendrive-recovery-from-failed-bios-flash.html"&gt;fosk.it&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Sometimes no amount of voodoo and vulcan nerve pinches can recover a thrashed computer, so it seems the only solution is to buy a new battery.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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/3812785271700903620-2907332359651228254?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/2907332359651228254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/07/fixing-bricked-dell-mini-9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/2907332359651228254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/2907332359651228254'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/07/fixing-bricked-dell-mini-9.html' title='Fixing a bricked Dell Mini 9'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-1331401227439659084</id><published>2010-07-07T00:31:00.000-05:00</published><updated>2010-07-07T00:31:56.210-05:00</updated><title type='text'>2010 Nominations for Sol Katz Award for Geospatial Free and Open Source Software</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;It's that time of year again, nominations for the Sol Katz Award for GFOSS are open. I am honored to serve on the selection committee and I dug up my&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;notes introducing Sol Katz's legacy at the 2005 MapServer MUM3/EOGEO User Conference (intro by Sol's daughter Shanna):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Sol Katz was born in Sweden and emigrated to the United States at the age of one. He was a US Air Force veteran and earned Masters degrees in Geology and Computer Science. Sol was employed but the Bureau of Land Management in Denver. Sol passed away in 1999 from Non-Hodgkin's Lymphoma and he is survived by his wife Heidi and daughters Shanna and Risa.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Sol was an early pioneer of geospatial open source software. His contributions to FOSS include:&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;a key developer of MOSS (Map Overlay and Statistical System) on Data Generals and later, releasing and maintaining PC MOSS&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;release binaries and source for DEM and SDTS translators&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;reverse engineering the ESRI e00 exchange format and publishing the format&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;maintaining a website with links to web mapping and metadata that provided an invaluable resource to implementors&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;being an active participant on multiple list-servs guiding and mentoring GIS newbies such as me&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Sol's contributions help build the nascent open source geospatial community which was a precursor to the many geospatial open source projects and communities of today. The Sol Katz Award for Geospatial Free and Open Source Software commemorates Sol's pioneering efforts.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Nominations for the Sol Katz Award should be sent to &lt;/span&gt;&lt;/span&gt;&lt;a href="http://lists.osgeo.org/mailman/listinfo/discuss"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;SolKatzAward at osgeo.org&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; with a brief supporting statement for the nomination. Nominations will be accepted until &lt;a href="ttp://www.timeanddate.com/worldclock/fixedtime.html?month=8&amp;amp;day=20&amp;amp;year=2010&amp;amp;hour=23&amp;amp;min=59&amp;amp;sec=59"&gt;23:59 UTC on August 20th&lt;/a&gt;. The OSGeo announcement with more details can be found &lt;a href="http://lists.osgeo.org/pipermail/discuss/2010-July/007444.html"&gt;here&lt;/a&gt;.&lt;/span&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/3812785271700903620-1331401227439659084?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/1331401227439659084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/07/2010-nominations-for-sol-katz-award-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1331401227439659084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1331401227439659084'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/07/2010-nominations-for-sol-katz-award-for.html' title='2010 Nominations for Sol Katz Award for Geospatial Free and Open Source Software'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-453066693260829096</id><published>2010-06-06T17:25:00.002-05:00</published><updated>2010-06-06T17:26:11.541-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='Augmented Reality'/><title type='text'>The map fades</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;At Wherecamp 2010, I twittered, "as we extend our senses with sensors the map fades." The idea that maps will eventually become obsolete and affectations for future descendants of steampunk aficionados has been difficult to let go. Mike Liebhold started the idea by asking the question, "is 1:1 scale mapping a reasonable idea" on the &lt;/span&gt;&lt;a href="http://www.mail-archive.com/geowanking@geowanking.org/msg01260.html"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;geowanking list&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. This touched off a thread that included David Asbury's response containing a link to quotes that touch on the &lt;/span&gt;&lt;a href="http://3stages.org/c/gq.cgi?first=QAMAP"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;various facets of the 1:1 map&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. Quotes from the comedian Steven Wright and writers Jorge Luis Borges and Lewis Carroll highlight the absurdity of such a map; and respondents to the question cited information overload would make such a map impractical.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The answer is simple, there is no map. It's gone. Moving freely through the world without resorting to abstractions of location places a large cognitive burden. &amp;nbsp;Studies of societies steeped in wayfinding have shown that they have developed acute abilities to distinguish environmental clues and extract meaningful information. &amp;nbsp;What if you no longer need years of experience to develop wayfinding cognitive abilities?&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;object height="225" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11870382&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=11870382&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225" volume="silent"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;a href="http://vimeo.com/11870382"&gt;Wikitude Drive - Test Drivers Wanted&lt;/a&gt; from &lt;a href="http://vimeo.com/user2410256"&gt;Wikitude&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-453066693260829096?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/453066693260829096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/06/map-fades.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/453066693260829096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/453066693260829096'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/06/map-fades.html' title='The map fades'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-4795566886025725354</id><published>2010-05-28T21:48:00.000-05:00</published><updated>2010-05-28T21:48:05.645-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='locative media'/><category scheme='http://www.blogger.com/atom/ns#' term='Augmented Reality'/><title type='text'>Locative Media: A New Augmented Reality Blog</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Yep, just like we all need a hole in the head, I'm starting an augmented reality blog. The augmented reality stuff doesn't really fit; well nothing really fits in this curmudgeonly hodgepodge of technology, geospatial, and occasional cello posts.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I've been hoarding the locativemedia.org domain for years, so it's time to put it to good use. &amp;nbsp;With out further ado: &lt;/span&gt;&lt;a href="http://www.locativemedia.org/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Locatively&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-4795566886025725354?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/4795566886025725354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/05/locative-media-new-augmented-reality.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/4795566886025725354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/4795566886025725354'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/05/locative-media-new-augmented-reality.html' title='Locative Media: A New Augmented Reality Blog'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-4884519310341145196</id><published>2010-05-22T19:08:00.001-05:00</published><updated>2010-05-22T19:08:55.023-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTC EVO 4G'/><category scheme='http://www.blogger.com/atom/ns#' term='unboxing'/><title type='text'>HTC EVO 4G Unboxing</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Sprint and Google generously gave attendees of of Google I/O 2010 a HTC EVO 4G smartphone.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;br /&gt;
&lt;a href="http://farm4.static.flickr.com/3339/4628877007_ba651c6749_m.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm4.static.flickr.com/3339/4628877007_ba651c6749_m.jpg" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;td&gt;&lt;a href="http://farm5.static.flickr.com/4061/4628877811_ff36b22649_m.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm5.static.flickr.com/4061/4628877811_ff36b22649_m.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;br /&gt;
&lt;a href="http://farm5.static.flickr.com/4071/4629479426_d8c19f35c0_m.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm5.static.flickr.com/4071/4629479426_d8c19f35c0_m.jpg" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;td&gt;&lt;a href="http://farm5.static.flickr.com/4009/4629481182_96d582f2a7_m.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm5.static.flickr.com/4009/4629481182_96d582f2a7_m.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;100% recyclable tofu style packaging and a 2GB SD card with 200 songs including &lt;/span&gt;&lt;a href="http://www.youtube.com/watch?v=lVYDA5ko940"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Blue Oyster Cult's Godzilla&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;br /&gt;
&lt;a href="http://farm5.static.flickr.com/4029/4628879693_55b905c08e_m.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm5.static.flickr.com/4029/4628879693_55b905c08e_m.jpg" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;td&gt;&lt;a href="http://farm5.static.flickr.com/4012/4629481426_236dbcdf83_m.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm5.static.flickr.com/4012/4629481426_236dbcdf83_m.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Phone and battery, nice touch with matching battery.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;br /&gt;
&lt;a href="http://farm4.static.flickr.com/3417/4628883317_54696e15da_m.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm4.static.flickr.com/3417/4628883317_54696e15da_m.jpg" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;td&gt;&lt;a href="http://farm5.static.flickr.com/4055/4629484202_befbb3c194_m.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm5.static.flickr.com/4055/4629484202_befbb3c194_m.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;
&lt;a href="hhttp://farm4.static.flickr.com/3372/4629484576_4a2c9afab6_m.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm4.static.flickr.com/3372/4629484576_4a2c9afab6_m.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Set up screens for Google location, email, and social media.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm5.static.flickr.com/4028/4628886611_7f6113fd06_b.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="426" src="http://farm5.static.flickr.com/4028/4628886611_7f6113fd06_b.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Size comparison of devices: &lt;a href="http://www.apple.com/ipad/specs/"&gt;iPad&lt;/a&gt;, &lt;a href="http://phandroid.com/2010/03/23/htc-evo-4g-specs-published-by-sprint/"&gt;HTC EVO G4&lt;/a&gt;, &lt;a href="http://www.motorola.com/Consumers/US-EN/Consumer-Product-and-Services/Mobile-Phones/ci.Motorola-DROID-US-EN.alt#"&gt;Motorola Droid&lt;/a&gt;, &lt;a href="http://www.apple.com/ipodtouch/specs.html"&gt;iPod Touch&lt;/a&gt;, &lt;a href="http://www.htc.com/us/products/t-mobile-mytouch-3g#tech-specs"&gt;HTC myTouch&lt;/a&gt;, &lt;a href="http://www.nokiausa.com/find-products/phones/nokia-2610/technical-specifications"&gt;Nokia 2610&lt;/a&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/3812785271700903620-4884519310341145196?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/4884519310341145196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/05/htc-evo-4g-unboxing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/4884519310341145196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/4884519310341145196'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/05/htc-evo-4g-unboxing.html' title='HTC EVO 4G Unboxing'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3339/4628877007_ba651c6749_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-2244135279028390096</id><published>2010-04-25T13:42:00.001-05:00</published><updated>2010-04-25T16:45:26.462-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dell Mini 9'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><title type='text'>Au revoir Dell Mini, bienvenue iPad</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;It's been mostly fun running OSX on the Dell Mini, but eventually I got tired of using an underpowered system for the type of work that I do. &amp;nbsp;No amount of tweaking could stop the system from crawling to a halt after several hours. Any and all browsers seemed to consume inordinate amounts of memory and sleep became a game of russian roulette that might require multiple safe boots to reset boot caches. &amp;nbsp;Compiling took lots of time and running the Android emulator was glacial. I took to dragging around my old 15" MacBook Pro to get things done, but this defeats the purpose of a lightweight travel machine.&amp;nbsp;It was a great experiment because I learned a lot about OSX even though I had been running it for three years before loading it on the Dell Mini.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The replacement(s) are a MacBook Pro with lots of RAM for running VMs (something the Dell could not do with it's N270 processor) and an iPad. &amp;nbsp;The MBP is a prosaic machine for doing prosaic things. The iPad does what the netbook is intended to do, except far more elegantly. It's a great media machine with an incredible battery life. It is indeed a great device for consuming media, but its also a good device for capturing media and placing it in your personal catalog of information. I use&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.evernote.com/"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Evernote&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;to grab web pages, images, pdfs, and to take notes. iPads are inherently social, I've shown the iPad to lots of people by handing it to them and letting the play with it, which is something you can't do with a notebook form factor. &amp;nbsp;Watching people interact with the iPad made me realize that it is the future UI for the&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Internet_of_Things"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;internet of things&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&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/3812785271700903620-2244135279028390096?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/2244135279028390096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/04/au-revoir-dell-mini.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/2244135279028390096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/2244135279028390096'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/04/au-revoir-dell-mini.html' title='Au revoir Dell Mini, bienvenue iPad'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-3633565263246169439</id><published>2010-03-31T13:25:00.000-05:00</published><updated>2010-03-31T13:25:18.225-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='where2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='AR Parrot Drone'/><title type='text'>AR Parrot Drone Demo at Where2.0 2010</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;A little techno-fetishism from Where2.0, the &lt;a href="http://ardrone.parrot.com/parrot-ar-drone/en"&gt;Parrot AR Drone&lt;/a&gt;. Experience &lt;a href="http://en.wikipedia.org/wiki/Mona_Lisa_Overdrive"&gt;William Gibson's future past&lt;/a&gt; for $1200.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm5.static.flickr.com/4024/4479068995_c3813986b9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://farm5.static.flickr.com/4024/4479068995_c3813986b9.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;More photos on &lt;a href="http://www.flickr.com/photos/sophiap/sets/72157623617958291/"&gt;Flickr&lt;/a&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/3812785271700903620-3633565263246169439?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/3633565263246169439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/03/ar-parrot-drone-demo-at-where20-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3633565263246169439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3633565263246169439'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/03/ar-parrot-drone-demo-at-where20-2010.html' title='AR Parrot Drone Demo at Where2.0 2010'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4024/4479068995_c3813986b9_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6113584121965427963</id><published>2010-03-29T06:33:00.004-05:00</published><updated>2010-03-29T06:41:01.250-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Augmented Reality'/><category scheme='http://www.blogger.com/atom/ns#' term='wherecamp'/><category scheme='http://www.blogger.com/atom/ns#' term='where2.0'/><title type='text'>Where2.0 and WhereCamp 2010</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;Where2.0&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;After deciding to skip Where2.0 and go straight to WhereCamp for 2010, I have to eat my words from twitter describing Where2.0 as, "&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;low signal to noise&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ratio, unless you count product launches as  signal.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;" &amp;nbsp;Since saying that, the Where2.0 program has proven me wrong and is probably one of the best conference schedules I've seen in a while.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I'm really excited by the Where2.0 program and I'm having a tough time deciding which session to attend. &amp;nbsp;I'm happy that all the location based product launches occurred at SXSW, leaving Where2.0 more technically focused this year. Let the marriage of location and real time analytics begin.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;That said, I'm also speaking at Where2.0, not once but 3 times. &amp;nbsp;I'm on two augmented reality panels and an Ignite talk.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;div class="en_session vevent"&gt;&lt;div class="en_session_title summary"&gt;&lt;a class="url uid" href="http://en.oreilly.com/where2010/public/schedule/detail/11096" name="session11096"&gt;&lt;i&gt;Truly Open Augmented Reality&lt;/i&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="en_detail_eval" id="en_detail_eval_11096"&gt;&lt;/div&gt;&lt;div class="en_session_description description"&gt;&lt;blockquote&gt;Convene and lead a panel on requirements and specifications for an open  software stack for augmented reality, based on the assumption that AR  is both a discrete medium, and it is the intersection of many media,  including web, CAD, mapping, games, virtual worlds...  &lt;span class="en_read_more"&gt;   &lt;a href="http://en.oreilly.com/where2010/public/schedule/detail/11096"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="text-decoration: none;"&gt;Read  more&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="en_session vevent"&gt;&lt;div class="en_session_title summary"&gt;&lt;a class="url uid" href="http://en.oreilly.com/where2010/public/schedule/detail/11046" name="session11046"&gt;&lt;i&gt;The Next Wave of AR:  Exploring  Social Augmented Experiences&lt;/i&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="en_detail_eval" id="en_detail_eval_11046"&gt;&lt;/div&gt;&lt;div class="en_session_description description"&gt;&lt;blockquote&gt;This panel will discuss shared augmented realities, considering some of  the essential possibilities and challenges inherent in this new class  of social augmented experiences.  The format is presentation and  discussion of a small set of scenarios (defined in advance, with  audience input) describing likely future forms of shared augmented  realities at differing scales of social engagement.  &lt;span class="en_read_more"&gt;   &lt;a href="http://en.oreilly.com/where2010/public/schedule/detail/11046"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="text-decoration: none;"&gt;Read  more&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="en_read_more"&gt;Tish Shute also has more &lt;a href="http://www.ugotrade.com/2010/03/29/the-next-wave-of-ar-exploring-social-augmented-experiences-at-where-2-0/"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="text-decoration: none;"&gt;detailed information on our panel session on her blog ugotade.com&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="en_session"&gt;&lt;div class="en_session_title"&gt;&lt;i&gt;&lt;a href="http://en.oreilly.com/where2010/public/schedule/detail/14620"&gt;Making  Money at a Non-Profit&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="en_session_description"&gt;&lt;blockquote&gt;Times are hard and your angel funder just told you that your  non-profit open source org needs to feed itself.   Great, but it also  means change, in terms of process, organization, culture and people's  expectations.  The talk is about achieving a balance between  profitability and the open source mission.&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;WhereCamp&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Since its start in 2007, WhereCamp has taken off with events happening Portland, Denver, Montreal, London, Quebec, and Africa as well as one in the Bay Area following Where2.0. &amp;nbsp;&lt;a href="http://upcoming.yahoo.com/event/4909659/CA/Mountain-View/WhereCamp-SF/Google-Maxwell-Tech-Talk/CA/Mountain-View/WhereCamp-SF-2010/Google-Maxwell-Tech-Talk/?ps=6"&gt;Google is once again hosting WhereCamp for 2010&lt;/a&gt; and over 240 people have signed up for the event. &amp;nbsp;There are mentions of kites, cameras, and computers on twitter and Scoble has favorited WhereCamp. &amp;nbsp;Tish Shute and I are planning a session on the &lt;a href="http://code.google.com/p/arwave/"&gt;ARWave project&lt;/a&gt; which uses the Wave Federation Protocol to deliver augmented reality experiences. There will be camping on the Google grounds promising late night hacking sessions and geo-shenanigans.&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/3812785271700903620-6113584121965427963?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6113584121965427963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/03/where20-and-wherecamp-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6113584121965427963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6113584121965427963'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/03/where20-and-wherecamp-2010.html' title='Where2.0 and WhereCamp 2010'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-8745936008502775957</id><published>2010-03-22T11:56:00.002-05:00</published><updated>2010-03-22T12:23:08.790-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Augmented Reality'/><title type='text'>Open Source AR Toolkit Roundup (Part 2)</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Since the last post on &lt;a href="http://sproke.blogspot.com/2009/11/augmented-reality-resources-for.html"&gt;augmented reality toolkits&lt;/a&gt; in December, more open source AR projects have been announced. &amp;nbsp;Without further ado here's a new roundup of AR code to play with.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;Locatory&lt;/b&gt;&amp;nbsp;is based on the &lt;a href="http://sourceforge.net/projects/opengamaray/"&gt;Gamaray open source release&lt;/a&gt;&amp;nbsp;and developed at the Open University of the Netherlands. &amp;nbsp;The project is hosted on Google Code and can be &lt;a href="http://code.google.com/p/locatory/"&gt;downloaded here&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://www.mixare.org/"&gt;&lt;b&gt;Mixare&lt;/b&gt;&lt;/a&gt; is another augmented reality engine for the Android platform. Mixare is a platform to build on and uses json as a data source, lots of good documentation at &lt;a href="http://www.mixare.org/usage/"&gt;mixare.org&lt;/a&gt; and the &lt;a href="http://code.google.com/p/mixare/"&gt;code and documentation hosted on Google&lt;/a&gt;&amp;nbsp;and available for download. &amp;nbsp;Mixare based apps are already available in the Android Market Place.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;augmentthis!&lt;/b&gt; is a server and Android app that let's users upload KML and display them on their Android device. &amp;nbsp;The server portion is &lt;a href="http://code.google.com/p/augmentthis/"&gt;available on Google code&lt;/a&gt;. The app is available on the Android Market, and the a&lt;a href="http://augmentthis.appspot.com/"&gt;ugmenthis! upload &amp;nbsp;service&lt;/a&gt; is on Google app spot with some additional documentation.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/o0BkYx-34r4&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/o0BkYx-34r4&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;SLARToolKit brings the venerable ARToolkit code base to Microsoft's SilverLight technology. &lt;a href="http://slartoolkit.codeplex.com/"&gt;SLARToolkit can be downloaded&lt;/a&gt; from Microsofts open source project hosting site Codeplex.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #645f5e; font-family: verdana, sans-serif; font-size: 10px; white-space: pre-wrap;"&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9713000&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=9713000&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;a href="http://vimeo.com/9713000"&gt;SLARToolkit - Silverlight Augmented Reality 3D projection sample&lt;/a&gt; from &lt;a href="http://vimeo.com/rschu"&gt;Rene Schulte&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Symbian gets its own augmented reality engine with &lt;a href="http://seqpoint.com/news/85-announcing-openmar-project"&gt;OpenMAR&lt;/a&gt;. &lt;a href="http://OpenMAR.org/index.php"&gt;Source and community&lt;/a&gt; for OpenMAR is at their website.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;One of the more exciting demos making the rounds around the AR community is the &lt;a href="http://ardrone.parrot.com/parrot-ar-drone/en"&gt;Parrot AR Drone&lt;/a&gt;, a quadri-copter controlled by an iPhone. &amp;nbsp;AR Drone has an &lt;a href="https://projects.ardrone.org/"&gt;open API and SDKs for multiple plaforms available on their site&lt;/a&gt;. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/V3KrFV0-WFw&amp;amp;border=1&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/V3KrFV0-WFw&amp;amp;border=1&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;While the following are not complete augmented reality applications, service API and SDKs that support AR applications are also becoming more common place.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://www.kooaba.com/"&gt;Kooaba&lt;/a&gt;&amp;nbsp;for both the iPhone and Android platforms provides mobile image search. While not open source, Kooaba provides a &lt;a href="http://www.kooaba.com/developers/"&gt;free query API and a commercial data upload API&lt;/a&gt;. Integrating image search into AR applications is a first step away from static AR content into fully interactive applicaitons.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="https://labs.ericsson.com/apis/sensor-networking-application-platform/"&gt;SNAP or Sensor Networking Application Platform&lt;/a&gt; is an Android toolkit developed by Ericsson Labs that provides a uniform API for accessing sensors on Android devices. Interestingly, they choose to use the Open Geospatial Consortium SensorML specification to encode sensor information, can you say "Internet of things?"&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/3812785271700903620-8745936008502775957?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/8745936008502775957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/03/open-source-ar-toolkit-roundup-part-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/8745936008502775957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/8745936008502775957'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/03/open-source-ar-toolkit-roundup-part-2.html' title='Open Source AR Toolkit Roundup (Part 2)'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-5366900291032604814</id><published>2010-02-22T06:57:00.004-06:00</published><updated>2010-02-22T07:13:40.571-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='meetup'/><category scheme='http://www.blogger.com/atom/ns#' term='#arny'/><category scheme='http://www.blogger.com/atom/ns#' term='Augmented Reality'/><title type='text'>Augmented Reality Meetup Videos</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Chris Grayson (&lt;/span&gt;&lt;/span&gt;&lt;a href="http://twitter.com/chrisgrayson"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;@chrisgrayson&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;) set up &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://ARMeetup.org/"&gt;ARMeetup.org&lt;/a&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; which is a video hub for Augmented Reality Meetup Groups. The video for the February 17th Augmented Reality New York (#arny) meetup is up and the demo line-up follows:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ori Inbar of Ogmento and &lt;/span&gt;&lt;/span&gt;&lt;a href="http://gamesalfresco.com/"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;gamesalfresco.com&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;demos the best and worst AR apps for the iPhone (and his rig for showing apps live on a mobile)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Mike Kelly of Hudson Union - demos 3D object movies controlled by an AR marker to integrate high resolution print ads into a AR environment&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="status-body"&gt;&lt;span class="msgtxt en" id="msgtxt9211686625"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Chris Grayson of &lt;/span&gt;&lt;a href="http://gigantico.squarespace.com/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;GigantiCo&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; presented on the use of virtual mirrors in retail ecommerce to enhance user experience at point of sale.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Times;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Video below and checkout the&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://twitter.com/#search?q=%23arny"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;twitter stream&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;for #arny&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" height="386" id="utv958097" name="utv_n_857736" width="480"&gt;&lt;param name="flashvars" value="autoplay=false" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="src" value="http://www.ustream.tv/flash/video/4781840" /&gt;&lt;embed flashvars="autoplay=false" width="480" height="386" allowfullscreen="true" allowscriptaccess="always" id="utv958097" name="utv_n_857736" src="http://www.ustream.tv/flash/video/4781840" type="application/x-shockwave-flash"&gt; &lt;/embed&gt; &lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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/3812785271700903620-5366900291032604814?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/5366900291032604814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/02/videos-for-augmented-reality-meetups.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/5366900291032604814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/5366900291032604814'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/02/videos-for-augmented-reality-meetups.html' title='Augmented Reality Meetup Videos'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-4977150177346177507</id><published>2010-02-10T22:13:00.001-06:00</published><updated>2010-02-10T22:19:58.576-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dell Mini 9'/><category scheme='http://www.blogger.com/atom/ns#' term='install'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight error'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerPC'/><title type='text'>Dell Mini 9 OSX: How To Install Silverlight</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;On occasion I feel a need to checkout some web application written in Silverlight. &amp;nbsp;I usually do this on my MacBook Pro but I wanted to be able to do this on the Dell Mini with out seeing this:&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_pYE2kH0wQFY/S3OB2q2PeVI/AAAAAAAAAVg/YcKFwD1Qehg/s1600-h/Picture+3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;img border="0" height="285" src="http://3.bp.blogspot.com/_pYE2kH0wQFY/S3OB2q2PeVI/AAAAAAAAAVg/YcKFwD1Qehg/s400/Picture+3.png" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The Silverlight installer incorrectly identifies the Intel N270 Atom as a PowerPC chip. Fortunately there is a work around described in the howto below:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://silverlight.net/getstarted/"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Download Silverlight.&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, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Open the Silverlight.dmg file and copy Silverlight.3.0.pkg to another directory such as ~/Downloads&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Using terminal remove the InstallationCheck:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sudo rm ~/Downloads/Silverlight.3.0.pkg/Contents/Resources/InstallationCheck&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;After that, double click on the SilverLight.3.0.pkg and follow the installation instructions as usual.&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/3812785271700903620-4977150177346177507?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/4977150177346177507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/02/dell-mini-9-osx-how-to-install.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/4977150177346177507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/4977150177346177507'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/02/dell-mini-9-osx-how-to-install.html' title='Dell Mini 9 OSX: How To Install Silverlight'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_pYE2kH0wQFY/S3OB2q2PeVI/AAAAAAAAAVg/YcKFwD1Qehg/s72-c/Picture+3.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-4040559886808427021</id><published>2010-02-07T08:09:00.003-06:00</published><updated>2010-02-07T08:11:37.658-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell Mini 9'/><category scheme='http://www.blogger.com/atom/ns#' term='blocking flash'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><title type='text'>Dell Mini 9 OSX: Improve Performance by Blocking Flash</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I'll keep it simple.&amp;nbsp;Turn off Flash in your browser to prevent high CPU usage and browser crashes.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Howto:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Safari: &lt;/span&gt;&lt;/span&gt;&lt;a href="http://clicktoflash.com/"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ClickToFlash&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, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FireFox: &lt;/span&gt;&lt;/span&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/433"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Flashblock&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, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Chrome: &lt;/span&gt;&lt;/span&gt;&lt;a href="https://chrome.google.com/extensions/detail/gofhjkjmkpinhpoiabjplobcaignabnl"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FlashBlock&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; (requires version that supports extensions)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Unhappy people at &lt;a href="http://getsatisfaction.com/adobe/topics/when_using_adobe_flash_player_10_why_is_there_high_cpu_memory_usage_100_utilization"&gt;GetSatisfaction&lt;/a&gt;&amp;nbsp;and the conflicting statements from &lt;a href="http://blogs.adobe.com/emmy/archives/2010/02/flash_bug_repor.html"&gt;Kevin Lynch&lt;/a&gt; and&amp;nbsp;&lt;a href="http://blogs.adobe.com/emmy/archives/2010/02/flash_bug_repor.html"&gt;Emmy Huang&lt;/a&gt;&amp;nbsp;of Adobe about problems with flash.&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/3812785271700903620-4040559886808427021?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/4040559886808427021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/02/dell-mini-9-osx-improve-performance-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/4040559886808427021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/4040559886808427021'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/02/dell-mini-9-osx-improve-performance-by.html' title='Dell Mini 9 OSX: Improve Performance by Blocking Flash'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6791339774307973911</id><published>2010-02-05T09:59:00.003-06:00</published><updated>2010-02-05T10:37:22.966-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mechanical turk'/><category scheme='http://www.blogger.com/atom/ns#' term='haiti'/><category scheme='http://www.blogger.com/atom/ns#' term='collaborative'/><category scheme='http://www.blogger.com/atom/ns#' term='mission 4636'/><title type='text'>Mission 4636 and improving the Mechanical Turk</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;During the days after the earthquake in Haiti, I was traveling and was not able to participate with the ongoing mapping efforts at CrisisCamp. &amp;nbsp;However, I am reasonably fluent in Haitian Creole/Kreyol so I volunteered to translate. &amp;nbsp;I was very happy to discover that Ushahidi had set up a SMS translation service called Mission 4636.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Mission 4636 is the ongoing effort to collect and translate SMS messages from Haitians and route their requests to responders on the ground. Mission 4636 started at&amp;nbsp;&lt;/span&gt;&lt;a href="http://4636.ushahidi.com/search_post.php"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ushahidi&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;and moved to CrowdFlower with&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.samasource.org/haiti/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Samasource&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;for long term support. At this time, Mission 4636 relies on &lt;/span&gt;&lt;a href="http://blog.ushahidi.com/index.php/2010/01/27/mission-4636/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;volunteers&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; to provide the translation and geolocation services. &amp;nbsp;Samasource provides the following graphic describing Mission 4636:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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 class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;a href="http://www.samasource.org/images/4636.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;img border="0" height="476" src="http://www.samasource.org/images/4636.jpeg" width="640" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;source: (Samasource: http://www.samasource.org/haiti/)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The system is essentially a&amp;nbsp;&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/The_Turk"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;mechanical turk&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;with volunteers performing the translation and extracting coordinate information based on references to addresses or more general locations in the text of the message. &amp;nbsp;Volunteers at CrisisCamps&amp;nbsp;&lt;/span&gt;&lt;a href="http://brainoff.com/weblog/2010/01/14/1518"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;quickly mapped Haiti in OpenStreet Map&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;and and other contributers created the&amp;nbsp;&lt;/span&gt;&lt;a href="http://hypercube.telascience.org/haiti/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Haiti Crisis Map&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;which is helpful for finding the&amp;nbsp;coordinates of locations in&amp;nbsp;latitude and longitude.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;While tools such as the Haiti Crisis Map are important, it is the volunteer translators that make the system work. &amp;nbsp;For example, I translated a text with the address of Ri 3, Fre Rigo Okay to Rue 3, Freres Rigaud, Les Cayes, which is the French label on the map. &amp;nbsp;Haitian Kreyol is more of a spoken language with a loose orthography and has a tendency towards being a phonetic language. &amp;nbsp;Having lived near Les Cayes, I knew that it was called Okay in Kreyol, which was helpful for knowing where to look in the first place. &amp;nbsp;Similarly, there were many requests from Delmas, an area in Port-au-Prince, that required local knowledge to find the precise location of the person sending the SMS. &amp;nbsp;Finding the coordinates of these locations to accurately direct responders on the ground depends heavily on local knowledge that can not be derived from the map. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ushahidi created a chatroom for volunteers which was instrumental for tapping into and sharing local knowledge. &amp;nbsp;Having a place to interactively discuss location and provide assistance for translating the SMS greatly improved the translations and the accuracy of the location coordinates. &amp;nbsp;Being able to work collaboratively with others made the information in the SMS actionable and facilitate the work being done in country.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&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-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The importance of collaboration is highlighted in a&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.nybooks.com/articles/23592"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;recent article&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; in the New York Review of Books by the chess grand master Gary Kasparov. &amp;nbsp;In the article, he describes a free style chess tournament where players could compete in teams and use computers. &amp;nbsp;Chess playing computers essentially brute force solutions to win, but typically they cannot defeat a strong human player. &amp;nbsp;It was expected that a strong human player (professional) with a powerful computer would be the logical winner of the tournament. &amp;nbsp;The winner(s) were a pair &amp;nbsp;of amateur players that collaborated using three consumer grade computers. &amp;nbsp;Kasparov describes the outcome as surprising:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;i&gt;"The surprise came at the conclusion of the event. The winner was revealed to be not a grandmaster with a state-of-the-art PC but a pair of amateur American chess players using three computers at the same time. Their skill at manipulating and "coaching" their computers to look very deeply into positions effectively counteracted the superior chess understanding of their grandmaster opponents and the greater computational power of other participants. Weak human + machine + better process was superior to a strong computer alone and, more remarkably, superior to a strong human + machine + inferior process."&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;My experience with Mission 4636 validates that a combination of humans of varying skill levels + machine mediated interaction and tools + better process produces better results than having volunteers simply performing translations without the benefit of a collaborative approach. &amp;nbsp;While a mechanical turk system can harness the efforts of volunteers distributed globally, the addition of an adhoc method of collaboration greatly increased the&amp;nbsp;efficacy&amp;nbsp;of the system.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;  &lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ushahidi continues to &lt;/span&gt;&lt;a href="http://4636.ushahidi.com/search_post.php"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;host the chatroom&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; which is the touchpoint for 4636 volunteers. &amp;nbsp;I hope that Crowdflower and Samasource will eventually add a chatroom to supplant the one at Ushahidi and continue to foster the collaborative environment. &amp;nbsp;Volunteers are still needed at Mission 4636. If you are a Francophone or Kreyol speaker, or if you just want to help, you can register at &lt;/span&gt;&lt;a href="http://www.samasource.org/contribute/volunteer"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Samasource&lt;/span&gt;&lt;/a&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-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-6791339774307973911?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6791339774307973911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2010/02/mission-4636-and-improving-mechanical.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6791339774307973911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6791339774307973911'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2010/02/mission-4636-and-improving-mechanical.html' title='Mission 4636 and improving the Mechanical Turk'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6775120156536562459</id><published>2009-12-30T03:46:00.006-06:00</published><updated>2009-12-30T04:25:24.173-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Chromium'/><title type='text'>First Look: Google's Chromium OS</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Thanks to&amp;nbsp;&lt;a href="http://twitter.com/hexxeh"&gt;@hexxeh&lt;/a&gt; who built a bootable USB image of Chromium, Google's operating system. &amp;nbsp;@hexxeh provides an image of Chromium and instructions at &lt;a href="http://chromeos.hexxeh.net/"&gt;chromeos.hexxeh.net&lt;/a&gt;. &amp;nbsp;The &lt;a href="http://chromeos.hexxeh.net/wiki/doku.php"&gt;instructions under the wiki&lt;/a&gt;&amp;nbsp;are a little more detailed so you might want to use them instead of the instructions on the main page. &amp;nbsp;There are also &lt;a href="http://www.downloadsquad.com/2009/12/04/how-to-convert-hexxehs-chrome-os-build-image-to-a-virtualbox-v/"&gt;directions&lt;/a&gt; for creating a VirtualBox virtual machine vdi if you want to forego booting to a USB memory stick.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I booted Chromium on the Dell Mini 9, which required resetting my boot order and enabling USB Legacy Mode on in order for it to boot to the USB stick. Without further ado, here are (literal) screen shots of Chromium:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Running on the Dell Mini 9&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_pYE2kH0wQFY/Szsm4JmosaI/AAAAAAAAAT4/Q6sREnxQaRQ/P1010045.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="338" src="http://lh4.ggpht.com/_pYE2kH0wQFY/Szsm4JmosaI/AAAAAAAAAT4/Q6sREnxQaRQ/P1010045.JPG" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Chromium Build&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;a href="http://lh5.ggpht.com/_pYE2kH0wQFY/SzsUNXWwDNI/AAAAAAAAATA/Q3Tqvoz-8T4/s1600/P1010048.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://lh5.ggpht.com/_pYE2kH0wQFY/SzsUNXWwDNI/AAAAAAAAATA/Q3Tqvoz-8T4/s400/P1010048.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Chromium's configuration is simple, only four configuration screens.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;a href="http://lh4.ggpht.com/_pYE2kH0wQFY/SzsUb0K5vzI/AAAAAAAAATE/yh8OKeWiAdM/s1600/P1010049.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://lh4.ggpht.com/_pYE2kH0wQFY/SzsUb0K5vzI/AAAAAAAAATE/yh8OKeWiAdM/s400/P1010049.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_pYE2kH0wQFY/SzsUmrQ6SAI/AAAAAAAAATI/F0aAZjxNr0Q/s1600/P1010050.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://lh4.ggpht.com/_pYE2kH0wQFY/SzsUmrQ6SAI/AAAAAAAAATI/F0aAZjxNr0Q/s400/P1010050.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh6.ggpht.com/_pYE2kH0wQFY/SzsUx2TfZwI/AAAAAAAAATM/VRkQ39gaoN8/P1010051.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="233" src="http://lh6.ggpht.com/_pYE2kH0wQFY/SzsUx2TfZwI/AAAAAAAAATM/VRkQ39gaoN8/P1010051.JPG" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh5.ggpht.com/_pYE2kH0wQFY/SzsU64-un7I/AAAAAAAAATQ/_UQanFmQdms/P1010052.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="233" src="http://lh5.ggpht.com/_pYE2kH0wQFY/SzsU64-un7I/AAAAAAAAATQ/_UQanFmQdms/P1010052.JPG" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Not much in the way of hardware configuration, just WiFi and ethernet.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;a href="http://lh5.ggpht.com/_pYE2kH0wQFY/SzsVTycmLJI/AAAAAAAAATY/8GWM8As24Fs/s1600/P1010053.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://lh5.ggpht.com/_pYE2kH0wQFY/SzsVTycmLJI/AAAAAAAAATY/8GWM8As24Fs/s200/P1010053.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The Google Wave client, built on GWT, is one of the more taxing browser applications. &amp;nbsp;Navigation seemed a little bit faster and the gadgets in the wave ran as expected. &amp;nbsp;Also note that the screenshot was taken from a 23 inch LCD. &amp;nbsp;This Chromium build mirrors external displays using the same resolution as the netbooks native screen resolution. &amp;nbsp;There are no options to change the resolution of the external monitor.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/_pYE2kH0wQFY/SzsVJd9fcJI/AAAAAAAAAUA/xah0NmQ2aA0/P1010054.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="316" src="http://lh4.ggpht.com/_pYE2kH0wQFY/SzsVJd9fcJI/AAAAAAAAAUA/xah0NmQ2aA0/P1010054.JPG" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Finally Chrome is an HTML 5 compliant browser, so to exercise it a bit I ran several HTML5 demos. &amp;nbsp;Here's a video of one of them running in Chromium:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8452014&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=8452014&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;WiFi and ethernet is a bit wonky on the Dell Mini 9 and bluetooth did not work, but overall Chromium seem reasonably stable. &amp;nbsp;Chromium is in its early stages and there are bugs to work out, but it does suggest Google's future direction.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-6775120156536562459?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6775120156536562459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/12/first-look-googles-chromium-os.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6775120156536562459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6775120156536562459'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/12/first-look-googles-chromium-os.html' title='First Look: Google&apos;s Chromium OS'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_pYE2kH0wQFY/Szsm4JmosaI/AAAAAAAAAT4/Q6sREnxQaRQ/s72-c/P1010045.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-9095979757807822404</id><published>2009-12-29T07:52:00.001-06:00</published><updated>2009-12-29T08:15:24.738-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gis'/><title type='text'>Are you REALLY a GIS Professional?</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Slack time over the holidays leads to weird serendipity, idle hands and all of that. &amp;nbsp;I was reading about a &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.tigsource.com/pages/edge-games"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;trademark troll&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; in the game industry when I saw a tweet about &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.gisci.org/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;GISP Certification&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. &amp;nbsp;Curious about the current state of GIS Certification, I started reading through the site. Reading&amp;nbsp;the GISCI Certification FAQ, I found this:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The "GIS Professional" and "GISP" designations are protected as federal registered trademarks owned by the GIS Certification Institute, which reserves all rights.&amp;nbsp; The Institute takes the duty of protecting the GISP credential very seriously.&amp;nbsp; If you have not been personally certified as a GISP by the Institute, then you cannot legally use the GISP designation, either as part of your signature or on your resume.&amp;nbsp; Any person found to have used the GISP designation without having been previously granted use of that credential by the GIS Certification Institute will be subject to legal action under federal copyright and trademark code.&amp;nbsp; In addition, such violation shall subject the person to disciplinary action under the GISCI Code of Ethics for misrepresentation of qualifications and/or any other applicable grounds.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I've seen plenty of resumes with "GIS Professional" ; apropos of my extracurricular reading, I wondered if they were infringing on GISCI's trademark. &amp;nbsp;Searching the the US Patent and Trademark Office &lt;/span&gt;&lt;a href="http://tess2.uspto.gov/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Trademark Electronic Search System (TESS)&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;for "GIS Professional" yields two results not related to the GISCI but to another &lt;/span&gt;&lt;a href="http://www.giscertificate.com/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;certification program&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;that claims&amp;nbsp;&lt;/span&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"GIS Professional Certificate in Geographic Information Systems" as its trademark.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;GISCI does hold the GISP trademark (yes, certification is essentially a brand), but not "GIS Professional" as a trademark. All the GIS Professionals can now breathe a sigh of relief and GISCI should correct its website accordingly.&lt;/span&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/3812785271700903620-9095979757807822404?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/9095979757807822404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/12/are-you-really-gis-professional.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/9095979757807822404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/9095979757807822404'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/12/are-you-really-gis-professional.html' title='Are you REALLY a GIS Professional?'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6812668632592314570</id><published>2009-12-19T22:51:00.011-06:00</published><updated>2009-12-20T01:03:43.953-06:00</updated><title type='text'>A musical interlude</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;And now for something completely different: Concerto Grosso in G Minor (the Christmas Concerto) by Arcangelo Corelli:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: small;"&gt;1st and 2nd Movements: &lt;a href="http://www.box.net/shared/i7eh218y9h"&gt;Vivace; Grave; Allegro&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: small;"&gt;3rd Movement: &lt;a href="http://www.box.net/shared/se18yrpj01"&gt;Adagio; Allegro; Adagio&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: small;"&gt;4th, 5th, and 6th Movements. &lt;a href="http://www.box.net/shared/nsjud5n40b"&gt;Vivace; Allegro; Pastorale (Largo)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Many thanks to the &lt;a href="http://old78s.blogspot.com/2009/11/corelli-concerto-grosso-in-g-minor-1938.html"&gt;Musical Archeologist&lt;/a&gt; for making this 1938 recording by the London Symphony Orchestra available.&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/3812785271700903620-6812668632592314570?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6812668632592314570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/12/musical-interlude.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6812668632592314570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6812668632592314570'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/12/musical-interlude.html' title='A musical interlude'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6427984365137151481</id><published>2009-12-12T05:33:00.000-06:00</published><updated>2009-12-12T05:33:19.151-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='postgresql'/><title type='text'>Postgres/PostGIS installing and uninstalling prebuilt binaries on OSX</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I install and uninstall different versions of Postgres/PostGIS as needed. &amp;nbsp;EnterpriseDB provides &lt;a href="http://www.postgresql.org/download/"&gt;pre-built binary installers&lt;/a&gt; that save you from the headache of installing all the bits and pieces needed for PostGIS. A small annoyance is that the uninstall-postgresql app is hidden in /Library/PostgresSQL/(version) directory. Dragging the PostgreSQL folder into the trash does not completely uninstall it as with other OSX applications.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;I had problems installing PostGIS using the EnterpriseDB StackBuilder after an uninstall. It would go through the process but it would not create the postgis template. &amp;nbsp;The components were installed in&amp;nbsp;/Library/PostgresSQL/(version) but I had to create the postgis template manually. In addition, PGAdmin III would list the postgres instances that I had previously uninstalled.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;After a bit of hunting around with ls and grep, I found /private/etc/postgres-reg.ini &amp;nbsp;which contains definitions of the installed and uninstalled databases. &amp;nbsp;Why there is an ini file in an OSX installation is beyond me, but deleting this file ensures a clean install of the EnterpiseDB binary installers. &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-6427984365137151481?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6427984365137151481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/12/postgrespostgis-installing-and.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6427984365137151481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6427984365137151481'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/12/postgrespostgis-installing-and.html' title='Postgres/PostGIS installing and uninstalling prebuilt binaries on OSX'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6816419038967224872</id><published>2009-12-06T21:03:00.004-06:00</published><updated>2009-12-12T04:36:14.308-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ardevcampnyc'/><category scheme='http://www.blogger.com/atom/ns#' term='Augmented Reality'/><title type='text'>AR DevCamp NYC: Recap and Going Forward</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pYE2kH0wQFY/SxM88-_TBvI/AAAAAAAAAPQ/VKJwn8lcrPs/s1600/LogoSm.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pYE2kH0wQFY/SxM88-_TBvI/AAAAAAAAAPQ/VKJwn8lcrPs/s320/LogoSm.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;AR DevCamp NYC was great. We had demos of PyGoWave and Goblin XNA; as well as, numerous discussions on AR, markers, GPS, and AR games. &amp;nbsp;We had a number of people join us via Skype including the author of the &lt;a href="http://spadsandfokkers.sourceforge.net/"&gt;Spads and Fokkers&lt;/a&gt;. &amp;nbsp;Tish Shute put together a comprehensive &lt;a href="http://www.ugotrade.com/2009/12/06/augmented-reality-devcamp-nyc-the-big-arny-a-collaborative-ar-game-project-modeled-after-swarm-of-angels/"&gt;report of AR DevCamp NYC&lt;/a&gt; (within 12 hours of the event). I went through twitter and pulled the links to media that attendees posted.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: small;"&gt;@mattlabs recorded Ohan Oda's &lt;a href="http://www.ustream.tv/recorded/2719336"&gt;presentation of Goblin XNA&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: small;"&gt;@wonderchook also recorded a vide of a &lt;a href="http://yfrog.us/jqnbkz"&gt;Goblin XNA marble game&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: small;"&gt;@comogard &lt;a href="http://gamesalfresco.com/2009/12/05/live-from-nyc-augmented-reality-dev-camp/"&gt;live blogged AR DevCamp&lt;/a&gt; which includes a video by Sean White&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: small;"&gt;&lt;a href="http://zerkinglove.com/"&gt;Noah Zerkin&lt;/a&gt; brought a &lt;a href="http://twitpic.com/s9zjt"&gt;Nomad Unit&lt;/a&gt; for show and tell&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: small;"&gt;A video of the &lt;a href="http://www.youtube.com/watch?v=tmCqm8BDmxE&amp;amp;feature=player_embedded"&gt;PyGoWave demonstration&lt;/a&gt; by Patrick Schneider.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Thank You&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The event would not have been possible without&amp;nbsp;&lt;a href="http://topplabs.org/"&gt;@TOPPLabs&lt;/a&gt;&amp;nbsp;providing their penthouse and Ashley DeVries' assistance with the event planning. &amp;nbsp;My co-conspirators &lt;a href="http://ugotrade.com/"&gt;Tish Shute&lt;/a&gt;&amp;nbsp;and &lt;a href="http://gamesalfresco.com/"&gt;Ori Inbar&lt;/a&gt;&amp;nbsp;assisted with planning and getting the word out. &lt;a href="http://twitter.com/wonderchook"&gt;Kate Chapman&lt;/a&gt;&amp;nbsp;created the logo.&amp;nbsp;AR DevCamp was the brainchild of &lt;a href="http://twitter.com/mikeliebhold"&gt;Mike Liebhold&lt;/a&gt;&amp;nbsp;and &amp;nbsp;&lt;a href="http://twitter.com/anselm"&gt;Anselm Hook&lt;/a&gt;&amp;nbsp;provided encouragement (and the wiki) to organizers of the other DevCamps. &amp;nbsp;Finally, &amp;nbsp;thanks to all the attendees who brought their energy, enthusiasm and ideas.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Moving Forward&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;AR DevCamp NYC is just the beginning. &amp;nbsp;Two projects presented at DevCamp, ARWave and The Big ARNY, are building on the inertia of the event. &amp;nbsp;&lt;a href="http://arwave.wiki.zoho.com/HomePage.html"&gt;ARWave&lt;/a&gt; is a project to provide and open, distributed, and universally accessible platform for augmented reality built on the &lt;a href="http://www.waveprotocol.org/"&gt;Google Wave Federation Protocol&lt;/a&gt;. &amp;nbsp;The Big ARNY is an Augmented Reality game for New York, a follow up meeting is scheduled for January 15, 2010. &amp;nbsp;In addition, Ori Inbar has started an &lt;a href="http://www.meetup.com/ARNY-Augmented-Reality-New-York/"&gt;AR New York Meetup&lt;/a&gt;. &amp;nbsp;Augmented Reality is starting off with a bang in 2010.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&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/3812785271700903620-6816419038967224872?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6816419038967224872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/12/ar-devcamp-nyc-recap-and-going-forward.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6816419038967224872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6816419038967224872'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/12/ar-devcamp-nyc-recap-and-going-forward.html' title='AR DevCamp NYC: Recap and Going Forward'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pYE2kH0wQFY/SxM88-_TBvI/AAAAAAAAAPQ/VKJwn8lcrPs/s72-c/LogoSm.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-74670567678467291</id><published>2009-11-30T22:52:00.012-06:00</published><updated>2009-12-01T07:07:44.729-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ardevcampnyc'/><category scheme='http://www.blogger.com/atom/ns#' term='Augmented Reality'/><category scheme='http://www.blogger.com/atom/ns#' term='ardevcamp'/><title type='text'>Augmented Reality Resources for Software and Hardware</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pYE2kH0wQFY/SxM88-_TBvI/AAAAAAAAAPQ/VKJwn8lcrPs/s1600/LogoSm.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span style="font-size: small;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pYE2kH0wQFY/SxM88-_TBvI/AAAAAAAAAPQ/VKJwn8lcrPs/s320/LogoSm.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;One aspect of AR DevCamp is building and hacking stuff. &amp;nbsp;Augmented Reality has been around for quite some time and there are many software projects and some hardware projects. &amp;nbsp;I'll &amp;nbsp;cover what I found after a couple of days of searching. &amp;nbsp;This isn't intended as a comprehensive list, rather its a sampler of what's available right now.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif; font-weight: bold;"&gt;Marker based Augmented Reality&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Augmented Reality has been around for some time; but until the relatively recent advent of smart phones with compasses and GPS, the major focus of open source AR software has been around markers that register images superimposed on the a camera view. &amp;nbsp;The canonical implementation is &lt;/span&gt;&lt;a href="http://www.hitl.washington.edu/artoolkit/"&gt;&lt;span style="font-size: small;"&gt;ARToolKit&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;from Washington University which has spawned implementations in multiple programming languages. In addition to ARToolKit derivatives, other marker based AR software are Goblin and Goblin XNA which was developed using C# and .NET, Simplified Spatial Target Tracker (SSTT) Visualizer developed by Hartmut Seichter in C++, and Studierstube Tracker which is conceptually similar to ARToolKit but is a different code base designed for mobile phones.&amp;nbsp;Here is the sampler list for Augmented Reality marker software.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Flash/Shockwave:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;FLARToolKit:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.libspark.org/wiki/saqoosha/FLARToolKit/en"&gt;http://www.libspark.org/wiki/saqoosha/FLARToolKit/en&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, sans-serif;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;FLART example:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.adobe.com/devnet/flash/articles/augmented_reality.html"&gt;http://www.adobe.com/devnet/flash/articles/augmented_reality.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, sans-serif;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;EZFlar:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.ezflar.com/home/show_home"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://www.ezflar.com/home/show_home&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;(create FLAR app on line), code available:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://github.com/tcha-tcho/EZFLAR"&gt;http://github.com/tcha-tcho/EZFLAR&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, sans-serif;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;DART:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.cc.gatech.edu/dart/index.htm"&gt;http://www.cc.gatech.edu/dart/index.htm&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial;"&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;C family:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;ARToolKit:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.hitl.washington.edu/artoolkit/download/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://www.hitl.washington.edu/artoolkit/download/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-family: Verdana, Arial, SunSans-Regular, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Studierstube Tracker:&lt;/span&gt;&lt;span style="color: #505e60;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://studierstube.icg.tu-graz.ac.at/handheld_ar/stbtracker.php"&gt;&lt;span style="font-size: small;"&gt;http://studierstube.icg.tu-graz.ac.at/handheld_ar/stbtracker.php&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Goblin:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www1.cs.columbia.edu/~eaddy/goblin/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://www1.cs.columbia.edu/~eaddy/goblin/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Goblin XNA:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.codeplex.com/goblinxna"&gt;&lt;span style="font-size: small;"&gt;http://www.codeplex.com/goblinxna&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;SSTT Visualizer:&amp;nbsp;&lt;/span&gt;&lt;a href="http://technotecture.com/ssttviz-download"&gt;&lt;span style="font-size: small;"&gt;http://technotecture.com/ssttviz-download&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Java:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;InstAR (ARToolKit based)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://code.google.com/p/instar/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://code.google.com/p/instar/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;jARToolKit (Java binding to ARToolKit):&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://sourceforge.net/projects/jartoolkit/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://sourceforge.net/projects/jartoolkit/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;NyARToolkit for Java/c#/AndroidL &amp;nbsp;&lt;/span&gt;&lt;a href="http://nyatla.jp/nyartoolkit/wiki/index.php?NyARToolkit%20for%20Java.en"&gt;&lt;span style="font-size: small;"&gt;http://nyatla.jp/nyartoolkit/wiki/index.php?NyARToolkit%20for%20Java.en&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Processing:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Bryan Chung:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.bryanchung.net/?p=227"&gt;http://www.bryanchung.net/?p=227&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Mobile Augmented Reality&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Mobile Augmented Reality places information, markers, and 3d objects in the camera view of a mobile device based upon location derived from GPS or positioning information and direction, typically from compass and accelerometer. &amp;nbsp;Markers are typically not used in mobile augmented reality platforms such as the iPhone or Android based phones.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Android and iPhone:&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Layar:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://layar.com/api/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://layar.com/api/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Wikitude: &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.wikitude.org/category/developer"&gt;&lt;span style="font-size: small;"&gt;http://www.wikitude.org/category/developer&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;iPhone:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;iphonearkit:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://code.google.com/p/iphonearkit/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://code.google.com/p/iphonearkit/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://github.com/zac/iphonearkit/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://github.com/zac/iphonearkit/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;locative (Anselm Hook): A bare bones locative media server and client for sharing &amp;nbsp;favorite places&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://github.com/anselm/locative"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://github.com/anselm/locative&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Anselm Hook:&amp;nbsp;&lt;/span&gt;&lt;a href="http://github.com/anselm/locative"&gt;&lt;span style="font-size: small;"&gt;augmentia: start of an iPhone AR app leveraging sio2&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://github.com/anselm/augmentia"&gt;&lt;span style="font-size: small;"&gt;http://github.com/anselm/augmentia&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Android:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;OpenGamaray:&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://sourceforge.net/projects/opengamaray/"&gt;&lt;span style="font-size: small;"&gt;http://sourceforge.net/projects/opengamaray/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Hardware&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Augmented Reality hardware projects abound ranging from hacking heads-up displays (HUD) to wearable computing. &amp;nbsp;Pranav Mistry recently announced that the &lt;/span&gt;&lt;a href="http://www.pranavmistry.com/projects/sixthsense/"&gt;&lt;span style="font-size: small;"&gt;sixthsense&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;a href="http://www.ted.com/talks/pattie_maes_demos_the_sixth_sense.html"&gt;&lt;span style="font-size: small;"&gt;project&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt; will be open sourced, probably so we won't have to resort to &lt;/span&gt;&lt;a href="http://gizmodo.com/5390894/build-your-own-life-hud-with-a-smartphone-and-some-cardboard"&gt;&lt;span style="font-size: small;"&gt;this&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gizmodo.com/5390894/build-your-own-life-hud-with-a-smartphone-and-some-cardboard"&gt;&lt;span style="font-size: small;"&gt;&lt;img border="0" height="215" src="http://cache.gawker.com/assets/images/4/2009/10/500x_aghelm.jpg" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;There are also a lot of cool human computer interaction (HCI) projects coming from assistive technology that can be used to expand the AR experience. &amp;nbsp;Alternative modes interaction include using eye tracking for input and sound to provide additional cues that improve the user experience. &amp;nbsp;Also listed are a couple just plain cool projects&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;User Input:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;eyewriter:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.eyewriter.org/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://www.eyewriter.org/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, sans-serif;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;MICOLE:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://micole.cs.uta.fi/software/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://micole.cs.uta.fi/software/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;haptics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Sound:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;soundmaps:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://makingmaps.net/2008/03/25/making-maps-with-sound/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://makingmaps.net/2008/03/25/making-maps-with-sound/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;isonic:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.cs.umd.edu/hcil/audiomap/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://www.cs.umd.edu/hcil/audiomap/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;auditory icons:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.billbuxton.com/AudioUI06icons.pdf"&gt;&lt;span style="font-size: small;"&gt;http://www.billbuxton.com/AudioUI06icons.pdf&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Cool Stuff:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Spads and Fokkers:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://spadsandfokkers.sourceforge.net/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://spadsandfokkers.sourceforge.net/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Johnny Lee:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://johnnylee.net/projects/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;http://johnnylee.net/projects/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; from wii remote hacks, to low cost eeg for brain control, kinetic typography&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;EEG as HCI interface? :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://openeeg.sourceforge.net/doc/index.html"&gt;http://openeeg.sourceforge.net/doc/index.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;This just scratches the surface of AR apps.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.youtube.com/watch?v=sd_h0vynlNM&amp;amp;feature=player_embedded"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Mashups&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt; between other software and public Augmented Reality APIs, such as Wikitude, are just starting.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&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/3812785271700903620-74670567678467291?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/74670567678467291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/11/augmented-reality-resources-for.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/74670567678467291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/74670567678467291'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/11/augmented-reality-resources-for.html' title='Augmented Reality Resources for Software and Hardware'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pYE2kH0wQFY/SxM88-_TBvI/AAAAAAAAAPQ/VKJwn8lcrPs/s72-c/LogoSm.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6167003641350549077</id><published>2009-11-23T08:51:00.000-06:00</published><updated>2009-11-23T08:51:10.121-06:00</updated><title type='text'>AR DevCamp NYC</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pYE2kH0wQFY/SwpYmHyjdEI/AAAAAAAAAPA/ZMNXmOHXfd8/s1600/LogoSm.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pYE2kH0wQFY/SwpYmHyjdEI/AAAAAAAAAPA/ZMNXmOHXfd8/s320/LogoSm.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;a href="http://www.ardevcamp.org/wiki/index.php?title=Main_Page"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Augmented Reality Dev Camp&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; (the unconference formerly known as&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://geoar.org/index.php?title=Main_Page"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;GeoAR Camp&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;) is scheduled for December 5th in Mountain View, CA. &amp;nbsp; AR DevCamp 1.0 is a full day of technical sessions and hacking opportunities in an open format, unconference style.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;While a weekend jaunt to Mountain View from the east coast is well within the realm of possibility, the idea of yet another red-eye after a full day of unconference sessions and post event socializing sounded exhausting. &amp;nbsp;&lt;a href="http://twitter.com/tishshute"&gt;Tish Shute&lt;/a&gt; of &amp;nbsp;&lt;a href="http://www.ugotrade.com/"&gt;Ugo Trade&lt;/a&gt;&amp;nbsp;and I were commiserating about not attending AR DevCamp, so we decided host a simultaneous AR DevCamp in New York for people on the east coast that couldn't make it to Mountain View.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;New York has quite an&amp;nbsp;&lt;a href="http://semweb.meetup.com/25/calendar/11819773/"&gt;active&lt;/a&gt;&amp;nbsp;AR &lt;a href="http://www.tacticaltransparency.com/my_weblog/2009/11/the-outernet-and-web2open-panels.html"&gt;community&lt;/a&gt;, so there should a be diverse crowd that approaches AR from many different perspectives. &amp;nbsp;So far, some of the suggested topics are the&amp;nbsp;&lt;a href="http://outernetguidelinesinitiative.pbworks.com/"&gt;Outernet Guidelines Initiative&lt;/a&gt;, using&amp;nbsp;&lt;a href="http://pygowave.net/blog/"&gt;PyGoWave&lt;/a&gt;&amp;nbsp;to implement&amp;nbsp;the &lt;a href="http://www.ugotrade.com/2009/10/13/ar-wave-layers-and-channels-of-social-augmented-experiences/"&gt;Google Wave Protocol for AR&lt;/a&gt;&amp;nbsp;, the Internet of Things, and many more. &amp;nbsp;Like Mountain View, this an open format unconference. We plan to make use of teleconferencing and Skype to share sessions and include people who can not attend physically. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The details are below and I hope to see geo-folks in attendance.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;span class="Apple-style-span" style="font-family: Arial; font-size: medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;div&gt;&lt;h3&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;New York City Event&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;h3&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ARDev Camp NYC is an open format unconference for Augmented Reality technical discussions and hacking opportunities. It will overlap with ARDev Camp in Mountain View, CA and provide an opportunity to collaborate with Mountain View.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/div&gt;&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Who Should Attend:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Anyone interested in mobile Augmented Reality, 3D graphics, the geospatial web, Outernet Guidelines,&amp;nbsp;applications of AR in advertising and film industry (adult or otherwise),&amp;nbsp;AR+Semweb, Google Wave Protocol for AR, locational privacy&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Date/Time:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;December 5th, 2009. 10:00AM-9:00PM&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Venue:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://openplans.org/contact/" rel="nofollow" target="_blank" title="http://openplans.org/contact/"&gt;The Open Planning Project office&lt;/a&gt;&amp;nbsp;(TOPP) Penthouse&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;in Manhattan&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Directions:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ARDev Camp NYC will take place at TOPP/OpenGeo's offices at 148 Lafayette Street, one block east of Broadway and one block north of Canal in downtown Manhattan. The nearest subway lines are the 6, N, Q, R, W, J, M, and Z.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Community Info:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Twitter: @ardevcampnyc, #arnyc&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Skype: ardevcampnyc&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ning:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://ardevcampnyc.ning.com/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://ardevcampnyc.ning.com/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Sponsorship:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;We are looking for sponsors for meals,snacks, and drinks; if interested please contact&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="" target="_blank"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ardevcampnyc@gmail.com&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;If you're interested in attending or leading a session, sign up at&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.ardevcamp.org/wiki/index.php?title=AR_DevCamp_interest_list#New_York_City_Event" target="_blank"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ARDev Camp NYC&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;on the&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.ardevcamp.org/" target="_blank"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ARDev Camp Wiki&lt;/span&gt;&lt;/span&gt;&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/3812785271700903620-6167003641350549077?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6167003641350549077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/11/ar-devcamp-nyc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6167003641350549077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6167003641350549077'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/11/ar-devcamp-nyc.html' title='AR DevCamp NYC'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pYE2kH0wQFY/SwpYmHyjdEI/AAAAAAAAAPA/ZMNXmOHXfd8/s72-c/LogoSm.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6119098043112804521</id><published>2009-11-09T07:16:00.008-06:00</published><updated>2009-11-09T07:42:07.033-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX update'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell Mini 9'/><category scheme='http://www.blogger.com/atom/ns#' term='blue screen'/><title type='text'>Dell Mini 9 OSX: Blue screen after an update</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I received an update notice from Apple for Java, Quicktime, and of course 10.5.8. Unchecking the 10.5.8 option, I accepted the update; but I forgot about it and didn't reboot for a couple of weeks. &amp;nbsp;I shut down the Dell Mini the night before a trip and when I got to the airport (free wifi at SAT), I booted up and it hung with a blue screen. &amp;nbsp;I was able to start the machine in Safe Mode during the DellEFI1.2a5 boot sequence by &lt;/span&gt;&lt;a href="http://sproke.blogspot.com/2009/05/howto-osx-1057-update-on-dell-mini-9.html"&gt;&lt;span style="font-size: small;"&gt;typing -x&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;. &amp;nbsp;I fiddled with the DellEFI1.2a5 options, but none of that fixed the problem.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I had some time to think about it during my flight; something had gone wrong with the update and I decided to update the system to 10.5.8 as soon as I had internet access. &amp;nbsp;I chose to use the combo update because I like hit things with the biggest hammer I can find. The 10.5.8 combo update is huge, ~780 mb, and I think that safe mode also limits the download speed of the wifi card because the download rarely went above 125 kbps. &amp;nbsp;Another interesting side effect of Safe Mode is that the ethernet jack was working but could not recognize that the cable was plugged in. &amp;nbsp;After waiting a couple of hours to download the update, I ran it, which took &lt;/span&gt;&lt;a href="http://discussions.apple.com/thread.jspa?messageID=10362888"&gt;&lt;span style="font-size: small;"&gt;another hour&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;. &amp;nbsp;I did the DellEFI1.2a5 dance of removing the dsdt.aml file, rebooting to Safe Mode, running DellEFI1.2a5 to create a new dsdt.aml and reload the extensions, the rebooted with anticipation. After all of that, I still had a blue screen.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I tried a bunch of things such as checking the disk, removing programs from start up, but none of it worked. &amp;nbsp;Out of desperation, I decided to try the &lt;/span&gt;&lt;a href="http://www.peachpit.com/guides/content.aspx?g=mac&amp;amp;seqNum=57"&gt;&lt;span style="font-size: small;"&gt;OSX Startup keystrokes&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;, starting with booting to Safe Mode by holding the Shift key down during the the OSX boot sequence (Darwin is loaded and the Apple boot screen is displayed), and not using the DeLLEFI1.2a5 method. &amp;nbsp;It worked (but not as intended)! &amp;nbsp;The machine booted normally instead of going into Safe Mode; the first boot took a little longer than normal but subsequent reboots took the usual less than 20 seconds.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;My initial hunch was correct, but rerunning updates did not work, so I did a little more research on why it worked. It turns out that holding the Shift key during boot does the &lt;/span&gt;&lt;a href="http://support.apple.com/kb/HT1564"&gt;&lt;span style="font-size: small;"&gt;following on OSX 10.5.6 and higher&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;A Safe Boot deletes the dynamic loader shared cache at (/var/db/dyld/). A cache with issues may cause a blue screen on startup, particularly after a Software Update. Restarting normally recreates this cache.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;While holding Shift during boot did not send the Dell Mini into safe mode as it would a regular Mac, it did delete the dynamic shared loader cache. &amp;nbsp;Of course, you can delete the cache manually while in Safe Mode. &amp;nbsp;Hope some one finds this arcane piece of knowledge useful.&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/3812785271700903620-6119098043112804521?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6119098043112804521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/11/dell-mini-9-blue-screen-after-update.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6119098043112804521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6119098043112804521'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/11/dell-mini-9-blue-screen-after-update.html' title='Dell Mini 9 OSX: Blue screen after an update'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-8623404198421409335</id><published>2009-10-29T13:56:00.003-05:00</published><updated>2009-10-29T14:06:19.906-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='prakticello'/><category scheme='http://www.blogger.com/atom/ns#' term='cello'/><title type='text'>Building a Prakticello: Build of Materials and making the body</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;It's been over a year since I "&lt;/span&gt;&lt;/span&gt;&lt;ahem&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;started"&lt;/span&gt;&lt;/span&gt;&lt;/ahem&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt; this project, but I finally took some time off to build the Prakticello. &amp;nbsp;For those who are curious about the plans, here is what you get:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_pYE2kH0wQFY/Suna6g6FZkI/AAAAAAAAAOo/tKuKLKek8do/s1600-h/P1000755.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_pYE2kH0wQFY/Suna6g6FZkI/AAAAAAAAAOo/tKuKLKek8do/s400/P1000755.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The plans specify spruce for the body of the cello. Spruce tone wood is easy to find for guitar bodies, but its difficult to find the right dimensions because the sides of the cello body are 29". Tone wood can also be quite spendy. &amp;nbsp;With a bit of searching, I found that airplane builders also use spruce and you can order precut pieces. &amp;nbsp;I ordered slightly larger pieces so I could cut them to right dimensions. &amp;nbsp;I ordered the spruce from &lt;a href="http://www.aircraftspruce.com/"&gt;Aircraft Spruce and Specialty Company&lt;/a&gt;&amp;nbsp;for $36 including shipping. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Additional wood is needed for the saddle, bridge, knee, and chest supports. &amp;nbsp;I picked up several pieces of popular from my local home improvement store for about $15. &amp;nbsp;Mr. Nussbaum encouraged me to carve the neck and pegs, but I opted to buy a pre carved neck, finger board, nut and pegs from &lt;a href="http://metmusic.com/home.aspx"&gt;Metropolitan Music&lt;/a&gt;&amp;nbsp;for $166.50 including shipping. &amp;nbsp;I picked up a tail piece on ebay for $8.00, but its wood and heavy so I'm thinking about getting a Wittner aluminum tail piece. &amp;nbsp;The remaining items that I still need are strings (Jargar &amp;nbsp;recommended), a bridge, and an endpin. &amp;nbsp;Here are the assembled materials:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_pYE2kH0wQFY/SungTMEaktI/AAAAAAAAAOw/QQvEu13FAoI/s1600-h/P1000756.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_pYE2kH0wQFY/SungTMEaktI/AAAAAAAAAOw/QQvEu13FAoI/s400/P1000756.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Although the neck is pre carved, the size of the neck block gives me pause and I'm wondering who I know has a jigsaw or bandsaw I could borrow for a couple of hours. &amp;nbsp;I built the body of the Prakticello, here it is glued and clamped together. &amp;nbsp;For scale, the square on the cello is 16".&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_pYE2kH0wQFY/Sunjdk4N1pI/AAAAAAAAAO4/wJKuwTcYESA/s1600-h/P1000758.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_pYE2kH0wQFY/Sunjdk4N1pI/AAAAAAAAAO4/wJKuwTcYESA/s400/P1000758.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&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/3812785271700903620-8623404198421409335?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/8623404198421409335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/10/building-prakticello-build-of-materials.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/8623404198421409335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/8623404198421409335'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/10/building-prakticello-build-of-materials.html' title='Building a Prakticello: Build of Materials and making the body'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_pYE2kH0wQFY/Suna6g6FZkI/AAAAAAAAAOo/tKuKLKek8do/s72-c/P1000755.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-3899081896613931532</id><published>2009-10-29T08:58:00.008-05:00</published><updated>2009-10-29T09:07:43.216-05:00</updated><title type='text'>Nifty database login widget in GeoTools 2.6</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Writing yet another login dialog for Postgres/PostGIS in Swing is tedious and mine always look crappy. &amp;nbsp;So I was happy to find that GeoTools 2.6 has a database login widget called JDataStoreWizard. &amp;nbsp;Updating the table with new features is also simple as adding your feature collection to the feature store.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pYE2kH0wQFY/Sume6N00gAI/AAAAAAAAAOY/ez9CeRRO3PQ/s1600-h/Picture+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pYE2kH0wQFY/Sume6N00gAI/AAAAAAAAAOY/ez9CeRRO3PQ/s320/Picture+2.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_pYE2kH0wQFY/SumfPGXXuBI/AAAAAAAAAOg/64bozIQIgSw/s1600-h/Picture+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_pYE2kH0wQFY/SumfPGXXuBI/AAAAAAAAAOg/64bozIQIgSw/s320/Picture+3.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Here's an example to call JDataStoreWizard and update a table in PostGIS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;JDataStoreWizard wizard = new JDataStoreWizard(new   PostgisDataStoreFactory());&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;int result = wizard.showModalDialog();&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;if (result != JWizard.FINISH) {&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; System.exit(0);&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;}&lt;/span&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Map connectionParameters = wizard.getConnectionParameters();&lt;/span&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;PostgisDataStore dataStore = (PostgisDataStore) &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; DataStoreFinder.getDataStore(connectionParameters);&lt;/span&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;FeatureStore myFeatureTable = (FeatureStore) pgDs.getFeatureSource("myFeature");&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;myFeatureTable.addFeatures(myFeatureCollection);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812785271700903620-3899081896613931532?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/3899081896613931532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/10/nifty-database-login-widget-in-geotools.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3899081896613931532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3899081896613931532'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/10/nifty-database-login-widget-in-geotools.html' title='Nifty database login widget in GeoTools 2.6'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pYE2kH0wQFY/Sume6N00gAI/AAAAAAAAAOY/ez9CeRRO3PQ/s72-c/Picture+2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-5054196993594070221</id><published>2009-10-15T13:13:00.000-05:00</published><updated>2009-10-15T13:13:47.913-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='geodata'/><title type='text'>Mike Blumenthal article on Google using its own geodata</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Informative article on &lt;a href="http://searchengineland.com/tectonic-shifts-altering-the-terrain-at-google-maps-27783"&gt;Google using its own data&lt;/a&gt; by Mike Blumenthal at Search Engine Land&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/3812785271700903620-5054196993594070221?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/5054196993594070221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/10/mike-blumenthal-article-on-google-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/5054196993594070221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/5054196993594070221'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/10/mike-blumenthal-article-on-google-using.html' title='Mike Blumenthal article on Google using its own geodata'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-3066042392813067779</id><published>2009-10-14T19:03:00.000-05:00</published><updated>2009-10-14T19:03:51.741-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gamaray'/><category scheme='http://www.blogger.com/atom/ns#' term='Augmented Reality'/><title type='text'>Gamaray AR Browser Open Sourced</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Development on &lt;a href="http://sproke.blogspot.com/2009/09/augmented-reality-and-android-this-is.html"&gt;Gamaray the AR browser&lt;/a&gt; stopped on September 30th. &amp;nbsp;Today, the Gamaray source code was released as open source and available for &lt;a href="http://groups.google.com/group/gamaray"&gt;download&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;In light of Layar wanting to charge content developers then changing their minds for the immediate future its nice to have alternatives.&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/3812785271700903620-3066042392813067779?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/3066042392813067779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/10/gamaray-ar-browser-open-sourced.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3066042392813067779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/3066042392813067779'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/10/gamaray-ar-browser-open-sourced.html' title='Gamaray AR Browser Open Sourced'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6797601616081713045</id><published>2009-10-10T10:30:00.000-05:00</published><updated>2009-10-10T11:18:55.318-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dell Mini 9'/><category scheme='http://www.blogger.com/atom/ns#' term='OS X'/><title type='text'>Update on Dell Mini with OSX</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;It's been six months, so I thought I would do a quick update on my Dell Mini.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;What works&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;It's small and light weight&lt;/b&gt;: I travel frequently and its nice to be able to stick a notebook in my purse/backpack/grocery bag. &amp;nbsp;In contrast, my MacBook Pro (the old 15 inch model) weighs around &amp;nbsp;7-8 lbs with the power supply and requires a laptop bag.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;It's powerful enough&lt;/b&gt;: I typically have 10 -15 apps running at the same time. &amp;nbsp;This includes MS Office, Eclipse, Apache, Postgres, a couple of browsers, Thunderbird, Colloquy, Tweetie, Evernote, &amp;nbsp;Python stuff, java web apps, text editors - the list goes on. &amp;nbsp;If things go pear shaped, it's usually a browser hogging all the memory. &amp;nbsp;I recently built the GeoTools library and I think the Dell Mini did it in under 20 minutes. &amp;nbsp;I would have never believed that I could do my typical workflow with a 1.6 GHz processor with 2 GB of RAM.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;32 GB of disk is sufficient&lt;/b&gt;: I thought that 32gb would be cramped, but I have yet to run out of disk space. &amp;nbsp;I don't think I've dipped below 5gb of free disk space, but I do cheat a little and use the 16gb SDHC card for storing big files.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Wireless works everywhere&lt;/b&gt;: With my MacBook Pro, I have dead spots in my house. &amp;nbsp;This is understandable because my house is old with brick walls and with non-load bearing walls covered with plaster over a wire mesh. &amp;nbsp;I don't have this problem with the Mini, I get WiFi in every part of the house.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Decent battery life&lt;/b&gt;: I can easily squeeze out 3 hours of work using the standard battery on a flight between San Antonio and DC, which is a 3.5 hour direct flight.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;SD card&lt;/b&gt;: &amp;nbsp;Being able to copy photos from the SD card on my camera to Flickr or just on to my drive is teh awesome. &amp;nbsp;No additional cables needed.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Fast boot&lt;/b&gt;: So I have to hard boot on occasion, especially if sleep decides to throw a tantrum. &amp;nbsp;At least I don't have to wait very long, usually under 20 seconds.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;What doesn't work&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Form factor&lt;/b&gt;: &amp;nbsp;Its friggin small, so I use a USB keyboard, a wireless mouse and an external monitor to be productive. &amp;nbsp;Using Spaces to organize the workspace sort of helps, but nothing beats a big screen. &amp;nbsp;I've gotten used to the Mini keyboard, but I still prefer the Apple external USB keyboard when I 'm &amp;nbsp;working. &amp;nbsp;I installed Melkort's touch pad drivers, but the gestures are not the same; i.e. one finger scrolling on the mini vs 2 two finger scrolling on the MBP. &amp;nbsp;The keyboard and external monitor are really helpful, but I can work without any of these things, if need be.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Sleep&lt;/b&gt;: &amp;nbsp;Sleep used to work flawlessly, now it can be a crap shoot. &amp;nbsp;Sometime after the 10.5.7 update sleep started acting up. &amp;nbsp;Not a big enough deal to spend time tracking down a fix though.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Watching movies&lt;/b&gt;: I've tried several versions of VLC and ran through all the fixes in the forums, but it still has halting problems. &amp;nbsp;Also sound is bleh at best, even with headphones or external speakers. &amp;nbsp;Really harshed my nostalgia when watching Space Above and Beyond.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Monolingual&lt;/b&gt;: &amp;nbsp;Using Monolingual to slim down the install proved to be a case of being to clever for my own good. &amp;nbsp;Turns out that I did need some of those printer drivers and superfluous architectures. &amp;nbsp;I spent a couple hours debugging a make file before I realized that I only had an i386 architecture and that I need to remove the other architectures from the make file.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;N270 processor does not support virtualization&lt;/b&gt;: &amp;nbsp;This is the biggest thorn in my side with no work around. &amp;nbsp;More often than not, I have to look at stuff on a different OS; so &amp;nbsp;I use Virtual Box (gave up on Parallels) on the MacBook Pro.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;For what it's worth, I haven't applied the 10.5.8 update but apparently my 10.5.7 &lt;a href="http://theappleblog.com/2009/05/19/hackintosh-dell-mini-9-os-x-is-it-worth-it/#comment-55693"&gt;update instructions work&lt;/a&gt;. &amp;nbsp;I did upgrade to the dellefi1.2.5a which got Melkort's touch pad drivers to work. Other than that, there have been no changes to the system since the 10.5.7 update.&lt;br /&gt;
&lt;br /&gt;
I've use the Dell Mini as my primary machine for six months under heavy use. &amp;nbsp;My 15" MacBook Pro is used mostly for running other operating systems and watching movies. &amp;nbsp;Given that the MBP is 6 times more expensive than the Mini in its current configuration, leads me to question the conventional wisdom about buying the most hardware you can afford. &amp;nbsp;I think that this goes to show the OSX performs quite well with modest hardware.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;So far, the advantages of portability outweigh the Mini's shortcomings. &amp;nbsp;However, that hasn't stopped me from eyeing the 13" MacBook Pros, which would do everything I need, just not in such a small package.&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/3812785271700903620-6797601616081713045?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6797601616081713045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/10/update-on-dell-mini-with-osx.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6797601616081713045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6797601616081713045'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/10/update-on-dell-mini-with-osx.html' title='Update on Dell Mini with OSX'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-927102243042197206</id><published>2009-10-08T01:21:00.000-05:00</published><updated>2009-10-08T01:32:56.886-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='jars'/><category scheme='http://www.blogger.com/atom/ns#' term='geotools'/><title type='text'>How To: Jars in a jar using Eclipse</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I wrote a utility using &lt;a href="http://www.geotools.org/"&gt;GeoTools&lt;/a&gt;&amp;nbsp;which uses a couple classes to transform geometry from one projection to another. &amp;nbsp;Projecting geometry uses EPSG definitions stored in the gt-epsg-hsql-2.5.7.jar which does not get bundled into an executable jar; for my utility to work as executable jar I needed to include the gt-epsg-hsql-2.5.7.jar. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;There are several approaches to building a jar that contains jars. &amp;nbsp;They typically involve using ant to bundle the files into the jar and a special class loader. &amp;nbsp;Writing the build.xml file and the class loader can be tedious. &amp;nbsp;Fortunately, the &lt;a href="http://fjep.sourceforge.net/"&gt;Fat Jar eclipse plugin&lt;/a&gt; simplifies the process and includes the One-JAR class loader. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Installing the plugin can be done using Software Updates:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss1458serII/AAAAAAAAAMQ/5icayuxRHiY/s1600-h/Picture+13.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss1458serII/AAAAAAAAAMQ/5icayuxRHiY/s200/Picture+13.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Click on Add Site&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss15YWxITXI/AAAAAAAAAMY/Y5Y0gWFRYMw/s1600-h/Picture+14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss15YWxITXI/AAAAAAAAAMY/Y5Y0gWFRYMw/s400/Picture+14.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Enter the web site URL&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss16D_hmYmI/AAAAAAAAAMg/BlJXcLRF21E/s1600-h/Picture+15.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss16D_hmYmI/AAAAAAAAAMg/BlJXcLRF21E/s320/Picture+15.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Select the Fat Jar plugin and click on Install&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss16xQes7nI/AAAAAAAAAMo/_dLZPOlMrsM/s1600-h/Picture+17.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss16xQes7nI/AAAAAAAAAMo/_dLZPOlMrsM/s320/Picture+17.png" /&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Click Finish&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_pYE2kH0wQFY/Ss19BJOU1TI/AAAAAAAAAMw/XMT69r-x-ik/s1600-h/Picture+18.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pYE2kH0wQFY/Ss19BJOU1TI/AAAAAAAAAMw/XMT69r-x-ik/s320/Picture+18.png" /&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Restart eclipse to finish the installation.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;To build your project with external jars included, click on Export&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_pYE2kH0wQFY/Ss1_VNps99I/AAAAAAAAAM4/h7Q9BESAUSo/s1600-h/Picture+5.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pYE2kH0wQFY/Ss1_VNps99I/AAAAAAAAAM4/h7Q9BESAUSo/s400/Picture+5.png" /&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Click on Other and select the Fat Jar Exporter&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss1_9Xfc-DI/AAAAAAAAANA/8llR0rRSX-E/s1600-h/Picture+8.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss1_9Xfc-DI/AAAAAAAAANA/8llR0rRSX-E/s200/Picture+8.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Select the project&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss2AggTzD4I/AAAAAAAAANI/fuKALpWKrA4/s1600-h/Picture+9.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss2AggTzD4I/AAAAAAAAANI/fuKALpWKrA4/s200/Picture+9.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Enter the name of the output jar, select the main class, and check off the One-JAR option to use the One-JAR class loader.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_pYE2kH0wQFY/Ss2BSyOJEOI/AAAAAAAAANY/boJonYB4RvM/s1600-h/Picture+12.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pYE2kH0wQFY/Ss2BSyOJEOI/AAAAAAAAANY/boJonYB4RvM/s200/Picture+12.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Clicking on next opens a dialog to select the jars to include, the default selects all external jars. &amp;nbsp;Unlike a typical executable jar, all the imported classes are not included so take the default and click on finish. &amp;nbsp;The Fat Jar plugin will build the jar with the external jars included, note that the final jar can become quite large.&lt;/span&gt;&lt;/span&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/3812785271700903620-927102243042197206?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/927102243042197206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/10/how-to-jars-in-jar-using-eclipse.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/927102243042197206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/927102243042197206'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/10/how-to-jars-in-jar-using-eclipse.html' title='How To: Jars in a jar using Eclipse'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pYE2kH0wQFY/Ss1458serII/AAAAAAAAAMQ/5icayuxRHiY/s72-c/Picture+13.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-6488693855498162561</id><published>2009-09-25T18:21:00.000-05:00</published><updated>2009-09-25T23:26:29.635-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cello'/><title type='text'>Flying with a cello, part 2</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;On my return flight, I arrived at the airport three hours early expecting more ticketing fun and games. &amp;nbsp;Sure enough, even though everything (according to the Southwest ticket agents) was done correctly, the ticket agents ended up calling Southwest's Dallas headquarters to get a special dispensation to release my tickets. &amp;nbsp; Everyone at Southwest was very helpful; at one point a ticket agent was holding a phone in each ear at the same time. &amp;nbsp;The whole process took about 30 minutes to issue a boarding pass. &amp;nbsp;Southwest has an open seating policy, so I was told to talk to the gate agents when boarding. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Going through security was uneventful. &amp;nbsp;The case fit through the xray machine with a little room to spare. &amp;nbsp;I was not asked to remove the end pin. &amp;nbsp;Walking through the airport was kind of fun; people smiled and parents would tell their children to look at the cello. &amp;nbsp;I might as well have been leading a llama through the concourse, because as everyone knows people love llamas.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;At the gate, I asked the boarding agent about when to board and what were Southwest's regulations concerning the transport of cellos. &amp;nbsp;She didn't know if there were any regulations, but she let me board with the families with small children so I could find a pair of seats more easily. &amp;nbsp;Once on board, the stewards and stewardesses knew that I was flying with a cello and led me to the last row of seats. I also asked for a seat belt extender to secure the cello case. &amp;nbsp;The space between the seats was not large enough to fit the cello case so I had to pull up the seat cushion. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I've always been hesitant about pulling up seat cushions on a plane ever since my cell phone slipped between the seat crack on a flight soon after 9/11. &amp;nbsp;When I pulled up the seat cushion that time, I found a number of bullets in the seat presumably left by an air marshall. &amp;nbsp;Long story short, the flight was delayed and I received the evil eye from the other passengers.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_pYE2kH0wQFY/Sr2XwXoQd1I/AAAAAAAAAMI/QtjKO83_bk4/s1600-h/2009-09-25+09.40.37.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_pYE2kH0wQFY/Sr2XwXoQd1I/AAAAAAAAAMI/QtjKO83_bk4/s400/2009-09-25+09.40.37.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Happily there were only stale peanuts and I secured the cello by sliding the seatbelt through the handle. &amp;nbsp;The flight was uneventful and the cello arrived safe and sound.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I would say that the important stuff about transporting a cello on a plane are:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Give yourself lots of time to deal with ticketing problems and to avoid the stress of trying to make a flight when there are long security lines.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Talk to the ticket agents and gate agents, they will help expedite the process.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Take a direct flight if you can.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;If you have to take connecting flight, give yourself plenty of time between connections.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Smile a lot, it really does help make things go smoothly.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&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/3812785271700903620-6488693855498162561?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/6488693855498162561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/09/flying-with-cello-part-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6488693855498162561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/6488693855498162561'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/09/flying-with-cello-part-2.html' title='Flying with a cello, part 2'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pYE2kH0wQFY/Sr2XwXoQd1I/AAAAAAAAAMI/QtjKO83_bk4/s72-c/2009-09-25+09.40.37.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-1098797794676878888</id><published>2009-09-19T09:25:00.000-05:00</published><updated>2009-09-19T09:25:15.401-05:00</updated><title type='text'>Flying with a cello, part 1</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I moved to Texas in June but I left my cello in Maryland because I thought I would be spending more time in Maryland. &amp;nbsp;However, it didn't work out that way so I'm flying it back with me. &amp;nbsp;I researched a couple of options, one of which was to purchase a a flight case for my Bobelock 2000 cello case with the intent of checking the cello in as luggage. &amp;nbsp;Apparently there are travel cases for Bobelock cases, but they are not the same as flight cases. &amp;nbsp;The only flight case I could find was for Bam cases and they cost around $700. &amp;nbsp;Not sure that my Bobelock case would fit &amp;nbsp;and that the return flight was less than $100, I decided to buy my cello a seat.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I usually fly Southwest between San Antonio and Baltimore (BWI) because they have a direct and they're convenient. &amp;nbsp;I first booked my round trip ticket online and called reservations to book a seat for the cello. &amp;nbsp;The agent was very helpful and she reserved a seat for the cello and tied that ticket to my roundtrip ticket. &amp;nbsp;When buying a seat for an inanimate object, they issue the ticket in your name with an IXS suffix (Inanimate Xtra Seat, I think). &amp;nbsp;It took more than one try and they issued a couple of confirmation emails but it all seemed to work - until I tried to check.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;When I tried to checkin at the kiosk, I was told to see a gate agent. &amp;nbsp;Apparently, Southwest's reservation system was unhappy that my return trip included a second seat under my name and it wouldn't let me checkin. &amp;nbsp;Southwest solution was to break my reservations into individual legs, i.e. three one way tickets. &amp;nbsp;They issued new confirmation tickets for the return flight, but the cello's ticket lacks the IXS suffix, so we shall see.&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/3812785271700903620-1098797794676878888?l=sproke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sproke.blogspot.com/feeds/1098797794676878888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sproke.blogspot.com/2009/09/flying-with-cello-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1098797794676878888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812785271700903620/posts/default/1098797794676878888'/><link rel='alternate' type='text/html' href='http://sproke.blogspot.com/2009/09/flying-with-cello-part-1.html' title='Flying with a cello, part 1'/><author><name>sophia</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812785271700903620.post-5791174428618234963</id><published>2009-09-07T07:22:00.000-05:00</published><updated>2009-09-08T08:01:02.603-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gamaray'/><category scheme='http://www.blogger.com/atom/ns#' term='myTouch'/><category scheme='http://www.blogger.com/atom/ns#' term='Augmented Reality'/><category scheme='http://www.blogger.com/atom/ns#' term='Layar'/><category scheme='http://www.blogger.com/atom/ns#' term='Wikitude'/><title type='text'>Augmented Reality and Android: This is not the droid I'm looking for</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"   style="font-family:verdana, serif;color:#551A8B;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&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;Brother Cavil:&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; In all your travels, have you ever seen a star go supernova?&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;Ellen Tigh:&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; No.&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;Brother Cavil:&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; No? Well, I have. I saw a star explode and send out the building blocks of the Universe. Other stars, other planets and eventually other life. A supernova! Creation itself! I was there. I wanted to see it and be part of the moment. And you know how I perceived one of the most glorious events in the universe? With these ridiculous gelatinous orbs in my skull! With eyes designed to perceive only a tiny fraction of the EM spectrum. With ears designed only to hear vibrations in the air.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana, serif;"&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, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Battlestar Galactica [No Exit]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&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;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;My Blackberry died of a broken USB connector a few weeks back and I replaced it with a myTouch; or as it is more geekily known, the second Android phone (this distinction in branding is important and I'll get back to it later).  As with any new toy/technology, I can't resist loading the latest geek ware in an effort to break it.  August was the Augmented Reality (AR) &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.socialmedian.com/network/augmented-reality"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;news&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://www.ugotrade.com/2009/08/03/augmented-reality-bigger-than-the-web-second-interview-with-robert-rice-from-neogence-enterprises/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;month&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; with Bruce Sterling &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.vimeo.com/6189763"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;playing beaming father&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 the fledgling industry; so what better way to try out new hardware than loading up a bunch of apps that make full use of the platform?&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana, serif;"&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, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The Android based phones seems to be platform du jour for AR because of hardware access to the GPS, accelerometer, compass, and 3G (for the majority of the time). Augmented reality apps for iPhones have been recently released with the advent of the iPhone 3gs, and since the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://gigaom.com/2009/08/27/how-big-is-apple-iphone-app-economy-the-answer-might-surprise-you/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;iPhone apps market&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; is estimated to be worth 2.4 billion USD, in comparison to Android's &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.informationweek.com/blog/main/archives/2009/03/the_android_mar.html;jsessionid=X3AFLCRV23EAJQE1GHOSKH4ATMY32JVN"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;miniscule&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://larvalabs.com/blog/iphone/android-market-sales/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;apps market&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;, expect AR apps to &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.macrumors.com/2009/06/16/layar-shows-augmented-reality-possibilities-on-iphone-3g-s/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;migrate&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 the iPhone real soon now. Returning to the branding issue, Joe Lamantia raises the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.joelamantia.com/user-experience-ux/geek-to-chic-cultural-branding-of-augmented-reality-experiences"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;geek-to-chic&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; issue that will impact the future development of AR platforms.&lt;/span&gt;&lt;/span&gt;&lt;/span&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-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;I loaded &lt;/span&gt;&lt;a href="http://layar.com/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Layar&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;, &lt;/span&gt;&lt;a href="http://www.wikitude.org/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wikitude&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://www.gamaray.com/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Gamaray&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; and used them for a couple of weeks across different environments ranging from the suburbs and urban areas in Texas, Maryland, and New York City, inside and outside buildings, and while stationary and moving (car, train, plane).  Comparisons are not terribly useful since they are very similar in function.  In general, Layar currently has the most data layers but searching seems limited; for example a search for "sushi" returned no results but "food" did return results, but not always relevant.  Wikitude imprints the closest street address if you take a photo, but I don't know if it writes the location data to the exif.  Gamaray allows you to create content (including the insertion of 3D objects) without a developer key à la KML.&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;/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;There are annoyances related to hardware.  Getting a position fix on the myTouch's GPS can take over 2 minutes, and sometimes a reboot is necessary to kick the GPS out of its locational funk.  Apparently, the iPhone also suffers from this &lt;/span&gt;&lt;/span&gt;&lt;a href="http://twitter.com/DavidStephenson/status/3798472351"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;problem&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;.  Layar and Wikitude handle this by using the last known position and Gamaray just refuses to start with a current position fix.  AR apps are frequently rendered useless when in inside a building or in a moving vehicle.  New York City's buildings create an urban canyon effect that hinders reception of GPS signals.  This is unfortunate because AR apps seem to be targeted at the built environment.&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;/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;For me, the biggest shortcomings of the current crop of AR apps has been the user experience, the lack interesting content, and the use of only locational sensors.  I'll address them individually within the context of &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Joe Lamantia's article detailing four common &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.uxmatters.com/mt/archives/2009/08/inside-out-interaction-design-for-augmented-reality.php"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;AR user interaction patterns&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;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&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;ul&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;Heads Up Display - "&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="  line-height: 18px; "&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;information about the real objects are added to a fixed point of view, typically the focus of the user’s visual field."&lt;/span&gt;&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;Tricorder - "&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="  line-height: 17px; "&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;add pieces of information to an existing real-world experience, representing them directly within the combined, augmented-reality, or mixed-reality experience."&lt;/span&gt;&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;Holochess -&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="  line-height: 17px; "&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; "adds new and wholly virtual objects directly into the augmented experience, combining them with existing, real objects. The virtual items in Holochess interaction patterns often interact with one another—and sometimes with the real elements of the mixed-reality experience."&lt;/span&gt;&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;X-ray vision - &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="  line-height: 17px; "&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"simulates seeing beneath the surface of objects, people, or places, showing their internal structure or contents. AR experiences using the X-ray Vision pattern often use a combination of projection and rendering—frequently, a schematic or abstracted rendering—of the object of interest"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&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&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana, serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;UX sucks&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&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&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&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 style="text-align: center;"&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;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 288px; height: 216px;" src="http://www.moteinteractive.com/tutorials/gameDev/battlezone.gif" border="0" alt="" /&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;Layar, Wikitude and Gamaray use a hybrid of the the Heads Up Display and the the Tricorder.  My main pet peeve is the use of the Heads Up Display interaction pattern which is represented as a radar like scope with a wedge representing the field of view.  Don't get me wrong, I spent many happy hours playing Battle Zone, but when I have to physically rotate the device (and myself) to see objects to my side or behind me, a simple 2D map is a more practical interface.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&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;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&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;img style="display:block; margin:0px auto 10px; t
