Menu Sidebar
Menu

Avdi Grimm

Hacker; code documentarian.

Howto

Playing with JSON in Postgres

I can fetch a JSON list of subscribers like this: curl -u $API_LOGIN:$API_PASSWORD https://example.org/subscribers Then there’s jq, which is basically AWK for JSON. The following invocation simply breaks a top-level JSON array into an object per line. cat subscribers.json | jq ‘.[]’ -c And then there’s Postgres, which has a COPY command that will (by […]

Dotenv for multiple environments

Lately I’ve been handling configuration entirely through environment variables for my apps, as the 12 Factor App recommends, and I can’t recommend this approach enough. As a constraint it helps me think about what parts of a given app actually need to vary from environment to environment, as opposed to what parts could potentially vary. The app I’m working […]

Debugging an HTTP Client Library

I’ve been trying to use Benoit Chesneau’s hackney library to hit the Wistia API from an Elixir program. Between the fact that hackney is still under rapid development, and the fact that I’m not great at reading Erlang code, it’s been slow going. I found myself needing a way to see exactly what the requests […]

Older Posts

Virtuous Code

"The three virtues of a programmer: laziness, impatience, and hubris" — Larry Wall

Books and Screencasts

RubyTapas Screencasts

RubyTapas Screencasts

Small plates of gourmet Ruby code.

Confident Ruby

Confident Ruby cover

32 Patterns for joyful coding.

The Making of Cowsays.com

Confident Ruby cover

Watch me build an app in Sinatra and Rails

Objects on Rails

Objects on Rails

A developer notebook on applying classic Object-Oriented principles to Ruby on Rails projects.

Exceptional Ruby

Exceptional Ruby

The definitive guide to exceptions and failure handling in Ruby.

Archives

Categories