#209 — May 3, 2018
Golang Weekly
Go's New Brand — Based on Go’s philosophy of simplicity over complexity. You can even download the new "brand book". Don’t worry, though, our beloved gopher is still alive and kicking.
Steve Francia
How Google Continuously Profiles Its Go Programs — "We can see who is accountable for CPU and memory usage, we can continuously monitor our production services for contention and blocking profiles"
Google Cloud Platform
MySQL: Scaling & High Availability Over the Last Decade — Join CEO, Peter Zaitsev as he presents Percona's upcoming webinar on Tuesday, May 22nd, 2018 at 7:00 AM PDT / 10:00 AM EDT.
Percona sponsor
When Writing Unit Tests, Don't Use Mocks (Use Fakes) — Fakes provide more flexibility and allow for easy testing and refactoring, says the author, before working through an example.
Seth Ammons
Google Releases gVisor, a Sandboxed Container Runtime — Built in Go, gVisor provides VM-style isolation for containers in multi-tenant environments in a lightweight way.
Nicolas Lacasse (Google)
An Official Introduction to the Go Compiler — Daniel said he, along with others, wrote this brief guide "after finding that lots of knowledge around the compiler wasn’t well organised."
Daniel Martí
Go 1.10.2 and Go 1.9.5 Released — Very minor bug fix releases.
Andrew Bonventre
💻 Jobs
Site Reliability / Operations Engineer (f/m) — With our unique distributed systems and a high uptime requirement, we offer an exciting technical environment to work in.
Fraugster
Open to a New Job? Sign Up for Vettery — Top developers can get 5+ interview requests during their first week on Vettery.
Vettery
📘 Tutorials and Articles
Bounds Check Elimination in Go: A Micro-Optimization — A way to squeeze out a few more nanoseconds when you need it.
William Kennedy
Asynchronous Processing with Go using Kafka and MongoDB — A simple example of a (somewhat) complex architecture.
Melvin Vivas
eBook: Efficient Project Management for Small Engineering Teams
Codeship sponsor
Securely Logging and Tracing HTTP Requests in Go — Here’s one way to keep sensitive data out of your application logs.
Bob Uhl
Learn Go by Writing Tests: Synchronizing Asynchronous Processes — An evolutionary tutorial that ends by leveraging Go’s concurrency idioms.
Chris James
Scraping the Web with Colly and Goquery
Benjamin Congdon
Tinyterm: A Silly Terminal Emulator Written in Go — Based on a lightning talk at a Sydney Go User Group meeting.
Dave Cheney
Debugging an Evil Go Runtime Bug — The story of a Go program that crashes on certain machines but not others which led to a very low-level debugging mystery.
Hector Martin
🔧 Tools & Code
TiDB 2.0: A Go-Powered Analytics (HTAP) Database — A MySQL-protocol compatible, distributed database focused on OLTP and OLAP. GitHub repo.
PingCAP
20ドル Free On A New Linode Account — Linux cloud hosting starting at 1GB of RAM for 5ドル/mo. Get 20ドル credit on a new account.
Linode Cloud Hosting sponsor
Corral: A Serverless MapReduce Framework for AWS Lambda — Think a Go-flavored Hadoop MapReduce-a-like that’s well-suited for ETL jobs.
Ben Congdon
Terratest: Write Automated Tests for Your Infrastructure Code — Test Terraform code, Packer templates, Docker images, interact with servers over SSH, work with AWS, and more.
Gruntwork
go_generics: A Tool Google Uses to Transform Go Source — Noticed within Google’s new gVisor project.
Fuzzy: Fuzzy Matching Library Optimized for Small Strings — Ideal for filenames, code symbols, and the sort of things IDEs often use fuzzy search for.
Sahil Muthoo
➡ Better Way to Debug Production Issues
ROLLBAR sponsor
TextQL: Execute SQL Against Structured Text (like CSV or TSV) — Under the hood it pulls in a CSV to SQLite and runs queries against it.
Paul Bergeron