Original post

ZZT in Go (Using a Pascal-to-Go Converter) — Back in the 90s I loved a text-based game called ZZT. It was built by Tim Sweeney who went on to create the Unreal Engine(!) and still has a bit of a cult following. So it’s fascinating to see this work done in translating the Pascal source code to Go and, of course, the similarities between Pascal and Go generally too.

Ben Hoyt

Find & Fix Code Performance Issues — You can’t improve what you can’t measure. Install in minutes. Profile and understand Go code’s behavior and performance. Browse through appealing graphs. Blackfire.io is now available as Public Beta.


‘The Go Compiler Needs to Be Smarter’? — A pretty opinionated piece from a reasonably academic perspective, but it raises some interesting points about the Go compiler’s tradeoffs.

Daniel Lemire

Writing Go CLIs With Just Enough Architecture — A developer inspired by some of the recent CLI app tutorials reflects on his own approach where he provides “just enough” architecture to build solid Go CLI apps.

Carl Johnson

Bare Metal RISC-V Programming in Go — Did you know that Go 1.14 includes experiment support for 64 bit RISC-V? I didn’t, but the creator of Embedded Go was keen to try it out on a RISC-V microcontroller and here’s how it went.

Michał Derkacz

💻 Jobs

Find A Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.


📚 Articles & Tutorials

How to Write a Lexer in Go — A lexer (short for lexical analyzer) is the first phase in most modern compilers and is the process where textual code is turned from characters into a more useful construct of ‘tokens’.

Aaron Raff

▶  A Go RabbitMQ Beginners’ Tutorial — A brief review of what RabbitMQ is followed by a coding session where you’ll create a queue, publish a message, and consume that message.


Getting Hands-On with io_uring from Goio_uring is a new way to perform high performance asynchronous I/O in Linux that removes some bottlenecks compared to existing methods. This is a long, technical, interesting post with Go examples towards the end.

Agniva De Sarker

The Go Security Checklist — From code to infrastructure, learn how you can improve the security of your Go applications with the Go security checklist.


Unicode Support in Go Source Code — Unicode support is good enough to allow Ω to be a function name, but does anyone really do that kind of thing? Yes.. and this post looks at some other scary things you can do too 😆

Marcus Noble

Waiting on Goroutines — Many people default to using WaitGroups for this, but there are multiple (and more common) ways to handle your waiting.

Tit Petric

🛠 Code & Tools