Live data from Hacker News

Zellij – A Terminal Workspace and Multiplexer

zellij.dev

51–60 of 248 posts

Re: Zellij – A Terminal Workspace and Multiplexer

#51
post #33

You have a problem and you need a configuration language, so you pick YAML. Now you have two problems. Take a leaf out of Rust's book and use something simple and sane like TOML, YAML is a mess. See: https://github.com/cblp/yaml-sucks Otherwise this looks like a great project, please don't ruin it with YAML.

This feels like a bit of a bikeshed. There are problems with many configuration languages. I don't see anything related to yaml on their issue tracker.

HN on ShowHN posts is almost always a series of bikesheds

Re: Zellij – A Terminal Workspace and Multiplexer

#52
post #9

Earlier quoted context omitted.

Remote sessions. Unless you want to use X forwarding, or create multiple SSH sessions, it's way more ergonomic to do it this way. I currently use tmux for this and when you combine it w/ the tmux command mode (-CC) and iTerm 2 you get the best of both worlds, but even without iTerm 2 integration I still prefer panes to be handled by the multiplexer because then I know I can get my consistent and comfortable environme…

You can multiplex your SSH session and have several ssh commands running on the same connection (without having to type the password/check the security key again). Check the ControlMaster option for SSH.

And this is better than tmux... Why?

Re: Zellij – A Terminal Workspace and Multiplexer

#53
post #10

Earlier quoted context omitted.

> I'm not sure I could untrain all my muscle memory I've built up over the years with my TMUX configuration You could quite easily configure Zellij's keybindings [0] to mirror your tmux config. [0]: https://zellij.dev/documentation/keybindings.html

That's great! As soon as it supports detaching a running session I'll take a look at migrating.

You can use abduco for that part (but I’ll just keep using tmux).

Re: Zellij – A Terminal Workspace and Multiplexer

#54

You have a problem and you need a configuration language, so you pick YAML. Now you have two problems. Take a leaf out of Rust's book and use something simple and sane like TOML, YAML is a mess. See: https://github.com/cblp/yaml-sucks Otherwise this looks like a great project, please don't ruin it with YAML.

If your Rust program needs a more complicated configuration (conditionals, access to APIs and so on), also look at Facebook's Starlark parser and tooling[1]. Starlark is a subset of Python used by Bazel, Buck and a few other projects.

[1]: https://github.com/facebookexperimental/starlark-rust

Re: Zellij – A Terminal Workspace and Multiplexer

#55
post #48

You have a problem and you need a configuration language, so you pick YAML. Now you have two problems. Take a leaf out of Rust's book and use something simple and sane like TOML, YAML is a mess. See: https://github.com/cblp/yaml-sucks Otherwise this looks like a great project, please don't ruin it with YAML.

I think the biggest problem with YAML is not YAML itself but what people use it for. It's very flexible and readable for smaller files (much more than TOML - which is awful for hierarchical data). A bigger problem is that so many things are using config files that should be proper DSLs or libraries, but no one wants to maintain a library (or create RCE as a service by accident) and no one wants to write a parser/inte…

There is now a good parser/interpreter already written for a proper configuration DSL in Rust - https://github.com/facebookexperimental/starlark-rust

Re: Zellij – A Terminal Workspace and Multiplexer

#56
post #27

I love that the UI can be explored by the user, since it shows available keyboard shortcuts. This is something where GNU screen or tmux suck, because you really have to lookup how to operate these tools. In some manual or with google.

I had to print this

https://tmuxcheatsheet.com/

Re: Zellij – A Terminal Workspace and Multiplexer

#57
post #24

Earlier quoted context omitted.

One can find absurd behavior in corner cases of any non-trivial language, but one can find absurd behavior in YAML without even looking for it.

Such as? All these cases with no and norwegian or whatever but I haven't run into major problems and use it frequently. e: And, AFAIK, I believe the latest YAML 1.2 spec (from 2009) has addressed these issues.

I use it frequently too, but there's some terrible edge cases: https://stackoverflow.com/questions/53648244/specifying-the-...

Re: Zellij – A Terminal Workspace and Multiplexer

#58
post #24

Earlier quoted context omitted.

One can find absurd behavior in corner cases of any non-trivial language, but one can find absurd behavior in YAML without even looking for it.

Such as? All these cases with no and norwegian or whatever but I haven't run into major problems and use it frequently. e: And, AFAIK, I believe the latest YAML 1.2 spec (from 2009) has addressed these issues.

The "no"/"norwegian" thing is emblematic of very sloppy thinking in YAML's design, and it's far from the only example.

It's possible to avoid these pitfalls - like people do with PHP - but why burden users with that in a new project when better options have been available for years?

They obviously like Rust, why not just follow their lead with TOML?

Re: Zellij – A Terminal Workspace and Multiplexer

#59

The idea of using WebAssembly for their plugins is really impressive (they are using Wasmer!). It allows to have fully sandboxed code that interact with their code safely and fast. I think more projects will start following the same direction soon!

I'm confused. Zellij uses wasmer and wasmer-wasi. Wasmer may use cranelift for compilation (dont know if Zellij does).

"Fast & Safe. Wasmer runs WebAssembly at near-native speed in a fully sandboxed environment." (https://github.com/wasmerio/wasmer)

But ...

"Cranelift does not yet perform mitigations for Specter or related security issues, though it may do so in the future." (https://github.com/bytecodealliance/wasmtime/tree/main/crane...)

Will the wasmer runtime handle specter / meltdown / rowhammer attacks?

Re: Zellij – A Terminal Workspace and Multiplexer

#60
post #30
post #2

I'm not sure I could untrain all my muscle memory I've built up over the years with my TMUX configuration, but I truly believe in the next 10 years all of my current command line tools will be slowly replaced with rust equivalents (with the exception of neovim). ripgrep and fzf are already a large part of my workflow, and I love seeing WebAssembly becoming the universal plug and play standard. > Build a web client to…

I'm curious, why is in-browser use so appealing to you?

Where do they mention in-browser use? WebAssembly is used for extensibility, but not necessarily for access from a browser.

Am I misreading their blog post?

Post reply on HN