The Linux Thread - The Autist's OS of Choice

  • Want to keep track of this thread?
    Accounts can bookmark posts, watch threads for updates, and jump back to where you stopped reading.
    Create account
what does this return?

Code:
function getfile(){
    $location = New-Object System.Windows.Forms.OpenFileDialog
    $location.initialDirectory = $initialDirectory
    $location.filter = "CSV (*.csv)| *.csv"
    $location.ShowDialog()
    return $location.FileName
}

getfile
It returns "OK" or "Cancel" depending on what the user selects, followed by the file name. The reason for this is because a Powershell script is essentially just a sequence of commands the same as if you typed them in a terminal. If you'd typed
$location.ShowDialog() on the command line you would expect to see its return value on the command line. Putting it in a script doesn't change that.

Simple example: A string is a valid statement in Powershell. If I wrote "hello" on the command line, I'll just get "hello" back.
1763198801654.png

Now what happens if I have a script hello.ps1 which is just "hello" ? Well it's the same command giving the same output, that it's in a script doesn't change that. Run the script and get "hello". And if I have the following script:
Code:
"hello"
"hello"
"hello"

Then I get "hello" three times.
And intuitively, if I was assigning the string to a variable, it wouldn't wouldn't output anything.
1763198906289.png

Now what's going on with your example becomes clearer. ShowDialog() returns a value, just as "hello" would. You're not doing anything with it so it's included in the script's output just as if you were typing these lines one by one in the terminal. To suppress that, you merely capture the output. So you would either assign it to a variable (normal):
$result = $location.ShowDialog() or you can just discard it
$location.ShowDialog() | Out-Null.

The 'gotcha' is one of assumptions, really. You're presuming that nothing can escape from a function's scope unless explicitly done by a return statement (which is more akin to an exit() in Powershell). But that's not even true in Bash. If a Bash function had lines like echo "hello" in it, you wouldn't expect them not to be displayed because they weren't part of the return value. In Powershell, you don't need "echo". All statement's outputs are output if not captured.

Your original statement was that you can't return values from a Powershell function. That's incorrect. What you mean is that they return things automatically, unless results are directed elsewhere (e.g. into a variable, to Null, whatever). It's a gotcha when learning perhaps, but quickly understood. A Powershell script is the same whether in a single file or typed line by line on the terminal.

Anyway, I thought this was interesting enough to others that I'd answer. It's not meant as part of debate.
 
So I follow Lunduke and the thing that concerns me the most is this Rust push.
"Ubuntu is now shipping with Rust based replacements of core utilities (sudo, date, du, etc.). And the steady stream of bugs, missing functionality, and security vulnerabilities"

So here you have Rust, and it basically introduces more issues than it even solves- if it solves anything for these things. And yet these distros are pushing it recklessly for no reason. What the fuck is going on with Rust and why are they so desperate to force it on me?
As a general rule I follow: If a organization is willing to make their product worse to use this thing then I am certainly being subjected to something I'm unawares of to their benefit not mine.
 
So I follow Lunduke and the thing that concerns me the most is this Rust push.
"Ubuntu is now shipping with Rust based replacements of core utilities (sudo, date, du, etc.). And the steady stream of bugs, missing functionality, and security vulnerabilities"

So here you have Rust, and it basically introduces more issues than it even solves- if it solves anything for these things. And yet these distros are pushing it recklessly for no reason. What the fuck is going on with Rust and why are they so desperate to force it on me?
As a general rule I follow: If a organization is willing to make their product worse to use this thing then I am certainly being subjected to something I'm unawares of to their benefit not mine.
It's a long story but TL;DR Canonical didn't want GPLv3'd code in core parts of their OS offering and really did all this to get away from the GPL.

You should understand that people have been trying to replace the use of C/C++ for along time, for ex Java was seen as a clear evolution of C++ and C# even references being C++++. The reason for this was the complexity around memory use and pointers, and yes the kind of bugs you'd get from these things. It's extremely difficult to do a read-after-free in Java and buffer overflows are impossible -- it'd result in a runtime exception which don't even exist in C and are strongly discouraged in C++.

Problem is every solution had major drawbacks, usually they require a runtime and when even when they didn't the use of garbage collector usually introduces STOP THE WORLD pauses both of which makes the safer languages unacceptable for OS code or anything that requires tight performance. And afaik they always ran slower than compiled C/C++ which isn't good for core utilities.

