<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>PerryGeo</title>
	<link>http://www.perrygeo.net/wordpress</link>
	<description>Matt Perry's random adventures with geospatial technology and other tangentially related topics</description>
	<pubDate>Wed, 09 Jun 2010 14:27:55 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>kmltree</title>
		<link>http://www.perrygeo.net/wordpress/?p=149</link>
		<comments>http://www.perrygeo.net/wordpress/?p=149#comments</comments>
		<pubDate>Wed, 09 Jun 2010 14:27:55 +0000</pubDate>
		<dc:creator>perrygeo</dc:creator>
		
		<category><![CDATA[MarineMap]]></category>

		<guid isPermaLink="false">http://www.perrygeo.net/wordpress/?p=149</guid>
		<description><![CDATA[When the MarineMap team started delving into the Google Earth plugin, it was apparent that it supported the display and rendering of KML files almost as well as the Google Earth desktop application. The missing piece of functionality was the nice tree-style legend that is provided with the desktop app. The plugin lets you add [...]]]></description>
			<content:encoded><![CDATA[<p>When the <a href="http://marinemap.org">MarineMap</a> team started delving into the <a href="http://earth.google.com/plugin/">Google Earth plugin</a>, it was apparent that it supported the display and rendering of KML files <em>almost</em> as well as the Google Earth desktop application. The missing piece of functionality was the nice tree-style legend that is provided with the desktop app. The plugin lets you add KML for display but gives you no HTML interface to work with it. For simple apps, you can just roll your own html/js form. But that quickly becomes unmanageable if you&#8217;re adding KML dynamically and need to create a tree-style legend for any arbitrary KML document. </p>
<p>Enter <a href="http://code.google.com/p/kmltree/">kmltree</a>. </p>
<blockquote><p>
kmltree is a javascript tree widget that can be used in conjunction with the Google Earth API. It replicates the functionality of the Google Earth desktop client, and is fast, extensible, and stable for use in advanced web applications. It&#8217;s built utilizing the earth-api-utility-library and jQuery. </p></blockquote>
<p><a href='http://www.perrygeo.net/wordpress/wp-content/uploads/2010/06/screen-shot-2010-06-09-at-81707-am.png' title='kmltree'><img src='http://www.perrygeo.net/wordpress/wp-content/uploads/2010/06/screen-shot-2010-06-09-at-81707-am.png' width="550" alt='kmltree' /></a></p>
<p>Any arbitrary KML can be parsed and represented in a tree-style legend right in the web browser. <a href="http://kmltree.googlecode.com/hg/examples/refresh.html">Try it out</a>.</p>
<p>Kmltree is the brainchild of <a href="http://www.google.com/profiles/underbluewaters">Chad Burt</a> who developed it as part of the marinemap codebase but had the foresight to realize that this would be useful to a much wider audience and abstracted it into its own javascript library. If you&#8217;re building a web mapping application with the Google Earth API, give it a shot!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perrygeo.net/wordpress/?feed=rss2&amp;p=149</wfw:commentRss>
		</item>
		<item>
		<title>MarineMap wins award for Environmental Conflict Resolution</title>
		<link>http://www.perrygeo.net/wordpress/?p=148</link>
		<comments>http://www.perrygeo.net/wordpress/?p=148#comments</comments>
		<pubDate>Thu, 27 May 2010 23:36:07 +0000</pubDate>
		<dc:creator>perrygeo</dc:creator>
		
		<category><![CDATA[MarineMap]]></category>

		<guid isPermaLink="false">http://www.perrygeo.net/wordpress/?p=148</guid>
		<description><![CDATA[For the last year or so, I&#8217;ve had the pleasure of working with the MarineMap Consortium. We just learned yesterday that the U.S. Institute for Environmental Conflict Resolution awarded MarineMap the “Innovation in Technology and Environmental Conflict Resolution”.




I joined the team after the launch of the South Coast of California site which was already widely [...]]]></description>
			<content:encoded><![CDATA[<p>For the last year or so, I&#8217;ve had the pleasure of working with the <a href="http://www.marinemap.org">MarineMap Consortium</a>. We just learned yesterday that the U.S. Institute for Environmental Conflict Resolution <a href="http://eon.businesswire.com/portal/site/eon/permalink/?ndmViewId=news_view&#038;newsId=20100526007072&#038;newsLang=en">awarded</a> MarineMap the “Innovation in Technology and Environmental Conflict Resolution”.</p>
<p><object width="640" height="385">
<param name="movie" value="http://www.youtube.com/v/HcCuO1jmK_s&#038;hl=en_US&#038;fs=1&#038;"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/HcCuO1jmK_s&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></p>
<p>I joined the team after the launch of the <a href="http://southcoast.marinemap.org/marinemap/">South Coast of California</a> site which was already widely recognized as a successful decision-support tool for marine spatial planning. We&#8217;ve since been working on version 2 of the MarineMap tool which is deployed currently for the <a href="http://northcoast.marinemap.org/marinemap">North Coast of California</a> in support of their Marine Life Protection Act (MLPA) process. </p>
<p>It&#8217;s been a tremendous challenge to bring a <a href="http://code.google.com/p/marinemap/">new version of the software</a> to life and have it meet and exceed the standards set by its predecessor. It has also been tremendously rewarding and having our work recognized at this level is a great honor. It&#8217;s nice to know that the tools we&#8217;ve developed have been so helpful and instrumental in the marine planning process along the coast of California. Looking forward, I see MarineMap growing beyond a tool for a specific purpose (supporting the MLPA Initiative) to a robust framework for developing web-based spatial planning tools for all sorts of environmental applications, both marine and terrestrial. And this award confirms that we are already heading in the right direction. Very exciting news!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perrygeo.net/wordpress/?feed=rss2&amp;p=148</wfw:commentRss>
		</item>
		<item>
		<title>Exploring Geometry</title>
		<link>http://www.perrygeo.net/wordpress/?p=143</link>
		<comments>http://www.perrygeo.net/wordpress/?p=143#comments</comments>
		<pubDate>Fri, 07 May 2010 02:35:54 +0000</pubDate>
		<dc:creator>perrygeo</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.perrygeo.net/wordpress/?p=143</guid>
		<description><![CDATA[I don&#8217;t know how I let this gem slip past my radar for so long. It was only via a post by Dr. JTS himself (aka Martin Davis) that I saw a screenshot of JTS TestBuilder and decided to check it out. 
I was actually just talking with someone about a tool that could provide [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know how I let this gem slip past my radar for so long. It was only via <a href="http://lin-ear-th-inking.blogspot.com/2010/05/random-points-in-polygon-in-jts.html">a post by Dr. JTS</a> himself (aka Martin Davis) that I saw a screenshot of JTS TestBuilder and decided to check it out. </p>
<p>I was actually just talking with someone about a tool that could provide simple visualization of WKT geometries;  JTS Test Builder does that and much more. </p>
<p>You can input geometries (graphically or by well-known text) and compare two geometries based on spatial predicates:</p>
<p><a href='http://www.perrygeo.net/wordpress/wp-content/uploads/2010/05/screen-shot-2010-05-06-at-81418-pm.png' title='spatial predicates'><img src='http://www.perrygeo.net/wordpress/wp-content/uploads/2010/05/screen-shot-2010-05-06-at-81418-pm.png' alt='spatial predicates' width='400' /></a></p>
<p>Do overlay analyses with the two geometries. Note that you can see the result as WKT below.</p>
<p><a href='http://www.perrygeo.net/wordpress/wp-content/uploads/2010/05/screen-shot-2010-05-06-at-81502-pm.png' title='overlay'><img src='http://www.perrygeo.net/wordpress/wp-content/uploads/2010/05/screen-shot-2010-05-06-at-81502-pm.png' alt='overlay' width='400'/></a></p>
<p>And there are a host of other spatial operations to generate geometries using buffers&#8230;<br />
<a href='http://www.perrygeo.net/wordpress/wp-content/uploads/2010/05/screen-shot-2010-05-06-at-81602-pm.png' title='buffers'><img src='http://www.perrygeo.net/wordpress/wp-content/uploads/2010/05/screen-shot-2010-05-06-at-81602-pm.png' alt='buffers' width='400'/></a></p>
<p>&#8230; convex hulls &#8230;<br />
<a href='http://www.perrygeo.net/wordpress/wp-content/uploads/2010/05/screen-shot-2010-05-06-at-81716-pm.png' title='convex hull'><img src='http://www.perrygeo.net/wordpress/wp-content/uploads/2010/05/screen-shot-2010-05-06-at-81716-pm.png' alt='convex hull' width='400'/></a></p>
<p>This app provides a very nice and user-friendly way to quickly and simply explore and test geometric operations. To try it out, <a href="http://sourceforge.net/projects/jts-topo-suite/">download JTS</a> and unzip the contents somewhere. If you&#8217;re on windows, the .bat file is provided. If you&#8217;re running anything else, you have to cook up a shell script that will set up the environment and run JTS TestBuilder:</p>
<blockquote><pre>
JTS_HOME=/usr/share/java/jts-1.11
CP=$CLASSPATH
for i in $JTS_HOME/lib/*.jar; do CP=$i:$CP; done
java -Xmx256m -cp $CP com.vividsolutions.jtstest.testbuilder.JTSTestBuilder $*
</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.perrygeo.net/wordpress/?feed=rss2&amp;p=143</wfw:commentRss>
		</item>
		<item>
		<title>Distributed</title>
		<link>http://www.perrygeo.net/wordpress/?p=142</link>
		<comments>http://www.perrygeo.net/wordpress/?p=142#comments</comments>
		<pubDate>Wed, 31 Mar 2010 22:06:11 +0000</pubDate>
		<dc:creator>perrygeo</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.perrygeo.net/wordpress/?p=142</guid>
		<description><![CDATA[I&#8217;ve been playing around with some distributed version control systems (DVCS) to replace svn. 
First, the why: I&#8217;ll leave the details up to Joel in his excellent HgInit tutorial. Its mercurial-specific but the general concepts apply to any DVCS. The takeaway message for any project with > 1 developer is this:
Mercurial [ed: DVCS] separates the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around with some distributed version control systems (DVCS) to replace svn. </p>
<p>First, the <em>why</em>: I&#8217;ll leave the details up to Joel in his excellent <a href="http://hginit.com/">HgInit tutorial</a>. Its mercurial-specific but the general concepts apply to any DVCS. The takeaway message for any project with > 1 developer is this:</p>
<blockquote><p>Mercurial [ed: DVCS] separates the act of committing new code from the act of inflicting it on everybody else.</p></blockquote>
<p>Next, the <em>implementation</em>: I&#8217;m using <strong>git</strong> to work on another project (<a href="http://goldencheetah.org/">Golden Cheetah</a>) and its been a tough learning curve. Git is no doubt the most powerful DVCS out there. You can do magical things with it like combine commits and mess with history trees. And you can also screw things up pretty badly if you misinterpret the esotric docs for some non-intuitive piece of the workflow. </p>
<p>I just tried <strong>mercurial</strong> this morning - hg seems to fit my mind well. There is less power but the workflow is very clear and intuitive. And there are docs written for people who don&#8217;t want to do an in-depth study of their version control software. It stays out of the way. </p>
<p>Long story short, I&#8217;m going to use mercurial/hg for my new projects. Ah what the heck my old/ongoing projects as well. My <a href="http://code.google.com/p/perrygeo/">googlecode repository</a> has been converted over to Mercurial. Svn will stick around but wont be updated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perrygeo.net/wordpress/?feed=rss2&amp;p=142</wfw:commentRss>
		</item>
		<item>
		<title>Lazy raster processing with GDAL VRTs</title>
		<link>http://www.perrygeo.net/wordpress/?p=141</link>
		<comments>http://www.perrygeo.net/wordpress/?p=141#comments</comments>
		<pubDate>Thu, 18 Feb 2010 17:16:43 +0000</pubDate>
		<dc:creator>perrygeo</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.perrygeo.net/wordpress/?p=141</guid>
		<description><![CDATA[No, not lazy as in REST  &#8230; Lazy as in &#8220;Lazy evaluation&#8220;:
In computer programming, lazy evaluation is the technique of delaying a computation until the result is required.
Take an example raster processing workflow to go from a bunch of tiled, latlong, GeoTiff digital elevation models to a single shaded relief GeoTiff in projected space:

 [...]]]></description>
			<content:encoded><![CDATA[<p>No, not lazy as in REST <img src='http://www.perrygeo.net/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> &#8230; Lazy as in &#8220;<a href="http://en.wikipedia.org/wiki/Lazy_evaluation">Lazy evaluation</a>&#8220;:</p>
<blockquote><p>In computer programming, lazy evaluation is the technique of delaying a computation until the result is required.</p></blockquote>
<p>Take an <strong>example raster processing workflow</strong> to go from a bunch of tiled, latlong, GeoTiff digital elevation models to a single shaded relief GeoTiff in projected space:</p>
<ol>
<li> Merge the tiles together </li>
<li> Reproject the merged DEM (using bilinear or cubic interpolation) </li>
<li> Generate the hillshade from the merged DEM </li>
</ol>
<p>Simple enough to do with GDAL tools on the command line. Here&#8217;s the typical, <strong>process-as-you-go</strong> implementation:</p>
<ol>
<li> gdal_merge.py -of GTiff -o srtm_merged.tif srtm_12_*.tif </li>
<li> gdalwarp -t_srs epsg:3310 -r bilinear -of GTiff srtm_merged.tif srtm_merged_3310.tif </li>
<li> gdaldem hillshade srtm_merged_3310.tif srtm_merged_3310_shade.tif -of GTiff </li>
</ol>
<p>Alternately, we can simulate <strong>lazy evaluation</strong> by using <a href="http://www.gdal.org/gdal_vrttut.html">GDAL Virtual Rasters</a> (VRT) to perform the intermediate steps, only outputting the GeoTiff as the final step. </p>
<ol>
<li>gdalbuildvrt srtm_merged.vrt srtm_12_0*.tif</li>
<li>gdalwarp -t_srs epsg:3310 -r bilinear -of VRT srtm_merged.vrt srtm_merged_3310.vrt </li>
<li>gdaldem hillshade srtm_merged_3310.vrt srtm_merged_3310_shade2.tif -of GTiff</li>
</ol>
<p>So what&#8217;s the advantage to doing it the VRT way? They both produce <em>exactly</em> the same output raster. Lets compare:</p>
<table style="text-align:center;">
<tr>
<td></td>
<td>Process-As-You-Go&nbsp;&nbsp;</td>
<td> &#8220;Lazy&#8221; VRTs</td>
</tr>
<tr>
<td>Merge (#1) time </td>
<td> 3.1 sec</td>
<td>0.05 sec </td>
</tr>
<tr>
<td>Warp (#2) time </td>
<td> 7.3 sec </td>
<td>0.10 sec </td>
</tr>
<tr>
<td>Hillshade (#3) time</td>
<td>10.5 sec </td>
<td> 19.75 sec</td>
</tr>
<tr>
<td> Total processing time</td>
<td> 20.9 sec</td>
<td>19.9 sec </td>
</tr>
<tr>
<td> Intermediate files</td>
<td>2 tifs</td>
<td>2 vrts</td>
</tr>
<tr>
<td> Intermediate file size</td>
<td>261 MB</td>
<td>0.005 MB</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<p></p>
<p>The Lazy VRT method <strong>delays all the computationally-intensive processing until it is actually required</strong>. The intermediate files, instead of containing the raw raster output of the actual computation, are XML files which contain the <em>instructions</em> to get the desired output. This allows GDAL to do all the processing in one step (the final step #3). The <em>total</em> processing time is not significantly different between the two methods but in terms of the productivity of the GIS analyst, the VRT method is superior. Imagine working with datasets 1000x this size with many more steps - having to type the command, wait 2 hours, type the next, etc. would be a waste of human resources versus assembling the instructions into vrts then hitting the final processing step when you leave the office for a long weekend.</p>
<p>Additionaly, the VRT method produces only <strong>small intermediate xml files</strong> instead of having a potentially huge data management nightmare of shuffling around GB (or TB) of intermediate outputs! Plus those xml files serve as an excellent piece of metadata which describe the exact processing steps which you can refer to later or adapt to different datasets. </p>
<p>So next time you have a multi-step raster workflow, use the GDAL VRTs to your full advantage - you&#8217;ll save yourself time and disk space by being lazy. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.perrygeo.net/wordpress/?feed=rss2&amp;p=141</wfw:commentRss>
		</item>
		<item>
		<title>Peaksware licensing revisted &#8230;</title>
		<link>http://www.perrygeo.net/wordpress/?p=140</link>
		<comments>http://www.perrygeo.net/wordpress/?p=140#comments</comments>
		<pubDate>Thu, 17 Dec 2009 02:33:42 +0000</pubDate>
		<dc:creator>perrygeo</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.perrygeo.net/wordpress/?p=140</guid>
		<description><![CDATA[I had previously bitched and moaned about the licensing restrictions on the TrainingPeaks WKO+ software. Truth be told, the reason I was so put off by their crappy licensing scheme was that my cycling training relied so heavily on their software. It was not perfect but it was the best tool available. I&#8217;ve since discovered [...]]]></description>
			<content:encoded><![CDATA[<p>I had previously <a href="http://www.perrygeo.net/wordpress/?p=138">bitched and moaned</a> about the licensing restrictions on the <a href="http://www.trainingpeaks.com/WKO">TrainingPeaks WKO+</a> software. Truth be told, the reason I was so put off by their crappy licensing scheme was that my cycling training relied so heavily on their software. It was not perfect but it was the best tool available. I&#8217;ve since discovered <a href="http://goldencheetah.org/">Golden Cheetah</a> which is a viable open-source alternative but it still lags behind WKO+ in many critical features.</p>
<p>Now, fresh in time for the 2010 training season, Peaksware has released a new version 3.0 of WKO+ which, amongst many UI and functionality improvements, has made considerable progress on the licensing front.</p>
<blockquote><p>We know, our licensing has been a challenge to deal with for our customers in the past, but we’ve always tried to be as helpful as possible getting you back up and running after a hard drive crash or new computer. To remedy this, we’re pleased to announce an all new flexible licensing system. First, with every purchase we now allow you to install WKO+ 3.0 on up to two computers; second, we’ve built an online activation/deactivation system so you are free to move your active licenses from machine to machine. Are you leaving on a 2 week trip? Just de-activate your home computer, activate your laptop, and you’re on your way. When you get home, de-actiavate your laptop, re-activate your desktop and you’re all set.</p></blockquote>
<p>It ain&#8217;t open source (there is still a place in this world for proprietary software if they can push the boundaries and innovate) but the sensitivity to the licensing issue just may have restored my faith in their company.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perrygeo.net/wordpress/?feed=rss2&amp;p=140</wfw:commentRss>
		</item>
		<item>
		<title>Nice examples of ESRIs geoprocessing python module (9.3)</title>
		<link>http://www.perrygeo.net/wordpress/?p=139</link>
		<comments>http://www.perrygeo.net/wordpress/?p=139#comments</comments>
		<pubDate>Mon, 10 Aug 2009 15:37:51 +0000</pubDate>
		<dc:creator>perrygeo</dc:creator>
		
		<category><![CDATA[ESRI]]></category>

		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.perrygeo.net/wordpress/?p=139</guid>
		<description><![CDATA[Just thought I&#8217;d point out a great presentation about the &#8220;new&#8221; 9.3 geoprocessing (gp) python module from ESRI. 
Ghislain Prince and Elizabeth Flanary do a great job of introduction by examples. The latest gp module is much more pythonic and these examples show how to leverage that to its full advantage. If you try to [...]]]></description>
			<content:encoded><![CDATA[<p>Just thought I&#8217;d point out a great presentation about the &#8220;new&#8221; 9.3 geoprocessing (gp) python module from ESRI. </p>
<p>Ghislain Prince and Elizabeth Flanary do a great job of introduction by examples. The latest gp module is much more pythonic and these examples show how to leverage that to its full advantage. If you try to do this with older gp versions, the code would make most pythonistas cringe. This latest version returns objects and lists, use real booleans, and uses true objects instead of funky string parameters. Basic OO stuff for most python libraries but a big improvement for gp. </p>
<p>Here&#8217;s the <a href="http://arcscripts.esri.com/details.asp?dbid=16509">powerpoint presentation</a>. Thanks to Jamey Rosen for the tip!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perrygeo.net/wordpress/?feed=rss2&amp;p=139</wfw:commentRss>
		</item>
		<item>
		<title>Peaksware licensing hell</title>
		<link>http://www.perrygeo.net/wordpress/?p=138</link>
		<comments>http://www.perrygeo.net/wordpress/?p=138#comments</comments>
		<pubDate>Tue, 23 Jun 2009 22:29:36 +0000</pubDate>
		<dc:creator>perrygeo</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.perrygeo.net/wordpress/?p=138</guid>
		<description><![CDATA[I&#8217;ve been using Peaksware&#8217;s WKO+, a cycling and running training tool to manage data from heart rate monitors, GPS units, power meters, etc. Its a powerful tool with a clunky UI but I&#8217;ve gotten used to it. 
You pay $100 for a &#8220;personal&#8221; license. Not a big deal to me since they basically have a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Peaksware&#8217;s WKO+, a cycling and running training tool to manage data from heart rate monitors, GPS units, power meters, etc. Its a powerful tool with a clunky UI but I&#8217;ve gotten used to it. </p>
<p>You pay $100 for a &#8220;personal&#8221; license. Not a big deal to me since they basically have a monopoly on this software niche. I first installed it on my work computer to test the data from my daily bike commute. Cool it works. Then I went to install it at home since that&#8217;s where I&#8217;ll be using it. Works ok. I proceed to gather all my fitness data into their proprietary binary format. </p>
<p>Fast forward a few months. I&#8217;m reformatting the hard drive on the laptop and want to move all my data and software to my desktop. But installing WKO+ is giving me a headache (&#8221;Error: Too many installations&#8221;). The registration process takes a hardware fingerprint and your must active it via the web to get a registration code. However, hidden withing their EULA, is a term which <strong>dissallows the transfer of license</strong> to another computer other than the one to which it was originally installed. The second installation was just an allowance they make to allow for &#8220;hard drive crashes&#8221; and such.</p>
<p> Since neither of those machines would be available to me, certainly there would be a way to transfer it? After several progressively more desperate communications with Matt Allen at peaksware support, he informed me that there was no way they would transfer the license (the non-transfer clause IS in the EULA after all). <strong>I would need to purchase another license simply because I switched computers</strong>!</p>
<p>Here is my response:</p>
<blockquote><p>
Basically what you are telling me is that I can no longer use WKO+<br />
without paying again. I get to use the software for a few months and<br />
you revoke my right to use it because I buy a new computer! I am a<br />
paying customer, trying to be totally legit here, willing to support<br />
your business in exchange for a license to use your software and you<br />
insist on screwing me over. Brilliant.</p>
<p>This is one of the most unprofessional and idiotic stances I have ever<br />
seen from a software company. Your intention appears to be to screw<br />
over your paying customers and milk as much cash from them as possible<br />
- you might want to rethink that business model unless you want to<br />
loose customers! I will never endorse, recommend or purchase another<br />
product or service from peaksware nor will any of my family, friends,<br />
teammates or readers once the word gets out about your disrespectful<br />
policies.</p>
<p>There are numerous typical situations where a new copy of the software<br />
would need to be installed including:</p>
<p>* Hard drive failure<br />
* Operating system upgrades<br />
* New computer purchases<br />
* Extended traveling and touring (installing onto a laptop or netbook)</p>
<p>Now I fully understand why your policy is one license per computer. It<br />
makes perfect sense. I have seen plenty of other software with a<br />
similar licensing model. But they also allow to uninstall the software<br />
and re-register it on another computer due to these circumstances.<br />
There is simply no technological reason why you could not implement a<br />
licensing structure that allowed the user more freedom to transfer<br />
licenses while still preventing piracy. As it stands, your licensing<br />
model treats paying customers like criminals if they happen to run<br />
across any one of the above situations.</p>
<p>So, to sum it up - your foolish license policy has lost you one<br />
customer and many future ones.</p>
<p>Good riddance.</p></blockquote>
<p>So if you want to support a company that treats its paying customers like criminals because they get a new computer, go right ahead and support Peaksware. But anyone who expects to use software that they pay for even if they happen to buy a new computer should steer clear.</p>
<p>The real kicker is that all that work is locked away in their proprietary file format simply because of their draconian licensing. This is the real take home lesson to all software users (not just fitness geeks): <strong>If you lock your data away in a proprietary format and are beholden to a single company in order to access it, they can and will screw you. Always insist on open data formats, even if using proprietary software</strong>. Oh and always read the EULA carefully before clicking OK!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perrygeo.net/wordpress/?feed=rss2&amp;p=138</wfw:commentRss>
		</item>
		<item>
		<title>Reading XFS partition from Windows</title>
		<link>http://www.perrygeo.net/wordpress/?p=137</link>
		<comments>http://www.perrygeo.net/wordpress/?p=137#comments</comments>
		<pubDate>Sun, 21 Jun 2009 16:09:30 +0000</pubDate>
		<dc:creator>perrygeo</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.perrygeo.net/wordpress/?p=137</guid>
		<description><![CDATA[When I was setting up my linux system a few years ago, I did some research into filesystems and determined that the XFS file system, being particularly proficient in dealing with large files, would be ideal for my home directory. And it was. But the one factor I didn&#8217;t consider was portability. Turns out that [...]]]></description>
			<content:encoded><![CDATA[<p>When I was setting up my linux system a few years ago, I did some research into filesystems and determined that the <a href="http://en.wikipedia.org/wiki/XFS">XFS file system</a>, being particularly proficient in dealing with large files, would be ideal for my home directory. And it was. But the one factor I didn&#8217;t consider was portability. Turns out that there is basically no support for XFS in windows. </p>
<p>So how do you access your files from Windows if they are on an XFS partition? I had just shy of 1 TB of data to transfer so using my other linux box and transferring across the network would have taken forever. The solution I came up with is a bit convoluted but it has some real advantages:</p>
<p>1) Install Sun&#8217;s VirtualBox.<br />
2) Download an iso for your favorite linux distribution (mine being Ubuntu 9.04)<br />
3) Create a virtual machine from the linux iso<br />
4) Install the VBOxGuestAdditions in the linux virtual machine.<br />
5) Create a Share folder on the windows host and register it with the virtual machine. This will allow you to transfer files from the guest (linux) to the host(windows) You may have to manually mount the drive in the linux guest:</p>
<pre>mount -t vboxsf share_name /mnt/share_name</pre>
<p>6) Using the windows host cmd line, create a vmdk from the physical drive that your XFS partition resides on. In this case, PhysicalDrive1 corresponds to the second SATA connector. This will allow your guest OS to talk directly with the drive:</p>
<pre>cd C:\Program Files\Sun\xVM VirtualBox
VBoxManage.exe internalcommands createrawvmdk
  -filename "C:\Documents and Settings\perry\.VirtualBox\HardDisks\Physical1.vmdk"
  -rawdisk \\.\PhysicalDrive1 -register</pre>
<p>Once completed, you should see:<br />
<em>
<pre>
RAW host disk access VMDK file
C:\Documents and Settings\perry\.VirtualBox\HardDisks\Physical1.vmdk created successfully.</pre>
<p></em></p>
<p>7) Make sure to add the physical drive to your list of hard drives in the linux guest options. Restart the linux guest virtual machine and your XFS partition should already be mounted. Now you can begin transfering files between your XFS partition and the shared folder on the windows host.</p>
<p>Whew. Lots of hassle for a simple file transfer, right! But the side benefit is that now you have a fully functional linux virtual machine with a shared folder set up to the windows host. Very useful - even when you must run windows, it helps to have a linux VM standing by!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perrygeo.net/wordpress/?feed=rss2&amp;p=137</wfw:commentRss>
		</item>
		<item>
		<title>IronPython (2.6) and ArcGIS - ready for prime time!!</title>
		<link>http://www.perrygeo.net/wordpress/?p=136</link>
		<comments>http://www.perrygeo.net/wordpress/?p=136#comments</comments>
		<pubDate>Tue, 16 Jun 2009 22:43:08 +0000</pubDate>
		<dc:creator>perrygeo</dc:creator>
		
		<category><![CDATA[ESRI]]></category>

		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.perrygeo.net/wordpress/?p=136</guid>
		<description><![CDATA[Not sure why this didn&#8217;t occur to me before I wrote that last post but I tried the &#8220;pythonic&#8221; version of the code under the IronPython 2.6 Beta 1 release and it works!
lyr = Carto.LayerFileClass()
lyr.Open('C:\\test.lyr')
print lyr.Filename

Works perfectly now. So IronPython 2.6 promises to be a viable option for extending ArcGIS. My enthusiasm has been renewed.
]]></description>
			<content:encoded><![CDATA[<p>Not sure why this didn&#8217;t occur to me <em>before</em> I wrote <a href="http://www.perrygeo.net/wordpress/?p=135">that last post</a> but I tried the &#8220;pythonic&#8221; version of the code under the <a href="http://ironpython.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25126">IronPython 2.6 Beta 1</a> release and it works!</p>
<pre>lyr = Carto.LayerFileClass()
lyr.Open('C:\\test.lyr')
print lyr.Filename
</pre>
<p>Works perfectly now. So IronPython <strong>2.6</strong> promises to be a viable option for extending ArcGIS. My enthusiasm has been renewed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perrygeo.net/wordpress/?feed=rss2&amp;p=136</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.508 seconds -->
