I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called "Linux", and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called "Linux" distributions are really distributions of GNU/Linux.
[Also while I'm here, I may as well deploy the new version of FediBBS to the bugout zone. You can, regardless of where your account is, do `ssh bbs@fsebugoutzone.org`, because it is just a normal hosted client like bloatfe or whatever. But probabbly you should just download and run it yourself. Here is the source code. cc @graf , It can actually be deployed now.] fedibbs-2025-12-29_2232.tgz
One of the best things the GNU project did was not make systemd.
Whatever operating system you are running bears, I suspect, no resemblance to anything I'm doing.
> So, Linux is an OS in itself.
Linux is a kernel. The extent to which you are willing to consider a kernel an operating system or to use the name of the kernel metonymically for the operating system is your prerogative. The map is not the territory; I don't have anything to say about your personal map, except that I hope you made a useful one.
> Yes, it does use the work of the GNU team, but it's much bigger than GNU.
The extent to which GNU software is important to the Linux ecosystem is beyond the scope of automated copypasta that accompanies the client software; as far as I know, nothing new has been said on the topic since the 1990s.
rms is insistent about naming. That's the joke. That's it.
The actual content of the post is the "ssh bbs@fsebugoutzone.org" part, a message to graf, and the source tarball. I'd rather discuss the software than argue about who gets to define what.
@p @graf@poa.st it's not quite true, for quite a long time. For example, Systemd is not made by the GNU team. There's a ton of other examples. GNOME, for example, is no longer a part of GNU since 2019. KDE was never a GNU project.
So, Linux is an OS in itself. Yes, it does use the work of the GNU team, but it's much bigger than GNU.
@p@bonkers the idea behind the copypasta is interesting. it's true that specific notation has meaningful impact on how we perceive reality (this is explored in marketing copy handbooks, and was noticed by others e.g. Orwell in Politics and the English Language). I think it's important to pay attention to it and to resist being "programmed". but i am at a loss for how to do it, i don't think the interjection copypasta is a good example.
> i don't think the interjection copypasta is a good example.
It is delicious copypasta and you must eat.
Anyway, like, per the readme, it's like, this software is aggressively AGPLv3. And I thought it'd be funny to allow it to post its own source code; that was actually the first feature I put into that client after "log in". And of course, the :gnu_interjection: was the obvious choice: to comply with the AGPLv3, you type "interject".
@fluffy@p@bonkers So far almost every mention of GNU makes me resent them even more. At this point it's a negative feedback loop like I have with advertising. The more I see something advertised, the likelihood of me buying it reduces.
@phnt@bonkers@p i met a guy like that last week on fedi. it was a first for me, most gnu guys are usually pretty sharp (i run an emacs community elsewhere).
@bonkers It's one thing if you miss the point; it's another entirely if you miss the point and then I explain the point to you and you miss the point *harder*. I am sorry. I do not know how to help you. The :gnu_interjection: copypasta is a joke about people that argue about the shit you are trying to argue with me about. I do not care what you call an operating system. I said that directly.
I do not know what happened to your ability to detect jokes or enjoy jokes. I sometimes fail to detect jokes. I have the 'tism and I do a lot of sleepy-posting or drunk-posting or whatever. But I usually do not write what you just wrote *after* being told it was a joke.
And also I would like to say that it's astonishing if you are on "nerd culture dot de" and you still do not understand this facet of nerd culture and you are impervious to knowledge (which is antithetical to the nerd). The only nerd I ever saw over there on that instance was Kragen Javier Sitaker, and he is one of the nerdiest motherfuckers on earth, and the rest of the people I've talked to appear to be nerd-appropriators. FSE is a nerdier instance than most of the self-consciously nerdy places. FSE has finger(1) access. FSE has gopher:// access. FSE has Plan 9 support. FSE has ssh access due to that tarball at the top and it is the only client I have ever seen that has the ability to post its own source code and the only text-based client that I have seen that has the ability to do attachments and it's a goddamn achievement of science and hacking and brilliance and if I have chosen to integrate a shitpost about open-source software then please enjoy my goddamn interjections over and over again.
@p@fluffy@bonkers I poke around every few months in their code out of necessity. And the ratio of comments to code feels like an LLM wrote it at times.
@bonkers You started with no idea what was going on and argued with a copypasta; I explained "this is copypasta" and you continued. I do not know how to help you.
@bonkers I think if you knew what room you'd walked into, you'd not have tried to argue with copypasta or got pissy when I explained that you were arguing with copypasta. You are welcome for the free software and the exposition and the exclusive fediverse memes.
A quotation circulates on the Internet, attributed to me, but it wasn't written by me.
Here's the text that is circulating. Most of it was copied from statements I have made, but the part italicized here is not from me. It makes points that are mistaken or confused.
> I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux,” and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use.
> Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux.
The main error is that Linux is not strictly speaking part of the GNU system—whose kernel is GNU Hurd. The version with Linux, we call “GNU/Linux.” It is OK to call it “GNU” when you want to be really short, but it is better to call it “GNU/Linux” so as to give Torvalds some credit.
We don't use the term “corelibs,” and I am not sure what that would mean, but GNU is much more than the specific packages we developed for it. I set out in 1983 to develop an operating system, calling it GNU, and that job required developing whichever important packages we could not find elsewhere.
@bonkers@p systemd is not a GNU package, but it heavily relies on GNU packages to work.
GNOME heavily relies on GNU packages to work.
KDE was originally proprietary software - as Qt was proprietary - it was only thanks to GNU originally developing a free replacement to Qt (Harmony) and also business discussions done by GNU and the FSF that Qt changed to an annoying free license and then finally a proper free license (GPLv2-only OR GPLv3-only OR LGPLv3-only (with Qt having made arrangements to make it possible to upgrade to GPLv4 as needed)).
Linux was never an OS and it will never be - it's a kernel useless by itself.
GNOME and KDE don't really care about what kernel you use.
Linux is smaller in kernels alone than GNU (which has multiple kernels) and GNU is a far larger project.
You can't even compile Linux without GNU packages and GNU code; ====================== =============== ======================================== GNU C 5.1 gcc --version Clang/LLVM (optional) 13.0.1 clang --version Rust (optional) 1.78.0 rustc --version bindgen (optional) 0.65.1 bindgen --version GNU make 4.0 make --version GNU bash 4.2 bash --version GNU binutils 2.25 ld -v flex 2.5.35 flex --version GNU bison 2.0 bison --version pahole 1.16 pahole --version util-linux 2.10o mount --version kmod 13 depmod -V e2fsprogs 1.41.4 e2fsck -V jfsutils 1.1.3 fsck.jfs -V reiserfsprogs 3.6.3 reiserfsck -V xfsprogs 2.6.0 xfs_db -V squashfs-tools 4.0 mksquashfs -version btrfs-progs 0.18 btrfs --version pcmciautils 004 pccardctl -V quota-tools 3.09 quota -V PPP 2.4.0 pppd --version nfs-utils 1.0.5 showmount --version procps 3.2.0 ps --version udev 081 udevd --version GNU grub 0.93 grub --version || grub-install --version mcelog 0.6 mcelog --version iptables 1.4.2 iptables -V openssl & libcrypto 1.0.0 openssl version GNU bc 1.06.95 bc --version Sphinx\ [#f1]_ 2.4.4 sphinx-build --version GNU cpio any cpio --version GNU tar 1.28 tar --version gtags (optional) 6.6.5 gtags --version mkimage (optional) 2017.01 mkimage --version Python (optional) 3.5.x python3 --version GNU AWK (optional) 5.1.0 gawk --version ====================== =============== ========================================
@nigger@p@bonkers GCC is not optional if you want to compile all of Linux - LLVM/clang still doesn't even support all of the fine GNU extensions (some of which are used by Linux).
LLVM doesn't even support many of the architectures that GCC supports and therefore Linux supports.
Also, why (would you leave) rms's holy Earth just to get a binary of Linux that is optimized worse?
@nigger@p@bonkers God didn't promise him anything - he wears a badge that says "impeach god" for a reason.
He had to develop and arrange the free OS himself, while Linus has come along and has stated that god promised him an OS named Linux 3000 years ago, despite only never writing a kernel, a software revision manager (and encouraging people to run proprietary revision management software and seeing them all get burned) and some tools.
@gnu2@phnt GIMP3 originally had the regression where it hard depped on proprietary software, but that's now fixed, along with many other bugs and there's only a few more to go.
@p@fluffy@bonkers >He hasn't even read the license, or has read it without reading it. "If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program."
@Suiseiseki@bonkers@p@phnt are you calling me a liar? how rude and conceited. it's all public, anyone can check. you have delusions of grandeur and become confused from primitive chains of conversation: these are characteristics of people with early onset alzheimers and dementia. whatever it is, i don't want to be involved with your weird behavior.
i have already replied to you previously, saying it was a nasty experience talking to you, i am not changing my mind here. i don't want to talk to you anymore, so get out.
@Suiseiseki@bonkers@p@phnt >I was here first you deliberately replied to my post, in which you were not tagged, in a thread that was started by @p, in which way are you "here first"?
>i did not write that you lied and i never asserted that you did.
>a lot of venom it was my intention to get you to leave. but, apparently, even if i am overtly hostile you will still pester me, how absolutely annoying.
you know, when previously someone told me to just mute you because you were a "retard" and that talking to you is only time meaningfully spent if it is spent on mockery, i did not do so, thinking it was hyperbole. i am beginning to regret that.
@Suiseiseki@bonkers@fluffy I have not selected a proxy. I do not need to. If the license is released and I like it, then I will use it after I've figured that out.
The FSF, after the coup, went around censoring historical articles without noting the censorship or altering the attribution. That is, without warning, their pages suddenly began to contain lies.
104 - No 105 106 See doc/LICENSE for the license. (It's just AGPLv3.) AGPLv3 compliance is easy, 107 because the source is embedded in the binary. Owing to a build system hack, 108 it is very easy to comply with the terms of the AGPLv3. (Breaking that hack is 109 considered hostile.) 110 111 I write code: any attempt to make me care about licensing or copyright 112 assignment beyond this paragraph will be understood as an act of aggression. programming_motherfucker_red.png
@Suiseiseki@p@bonkers clang is fundamentally better, it not being coupled in a monolithic compiler over jewish politics allows it to be used for LSPs, and for LLVM to be used by other compilers, enabling rustc. and from rustc a bunch of bugs were found in the C no-aliasing optimisations that evidently weren't being used, meaning clang for C is better as a result. that whole ecosystem is better long-term.
regarding performance, it's not simple to compare optimisers, and doing benchmarking with optimisation on one of my projects, there's a 5% difference, oh no I'd better throw out my open toolchain to save a few nanoseconds, from the same person opposed to rust rewrites of coreutils despite ripgrep getting a much more dramatic speed from parallelism, such hypocrisy. but even if clang were slower than the current version of gcc, gcc would be far worse in every way if clang didn't exist, so gniggers evidently need the competition and ideas to copy to make anything decent, so even if you use GCC you should still want people to use clang.
@p@fluffy@bonkers >The FSF, after the coup, went around censoring historical articles without noting the censorship or altering the attribution. That is, without warning, their pages suddenly began to contain lies. Which pages?
@nigger@p@bonkers >clang is fundamentally better It's fundamentally worse - despite requiring exponentially more CPU cycles and RAM, it optimizes GNU C worse than GCC.
>LLVM to be used by other compilers, enabling rustc. LLVM allowing for rustc is a bad thing, not a good thing.
>from rustc a bunch of bugs were found in the C no-aliasing optimisations that evidently weren't being used, meaning clang for C is better as a result. It still doesn't optimize the GNU C as good as GCC.
>regarding performance, it's not simple to compare optimisers Even if GCC optimized worse, how it uses a reasonable amount of resources is reason enough to use it over clang.
>despite ripgrep getting a much more dramatic speed from parallelism I haven't needed GNU grep to run any faster personally.
>there's a 5% difference, oh no I'd better throw out my open toolchain to save a few nanosecond Yes, throw out the open toolchain, put back the real free one.
>so even if you use GCC you should still want people to use clang. Why would I want people to use an inferior compiler that is proprietary software for many of its users?
--- /tmp/a 2021-11-29 03:43:34.697940729 -0800 +++ /tmp/b 2021-11-29 03:43:40.521274169 -0800 @@ -18,9 +18,9 @@ willing to pay a living wage for computer espionage. Fell into system administration; occasionally approaches major competitors with indesp schemes. - 4.The IDIOT. Usually a cretin, morpohodite, or old COBOL programmer + 4.The IDIOT. Usually a cretin, or old COBOL programmer selected to be the - system administrator by a committee of cretins, morphodites, and + system administrator by a committee of cretins, and old COBOL programmers.
@p@fluffy@bonkers I don't get why you wouldn't just delete a poor-quality joke (jokes are meant to be funny) instead of removing a word most people won't even recognize.
The joke is mostly the same, so it doesn't make sense to change the attribution, but it's sad there isn't details of the change.
> when an existing high quality backend exists, why make a new one?
Go back in time and tell that to yourself about "ripgrep" and the massive coreutils rewrite.
rustc takes a goddamn year to run and it requires swap space to compile "Hello, World!" on machines that could otherwise be running about 128 Plan 9 VMs, each of which is doing a cross-compile of the system. rustc manages to make cross-compiling suck *worse* than goddamn gcc does and it *really* fucking sucks to cross-compile with gcc. For the trouble of running this complete piece of shit toolchain, you get the privilege of slower executables and *Rust*. From the company that brought you JavaScript and IDL. A language whose advocates all feel very unsafe and don't realize that the problem Rust attempts to solve has already been solved fifty years ago in the 1970s. A language whose year-zero :trans_comm: fanbase is obsessed with decolonizing Unix. "Can't you just fuck off and make your own?" "BUT THEN NO ONE WOULD USE IT. WE HAVE TO KILL THE SHIT THAT HAS BEEN FINE FOR 30 YEARS."
Everyone that likes Rust is either a glowie or a furry. Which are you?
@p@nigger@bonkers >Go back in time and tell that to yourself about "ripgrep" and the massive coreutils rewrite. I would tell myself actual useful information first.
>rustc takes a goddamn year to run and it requires swap space to compile "Hello, World!" I know.
>otherwise be running about 128 Plan 9 VMs You don't need to swap out proprietary degeneracy for slightly less proprietary degeneracy - proper GNU installs left unfettered without VMs for me.
>fanbase is obsessed with decolonizing Unix. GNU already decolonized Unix - as GNU's Not Unix.
The rust fanbase is obsessed with colonizing GNU with endless proprietary programs.
> The joke is mostly the same, so it doesn't make sense to change the attribution
It introduced a punctuation error and removed the flow (lists ought to have three things). Regardless, if you alter what someone wrote, it doesn't matter: you write that you did it, because details that seem unimportant to you to change may be important upstream or downstream of you, and because you are presumably not ashamed or deceitful.
@nigger@p@bonkers GNU grep is portable and fast enough. If for some reason you wanted to make it parallel, use GNU parallel.
rustc compiles significantly slower than g++ somehow.
>a standard build system including dependency management. A yes, the 999999 rust crates full of vulnerabilities is a good thing.
>ada was released in 1980 GNU ada is memory safe and it's in gcc and therefore it can support every CPU architecture GCC does.
>you can just not use the rust software. The rust pushers are doing their absolute best to not give you the choice to not use rust - and have succeeded so far for many programs.
@p@Suiseiseki@bonkers the difference between llvm and gnu grep is that one is modern and multithreaded, the other is ancient and singlethreaded, for a trivially parallel task.
rustc isn't slower than g++, neither is the binary either. compared to C sure, I actually like both C and rust, they both have their place.
yes, you get rust, a very nice language with excellent language features, a standard build system including dependency management.
I haven't had to cross compile yet but it looks like a few shell commands and setting a flag in .cargo, which is how rust usually goes. https://github.com/japaric/rust-cross
what problems were solved in the 1970s? ada was released in 1980, but ada still lacks every other reason to use rust, like functional programming, the type system (of which memory safety is merely a subset of), the build system and macros.
the good thing about unix is it's not one framework despite the best efforts of GNU/jews, but a wild west of software, you can just not use the rust software.
I am a curious person and a free spirit, that is why I like rust.
@p@nigger@bonkers All GPL versions can be revoked in you don't follow the terms - GPLv2 automatically terminates on violation even.
The license on that old version cannot be revoked provided you follow the terms (oh wait, it usually already has been automatically is revoked if you've ever distributed a lot of GPLv2-only software, as what do you think the proprietary software inserted into Linux for example is for? It wouldn't surprise me if proprietary derivative works were included in plan 9).
In the case that the copyright holder(s) hold all relevant GPLv2-only copyrights, they can choose to release a later version under different license that isn't GPLv2-only.
@nigger@p@bonkers It's weird to be fixated on fractions of a second of compile time, but rust has exponentially longer compile times.
Rust's type system does not catch logic bugs (the most common kind of bugs), it rather enforces implementing logic bugs, as it seems that's the only way to appease the "borrow checker" master sometimes.
@p@Suiseiseki@bonkers compile time is also a really weird fixation since you'll lose a hundredfold more time tracing a bug that rust's type system would catch, than the difference in time from rustc
@p@bonkers@nigger Linux's licensing choice despite being proprietary software all makes sense now.
If it ever takes place that a minor copyright holder of Linux, that has modified Linux, is managing to successfully enforce the GPLv2 and one of their corporate buddies have to choose between ceasing to distribute Linux and complying with the GPLv2's terms by releasing truly useful for freedom source code of their derivative works - that license is getting terminated.
I have removed from here a really insulting paragraph, not due to any moral consideration or concern for social smoothing, but because I did not want to obscure my point with invective, because I am constantly infuriated that nobody understands the history of this discipline and this discipline has such a short goddamn history that there's no fucking excuse: if we're talking about the history, let's talk about the history.
You know what's fucking ancient? Pi. Fire. The goddamn pyramids. In no discipline, art or science or engineering, does time mean anything.
Write an interrupt handler.
> rustc isn't slower than g++
It absolutely goddamn is. I can execute one of these programs on small systems and I cannot do that for the other without the goddamn thing eating swap while tying up every core. It stands to reason that one of them eats way more fucking resources.
While I'm on the goddamn topic of "modernization", if you're going to *really* parallelize, you parallelize without relying on living in the same memory space because this allows you to parallelize across machines; you cannot add rustc support to distcc because Rust's idea of "parallel" is frozen at goddamn pthreads. It's fucking retarded: Rust's entire model is "better C++" and C++ was never a good idea. Message-passing, not fucking shared-memory, the network has been the computer since the 1990s, Rust has not caught the memo yet: CSP gives you cleaner designs and faster computations. Tony goddamn Hoare. :tonyhoare: We're here talking on this goddamn network that uses message-passing, Roy goddamn Fielding, and on top of HTTP we have built another message-passing protocol, ActivityPub, and inside the applications, Elixir or Ruby or Go or whichever, they communicate with a database system by means of message-passing and then the client applications use message-passing. Your machine's architecture is all goddamn specialized I/O subsystems and they all communicate by doing their work and then passing a message. Communicating Sequential Processes: nobody's come up with anything better yet and we probably won't. Do you need the PDF?
Every fucking use of grep is I/O-bound and parallelizing it only matters for extremely constrained benchmarks.
> yes, you get rust, a very nice language with excellent language features, a standard build system including dependency management.
for i in `seq 50`; do echo -n :manhattan3:; done > /dev/your-mouth
It's a shit language. If the shit language fits your constraints, it's sometimes tolerable, you know, you wanna hack on a weird architecture and you've gotta just find the most tolerable of your options. As things stand, a coreutils that was rewritten in rust would take longer to build than the rest of the entire goddamn OS. My shitty RISC-V system, which has one core and 1GB of RAM and runs really fuckin' snappy, has an entire suite of Unix tools because it doesn't need to wait for rustc or LLVM to get around to properly supporting the CPU: gcc already goddamn does and LLVM doesn't because Apple doesn't care about RISC-V and Apple runs the goddamn project.
> I haven't had to cross compile yet but it looks like
You try it and get back to me.
> what problems were solved in the 1970s?
"CSP was first described by Tony Hoare in a 1978 article, and has since evolved substantially. CSP has been practically applied in industry as a tool for specifying and verifying the concurrent aspects of a variety of different systems". Pascal had memory-safety. Anything Rust does that is touted as "modern" is old as shit: 50 years is forever in computer science.
> ada was released in 1980
ALGOL-60 was 1960.
> like functional programming
Functional programming is a style, not a language. You write stateless pipelines with higher-order functions in anything. In very direct terms, Unix itself is a massive FP system.
> the type system
The ML programming language, which introduced Hindley–Milner, type-inference, type/memory-safety, etc., was 1973. Haskell and OCaml are to Standard ML what Racket is to Scheme.
> the build system
The build system is a regression. We had partial compilation and fast compilers and Rust can do neither of these.
> macros
You can't be serious.
> GNU/jews
Eat fifty dicks, man. You know who's *not* Jewish? Bill Gates, Steve Jobs, Tim Cook, Satya Nadella. I'd take goddamn :rms: over any of those psychopaths. You wanna early-life Rust's team? I used to share a machine with Yehuda Katz. He's an idiot. And I don't particularly care about the language/stdlib designers' ethnicities, but if you're gonna repeatedly bring it up, you may as well try to be consistent and not undercut yourself.
> you can just not use the rust software.
I don't. But if there's a conversation about whether or not it's good, I have thoughts. Now, the Rust :trans_comm: dogfuckers want to eliminate C for the same reason they want to smash the patriarchy, and it's the same reason Mao dug up a corpse to denounce it. write_an_interrupt_routine.webm
> All GPL versions can be revoked in you don't follow the terms
In individual cases; the FSF has been clear that software, once offered under the GPL, cannot be retracted. This is, in fact, in the text of the license nowadays:
> All rights granted under this License are granted for the term of > copyright on the Program, and are irrevocable provided the stated > conditions are met.
@Suiseiseki@p@bonkers gnu parallel goes into grep to make it properly search through a tree in parallel? that's cool, I wonder how it does that to grep's binary.
lol, you think making dependencies painful to use is security, as expected. copying a single-header library you'll never know to update when it's got a vulnerability is also less secure.
rust supports every architecture LLVM does, which is all the important ones. it then has a dozen reasons to be used over ada.
@nigger@p@bonkers >making dependencies painful to use is security, as expected. Dynamic link dependencies are easy to handle with a good package manager like portage.
If you can trivially compile and install the library with the bug, rather than having to recompile every single program that uses that library, security is much better.
>rust supports every architecture LLVM does It doesn't - nothing outside of the core 3 architectures even work and p pointed out how RISC-V does not work - even though that's listed as a supported architecture.
@p@Suiseiseki@bonkers yes, feedback loop is critical. C doesn't even give you any feedback if it casts a float to an int for you, it just silently produces garbage output. so much for feedback.
haskell has a garbage collector. dude shows his idiocy in the first paragraph. rust's memory model is simple, that's a skill issue.
and it's ironic that this diverged to rust simply by my saying that clang's architecture allowed it to exist for the jewish reasons that stallman decided it couldn't have existed on gcc. so yeah, that's a bunch of projection by people who hate programmers working in rust.
@gnu2 The thing is, I would expect from a software project that is probably the most matured overall from all free software and open sores software, to be the most stable. But somehow it isn't.
Technically it's not a GNU issue, but a maintainer of GNU software issue. Which is mostly IBM or to be more technically correct Red Hat. And also a lack of competition for GNU. As an example GCC was quite stagnant in development until LLVM/Clang became good enough, which prompted more GCC development and now they are on par again. More GNU projects need competition, because so far the overall GNU mentality that radiates on the Internet, including on Fedi with a certain user in this thread, is why update something that is already perfect. Something needs to shatter that perception of reality, because nothing GNU is perfect.
@Suiseiseki@gnu2 When we are talking about GIMP3, here's an easy regression to test for you against GIMP2. Why can't you change the font in the Text tool toolbar by clicking anywhere in the name of the font, doing ctrl-a and start writing the name of the new font you want. You can only do it from the popup once you actually make a text layer.
@fluffy@Suiseiseki@p@bonkers >these are characteristics of people with early onset alzheimers and dementia. He's just too autistic to realize that he can be sometimes wrong. The usual reply of his to the previous sentence is: I've been clinically tested to be not autistic and I'm never wrong.
> to make it properly search through a tree in parallel
What's the seek cost on your goddamn disk? Your goddamn disk is linear: even NVMe has non-zero seek-vs.-sequential. grep is *always* I/O-bound unless you have fucked up: an FSM is computationally cheap. Any parallelism that you actually need can be produced externally: you don't make a function multi-threaded, you call the function from different threads. Likewise, you plan grep usage around reasonable cases instead of the bizarre case where you have a grep that actually somehow benefits from parallel search and you don't think you should have just done a goddamn index and you can't instrument grep to invoke it more than once (because that is how you do this instead of trying to cram every feature into every program like the GNU project enjoys doing). You don't have that case.
> lol, you think making dependencies painful to use is security
"If you don't love left-pad, you must think it should be hard to use a dependency."
lol, You hate stable APIs and you love rewriting shit every week.
> rust supports every architecture LLVM does, which is all the important ones.
> C doesn't even give you any feedback if it casts a float to an int for you, it just silently produces garbage output.
I think you have intentionally confused compiler diagnostics with feedback and I don't know of a compiler that exhibits the behavior you have described.
> haskell has a garbage collector. dude shows his idiocy in the first paragraph.
What the fuck? "Literally any guarantee made by Rust's compiler is also made by Haskell's" has nothing to do with garbage collection. How hard do you have to be grasping to think "garbage collection" is tangentially relevant?
> rust's memory model is simple, that's a skill issue.
C's is simpler; your pointer errors are a skill issue.
> and it's ironic that this diverged to rust simply by my saying that clang's architecture allowed it to exist for the jewish reasons that stallman decided it couldn't have existed on gcc. so yeah, that's a bunch of projection by people who hate programmers working in rust.
"Thinking this language is shit is projection because it's obvious the real reason...IS JEWS." You have literally zero self-awareness.
@nigger@p@bonkers The US government explicitly allowed ada to be used by people, as all their changes were authorized to be included in GCC as free software.
and I had GCC do that to me recently, where I changed a function from int to float, but forgot to change it's input in the signature to a float rather than an int. all good, truncate that shit, I didn't need the decimal point anyway. ironically, rust is more explicit than C.
GC is very important to mention. rust has memory safety *without overhead*. that's the whole point. as does ada, but the u.s government didn't want that to be actually used by people.
your reading comprehension isn't home? whether rust is good didn't even matter for my point, only that it was enabled by apple being less jewish than stallman.
> message passing inter computers is good, but within a computer, shared memory is all you have.
You can't read. I literally pointed to the memory and PCI buses all the way down at the bottom level, and then pointed to pipes, and you wanna talk about literally goddamn anything, it's all modeled as CSP or it falls over and dies. Message-passing is built into the goddamn architecture of the goddamn chips. It's not just a convenient abstraction, it's literally the only goddamn architecture that has ever worked past toy-scale.
> cargo with partial compilation, dynamic libraries and whatnot is actually the one thing I don't like about the language.
No, no, building a library is not the same thing, and the goddamn compiler yanks the shit in-tree.
> the point about rust is that there isn't any.
This is demonstrably false. You cannot produce a compiler that bounds-checks array without overhead. If you severely constrain then you can in some cases validate this; you cannot in the general case. Cannot. Formally proven to cannot. This is *one* example. Read the goddamn disassembly.
> oh, just theoretically you can have memory safety if you use this toolchain and re-architect all your programs and convince upstream to do the same as well.
You say that like you're being sarcastic but you are literally suggesting that for Rust instead of some hypothetical libc thing that you have constructed as a strawman.
I didn't say shit about libc tooling. The vast majority of languages are memory-safe. Perl, Python, Ruby, awk, bash, sh, rc, Tcl, Go, Elixir, Erlang, Prolog, APL, J, K, Scheme, Common Lisp, Racket, Haskell, Java, Brainfuck, JavaScript, Limbo, Modula-II, goddamn anything. Go re-read the image full of text and try not to embarrass yourself this time.
> rust's error handling is actually modern. programming languages had magic values, null and try/catch shit for ages.
Spare me the exposition, this shit is not "modern" or even "sort of new". Before you graduated from diapers to diaper-fetishism, I had already wrapped my head around the "Maybe" monad: you are not going to tell me something new by paraphrasing Rust blog posts at me.
> combine all the best parts to be better than any existing language.
It's not even a *good* language. It's a slightly nicer C++ with a much worse compiler. This is like having a slightly less malignant form of dick cancer.
> object oriented programming is also a style, but you can't really do it without struct pointers. same deal for functional regarding iterators with methods and lambdas.
What are you, 20? When you have learned more languages, you will be able to understand that style transcends language. You haven't seen someone do FP in assembly language, you haven't understood what REST really is, you don't actually understand the machine. 十年早いんだよ。
> rust macros are closest to lisp's, not Cs.
I said "You can't be serious", not "C and Lisp have similar macro systems". Scheme had structural macros, Dylan had structural macros: save us some fucking time and stop trying to teach your grandmother to suck eggs.
> I brought up :rms: being a kike because he's the one that decided that gcc should be unusable as a library, to force people to use it directly rather than as part of a proprietary pipeline.
So? Who the fuck cares? That's not even accurate: see the whole fuckin' readline linker debate, GPL'd software is not supposed to be linkable with non-GPL-compatible software except in the case that it can be demonstrated to be meaningfully independent (e.g., an API- or ABI-compatible alternative library exists).
@p@Suiseiseki@bonkers message passing inter computers is good, but within a computer, shared memory is all you have.
cargo with partial compilation, dynamic libraries and whatnot is actually the one thing I don't like about the language.
with retarded libc wrappers you could have memory safety but that would have overhead. the point about rust is that there isn't any.
oh, just theoretically you can have memory safety if you use this toolchain and re-architect all your programs and convince upstream to do the same as well. 🤷
rust's error handling is actually modern. programming languages had magic values, null and try/catch shit for ages. and nobody says rust is groundbreaking in any one thing, it's that it used its timing to learn from and combine all the best parts to be better than any existing language.
object oriented programming is also a style, but you can't really do it without struct pointers. same deal for functional regarding iterators with methods and lambdas.
rust macros are closest to lisp's, not Cs.
I brought up :rms: being a kike because he's the one that decided that gcc should be unusable as a library, to force people to use it directly rather than as part of a proprietary pipeline. one such use was for a new language, which use LLVM satisfied.
A facet. The point is length of the feedback loop and you start babbling about individual compiler diagnostics. A compiler that takes a second is going to be more useful than one that takes a minute, even if the one that takes a minute gives better diagnostics. I've done sixty iterations by the time you've done one, and I only needed two iterations anyway.
> ironically, rust is more explicit than C.
That's not ironic: C is the machine.
> GC is very important to mention.
If you are talking about safety guarantees, Hindley-Milner is Hindley-Milner. GC is an implementation detail, not a compiler guarantee.
> rust has memory safety *without overhead*.
Demonstrably and demonstrated false.
> whether rust is good didn't even matter for my point, only that it was enabled by apple being less jewish than stallman.
If that's your entire point, you're a goddamn babbling idiot. None of any of this had anything to do with that. My point was "Here is the latest revision of some code I have written", rms is the digression.
@nigger@p@bonkers >He doesn't even know about the library that allows using GCC as a JIT. Yes, GCC was specifically architectured so it couldn't become part of proprietary software - that's a feature, not a bug.
@nigger@Suiseiseki@bonkers No, I knew you had a rainbow-colored prompt before you posted a screenshit of your macbook, sir. I don't know why you'd `sudo grep` your own home directory, but that's not my business.
You have failed to understand the point. There are four main operations: (1) walk the directory tree, (2) read the files, (3) apply regular expression filtering, (4) print the results. You think all four need to be handled in the same program instead of a composable pipeline. This is what I was getting at when I said "instrument grep to invoke it more than once". `grep -r` is degeneracy: you've already got the dog's cock in your mouth, you are telling me how to suck it faster. I don't plan to suck the dog's cock to being with and I advise you to stop doing so.
These are all very different operations:
time sh -x -c "find -type f -print0 | xargs -0 -P $(nproc) -n 128 grep 'go piss up a rope, you dogfucker'" time sh -x -c "find -type f -print0 | xargs -0 -P $(nproc) -n 1 grep 'go piss up a rope, you dogfucker'" time sh -x -c "grep -r 'go piss up a rope, you dogfucker' . " time sh -x -c "find -type f -print0 | xargs -0 -P $(nproc) -n 128 cat | grep 'go piss up a rope, you dogfucker'" time sh -x -c "find -type f -print0 | xargs -0 -P $(nproc) -n 1 cat | grep 'go piss up a rope, you dogfucker'"
@p@Suiseiseki@bonkers@nigger i havent read the whole thread and i've also never coded in rust (don't even know what it looks like), but i just wanted to say i hate rust because of its userbase's obsession with their own 'ease' of coding and how they want you to do all the extra work in translating your projects to rust for them before they can begin doing anything themselves in rust. with that sort of attitude they strike me as very self centered despite how their incompetence shines. based on this, rust sounds to me like the unity engine equivelant of coding languages
also one time i saw someone had made a 4chan LLM clanker bot to pretend to be a rust dev, defending the rust language from critics, people found out by getting it to tell them a cooking recipe. little things like that make it seem like someone's trying to force the language onto everyone else
@Suiseiseki@nigger@p@bonkers Imagine being so brain damaged in your head that restricting someone's use of your software is a feature. GNU DRMed edition.
No, it's an example. There is no such thing as a zero-cost abstraction.
> but use after free and so forth are not resolved with runtime overhead.
Yeah, you can do this in C; I wish the people that *wanted* to do this in C would fuck off to Rust because they are awful and they've been trying to ruin C since they decided that dmr's input was unnecessary.
> No, the libc thing was with regards to haskell etc.
The fuck?
"Any safety guarantee rustc makes is also made by ghc" has nothing to do with garbage collection, libc, et cetera.
> it has to actually be used, and it isn't.
Player skill issue.
If you presume from the beginning that you will have fucked up the architecture, whatever. It's used literally everywhere. Maybe it isn't used in *your* shit because, as previously noted, you are performing oral sex on dogs in Quantico instead of understanding the machine.
> it is memory safe without reference counting.
Doesn't matter.
> well, the authors of all the software that uses clang instead of gcc because it's not headed by a greasy jew who sabotaged his own project so it would be useless to any dev other than himself.
No, Apple wanted to gape your asshole and you see this as an advantage.
> my emacs config framework
emacs user.
Your configuration has a framework.
A framework.
"Configuration framework".
Do you wear gloves and a condom to take a piss?
There are like a dozen emacs forks and you use the GNU one but you stick it to Richard M. Stalin by using Apple's C compiler and there is a racial component somehow. I don't know what I'm supposed to do with this information.
@p@Suiseiseki@bonkers right, bounds checking is the exception. but use after free and so forth are not resolved with runtime overhead.
>You say that like you're being sarcastic but you are literally suggesting that for Rust instead of some hypothetical libc thing that you have constructed as a strawman.
No, the libc thing was with regards to haskell etc. that was for static analysis, which I presume CSP is as concerning actual usage. it has to actually be used, and it isn't. and to have it start being used, you need to rewrite, and re-architect. at which point you may as well do so in rust.
for the fourth time, rust is not merely memory safe. it is memory safe without reference counting.
>So? Who the fuck cares? well, the authors of all the software that uses clang instead of gcc because it's not headed by a greasy jew who sabotaged his own project so it would be useless to any dev other than himself. https://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00027.html my emacs config framework uses clang for this because of stallman's spiteful design lmao.
Rather the opposite has occurred - it has been architectured to successfully prevent proprietary software developers from restricting it (but of course such developers are free to use it as free software).
@Suiseiseki@bonkers@nigger I demand that IPv6 be repaired before anyone else adopts it. When IPv6 no longer blows, I will join you in demanding it, but I won't need to because if IPv6 were good, then everyone would be into it.
@phnt@nigger@p@bonkers Tivotization is where you make the proprietary software stop running if the source code and installation information of the free software is compiled and installed.
Clearly it is a restriction of using software, as the proprietary software ceasing to execute precludes its replacement with free software.
The GPLv3 fixes that problem, by requiring that the developer agree to not make their proprietary software stop executing, just because the free software was modified prior to conveying the free software.
@Suiseiseki@nigger@p@bonkers >The GPLv3 fixes that problem It fixes one restriction by creating another. The end result is the same. Usage of software is being restricted.
@yaboisugoi@Suiseiseki@p@bonkers that's a community problem. rust has a code of conduct and a dozen discord servers for its community as well, I don't care, I either regard the technology or I don't.
the guy behind your second paragraph is just an obvious troll, because defending rust will annoy people
@p@Suiseiseki@bonkers >What are you, 20? When you have learned more languages, you will be able to understand that style transcends language. You haven't seen someone do FP in assembly language, you haven't understood what REST really is, you don't actually understand the machine. 十年早いんだよ。
sure, if you pass around the address of a byte array you can call that an object, but a high level programming language can do better regarding ergonomics, and rust does
@Suiseiseki@phnt@p@bonkers so you can "use" it as a consumer but you can't use it as a developer because some developer might possibly make a nonfree extension
@phnt@nigger@p@bonkers The GPLv3 provides the following offer; - You may run, distribute and/or modify this software on the condition that it stays as free software for all of its users and that you agree to not sabotage the operation of your aggregate proprietary software merely because the user exercised their freedoms in modifying the software.
Nobody is forced to take that offer; if the offer is not taken, whatever proprietary restrictions can be implemented in other software.
But if the offer is taken, it is ensured that usage of both the free and the proprietary software isn't restricted.
> sure, if you pass around the address of a byte array you can call that an object
No; first, disabuse yourself of the idea that object-orientation is about C++-style classes. Object-orientation is message-passing, it's CSP. The canonical Scheme illustration is "initializer returns a lambda, you call that lambda with symbols for message names", etc. Functional programming is filter-map-reduce pipelines, or passing higher-order functions, or whatever; FP is really poorly defined, it's worse than OOP. These are architectural styles. Some languages make some of them easier, sure: you can do filter-map-reduce really easily in Lisp, Ruby, sh; Bourne sh (and thus bash) does not do lambdas really well but Inferno's shell does. You hammer this shit hard enough, you see enough truly weird systems, it clicks. Everything you know about computer science is a lie because even Dijkstra was, in the final analysis, an optimist. You understand? fielding_dissertation.pdf hoare_csp_book.pdf
Developers could quite easily make a proprietary extension if the AST was exported externally - as well such information in the file could be copied - a bunch of proprietary optimizations and proprietary malware inserted and then it could be copied back, with it being unclear as to whether that requires copyright permission.
Developers are not precluded from developing gcc extensions that does what they want internally to GCC and several of such extensions exist.
Developers are also not restricted from writing a modified version of GCC that exports the AST themselves, but proprietary software developers simply don't have the skill to do so.
@p@Suiseiseki@bonkers sudo grep hides the "oy vey linux says you can't read that file!" errors
and another useful thing ripgrep does is use the gitignore, which makes it really useful for IDEs, and is one of the things a programming language is better at than shell scripting
yep, those are different, almost all of them will break when they see a filename with a space in it. grep -r being the exception
@p@amerika@nigger@Suiseiseki@bonkers The commerical connection from ISP at work doesn't even allow V6 transit, because some of the upstream pops don't support it. At home, my fiber connection doesn't have any V6 transit either.
The transitional services aren't deployed on either ISPs side.
The remark about being at the surface of the ocean is, I think, the core.
> it's 3 pages of fucking puff propaganda pieces
INTERESTING.
> Avoid crowds.
You get where they're going if you do what they do. It's the main reason that the only response to "We should $x like [European nations|the rest of the world]" is to assume the speaker is joking if they look old enough to drive.
@Suiseiseki@nigger@p@bonkers I have always had trouble when my computer starts using IPv6, to the point where I disable IPv6 and all my connection problems go away.
@p@nigger@Suiseiseki@bonkers I see what you mean by this now, I started working on my own language and I see that compilers are trivially distributable so having a compiler written after 2010 that isn't is retarded. my plan is to have the main interpreter spawn interpreters and pass messages, source code is a message, errors are messages, the target code is a message, and then all I'd need is to make the interpreter agnostic to whether it's reading its characters from a char*, file handle, pipe, TCP connection etc. (and the other way for linking from memory region, filename, network etc.) I've got picrel to read first before the CSP text but I will do that, sounds like it'll be invaluable for when I start writing schedulers and whatnot