Sign in

Klaus Post

@klauspost.com
194 followers 53 following 131 posts

Making Go stuff go brrrrrrrrrrrrrrrrrrr

PostsRepliesMedia
Klaus Post @klauspost.com · 2h
Back in the day Ultra Compressor II (DOS) trickled my interest in compression and data recovery as I was learning about computers. With the knowledge I have now, it was fascinating to look through it with an LLM and also quite nostalgic re-creating the UI I only vaguely remember.
100
Klaus Post @klauspost.com · 28/09/2026
Working on a #golang compression benchmark comparison site. Deflate speed improvements from latest compression library release... (JSON stream)
270
Klaus Post @klauspost.com · 27/09/2026
New #golang compression release with a lot of good vibes.
1102
Klaus Post @klauspost.com · 18/09/2026
Why is #golang now a non-deterministic language with the 1.27 FMA changes? Pure Go code producing different output on different platforms. Avoiding that is why I *moved* to Go.
320
Klaus Post @klauspost.com · 09/09/2026
My Ad Blocker.. is now showing ads. What a timeline to live in!
010
Klaus Post @klauspost.com · 28/08/2026
I will be going to www.tasteremote.com/nomadvillage before going to @golab.io - looks fun - maybe someone wants to join?
tasteremote.com
Civita Remote: Digital Nomad Village In Italy, October 2026
Civita Remote is Taste Remote's flagship digital nomad village in Civita Castellana, Italy. October, 2026. Coworking, community, and real Italian countryside living.
010
Reposted by Klaus Post
GoLab Conference @golab.io · 22/07/2026
🗜️ Compression is all about trade-offs. Smaller payloads, lower bandwidth, faster transfers... but at what cost in CPU, memory, and compatibility? At #GoLab2026, Klaus Post will guide you through the compression landscape in Go and help you choose the right tool for the job golab.io/talks/go-dat...
022
Klaus Post @klauspost.com · 17/07/2026
Search Compressed Data for byte sequences with selective decompression using MinLZ v1.2.0 - available as cli and #golang API. Overhead is a fractional bit per byte, fully customizable and with fixed specification.
101
Klaus Post @klauspost.com · 09/07/2026
Ported "Radsort — a stable LSD radix sort with O(√n) space overhead" by Robert Clausecker and Florian Schintke to #golang. Good, specialized sorting for big arrays of dense keys (uint64, etc). github.com/klauspost/ra...
github.com
GitHub - klauspost/radsort
Contribute to klauspost/radsort development by creating an account on GitHub.
140
Klaus Post @klauspost.com · 01/07/2026
New #golang compression release. Big features include #zstd concurrent stream encoding, arm64 decompression assembly and various minor changes.
What's Changed
zstd: Add true concurrent stream encoding by @klauspost in #1136
zstd: arm64 decoder asm by @lizthegrey in #1160
zstd: avoid unused BuildDict encoder allocation by @snissn in #1147
flate: Add inflate checkpoints by @klauspost in #1154
snappy/s2: Limit length of varint in decodedLen by @eustas in #1148
gzhttp: match qvalue parameter case-insensitively (RFC 7231) by @z9z in #1149
zip: add NameDecoder callback for legacy encoding rewrite by @SAY-5 in #1150
huff0: Allow building tables from histogram. by @klauspost in #1155
huff0: Allow building table from oversized histogram. by @klauspost in #1156
s2sx: Clean symlink targets by @klauspost in #1163
1200
Klaus Post @klauspost.com · 19/05/2026
I must say the ability to test out ideas in less than an hour is so addictive. Also I feel much less "attached" to idea and it is much easier to abandon if it doesn't pan out.
140
Klaus Post @klauspost.com · 14/05/2026
Very excited to be back at @golab.io - super chill and well organised event! I will give a talk on the state of #golang data compression. See you there!
061
Klaus Post @klauspost.com · 20/04/2026
Still amazed me that sometimes you can just stumble across a change that gives 200% speed.
0120
Klaus Post @klauspost.com · 21/03/2026
0120
Klaus Post @klauspost.com · 09/02/2026
Proposal for stdlib #golang compress/zstd implementation: github.com/klauspost/st...
github.com
GitHub - klauspost/stdgozstd: Zstandard for Golang Stdlib (do not use) - https://github.com/golang/go/issues/62513
Zstandard for Golang Stdlib (do not use) - https://github.com/golang/go/issues/62513 - klauspost/stdgozstd
040
Klaus Post @klauspost.com · 09/02/2026
New v1.18.4 release of #golang compression library adds zstd compression to gzhttp middleware. Also zstd can now have some options modified on reset. See more at: github.com/klauspost/co...
1100
Klaus Post @klauspost.com · 24/01/2026
Recommended neat, fast #golang xxh3 implementation: New release, now with arm64 NEON: github.com/zeebo/xxh3
github.com
GitHub - zeebo/xxh3: XXH3 algorithm in Go
XXH3 algorithm in Go. Contribute to zeebo/xxh3 development by creating an account on GitHub.
1113
Klaus Post @klauspost.com · 16/01/2026
Released #golang compression v1.18.3 containing upstream CVE-2025-61728 fix: github.com/klauspost/co...
github.com
Release v1.18.3 · klauspost/compress
Downstream CVE-2025-61728 See golang/go#77102 Full Changelog: v1.18.2...v1.18.3
030
Klaus Post @klauspost.com · 12/01/2026
New #golang Reed-Solomon release. Contains new progressive field decoding and some significant speedups. Check it out: github.com/klauspost/re...
151
Klaus Post @klauspost.com · 19/12/2025
Vibe Coders will understand.
010
Klaus Post @klauspost.com · 01/12/2025
Compression library for #golang v1.18.2 released. If you are running v1.18.1 (specifically) please upgrade.
021
Klaus Post @klauspost.com · 12/11/2025
func ifElse[V any](cond bool, trueVal, falseVal V) V { if cond { return trueVal } return falseVal } At least it is more readable than ? :
010
Klaus Post @klauspost.com · 27/10/2025
Now even more #golang msgp codegen in v1.5.0. Now with generics. Generates code 1000x faster than your LLM! :D Give it a spin: github.com/tinylib/msgp...
000
Klaus Post @klauspost.com · 23/10/2025
Released v1.18.1 of the #golang compression library. You know what to do! Link as always github.com/klauspost/co...
191
Klaus Post @klauspost.com · 12/09/2025
Vibe coding is no joke. With good guidance and review it is extremely powerful.
010
Reposted by Klaus Post
Filippo Valsorda @filippo.abyssdomain.expert · 09/09/2025
TIL that you can compress .zip files with Zstandard (pkware.cachefly.net/webdocs/case... compression method 93), and that libzip and 7-Zip support that. libzip.org/news/release... github.com/ip7z/7zip/re...
2368
Klaus Post @klauspost.com · 28/08/2025
Why does my custom domain handle switch to "⚠ Invalid Handle" every month or so? @support.bsky.team
000
Klaus Post @klauspost.com · 26/08/2025
Whoever did #golang "modernize" - thank you! pkg.go.dev/golang.org/x...
pkg.go.dev
modernize package - golang.org/x/tools/gopls/internal/analysis/modernize - Go Packages
014
Klaus Post @klauspost.com · 11/08/2025
Excellent blog post about hooking up Go into Java for erasure coding: kohlschuetter.github.io/blog/posts/2...
kohlschuetter.github.io
Faster Reed-Solomon Erasure Coding in Java with Go & FFM
Backblaze’s Java-based Reed-Solomon Erasure Coding library is great tech, but comparatively slow. Let’s add some optimized Go, and get a whopping speedup.
073
Klaus Post @klauspost.com · 22/07/2025
Un-archived github.com/klauspost/cr... repo after getting a bit more than 2x on IEEE CRC32 using AVX512. Will submit upstream to #golang, but if you want to test it out early check out the repo.
Benchmark of IEEE CRC32.
060
Klaus Post @klauspost.com · 14/07/2025
New #golang cpuid release. As always github.com/klauspost/cp...
010
Klaus Post @klauspost.com · 01/07/2025
IMO #golang is missing a clean way to send exact typed (and wrapped) errors across the wire between 2 similar binaries. GOB would be ok, but registration isn't really feasible in big applications.
041
Klaus Post @klauspost.com · 19/06/2025
🙄 #golang
011
Klaus Post @klauspost.com · 21/05/2025
Finally a #golang SIMD proposal I can get behind in overall terms! <3 github.com/golang/go/is...
github.com
proposal: simd: architecture-specific SIMD intrinsics under a GOEXPERIMENT · Issue #73787 · golang/go
Proposal Details SIMD is crucial for achieving high performance in many modern workloads. While Go currently allows access to SIMD via hand-written assembly, this approach has significant drawbacks...
041
Klaus Post @klauspost.com · 17/05/2025
Would a #golang MinLZ compressor level with a better "worst case" speed be useful? Overly dramatic example...
110
Klaus Post @klauspost.com · 15/05/2025
Realizing I needed to add a mutex to protect an RNG call, I almost ended up with this.... Need more coffee 🫘
000
Klaus Post @klauspost.com · 02/05/2025
Sent in in. Now I can only 🤞
030
Klaus Post @klauspost.com · 22/04/2025
Now @klauspost.com - wish that my old profile link would redirect to my new one, though. @bsky.app
000
Klaus Post @klauspost.com · 16/04/2025
cmp.Or is so neat for error handling in #golang - just remember that *all* params are evaluated in order, and first error is returned.
// serialize serializes p as json.
func (p *someThing) serialize() ([]byte, error) {
	var dst bytes.Buffer
	comp := minlz.NewWriter(&dst)
	err := cmp.Or(json.NewEncoder(comp).Encode(p), comp.Close())
	return dst.Bytes(), err
}
180
Klaus Post @klauspost.com · 17/03/2025
I with just released about 2 years of work on improving compression with a fixed encoding LZ77 style compressor for #golang Our goal was to improve compression by combining and tweaking the best aspects of LZ4 and Snappy. Check it out: github.com/minio/minlz
github.com
GitHub - minio/minlz: MinLZ is a LZ77 compressor, focused on realtime data compression
MinLZ is a LZ77 compressor, focused on realtime data compression - minio/minlz
33411
Klaus Post @klauspost.com · 19/02/2025
New #golang compression package release. Mainly focused on non-assembly performance. Now uses "unsafe" - use "nounsafe" tag to disable. As always here: github.com/klauspost/co...
changelog for package:

