Sign in

Klaus Post

@klauspost.com
194 followers 53 following 131 posts

Making Go stuff go brrrrrrrrrrrrrrrrrrr

PostsRepliesMedia
Klaus Post @klauspost.com · 14h
Archives produced with it should remain compatible with DOS versions (except for 2GB+ files of course). I even got it to work with Total Commander as a drop-in replacement for the executable. Repo & Binaries: github.com/klauspost/uc2
github.com
GitHub - klauspost/uc2: Go port of Ultra Compressor 2 - modernized
Go port of Ultra Compressor 2 - modernized. Contribute to klauspost/uc2 development by creating an account on GitHub.
020
Klaus Post @klauspost.com · 14h
So with an LLM I ported the original Borland to #golang. I tried to make it usable in a modern context, adding utf-8 and 64 bit sizes as an extension. I have cross-compiled binaries for more than 30 platforms.
100
Klaus Post @klauspost.com · 14h
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.
110
Klaus Post @klauspost.com · 28/09/2026
zstd speedups contributed by @lizthegrey.com / @honeycomb.io - with more to come! 👀
142
Klaus Post @klauspost.com · 28/09/2026
zstd decompression speed... (each level decompression speed)
161
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
github.com/klauspost/co...
github.com
Release v1.20.1 · klauspost/compress
What's Changed zstd: apply reset options to reused frame decoders by @pellared in #1226 flate: Report unexpected EOF for truncated Huffman extra bits by @rupayon123 in #1229 flate: avoid FMA in Es...
000
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
Klaus Post @klauspost.com · 25/08/2026
Yeah, it always requires an extra mental step to read min/max for me. Like half a second. But I still see plenty of mistakes - though LLMs do get them right and spots the mistake, so maybe a disappearing problem.
010
Klaus Post @klauspost.com · 25/08/2026
Must be the MP4/21. Had forgotten that Kimi raced in the chrome McLaren in 2006. Beautiful car!
111
Klaus Post @klauspost.com · 18/08/2026
Lastpass Chrome Extension still not triggering.
000
Klaus Post @klauspost.com · 14/08/2026
Amazing! Thanks for the great work! I know how hard these are to get out when you are on the edge of a new release.
020
Klaus Post @klauspost.com · 14/08/2026
Just 2381 more bytes and we are good to release :D
020
Klaus Post @klauspost.com · 10/08/2026
You mean management isn't responsible for what happens to the product?
000
Klaus Post @klauspost.com · 10/08/2026
So you are blaming bad management decisions on LLMs? Seems a bit early for that.
200
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
See more at github.com/minio/minlz/...
github.com
Release v1.2.0 · minio/minlz
feat: Search compressed data without decompression Compression saves space, but it usually makes your data opaque: to find anything you first have to decompress the whole thing. MinLZ changes that....
000
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 · 02/07/2026
Yeah. The timings on uops.info were a bit too hazy for me to get an understanding, which is why I was mainly interested in benches. It does look like a free lunch. Nice!
110
Klaus Post @klauspost.com · 02/07/2026
Looking at uops timings it doesn't look equal, though. Are you seeing any speed changes?
100
Klaus Post @klauspost.com · 01/07/2026
Repo: github.com/klauspost/co...
github.com
GitHub - klauspost/compress: Optimized Go Compression Packages
Optimized Go Compression Packages. Contribute to klauspost/compress development by creating an account on GitHub.
000
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/06/2026
Very much looking forward to this one!
000
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 · 07/05/2026
000
Klaus Post @klauspost.com · 29/04/2026
Yes, OSS is seeing the flood right now because it is low-hanging. But OSS has prepared for it for decades. The "binary distributed" flood will be SO much worse. Don't want to think about device drivers, but just winword.exe seems a big enough target.
031
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 · 15/04/2026
(Wikipedia is not very helpful on this). But it seems it would trap and the OS/runtime/compiler would provide a software version to run the instruction. Neat, though probably not too practical if ISA adds registers. I see RISC-V adopted it as well.
000
Klaus Post @klauspost.com · 14/04/2026
Using IV for data was 🤌 I get all of the *why* - it is just so restrictive and boring. So putting a wrench in the machine is a great break.
010
Klaus Post @klauspost.com · 26/03/2026
Not an expert, but it seems to use optimistic (single threaded) boost clock for the (multithreaded) rate/GHz which clearly mismatches. A rate/W would make more sense, but you'd have to measure since TDP is given differently per vendor.
010
Klaus Post @klauspost.com · 21/03/2026
0120
Klaus Post @klauspost.com · 09/03/2026
Aren't you also posting them here? What am I "missing"?
000
Klaus Post @klauspost.com · 13/02/2026
My own approach for repos I don't intend to maintain is to archive, and when available link the fork on top of the README. Seems fair to all involved.
120
Klaus Post @klauspost.com · 09/02/2026
An http . HandlerFunc implements http . Handler - so you are getting a Handler back as well. If you need to convert the function type it should be trivial.
100
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
Maybe there will be cake if you fix it? ;)
100
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 · 06/02/2026
Cool! But can't help notice it gets darker instead of more 'grey' with distance. GL HF with your game!
020
Klaus Post @klauspost.com · 05/02/2026
Well, hello there follow GenX'er.
010
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 · 23/01/2026
I actually thinks it is under-selling the readability gains from this. Interfaces are "interesting" - and probably the only non-obvious aspect.
050
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 · 13/01/2026
Wish there was a way to regression tests. If you do a PR and are willing to do followups we could guineapig on my compress/zip - after all it has a higher release schedule. That is probably the best I can offer to make it smooth into the stdlib.
010
Klaus Post @klauspost.com · 13/01/2026
You are brave ;) So many implementations out there - always worried that a random Java implementation will break. But thanks for taking it on! <3
110
Klaus Post @klauspost.com · 13/01/2026
Slightly different approach: github.com/minio/zipindex It will parse the EOCD and allow keeping a compact index so individual files can be read with a single RANGE get. Allows servers to list/serve files within a zip instantly.
github.com
GitHub - minio/zipindex: Package for indexing zip files and storing a compressed index
Package for indexing zip files and storing a compressed index - minio/zipindex
000