Fuzzy Tolerance

iD is freaking awesome

I have written all manor of data maintenance apps over the years. One of the first apps I worked on professionally was a cadastral data maintenance monstrosity written in AML (shudders). I have created enough of these types of apps to know that I absolutely hate making these types of apps.

It isn’t just that they’re hard to code. And by hard to code, I mean really hard. They’re like ferreting a snowflake across the Sahara while trying to figure out what The Fountain was about hard. It’s more this: it’s almost impossible to create a data maintenance app that people want to use. Data maintenance isn’t fun. By the time people open your app they are already pissed off. To create a data maintenance app that people actually want to use is something I had written off years ago1.

Which is why what MapBox has accomplished with iD is so damn amazing. It makes you want to use it. It’s that good.

More on Build Processes for the Web

My last screencast was about iteration and build processes for web development. Here’s a bit more on the build process.

The big 4 for web performance are (in this order):

  1. gzip text before it leaves your server. All of that CSS, JavaScript, JSON, SVG, etc. should be squished before it travels across the wire.
  2. Smart caching. The fastest resource request is the one that never happens.
  3. Image optimization. Images are still the biggest pipe suck for the majority of sites.
  4. Concatenate and compress. Fewer HTTP requests and smaller files sizes are better.

Skookum Digital Works Talk

Here’s a talk I did at Skookum Digital Works on the Quality of Life Dashboard, our software stack and philosophy, and the challenges of being a “government tool”.

Idiot that I am, I had no idea these Free Friday Tech Talks were even happening. It’s a great venue with a lot of really smart attendees (best Q/A session ever). If you’re in the Charlotte area and you haven’t checked it out yet, I highly recommend it.

Quick Hack: One Bootstrap Popover at a Time

Bootstrap is my new favorite front-end framework, and I really like the JavaScript popovers for contextual information and help. One thing I don’t like about them is they aren’t aware of each other. If you only want 1 to be visible on your page at a time, here’s a quick hack. It does involve 1 global variable, which should make you feel dirty.

Dirt-Simple PostGIS HTTP API

One of the first projects I ever open sourced was a PHP web service framework I created for Mecklenburg back in 2010. It got a little coding love after its initial release (mostly from that mad genius Jason Sanford), but it really didn’t change much over time. It generally just worked, and I still get emails from people who use it today.

Q: What’s the worst code you’ve seen recently?
A: My own.

Automating Tile Generation with TileMill

MapBox hasn’t documented this anywhere that I can find, which either means (a) they haven’t gotten around to it or (b) this isn’t a stable API and it could change in a future TileMill release. If you automate your tile generation this way, make sure your job still works when you install a new version of TileMill. With all of that said, I’ve been asked this question often enough that I figured it deserved a post.