---
title: "Go 1 turns twelve"
publication: "Go Weekly"
issue: 502
published_at: "2024-04-02"
canonical_url: "https://golangweekly.com/issues/502"
---

Plus discussing debugging approaches, optimizing SQLite and brute force searches, and getting brain freeze with Charm. |        

#​502 — April 2, 2024 

[Unsub](https://golangweekly.com/leave/*|UID|*)|[Web Version](https://golangweekly.com/issues/502)   

🐣 A quick note to say Go Weekly is taking next Tuesday off, as part of some Easter break-taking. We'll be back on Tuesday, April 16 :-)
__
_Your editor, Peter Cooper_ 

Together with [![Ardan Labs\](https://res.cloudinary.com/cpress/image/upload/e_make_transparent/co_white,e_outline:7,q_auto/uf5bdgdgdbgcbdrzi6r7.png)](https://www.ardanlabs.com/consulting/?utm_source=cooperpress)  

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/yctsfi9fawh7miujrzxr.jpg)](https://github.com/charmbracelet/freeze)  

[Freeze: Generate Images of Code and Terminal Output](https://github.com/charmbracelet/freeze) — From the purveyors of fine Go-powered libraries and CLI tools like [Bubble Tea](https://github.com/charmbracelet/bubbletea), [Huh](https://github.com/charmbracelet/huh) and [Wish](https://github.com/charmbracelet/wish) comes _Freeze_, a fresh way to create images of code and/or terminal output in PNG, SVG or WebP format. 

Charm   

🤩 The folks at Charm are also celebrating getting their 100,000th GitHub star with [a look at 'how they do it.'](https://charm.sh/blog/100k/) A true Go success story!  

[Building an Interactive Shell in Go](https://www.dolthub.com/blog/2023-03-29-interactive-shell-golang/) — From the folks working on the [_Dolt_ database](https://github.com/dolthub/dolt) (which includes a CLI to take SQL queries and feed them to the database) comes a guide to creating a CLI that’s intuitive and includes features like command history and autocompletion. [ishell](https://github.com/abiosoft/ishell) is their library of choice. 

Zach Musgrave (DoltHub)   [![\](https://copm.s3.amazonaws.com/1ea6f5f1.png)](https://www.ardanlabs.com/consulting/?utm_source=cooperpress) 

[Go! Unlock Your Tech Potential with Ardan Labs Consulting](https://www.ardanlabs.com/consulting/?utm_source=cooperpress) — Struggling with skill gaps, development speed or complex tech challenges? Ardan Labs specializes in Go, Rust, Docker and K8s to accelerate your software development, optimize architecture, and manage tech debt. Let us supercharge your team! 

Ardan Labs Consulting sponsor   

▶[Discussing Debugging in Go](https://changelog.com/gotime/309) — In the latest _Go Time_ episode, Matt Boyle, Bill Kennedy and Jon Calhoun discuss debugging techniques. Bill explains why he doesn’t like his developers to use the debugger, and how he prefers to only use techniques available in production. 

Go Time Podcast podcast   

_QUICK BITS:_ 

- 🎂 [Go version 1 was released](https://go.dev/blog/go1) 12 years ago.
- 🤔 Lars Bergstrom, Google Director of Engineering, says ["the Rust teams at Google are as productive as ones using Go"](https://twitter.com/spastorino/status/1773025016822497392), though both are twice as productive as teams using C++.
- 🐞 JetBrains' Ruslan Akhmetzianov shows off [GoLand's recent support for data flow analysis](https://blog.jetbrains.com/go/2024/03/26/data-flow-analysis-for-go/) (DFA) and how it can detect bugs on the.. go.
- 🤖 [Gopher-Verse](https://tech.creativefabrica.com/) is a fun project by _Creative Fabrica_ that uses a trained model to generatively create Go-style gophers based upon your prompts. Mixed results, but amusing.   

[Brute Force Text Search Optimizations](https://boyter.org/posts/brute-force-text-search-optimizations/) — If you’ve got a lot of textual data in memory, performing a brute force search upon it can be surprisingly quick nowadays, particularly with some optimizations.. 

Ben E. C. Boyter   

[Optimizing SQLite for Servers](https://kerkour.com/sqlite-for-servers) — Developers are increasingly realizing SQLite can scale a _long_ way and can handle many use cases for which more complex systems are often used. Sylvain goes deep into getting the best out of it. 

Sylvain Kerkour   

[Building a Blog in Go: Rendering Markdown as HTML](https://www.calhoun.io/building-a-blog-part-2/) — An [ongoing series](https://www.calhoun.io/building-a-blog-exercise-overview/) to build a simple blog system using Go. 

Jon Calhoun   

💡 Jon has also put his extensive video courses [Test with Go](https://testwithgo.com/) and [Web Development with Go](https://www.usegolang.com/) on sale until April 5.  

▶[Pointers for Performance?](https://www.youtube.com/watch?v=ISOjCvpNiYA) — Does returning a pointer from a function instead of a value improve performance in Go? _(3 minutes.)_ 

Bill Moran   

[Prevent Sensitive Data from Leaking in Logs](https://www.willem.dev/articles/prevent-sensitive-data-from-leaking/) 
Willem Schots  

🛠 Code & Tools  

[LangChain Go: A Go Port/Fork of LangChain for LLM Apps](https://tmc.github.io/langchaingo/docs/) — [LangChain](https://python.langchain.com/docs/get_started/introduction) is a popular framework (most commonly associated with Python) for developing language model powered apps. LangChain Go reimplements the same concepts in Go. [GitHub repo](https://github.com/tmc/langchaingo). 

Travis Cline et al.   

[Excelize: Library for Working with Excel Spreadsheets](https://xuri.me/excelize/) — Read and write XLAM / XLSM / XLSX / XLTM / and XLTX files. A long time library that keeps going from strength to strength. [GitHub repo](https://github.com/qax-os/excelize). 

QI-ANXIN GROUP   

[Hookdeck: The Amazon EventBridge Alternative](https://hookdeck.com/discover/goweekly?ref=goweekly-502) — Receive, transform, filter, route, and send messages across your EDA with an event gateway for engineering teams. 

Hookdeck sponsor   

[Ebitengine 2.7 Released: The 2D Game Engine for Go](https://ebitengine.org/en/documents/2.7.html) — The new feature this time is `text/v2`, an all new text rendering package that offers improved support for Arabic and vertically-rendered Japanese, [glyph vectorization](https://github.com/hajimehoshi/ebiten/issues/1937), more text alignment options, and improved OpenType support. 

Hajime Hoshi   

[Beego 2.2: Backend Framework for RESTful APIs and Webapps](https://github.com/beego/beego) — Inspired by Tornado, Sinatra and Flask. [v2.2.0](https://github.com/beego/beego/releases/tag/v2.2.0) bumps the Go version to 1.20. 

beego Framework   

- [sqlc 1.26](https://github.com/sqlc-dev/sqlc/releases/tag/v1.26.0) – Generate type-safe Go code from SQL. _(Includes an important security fix for users using output plugins.)_
- [GoCV 0.36.0](https://github.com/hybridgroup/gocv/releases/tag/v0.36.0) – The Go bindings for OpenCV 4 now support OpenCV 4.9.0 and Go 1.22.
- [go-github 61.0](https://github.com/google/go-github/releases/tag/v61.0.0) – Client library for the GitHub v3 API.
- ♪ [Oto 3.2](https://github.com/ebitengine/oto) – Low-level cross-platform library to play sounds.
- [eBPF 0.14](https://github.com/cilium/ebpf/releases/tag/v0.14.0) – Pure-Go library to work with eBPF programs.
- [go-sqlite 1.2](https://github.com/zombiezen/go-sqlite/releases/tag/v1.2.0) – Low-level interface to SQLite 3.
- [fx 34.0](https://github.com/antonmedv/fx/releases/tag/34.0.0) – Powerful terminal JSON viewer.
- [Bun 1.2](https://github.com/uptrace/bun) – SQL-first ORM for Go.
- [Micro 4.4](https://github.com/micro/micro)  

😎 Did You Know..?   

As much as we enjoy making this newsletter, we also publish some others you might not know about. You can see their most recent issues directly on their homepages: 

💛 [JavaScript Weekly](https://javascriptweekly.com/) covers all things JavaScript, but also its broader ecosystem, including TypeScript, WebAssembly, Astro, HTMX, Vue.js, build tools, etc. 

⚛️ [React Status](https://react.statuscode.com/) covers, unsurprisingly, the React world and [Node Weekly](https://nodeweekly.com/) goes deeper into Node.js, the npm ecosystem, and other server-side JS platforms like Deno and Bun. 

👩‍💻 [Frontend Focus](https://frontendfoc.us/) covers the broad gamut of technologies that appear in the browser: CSS, HTML, accessibility, WebGL, Web APIs – it's all in there. 

🐘 [Postgres Weekly](https://postgresweekly.com/) and [Ruby Weekly](https://rubyweekly.com/) don't need much introduction and are exactly what you'd expect ;-) 

We'll be back in two weeks - see you then! 

__
_Peter Cooper, your editor_         

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

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

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