#​462 — May 30, 2023

Unsub  |  Web Version

Together with  Ardan Labs

Go Weekly

Implementing a Distributed Key-Value Store in Go — Phil has spent many months getting up to speed with the Raft consensus algorithm and goes into serious depth on using it along with Go as the basis for a distributed key-value store. There’s much to enjoy here.

Phil Eaton

Finding the Best Go Project Structure — Posts like this always do well because so many folks are uncertain about project structure. It paints the broad picture of how one team found peace with structuring their projects. Go Project Structure is a repo showing off their end result.

Aviv Carmi

Go! Experts at Your Service — Do you need help filling skill gaps, speeding up development & creating high performing software with Go, Docker, K8s, Terraform and Rust? We’ll help you maximize your architecture, structure, tech-debt and human capital.

Ardan Labs Consulting sponsor

AWS SDK for Go to Align with Go Release Policy — Starting later this year, the AWS SDK for Go will conform to Go's release policy by supporting the two latest generally available versions, with an extra six months added for good measure. This means Go 1.19 will be supported till February 2024, 1.20 till August 2024, and so on.

Aaron Todd (AWS)


How to Include Git Version Information in Go Apps — In short, you import this versioninfo package and it does the rest – you then get access to the git revision information within your program.

Carl M Johnson

Companies Spend 4.5 Trillion Dollars on IT Annually — Find out how they’re building internal tools to increase developer productivity & impact. Explore Retool’s 2023 State of Internal Tools report.

Retool sponsor

Breaking SHA256: Length Extension Attacks in Practice
Sylvain Kerkour

🛠 Code & Tools

Requests: A Fluent HTTP Client Library"Why I wrote my own Go HTTP client" goes into more depth as to its motivations, but the latest release adds support for XML bodies, responses and errors, as well as setting multiple params and headers at once.

Carl M Johnson

ls-lint 2.0: A Fast File and Directory Name Linter — Written in Go but aimed at JS/front-end dev use cases, ls-lint provides a way to enforce rules for file naming and directory structures.

Lucas Löffel

html-to-markdown 1.4: Convert HTML to Markdown — Actually parses HTML rather than just using regexes so can handle a lot of edge cases regexes can’t. The author also tells us the project just turned five years old! :-)

Johannes Kaufmann

Simplify Access to Your Kubernetes Clusters with Teleport Team — Centrally manage Kubernetes access using identity rather than shared secrets across all environments.

Teleport | goteleport․com sponsor

Joker 1.1: A Small Interpreted Dialect of Clojure Written in Go — A small interpreter, linter and formatter for the popular Lisp dialect.

Roman Bataev

Gut: Convert Go Structs to TypeScript InterfacesTygo is a similar but more established project if you want options.



Join the Gno.land Team — Get to gno us! Sign up for a Q&A with our team to learn about joining Gno.land and building the next-gen smart contract platform.

Find a Job Through Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

🧑‍💻 Got a job listing to share? Here's how.

👾 It's-a-me, Mari-Go!

Dendy: An Expermimental NES Emulator Written in Go — Like many of the most interesting projects, “it serves no practical purpose other than to be a toy project for me” but it’s well put together and, surprisingly, runs quite a few real games. Perhaps a project to be inspired by if you have similar emulation development ambitions.

Max Poletaev