It's Time to Delete Some Tests

2025-08-30

For decades, the importance of testing has been emphasized, yet developers have developed a misguided belief that 'deleting tests is blasphemy'. This article argues that the purpose of tests is to increase confidence, but failing, redundant, slow, or outdated tests actually decrease confidence. Flaky tests waste time, while overly numerous tests reduce efficiency. The author suggests that to improve efficiency and confidence, tests that decrease rather than increase confidence should be deleted, and new tests should be written for new requirements.

Read more
Development

rv: A Revolutionary Ruby Language Manager

2025-08-27

After a decade of working on Bundler, the author has finally created rv, a new kind of Ruby management tool. rv not only manages gem dependencies but also Ruby versions, installing pre-compiled Rubies to eliminate lengthy compilation times. More importantly, rv makes running any Ruby script or tool trivial, even if it requires a different Ruby version. Inspired by uv (a similar tool for Python), cargo, and npm, rv boasts speed, reliability, and innovative features like `rv tool run` and `rv tool install`, simplifying Ruby environment management and dramatically boosting developer productivity.

Read more
Development

Rust In-Memory Filesystem Performance: Surprisingly, It Doesn't Matter

2025-08-25

While building a CLI tool in Rust, the author attempted to use an in-memory filesystem for faster file management tests. After exploring crates like `vfs` and `rsfs`, the surprising conclusion was that modern SSDs and OS filesystem caching are so efficient that there's virtually no performance gain from using an in-memory filesystem. Benchmarks consistently showed around 45ms for tests using in-memory filesystems, regular filesystems, and even a ramdisk—a stark contrast to expectations. The author invites readers to share examples where using an in-memory filesystem yields noticeable performance differences.

Read more
Development in-memory filesystem