<div dir="ltr"><div>There's also Elvish that does some similar sorts of structured data handling: <a href="https://elv.sh/">https://elv.sh/</a></div><div><br></div><div>Also nutshell: <a href="https://github.com/nushell/nushell">https://github.com/nushell/nushell</a></div><div><br></div><div>I haven't used any of them, powershell does seem compelling.</div><div><br></div><div>There is also some tool I ran into within the last 6 months, I can't at all remember the name, but it provided all sorts of /proc-like things as structured data. I remember being impressed by it, for whatever it's worth since I can't seem to find it, even after extensive searching.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 11, 2022 at 7:49 PM Bob Proulx <<a href="mailto:bob@proulx.com">bob@proulx.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> What: Tuesday January 11th, 2021 NCLUG Meeting<br>
<br>
We had a very small group. There were five of us at the start and<br>
then six when a later member joined us. So mostly we just had a round<br>
table discussion. Which was not capturable. But then Brother<br>
printers were mentioned and I grabbed the topic to talk about my<br>
latest "rage against the machine" printer driver problem.<br>
<br>
A person I am helping has a Brother HL3040CN printer. Brother<br>
supports this with a printer driver for 32-bit Ubuntu 16.04 only.<br>
There is exactly one executable though and I don't see where it is<br>
ever called. So other people have reported success by force<br>
installing it on newer 64-bit systems. I am resisting doing that. I<br>
might post more about this but discussing the problem just motivated<br>
me to think I will create a 32-bit Ubuntu 16.04 chroot and install it<br>
there to see what it does.<br>
<br>
Then there was a discussion of "rm -rf" problems. People repeatedly<br>
have issues with removing too much.<br>
<br>
Anyway... After a pretty fun random discussion of various things.<br>
Brian Sturgill gave a good talk about PowerShell. Yes PowerShell. It<br>
turns out that PowerShell is now released under a free software<br>
license. You get full source. You can compile it for your system<br>
from source. Wow.<br>
<br>
Brian first started talking about soft points of traditional Unix<br>
shells. Everything is a string. No built in date handling for<br>
example. Debugging of shell scripts can be an issue. (I pointed out<br>
that there is a bash debugger available. I don't use it myself but it<br>
looked interesting.) And then mentioned Python doesn't solve these<br>
problems completely either. Complained about the poor state of Python<br>
on Windows.<br>
<br>
Brian likes many things about PowerShell. It has really good command<br>
line documentation. In the PowerShell REPL it has dropdowns and<br>
completion. TAB completion. Lots of nice features. PowerShell has a<br>
rich library of built in string manipulation actions.<br>
<br>
On Ubuntu/Mint/other install powershell as a snap package using the<br>
--classic option so that it has full file system permissions. The new<br>
default is a read-only file system. But for a programmable shell the<br>
entire purpose is to do things.<br>
<br>
Recommends it for cross platform operation between Windows and other<br>
environments. Because PowerShell works not only on Windows but also<br>
is Free Software and available on BSD/GNU/Linux systems.<br>
<br>
In PowerShell many operations are builtins that return builtin first<br>
class objects. For example in the shell one should never use ls<br>
programmatically to list directories but in PowerShell ls is a builtin<br>
that returns a first class internal object. Which means that<br>
whitespace and metacharacters in file names are never a problem in<br>
PowerShell.<br>
<br>
Brians interpretation of the Unix command line is that it was written<br>
for the user. Technical users certainly but still for the user.<br>
Whereas PowerShell was written for the developer. Therefore it has<br>
very good C interoperability. Shows some interactions between<br>
PowerShell and to kernel system calls. There are wrappers for GTK for<br>
graphics programs. "And then things get a little weird." Demo of<br>
event driven callbacks for GTK button actions and such.<br>
<br>
The point was that PowerShell generically interacted with C / C#<br>
libraries allowing it to do, for example a graphical program even<br>
though PowerShell itself didn't know anything about GTK graphics.<br>
It's completely generic and dynamic.<br>
<br>
There were also other shells discussed. Brian liked this site as an<br>
additional reference to good stuff too.<br>
<br>
<a href="http://www.oilshell.org/" rel="noreferrer" target="_blank">http://www.oilshell.org/</a><br>
<br>
Good meetup!<br>
<br>
Due to the high rate of COVID19 in the county we decided not to do our<br>
traditional after meeting dinner at a local restaurant. We will check<br>
again next month.<br>
</blockquote></div>