Python is Easy. Go is Simple. Simple != Easy
https://preslav.me/2023/11/27/python-is-easy-golang-is-simple-simple-is-not-easy
Python and Go have distinct qualities that can complement each other.
https://preslav.me/2023/11/27/python-is-easy-golang-is-simple-simple-is-not-easy
Demystifying function parameters in Go
https://www.alexedwards.net/blog/demystifying-function-parameters-in-go
In this post we're going to talk about how (and why!) different types of function parameters behave differently in Go.
If you're new (or even not-so-new) to Go, this can be a common source of confusion and questions. Why do functions generally mutate maps and slices, but not other data types? Why isn't my slice being mutated when I append to it in a function? Why doesn't assigning a new value to a pointer parameter have any effect outside the function?
Once you understand how functions and the different Go types work, the answers to these kind of questions becomes clearer. You'll discover that Go's behavior consistently follows a few fairly straightforward rules, which I'll aim to highlight in this post.
https://www.alexedwards.net/blog/demystifying-function-parameters-in-go
etcd and concurrency stm
https://george.macro.re/posts/etcd-and-concurrency-stm
This blog post explores a little bit of raft, etcd, Go and the horrible rakes we walked into during my time at InfluxData. After taking some time to better understand some of the core concepts under etcd, I think I've finally got my head around an issue I opened that never got any attention, but that sat in my subconscious unsolved (at-least from my own understanding perspective).
https://george.macro.re/posts/etcd-and-concurrency-stm
Go Fact: Zero-sized Field at the Rear of a Struct Has Non-zero Size
https://i.hsfzxjy.site/zst-at-the-rear-of-go-struct
https://i.hsfzxjy.site/zst-at-the-rear-of-go-struct
htmx-go
https://github.com/angelofallars/htmx-go
htmx-go is a type-safe library for working with HTMX in Go.
https://github.com/angelofallars/htmx-go
sdns
https://github.com/semihalev/sdns
A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy.
https://github.com/semihalev/sdns
mpb
https://github.com/vbauerster/mpb
mpb is a Go lib for rendering progress bars in terminal applications.
https://github.com/vbauerster/mpb
Optimizing Go string operations with practical examples
https://medium.com/@ozoniuss/optimizing-go-string-operations-with-practical-examples-83df39b776fb
https://medium.com/@ozoniuss/optimizing-go-string-operations-with-practical-examples-83df39b776fb
Why Are Golang Heaps So Complicated
https://www.dolthub.com/blog/2023-12-01-why-are-go-heaps-confusing
https://www.dolthub.com/blog/2023-12-01-why-are-go-heaps-confusing
Visualizing Map Data with Go and Leaflet JS
https://www.ardanlabs.com/blog/2023/11/visualizing-map-data-go.html
https://www.ardanlabs.com/blog/2023/11/visualizing-map-data-go.html
golang-set
https://github.com/deckarep/golang-set
A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp.
https://github.com/deckarep/golang-set
gabs
https://github.com/Jeffail/gabs
Gabs is a small utility for dealing with dynamic or unknown JSON structures in Go. It's pretty much just a helpful wrapper for navigating hierarchies of map[string]interface{} objects provided by the encoding/json package. It does nothing spectacular apart from being fabulous.
https://github.com/Jeffail/gabs
goiabada
https://github.com/leodip/goiabada
Goiabada is an OAuth2 / OpenID Connect server written in Go.
https://github.com/leodip/goiabada
gopher-lua
https://github.com/yuin/gopher-lua
GopherLua is a Lua5.1(+ goto statement in Lua5.2) VM and compiler written in Go. GopherLua has a same goal with Lua: Be a scripting language with extensible semantics . It provides Go APIs that allow you to easily embed a scripting language to your Go host programs.
https://github.com/yuin/gopher-lua
go-sqlite
https://github.com/zombiezen/go-sqlite
This package provides a low-level Go interface to SQLite 3. It is a fork of crawshaw.io/sqlite that uses modernc.org/sqlite, a CGo-free SQLite package. It aims to be a mostly drop-in replacement for crawshaw.io/sqlite.
https://github.com/zombiezen/go-sqlite