NIH Is Cheaper Than the Wrong Dependency

2025-07-18
NIH Is Cheaper Than the Wrong Dependency

This article challenges the common assumption that software dependencies are always beneficial. The author argues that dependencies incur significant costs, including learning curves, maintenance overhead, security risks, and deployment complexity. Using the TigerBeetle database as an example, the article highlights the advantages of a 'zero-dependency' policy. A framework for evaluating dependencies is proposed, encompassing ubiquity, stability, depth, ergonomics, and watertightness. POSIX system calls, ECMA-48 terminal control codes, and the web platform are used to illustrate the framework's application. The article concludes by urging developers to critically assess the costs and benefits of dependencies before making choices.

Read more
Development

Do Files Want to Be Actors? io_uring and the Convergence of Computing Paradigms

2025-01-04
Do Files Want to Be Actors? io_uring and the Convergence of Computing Paradigms

In high-performance Linux applications, io_uring is revolutionizing OS interaction. It uses submission and completion queues, allowing asynchronous I/O without waiting for syscalls. Simply queue operations and continue computation. This remarkably mirrors the Actor model: objects send messages for concurrent computation. io_uring's sending operations to file descriptors and asynchronously receiving responses strikingly resembles this. This suggests a shift towards asynchronous, self-managing OS behavior; traditional syscall methods might be an outdated abstraction.

Read more
Development