China is Erasing its Border with Hong Kong

December 17, 2018 • #

Part of Vox’s Borders video series. Hong Kong is such a fascinating and unique place, as is today’s China, though for massively different reasons. How China treats HK will be one of the indicators of the wider Chinese plan for free market economics and political openness.

Video Mapping in OpenStreetMap with Fulcrum

December 16, 2018 • #

With tools like Mapillary and OpenStreetCam, it’s pretty easy now to collect street-level images with a smartphone for OpenStreetMap editing. Point of interest data is now the biggest quality gap for OSM as compared to other commercial map data providers. It’s hard to compete with the multi-billion dollar investments in street mapping and the bespoke equipment of Google or Apple. There’s promise for OSM to be a deep, current source of this level of detail, but it requires true mass-market crowdsourcing to get there.

The businesses behind platforms like Mapillary and OpenStreetCam aren’t primarily based on improving OSM. Though Telenav does build OSC as a means to contribute, their business is in automotive mapping powered by OSM, not the collection tool itself. Mapillary on the other hand is a computer vision technology company. They want data, so opening the content for OSM mapping attracts contributors.

I’ve been collecting street-level imagery for years using windshield mounts in my car, typically for my own purposes to add detail in OSM. Since we launched our SpatialVideo feature in Fulcrum (over 4 years ago now!), I’ve used that for most of my data collection. While the goals of that feature in Fulcrum are wider than just vehicle-based data capture, the GPS tracking data with SpatialVideo makes it easier to scrub through spatially to find what’s missing from the map. My personal workflow is usually centered on adding points of interest, but street furniture, power infrastructure, and signage are also present everywhere and typically unmapped. You can often see addresses on buildings, and I rarely find new area where the point of interest data is already rich. There’s so much to be filled in or updated.

This is a quick sample of what video looks like from my dash mount. It’s fairly stable, and the mounts are low-cost. This is the SV player in the Fulcrum Editor review tool:

One of the cool things about the Fulcrum format is that it’s video, so that smoothness can help make sure you’ve got each frame needed — particularly on high speed thoroughfares. We built in a feature to control the frame rate and resolution of the video recording, so what I do is maximize the resolution but drop the frame rate well below 30 fps. This helps tremendously to minimize the data quantity that’s got to get back to the server. Even 3 or 5 fps can be plenty for mapping purposes. I usually go with 10 or so just to smooth it out a little bit; the size doesn’t get too bad until you go past 15 or so.

Of course the downside is that this content isn’t available to the public easily for others to map from. Not a huge deal to me, but with Fulcrum Community we’re looking at some ways to open this system up to use for contribution, a la Mapillary or OSC.

Weekend Reading: Ubiquitous Computing, Versioning SQL, and Video Game Maps

December 15, 2018 • #

🎙 Computing is Everywhere

A great interview with Bret Victor on the Track Changes podcast. His work has always been an inspiration for how to think about both creating things and teaching people.

📊 Git Your SQL Together

This post from Caitlin Hudon is a great reminder for anyone that works with data. Combining git versioning with your SQL is super helpful for archiving and searching previous analysis queries.

  1. You will always need that query again
  2. Queries are living artifacts that change over time
  3. If it’s useful to you, it’s useful to others (and vice versa)

🎮 The Brilliance of Video Game Maps

I love the map and exploration of Skyrim. As an artistic achievement, the map there isn’t as eye-catching as Grand Theft Auto, the Ultima games, or even previous Elder Scrolls games. But I love the unlabeled overhead picture of the world that forces you to get out and walk to find your way.

The absolute piece de resistance of a game world map has to be the continent of Tamriel for The Elder Scrolls. People have tried to wrangle Skyrim’s map into submission with mods and interactive versions of it, but it fundamentally is a map that doesn’t explain itself to you or aspire to be particularly helpful. The world is what it is - now you have to go and find your way across it.

Kindle Highlights

December 14, 2018 • #

I started making this tool a long time back to extract highlighted excerpts from Kindle books. This predated the cool support for this that Goodreads has now, but I still would like to spend some time getting back to this little side project.

Eric Farkas has another tool that looks like it does this, as well, so that’s worth checking out as a possible replacement. What I really want is my own private archive of the data, not really my own custom extraction tool. The gem I was using for mine might’ve been the same one, or does something similar reading from Amazon’s API. It’s nice because it outputs the data in JSON, so then it can be easily parsed apart into yaml or Markdown to use elsewhere. Each excerpt looks like this:

  "asin": "B005H0O8KQ",
  "customerId": "A28I9D90ISXNT6",
  "embeddedId": "CR!CJ3JV6W1D918FDT8WZTVP0GG6CNN:86C04A71",
  "endLocation": 72905,
  "highlight": "Springs like these are the source of vein-type ore deposits. It's the same story that I told you about the hydrothermal transport of gold. When rainwater gets down into hot rock, it brings up what it happens to find there—silver, tungsten, copper, gold. An ore-deposit map and a hot-springs map will look much the same. Seismic waves move slowly through hot rock.",
  "howLongAgo": "2 months ago",
  "startLocation": 72539,
  "timestamp": 1446421339000

If I can soon I’ll spend some time tinkering and see if I can pull some for other books I’ve read since.

