<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml">

<channel>
	<title>tommy&#039;s scratchpad</title>
	<atom:link href="http://www.kralidis.ca/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kralidis.ca/blog</link>
	<description>I use this blog to post my thoughts and random stuff from time to time.  See my About page for more info about me.  Note that my views and opinions expressed here are my own and do not reflect the views of my employer</description>
	<lastBuildDate>Fri, 27 Jan 2012 00:32:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>pycsw performance improvements</title>
		<link>http://www.kralidis.ca/blog/2011/10/09/pycsw-performance-improvements/</link>
		<comments>http://www.kralidis.ca/blog/2011/10/09/pycsw-performance-improvements/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 17:54:42 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=584</guid>
		<description><![CDATA[UPDATE 26 January 2012: the benchmarks on the improvements below were done against my home dev server (2.8 GHz, 1GB RAM).  Benchmarking recently on a modern box yielded 3.6 seconds with maxrecords=10000 (!). pycsw does a pretty good job of implementing OGC CSW.  All CITE tests pass, configuration is painless, and performance is great.  To [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2011/10/09/pycsw-performance-improvements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>45.568992 -73.726081</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>CSW and repository thoughts</title>
		<link>http://www.kralidis.ca/blog/2011/05/06/csw-and-repository-thoughts/</link>
		<comments>http://www.kralidis.ca/blog/2011/05/06/csw-and-repository-thoughts/#comments</comments>
		<pubDate>Fri, 06 May 2011 13:19:46 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=559</guid>
		<description><![CDATA[CSW allows for querying various metadata models (e.g. Dublin Core, ISO).  In pycsw, our current model is to manage one repository per metadata model (or &#8216;typename&#8217; in CSW speak).  That said, we setup each repository to have one column per &#8216;queryable&#8217; (as defined in CSW and application profiles), which we parse when loading metadata.  We [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2011/05/06/csw-and-repository-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>validating XML requests with Python and lxml</title>
		<link>http://www.kralidis.ca/blog/2011/04/21/validating-xml-requests-with-python-and-lxml/</link>
		<comments>http://www.kralidis.ca/blog/2011/04/21/validating-xml-requests-with-python-and-lxml/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 12:44:07 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=555</guid>
		<description><![CDATA[While working on pycsw, we found that there was a significant amount of code involved in processing the HTTP POST requests coming across as XML.  Since lxml is used as for XML support, why not use its native XML validation facilities?  We implemented this rather quickly, but found validation was taking up to 10 seconds.  [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2011/04/21/validating-xml-requests-with-python-and-lxml/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>help wanted: baking a CSW server in Python</title>
		<link>http://www.kralidis.ca/blog/2011/02/04/help-wanted-baking-a-csw-server-in-python/</link>
		<comments>http://www.kralidis.ca/blog/2011/02/04/help-wanted-baking-a-csw-server-in-python/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 14:50:09 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=549</guid>
		<description><![CDATA[Seemingly buried in geospatial metadata and discovery, I&#8217;ve been developing a my share of CSW/ISO/Dublin Core parsers, generators and clients.  OWSLib is able to interact with CSW servers, handling csw:Record, ISO 19139:2007, as well as DIF.  OWSLib is also the underlying library used by the NextGIS folks in developing a QGIS CSW Client (big thanks [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2011/02/04/help-wanted-baking-a-csw-server-in-python/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>OWSLib CSW action</title>
		<link>http://www.kralidis.ca/blog/2010/10/14/owslib-csw-action/</link>
		<comments>http://www.kralidis.ca/blog/2010/10/14/owslib-csw-action/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 16:01:57 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=544</guid>
		<description><![CDATA[(sorry, I&#8217;ve been busy in the last few months, hence no blogposts) Update: almost at the same time I originally posted this, Sean set me up on the http://gispython.org blog, so I&#8217;ve moved this post there. Written from home:]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/10/14/owslib-csw-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>Geoprocessing with OGR and PyWPS</title>
		<link>http://www.kralidis.ca/blog/2010/06/25/geoprocessing-with-ogr-and-pywps/</link>
		<comments>http://www.kralidis.ca/blog/2010/06/25/geoprocessing-with-ogr-and-pywps/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 18:14:23 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=497</guid>
		<description><![CDATA[PyWPS is a neat Python package supporting the OGC Web Processing Service standard.  Basic setup and configuration can be found in the documentation, or Tim&#8217;s useful post. I&#8217;ve been working on a demo to expose the OGR Python bindings for geoprocessing (buffer, centroid, etc.). Here&#8217;s an example process to buffer a geometry (input as WKT), [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/06/25/geoprocessing-with-ogr-and-pywps/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>Tips on Finding a Job</title>
		<link>http://www.kralidis.ca/blog/2010/06/18/tips-on-finding-a-job/</link>
		<comments>http://www.kralidis.ca/blog/2010/06/18/tips-on-finding-a-job/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 17:27:30 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[personal]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=494</guid>
		<description><![CDATA[Great post by Dave here on his experience and suggestions / ideas on finding a job.  Upbeat, positive and encouraging.  Congratulations and good post Dave! Written from Starbucks in Laval:]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/06/18/tips-on-finding-a-job/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>45.568007 -73.727295</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>Displaying GRIB data with MapServer</title>
		<link>http://www.kralidis.ca/blog/2010/06/04/displaying-grib-data-with-mapserver/</link>
		<comments>http://www.kralidis.ca/blog/2010/06/04/displaying-grib-data-with-mapserver/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 23:02:07 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=485</guid>
		<description><![CDATA[I recently had the opportunity to prototype WMS visualization of meteorological data.  MapServer, GDAL and Python to the rescue!  Here are the steps I took to make it happen. The data, (GRIB), is a GDAL supported format, so MapServer can handle processing as a result.  The goal here was to create a LAYER object.  First [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/06/04/displaying-grib-data-with-mapserver/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>OWSLib CSW Updates and Implementation Thoughts</title>
		<link>http://www.kralidis.ca/blog/2010/05/07/owslib-csw-updates-and-implementation-thoughts/</link>
		<comments>http://www.kralidis.ca/blog/2010/05/07/owslib-csw-updates-and-implementation-thoughts/#comments</comments>
		<pubDate>Sat, 08 May 2010 01:34:28 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=477</guid>
		<description><![CDATA[I&#8217;ve had some time to work on CSW support in OWSLib in the last few days.  Some thoughts and updates: FGDC Support Added Some CSW endpoints out there serve up GetRecords responses in FGDC CSDGM format.  This has now been added to trunk (mandatory elements + eainfo).  Note that csw:Record (DMCI + ows:BoundingBox) and ISO [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/05/07/owslib-csw-updates-and-implementation-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>Batch Centroid Calculations with Python and OGR</title>
		<link>http://www.kralidis.ca/blog/2010/04/28/batch-centroid-calculations-with-python-and-ogr/</link>
		<comments>http://www.kralidis.ca/blog/2010/04/28/batch-centroid-calculations-with-python-and-ogr/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 14:19:16 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=465</guid>
		<description><![CDATA[I recently had a question on how to do batch centroid calculations against GIS data. OGR to the rescue again! Using OGR&#8217;s Python bindings (GDAL/OGR needs to be built &#8211;with-geos=yes), one can process, say, an ESRI Shapefile, and calculate a centroid for each feature. The script below does exactly this, and writes out a new [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/04/28/batch-centroid-calculations-with-python-and-ogr/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>45.500647 -73.554947</gml:pos>
			</gml:Point>
		</georss:where>	</item>
	</channel>
</rss>

