Sean Gillies (Posts about foss4g)https://sgillies.net/tags/foss4g.atom2023-12-31T01:26:25ZSean GilliesNikolaPython at FOSS4G 2014https://sgillies.net/2014/09/15/python-at-foss4g-2014.html2014-09-15T00:00:00-06:002014-09-15T00:00:00-06:00Sean Gillies<p>There were plenty of other Python talks at FOSS4G and I plan to watch them when
the videos are online (<strong>update</strong>: talks are appearing now at
<a class="reference external" href="http://vimeo.com/foss4g">http://vimeo.com/foss4g</a>). I haven't been aware of <a class="reference external" href="https://github.com/sourcepole/ogrtools">ogrtools</a>, which is unlucky because there's
plenty of functional overlap between it and Fiona. The designs seem rather
different because Fiona doesn't emulate XML tool chains (GDAL's VRTs are not
unlike XSLT) and is more modular. For example, where ogrtools has
a file-to-file <code class="docutils literal">ogr translate</code> command, Fiona has a <code class="docutils literal">fio dump</code> and <code class="docutils literal">fio
load</code> pair connected by a stream of GeoJSON objects. The ogrtools talk is
right near the top of my list of talks to see.</p>
<p>I was very fortunate to go right after Mike Bostock's keynote. It got people
thinking about tools and design, and that's exactly the conversation that I'm
trying to engage developers in with Fiona and Rasterio, if with less insight
and perspective than Mike. I reminded attendees that the best features of our
day-to-day programming languages are sometimes disjoint and showed this diagram
(in which C is yellow, Javascript is magenta, and Python is blue. By "GC"
I mean garbage collection and by "{};" I mean extraneous syntax).</p>
<img alt="https://sgillies.github.io/foss4g-2014-fiona-rasterio/img/py-js-c.png" src="https://sgillies.github.io/foss4g-2014-fiona-rasterio/img/py-js-c.png" style="width: 600px;">
<p>D3 embraces browser standards and all they entail (a world wide knowledge
base and continuous performance improvements) and Fiona and Rasterio embrace
the good parts of Python. Written as C, like we usually see in GDAL/OGR
examples on the web, Python is quite slow. Idiomatic Python, including the
good parts like list comprehensions, generators, and iterators, is dramatically
faster. While Fiona and Rasterio don't do particular operations faster than the
older GDAL and OGR bindings (because it's the same C library underneath), they
are designed from the bottom up for a good fit with more efficient idiomatic
Python code.</p>
<p>I plugged <a class="reference external" href="http://click.pocoo.org/3/">Click</a> and <a class="reference external" href="http://cython.org">Cython</a> in my talk, too, and discussed them afterwards. I found
tons of interest in Python at FOSS4G and lots of good ideas about how to use
it.</p>
<p>I confess that I didn't pay a lot of attention to the talk schedule before the
conference. My summer was kind of nuts and I don't subscribe to any OSGeo
lists. When I did look closely I was surprised to find that many people were
giving two talks and some three. If any woman or first-timer didn't get
a chance to speak while some dude got three (and the multiple talkers were all
men and long time attendees as far as I can tell) – that's a bug in the talk
selection that needs to be fixed before the next edition.</p>
<p>Lastly, I think the views of Mount Hood you get when flying in and out of PDX to
destinations south and east are worth the airfare all by themselves.</p>
<a class="reference external image-reference" href="https://www.flickr.com/photos/by-sgillies/15249959145/"><img alt="https://farm6.staticflickr.com/5587/15249959145_91e47b3444_c_d.jpg" src="https://farm6.staticflickr.com/5587/15249959145_91e47b3444_c_d.jpg" style="width: 600px; height: 800px;"></a>Back from FOSS4Ghttps://sgillies.net/2014/09/14/back-from-foss4g.html2014-09-14T00:00:00-06:002014-09-14T00:00:00-06:00Sean Gillies<p>In my experience, FOSS4G was tons of fun and very well run. Chapeau to the
organizing team! I hope other attendees got as much out of the conference as
I did. Not only did I get to catch up with people I met at the dawn of FOSS4G,
I met great people I'd only known from Twitter and made entirely new
acquaintances. I even got to speak a bit of French.</p>
<p>My talk was one of the first in the general sessions. I had fun presenting and
am told that I did a good job. My slides are published at
<a class="reference external" href="http://sgillies.github.io/foss4g-2014-fiona-rasterio/">http://sgillies.github.io/foss4g-2014-fiona-rasterio/</a> and you can fork them
from <a class="reference external" href="https://github.com/sgillies/foss4g-2014-fiona-rasterio">GitHub</a>.
According to the information at the <a class="reference external" href="https://2014.foss4g.org/live/">FOSS4G Live Stream page</a> all the talks will be available online soon.
I missed plenty that I'm looking forward to seeing on my computer. Out of the ones
I attended, I particularly recommend seeing the following:</p>
<ul class="simple">
<li><p>"Using OpenStreetMap Infrastructure to Collect Data for our National Parks"
by James McAndrew, National Park Service</p></li>
<li><p>"Managing public data on GitHub: Pay no attention to that git behind the
curtain" by Landon Reed, Atlanta Regional Commission</p></li>
<li><p>"Big (enough) data and strategies for distributed geoprocessing" by Robin
Kraft, World Resources Institute</p></li>
<li><p>"An Automated, Open Source Pipeline for Mass Production of 2 m/px DEMs from
Commercial Stereo Imagery" by David Shean, University of Washington</p></li>
</ul>
<p>Did the <a class="reference external" href="https://2014.foss4g.org/attending/code-of-conduct/">code of conduct</a> work? I heard one
speaker invoke images of barely competent moms – "so easy your mother can do
it" – and was present for a unfortunate reference to hacking private photos at
lunch time. I hope that was all of it.</p>
<p>If you attended FOSS4G or watched the live feed I encourage you to write about your
experience and impressions. Come on, do it. It doesn't have to be long or
comprehensive. Here are a few blog posts I've seen already:</p>
<ul class="simple">
<li><p><a class="reference external" href="http://www.atlefren.net/post/2014/09/foss4g-2014-the-good-the-bad-and-the-beers/">Foss4g 2014: The good, the bad and the beers</a> by Atle Frenvik Sveen</p></li>
</ul>Fiona and Rasterio releaseshttps://sgillies.net/2014/09/02/fiona-and-rasterio-releases.html2014-09-02T00:00:00-06:002014-09-02T00:00:00-06:00Sean Gillies<p>Like everyone else, I'm making releases before FOSS4G. Fiona 1.2 has a bunch of
bug fixes and <a class="reference external" href="https://github.com/Toblerity/Fiona/blob/master/CHANGES.txt#L4">new features</a> (contributed
largely by René Buffat) and Rasterio 0.12 has <a class="reference external" href="https://github.com/mapbox/rasterio/blob/master/CHANGES.txt#L4">new CLI commands and options</a>. I'll be
talking about these packages and their design and use first thing Wednesday
morning (September 10) at FOSS4G. I've also got some things to say about Python
programming and geographic data that are not specific to Fiona and Rasterio.</p>
<p>The big deal, however, will be the release of Shapely 1.4 on September 9. This
is the first version with major new features since the project made the jump to
Python 3. There will be quite a lot of new stuff in 1.4 including <a class="reference external" href="https://github.com/Toblerity/Shapely/blob/master/CHANGES.txt#L4">better
interaction with IPython Notebooks, vectorized functions, an R-tree, and lots
of speedups</a>. It's been
a group effort largely motivated by development of visualization and analytic
frameworks: <a class="reference external" href="http://scitools.org.uk/cartopy/">Cartopy</a> and <a class="reference external" href="http://geopandas.org/">GeoPandas</a>. Joshua Arnott and Jacob Wasserman in particular
have been putting a lot of time into making Shapely better and faster over the
past couple of weeks. If you're a Shapely user, please do something nice for
these two the next time you see them.</p>