Lessons of Event Data Format Design

Read https://www.tbray.org/ongoing/When/201x/2018/08/30/Event-Structure and follow the link to the "SEF theorem" https://github.com/inlined/versioningishard/ if you're into data format design. Everything about this blog post applies equally well to the spatial data domain. If you've ever encountered GeoJSON features with styling directives mixed in with other feature attributes, you've witnessed the problem of trying to make unstructured GeoJSON data consistent with structured data (Shapefiles or whatever).

Back-to-School Night

On day 12 of my 15 day stint of solo parenting, I'm heading out to get some tacos before an epic 2-1/2 hour back-to-middle-school night. Ruth did this last year and now it's my turn. I'm going to ride my bike to middle school, just like I did in 1981 when I was in 7th grade.

Update: back-to-school night was interesting and fun. I was pleasantly surprised. I support and admire public school teachers by default, and was extra impressed by Arabelle's teachers. She's going to learn and grow so much this year.

Back to School

It's 5:46 a.m. Mountain Time and my kids and I are wide awake and getting ready for their first day of school and my first day back in the pixel mines. Jetlag (décalage horaire, in French) is a funny thing. I expect we'll be crashing from exhaustation early this evening. Still, it feels good to be home!

Today is day 6 of a 14 day adventure in solo parenting and there's a lot of back-to-school and fall dance and soccer club onboarding to be done. I won't be doing a lot of open source stuff this weekend or next week, so bear with me if you mention me on GitHub and don't hear back promptly.

Paris in a Day

On the 5th day of my fortnight of solo parenting, Bea, Arabelle, and I went all over Paris. Before lunch we took the metro to the Muséum national d'Histoire naturelle and toured its Gallery of Paleontology and Comparative Anatomy. There are bones, many bones, and organs in jars, including dissected brains of all kinds. It's enlightening and grotesque, very cool.

https://c2.staticflickr.com/2/1845/43298183665_2fcbdb4b9a_b.jpg
https://c2.staticflickr.com/2/1842/44155906292_d668b1575f_b.jpg

After, we found lunch, and then walked back to our hotel. I had planned the route very carefully. On every other block I would announce "Hey, look at this: the old amphitheater of Roman Lutetia (Arènes de Lutèce)!" or "An Amorino gelato shop, what are the odds of that?" or "What a surprise: the Pantheon!"

https://c2.staticflickr.com/2/1898/43298199895_a7980f157e_b.jpg

After some relaxing and packing we took the metro to Montmartre and climbed up to the top of the butte to see the touristic mayhem around Sacré Coeur. After some negotiation we had a nice dinner away from the busy square, did some souvenir shopping, and then hustled back to the metro and to the Trocadero to see the Eiffel Tower at sunset, Arabelle's goal for the day, take many selfies and congratulate each other on "doing Paris" in one day. We watched the tower sparkle in the twilight and then we took the no. 63 bus back to the Latin Quarter. This is a great bus route, studded with so many landmarks, and my new favorite way to get from the 16th arrondisement to the 5th.

https://c2.staticflickr.com/2/1859/30371638038_8a53e67094_c.jpg

Au Revoir, Lyon

After sending our friend back to Montpellier to join her dad, my kids and I are on a train to Paris. We will be spending 1-1/2 days doing tourist stuff, try to see local open source folks, and then will fly back to Atlanta and Denver.

We had a fine time in Lyon. There is a lot to see and do, much of it free, and the Transports en commun lyonnais (TCL) makes the city accessible. Our friends' apartment is one metro stop from the cool Croix-Rousse neighborhood. Many shops and restaurants are closed for vacation, but the place was starting to wake up and be inhabited again. I saw about twice as many people on the street Monday as I did on Sunday, and twice again as many on Tuesday.

https://c2.staticflickr.com/2/1885/43418342404_7658ed43f5_b.jpg

Obligatory goofing at the Mur des Canuts.

On Sunday the four of us went to the top of the famous pentes (steps) of Croix-Rousse and had brunch at a place called Le Desjeuneur. The wait was long due to the restaurant's popularity and the relatively large size of our group, so we wandered up and down the steps and found the Cour des Voraces, a symbol of resistance, unions, and the silk-weaving history of Lyon, while we waited to be called. The wait was worth it. Among other things, Le Desjeuner serves pancakes with maple syrup and bacon (Bea ordered this) and pancakes with maple syrup and bananas and toasted hazelnuts (Arabelle and E. ordered this). I had shakshuka in a skillet and a cappucino in an enameled camp mug. The portions are generous and the food very good at Le Desjeuneur.

After, the kids stayed in the apartment to relax while I went back out and took the metro and funicular to the old gallo-roman theatre site and museum on the top of the hill above Vieux Lyon. I had forgotten that the Roman emperor Claudius, he, was born in Lugdunum (Lyon) in 10 B.C. One of the highlights of the museum is a transcription of a speech of Claudius in bronze.

I exited the museum, walked over to the Basilica, took photos from the deck, and then walked downhill through Vieux Lyon, across a pedestrian bridge over the Saône River, and then returned to our apartment via the metro.

https://c2.staticflickr.com/2/1871/44138186891_917902f730_b.jpg

Montée des Chazeaux.

On Monday I went for a run in the Presqu'île neighborhood, down the bank of the Rhône and up the bank of the Saône, up to the top of Vieux Lyon, and then back across the river and up the steps of Croix-Rousse. My tracker recorded 250 meters of climbing, which is good since the Black Squirrel is only 2-1/2 weeks away.

https://c2.staticflickr.com/2/1839/44133530162_d7e158b892_b.jpg

Mural by Kalouf in Croix-Rousse.