Add unsafe little endian loaders #1036
fix: check r.err != nil but return a nil value error err by @alingse in #1028
flate: Simplify L4-6 loading #1043
flate: Simplify matchlen (remove asm) #1045
s2: Improve small block compression speed w/o asm #1048
flate: Fix matchlen L5+L6 #1049
flate: Cleanup & reduce casts #1050
031
Klaus Post @klauspost.com · 12/02/2025
Wait? The #golang github.com/golang/snappy has been archived? Any background on this?
000
Klaus Post @klauspost.com · 12/02/2025
Time to upgrade all CI scripts ;)
000
Klaus Post @klauspost.com · 09/02/2025
Helped a friend a bit to make a #golang concurrent version of the excellent age stream format by @filippo.abyssdomain.expert Check it out if it sounds interesting: github.com/bifrosta/age...
github.com
GitHub - bifrosta/age-concurrent
Contribute to bifrosta/age-concurrent development by creating an account on GitHub.
1133
Klaus Post @klauspost.com · 07/02/2025
Average shopping experience on @bandcamp.com
010
Klaus Post @klauspost.com · 07/02/2025
😜
030
Reposted by Klaus Post
Peter Hellberg @c7.se · 05/02/2025
The @fireflyzero.bsky.social ROM file format is a Zip archive compressed with Zstandard. For fun I wrote a small CLI in Go to extract these using the lovely compress module by @klauspost.bsky.social (Note that you could just as well use `firefly_cli import <file>`) gist.github.com/peterhellber...
gist.github.com
A quick and dirty decompressor for Firefly Zero carts (Which are Zip files compressed using ZSTD)
A quick and dirty decompressor for Firefly Zero carts (Which are Zip files compressed using ZSTD) - unzipzstd.go
331
Klaus Post @klauspost.com · 09/01/2025
Pretty fast, pretty random, endless, seekable #golang Reader: pkg.go.dev/github.com/m... (16KB internal block of random data, xor with 32B value based on offset ⊕ per instance value) Made for benchmarks, not crypto, it is trivially predictable. ~20GB/s with Go single core. ~60GB/s with amd64 asm.
pkg.go.dev
rng package - github.com/minio/pkg/v3/rng - Go Packages
020
Klaus Post @klauspost.com · 02/01/2025
doom-captcha.vercel.app
doom-captcha.vercel.app
DOOM® CAPTCHA
Prove you're human by playing DOOM
000
Klaus Post @klauspost.com · 31/12/2024
My album of 2024: Vows by MATTE BLVCK Simply an all-killer album, that just keeps developing. Styles vary between tracks, but solid all the way the way through, with a modern touch and even some instrumentals. Check it out if you are a bit into dark synth: matteblackus.bandcamp.com/album/vows
matteblackus.bandcamp.com
Vows, by MATTE BLVCK
9 track album
110