# Eli Sarver

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

# Ethics

### 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 . . .

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 . . .

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.

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 . . .

March 05, 2017

# Decomposition

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. . . .

February 23, 2017

# Layers

### Don't mix business logic with service logic

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

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 . . .

Posted in: gogokit.iogolang

February 21, 2017

# My Languages

Herein I list my current programming languages.

# Go

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 . . .