Live data from Hacker News

Marcel the Shell

marceltheshell.org

121–130 of 209 posts

Re: Marcel the Shell

#121

Earlier quoted context omitted.

Surely there is some copyright infringement here?

You’re thinking trademark infringement. IANAL, but I wouldn’t worry about it. Worse comes to worst, you could rename it. That’s what Firefox did.

"Marcel" is a common male name in some parts of the world. That would make a trademark infringement claim somewhat difficult.

Re: Marcel the Shell

#122
post #114

To me the interest in this would be as a replacement for bash in makefiles with the hope that it could be cross platform and not require most of the utilities like sed/awk etc. It's an enormous pain to write x-platform builds with make because of shell issues - even with cygwin. For this to work one would probably want to embed python and have a pool of interpreters so as not to pay the startup cost of python on ever…

for this purpose Just[1] with a python shebang line works great

[1] https://github.com/casey/just

Re: Marcel the Shell

#123
post #5

How does this compare to nushell? I am in the market to learn something other than bash and right now nushell seems like the best candidate.

I wrote marcel. In my view, nushell and marcel are very similar. nushell has tabular output, which I haven't thought was all that useful. Marcel is python-based. The nushell guys have had to invent a lot of language. By basing marcel on python, I don't have to invent language. Any logic to be added is expressed in python. E.g, do a recursive listing of files and find those that changed in the last 3 days: ls -fr | se…

Marcel looks really interesting.

As someone who's leaned into Nushell deeply, I can tell you that the tabular and hierarchical data output is the major selling point of Nushell. For me and my team, who work with data and metadata constantly, it's an incredible productivity boost.

The major pains with Nushell are debugging pipelines that are too slow, having to learn the new language constructs, and process overhead for going in and out of Python for other pieces.

Re: Marcel the Shell

#124
post #86

First of all - Linuxes and alike desperately need something like this shell becoming standard. And second - I always wonder how all these great minds who where throwing rubbish at Microsoft ever since... somehow forgot to mention that same company created important product called PowerShell like 20 years ago. And you know PowerShell is so good already you can easily drop it in any OS/X, Linux and it actually works. N…

In defense of the Microsoft-haters, powershell is a fantastic idea with terrible ergonomics. When they first released it I was very excited but, well, it’s just awful to use. Terrible Get-Finger-Twister -Recurse -Awfully commands, quirky aliases (you can type “curl” but it takes none of curl’s parameters because it’s an alias for Get-WebRequest-Annoyingly or whatever they called it), simple scripting things such as “…

The verbosity is a positive, so long as you understand the constraints in which it works. Cmdlets are specifically Verb-Noun, where the list of verbs is restricted to an approved list (Get, Set, Add, Remove…) and the noun naturally follows what you might expect.

Want to get an organisational unit from Active Directory? Turns out the command is Get-AdOrganizationalUnit. Discoverability is built in. All of the switches are the same. Is it -R or -r for recurse on the Unix command to list OUs from LDAP? What is the command name, anyway? I dunno, but I know the flag I need is -Recurse on Powershell.

Want to dump your DNS zones? Get-DnsServerZone is too verbose, obviously, so “cd /var/named/data && grep '\\(. *A *[0-9][0-9]*\\)\\|\\(..*CNAME..*\\)' db.*” is a much better option (‘scuse the escaping on that regex). Glad we could avoid the long command names.

Born of experience, maybe. Don’t know what the command might be? Get-Command dnszone* saves the day. I suppose I could ask GPT-4 for the regex for the bind dbs, otherwise. These are all things I can teach juniors in about fifteen minutes flat. You don’t need to learn three different Turing complete languages, all of which overload the same set of flags with different operations, just to run an operation against a bunch of files. Familiar, shorthand, and obtuse is not better just because it’s familiar.

Re: Marcel the Shell

#125
post #104

Earlier quoted context omitted.

Alias, code completion and nice IDE tooling is the trick, not being stuck in UNIX like CLI mentality.

Needing an IDE for a shell!? "Tooling" is a design smell. It's building hacks on hacks to make bad design and lack of understanding somewhat manageable. For better systems all you need is a shell and a text editor. That said, we do need a better shell. But definitely one with UNIX and CLI mentality.

Emulating a printer connected to a typewriter is a design smell.

Re: Marcel the Shell

#126

Earlier quoted context omitted.

Surely there is some copyright infringement here?

What's the other thing named Marcel?

Marcel the Shell with Shoes On [1], a recent Oscar-nominated film

[1] https://en.wikipedia.org/wiki/Marcel_the_Shell_with_Shoes_On...

Re: Marcel the Shell

#127
post #86

First of all - Linuxes and alike desperately need something like this shell becoming standard. And second - I always wonder how all these great minds who where throwing rubbish at Microsoft ever since... somehow forgot to mention that same company created important product called PowerShell like 20 years ago. And you know PowerShell is so good already you can easily drop it in any OS/X, Linux and it actually works. N…

Today, we use json. How do we integrate it into our shell scripts? That's right, we simply make a tool (jq, miller) that takes stdin json, and _continue_ to use the agnostic, untyped tools alongside it, because they are just that, agnostic.

In 20 years when we use BGHY or whatever other format, we can use it alongside existing tools by simply... Making a tool that takes stdin in that format.

Re: Marcel the Shell

#128
post #125

Earlier quoted context omitted.

Needing an IDE for a shell!? "Tooling" is a design smell. It's building hacks on hacks to make bad design and lack of understanding somewhat manageable. For better systems all you need is a shell and a text editor. That said, we do need a better shell. But definitely one with UNIX and CLI mentality.

Emulating a printer connected to a typewriter is a design smell.

I agree. It maybe wasn't design smell when it was designed but 50 years later it definitely is a design/culture smell.

Doesn't make "tooling" any less smelly though.

Re: Marcel the Shell

#129
post #104

Earlier quoted context omitted.

Alias, code completion and nice IDE tooling is the trick, not being stuck in UNIX like CLI mentality.

Needing an IDE for a shell!? "Tooling" is a design smell. It's building hacks on hacks to make bad design and lack of understanding somewhat manageable. For better systems all you need is a shell and a text editor. That said, we do need a better shell. But definitely one with UNIX and CLI mentality.

Welcome to the world of Lisp Machines, Xerox PARC and ETHZ.

Unfortunely taken away due to UNIX's free beer offerings.

Re: Marcel the Shell

#130
post #104

Earlier quoted context omitted.

Alias, code completion and nice IDE tooling is the trick, not being stuck in UNIX like CLI mentality.

And yet, there's no code completion for powershell so nice, as fish provides. In this area, Powershell (plus addons, like oh-my-posh) just mimimcs existing popular bash/zsh capabalities.

Fish isn't UNIX, and stating that Powershell just mimics existing popular bash/zsh means your not aware of Powershell capabilities versus bash/zsh.

Since when do bash/zsh offer a full sane programming language, not relying in external executables, a full blown language framework ecosystem, ability to load shared objects and importing public symbols as functions, and interoperate with D-BUS (as COM counterpart) as if client bindings were functions (again withouht external processes)?

Post reply on HN