Comment by timschmidt

5 days ago

Unix CLI utilities have been all text for 50 years. Arguably that is why they are still relevant. Attempts to impose structured data on the paradigm like those in PowerShell have their adherents and can be powerful, but fail when the data doesn't fit the structure.

We see similar tendency toward the most general interfaces in "operator mode" and similar the-AI-uses-the-mouse-and-keyboard schemes. It's entirely possible for every application to provide a dedicated interface for AI use, but it turns out to be more powerful to teach the AI to understand the interfaces humans already use.

PowerShell is completely suitable. People are just used to bash and don’t feel the incentive to switch, especially with Windows becoming less relevant outside of desktop development.

  • Powershell feels like it's not built to be used in a practical way, unlike Unix tools that have been built and used by and for developers, which then feels nice because they are actually used a lot, and feel good to use.

    Like, to set an env variable permanently, you either have to go through 5 GUI interfaces, or use this PS command:

    [Environment]::SetEnvironmentVariable ("INCLUDE", $env:INCLUDE, [System.EnvironmentVariableTarget]::User)

    Which is honeslty horrendous. Why the brackets ? Why the double columns ? Why the uppercases everywhere ? I get that it's trying to look more "OOP-ish" and look like C#, but nobody wants to work with that kind of shell script tbh. It's just one example, but all the powershell commands look like this, unless they have been aliased to trick you to think windows go more unixish

    • First, that expression is overly complicated, shorten to:

          [Environment]::SetEnvironmentVariable($name, $value, "User")
      

      You have un-necessarily used a full constant to falsely present it more complex. Please also note that you have COMPLETION. You are not forced to type that out. Second, you can use an alternative

          Set-Item HKCU:\Environment\MY_VAR "some value"
      

      Third, if you still find it too long, wrap it in a function:

          function setenv($name, $value) {
             [Environment]::SetEnvironmentVariable($name, $value, "User")
          }
      
          setenv MY_VAR "some value"
      
      

      Also, can you please tell the incantation for setting an env variable permanently in bash ? You cannot since it doesn't exist.

      Powershell's model is far superior to Bash. It is not even a contest.

    • No, they don't all look like that, the brackets are an indication you're reaching into .NET and calling .NET stuff instead of "native" PowerShell commands which take the form Verb-Noun. Which can be a legitimate thing to do, but isn't the first choice and seems like an example deliberately chosen to make PS look more awkward than it is. I question whether, for this particular example, `echo 'export MY_VAR="my_value"\n' >> ~/.bashrc && source ~/.bashrc` is really all that intuitive either (and hopefully you didn't accidentally write `>` instead of `>>` and nuke the rest of the file).

    • What feels good to use is very, very dependent on personal preference. I think Powershell is much more pleasant to use than bash. You obviously disagree, but bear in mind that not everyone shares your preferences.

  • It took a long time for Powershell to write files with the same encoding it reads them by default. Very confusing until then.

Yet the most popular platforms on the planet have people pointing a finger (or several) at a picture.

And the most popular media format on the planet is and will be (for the foreseeable future), video. Video is only limited by our capacity to produce enough of it at a decent quality, otherwise humanity is definitely not looking back fondly at BBSes and internet forums (and I say this as someone who loves forums).

GenAI will definitely need better UIs for the kind of universal adoption (think smartphone - 8/9 billion people).

  • > Video is only limited by our capacity to produce enough of it at a decent quality, otherwise humanity is definitely not looking back fondly at BBSes and internet forums

    Video is limited by playback speed. It is a time-dependent format. Efforts can be made to enable video to be viewable at a range of speeds, but they are always somewhat constrained. Controlling video playback to slow down and rewatch certain parts is just not as nice as dealing with the same thing in text (or static images), where it’s much easier to linger and closely inspect parts that you care more about or are struggling to understand. Likewise, it’s easier to skim text than video.

    This is why many people prefer transcripts, or articles, or books over videos.

    I seriously doubt that people would want to switch text-based forums to video if only video were easier to make. People enjoy writing for the way it inspires a different kind of communication and thought. People like text so much that they write in journals that nobody will ever see, just because it helps them organize their thoughts.

    • You (and I) live in entirely different world from that of regular people, who read at most 1 book per year and definitely do not write journals that nobody will ever see.

      You're talking about 10-20% of the population, at most.

  • WhatsApp is primarily a text-based chat interface and it has pretty much universal adoption in the countries where it's popular.