Go Weekly

#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.

Fyne.io

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.

Toggl

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

Stream

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.

Vettery

📘 Articles & Tutorials

An Introduction to Go's trace Package — trace 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

Issue 298 #299 Issue 300