The History of the World on One Map

January 14, 2019 • #

Every year since the pre-Stone Age area, visualized as a time lapse on a map.

This is amazing and puts into context what was developing where over time. I know when I read the history of one culture, like Ancient Greece, it’s hard to keep in the mind what was happening elsewhere in the world during the same time period. This video could be a good reference point to pull up to get a sense of what happened during, before, and after any period in human history.

It’s also hard to believe that in 3000 BC the global population estimate was only 30 million people, or roughly the population of modern Nepal.

Cycling: A Sport for Geographers

January 13, 2019 • #

The UCI World Tour season kicks off this week with the Tour Down Under.

I started following pro cycling closely about 5 years ago, but since it’s fairly hard to get access to on broadcasts, I only get to watch a handful of events each year. With the NBC Cycling Pass you get some big events, like the Tour de France and Vuelta a España, plus some other fun ones in the spring like Paris-Roubaix, Paris-Nice, and Liège-Bastogne-Liège.

Last season while watching the Criterium du Dauphiné, it dawned on me one of the reasons I got into watching televised cycling tours so easily: it’s a great sport for a geographer. The sweeping views over the Massif Central, Pyrenees, or the rivers of the Alps are incredible. While I’m watching a stage and the peloton is passing through villages or past medieval landmarks, I’ll be on Wikipedia checking out the history of the places they’re racing.

With some top cyclist team moves in the off season, there are a few big things to watch. I’ll try and catch what I can of the Tour Down Under and get a preview. Never was able to watch that one before.

Weekend Reading: RoboSat, the State of Security, and the Equal Earth Map

January 12, 2019 • #

🛰 Buildings from Imagery with RoboSat

This excellent guide shows how to combine take imagery from OpenAerialMap and buildings from OpenStreetMap, and combine to train a model for automated feature extraction. It uses an open source tool from Mapbox called RoboSat combined to compare a GeoTIFF from OAM with a PBF extracts from OSM. Very cool to have a generalized tool for doing this with open data.

🔐 The State of Software Security in 2019

An excellent roundup (with tons of ancillary linked sources) on the state of various parts of computer security, from programming, to browsers, to social engineering.

🌍 The Equal Earth Map

From Tom Patterson, the Equal Earth map uses the equal earth projection to show countries with their true relative sizes. No more ginormous Russia or Africa-sized Greenland.

Best Songs, Part 1: Chameleon

January 10, 2019 • #

My dad has been putting together a playlist of all-time great songs, and mentioned to me and my brothers that we should do the same and share with one another. “Great” songs in this case don’t have to be by any particular measure other than personally important to yourself — either ones you got enjoyment out of when younger, ones that have an emotional connection, or just fun favorites you always tune in to when you hear it come on.

I started putting together my own playlist and thought I’d share them here in no particular order.

The first on my list is Herbie Hancock’s “Chameleon”, from the 1973 album Head Hunters.

So many excellent elements in this song, which is now a standard covered by jazz bands at festivals year in and year out. The walking bass line, the synths, wild electric piano solo, and my personal favorite: Harvey Mason’s backbeat snare followed by double bass kick.

This was one of the early hits in the emerging genre of jazz fusion. It takes an infectious song to make 15 minutes feel so short.

NBA Season at the Halfway Point

January 9, 2019 • #

We’re right at the middle of the season, and this one’s been an exciting one so far. A couple teams at the top expected, a few others blew up out of nowhere. The Bucks in the east, Nuggets in the west, PG carrying OKC, Harden’s crazy streak the past month, Giannis’s nightly consistency, Embiid’s dominance. So many fun threads to follow.

I’m thoroughly enjoying League Pass again this year. I probably watch an average of 5-6 games a week, and sometimes more if there are good matchups and I have time. Between YouTube TV for the national broadcasts and League Pass for the others, I can watch anything. Unless there are specific noteworthy matchups, I’ll usually favor watching the Pelicans (Anthony Davis!), Bucks, Blazers, Raptors, or Sixers. I’d love to see the Bucks go deep into the playoffs. And of course the Lakers defying gravity and having LeBron carry them late into the post-season would be electric.

Building a Link Archive

January 7, 2019 • #

Since I started my daily writing routine a few months ago, I’ve posted tons of links to interesting things. Sometimes I do “link posts” (like this one), and I’ve been consistently doing my “Weekend Reading” series on Saturdays.

I wanted a way to catalog these links such that I could generate an archive page with a history of all of them.

With Jekyll there are always several ways to work up a solution to a problem. I decided to try out this method using a specifically-defined links array in the front matter of any post to drop a URL and title into a grouping that I can use to build a link archive page. Check out the link archive here.

Front matter

In order to do this in a way that “just works” with the normal page generation, without requiring plugins or custom generator code, I’m using a special block in the front matter of posts. With this technique, any post (even random full articles with interesting links) can have a links array up top to include whatever links I want to.

I structure the links block like this:

- url:
  title: "Bret Victor interview on Track Changes"
- url:
  title: "Git Your SQL Together"
- url:
  title: "The Brilliance of Video Game Maps"

Each link has a url and title property which I use to build the links archive page.

To create the full link index, I loop over each post and collect the entries in the links array. Then use those parameters to create each row:

{% for post in site.posts %}
  {% for link in post.links %}
  <td><a href='{{ link.url }}'>{{ link.title }}</a></td>
  {% endfor %}
{% endfor %}

There’s room to improve this some, but I wanted something to get started with. This is a good start for keeping a chronological record of interesting things I’m reading over time.

Restoring Antique Tools

January 6, 2019 • #

This guy has an interesting channel with metalwork, restoration, and blacksmithing. In a day I watched all of his tool restoration videos. This one is a massive 500lb vise he found, dating from the 18th century in an Italian foundry. The restorations use acids, elbow grease, electrolysis, custom iron or brass casting, and even 3D printing to fashion replacement parts. Mesmerizing stuff.

Here are a few other good restoration videos: