Delivered once every Week. No Spam Ever.

Issue - 36


Worthy Read

go1.8.3 (released 2017/05/24) includes fixes to the compiler, runtime, documentation, and the database/sql package. See the Go 1.8.3 milestone on our issue tracker for details.

Francesc Campoy slides on the state of golang as of May 2017.

Core files is a file that contains the memory dump of a running process and its process status. It is primarily used for post-mortem debugging of a program, as well as to understand a program’s state while it is still running. These two cases make debugging of core dumps a good diagnostics aid to postmortem and analyze production services.

Users finding bugs? Searching logs for errors? Find + fix broken code fast!

The core team needed a place for experimentation, for tooling, for supplements to the standard library: the proverbial junk drawer of the Go language ecosystem. Thus, the sub-repositories were born. These projects live under the parent one, utilising the same process and tools (like Gerrit), but without the strict compatibility requirements.

Go has an interesting way to alias enumeration values using the iota keyword. Iota helps increment integer values inside your block or declaration.

Typically, I utilize a debugger far less often when I develop in Go than in Python. The reason probably comes down to the fact that for years, there was no compelling option. Println or go-spew became my first line of defense. However, in recent months I have seen myself turning to Delve far more often than I used to.

We help companies like Airbnb, Pfizer, and Artsy find great developers. Let us find your next great hire. Get started today.


This is the first post in a series that will provide an understanding of the mechanics, design philosophies and guidelines needed for writing consistent and readable code in Go. To get there you need to learn how stacks and pointers work, escape analysis and finally value/pointer semantics. This post focuses on stacks and pointers.

The Digispark is perhaps as small as a microcontroller board for DIY electronics can get. This is a short writedown about my first experiences with controlling this board through Go code, using Gobot and LittleWire.

aah framework makes it easy to build scalable web apps and mobile apps API with Go language. Framework goal is to achieve rapid, highly configurable, very small footprint and balanced Go web framework for small, medium, enterprise scale. Developer have to focus on application logic instead of building infrastructure, reinventing the wheel. aah values Don't Repeat Yourself and Convention Over Configuration, it makes application development more fun, free and open source.


In general Go already have gofmt that will format the code according to Go standard. Developers should already used this tool in their editor/IDE. This section describe informal coding style, that is not covered by Go format tool. The following recommendation is subjective. If you work in large code base, with more than three developers, you should already have a common "language" between them, to make it consistent and readable.


Projects

hcache - 19 Stars, 2 Fork
hcache - a tool fork from pcstat, with a feature that showing top X biggest cache files globally.

cc - 15 Stars, 0 Fork
A Golang library for configuration management.

spinner - 10 Stars, 0 Fork
Spinner, A Service Monitor and file tail executable for Windows Containers.

kinako - 9 Stars, 1 Fork
Kinako is small VM written in Go.

huproxy - 5 Stars, 0 Fork
HTTP(S)-Upgrade Proxy — Tunnel anything (but primarily SSH) over HTTP websockets.

toktok - 5 Stars, 0 Fork
A human-friendly token generator. Creates tokens which avoid characters that can be easily misinterpreted, like '1' and 'I' or '8' and 'B', as well as repeated characters within the token. It also compares newly generated tokens to all previously generated ones and guarantees a safety distance between the tokens, so they become resilient to typos or other human entry errors.