-- Leo's gemini proxy

-- Connecting to gemini.dimakrasner.com:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

loksh is Boring


loksh is a good example of "boring is good". It's probably my oldest actively maintained project and it received a boost of popularity in the Shellshock days, when some people wanted to replace Bash.


It became really boring and easy to maintain 3 years ago, when I moved the OpenBSD compatibility bits from loksh (and sister projects like locwm) to a library, lolibc. It uses #include_next and other tricks to make (some) OpenBSD code work as-is on Linux. In addition, it's a Meson subproject, so I could remove all the Makefile changes in loksh, because Makefile is unused. Now, the difference between OpenBSD's ksh and loksh is only one line, and I don't have to change anything when a new OpenBSD release is out. Usually, I can draft a new loksh release the same day a new OpenBSD release is out, while other ksh ports (like oksh), which emphasize portability, tend to be slower in that regard. This is possible only because loksh is boring: it doesn't do anything exciting with ksh (a "vanilla" port) and has a very focused goal (Linux support, with either glibc or musl). Although I prefer fun side projects, the engineer in me likes the way loksh evolved: tools should be useful and boring.


diff against upstream

loksh

locwm

lolibc

oksh

Distros that ship loksh

-- Response ended

-- Page fetched on Fri May 10 15:34:25 2024