Img_1302-edit-edit_large

Eli Sarver

Guava

Lists are your friend.

Guava is a time saver. I was reviewing some code, and came across the following method:

protected List<Map<String, Object>[]> buildPages(List<Map<String, Object>> articles, Integer perPage) {
 int index = 0;
 Map<String,Object>[] page = null;
 for (Map<String, Object> a : articles) {
 if . . .

Read More

October 09, 2013

From Complex to Simple Tests

or, how I learned to get big reuse out of small methods.

rube_goldberg.java

Two years ago, I ended up creating a functional test codebase that took at its peak four hours to run. Considering we had over 1500 tests, this seems reasonable, but the tests were fragile in several ways.

  • Since we were relying on data, tests could become fragile or have race conditions.
  • Database . . .

Read More

September 30, 2013

Go!

The more I research languages for my personal enrichment, the more I like Go.

For one thing, their documentation is excellent. They explain not only how Go works, but also why. The FAQ is great to get your feet wet, but clearly the best document is Effective Go, which explains go's idioms in detail.

godoc is likewise . . .

Read More

August 01, 2013

Tending to the Wounded

(amplifier)

I recently found a 1993 Now Hear This! SW2Pi 10" sub and the accompanying amplifier, the 200w SA-2 from Craig's List. It had a problem, according to its previous owner. It basically had an 'unmusical' sound when connected via its RCA inputs. This makes it a great deal if I can fix it and integrate it into my system, so I . . .

Read More

June 07, 2013

Mangling Audio for Fun

I've been experimenting with audio stuff lately.

I started out a few years ago with a Serious DAC, the Benchmark DAC-1 USB, coupled with a pair of Sennheiser HD-650 headphones.

Despite a little distortion from the headphones, this combination is fairly faithful to the sound being played. The DAC-1 is as completely . . .

Read More

May 26, 2013

Learning Node

I'm deep-diving on a bunch of technologies at once:

  • node.js, a V8 runtime with communication skills.
  • Express, a server for node.
  • Jade, a Haml-alike for javascript. Short learning curve, great results.
  • LESS, a CSS compiler.
  • AngularJS, a data-binding toolkit for the front-end.
  • Bootstrap, a css framework . . .

Read More

February 23, 2013

Pareto in Action

principled testing

As simple as testing seems to those outside the test automation world may seem, a lot of thought actually goes into getting real value quickly out of the tests we write. There are many techniques we use to make testing easier. Some of these techniques are software engineering related, but some of the best techniques are cognitive.

. . .

Read More

December 21, 2012

Archive

All Categories: golang(1) go(1) gokit.io(1) home