---
title: "A treasure trove of Go history"
publication: "Go Weekly"
issue: 402
published_at: "2022-03-04"
canonical_url: "https://golangweekly.com/issues/402"
---

Plus generics-driven libraries, immutable databases, and a table for your bubble tea. |        

#​402 — March 4, 2022 

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

The _Go Weekly_ Newsletter 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/qacqg2slepax54cmw9mf.jpg)](https://golang.design/history/)   

⭐️ [Go: A Documentary (Of Sorts)](https://golang.design/history/) — What happens if you bring together over 700 links to papers, talks, issues, and other digital artefacts covering Go’s history, the background to its feature, creators, and more? You get this treasure trove of a resource. A feat of curation. 

Changkun Ou   

[Speeding Up Go's Builtin JSON Encoder](https://datastation.multiprocess.io/blog/2022-03-03-improving-go-json-encoding-performance-for-large-arrays-of-objects.html) — A lot of modern programs use JSON as a data interchange format with the outside world, so being able to read and write it quickly is a must. How fantastic, then, that folks like Phil are putting in work like this. [go-json](https://github.com/multiprocessio/go-json) is the end result. 

Phil Eaton   [![\](https://copm.s3.amazonaws.com/27df956b.png)](https://buttercms.com/golang-cms/?utm_source=gonewsletter&utm_medium=email&utm_campaign=code) 

[ButterCMS Melts into Your Go App `$ ButterCMS.getposts()`](https://buttercms.com/golang-cms/?utm_source=gonewsletter&utm_medium=email&utm_campaign=code) — ButterCMS is your content backend. Enable your marketing team to update website + app content without needing you. Try the #1 rated Headless CMS for your Go app today. Free for 30 days. 

ButterCMS sponsor   

[Go 1.17.8 and Go 1.16.15 Released](https://groups.google.com/g/golang-announce/c/RP1hfrBYVuk/m/I7ouYouLAAAJ) — Includes a security fix for a problems on 64-bit platforms where a deeply nested expression can cause `regexp.Compile` to exhaust the stack ([issue here](https://github.com/golang/go/issues/51112)). 

Carlos, Alex, and the Go Team   

[Prig: It's Like AWK, But Uses Go for 'Scripting'](https://benhoyt.com/writings/prig/) — The creator of GoAWK creates a CLI tool that is AWK-like (minus a couple of features) and shows the 200 lines of code it took to build it. 

Ben Hoyt   

**Quick bits:** 

- The folks behind the Fyne and Gio GUI libraries have launched a [Go GUI developer survey](https://fynelabs.com/2022/03/02/announcing-go-gui-developer-survey/) to help steer their future efforts.
- 🇺🇦 We stand in support of Ukraine and want to share [the appeal to the developer community by a Rubyist](https://zverok.space/blog/2022-03-03-WAR.html) who is sheltering from the invasion in Kharkiv. We have also donated to the effort and encourage efforts to do likewise.
- [gopls 0.8.0](https://github.com/golang/tools/releases/tag/gopls%2Fv0.8.0) has been released with support for Go 1.18, workspaces, generics, fuzz tests, etc. It also drops Go 1.12 support.    

Jobs  

[Site Reliability Engineer](https://buildkite.com/careers/site-reliability-engineer) — Help us scale one of the biggest Postgres-powered Rails majestic monoliths in the world. 
Buildkite   

[Golang Engineers — 100% Remote (North/South America & Europe)](https://www.ardanlabs.com/careers/mid-level-and-senior-backend-engineer.html) — We’ve got several opportunities for Go devs (some working directly with Bill Kennedy!) and would love to hear from those looking for new challenges in distributed systems projects. 
Ardan Labs   

[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      

[Using WWW-Authenticate for User Authentication](https://saucecode.bar/posts/06-using-www-authenticate.html) — If your auth needs are (very) simple, this approach (also known as HTTP Basic Auth) could save you a lot of time and code. 

Brian Mayer   

[Building a Command Line Tool with Go: Lolcat](https://blog.ultirequiem.com/chigo) — A light hearted and very easy to follow tutorial from a 15 year old Peruvian gopher :-) 

Eliaz Bobadilla   

[How to Set Up a Blog with Hugo and Cloudflare (and Why You Should)](https://smaller.fish/posts/hugo) — This tutorial is focused on the logistics rather than Go, but [Hugo](https://gohugo.io/) is a popular Go-powered static site generator worth considering for your projects. 

Smaller Fish   

▶[Why Immutable Databases?](https://changelog.com/gotime/219) — Bartlomiej Święcki and Jeronimo Irazabal (who work on [ImmuDB](https://github.com/codenotary/immudb)) join the show to talk about the concept of immutable databases, the problems they target, and why you’d want to build one in Go. 

Go Time Podcast podcast   

[Building a Simple REST API with `gorilla/mux`](https://carlosmv.hashnode.dev/building-a-simple-rest-api-in-go-with-gorillamux) 
Carlos Marcano  

🛠 Code & Tools  

[Juniper: An Extended Go Standard Library using Generics](https://github.com/bradenaw/juniper) — Generic-based packages are starting to emerge, like Jupiter which extends containers, lists, slices, and more. 

Braden Walker   

[Bun 1.1: A Fluent SQL Client for Several Databases](https://github.com/uptrace/bun) — A client library that provides an ‘ORM-like’ experience with Postgres, MySQL, SQL Server, and SQLite. The [querying approach](https://github.com/uptrace/bun#why-another-database-client) is quite idiosyncratic but very fluent. 

Uptrace   

[Lo: A Lodash-Style Library for Go 1.18+](https://github.com/samber/lo) — [Lodash](https://lodash.com/) is a popular JavaScript utility library that, to a point, makes up for various deficits in JS’s approach for working with collections. This generics-based attempt brings similar utility methods for working with slices, maps, and more in Go too and treads some similar ground to Juniper (above). 

Samuel Berthe   

[Run Go Unikernels 2X as Fast on GCP and 3X as Fast on AWS](https://nanos.org?utm_source=cooperpress&utm_medium=cooperpress&utm_campaign=brief) 

NanoVMs sponsor   

[Bubble Table: A Table Component for Bubble Tea](https://github.com/Evertras/bubble-table) — If you haven’t checked out [Bubble Tea](https://github.com/charmbracelet/bubbletea) before, you should. It’s a nifty terminal UI library for Go. 

Brandon Fulljames   

[pg_back 2.1.0: A Simple and Thorough Backup Tool for Postgres](https://github.com/orgrim/pg_back) — A tool (written in Go) for dumping your databases to files, including roles, server parameters, and more, in the format of your choice. Uses `pg_dumpall` and `pg_dump` behind the scenes to get all the data you need. 

Nicolas Thauvin   

[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. We linked this recently but it has just added support for connecting to encrypted [WiFi networks](https://gokrazy.org/userguide/wifi/). 

Michael Stapelberg         

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
