Hacker News with Generative AI: Go

Hyrumtoken: A Go package to encrypt pagination tokens (github.com/ssoready)
hyrumtoken is a Go package to encrypt pagination tokens, so that your API clients can't depend on their contents, ordering, or any other characteristics.
Constraints in Go (bitfieldconsulting.com)
Design is the beauty of turning constraints into advantages. —Aza Raskin
Go-taskflow: A taskflow-like General-purpose Task-parallel Programming Framework (github.com/noneback)
A taskflow-like General-purpose Task-parallel Programming Framework with an integrated visualizer and profiler for Go, inspired by taskflow-cpp, with Go's native capabilities and simplicity, suitable for complex dependency management in concurrent tasks.
Packages, Not Programs (bitfieldconsulting.com)
This is the first of a two-part tutorial on designing Go packages, guided by tests:
Go-Safeweb (github.com/google)
go-safeweb is a collection of libraries for writing secure-by-default HTTP servers in Go.
Go Turns 15 (go.dev)
Happy birthday, Go!
Rust vs. C vs. Go runtime speed comparison (2023) (rust-lang.org)
Functional Programming in Go (bitfieldconsulting.com)
Question: what the heck is functional programming, anyway? Don’t all programs use functions?
Build Your Own Database from Scratch in Go (build-your-own.org)
Understand databases from the bottom up by building your own, in small steps, and with simple Golang code.
Writing secure Go code (jarosz.dev)
What does it mean to keep security in mind when writing Go code? Answering this question in one short article seems impossible. For this reason, we will narrow it down to a few specific practices.
Byoyomi Explained (1997) (britgo.org)
"Cho Kisei, you've entered byoyomi. Ten minutes left." That must be a familiar sound to Cho Chikun, who goes into byoyomi in most of his games. In the Kisei title match, the time limit is eight hours per player. There are no chess clocks; the time is monitored by a timekeeper. When a player has used all except ten minutes of his time, the timekeeper reads out the seconds, which is the literal meaning of byoyomi.
Ranging over Functions in Go 1.23 (thegreenplace.net)
Go 1.23 shipped with a new major feature: ranging over functions (also known as "iterators"), per this proposal.
Analyzing Go Build Times (2023) (howardjohn.info)
Go is often praised for its fast build times. While they are pretty quick, they are slow enough that I spend a lot of time waiting for them, enough that it prompted me to go down the rabbit hole of thoroughly analyzing them. This post covers all aspects of what makes Go builds fast or slow.
Go library for in-process vector search and embeddings with llama.cpp (github.com/kelindar)
This library was created to provide an easy and efficient solution for embedding and vector search, making it perfect for small to medium-scale projects that still need some serious semantic power.
GoLic, injects license into source code files (github.com/AbsaOSS)
GoLic, injects license into source code files
Show HN: Mdx – Execute your Markdown code blocks, now in Go (github.com/dim0x69)
Imagine you have the following Markdown file to document your commands:
Lingo: A Go micro language framework for building Domain Specific Languages (gitlab.com)
Design, build and integrate your own Domain Specific Language with Lingo.
Why you should use Go (mortenvistisen.com)
I've been writing Go for some time now, close to 7 years. But it wasn't where I originally started out in my tech career.
Two common Go interface misuses (konradreiche.com)
In Go, interfaces are often misused in two ways. First, interfaces are introduced prematurely by following object-oriented patterns from languages like Java. While well-intentioned, this approach adds unnecessary complexity early in the development process.
Show HN: Gomponents, HTML components in pure Go (gomponents.com)
Practical guide for building a blockchain from scratch in Go (github.com/volodymyrprokopyuk)
Show HN: Pocache, preemptive optimistic caching for Go (github.com/naughtygopher)
Pocache (poh-cash (/poʊ kæʃ/)), Preemptive optimistic cache, is a lightweight in-app caching package. It introduces preemptive cache updates, optimizing performance in concurrent environments by reducing redundant database calls while maintaining fresh data. It uses Hashicorp's Go LRU package as the default storage.
Show HN: I made an SSH tunnel manager to learn Go (github.com/alebeck)
A simple & reliable command line SSH tunnel manager.
Miqt: MIT-licensed Qt bindings for Go (github.com/mappu)
MIQT is MIT-licensed Qt bindings for Go.
Fun with Go Iterators (xnacly.me)
Go version 1.23 added iterator support 1 and the iter package 2. We can now loop over constants, containers (maps, slices, arrays, strings) and functions. At first I found the iterator creation clunky, while consuming the iterator seems straightforward.
Show HN: GoSQL – A query engine in 319 LoC (github.com/archiewood)
A basic SQL query engine in Go
Show HN: Email Verifier Written in Go (github.com/hsnice16)
Enter an email and verify if it's a valid email or not, written in Go language. Also, exposes the core service to verify an email as a package.
Go Concurrency vs. RxJS (gdnetwork.co)
Glad I did it in Go (thorstenball.com)
The eight year anniversary of Writing An Interpreter In Go is coming up. This year again, just like every time I look back to November 2016, I find myself thinking: man, I’m glad I used Go for these books.
Using a separate Go module for your tools.go (jvt.me)
In Managing your Go tool versions with go.mod and a tools.go, I mentioned how you can use a tools.go to track any dependencies your project needs for i.e. linting or go generates.