#214 — June 7, 2018 |
Golang Weekly |
Using Go for 'Industrial' Programming — From a talk at GopherCon EU, Peter offers some excellent advice around foundational items, such as code structure, goroutine lifecycle management, and context use and misuse. Peter Bourgon |
Pigo: A Pure Go Face Detection Library — Based upon an approach called Pixel Intensity Comparison-based Object (PICO) detection, explained in this paper. Endre Simo |
Experience the O'Reilly Fluent Conference for Just $199 — Don't let time or budget be an excuse to miss Fluent. Get access to keynotes with speakers like Cory Doctorow and Brendan Eich, events like the Better Together Block Party, and sponsored sessions from companies like AWS and Akami. Grab your pass today. O'Reilly Media, Inc. sponsor |
Learning Go’s Concurrency Through Illustrations — An excellent primer on goroutines and channels using whimsical animations. Trevor Forrey |
Go Vanity URLs: Use A Custom Domain in Your Go Import Path — If the news that Microsoft is acquiring GitHub has you worried, maybe it’s time to make your Go packages available from your own domain? This tool by Google makes it simple to set up and manage. gopkg is another hosted solution. Google Cloud Platform |
An Exploration of Go Memory Management — An overview of the various ways in which you can manage memory from Go and how Go’s allocator works. Povilas Versockas |
What is Software Engineering? — The latest followup in Russ Cox’s series on versioning in Go briefly touches on how Go’s design decisions are typically motivated by software engineering concerns. Russ Cox |
💻 Jobs |
Golang Developer — We are currently seeking a number of highly skilled and talented System Developers to join our dedicated development team in Dublin. Exads |
Go Expert? Sign Up for Vettery — Vettery matches top tech talent with fast-growing companies. Take a few minutes to join our platform. Vettery |
📘 Tutorials |
Type-Unsafe Pointers in Go — Using unsafe pointers can help write better code in some (rare) cases, but it’s very easy to introduce hard-to-detect errors. You better read this before you start. Go 101 |
Fix Production Bugs in Seconds with Sentry — Relying on users to report bugs? Use Sentry to fix production issues in real time & in your existing workflow. Sentry sponsor |
Why Doesn't Go Have Variance in Its Type System? Axel Wagner |
How to Write Bulletproof Code in Go: A Workflow for Servers That Can’t Fail Tal Kol |
Backing Up GitHub and GitLab Repositories Using Go — In case, for some reason, you want to backup your repositories.. Amit Saha (Linux Journal) |
How time.Sleep Works in the Go Runtime Ian Lance Taylor |
eBook: How to Refactor a Monolithic Codebase Over Time Codeship sponsor |
▶ Getting Started with OAuth2 in Go Package Main |
🔧 Tools & Code |
GolangCI-Lint: A Linter Runner/Aggregator for Go — Configurable. Colored output. Claims to be 5x faster than gometalinter. Denis |
ZSocket: Zero-Copy Sockets for Linux in Go Nathan Sweet |
githubv4: Go Client Library for GitHub's GraphQL API v4 Dmitri Shuralyov |
sbr-go: A Sequence-Based Recommender/Prediction System Maciej Kula |
Blush: It's 'grep', But With Colors — A command-line utility that allows you to specify the colors of each match. Arsham Shirvani |
jp: Simple Terminal Plots From JSON (or CSV) Data — Bar charts, line charts, scatter plots, histograms and more. Sergey Grebenshchikov |
Linux Cloud Hosting Starting at 1GB of RAM for $5/mo Linode Cloud Hosting sponsor |
consulacl: Go Library for Working with Consul ACLs Anexia Internetdienstleistungs GmbH |
Gobot 1.11 Released: A Go-Powered Robotics Framework — Updates to the newest go-sdl2 package, and now supports the XBox 360 Rock Band drum controller and the T-Flight Hotas X flight controller. Ron Evans |