Threads for gwenhael

  1. 8

    I don’t understand what’s going on here …

    It doesn’t matter to GNU Grep that fgrep and egrep have been present in Unix since V7. Out they go, because POSIX says so.

    The presence of extra commands should always conform to POSIX? i.e. a system with XYZgrep is still POSIX compliant?

    Then, from https://www.phoronix.com/news/GNU-Grep-3.8-Stop-egrep-fgrep

    If you prefer the old names, you can use use your own substitutes, such as a shell script named @command{egrep} with the following contents:

    It’s already like this on my Ubuntu machine:

    $ cat $(which egrep)
    #!/bin/sh
    exec grep -E "$@"
    

    So this feels like a non-announcement for most people … ? It’s some cruft in upstream GNU grep removed that doesn’t affect anyone?

    I can’t imagine that anyone would actually remove those 1 line shell scripts.

    1. 29

      In grep-2.8 GNU added an echo "$cmd: warning: $cmd is obsolescent; using @grep@ @option@" >&2 in the upstream {e,f}grep scripts [ https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d480e3142fd959bccd1c9372d1 ]

      In Slackware at least suddenly many script were spamming the terminal with this arguably useless warning.

      Ultimately Slackware decided to patch upstream (something rarely done) to undo this change:

      Wed Sep 7 18:40:44 UTC 2022
      […]a/grep-3.8-x86_64-2.txz: Rebuilt.
             Folks, I rarely veto upstream, but I'm not going to entertain this nonsense.
             The egrep and fgrep commands were part of Unix since the 70s, continue to be
             included with the BSDs, and frankly, aren't hurting anything. GNU grep
             declared them deprecated in 2007 and when they were changed into shell
             scripts around 8 years ago I figured that's where it would end. I can see no
             logical justification to have these scripts start making noise and then to
             eventually pull the rug out from under any code that might be using them, so
             I've placed non-noisy versions of them into the package sources and will be
             installing those during the build. Given that the -F and -E options are part
             of the POSIX standard, these scripts will continue to work fine. That said,
             we will be continuing to change our own code over to the recommended syntax
             to avoid the minimal overhead incurred compared to using grep directly.
      
      1. 8

        This is just dumb? I can’t believe anyone would spend time on this

        Having 1 line shell script wrappers causes absolutely no maintenance burden.

        1. 5

          I would hope that the other distros follow suit. I don’t like the change in behavior.

          While I understand the desire to deprecate “old” functionality, it is just inescapable that egrep and fgrep have existed for many decades, and have come to be relied upon by generations of shell script programmers. And now scripts that have worked fine for decades will now break in unexpected ways.

          I’ll make it a point not to use egrep in the future (never used fgrep). But, realistically, what real harm was there in leaving the old /bin/egrep and fgrep scripts? Can anyone actually argue that they were some kind of maintenance burden? Yes, they each take up a sector on the drive when installed, but that marginal cost is very low.

        2. 8

          The presence of extra commands should always conform to POSIX? i.e. a system with XYZgrep is still POSIX compliant?

          I believe the argument goes like this:

          • POSIX specifies the behavior of grep -E and grep -F, but does not specify egrep or fgrep.
          • Therefore: if you use grep -E or grep -F, and it behaves in a way that deviates from POSIX’s specification, it is the grep implementation’s bug to deal with. But if you use egrep or fgrep, and it doesn’t behave the way POSIX grep -E/grep -F are specified, it is your bug to deal with, because POSIX didn’t actually guarantee egrep or fgrep would exist or behave in any particular way.
          • Therefore: the responsible thing to do as a programmer, if you want the bug to be someone else’s to deal with, is always to use grep -E/grep -F, never egrep/fgrep.
          • Therefore: programmers should be reminded to use grep -E/grep -F.

          Honestly, I find it very hard to get worked up much about this, given that it is just a warning. I also very much do not subscribe to the “warnings are part of your public API” school of thought.

        1. 8

          If you want to try a wlroots-based compositor, know that you can probably do everything you want to do, but it’ll be some effort.

          I rely pretty heavily on a feature of my xorg WM which converts key combos from Emacs style to “conventional” style; this is an absolute necessity for me since Firefox nerfed their extension system and banned any user customization from binding to key combos like ctrl-n and ctrl-p. (“For security reasons” they say, despite the fact that I’ve never once intentionally invoked either “new window” or “print” on this machine since I got it five years ago.) I’ve tried to get wayland working a couple times (I have a laptop with a GPU that isn’t supported under xorg) but when I ask wayland people how to do this, they all look at me like I’ve lost my mind. So my fancy new laptop mostly just sits on my shelf collecting dust. =\

          Maybe in another five years…

          1. 2

            Didn’t test this since I don’t use emacs, but interception tools with remap sounds like it does what you want.

            https://gitlab.com/interception/linux/tools https://github.com/Rational-Curiosity/remap

            1. 1

              I feel like you’d probably solve this by building in the functionality to the compositor?

              I’d really like to see an equivalent to awesomewm for Wayland to make building this functionality yourself easier.

              1. 7

                That’s what they said when I asked on IRC. Hearing “you have to write some C code” made it feel a lot like https://p.hagelb.org/fault-tolerance.png

                1. 2

                  Have you tried Qtile? It looks like the closest wayland alternative to awesomewm built around python instead of lua.

                  I too deeply miss awesomewm. I’ve moved over to wayland and Sway 2 years ago. The manual tiling frustrates me every day yet “it works” so I haven’t taken the time to fully figure out Qtile.

              1. 29

                Timsort: A very fast , O(n log n), stable sorting algorithm built for the real world — not constructed in academia.

                I hope the article presents not the original version but the one that was fixed by academia.

                (See https://ercim-news.ercim.eu/en102/r-i/fixing-the-sorting-algorithm-for-android-java-and-python, https://link.springer.com/chapter/10.1007/978-3-319-21690-4_16)

                1. 10

                  I hope so too, that’s a weird anti-intellectual statement to make to open a post about an idea.

                  1. 10

                    This guy used to post a lot of his lessons on lobsters and most of them had pretty glaring mistakes, like saying an O(2^n) algorithm was faster than a linear one, so I’m not surprised.

                    1. 1

                      Aye ya yaye… Sounds like they’re trying to reinforce by recall but at the same time feel good about themselves maybe…

                    2. 3

                      Being pro-pragmatism isn’t the same as anti-intellectual. “Academia” means different things to different people also, of course

                      1. 1

                        I was a bit surprised by the tone of this sentence, to say the least. Glad I’m not the only one!

                    1. 7

                      Post the excellent web apps that you know.

                      I’ll start with https://www.photopea.com/

                      1. 2

                        https://www.soundslice.com/ (music learning/practice/editing via interactive sheet music)

                        1. 1

                          Note taking app: https://reflect.app/

                          1. 1

                            In the same spirit: https://mecabricks.com/

                          1. 9

                            I don’t get the fascination about computer-generated content. I haven’t delved much in it but I’ve seen glimpses of the DALL-E pictures, before that GPT-3 texts, all the various this-whatever-doesn’t-exist.

                            I don’t get the interest. I only see empty attempts at mimicking conscience that ultimately fails to produce anything meaningful. I have the same feeling that I have when I listen to someone very good at talking without a purpose. Some people (especially politicians but not only) are very good at talking for a long time, catching the ear without ever really telling anything. It’s quite fascinating when you realize that the person has in fact only been using glue words, ideas and sentences but there’s no substance at all when you take out these fillers.

                            It’s what I see in all of this. We got to a point where we make computers to churn out filler content for our mind, but there’s no nutritional value in it. We’re taking out the human producer of memes and honestly I’m a bit terrified we’ll end up brain-deadly consuming content produced by things. What happens when the art/ideas/entertainment/… is made without “soul”? What is the point of all this?

                            I’m not very good at ordering and communicating my thoughts myself but I’m very scared already when my 12 years old son gets stuck scrolling short videos, the idea of taking the human “soul” out crushes my hope for the future of our species.

                            1. 13

                              I’m excited about this for two principle reasons:

                              1. It’s fun. SO much fun. Getting DALL-E to generate a heavy metal album cover made of pelicans made of lightning? I found that whole process deeply entertaining. See also the “fantasy breakfast taco” game I describe at the end of my post.
                              2. I see these tools fitting in the category of “bicycles for the mind”. They help me think about problems, and they do things like break me out of writer’s block and help me get started writing something. In DALL-E’s case it’s an imagination enhancer: I can visualize my ideas with a 20s delay.

                              Aside from those, here’s a use-case you may not have considered which I tried recently on GPT-3. If you’re on disability benefits and a government office cancels them and you need to write a letter - but you don’t have much experience writing formal letters. I tried the prompt “Write a letter to the benefits office asking why my disability claim was denied”. Here’s the result: https://gist.github.com/simonw/6e6080a2f51c834c13b475743ef50148

                              I find this a pretty convincing attempt. I could do a better job, but I’ve written a lot of letters in my time. Give it a prompt with specific details of your situation and you’ll get something even more useful.

                              1. 4

                                In DALL-E’s case it’s an imagination enhancer: I can visualize my ideas with a 20s delay.

                                I’ve been using the free VQGAN-CLIP[1] to generate things like “Moomins as Dark Souls in the style of linocut / watercolour / screenprint etc.” to give me interesting things to practice linocutting, watercolours, acrylic painting, etc.

                                [1] https://github.com/nerdyrodent/VQGAN-CLIP

                              2. 8

                                Why do you expect it to have a vague notion of a “soul”? It’s a tool. It’s not an artist, it’s an automated Photoshop.

                                How do you feel about recorded music? Music used to exist only as a live human performance, and now we have soulless machines playing it. New music can be made with button presses, without fine motor skills of playing an instrument. Now we can create paintings without motor skills of using a brush.

                                To me DALL-E is a step as big as photography. Before cameras if you wanted to capture what you see, you had to draw it manually. With cameras it’s as trivial as pressing a button. Now we have the same power for illustrations and imaginary scenes.

                                Selfies have disrupted portrait painters, and this without a doubt will be disruptive for artists and photographers. Short term such commoditization sucks for creators, and the way ML is done is exploitative. Long term it means abundance of what used to be scarce, and that’s not necessarily a bad thing.

                                1. 3

                                  Basically - I think at most, things like this will serve two purposes:

                                  1. Inspiration stuff for artists - look at some ideas, see new possible connections.
                                  2. Pornography (not in the sense you’re used to, but “meets my specific thing”)/pot-boilers; it follows a situation of like “I want X character in Y setting”, and generates something mostly coherent, but in a bland way. But maybe that’s all someone wants…
                                  3. Shitposting.

                                  I think these right now are devoid of much “soul” for lack of a better term - it’s impressive they can follow the prompt, but it’s impassionate and at times they feel like they’ve been painted by someone with dementia.

                                  1. 1

                                    Why is it seen as filler content? A lot of what the author ends up creating are descriptions that came from a person, and the AI is just doing its best to visualize it. There are thousands of instances of a description - why not generate them all?

                                    I tell this to people from time to time that life is just state traversal… and AI helps traversing it

                                  1. 2

                                    Anecdata: I once decided to move my personal Nextcloud instance from MariaDB to PostgreSQL for getting acquainted to that other DB everyone seem to praise. It stopped working after I upgraded PostgreSQL to the new at the time major version. I promptly migrated back to MariaDB when I looked up why and saw what I had to do to perform the upgrade.

                                    1. 7

                                      MySQL/MariaDB is certainly much easier to upgrade, but the way you do that gives me the willies - basically, just replace the binaries with a newer version, then start the server with the old files. This server will happily run with the old tables and maybe even produce correct results, but they are considered “broken” until you run mysql_upgrade which then “repairs” them for you when needed.

                                      1. 4

                                        Postgres pg_restore does the same thing and works just fine. For the past few years the breaking on-disk changes have been to indexes and the database comes with both the old and new code for working with indexes in the server. You only get the new data structures on disk if you did one of the time-consuming updates like REINDEX, pg_dump/pg_restore or replication. Those do full rewrites of everything to perform the update which is equivalent to the mysql_upgrade rewrite.

                                        1. 2

                                          pg_upgrade is also very fast because depending on configuration it doesn’t do too much.

                                          From the official docs:

                                          Major PostgreSQL releases regularly add new features that often change the layout of the system tables, but the internal data storage format rarely changes. pg_upgrade uses this fact to perform rapid upgrades by creating new system tables and simply reusing the old user data files. If a future major release ever changes the data storage format in a way that makes the old data format unreadable, pg_upgrade will not be usable for such upgrades. (The community will attempt to avoid such situations.)

                                        2. 1

                                          thanks for warning..

                                        1. 1

                                          Genuinely sad that we’ll be losing the K9 name and logo at some point. 😅 A real part of that app’s appeal (alongside being an excellent mail client of course).

                                          1. 1

                                            Funnily I have the opposite reaction :P Finally that infuriating dog reference will disappear from my phone!

                                            1. 1

                                              Sacrilege! More Doctor Who references on my home screen please.

                                          1. 3

                                            I’m a bit on the edge about this. I did learn a lot even if honestly I don’t write much HTML bu hand these days.

                                            It does looks clean and challenges habits yet it relies a lot on knowing “obscure” details of HTML. It’s all implicit.

                                            Nonetheless why not after all, it shows elegant HTML written with good knowledge of it.

                                            1. 4

                                              Thank you for your kind words! Maybe we can get the word out and make these details less obscure ;)

                                            1. 8

                                              My daughter is 5 - I don’t want her dialing 911.

                                              It’s weird to think of this as a problem since the entire world had this potential concern for a while and it was… fine?

                                              Super cool though. I’m jealous of the payphone.

                                              1. 10

                                                In Britain the number is 999, which lends itself very well to being dialled by any toddler who sees fit to mash a single button. Ask me how I know!

                                                1. 6

                                                  Kids today will never know the joy of crank calling a random phone number.

                                                  1. 3

                                                    Maybe not, but the “It’s Lenny” crowd sure have fun with pranking the scammers who call them instead. https://old.reddit.com/r/itslenny/

                                                    1. 3

                                                      Hopefully not, but there are many folks that end up stuck doing that for a living!

                                                      1. 1

                                                        I wonder if there’s a YouTube video of someone playing The Jerky Boys for some kids and seeing what they make of it.

                                                      2. 5

                                                        I find it very weird. Why wouldn’t they want their child to be able to call for help?

                                                        1. 4

                                                          You know I’ve never thought about the positive case. What do people do nowadays? Instruct their kid on how to take the iPhone out of their pocket and make an emergency call from it?

                                                          1. 4

                                                            We bought our children their own phones, partly for this reason. Especially as we encourage them to wander the neighbourhood and catch trains from age 7.

                                                        2. 4

                                                          I actually did dial 911 on a dare on a payphone as a kid, and surprise, emergency services showed up (and I was being an idiot but what can I say). According to a friend who works in emergency dispatch, this used to be quite common (though because we’re both of around the same age I don’t know if any of us have stats on how 911 dialing has changed in the mobile phone era.)

                                                          So yeah this is definitely a concern, but there’s also the positive case. My mother was in ill-health when I was a child and I did have to dial 911 for her a couple times. I was a technical kid, but it was nice that I could just take a few specific actions (namely dialing 9-1-1 on a phone) and get help for my mother. (You would think, having both dialed out to 911 as a prank and in legitimate need, that I would understand what a silly thing it was to have dialed out on a dare, but it took me a few years for that self-reflection ability to happen in my child brain.) I’m curious about what kids do these days especially since most folks keep their phones locked. Do folks keep a home phone around specifically to dial out to emergency services?

                                                          1. 5

                                                            Locked phones typically still have an “emergency call” button that allows dialing the local emergency number. On Android it also allows you to dial any of the contacts stored as emergency contacts in the phone. The question is still a valid one if a child was home without someone’s cell phone, but in general a locked phone shouldn’t stop an emergency call.

                                                            EDIT: And, yes, I also have a landline for just such a situation.

                                                            1. 4

                                                              Even phones without a SIM are supposed to be able to call the local emergency number, so that slightly narrows the use-case for a landline.

                                                          2. 4

                                                            My parents had a lot of older phone and computer equipment laying around that we liked to play with growing up. One item was an old rotary phone that belonged to one of my grandparents and I recall my father one day explaining the differences in dialing between it and DTMF. To let us hear the differences, he plugged it into one of the phone jacks and, after booping a few buttons on the touch-tone phone, he then showed us the difference in the rotary.

                                                            He first dialed a “9” to let us hear all the clicks, then to show the difference he dialed a “1”. Because that was so short, he repeated the number to make sure we heard it. Two minutes later, the emergency operator called back and he had to explain himself…

                                                            1. 1

                                                              I was almost in big trouble when a random kid I was playing with at the Burger King nearest my childhood home wouldn’t quit calling 911 on the pay phone. I don’t remember details. I’m not sure if I was just assumed to be the mastermind, or if the other kid tried to pin it on me.

                                                            1. 1

                                                              I wonder if a similar setup is possible with QEMU?

                                                              1. 2

                                                                It’s definitely possible to run qemu/kvm VMs with storage on raw block devices, so I’d certainly expect so.

                                                                1. 2

                                                                  I’ve used this trick in the past testing lilo tweaks to make sure I’d still have a bootable machine.

                                                              1. 2

                                                                So as usual, consider not writing Ruby, but if you do, use type signatures, and maybe 100% branch coverage too, as annoying as it seems.

                                                                Could someone more into Ruby ecosystem explain why the OP could have written this paragraph about “not writing Ruby”? Is Ruby a dying language?

                                                                1. 5

                                                                  strong opinion syndrome

                                                                  1. 4

                                                                    People thinking only strictly typed languages are worthy are prone to not recommend not strictly typed languages like Ruby. I like Ruby and I have made extensive refactors without Sorbet&co by having confidence in my tests. My colleague who swears by C# and Typescript will talk your ears off “proving” how such a thing is impossible.

                                                                    To each their own and let’s stop trying to find the one size fits all magical tool.

                                                                    1. 4

                                                                      OP was a big ruby community member with many contributions to his name, who fell out with ruby for, first, not solving the language and runtime issues he thought were the most important, then, for solving them in a way he likes. He does go now.

                                                                      1. 3

                                                                        If you want what this post wants (good types and safety rails) Ruby is a bad choice for those things. Sure there is sorbet and writing a billion tests, but even Crystal would be a better choice if those things are your priority.

                                                                        If you want is to play with a highly malleable environment and don’t want smalltalk then Ruby is where it’s at, though.

                                                                        1. 2

                                                                          I can’t speak about the OP, but Ruby definitely isn’t dying. It might not be growing, but it is keeping a good level and there are new devs coming to Ruby all the time.

                                                                          1. 1

                                                                            They are into Go, based on the other posts on the blog.

                                                                          1. 19

                                                                            Stop using your politics against systemd’s politics makes for a weak rant. I don’t have a strong technical opinion on systemd but the TINA (There is no alternative) “politics” of systemd has been annoying for… ever, hence the push against it and the work to keep a systemd-free alternative alive and viable.

                                                                            1. 2

                                                                              It’s interesting how the discussion is focused mainly on the number of lines. That seems to be the most benign of the factors at work here. I’d venture that the same untrained, unaware contributors to that nightmare would have done even worse if somehow someone had the idea at some point to split in multiple files.

                                                                              1. 1

                                                                                I made a similar switch a while ago, awesome to sway, because one game (Cyberpunk 2077 with wine) was crashing my whole computer randomly under awesome.

                                                                                I managed to make a usable configuration but I still miss awesome a lot because of:

                                                                                • the lack of workspace aware alt-tab: this is the most frustrating thing, I just can’t understand how it is considered acceptable to rotate through all windows regardless of workspace, I never want that;
                                                                                • my feeling that my configuration is made of a dozen loosely coupled pieces.

                                                                                I really just want awesome-on-wayland.

                                                                                1. 3

                                                                                  An alternative could be Qtile. I have never tried it myself, but it looks like Awesome with Python and it works on both X11 and Wayland. I didn’t know about it before starting on i3, but I think I would have given a try.

                                                                                  1. 1

                                                                                    Interesting, I’ll take a look. That’d be the occasion to learn Python.

                                                                                    1. 1

                                                                                      Very interesting indeed, Qtile has a strong feeling of awesome-but-with-python. Sadly the lack of systray when in wayland and more importantly of XWayland support make it a non-starter for me. I’ll keep it on my radar nonetheless.

                                                                                  2. 1

                                                                                    Sometimes it’s worthwhile to run a dedicated xserver for a game only.

                                                                                    1. 9

                                                                                      Not for me. Having said that I really dislike medium. A post that talks about the dangers of monopolisation of crowd work could do a lot better than a for profit walled garden blogging platform.

                                                                                      1. 4

                                                                                        FWIW, reading through the “cached” link underneath the submission’s title is I believe the workaround for a number of paywalls.

                                                                                        1. 1

                                                                                          Does not work on iOS unfortunately, the archive.md website displays a captcha page which is impossible to solve (the page doesn’t have a mobile version, and the modal window to solve the captcha goes outside the browser’s viewport).

                                                                                        2. 3

                                                                                          I think opening the link in a private window does the trick as a workaround. It’s actually quite an illustration for the article point.

                                                                                          1. 2

                                                                                            Sure there are workarounds, but the sooner people who use Medium for publishing realize they’re cutting into their prospective audience, the better.

                                                                                        1. 3

                                                                                          An old laptop falling apart physically but perfectly fine computing-wise, given to me by my brother. Intel Core i3-3217U with 4GB of RAM running Slackware-current. An internal SSD for the OS and 3 external HDD for storage. Running mainly Nextcloud and gitea, plus a bunch of small services. No desire nor need to “containerize” any of this.

                                                                                          1. 3

                                                                                            Nextcloud News

                                                                                            1. 4

                                                                                              All generalizations suck, but it needs to be stated that this isn’t a problem of untyped text streams, as much as the author (and others) would like to make it so.

                                                                                              The problem can generically be stated as organic accretion, but there’s probably a bit of human laziness underneath it all. I’d summarize it as “Compound piping among several commands is tough. Adding new options is easy!” While not true in each and every instance, and for many of these cases probably adding the option was tougher than the composition, it’s “true enough” where that over a period of decades the cruft begins to add up.

                                                                                              I wonder if further standards around the Unix Philosophy might help here, specifically in regards to code budgeting (tm) and other purposeful artificial (and perhaps functionally orthogonal) constraints on design.

                                                                                              1. 5

                                                                                                Organic accretion is a property of software. If something exists that works, it’s easier to add to it than remove from it. This ends up being desired by users too - you’re absolutely free to run Slackware 3.1 or at least the command line tools from it, but people don’t do so voluntarily.

                                                                                                But, imagine if command line options didn’t exist - we’d end up with a lot more binaries, and distributions where the number of binaries grows over time. Is that better or worse? It seems like it would be slower (piping means context switches), reading scripts seems of similar complexity since the number of things to know is essentially the same, and it may or may not improve flexibility, depending on the supported combinations of the command line options vs. the composability of separate commands.

                                                                                                It’s hard to read the article without sensing that the real complaint is that software is becoming more capable over time, as opposed to the form of that capability.

                                                                                                (That said, I would like a mini-man that tells me the most common options that’s faster to read, and be able to fall back to the “manual” when something obscure comes up.)

                                                                                                1. 4

                                                                                                  (That said, I would like a mini-man that tells me the most common options that’s faster to read, and be able to fall back to the “manual” when something obscure comes up.)

                                                                                                  https://tldr.sh/ ?

                                                                                                  1. 1
                                                                                                  2. 2

                                                                                                    Organic accretion is a property of software, and it happens, oddly enough, organically.

                                                                                                    I don’t think we’re so far apart.

                                                                                                    Let’s take ls. Assume that ls has one and only one output: a series of columns with everything you’d like to know about the filesystem you’re pointing it at. Now there very well may be some command-line options, but they all would be around what the target is: whether to recurse, whether to follow symbolic links, and so on. No command-line options around display.

                                                                                                    Would that work? Sure it would. You’d just pipe whatever came out to grep, awk, or whatnot to do the rest of the work that command-line options currently do. But wait! Your point is valid: that’s a lot of piping and context-switching. Heck, you’re tanking performance and you could easily end up with tons of binaries for any simple job. Think of the versioning problem alone. Much easier to add to something that already works (and you know) than use three or four tools you don’t know for the job, increasing coupling and dependencies and making whatever you’re doing much harder to understand later.

                                                                                                    But what we’re both complaining about is an implementation detail: how various command-line functions work together and under-the-hood. Could we just smash up long command-line pipes into one executable with one binary, optimizing caching and piping under the hood? Sure we could. We don’t, but such optimizations take place all of the time in programming languages. There’s no reason that they couldn’t take place on the command line, except one: it’s easier to accrete off something you already understand and works than it is to join up several things you might not know so well into something that might be harder for others to grok. If we could smash up and break apart complex command-lines at will, we’d be doing the same thing as adding options without having to modify code or making any one command so bloody complex.

                                                                                                1. 2

                                                                                                  Slackware (current), Emacs, AwesomeWM, xterm, Firefox (Developer), Nextcloud, Ruby, Typescript

                                                                                                  1. 2

                                                                                                    If you can find it, Scientific Forth by JV Noble (same author as the article) is a great book on doing practical work in Forth.

                                                                                                      1. 1

                                                                                                        Looks like it. I have a nearly new physical copy that I bought from a friend when he retired.