---
title: "Crochet your own Go gopher."
publication: "Go Weekly"
issue: 424
published_at: "2022-08-12"
canonical_url: "https://golangweekly.com/issues/424"
---

Plus reproducing Rob Pike's C code in Go, a new fast concurrent hashmap, and the Gopher Lisa. |        

#​424 — August 12, 2022 

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

☀️ A heads up that you won't get this newsletter on August 19 as we're taking a week off for summer vacation – we're back as usual on August 26 :-)
__
_Peter Cooper, your editor._  

The _Go Weekly_ Newsletter 

[![Gopher saboteur\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/cpznpmddwzhbaptaimvg.jpg)](https://en.pingcap.com/blog/how-i-found-a-go-issue-on-arm-that-crashed-the-database-server/)  

['How I Found a Go Issue on ARM that Crashed the Database Server'](https://en.pingcap.com/blog/how-i-found-a-go-issue-on-arm-that-crashed-the-database-server/) — A distributed SQL database like TiDB is a complex piece of software that leans heavily on its environment and a ‘peculiar’ [Go bug](https://github.com/golang/go/issues/52116) caused it to crash on ARM platforms. If you like problem solving and post mortems, this is a good one. 

Arther Mao (PingCAP)   

[Rob Pike's Simple C Regex Matcher in Go](https://benhoyt.com/writings/rob-pike-regex/) — In 1998, Rob Pike [wrote](https://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html) a regular expression parser in C to use as an example in a book. Ben considers how it would look (and perform) written in Go instead. 

Ben Hoyt   [![\](https://copm.s3.amazonaws.com/d66ea58f.png)](https://www.ardanlabs.com/careers/mid-level-and-senior-backend-engineer.html/?utm_source=Cooperpress%20PrimaryV4) 

[Gophers - Opportunity is Knocking](https://www.ardanlabs.com/careers/mid-level-and-senior-backend-engineer.html/?utm_source=Cooperpress%20PrimaryV4) — We’re a premier software engineering firm looking for mid to senior level engineers to help us develop advanced software solutions and applications in Go. Got at least 1 year of professional Go experience and located in the Americas or Western Europe? We want to hear from you. 

Ardan Labs sponsor   

['I Don’t Like Go’s Default HTTP Handlers'](https://preslav.me/2022/08/09/i-dont-like-golang-default-http-handlers/) — This seemed to resonate with quite a few people. It boils down to being explicit (or not) with how to handle errors and compares some different approaches to doing just that. 

Preslav Rachev   

**QUICK BITS:** 

- Fastly has [added Go support to Compute@Edge](https://www.fastly.com/blog/compute-edge-go-support-has-arrived), its globally distributed serverless platform.
- 😍 Want to do something a little more hands-on than prorgamming? Try crochet! Alcione Ribeiro has sent in [a crocheting pattern](https://github.com/Acyony/gopher-pattern) you can use to make your own real life Go gopher character!
- The [▶️ latest episode of the _Go Time_ podcast](https://changelog.com/gotime/242) featured JFrog's Baruch Sadogursky discussing the systemic complexities of dependency management.   

[Error Handling with Go Tooling](https://eli.thegreenplace.net/2022/error-handling-with-go-tooling/) — Newsflash: Your Go code (probably) isn’t perfect! Eli presents us with some deliberately bad code and uses it to demonstrate how Go itself can be used to detect it. 

Eli Bendersky   

[Let's Talk SkipList](https://ketansingh.me/posts/lets-talk-skiplist/) — Ketan uses some useful visuals to teach us about a probabilistic data structure that competes with binary trees for some use cases and is used in more places than you might guess. 

Ketan Singh   

[Manipulating 'Windows Tokens' with Go](https://fourcore.io/blogs/manipulating-windows-tokens-with-golang) — ‘Security tokens’ are used in Windows for identity and privilege reasons. Not my area of expertise at all, but it’s interesting to see how security professionals are using Go to work with such things. 

Swapnil (FourCore)   

▶[Building Go Executables: Embedding Assets](https://www.youtube.com/watch?v=2cc4irG6bDA) — A look at using the `go:embed` directive introduced in Go 1.16. _(3 minutes.)_ 

Miki Tebeka   

[Brief Thoughts on Atomic Pointers in Go 1.19](https://betterprogramming.pub/atomic-pointers-in-go-1-19-cad312f82d5b) 
Cheikh Seck  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/sxhv3aoenzkm5edx4ha8.jpg)](https://github.com/xyproto/algernon)  

[Algernon: A Small Self-Contained Pure Go Web Server](https://github.com/xyproto/algernon) — With Lua, Markdown, HTTP/2, QUIC, Redis and Postgres support. 

Alexander F. Rødseth   

[HaxMap: A Fast, Memory Efficient Concurrent Hashmap](https://github.com/alphadose/haxmap) — Early days for this project, but it supports int, uint, uintptr, and strings as keys, and benchmarks well against other options. Requires Go 1.19 and a 64 bit platform. 

Anish Mukherjee   

[Echo 4.8: High Performance, Minimalist REST Framework](https://github.com/labstack/echo) — A framework aimed at building REST APIs complete with router, middleware framework, HTTP/2 support, automatic TLS, and more. [v4.8](https://github.com/labstack/echo/releases/tag/v4.8.0) lets you add any arbitrary HTTP method as a route and specify custom 404 handlers for specific paths. 

LabStack LLC   

[Automatically Detect and Track Flaky Tests in Go](https://buildpulse.io?utm_source=golangweekly&utm_medium=referral&utm_campaign=202208-golangweekly) 

BuildPulse sponsor   

[Imagor 1.0: A Docker-Ready Image Processing Server](https://github.com/cshum/imagor/releases/tag/v1.0.0) — If you want an image server that can manipulate images on the fly (a la Cloudinary) this is worth a look and, as of v1, uses libvps’ streaming capabilities for more concurrency and throughput. [GitHub repo](https://github.com/cshum/imagor). 

Adrian Shum   

[Revive: A Fast(er), Configurable, Flexible Linter for Go](https://github.com/mgechev/revive) — A drop-in replacement of golint that aims to provide a little more structure and configurability. It now boasts being ‘~6x faster’ too. 

Minko Gechev   

**⚡️ QUICK RELEASES:** 

[JuiceFS 1.0](https://github.com/juicedata/juicefs) – Distributed POSIX file system built on Redis & S3.
 [Sarama 1.36](https://github.com/Shopify/sarama) – Go library for Apache Kafka.
 [Sonic 1.3.5](https://github.com/bytedance/sonic) – Fast JSON (de)serializing library.
 [ff 3.3](https://github.com/peterbourgon/ff) – Flags-first package for configuration.
 [FreeCache 1.2.2](https://github.com/coocood/freecache) – Cache library with zero GC overhead.
 [RedisShake 3.0](https://github.com/alibaba/RedisShake) – tool for Redis data migration and filtering.  

🎨 Courtesy of OpenAI DALLE·2 

![The Gopher Lisa](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ie6wfs3lkn2jnndvs1qy.jpg)  

_The Gopher Lisa.._    

Jobs  

[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   

[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           

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

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

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