The Personal Security Footprint Review

December 12, 2018 • #

Once a year around this time I like to do some “winter cleaning” of my personal security footprint, mostly covering passwords and internet service accounts I have that may be out-of-date, unmaintained, or unneeded.

1Password is a dream for things like this. If you don’t maintain an account, it’s well worth setting one up for the family with their 1Password for Families product tier. Worth every penny1.

Good hygiene with passwords has been a perennial problem in internet-land, and the security risk only goes up with seemingly-daily announcements of the next hack or data breach. While those risks are part of our current reality, it’s possible to lower your risk profile with some simple maintenance tasks with 1Password. Here are some general best practices and my personal annual review process.

Raise the complexity

There’s no excuse not to be using highly complex passwords these days. When creating new 1P entries, you can autogenerate complex passwords. Sometimes you’ll need to tweak the generation parameters to create passwords that are acceptable for certain sites2, but it’s worth making sure you’re maximizing the complexity where you can. When I review my accounts, I look for any entries that have less than 1P’s “Fantastic” rating, and sign into those and update them.

Complex Passwords


1Password has a feature called Watchtower that helps you conduct targeted review to keep yourself secure. Things like compromised or vulnerable logins, reused or weak passwords, or where 2FA isn’t enabled. It’s nice because it checks against a couple of known databases to help keep you on guard. This is the go-to spot to look for areas of attention in the review. It’s worth setting yourself a reminder (quarterly or so) to check here for any changes. If services you rarely use have security incidents, you probably won’t know, so this helps.

1Password Watchtower

Two-factor authentication

I wrote previously about 1Password’s native two-factor authentication. Wherever possible and recommended I go through my account entries and enable 2FA setups with the one-time passwords configured. Another tip for this is to use a password field type to store the “recovery codes” that most services will generate for two-factor, which allow you to recover your password if something gets hosed. Web services commonly generate these codes in a text file for safe storage, which you can do in 1Password if you want, but I’ve never been a huge fan of the way file storage and linking works in the app. I prefer to copy the codes directly into the 1P database entry anyway.

Purge unused services

Shutting down accounts for services you don’t use is another good practice to reduce your exposure to breaches. If you aren’t using or no longer need a service, might as well not have it hanging out there. Since you can sort entries by “date used”, it’s straightforward to comb through ones you haven’t used all year and assess. When I go through my annual review, I always find a couple not worth keeping, so I sign in and spin them down if possible. If they don’t have a public-facing way to delete my account, I usually reset the password to something huge and delete whatever unrequired personal info might be on file (like credit cards and the like).

Other scattered tips

A few other pointers that factor into my annual review:

  • Change any duplicates — I don’t intentionally create dupes, but it happens occasionally, especially when creating accounts from my phone when I just want to type a password in signup
  • Check for https — This isn’t a huge problem these days, but a nice recent addition to 1Password will alert you to entries with insecure URLs
  • Assess shared accounts — Using the 1Password for Families account, we have a single shared vault for accounts we both need: bank accounts, credit cards, kid-related stuff, Netflix, Amazon
  • Organize — I go through and change entry names, make things consistent, and just generally scan through for any junk to keep it all clean

With the review done, it feels good to have a renewed sense of security having checked your digital footprint. A well-organized, clean 1Password setup can also be a huge productivity boost. The more services you work within (and the more secure you want your behaviors to be), the more a clean, healthy passwords vault will help you.

  1. All of the following I do in 1Password, but other services like LastPass or KeePass presumably can do similar things, but I haven’t used them. 

  2. It’s still mind-boggling that in 2018 so many sites can’t handle any string of characters as a password. I shudder to think what the software or database structures behind the culprit services look like. 

Language and Progress

December 11, 2018 • #

A wide-ranging conversation on linguistics, human scientific advancement, and enlightenment thinking with Steven Pinker and John McWhorter.

Linguistics is endlessly fascinating.

I might be an outlier, but I absolutely love YouTube as a medium for this kind of content. This sort of long form video is an example of a fantastic new thing that couldn’t exist or thrive prior to YouTube.

Weekend Reading: Railway Logos, Meditation, and the Next Feature Fallacy

December 8, 2018 • #

🔩 The Next Feature Fallacy

The vast majority of features won’t bend the curve. These metrics are terrible, and the Next Feature Fallacy strikes because it’s easy to build new features that don’t target the important parts.

This certainly rings true for me from experience over the years. It turns out that a single feature itself is far from the main problem halting people part way into on-boarding with a product. This falls into the category of focusing on what we know how to do already, rather than what’s important to do. What’s important isn’t necessarily something you’ll know how to approach without hard research and effort.

🧘🏻‍♂️ Why I’m Into Meditation

I’ve been giving Headspace a try to get into a meditation routine over the last couple months. So many people I respect speak highly of building a meditation practice, and it’s pretty easy to do. Focusing for 10 minutes on a single mundane thing (your breathing) is shockingly hard to do. About 40 or 50 10-minute sessions in, I’m finally getting more comfortable with it. I always feel reenergized after.

🚂 Reagan Ray’s Railway Logos

These are all fantastic. I even see my favorite hat represented in there.