#248 — February 7, 2019

Read on the Web

Golang Weekly

▶  The State of Go in February 2019 — Go 1.12 will, hopefully, be released this month, and in this talk given at FOSDEM 19 Francesc Campoy covered what’s coming along in Go 1.12, as well as Go modules and some Go 2 proposals. Slidedeck here if you don’t like videos.

Francesc Campoy Flores

filetype: A Fast, Dependency-Free Way to Infer File Types — Got a file and want to know what sort of file it is? This package will attempt to tell you by checking it for magic numbers.

Tomás Aparicio

Do You Need Help with Go? — When it comes to building, maintaining and deploying in Go, there's few companies that have the level of expertise and experience that we have. We can help by consulting, augmenting or training your development team.

Ardan Labs sponsor

What's Coming to Go in 2019: Modules, Generics, Better Error-Handling — A few quick questions with Steve Francia, Google’s project lead for Go, covering modules and indexes, error-handling, and backward compatibility.

David Cassel

Benchmarking Go vs Node vs Elixir“The goal of this benchmark was … to quantify their behavior so that readers familiar with the internal workings of each system can reflect on the strong and the weak sides.” As always, though, take a good critical view of benchmarks, even though Go came out top here.

Stressgrid

💻 Jobs

Sr. Fullstack Engineer (Remote) — Sticker Mule is looking for passionate developers to join our remote team. Come help us become the Internet’s best place to shop and work.

Sticker Mule

Try Vettery — Vettery specializes in developer roles and is completely free for job seekers.

Vettery

📘 Articles & Tutorials

How to Fix Tightly Coupled Go Code — This could also be called “Dependency Injection and the Interface Segregation Principle in Go.”

Corey Scott

Working Out if a Long/Lat is within a Polygon — An example of checking if a pair of long/lat coordinates lie within a polygon when working with GeoJSON.

Edd Turtle

You Shouldn’t Name Your Variables After Their Types — ..for the same reason you wouldn’t name your pets “dog” or “cat”.

Dave Cheney

What We've Learned About Hiring Engineering Managers — Over the last year, we have made some critical shifts in our understanding of what we believe makes a great engineering manager at CircleCI.

CircleCI sponsor

▶  TinyGo: Using Go on Microcontrollers — A lightning talk about TinyGo, a project aiming to bring the Go language to the smallest of modern computers.

Ron Evans

Getting Started with Go for Data Structures and Algorithms — A free chapter from a book that covers slices, arrays, maps, and more.

Packt Publishing

Uploading Files to AWS S3 using Go

Paul Bradley

🔧 Tools & Code

RIPZap: A Fast, Structured JSON Logger for Go

Bloom

gitin: A Minimal CLI-based Git Explorer — Easily search through commits, logs, and branches with a nice, colorful CLI interface.

Ibrahim Serdar Acikgoz

📈Data-Driven Guide to Engineering Leadership

GitPrime sponsor

cryptofuzz: Fuzzing Go's crypto with go-fuzz — He’s only found one issue so far.

Michael McLoughlin

opc: An Implementation of The Open Packaging Conventions (OPC) for Go“The OPC is the foundation technology for many new file formats: .docx, .pptx, .xlsx, .3mf, .dwfx”

Quim Muntal

Matterhook: A Go Client for Mattermost's Webhooks APIMattermost is an “an open source, self-hosted Slack-alternative.”

Nafis Faysal

GoJSONQ: A Package to Query JSON Data — Provide an object mapper-esque API to query JSON documents.

Saddam H

RoadRunner: A High Performance PHP Application Server — A load balancer and process manager all built in Go.

SpiralScout

Submit a link to us to (potentially) win a cute Go gopher!

Golang Market has kindly given us 20 Go gophers (inspired by Renee French's design) and we're giving one away each week to a random person who submits a link. You can submit your link here. Good luck.

Alternatively, you can get your own gopher here if you simply can't wait. 😃

This week's winner is Edd Turtle who submitted Is Long/Lat within Polygon from GeoJson - congratulations.