Firefox Quantum

I've been using Firefox 57.0, aka "Quantum", since the end of last week and have been loving it. It feels as fast as advertised and I haven't noticed any deterioration in rendering of pages.

I've tended to use Chrome as my work browser and Firefox as my personal browser over the past 4+ years. My personal browser just got a big upgrade. The Mozilla Servo and Rust Language teams must be feeling pretty pleased and they deserve it. Congratulations!

Mercantile 1.0a1

https://c1.staticflickr.com/5/4565/37760733154_d9ced7e992_b.jpg

801 Main Street, Louisville, Colorado. Photo By Jeffrey Beall (Own work) [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons

The Python module of web mercator tile utilities that I named mercantile seems to be complete and so over the next few weeks I will shepherd a few 1.0 pre-releases and then a final 1.0.0. Any mercantile user who wants to help the cause can do this

pip install -U --pre mercantile

to get the new 1.0a1 release from PyPI and try it in new or existing projects. I was tempted by attrs yesterday, but resisted, and so the 1.0a1 release is just as stable and tested as 0.10 or 0.11, versions that my team uses the hell out of at work.

I've come late to the Read the Docs party, but am pretty much all in now. Continuous documentation (as the RTD team puts it) seems to encourage users of my projects to contribute to documentation more than ever. Mercantile's docs are here: http://mercantile.readthedocs.io/en/latest/. They're rather basic and boring, though there is one ASCII diagram at http://mercantile.readthedocs.io/en/latest/quickstart.html that makes my colleague Damon Burgett happy. Damon is the author of Supermercado, which takes web mercator tile manipulation to the next level, and a ASCII graphics wizard.

The mercantile project is a workhorse, but has also been one where I experimented and learned how to use tox, pytest, and how to publish wheels to PyPI from Travis-CI. It's uncomplicated by C extensions or industry standards and has been pretty fun to work on over the past few years.

Made It

I've been parenting solo for 9 of the last 10 days and am too worn out to write much of anything other than damn, I'm glad Ruth is back, and that I'm grateful for the roof over our heads, the help of friends, the patience of coworkers, and the money to afford pizza when I can't cook anything from scratch. I'm humbled to think of people who are raising families alone in poverty, or on the road, suffering from discrimination, illness, or other troubles. Unlike them, I get to do this in easy mode.

GeoJSON in Your Clipboard

One of the best properties of a text format, maybe the best property, is how easily it can cross application boundaries.

I'm in the midst of training myself to automatically use pbcopy and pbpaste on my Mac command line and have yet another example of how readily GeoJSON travels. After exporting GeoJSON from QGIS to your Mac's clipboard or paste buffer, you could also send it directly to http://geojson.io using either the Node.js geojsonio-cli or Python geojsonio – by Jacob Wasserman, with additional Pandas and Jupyter integration features, a must-have Python module for my line of work – packages:

pbpaste | geojsonio

From your Qt GUI to the operating system clipboard, to the command line, to the web, and back to another GUI in your browser. As I keep saying, GeoJSON was never about replacing shapefiles in traditional GIS workflows; the format was intended to afford new methods and new workflows not easy or not possible with shapefiles and databases.

Halloween Hangout

I'm locally famous for not engaging with Halloween, but am making an exception for my team.

https://c1.staticflickr.com/5/4488/24217405928_9c5d0a8f33_b.jpg

My kids, who had not much of a Halloween last year in France, are super excited about running around in costumes and extracting candy from the neighbors tonight.

Trued Macosx Wheels

I've woken up from my Nightmare on C++ Street and have uploaded new Rasterio, Fiona, and Shapely macosx wheels to PyPI. Use the pip requirement specs below to get the latest and greatest compatible wheels.

  • rasterio==1.0a11

  • fiona==1.7.10.post1

  • shapely==1.6.2.post1

My Xcode command line tools were out of sync with my libraries, libc++abi.dylib in particular. In the Xcode preferences there's an option to select versions of the command line tools. On my home computer, I've got Xcode 7.2.1 and have selected version 7.2.1 of the command line tools.

https://c1.staticflickr.com/5/4476/38033571472_85c109ff96_b.jpg

On my work computer, where I've been building the wheels, I somehow ended up with Xcode 8.2.1 and version 9.0.0 of the command line tools. I've never even seen this preference before, but do remember accepting a command line tools upgrade from Apple's App Store a while back. Reverting to command line tools version 8.2.1 cleared up the segmentation faults reported and studied in https://github.com/sgillies/frs-wheel-builds/issues/20.

I hope this blog post finds the next person to trip over this Xcode and command line tools mis-configuration.

Now I'm going to go back into PyPI and remove the broken binary wheels for older versions, leaving only the source distributions.

Busy Week Upcoming

Ruth is in D.C. this week and I'm parenting solo and spinning up a new project at work. On top of this, I've got a cold. To recover and keep it all together I'm going to be eating all the Halloween candy and going to sleep earlier, which means less time online in the evenings this week. Apologies in advance for my delayed attention to emails, pull requests, &c.

End of Soccer Season

Today my kids played the last games of their 8-week season. I enjoyed watching them and their buddies play, but I'm also happy to get my Saturdays back.

I didn't coach this season. I did help by playing the role of team manager and custodian of the all-important snack schedule for my oldest's U12 team. I made a spreadsheet, emailed reminders on Thursdays, bought her coach a gift card and shook all the parents down for contributions. In my experience this is a job that's always been picked up by a player's mother, part of the semi-mandatory free labor we require from moms. As far as I know, I'm the first dad to ever do this.

My kids (girls, remember) were coached by women this year, a first for each of them. My oldest's coach was very experienced, my youngest's was in her first season. I hope they'll each return and that we'll see more women coaching youth soccer around here in the future.