Rust came from Mozilla which wanted to solve these issues for Firefox due to the sensitivity of FF as a runtime for all kinds of untrusted JS code, kind of a sidenote but Rust has really distinct advantages when writing something that exposes a JS interface, you can introduce libraries really easily that run as native code. There are two things you should know about Mozilla:
  1. They didn't delete and rewrite all their old C++ code, it's new stuff that's written in Rust
  2. Mozilla has been absolutely infested with hard left maniacs for a long time
So for really complicated, large codebases if it's all written in Rust you don't need to worry about an entire class of bugs and for new code in some circumstances it just makes sense to go this route.

Now imagine what #2 above does when introducing this concept. These guys all follow a different conference circuit than normal programmers, kind of a preaching to the choir type scenario. Over the past ~8 or 9 years especially you have seen hard left uniformity of thought become the default in most tech companies, but especially in anything open source related, and of course the rise of the percentage of autistic men pretending to be women in programming occurs along the same line. If you follow a dogmatic uniformity of thought and the gospel of Rust has been spread at every open source conference (increasingly hard left gathering) it's easy to see how many of the Rust people became so annoying.

Which is how we get to Canonical -- they went from being a billionaire's linux distro company intent on being sold to big companies in place of RHEL or SUSE to being rapidly colonized by the above. It's full of true believers to the one single opinion, including the gospel of Rust. At some point having GPLv3 licensed core utilities became a business issue for Canonical (remember this) so they fairly sensibly decided to just write their own with MIT licenses, like how hard can it really be to rewrite ls or du or tail.

Of course they didn't just rewrite them, they rewrote them in Rust as instructed in the gospel, and were loud and proud about this. Which if you recall above that the real reason is that the GPL is trouble for their business (almost aiming to make a GNU/Linux minus the whole GNU part), it's really more like upper management allowing their looney troon leftists go on and on about Rust as a smokescreen.

Fundamentally rewriting these utils isn't so dumb, doing it in Rust isn't really a bad idea, but the real trouble is they replaced these utilities in prod when their own acceptance tests were saying they weren't good to go. So now you get stupid obvious bugs and severe security issues in their code written in the one true language, praise be.
 
EDIT: Was writing this at the same time @Baraka Obama was writing. Interesting overlap.

So I follow Lunduke and the thing that concerns me the most is this Rust push.
"Ubuntu is now shipping with Rust based replacements of core utilities (sudo, date, du, etc.). And the steady stream of bugs, missing functionality, and security vulnerabilities"

So here you have Rust, and it basically introduces more issues than it even solves- if it solves anything for these things. And yet these distros are pushing it recklessly for no reason. What the fuck is going on with Rust and why are they so desperate to force it on me?
As a general rule I follow: If a organization is willing to make their product worse to use this thing then I am certainly being subjected to something I'm unawares of to their benefit not mine.
This got me curious enough to check out the Rust coreutils repo. I noticed their test coverage for each of the coreutils on there as well:

So okay, they have passed all four of their tests for the cat command. (Struggling a little more with sort). I don't really get the point of this. They say one of their goals is to improve performance where possible but they think they'll do that by porting code from C? From C ???!

In any case, I maintain that in most scenarios any of these tools are going to be bottlenecked by file system operations. Does anybody in their right mind think that when using stat to get the the information on a file, the processing is taking up more than a small faction of the time disk access is? Or cp? Maybe sort or uniq possibly have a modest gain to be had by improving the processing element of the operation, but I just say again, you think you're going to improve on C of all languages?

And for the safety angle... this is the actual coreutils repository:

On their issue tracker they have three open issues. When was the last time you saw a project of significance with only three open issues? And one of them is "allow building without wget". :story:

Coreutils has to be one of the most mature code bases in the world. Yet Canonical want to swap it out for Rust re-implementations. By what rationale? The entire Rust movement seems to be a horde of people chanting "memory safe" in response to any question. And it appears to me to be advancing largely on the basis of PR and a cult-like behaviour. You know, it's probably not for nothing that their package manager is called Cargo! Their library maintainer (who looks trans to me) has the bio of "polyamorous lesbian she/her" (which sounds trans to me, too) and stated the goal of "make open source more gay", iirc.

What the fuck happened to meritocracy?
 
The point is subversion it is long march through institutions but in software form. However software unlike most institutions is usefull and as such it will fail. I am sure that in 10 years from now no one will remember about this project as it will end up exactly like every single other rewrite of anything in other language ie dead.
Oh they'll remember it alright. They'll be asking "why is the kernel space 2/3rds in C and 1/3rd in Rust and four times as hard to maintain as it should be?"
 
