#299 — February 14, 2020

Unsubscribe  :  Read on the Web

Golang Weekly

Fyne: Cross Platform GUI Toolkit and API — We first linked this when it was for desktop only but it supports Android and iOS too now. It claims to be inspired by Material Design but looks more generally Linux-y to me. Certainly a clean look though.


On Mirrors, Checksums and Athens — Go teacher extraordinaire Bill Kennedy is back to explain what Go module mirrors/proxies are all about and why you might set up your own private one.

William Kennedy

simdjson-go: Parsing Gigabytes of JSON Per Second in Go — simdjson uses a novel, two-stage approach with which it is possible to achieve a parsing performance of gigabytes of JSON per second on a single core.

MinIO Blog

High Performance Redis Hosting — Better monitoring, seamless scaling, and automatic version upgrades make RedisGreen the preferred choice for teams.

RedisGreen sponsor

faillint: Report Unwanted Import Path Usages — A new tool from the creator of vim-go designed to be used in CI/CD environments for checking for unwanted import paths.

Fatih Arslan

TamaGo: Bare Metal Go for ARM SoCs — This framework stems from a need to write embedded software without any dependency on C or operating systems. “If Go is your language of choice and you want to develop embedded system firmware you can grab a USB armory Mk II and run Go applications with very few limitations.”

F-Secure Labs

Go 1.13.8 and Go 1.12.17 Released — Very minor releases with “fixes to the runtime, the crypto/x509, and net/http packages”.

Alex Rakoczy

💻 Jobs

Backend Developer at Toggl (Remote) — Toggl the time-tracker helps keep teams focused on what matters the most. The team is looking for sharp and creative developers.


Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring — Like coding in Go? We do too. Stream is hiring in Amsterdam. Apply now.


Find a Dev Job Through Vettery — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers.


📘 Articles & Tutorials

An Introduction to Go's trace Packagetrace provides functionality to get tracing information about the execution of your program including goroutine use, memory allocation, syscalls, etc.

Vincent Blanchon

Getting Started with Bluetooth LE — One for you Go + hardware fans. This is a thorough introduction to coding for a SoC device aimed at modern Bluetooth use cases.

Embedded Go

Batching Operations in Go — How grouping operations into batches can be done with some loops and counters, but encapsulating that logic into a helper can make it feel more robust.

Mat Ryer

Faster CI/CD for All Your Software Projects Using Buildkite — See how Shopify scaled from 300 to 1500 engineers while keeping their build times under 5 minutes.

Buildkite sponsor

▶  Discussing Unusual Uses for Go: GUIs — An episode of Go Time diving into the challenges of using Go for building usable cross platform GUIs.

Go Time Podcast podcast

Go's Inlining Strategy and Limitations — The rules around how Go decides whether or not to inline a function in order to increase performance.

Vincent Blanchon

Comparing Go to Python for Small Scale Scripts and Tools — A developer who uses both Go and Python thinks out loud about why Python is still better for small sysadmin scripts.

Chris Siebenmann

The Evolution of a Go Programmer — A bit of a lark about the circles of life in programming.

Aleksandr Krivoshchekov

Building a Go Module Testbed

Chris Wellons

🛠 Code & Tools

Excelize 2.1: A Library for Reading and Writing Excel Files — Read and write XLSX files, set and read cell values, and even add charts. v2.1.0 release notes.

360 Enterprise Security Group, Endpoint Security, inc.

Gitea 1.11.0 Released — Gitea is a Go-powered self-hosted git repository service, a la a mini open source GitHub or GitLab. Demo install here.

John Olheiser

esbuild: An Extremely Fast JavaScript Bundler and Minifier — An experiment in proving that tools for bundling JavaScript can actually be very fast.. though in this case by implementing one in Go ;-)

Evan Wallace

Monitor the Performance of Your Golang Apps in Real-Time with Datadog

Datadog APM sponsor

Delve 1.4.0: A Debugger for Go — A long standing project which has just this week added Linux/ARM64 support, as well as support for the forthcoming Go 1.14.

Derek Parker

go-ipfs: An IPFS Implementation for Go — IPFS (InterPlanetary File System) is a peer-to-peer protocol and network for organizing a distributed file system.

Go IPFS Community

Broxy: An HTTP/HTTPS Intercept Proxy Written in Go — This open-source intercept proxy is still in alpha. It makes use of goproxy as the core proxy implementation and the interface is implemented with a Qt wrapper for Go.

Federico De Meo

Faker: A Fake Data Generator for Your Structs — Got a struct of ‘user’ data for things like emails, IP addresses, names, or similar? Faker can populate them with realistic looking, yet fake, data.

Iman Tumorang

Oragono: A Modern IRC Server Written in Go — Supports UTF-8 and IRCv3 features.

Jeremy Latt