Sign in

indygreg.bsky.social

@indygreg.bsky.social
59 followers 32 following 42 posts
PostsRepliesMedia
indygreg.bsky.social @indygreg.bsky.social · 28/08/2026
It is also a drag on performance. Coupled with widely used variable length encoding. Protobuf is far from an optimal serialization format for modern CPUs if you care about performance!
010
indygreg.bsky.social @indygreg.bsky.social · 19/08/2026
I’m curious how far they can take this before Git’s primitive wire protocol becomes the limiting factor. Offloading Git reads to caching/CDN friendly static HTTP requests is far better than scaling Git servers themselves.
010
indygreg.bsky.social @indygreg.bsky.social · 19/08/2026
Cursor built a cloud-native Git store based on storing packs and writes - as a WAL - in a distributed blob store - like S3. Knee jerk is this is a very reasonable architecture and similar to what I would build! cursor.com/blog/git-at-...
cursor.com
Git at any scale · Cursor
100
indygreg.bsky.social @indygreg.bsky.social · 28/06/2026
1. Merge some Dependabot PRs 2. CI runners accumulate dozens of jobs, 30+ minute backlog 3. Cancel some CI jobs out of desperation to see results sooner 4. Lose patience and decide to not waste my valuable time waiting on GitHub Actions. 5. OSS community loses out on my potential contributions.
100
indygreg.bsky.social @indygreg.bsky.social · 13/06/2026
My Waymo took a 5 minute and 7 block detour so it could drop me off on the “correct” side of the street. The detour started 1/2 block from my destination. I feel like there’s a teachable contrast in human vs machine behavior in this anecdote.
000
indygreg.bsky.social @indygreg.bsky.social · 22/04/2026
Have you ever wondered which glibc versions contained which symbols and symbol versions? I hacked together a tool and web site containing this metadata. indygreg.github.io/glibc-abi-re...
indygreg.github.io
Generated by https://github.com/indygreg/toolchain-tools/tree/main/glibc-abi-tool
010
indygreg.bsky.social @indygreg.bsky.social · 16/04/2026
The Python PEP 831 proposal to enable frame pointers everywhere is very well written. I’m excited to see the myriad of benefits that frame pointers will bring to the Python ecosystem. peps.python.org/pep-0831/
peps.python.org
PEP 831 – Frame Pointers Everywhere: Enabling System-Level Observability for Python | peps.python.org
This PEP proposes two things:
000
indygreg.bsky.social @indygreg.bsky.social · 11/04/2026
Major Chinese cities typically have several buildings wrapped with LEDs and they put on mesmerizing colorful displays nightly. The lights are even coordinated across buildings. The skyline becomes dancing art.
000
indygreg.bsky.social @indygreg.bsky.social · 01/04/2026
How about a cooldown timer after removing trusted publishing? Say no uploads for 72h or something.
040
indygreg.bsky.social @indygreg.bsky.social · 30/03/2026
I missed this paper from 2022 where a custom ELF dynamic loader achieves meaningful performance wins - especially on ARM - by a) concatenating similar ELF sections from all DSOs into 1 hugepage backed memory segment and b) eliminating the PLT/GOT based function calls. www.usenix.org/system/files...
030
indygreg.bsky.social @indygreg.bsky.social · 28/03/2026
Someone built a pure Rust ELF dynamic loader / linker and dlopen()! It is extensible by design, which opens the door to turnkey custom ld-linux.so and dlopen() implementations. So many possibilities. github.com/weizhiao/Rel... github.com/weizhiao/rus...
github.com
GitHub - weizhiao/rust-dlopen: A dynamic linker fully implemented in Rust.
A dynamic linker fully implemented in Rust. Contribute to weizhiao/rust-dlopen development by creating an account on GitHub.
0102
indygreg.bsky.social @indygreg.bsky.social · 20/03/2026
The question I’ve been asking is why homebrew is still using gzip. They control producers and consumers. They should use zstd so assets are smaller and faster to decompress.
021
indygreg.bsky.social @indygreg.bsky.social · 25/01/2026
This is sublime.
020
indygreg.bsky.social @indygreg.bsky.social · 21/01/2026
I hope I’m wrong. But GitHub has demonstrated little meaningful progress on improving code review for years. There’s little inertia demonstrating a competency to pull off the execution required for proper stacked diffs features.
010
indygreg.bsky.social @indygreg.bsky.social · 21/01/2026
Then of course there are issues with Git itself managing multiple branches and handling history rewriting. If Git itself doesn’t grow better handling, my concern is GitHub’s stacked diffs is whittled down to a sad offering.
100
indygreg.bsky.social @indygreg.bsky.social · 21/01/2026
Their backend leans hard into PRs being single branches. (As opposed to Gerrit, ReviewBoard, Phabricator, etc models where you highlight diffs/commits.) It will be very challenging for them to support stacked multi PR workflows. And that means UI challenges around gradually merging commits in stack.
110
indygreg.bsky.social @indygreg.bsky.social · 25/12/2025
Git’s wire protocol is substantially hindering its utility. Give Git a CDN/caching friendly HTTP API for content retrieval and a lot - but not all - of these scaling problems become non-issues and/or can be solved with clever use of Git.
020
indygreg.bsky.social @indygreg.bsky.social · 06/11/2025
California requires all deaths on property within 3 years to be disclosed. Deaths beyond 3 years may be considered “material” if they are noteworthy (such as a murder, fire, or something reported in media) and usually disclosed. It’s hard to miss this on the interview the sellers complete!
000
indygreg.bsky.social @indygreg.bsky.social · 30/10/2025
Regarding Mach-O signatures, my open source Apple code signing tool has support for diffing binaries and the signature data in them. Please make noise in GitHub if there’s features that could make validating reproducible binaries easier. gregoryszorc.com/docs/apple-c...
gregoryszorc.com
Apple Code Signing — Apple Codesign 0.29.0 documentation
010
indygreg.bsky.social @indygreg.bsky.social · 28/10/2025
If I’m reading this correctly, runc - and Docker + k8s by extension - are changing the formula for how CPU requests gets converted to the cpu.weight cgroups v2 value. This is certain to cause chaos! github.com/kubernetes/w...
github.com
Blog post: New conversion from cgroup v1 CPU shares to v2 CPU weight by iholder101 · Pull Request #52793 · kubernetes/website
Description Add blog post: new cgroup v1 to v2 CPU weight conversion formula. Document what was done in kubernetes/kubernetes#131216 with proposed quadratic formula for better CPU weight granularit...
020
indygreg.bsky.social @indygreg.bsky.social · 23/10/2025
Flying back to USA Saturday afternoon. Just a quick visit to Amsterdam to bookend my trip.
120
indygreg.bsky.social @indygreg.bsky.social · 23/10/2025
I enter The Netherlands, open a random app on my phone and see this disclaimer. You potentially share my data with 938 partners?! Wild.
100
indygreg.bsky.social @indygreg.bsky.social · 21/10/2025
I think PRs came into existence because they were simply the easiest thing to technically implement on clients and servers using vanilla Git. Push a branch and diff it. What I don’t understand is why GitHub never innovated beyond that.
010
indygreg.bsky.social @indygreg.bsky.social · 20/10/2025
An AWS us-east-1 outage in the middle of the night for North America. There’s going to be a lot of groggy people on Monday.
130
Reposted by @indygreg.bsky.social
Phoronix @phoronix-poster.bsky.social · 09/10/2025
Intel's Open-Source Strategy Is Changing At Odds With The Ethos Of Open-Source - www.phoronix.com/review/intel-open-…
phoronix.com
Intel's Open-Source Strategy Is Changing At Odds With The Ethos Of Open-Source
For the past 21+ years of running Phoronix and even longer than that being a Linux user, I have loved and consistently promoted Intel's open-source efforts and leading Linux support. Even through Intel's difficult periods of delayed and stagnate hardware launches, what had remained consistent at the company and rather legendary had been their open-source contributions. From the Linux kernel to compiler toolchains and hundreds -- if not thousands -- of different open-source projects over the past two decades have been advanced thanks to Intel's open-source leadership. It is with much sadness that my faith and confidence in Intel's open-source leadership position is being questioned and questioning the direction they are now apparently steering their open-source focus/philosophy moving forward.
033
indygreg.bsky.social @indygreg.bsky.social · 17/08/2025
python-zstandard 0.24.0 has been published. Release notes at github.com/indygreg/pyt... Python 3.14 wheels are uploaded to PyPI for popular platforms.
github.com
Release 0.24.0 · indygreg/python-zstandard
Backwards Compatibility Notes Support for Python 3.8 has been dropped because it reached end of life. Python 3.9 is the minimum supported Python version. The code should still be compatible with P...
010
indygreg.bsky.social @indygreg.bsky.social · 17/08/2025
I just realized my Python zstandard package now has >700M downloads. Last I checked it was getting 1M per month. I wonder what is driving the acceleration…
000
indygreg.bsky.social @indygreg.bsky.social · 13/08/2025
Would you configure your document editor to reject file saves if there is a spelling or grammar error? Of course not. So don’t configure pre-commit hooks on your version control tool that prevent committing.
000
Reposted by @indygreg.bsky.social
Nicholas Nethercote @nnethercote.bsky.social · 18/07/2025
New blog post: I am a Rust compiler engineer looking for a new job nnethercote.github.io/2025/07/18/l...
nnethercote.github.io
I am a Rust compiler engineer looking for a new job
For the past 3.75 years I have been fortunate to work on Futurewei’s Rust team, where I had enormous freedom to “make Rust better” however I see fit. It has been the highlight of my career and I am gr...
58543
indygreg.bsky.social @indygreg.bsky.social · 08/06/2025
The United States: strict adherence to zoning is essential to the fabric of society. We even apply it to malls, where food courts are isolated from retail. Hong Kong:
210
Reposted by @indygreg.bsky.social
Gian-Carlo Pascutto @gcp.sjeng.org · 22/05/2025
We noticed a CPU bug on Raptor Lake because the bounds checking in our Rust zlib implementation was hitting "impossible" bounds checks: github.com/trifectatech... The Oodle devs noticed similar issues in their decompressors and managed to root cause it: fgiesen.wordpress.com/2025/05/21/o...
github.com
index out of bounds: the len is 512 but the index is 567 · Issue #306 · trifectatechfoundation/zlib-rs
After enabling zlib-rs/libz-rs-sys 0.4.1 in Firefox nightly, we've started receiving crash reports for out of bound accesses in State::d_code: https://crash-stats.mozilla.org/report/index/113ebfb1-...
1366
Reposted by @indygreg.bsky.social
Graydon Hoare @graydon-pub.bsky.social · 14/05/2025
definitely the funniest form of this: I hated autoconf so wrote rust's configure in "plain posix sh" like with shell functions etc. a bunch of that got cribbed to rustup's sh bootstrap which has then been cribbed _everywhere_ like uv and lean's boostrap and whatever, the code totally escaped the lab
0201
indygreg.bsky.social @indygreg.bsky.social · 04/05/2025
They used equal visual spacing between the widest point of the glyph - often the serif. This is comical - sans any sense of design aesthetic.
010
indygreg.bsky.social @indygreg.bsky.social · 25/03/2025
blogsystem5.substack.com/p/bazel-next... having maintained build systems big and small, a lot in this post resonates with me.
blogsystem5.substack.com
The next generation of Bazel builds
Today marks the 10th anniversary of Bazel’s public announcement so this is the perfect moment to reflect on what the next generation of build systems in the Bazel ecosystem may look like.
010
indygreg.bsky.social @indygreg.bsky.social · 18/03/2025
jangafx.com/insights/lin... is a good write up of Linux ABI compatibility. They put forward an interesting idea to split up glibc to make the problem more tractable. I strongly agree with the closing statements that this is a hard problem worth solving.
jangafx.com
JangaFX - Insight: Linux Binary Compatibility
The atrocious state of binary compatibility on Linux and how to address it
000
indygreg.bsky.social @indygreg.bsky.social · 16/03/2025
Did you see the Python tail call interpreter write-up? Apparently modern LLVM is smart enough to emit the optimal assembly without use of computed goto. No clue if that would translate to Rust though. blog.nelhage.com/post/cpython...
blog.nelhage.com
Performance of the Python 3.14 tail-call interpreter
A deep dive into the performance of Python 3.14's tail-call interpreter: How the performance results were confounded by an LLVM regression, the surprising complexity of compiling interpreter loops, an...
110
indygreg.bsky.social @indygreg.bsky.social · 12/03/2025
Everyone is talking about the language choice for rewriting the typescript compiler in Go. But I see “rewriting a large TS project yields 10x perf wins.” I thought the TS/JS runtime was faster than this? Is the runtime really that slow? Or were there additional changes to yield the speed ups?
120
indygreg.bsky.social @indygreg.bsky.social · 10/03/2025
The regression fix didn’t make it to LLVM 20.1.0. But I spent a few hours this weekend getting a 20.1.0 build with the patch and python-build-standalone using the new toolchain. Performance testing is hard.
000
indygreg.bsky.social @indygreg.bsky.social · 10/03/2025
Looks like most of CPython’s purported speedups from the new tail call interpreter were actually misattributed to a regression with computed goto’s in LLVM 19. blog.nelhage.com/post/cpython...
blog.nelhage.com
Performance of the Python 3.14 tail-call interpreter
A deep dive into the performance of Python 3.14's tail-call interpreter: How the performance results were confounded by an LLVM regression, the surprising complexity of compiling interpreter loops, an...
110
indygreg.bsky.social @indygreg.bsky.social · 17/02/2025
I’m using the BlueSky iOS app. Is there no way to refresh the following timeline so I see the next chronological post without it jumping to the newest post? Should I be using a different client?
010
Reposted by @indygreg.bsky.social
Andrew Lilley Brinker @alilleybrinker.com · 14/02/2025
"Jujutsu is the Future" www.alilleybrinker.com/mini/jujutsu... #jj-vcs
alilleybrinker.com
Jujutsu is the Future — Andrew Lilley Brinker
I work on software security at MITRE, including serving as amember of the OmniBOR Working Group, where I lead development of the Rustimplementation, and as the project manager for Hipcheck, a tool for...
0154
indygreg.bsky.social @indygreg.bsky.social · 20/01/2025
If you look at tools like github.com/google/go-licenses, they look for well known files (e.g. LICENSE) and perform text similarity to discern the license. You’d think the tooling would support advertising an SPDX identifier like nearly everything else in 2025. Nope!
github.com
GitHub - google/go-licenses: A lightweight tool to report on the licenses used by a Go package and its dependencies. Highlight! Versioned external URL to licenses can be found at the same time.
A lightweight tool to report on the licenses used by a Go package and its dependencies. Highlight! Versioned external URL to licenses can be found at the same time. - google/go-licenses
020
indygreg.bsky.social @indygreg.bsky.social · 08/12/2024
Yes.
000
indygreg.bsky.social @indygreg.bsky.social · 04/12/2024
Yeah. And distutils has a lot of the “find a toolchain” logic. I just never got around to doing the work since my use case for PBS often relied on binary wheels already existing.
100
indygreg.bsky.social @indygreg.bsky.social · 04/12/2024
Dynamic sysconfig is logically similar to “reinvent autoconf/configure.” So this problem is quite terrifying. It’s vastly simpler and more reliable to ship all the files (read: a toolchain) to end-users.
100
indygreg.bsky.social @indygreg.bsky.social · 04/12/2024
Yeah. I never got around to shipping a minimal executable to fixup sysconfig on install. I also wanted to make it turnkey to install a modern LLVM toolchain that also “just worked.” With more reliable staffing and perhaps some upstream rethink around design of sysconfig, things can evolve.
110
indygreg.bsky.social @indygreg.bsky.social · 03/12/2024
My Standalone Python Builds project is now an Astral project. gregoryszorc.com/blog/2024/12...
gregoryszorc.com
Gregory Szorc's Digital Home | Transferring Python Build Standalone Stewardship to Astral
040