---
title: "Two new official tutorials for Go 1.18 features"
publication: "Go Weekly"
issue: 396
published_at: "2022-01-21"
canonical_url: "https://golangweekly.com/issues/396"
---

Plus using Go to build macOS Quick Look plugins, a Go-powered typing test, and are you sick of Wordle yet? |        

#​396 — January 21, 2022 

[Unsubscribe](https://golangweekly.com/leave/*|UID|*)|[Read on the Web](https://golangweekly.com/issues/396)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/clmfqsprhoml04rxkw8u.jpg)](https://go.dev/doc/tutorial/generics)  

[An Official 'Getting Started with Generics' Tutorial](https://go.dev/doc/tutorial/generics) — As we keep saying, Go 1.18 is coming (it’s [in beta](https://go.dev/blog/go1.18beta1) 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+](https://go.dev/doc/tutorial/fuzz) — 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   [![\](https://copm.s3.amazonaws.com/933e43ec.png)](https://www.influxdata.com/blog/getting-started-go-influxdb/?utm_source=vendor&utm_medium=referral&utm_campaign=2022-01-21_spnsr-nl_getting-started-go-influxdb_global&utm_content=gonews) 

[It's Go Time - Get Started with InfluxDB](https://www.influxdata.com/blog/getting-started-go-influxdb/?utm_source=vendor&utm_medium=referral&utm_campaign=2022-01-21_spnsr-nl_getting-started-go-influxdb_global&utm_content=gonews) — 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'](https://www.sethvargo.com/what-id-like-to-see-in-go-2/) — 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](https://crypti.cc/blog/2022/01/15/golang-http-server-timeouts.html) — 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](https://github.com/fsnotify/fsnotify) is a popular Go library for working with file system notifications but it's [looking for new maintainer(s)](https://github.com/fsnotify/fsnotify/issues/413).
- 📗 Due to be finished in March, but available in 'early access' now, [100 Go Mistakes and How to Avoid Them](https://www.manning.com/books/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](https://blog.roblox.com/2022/01/roblox-return-to-service-10-28-10-31-2021/) reveals, curiously, that a Go-powered piece of code ([BoltDB](https://github.com/boltdb/bolt)) was at the heart of it and its author [acknowledged the design problem](https://news.ycombinator.com/item?id=30015913) 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](https://go.transistor.fm/).     

Jobs  

[Backend Engineer | Remote within CET (-3/+3 hours) | Full-Time](https://jobs.lever.co/qonto/284b8162-5293-4ad7-a9e6-4ad26ce0c516?lever-origin=applied&lever-source%5B%5D=Cooperpress) — 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)](https://x-team.com/remote-go-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=cooperpress-go&utm_content=go) — 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](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-golangweekly%29&utm_content=find-your-next-job) — 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](https://www.ardanlabs.com/blog/2022/01/visualizations-in-go.html) — Admittedly Plotly is doing the hard work here, but Go is used to tie everything together. 

Miki Tebeka   

[Building GitHub Apps with Go](https://martinheinz.dev/blog/65) — 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](https://changelog.com/gotime/213) — 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](https://github.com/remko/qlmka) — 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](https://github.com/alash3al/redix) — 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   

[Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring](https://angel.co/company/stream/jobs/241159-backend-software-engineer-go) 

Stream sponsor   

[Litestream: Real-Time Streaming Replication for SQLite](https://litestream.io/) — 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.](https://github.com/benbjohnson/litestream) 

Ben Johnson   

[gokrazy: A Pure-Go Userland for Raspberry Pis](https://gokrazy.org/) — 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](https://github.com/roadrunner-server/goridge) — 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](https://github.com/roadrunner-server/roadrunner) which is a Go-powered PHP application server. 

RoadRunner   

[Switchboard: Automagical File Organization](https://github.com/Cian911/switchboard) — 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](https://github.com/brianolson/wordlehack) — If you’re not a [Wordle](https://www.powerlanguage.co.uk/wordle/) player, this will mean nothing to you - otherwise, you might appreciate the analysis. 

Brian Olson   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/jk0c3ejgmyznttxehkeo.jpg)](https://github.com/lemnos/tt)  

[tt: A Terminal Based Typing Test](https://github.com/lemnos/tt) — A quick fun test that will tell you characters and words-per-minute, along with accuracy of your typing skill. 

lemnos   

[A Single Producer and Multi-reader Lockless Ring Buffer using 1.18's Generics](https://github.com/GavinClarke0/LocklessGenericRingBuffer) 
Gavin Clarke   

[graphql-go 1.3.0: A GraphQL Server with a Focus on Ease of Use](https://github.com/graph-gophers/graphql-go) 
Richard Musiol   

[go-enry: A Fast File Programming Language Detector](https://github.com/go-enry/go-enry) 
go-enry   

[Fiber 2.25.0: An Express.js Inspired Web Framework](https://github.com/gofiber/fiber) 
Fiber   

[Sarama: A Go Client Library for Apache Kafka](https://github.com/Shopify/sarama) 
Shopify         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
