Readit News logoReadit News
xyproto · 5 months ago
I gave it a spin. First it complained about aspell dictionaries, then I tried installing a package in an effort to improve the prompt from simply saying "murex":

    murex » murex-package install https://github.com/orefalo/murex-module-starship
    \* Getting package from 'https://github.com/orefalo/murex-module-starship'....
    Error in `murex-package` (0,1): protocol handler for HTTPS has not yet been written. Please use git in the mean time (you can do this by specifying a git extension in the uri)
    .murex_modules » murex-package install https://github.com/orefalo/murex-module-starship.git
    \* Getting package from 'https://github.com/orefalo/murex-module-starship.git'....
    Cloning into '/home/aroedset/.murex_modules/murex-module-starship'...
    Error in `murex-package` (0,1): \* Package 'murex-module-starship': Error loading module `starship` in path `/home/aroedset/.murex_modules/murex-module-starship/starship.mx`:
                              >   \* Missing required executable, builtin or murex function: `starship`
    .murex_modules »      

And then the time I allocated for myself for trying out a random shell I found on the internet was up.

zyode · 5 months ago
You seem pretty harsh considering these all appear to be user error.

You forgot the .git when you tried first, and you don’t have starship installed on your system or on your path.

fragmede · 5 months ago
why not say thank you for the bug report and improve the software instead?

Dead Comment

liampulles · 5 months ago
Because I need the scripts and snippets I write for my repos to work for other developers, I'm going to write them to be bash compatible. That applies also to scripts and snippets written by others that I consume.

So if a shell is not bash syntax compatible, then it really has to offer some astonishingly useful features to offset my having to translate and map the scripts I need to run for it.

Murex does not interpret "$(cmd args)". So unfortunately, I cannot use it. I know it's not fair, and I know that is promoting a lock-in of what shells can do, but I need to get shit done I'm afraid.

moondev · 5 months ago
You should consider putting a shebang at the top of your scripts instead of leaving it to fate
liampulles · 5 months ago
I do this for all the scripts I write. That does cover one of the scenarios I covered above, which is valid.
rendaw · 5 months ago
You're not wrong, but I don't think this is either very useful feedback or an interesting comment.

What you're saying applies to all core non established technologies: languages, operating systems, file formats, protocols, plugin ecosystems. If you're in a situation where that's non negotiable then obviously you're not the target audience here.

MangoToupe · 5 months ago
I just write everything in fish and have an LLM translate it to bash. Freed up a couple brain cells for more useful things for sure.
sholladay · 5 months ago
Newer versions of Fish have significantly improved bash compatibility. The LLM may actually be making things harder for you than they need to be.
nickpinkston · 5 months ago
Upvote just for good historical reference!

Murex were the shells whose excretions were used to make the Tyrian purple of the Mediterranean. Tyrian referring to Tyre, one of the major Phoenician city-states.

It was so iconic that the "Punic Wars" are called that because Punic = Phoenicia = "Purple People".

Carthage was the Phoenician colony that outlasted the home country.

https://en.wikipedia.org/wiki/Tyrian_purple

throwaway894345 · 5 months ago
Also, the Phoenicians were the descendants of the Canaanites, who (according to one etymological theory) are also named after the color purple.

The Phoenicians were a semitic people like the Jews, and they gave the world its first alphabet which was adopted by both the Hebrews and the Greeks. The Greeks added vowels, and the Romans adopted that alphabet and it became roughly the one we use today.

