---
title: "If at first your code doesn't succeed, `try`, `try` again?"
publication: "Go Weekly"
issue: 432
published_at: "2022-10-14"
canonical_url: "https://golangweekly.com/issues/432"
---

Plus we get a little Tcl-ish, how to create PDFs from Go, and a Go-powered Hacker News client. |        

#​432 — October 14, 2022 

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

Together with [![Memetria\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_600,h_145/e_make_transparent/co_white,e_outline:7/vvpdctzacmq3xehpvwps.png)](https://dashboard.memetria.com/goweekly)  

The _Go Weekly_ Newsletter 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vfuryftdge2dmyomc78s.jpg)](https://github.com/golang/go/issues/56165)  

[Proposal: A `try` Statement for Error Handling?](https://github.com/golang/go/issues/56165) — Inspired by the results of the recent Go community survey, a self-proclaimed `if err != nil` expert(!) puts forward an interesting, well-written proposal for adding some tasty syntactic sugar to error handling. **It’s only early days for this idea** which may well not even pan out, but there’s plenty of room to jump in with your take on it and help push things forward. 

Greg Weber   

[Autostrada: A Codebase Generator for Go Projects](https://autostrada.dev/) — A site that lets you pick from a variety of options (webapp vs JSON API, SQLite vs Postgres – add auth, secure cookies, sessions, etc.) and then download a custom codebase built from those options to continue building an app with. An interesting idea. 

Alex Edwards   [![\](https://copm.s3.amazonaws.com/49c0002b.png)](https://dashboard.memetria.com/goweekly) 

[Memetria: Secure, Scalable, Full-Featured Redis 7 Hosting](https://dashboard.memetria.com/goweekly) — The latest Redis features, instrumented and scaled with the tools teams need as they grow. 

Memetria sponsor   

[Go _Aha!_ Moments: Generics](https://openziti.io/golang-aha-moments-generics) — The maintainer of a Go project takes a few steps back from the initial excitement over generics to cover their motivation, some practical use cases, and the pros and cons. 

Paul Lorenz   

▶['Hacking' with Go: Part 2](https://changelog.com/gotime/251) — A year ago, _Go Time_ tackled the use of Go in hacking (in the security sense) by speaking to security researchers familiar with the use of Go in malware, reverse engineering, and more. This time, a researcher from Kaspersky joins the show to talk about Go binaries, reverse engineering them, how to approach writing secure Go code, and more. 

Go Time Podcast podcast   

**IN BRIEF** 

- Last week we featured [the discussion](https://github.com/golang/go/discussions/56010) around redefining Go `for` loop variable semantics; this week, Hacker News had [an extensive discussion](https://news.ycombinator.com/item?id=33160236) about it.
- Database fans: [PostgreSQL 15](https://www.postgresql.org/about/news/postgresql-15-released-2526/) has been released with improved sort performance, `MERGE` support, and a new JSON-based logging format.
- Mat Ryer has a [▶️ special episode of _Go Time_](https://changelog.com/gotime/250) following him around Gophercon EU 2022 where chatted to folks like Ron Evans and Bill Kennedy.   

[Building a New ScyllaDB Go Driver: Faster Than GoCQL and Its Rust Counterpart](https://www.scylladb.com/2022/10/12/a-new-scylladb-go-driver-faster-than-gocql-and-its-rust-counterpart/) — While it’s nice to read an article where Go outperforms Rust, the better takeaways here are the various tactics the team used to improve that performance. 

Pawel Putra (Scylla)   

💡 If you're not familiar with [ScyllaDB](https://www.scylladb.com/product/), it's a rapidly scalable, Apache Cassandra-inspired, NoSQL database written in C++.  

[How to Create a PDF in Go: A Step-By-Step Tutorial](https://medium.com/the-godev-corner/how-to-create-a-pdf-in-go-157355429a94) — When you need to dynamically generate a PDF, such as for an invoice or report. However, note that it leans upon [UniPDF](https://github.com/unidoc/unipdf), a commercial library from [UniDOC](https://unidoc.io/). If you want something more open, [Maroto](https://github.com/johnfercher/maroto) provides another option. 

Marvin   

[Akuity is the Argo CD as a Managed Service from the Creators of Argo](https://akuity.io/akuity-platform/?utm_source=newsletter&utm_medium=cooperpress-sponsored&utm_campaign=golangweekly) — Akuity's architecture increases security, improves scalability, provides insights, and saves money. Start a free trial. 

Akuity sponsor   

▶[Building a CLI Kanban Board with Bubble Tea](https://www.youtube.com/watch?v=ZA93qgdLUzM) — Direct from the [Bubble Tea](https://github.com/charmbracelet/bubbletea) creator’s official channel. 

bashbunni   

[Go Worker Pool: The Concurrency Powerhouse](https://medium.com/higher-order-functions/go-worker-pool-the-concurrency-powerhouse-2dc7971f4f15) — Scaling with concurrency the right way using a well-known pattern. 

Saurabh Nayar  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ai0xebeyklhdhytudqmt.jpg)](https://gitlab.com/cznic/tcl)  

[A Port of Tcl to Go](https://gitlab.com/cznic/tcl) — Tcl is a widely used, reasonably minimalist multi-paradigm language (see [basic syntax here](https://www.tcl.tk/about/language.html)) often associated with embedding and lightweight GUI work (by way of Tcl/Tk). This is a _port_ of the Tcl implementation to Go by way of the [ccgo](https://gitlab.com/cznic/ccgo) C to Go transpiler. 

cznic and Tcl Authors   

[Pagoda: Rapid, Full-Stack 'Starter Kit'](https://github.com/mikestefanello/pagoda) — If you don’t mind how opinionated it is, Pagoda acts as a foundation of frameworks and modules for building a modern full-stack Go app. Echo and Ent are on the backend talking to Postgres and Redis with [htmx](https://htmx.org/) and [Alpine.js](https://alpinejs.dev/) up front. 

Mike Stefanello   

[Forget Everything You Know About SSH](https://tailscale.com/tailscale-ssh/?utm_source=golang&utm_medium=email&utm_campaign=2022-10-14&utm_content=brand) — Say goodbye to managing SSH keys. Tailscale SSH works where Tailscale works and is free for personal use up to 20 devices. 

Tailscale sponsor   

[Expr: Expression Evaluation Within Go](https://github.com/antonmedv/expr) — Got expressions? Expr is an engine for evaluating them, whether it’s for arithmetic, business rules, or data filtering. We last linked to this _three years ago_ but it has had a mild renaissance on social media this week. 

Anton Medvedev   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/wsughrwofwgwvtwectsv.jpg)](https://github.com/zakaria-chahboun/cute)  

[Cute Print: A Minimalist Beautiful Go Printing / `fmt` Alternative](https://github.com/zakaria-chahboun/cute) — A minimal but opinionated way to print out attention grabbing messages on the terminal. See the screenshots in the README. 

zakaria chahboun   

[Circumflex: A Terminal Based _Hacker News_ Client](https://github.com/bensadeh/circumflex) — A [Bubble Tea](https://github.com/charmbracelet/bubbletea)-based terminal client for the popular tech news aggregator. 

Ben Sadeh   

[Tunny: A Goroutine Pool Library](https://github.com/Jeffail/tunny) — A library for spawning and managing a pool of goroutines such as for when you need to limit the concurrent processing of jobs. 

Ashley Jeffs   

- [Gum 0.8](https://github.com/charmbracelet/gum) – Go-powered shell scripting utilities.
- [fsnotify 1.6](https://github.com/fsnotify/fsnotify/releases/tag/v1.6.0) – File system event notifications.
- [lazydocker 0.19](https://github.com/jesseduffield/lazydocker) – Terminal UI for working with Docker.
- [Cobra 1.6](https://github.com/spf13/cobra) – Build modern Go CLI apps.
- [Goa 3.10](https://github.com/goadesign/goa) – DSL for building microservices.     

Jobs  

[Senior Golang Software Engineer](https://grnh.se/b4c9fad51us) — Seeking Sr Software Engineers to build innovative technology that connects learners with experts in any subject, anytime, anywhere. 
Varsity Tutors (Nerdy)   

[Senior Backend Engineer – Go/Golang (f/m/d)](https://jobs.ioki.com/l/en) — Join our team working on real life solutions for the future of public transport. 
ioki   

[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     

🎁 _Lagniappe!_  

[LearnGo: A Large Collection of Go Examples, Exercises, and Quizzes](https://github.com/inancgumus/learngo) — A repository that explains Go concepts with hundreds of exercises to help folks who want to ‘learn by doing’ (or by reading lots of programs, if you prefer). 

Inanc Gumus        

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
