My Login Shell in Assembly
Philosophy - Sciences - Geekery - Art - Life - Coaching - Fun < Simplify Everything
Opening excerpt (first ~120 words) tap to expand
My Login Shell in Assembly Three shells. Three languages. One obsession with going deeper. And faster. I started with hand-crafting rsh. Written in Ruby over a few years. Now 4,048 lines, full-featured, comfortable, slow. 300 millisecond startup. Fine for a scripting language, frustrating when I open lots of terminals in quick succession. Then I decided to rush to the next level. Rewriting rsh in Rust. Rush has 4,280 lines, same feature set, 26 millisecond startup. Part of the Fe2O3 suite of Rust terminal tools. Fast, but still loading a runtime, linking against libc, initializing a memory allocator. The question became, “what if there was nothing between my keystrokes and the kernel?” bare bare is an interactive shell written entirely in x86_64 Linux assembly.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Geir's Everything.