Eli Sarver

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


It's OK to say "I'm not an expert."

The following paragraphs come from the ACM Code of Ethics. When joining ACM, members are required to agree to read, understand and agree to follow the standards set forth in this document.

2.6 Perform work only in areas of competence.

Computing professionals are in a position of trust, and therefore have a special . . .

Read More

October 25, 2018

Boolean alias

glog.V is neat-o

glog implements log levels with a nice boolean alias. Starting at line #983, the Verbose, when wrapping the boolean true causes its various functions to invoke the logger. So if you pass in -v 3 on the command line and use glog.V(2).Info("hello") in code, your logger will write the message. This allows glog to have far fewer log . . .

Read More

March 16, 2018

One cool thing about testing in go

*_test.go files aren't compiled or lexed until you run go test. You change them without breaking your non-test code compiles. They stay out of the way until they are needed, which is a nice trick.

Read More

March 15, 2018

Intel Build for Gaming 2017Q1

i7-7700k 4.2GHz, z270, DDR4 2400, M.2 PCI 3.0 x4; yes please.

This is my purchased i7-7700K gaming build. Presented after a lot of fitness to purpose and aesthetic consideration. PCPP spread these prices over 5 vendors, I picked three because I didn't like some of the timelines on parts. The EVO 960 is the most delayed part here.

(output is raw output from PCPP, Adjusted prices and vendors . . .

Read More

March 05, 2017


When I come up against a problem of any non-trivial nature, I spend a lot of time on the decomposition of that problem into smaller problems. One such example is the work I'm doing with my team's API gateway.

We have a 4-tier system:

  1. CMS (Database to XML)
  2. API gateway (multiple protocols to protobuf)
  3. . . .

Read More

February 23, 2017


Don't mix business logic with service logic

Go kit has a pretty opinionated view about how a Go-based micro-service should work:

  1. You start with core business logic
  2. Then wrap it in flexible layers adding
  3. Handlers
  4. Endpoints
  5. Transports

Though it seems tedious at first, I found myself feeling a certain clarity while working on a small experiment . . .

Read More

Posted in: gogokit.iogolang

February 21, 2017

My Languages

Herein I list my current programming languages.


I use go the most and enjoy it the most. It provides a few features I haven't used elsewhere with as much success, such as compositional inheritance, automatic interfaces, and useful concurrency primitives. While I admittedly don't use the last one as often, when I . . .

Read More

February 19, 2017

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