Can I sperg about shit that's neither Windows nor Linux related? No? Then I'll sperg about it.

I have a thing for doing little ricing and customization of shit, and that includes fonts. Most importantly terminal emulator fonts so that it looks nice and shit. There are NerdFonts that add various extra glyphs to existing fonts and are usually offered with a selection of pre-modified ones that are popular with terminals. Source Code Pro is pretty good, but there's also other good picks like Hack. When looking up what other fonts people liked, someone on Plebbit mentioned JuliaMono which looks like the best option out of all, and it also comes with way more glyphs than NerdFonts if you're into that.

There are also the retro fonts. While NerdFonts offers the BigBlue Terminal font which replicates the old cmd.exe font, there's also an entire set of retro fonts from the same guy, including the IBM VGA fonts that are a perfect fit if you want to replicate the way your default Linux kernel/command line looks like. He also made the Flexi IBM VGA font which is meant to be a smoother version of the classic font, but I don't really like it even when it's at it's original size, and the classic one is too small at the size where it looks right. That, and if you use your terminal for editing more than ASCII/ANSI, like for Vim, then you'll probably want something that's fully Unicode capable.
 
The point is subversion it is long march through institutions but in software form. However software unlike most institutions is usefull and as such it will fail. I am sure that in 10 years from now no one will remember about this project as it will end up exactly like every single other rewrite of anything in other language ie dead.
Probably the opposite. They'll stick with it until people stop complaining, slowly the quirks and differences become expected, maybe even the default. GPLv3 code places certain restrictions on usage, I'd assume these rewrites prove useful to the business aims of other big tech linux distros, which are the base of most other distros.

Why not just swap in busybox or bsd utils? IDK enough to say.
 
Probably the opposite. They'll stick with it until people stop complaining, slowly the quirks and differences become expected, maybe even the default. GPLv3 code places certain restrictions on usage, I'd assume these rewrites prove useful to the business aims of other big tech linux distros, which are the base of most other distros.

Why not just swap in busybox or bsd utils? IDK enough to say.
One of the neat thing about GNU and the utilities it created is that they really don’t care that much about how other people think their programs should work. They’re happy to support traditional Unix usage or POSIX usage, but they also provide their own extensions on anything they think might be useful. If you’ve ever used a command with “—help” instead of “-h”, congratulations you’ve used a GNU extension. Most non-GNU utilities only try to match POSIX or traditional Unix utilities, perhaps adding extensions of their own, but not matching what GNU’s added.

Uutils, the Rust utilities project which is not actually run by Canonical afaik, by contrast is trying to match GNU for all features, eventually becoming a drop in replacement. Obviously, they’re not there yet, but their plan makes them more attractive to distro maintainers compared to stuff like Busybox.
 
Can I sperg about shit that's neither Windows nor Linux related? No? Then I'll sperg about it.

I have a thing for doing little ricing and customization of shit, and that includes fonts. Most importantly terminal emulator fonts so that it looks nice and shit. There are NerdFonts that add various extra glyphs to existing fonts and are usually offered with a selection of pre-modified ones that are popular with terminals. Source Code Pro is pretty good, but there's also other good picks like Hack. When looking up what other fonts people liked, someone on Plebbit mentioned JuliaMono which looks like the best option out of all, and it also comes with way more glyphs than NerdFonts if you're into that.

There are also the retro fonts. While NerdFonts offers the BigBlue Terminal font which replicates the old cmd.exe font, there's also an entire set of retro fonts from the same guy, including the IBM VGA fonts that are a perfect fit if you want to replicate the way your default Linux kernel/command line looks like. He also made the Flexi IBM VGA font which is meant to be a smoother version of the classic font, but I don't really like it even when it's at it's original size, and the classic one is too small at the size where it looks right. That, and if you use your terminal for editing more than ASCII/ANSI, like for Vim, then you'll probably want something that's fully Unicode capable.
I usually pick nerd fonts, that have ligatures as well. There are a few that look pretty decent in my opinion. JetBrainsMono is one I go with pretty often.

Probably the opposite. They'll stick with it until people stop complaining, slowly the quirks and differences become expected, maybe even the default. GPLv3 code places certain restrictions on usage, I'd assume these rewrites prove useful to the business aims of other big tech linux distros, which are the base of most other distros.

