Author: Samuel Hierholzer | Date: 31 Jan 2025 | 9 minutes |
TLDR; I really wish these tools gain more traction:
- Oils should replace Legacy POSIX shells
- Radicle should replace Github/-lab/etc.
- Simplex Chat should replace/inspire Mail
I love new tools. Whenever I learn about a new tool there is that excitement of new that kicks my ADHD and makes me wanna drop everything immediately, just to spend the next 10 minutes to 5 days learning about the tool.
That’s not just wishful thinking – it’s my actual behavior more often than I’d like to admit.
The time range varies so much because usually it takes at least 10 minutes to know the basic concept. And up to 5 days to get started.
For most tools the basic concept is where my excitement ends. Because I’m really hard to satisfy. I’m attracted to purism. I need innovation plus an application to keep reading. I need something that’s thoroughly thought through to really like it.
And there’s not too much that actually passes all requirements.
For an example Pijul satisfies almost all. But git
is kinda “good enough” (for me at least). The benefits don’t seem to really justify replacing a whole ecosystem of how we manage code.
So there isn’t really an application for me to start using it. I’d definitely use it if others did, but I wouldn’t push it.
But now, here are three tools that do meet my standards — enough that I genuinely believe we should start using them!
Oils for unix
Oils is a reimplementation of the Bash Shell. But with an incremental upgrade path. And I reeeaally believe this is the only way out of the legacy shells dead end we’re currently in. The default shell on every major Unix, Linux, BDS and even MacOS hasn’t had a single meaningful new feature for over 25 years!
KornShell is probably the “most advanced” shell (but it was unfree for a long time and apparently also buggy, thus nowhere the default except OpenBSD). It has possibilities to do OOP programming, but it doesn’t solve any of the foodguns the POSIX standard enforces (e.g. implicit globbing, broken arithmetics, etc).
Oils fixes them.
Not like Nushell by creating a new language with similar syntax. Oils takes the long road. By implementing bash to really understand it and only fix what’s really broken. With a way of upgrading your scripts instead of restarting. Oils is even POSIX compliant!
It’s currently unstable, but the Bash-compat part is considered ‘late beta’ and the target is a 1.0 Release in this year.
Try Oils
Luckily my merge request to add Oils to Alpine Linux just came through a few days ago, so if you have docker, you can easily give the new shell a go (replace ysh
with osh
for the bash compatible shell):
docker run -ti --
7 Comments
gigatexal
I really do like these kinds of posts. I like the author’s passion. Will check oils, radicle, and simplex out. Though I think getting my wife to try simplex over iMessage is unlikely to happen hah
patrickhogan1
Thanks for the great write-up—Radicle and Simplex Chat look awesome, and I’m looking forward to checking them out!
One tool that recently gave me that "this is how it should work feeling" was Flighty (iOS flight tracking). The UI, functionality, and flow felt so seamless—it was like music to my technophile ears. I wasn't even expecting much, because it was like "meh, its a flight tracker." But, it really wowed me.
I always justify my tool obsession by saying that after installing thousands of tools and apps, you become a naturally good product manager. Because you have a high bar for quality and during the planning/mockup phase you have lots of patterns in your head of what great looks like.
oguz-ismail
>oils
Nah. Bash is well-maintained, you can have a bug fixed quickly. It's been months since I reported this <https://github.com/oils-for-unix/oils/issues/2068> and still nothing.
mythz
First I've heard about issue with bash.
I've been using OhMyZsh in all terminals for years which seems pretty active and auto updates fine whereever I'm using it, e.g in Linux, macOS, Windows/WSL. Zsh might have a slower release cadence but I'm really happy with my with Oh My Zsh setup and don't feel like I'm missing anything.
The one area where I've stopped using bash/shell is in complex shell scripts which I'm now writing in TypeScript and executing with Bun by using: #! /usr/bin/env bun
pjmlp
There is no way out of traditional UNIX shells, because most folks don't control the servers, and getting snowflake shells being adopted across the company and customers hardly works.
Also there are many UNIX deployments, where bash still isn't a given, one might be surprised with tsch or ksh.
flowingfocus
For anyone who is into decentralized protocols: here is a comprehensive list: https://codeberg.org/amjoseph/not-your-keys-not-your-name
TheAceOfHearts
I've probably been using fish shell [0] for close to 10 years now. When I need POSIX compliance or if I need to run a one-off bash command, I just call bash. It's exceedingly rare.
Browsing through the documentation for Oils, it seems to be organized in a way that's very confusing. When you open the fish shell website it was two clear buttons for Tutorial and Documentation.
[0] https://fishshell.com/