Eli Sarver

All Categories: golang(1) go(1) home

“Pull” has an ‘l’ in it.

“Push” does not.

$ g pul git: 'pul' is not a git command. See 'git --help'. Did you mean one of these? pull push 

No, I meant the one with the ‘l’ in it.

Read More

December 04, 2014

Errors in Public Libraries

A random anecdote about other people's code.

We had a stack trace recurring with high frequency on our management hosts today. Digging into the issue, we found this (cleaned up) trace:

Internal Server Error java.lang.NullPointerException:null  ...OMElementImpl.removeAttribute(  ...FOMElement.setAttributeValue(  ...FOMElement.setAttributeValue( . . .

Read More

December 03, 2014

ErgoDox Week 2

Ergodox with feet visible


I have feet on the bottom of my board, thanks to a co-worker's donation. It no longer slides, making typing on it rock solid. I used it for work most of this week, and it was brilliant.

The caps are back to a blank DSA black and white set. I like the look of the F/J rows in white. I only have divot keys for F and J in white, so . . .

Read More

June 15, 2014

One week with ErgoDox

ErgoDox in Dolch

This summarizes my notes on a week's ErgoDox use. Notes on the build process


The Dox is a flat keyboard with variable spacing, thumb clusters, and custom firmware. It's a lot to get used to.

The flatness presents a few ergonomic challenges, most of which I solve with rotation into a neutral position. I still feel like I . . .

Read More

June 07, 2014

Why I Built an ErgoDox Kit

I like the concept of building my tools. I respect things I build more than easy purchases. There is a certain sense of pride in completing a project. It serves as a catalyst for making more stuff. This is the most complex project I've taken on to date, and I'm enjoying the success.

It was a challenge

There was a lot of labor . . .

Read More

June 01, 2014

The dynamic test anti-pattern

Branching and configuration belie uncertainty.

Are your step definitions 10+ lines long? Are you relying too much on state to test? Do you get confused when you read your tests back?

I believe that opinionated specifications are the best tests. They focus in on detail and cut through lines of integration that make tests slow and brittle. They restrict degrees of freedom, making it easier . . .

Read More

March 29, 2014

Quick RSS Validation

If you're using Ruby and RSpec with RSS you can save a lot of quick checking time by using functional programming.

After loading in the RSS feed, you can use the following transforms on the data:

def descriptions end def missing_any?(field_sym) fields = send(field_sym) fields.any?(&:nil?) && fields . . .

Read More

February 04, 2014


All Categories: golang(1) go(1) home