---
title: "A Go-powered MIDI sequencer"
publication: "Go Weekly"
issue: 532
published_at: "2024-11-19"
canonical_url: "https://golangweekly.com/issues/532"
---

Plus a big GoLand release, developing a terminal app with Bubble Tea, and reflecting on the history of Unix. |        

#​532 — November 19, 2024 

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

Together with [![Blacksmith\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_820,h_100/e_make_transparent/co_white,e_outline:7/uq9yvkqtinkixhiq19mf.png)](https://blacksmith.sh/?utm_source=cooperpress&utm_medium=primary&utm_campaign=nov-19&utm_term=go)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nktoojmhmsuwkrlb1pdf.jpg)](https://mailpit.axllent.org/)  

[Mailpit: Go-Powered Email and SMTP Testing Tool](https://mailpit.axllent.org/) — A small, fast, efficient and zero-dependency email testing tool and API for developers. It acts as an SMTP server to which mail can be sent and provides a Web interface to read the mails. And being written in Go, it can be compiled to a single binary and put on whichever server you like. [GitHub repo.](https://github.com/axllent/mailpit) 

Ralph Slooten   

[GoLand 2024.3 Released](https://blog.jetbrains.com/go/2024/11/14/goland-2024-3-is-out/) — The popular (commercial) Go IDE gets its latest big update with multiline AI code completion, improved startup times for large projects, a way to look for cyclic imports, and a way to emulate a terminal in the output console. 

Ruslan Akhmetzianov (JetBrains)   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/f9189b47.png)](https://blacksmith.sh/?utm_source=cooperpress&utm_medium=primary&utm_campaign=nov-19&utm_term=go) 

[Run GitHub Actions Up to 2x Faster at Half the Cost](https://blacksmith.sh/?utm_source=cooperpress&utm_medium=primary&utm_campaign=nov-19&utm_term=go) — Blacksmith runs your GitHub Actions substantially faster by running them on modern gaming CPUs. Integrating Blacksmith is a one-line code change. 100+ companies like Ashby, Superblocks, and Slope use Blacksmith to help developers merge code faster. 

Blacksmith sponsor   

[Understanding Command Injection Vulnerabilities in Go](https://snyk.io/blog/understanding-go-command-injection-vulnerabilities/) — If you’re calling out to system utilities from your code, there are some basic yet essential precautions you can take to avoid security issues, because you certainly don’t want anyone being able to convince your server to run `rm` or worse.. 

Liran Tal (Snyk)   

▶[Developing a Terminal App in Go with Bubble Tea](https://www.youtube.com/watch?v=_gzypL-Qv-g) — A well produced 50-minute screencast walking through the creation of a practical note-taking command line tool using Go and Charm’s [Bubble Tea](https://github.com/charmbracelet/bubbletea) and [Lip Gloss](https://github.com/charmbracelet/lipgloss) for structure, views, and styling. 

Package Main   

**IN BRIEF:** 

- 🔥 [Pyroscope's Go Playground](https://playground.flamegraph.com/playground) lets you run Go code and immediately see [a flame graph](https://www.benburwell.com/posts/flame-graphs-for-go-with-pprof/) for it.
- 🎧 On the latest episode of the _Go Time_ podcast, [Anchor's Wesley Beary spoke about the challenges that arose](https://changelog.com/gotime/337) when his team built a production-ready CLI tool in Go.
- 🎤 Brian Kernighan, co-author of _The Go Programming Language_, [▶️ went on a podcast to discuss his new book](https://www.youtube.com/watch?v=VloimYuCxBs) _Unix: A History and a Memoir_ and what it was like working at Bell Labs.
- [RIP to Thomas E. Kurtz,](https://computerhistory.org/blog/in-memoriam-thomas-e-kurtz-1928-2024/) the inventor of the BASIC programming language, who has died aged 96. While not a direct influence on Go, BASIC had a pivotal role in bringing programming to the masses.
- 🤖 [Ollama](https://ollama.com/) is a popular Go app for running large language models locally. It's just had a major revamp with the addition of lots of Go-powered image processing routines [to support Llama 3.2 Vision](https://ollama.com/blog/llama3.2-vision) for doing things like OCR and Q&A against supplied images.   

[Go sync.Once is Simple, But How Does It Work?](https://victoriametrics.com/blog/go-sync-once/) — _“The `sync.Once` is probably the easiest sync primitive to use, but there’s more under the hood than you might think..”_ 

Phuong Le   

[Encountering _Hyrum's Law_ in Go](https://abenezer.org/blog/hyrum-law-in-golang) — When the author encountered an intriguing comment in Go’s codebase warning others to not change some text due to “Hyrum’s Law”, he _had_ to find out what it was all about. 

Abenezer Belachew   

📄 [Compiling a Go Program Into a Native Binary for _Nintendo Switch_](https://ebitengine.org/en/blog/native_compiling_for_nintendo_switch.html) – Not new, but somehow I missed it at the time, but it’s interesting to see the details. Hajime Hoshi (Ebitengine) 

📄 [The Go Module Proxy and Forcing Go to Actually Update Module Versions](https://utcc.utoronto.ca/~cks/space/blog/programming/GoForcingModuleUpdates) Chris Siebenmann 

📄 [Migrating from Prisma to sqlc for Better Performance](https://docs.hatchet.run/blog/migrating-off-prisma) Alexander Belanger  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/wwtwadjyqrauezubsr5e.jpg)](https://empr.cl/signls/)  

[Signls: A Non-Linear, Generative MIDI Sequencer](https://empr.cl/signls/) — If you like noodling with music, you’ll enjoy this. It’s a Go-powered MIDI sequencer that runs in the terminal (cross-platform) and lets you create dynamic, generative music that evolves and changes over time. The author also created [Sektron](https://github.com/emprcl/sektron), a Go-powered MIDI step sequencer. [GitHub repo.](https://github.com/emprcl/signls) 

emprcl   

[WorkOS: Sell to Enterprises with a Few Lines of Code](https://workos.com/?utm_source=cpgo&utm_medium=newsletter&utm_campaign=q42024) — The modern identity platform for B2B SaaS, offering flexible, easy-to-use APIs to integrate SSO, SCIM, and FGA in minutes instead of months. 

WorkOS sponsor   

[Act: Run Your GitHub Actions Locally](https://github.com/nektos/act) — Run `act` and it looks at your repo’s GitHub Actions, uses Docker to grab the necessary images, and runs the tasks locally. 

Nektos   

[Git Town: Extra Commands for More Structured Git Usage](https://www.git-town.com/) — Provides additional `git` commands to automate the creation, synchronization, shipping, and cleanup of branches. Compatible with popular workflows, mono-repos, and trunk-based development. [GitHub repo.](https://github.com/git-town/git-town) 

Git Town Team   

[gosax: Libary for XML SAX (Simple API for XML) Parsing](https://github.com/orisano/gosax) — A read-only XML parsing library focused on being ‘efficient and memory-conscious.’ 

Nao Yonashiro   

- [Go Blueprint 0.9](https://docs.go-blueprint.dev/) – Streamline the initialization of new Go projects.
- [Listmonk 4.1](https://github.com/knadh/listmonk/releases/tag/v4.1.0) – Self hosted email newsletter system ([homepage](https://listmonk.app/)).
- [goshs 1.0](https://github.com/patrickhener/goshs) – Imagine Python's `SimpleHTTPServer` but in Go.
- [html-to-markdown 2.2](https://github.com/JohannesKaufmann/html-to-markdown) – Tool to convert HTML into clean Markdown.
- [validator 10.23](https://github.com/go-playground/validator) – Value validations for structs and fields based on tags.
- 🖼️ [avif 0.4.2](https://github.com/gen2brain/avif) – AVIF image format encoder/decoder.
- 🖼️ [jpegli 0.3.3](https://github.com/gen2brain/jpegli) – JPEG image format encoder/decoder.
- [Mockery 2.48](https://vektra.github.io/mockery/latest/) – Generate mocks for interfaces.      

📰 Classifieds   

🤖 Control RAG access with [SpiceDB's fine-grained permissions in Go and open source](https://authzed.com/use-cases/ai-retrieval-augmented-generation?utm_source=sponsored_newsletter&utm_medium=display&utm_campaign=golang_newsletter). 

--- 

[Hookdeck](https://hookdeck.com/?ref=goweekly-532): An alternative to Amazon API Gateway + Lambda + SQS. With local dev, debugging, and observability built-in.           

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
