#396 — January 21, 2022
Go Weekly
An Official 'Getting Started with Generics' Tutorial — As we keep saying, Go 1.18 is coming (it’s in beta right now) and generics are a much awaited part of that. So it’s great to see an official tutorial introducing the basics of using generics in Go, even if it, too, is in beta for now.
Go Docs
Getting Started with Fuzzing in Go 1.18+ — In a similar fashion to the generics tutorial above, there’s also a new tutorial cover the practicalities of getting started with fuzz testing (a type of automated testing where inputs are manipulated a large number of times to find subtle flaws in the thing being tested) in Go 1.18 and beyond.
Go Docs
It's Go Time - Get Started with InfluxDB — Write your real-time apps in Go with this step-by-step tutorial for InfluxDB. Use our code snippets, adapt, or write your own using the CLI.
InfluxData sponsor
'What I'd Like to See in Go 2.0' — Seth clearly has the experience that inspires this well thought out list of language improvements around templating, a more deterministic select, standard structured logging, and more.
Seth Vargo
Diving Into Go's HTTP Server Timeouts — Timeouts are a simple mechanism, that every server author should use, that almost always creates surprises in practice, so maybe this post will prepare you to be less surprised.
Adam Pritchard
BRIEF BYTES:
-
fsnotify is a popular Go library for working with file system notifications but it's looking for new maintainer(s).
-
📗 Due to be finished in March, but available in 'early access' now, 100 Go Mistakes and How to Avoid Them is a new book from Manning Publications written by Teiva Harsanyi.
-
Popular game platform Roblox suffered a 73 hour outage back in October 2021 and their extensive post-mortem reveals, curiously, that a Go-powered piece of code (BoltDB) was at the heart of it and its author acknowledged the design problem on Hacker News too.
-
There aren't many Go podcasts out there, but if you're looking for a new one to check out, 🔊 Dominic St-Pierre has you sorted.
Jobs
Backend Engineer | Remote within CET (-3/+3 hours) | Full-Time — Europe's leading business finance solution. You will help us simplify everything from everyday banking and financing, to bookkeeping and spend management.
Qonto
Golang Developer at X-Team (Remote) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more.
X-Team
Find a Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired
Visualization in Go: Plotting Stock Information — Admittedly Plotly is doing the hard work here, but Go is used to tie everything together.
Miki Tebeka
Building GitHub Apps with Go — Github Apps provide the ability to manage your repositories, their builds, and get stats, among other capabilities.
Martin Heinz
▶ AI-Driven Development in Go with Alexey Palazhchenko — A discussion about the implications of AI and ML-based systems (such as GitHub’s Copilot) on writing Go code. (50 minutes.)
Go Time Podcast podcast
🛠 Code & Tools
qlmka: macOS Quick-Look Plugin for Matroska .mka Files — If you use macOS, you know that pressing Space on a file in the Finder can give you a ‘quick look’ preview of that file’s contents. It’s interesting to see Go used in such a plugin for once (with C providing the interface between macOS and the Go code) and no Xcode needed either.
Remko Tronçon
Redix: A Fast Persistent Pure Key/Value Store — A key value store that speaks the Redis protocol but uses Postgres as its storage engine. First unveiled three years ago as a learning experience, this has been frequently updated and turned into a neat project.
Mohammed Al Ashaal
Litestream: Real-Time Streaming Replication for SQLite — Continuously streams changes to a local SQLite database to S3, Azure Blob Storage, Google Cloud, over SFTP or NFS, etc. so you can recover more quickly if things go bad. GitHub repo.
Ben Johnson
gokrazy: A Pure-Go Userland for Raspberry Pis — No C runtime, no console, no systemd, just gokrazy (and its web interface) and your Go application.
gokrazy
Goridge 3.3: A PHP-to-Go IPC/RPC Bridge — Uses PHP sockets and Go’s net/rpc package to enable the calling of Go service methods from PHP with relatively high performance and a low footprint. If you’re in the PHP space you might also like related project Roadrunner which is a Go-powered PHP application server.
RoadRunner
Switchboard: Automagical File Organization — A Go powered tool that monitors directories of your choice and will then reorganize files (moving downloaded MP4 files into your Movies folder, say).
Cian Gallagher
Wordlehack: Another Attempt at Finding The Best Wordle Starting Word — If you’re not a Wordle player, this will mean nothing to you - otherwise, you might appreciate the analysis.
Brian Olson
tt: A Terminal Based Typing Test — A quick fun test that will tell you characters and words-per-minute, along with accuracy of your typing skill.
lemnos