Why not just swap in busybox or bsd utils? IDK enough to say.
The difference between busybox, or the bsd utils, and the uutils, is those don't use the gnu extensions. The uutils are trying to completely copy the gnu coretutils in functionality. There are almost certainly things they are relying on that only work with the gnu extensions.

I know that's why I tend to stick with the gnu coreutils over others. When I'm stuck without them, I run into small differences all the time that don't allow me to do things the way I normally would.


That would be my guess. I imagine even if they themselves are using any of the functionality provided by the gne extensions to the coretutils, their customers probably are.

Linux mint no longer boots on my PC. Fml time to get a Mac or some thing.
what happens? is it a dual boot or something?
 
I don't really get the point of this. They say one of their goals is to improve performance where possible but they think they'll do that by porting code from C? From C ???!
Yes, it is possible to get a performance upgrade in many basic utilities by rewriting them in the modern age. The old utilities were written to avoid using large amounts of memory (which was not in great abundance) and to avoid disk reads/writes at all costs. Much faster utilities are possible without holding yourself to these constraints.

They do the rewrite in Rust because that's their modern niggercattle language of choice. I don't see anyone sensible alleging that it's the porting from C as a language specifically that's going to prduce a performance boost.

Of course, the Rust utilities they produce take about a hundred times more disk space, but again, going from a 50 kB executable to a 5 MB one isn't going to be of concern to many users today.
 
It boots into busyshell.
Is it alone on the disk? Are there any other details? can you check what any of the error messages were? was there a recent update? what were the things you did on the last boot before this happened?

It's probably pretty easily fixable. Although I've never seen anyone with a linux mint system that suddenly didn't boot, in my recollection.
 
Mint Xfce was underwhelming for me as a Linux newfag. Probably because the UI design is kind of outdated to me. Cinnamon provided a much smoother experience than Xfce.

Cinnamon has a ton of niceties that both Xfce and MATE lack. Honestly? I probably would go for Mint Cinnamon if I could redo my entire Mint installation from last year. Having said that, Mint MATE is *comfortable* my guy.

Mint MATE looks and functions identically to all versions of Linux Mint that existed before GNOME 3 came out. It feels and functions exactly like Mint did when I was an autistic high school sophomore fiddling with Linux distros on a shitty 32-bit PC tower 10+ years ago. The MATE mintMenu (ie their start menu) feels that little bit more comprehensive and flexible than the Cinnamon start menu.

Where it lacks is that some niceties required hackish workarounds (ie night light), but that’s a pretty small gripe in the scheme of things.
 
Mint Xfce was underwhelming for me as a Linux newfag. Probably because the UI design is kind of outdated to me. Cinnamon provided a much smoother experience than Xfce.
You can make xfce look as nice as you want, or if people don't care they can leave it as is. But you aren't stuck with it looking like it does out of the box.

You don't need to even be competent with ricing to make it look completely different. Pretty much all of it is doable through the gui settings tools they provide.
 
Can I sperg about shit that's neither Windows nor Linux related? No? Then I'll sperg about it.

I have a thing for doing little ricing and customization of shit, and that includes fonts. Most importantly terminal emulator fonts so that it looks nice and shit. There are NerdFonts that add various extra glyphs to existing fonts and are usually offered with a selection of pre-modified ones that are popular with terminals. Source Code Pro is pretty good, but there's also other good picks like Hack. When looking up what other fonts people liked, someone on Plebbit mentioned JuliaMono which looks like the best option out of all, and it also comes with way more glyphs than NerdFonts if you're into that.

There are also the retro fonts. While NerdFonts offers the BigBlue Terminal font which replicates the old cmd.exe font, there's also an entire set of retro fonts from the same guy, including the IBM VGA fonts that are a perfect fit if you want to replicate the way your default Linux kernel/command line looks like. He also made the Flexi IBM VGA font which is meant to be a smoother version of the classic font, but I don't really like it even when it's at it's original size, and the classic one is too small at the size where it looks right. That, and if you use your terminal for editing more than ASCII/ANSI, like for Vim, then you'll probably want something that's fully Unicode capable.
This one is pretty nice.
 
While in reality it takes more fucking around with Proton juggling under Linux than it does with dropping wrapper DLL's under Windows.
Late but this is obvious bullshit and I feel you are nothing but a baiter.
I haven't tinkered with shit with Proton and my entire Steam library works out of the box. Outside of Steam, my classic library of games runs flawlessly. For anything else, Wine handles fine with many easy to use frontend tools for it to make installing software easier.
You're just a stupid retarded nigger.
 
Back
Top Bottom