[HN Gopher] Dune: A Shell by the Beach
       ___________________________________________________________________
        
       Dune: A Shell by the Beach
        
       Author : asicsp
       Score  : 125 points
       Date   : 2021-10-02 10:50 UTC (1 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | spenczar5 wrote:
       | It is lovely to see someone sharing software work they did just
       | because they find it subject interesting and fun, not to make a
       | buck or pad a portfolio. This has some good hacker vibes, harder
       | and harder to find these days. Bravo.
        
       | apignotti wrote:
       | Try it online: https://nextrepl.leaningtech.com/dune.html
       | 
       | Powered by CheerpX: A WebAssembly virtual machine for X86
       | executables.
       | 
       | Please note that is a sneak preview of our tech, we plan to
       | release it soon to the public. Stay tuned.
       | 
       | https://twitter.com/leaningtech
       | 
       | https://twitter.com/alexpignotti
        
       | xyzzy_plugh wrote:
       | Reminds me of abduco + dvtm, which was pretty bananas to use, but
       | felt _right_ and very unixy.
       | 
       | Though, I just use screen now.
        
         | mst wrote:
         | Currently, I use abduco for 'isolated persistent sessions' and
         | then if I need a layout on top of that, resume the abduco
         | instances inside panes in a tmux layout.
         | 
         | I could quite possibly replace tmux with dvtm but I'd been
         | doing screen then screen+dtach then tmux+dtach before that so
         | tmux+abduco was an incremental improvement that kept most of my
         | workflow intact.
        
       | jsilence wrote:
       | Impressive indeed. But not sure whether I'd want a widget system
       | built into my shell. Sort of breaks the UNIX philosophy, doesn't
       | it?
       | 
       | edit: fixed typo
        
       | nerdponx wrote:
       | It's probably worth noting that Dune is already the name of the
       | OCaml build system.
       | 
       | Other than that, this is a really interesting and creative
       | project. I'm curious what it will be like to use it in a "real"
       | session, I might have to download it and try it.
        
       | unixhero wrote:
       | Well this guy is a genious. Congrats on the release.
        
       | cushychicken wrote:
       | It's called "Dune" and yet I can't find a single Arrakis
       | reference in the repo?!
        
         | ljm wrote:
         | Programmers have tried and failed?
         | 
         | No, programmers have tried and _died_.
        
           | lukifer wrote:
           | [wheels, plans].forEach(x => x.push(x))
        
             | cushychicken wrote:
             | Took me a second but I get it
        
       | yewenjie wrote:
       | All the best to this project but since new cool shells keep
       | coming up in the frontpage here, I am wondering if anybody is
       | using an alternative shell as a daily driver and getting
       | considerably more out of it?
        
         | [deleted]
        
         | bobbylarrybobby wrote:
         | Is fish still considered alternative? The completions and
         | suggestions still make it my go to. Thankfully it's also
         | started to bring its syntax inline with bash (e.g., by
         | accepting `&&` in addition to `and;`)
        
           | ilaksh wrote:
           | I have also been using fish for years. But seeing how nice
           | the scripting is that is built into Dune makes me want Dune
           | features in fish. Or for Dune to get the autocomplete that
           | fish has.
        
           | yewenjie wrote:
           | I use fish and enjoy it, really cannot go back to zsh - feels
           | too bloated.
           | 
           | However, fish is not radically different from bash/ POSIX
           | shell the way, lets say babashka [0] is.
           | 
           | [0] https://github.com/babashka/babashka
        
           | mst wrote:
           | I think that may be the paradox here.
           | 
           | If it gets a significant userbase, it's much less clearly
           | "alternative" anymore.
        
         | antongribok wrote:
         | I've been using Xonsh for the past 3 years. I really can't go
         | back Bash.
         | 
         | I write lots of small scripts and utilities for myself, perhaps
         | on average one per week. Random stuff, like: slicing json data,
         | renecoding home videos with ffmpeg, querying APIs with requests
         | module, loops, dictionary comprehensions, etc...
         | 
         | If some script needs to be deployed to production, it's fairly
         | easy to rewrite it in plain Python.
         | 
         | I've resisted installing it on our production systems, but I'm
         | thinking more and more of using XXH for this instead.
        
           | Aditya_Garg wrote:
           | If you know python, then why bother with shell scripts in the
           | first place?
        
             | laumars wrote:
             | Because if the main bulk of your problem is getting solved
             | with external executables, like the ffmpeg example given,
             | then it makes more sense to call them from a scripting
             | language that is designed around forking other processes.
             | Python be far more powerful than your average shell but it
             | sucks for writing shell scripts.
        
         | HKH2 wrote:
         | I guess it depends on what you mean by 'considerably more'. I
         | use Fish because you can quickly change options and view info
         | in the config GUI, and I like its completions. I still script
         | in Bash though.
        
         | a1369209993 wrote:
         | > if anybody is using an alternative shell as a daily driver
         | and getting considerably more out of it?
         | 
         | I wrote my own. Originally motivated by the fact that bash
         | doesn't handle `$VARWITHSPACES` correctly (if I want expansion,
         | I can write `$@VARWITHSPACES`), but I get a surprising amount
         | of mileage out of random features shoved into corners of the
         | substitution syntax like:                 $ factor
         | $@m/[0-9]+/$[(1<<15)-((2*$0)-1)]/q'1 2 3'       32767: 7 31 151
         | 32765: 5 6553       32763: 3 67 163
         | 
         | (`$q''` produces a string, `$@m/regex/pat/` finds matches in it
         | and expands `"pat"` for each with $0,$1,... set to captures,
         | and $[expr] evaluates match expressions.)
        
       ___________________________________________________________________
       (page generated 2021-10-03 23:00 UTC)