| |
| 🔗 Stories, Tutorials & Articles |
| |
|
| |
| Formatting an entire 25 million line codebase overnight: the rubyfmt story |
| |
| |
Stripe's Developer Productivity team rolled out rubyfmt, a Rust-based zero-config Ruby autoformatter, across 25 million lines of Ruby in one Saturday morning in 2024, after the project had been in flight since 2018 as Fable Tales's personal OSS work.
The hard parts were Ruby itself (no Ruby parser existed outside the VM, so early rubyfmt linked a full Ruby VM into a Rust binary and taught serde to walk Ruby VALUE objects in memory to hit a 100ms format-on-save budget) and the rollout (per-file opt-in, ripper-tree diffing to catch correctness regressions, then a single big-bang commit so large GitHub rendered it as files changed: infinity).
Today 100% of Stripe's 42M Ruby lines are formatted by rubyfmt, and the recent migration from ripper to Prism removed the need for an embedded Ruby VM entirely, shrinking the binary by megabytes and making it noticeably faster. |
|
| |
|
| |
|
| |
| Why I'm leaving GitHub for Forgejo |
| |
| |
| The Dutch Ministry of the Interior launched code.overheid.nl, a self-hosted Forgejo instance for government source code. This move was driven by the need to own and control the platform where code is published. Forgejo was chosen over GitLab for its open-source nature and alignment with the ministry's digital autonomy goals. |
|
| |
|
| |
|
| |
| The Pulse: AI load breaks GitHub – why not other vendors? |
| |
| |
| GitHub leaders created the reliability problems through weak capacity planning. As AI-agent users drove heavier traffic, GitHub engineers found migration risk and engineering debt that teams had allowed to build up. |
|
| |
|
| |
|
| |
| Making your own programming language is easier than you think (but also harder) ✅ |
| |
| |
| A game developer explains how he built a low-level modding language, including sandbox constraints, an AArch64 JIT, and a small C++ compiler. |
|
| |
|
|
| |
|
| |
| Replacing a 3 GB SQLite database with a 10 MB FST (finite state transducer) binary ✅ |
| |
| |
| Andrew Quinn shipped Taskusanakirja (tsk), a Finnish-English pocket dictionary with search-as-you-type, originally backed by a trie for ~400k base words plus a 3 GB SQLite FTS database to cover the 40-60M inflected forms that Finnish's agglutinative morphology demands. Reaching for BurntSushi's Index 1,600,000,000 Keys with Automata and Rust, he rewrote the index as a finite state transducer using the Rust fst crate, which compresses both prefixes and suffixes, exactly what you want when 100k words all end in the same dozen inflection patterns. The 3 GB SQLite blob collapsed to about 10 MB, a roughly 300x reduction, and the broader lesson he leans on is that the only reason this clean second pass was even possible was because nine months earlier he shipped the ugly SQLite hack instead of waiting for the right answer. |
|
| |
|
| |
👉 Got something to share? Create your FAUN Page and start publishing your blog posts, tools, and updates. Grow your audience, and get discovered by the developer community. |