The rest of Monday was spent in Lyon's fabulous Parc de la Tête d'or. We saw animals in the (free) zoo, had lunch, played mini-golf, rode ponies, ate ice cream, and enjoyed the park's many green and quiet spots.

https://c2.staticflickr.com/2/1875/30314417208_61bc84532e_b.jpg

Enjoying the shade in Parc de la Tête d'or.

I like Lyon! I need to figure out how to get back here soon, in the fall or spring when the restaurants are open.

In Lyon

My family's summer vacation reached a turning point today. Ruth is staying in Montpellier for the Evolution 2018 conference and will be going on to another meeting in Zurich afterwards, I am in Lyon with three kids at the apartment of a friend who has moved here for his sabbatical. He is in Montpellier at the Evolution meeting, his wife is in Fort Collins for a few more days, and his daughter is here in Lyon with me and my two daughters. I'm in France's gastronomic capitol with three fussy eaters, but am determined to make a great time of it.

We boarded a TGV bound for Rennes at Montpellier's old Gare Saint-Roch, took on more passengers in Nîmes, and then blew past Valence and went straight to Lyon's Gare Part-Dieu. The atmosphere has been clear lately and we got great views of Mont Ventoux and the Vercors Massif in the distance as we flew through the vineyards and orchards of the Rhône valley. French train travel has its problems, but I remain a fan. Security is less heavy-handed than at airports, the seats are much more comfortable, and the views are great. The SNCF and Ouigo mobile apps are better than adequate. Yes, getting on and off the trains can be chaotic, and you have to handle your own bags (a shitshow today, in my situation), but still I'm looking forward to the day that we have equivalent high-speed train service on the Front Range of Colorado.

I've passed through Lyon's Part-Dieu station before, but have never stayed here in this city. My friends' apartment is in the 4th arrondissment near the hospital. It was easy to get here by bus from the train station. Along the way we saw the Parc Tête d'Or, which looks wonderful, and passed over the Rhône on the Pont Winston-Churchill. We had to drag our bags to the top of the hill from the bus stop, and the wheels on my roller bag almost quit in protest, but we made it, and installed ourselves. After a little shopping, we made a meal in the apartment, watched an episode of "Nailed It", and I tucked the kids into their beds.

Now, I'm going to watch the Lyon episode of Parts Unknown and get inspired about where to eat in the next two days. Lyon is still on vacation (and this particular neighborhood is a ghost town) but I'm sure we'll find some good food somewhere.

Back in Montpellier

My family and I arrived in Montpellier, France last Thursday evening by train from Paris after flying in from Detroit and Denver. Everything went pretty much as planned and we arrived at Montpellier's Gare Saint-Roch on time. We're here to hang out with friends on vacation and are staying in a rental house at our old tram stop.

https://c2.staticflickr.com/2/1833/29057841457_42e4d1e221_b.jpg

The green door is open!

The first thing I did Friday morning was put on my running shoes and run through Parc Méric to the gate at the Réserve Naturelle de Lunaret. In 2016 the gate was closed from July until early October, but it's open now. I've done two runs on the singletrack between the Zoo and the Lez River already!

Our friends are doing well here and we're enjoying long lunches with them. My French is a little rusty, but I'm getting up to speed pretty quickly. The only bad experience so far is that I'm missing a canoe trip on the Hérault River because of gastroenteritis. A virus, I guess, because Ruth and Arabelle had the same symptoms last week. I hope I won't be out of action for too long – I didn't come all the way here to fast and nap. If you're really into photos of croissants and bottles of wine, you can find them on my Instagram.

Montgomery Pass

On my way home from Gould yesterday morning, I pulled off of CO-14 at the Zimmerman Lake parking lot, changed into running gear, and trotted west up to the Medicine Bow Range's Montgomery Pass. I hit the trail just after 7:00 a.m.

https://c2.staticflickr.com/2/1811/43750664171_c348b6c64c_b.jpg

Montgomery Pass trail below treeline.

I've been up this trail 20 times or more, but mostly in the snow, and very rarely in the last decade. I can't remember ever going up alone or trying to run it. I made it to the Montgomery Pass signpost in just under 35 minutes. I ran some stretches, but mostly hiked it. The trail grade averages just over 10%.

https://c2.staticflickr.com/2/1776/43034447484_35e4bae383_b.jpg

Looking south to the Diamond Peaks, Nokhu Crags, and Rocky Mountain National Park.

On the ridge at the south end of the Medicine Bow Range it is easy cruising. The third high point (3524 meters or 11,560 feet above sea level) north of Montgomery Pass has a solar-powered antenna installation and nice views of North Park, the higher Medicine Bow peaks, the Mummy Range, and the Never Summer Range.

https://c1.staticflickr.com/1/855/42846396905_bebe8cef54_b.jpg

Pseudo-black-and-white photo from the radio tower.

Near the end of my run, I started to see hikers heading up the trail. One of them was a backcountry skiing buddy from twenty years ago who I rarely bump into in Fort Collins. On the drive home, I thought a lot about how much I've changed in that time, and how these mountains remaining so compelling to many of us.

I was back at my car in an hour and 45 minutes, not a long excursion at all, but felt energized from it all day long today. I really need to find the time to get on some more summits again this summer.

Shapely 1.7a1

The first pre-release for Shapely 1.7 is up on PyPI now. I'd be grateful if you would pip install shapely==1.7a1 and try it out. Since 1.6 there have been a few significant changes. Still no Windows wheels, but we're working on it.

Never Summer 100k Volunteering

In an hour I'm going to drive on CO-14 to the west side of Cameron Pass to help out with the Never Summer 100k race. My assignment is to be at the finish line and make sure finishers get a hot meal all night long. I haven't spent a night out in the mountains yet this summer and I'm looking forward to it. More about this after I get back tomorrow.