If you go to the Wiki page (https://en.m.wikipedia.org/wiki/Phoenician_alphabet) and scroll down to the Table of Letters header, you can see how the letters evolved from Egyptian hieroglyphs to the letters we use today. It’s particularly interesting to me that our letter “B” (which the greeks called “beta” and which forms the tail end of “alphabet”) was originally a house, and the semitic languages called it “bēt” which was their word for house, which you can still see today in Biblical place names like Bethel (house of God—“El” was a very old name for God).

nickpinkston · 5 months ago
Yea, I loooove that history too.

It's interesting how, unlike Sumerian cuneiform or Egyptian hieroglyphs that were complex systems that came from dedicated scribes of the court, Phoenicia's alphabet was the kind of pragmatic system you can imagine a more mercantile society developing.

It's wild that it turned into the scripts: Latin, Greek, Arabic, Cyrillic, Hebrew, and beyond.

Also interesting is Chinese script, which was saved from this by Stalin telling Mao that China should keep its unique writing, which Russia of course was already doing. Mao did do the simplification, but he turned away from his previous plan to standardize the latin script for Chinese.

jabedude · 5 months ago
Murex also has significant religious significance to Jews. It is the source of the biblically mandated blue threads for four cornered garments: https://en.wikipedia.org/wiki/Tekhelet
gausswho · 5 months ago
It's a one-eyed, one-horned, flying, purple people eater...
cyberpunk · 5 months ago
Murex is also an extremely expensive front of house trading platform whose typical installations cost in the millions. I would change the name tbh.
kitd · 5 months ago
Interesting. Looks similar to nushell [1] which also is data-encoding-aware.

[1] https://www.nushell.sh/

xalava · 5 months ago
Thanks for pointing it out. I've tried both as interactive shells for a few minutes. Murex seems to have a more minimalist approach that works well as a drop-in replacement.

However, I have trouble understanding some design decision, such as inventing redundant keywords. And I've spotted bugs in boths (e.g. ls --literal fails in nu, and the completion proposes it twice in Murex).

MyOutfitIsVague · 5 months ago
`ls` is not the same command in nu. There's a nu-specific `ls`.

My GNU `ls` has `--literal`, but to do that in nu, you have to do `^ls --literal`, to use the external command instead of the nu builtin.

You can see the nu `ls` options with `help ls`, or `ls --help`. `--literal` is completely useless for nu's `ls` anyway. `nu`'s ls gives a table, where the `name` column is the filenames. There's no need for any quoting, because it's already structured output.

hnlmorg · 5 months ago
> However, I have trouble understanding some design decision, such as inventing redundant keywords.

Murex author here: The design was originally based around explicitness. Though that's not to say that the design works everywhere. So I'm definitely interested to understand where you think improvements can be made. Please do leave some feedback in Github.

esafak · 5 months ago
ls --literal does not exist, that's why. Try man.
mikl · 5 months ago
Maybe I’m just not the target audience, but looking at the front page, I don’t see what actual problems this solves. The claims sound nice, but without examples of what they mean in real world use, it’s not really compelling.
_notreallyme_ · 5 months ago
I may be wrong, but it gives me some powershell vibe. Since it seems to be targeted for macOS, I would assume it "solves" the lack of powershell equivalent on Mac ?
SvenL · 5 months ago
On Mac and Linux you can use powershell core:

https://learn.microsoft.com/en-us/powershell/scripting/insta...

hnlmorg · 5 months ago
Murex works on a multitude of platforms, including Linux and Windows. But also a variety of UNIXs too.

It was actually first created before Powershell was available outside of Windows. But some of the design philosophies are fundamentally different to Powershell too. For example Murex is designed to work well with POSIX (bar the shell syntax itself), whereas Powershell reimplements most of the stack, including coreutils.

roger_ · 5 months ago
Agreed.

The nushell homepage, by comparison, immediately conveys the benefits of that project.

wyan · 5 months ago
Wasn't Murex some sort of backend software for financial institutions?
jmcomets · 5 months ago
Still is. It's a French/Lebanese corp based in Paris/Beirut. I worked there for a few years early in my career.
rollcat · 5 months ago
It's a spaceship from Warframe.

NB story spoilers. <https://wiki.warframe.com/w/Murex>

sockmeistr · 5 months ago
They're still going, are nice and litigious, and actively defend their trademarks. I'm kind of surprised they haven't sent a cease and desist already.
pasc1878 · 5 months ago
Not just backend - it replaced the front end system I wrote for FX options (after I left the bank)
viraptor · 5 months ago
A few of those ideas are also in https://www.nushell.sh/
h33t-l4x0r · 5 months ago
This looks interesting, I will consider switching if it's not sluggish like zsh was that one day I tried it.
iberator · 5 months ago
Back in the 486 era? same here hehe ksh for life :p
klibertp · 5 months ago
It takes 3.5 seconds for a new login shell to open on my laptop, which has a decent CPU and a fast SSD. I do have quite a few lines of config, but no oh-my-zsh and almost no plugins. I have around 2k SLOC of ZSH config.

Meanwhile, I have 22.3k SLOC of Emacs Lisp config, and Emacs starts up (granted, after lowering bytecode to native code AOT) in ~4 seconds. To me, that suggests there's something really wrong with ZSH in terms of performance - unfortunately, it's better in almost every other way compared to BASH, so I learned to live with that. Still, at least in my setup, ZSH indeed is slow, even on modern hardware. I wonder if it would even run on a 486...