Open Source Software Community - it's about ethics in Code of Conducts

or you can use a nice garbage collected language instead (c and its kin are very useful for wringing the last bit of performance out of tight loops or low-level (actually low-level, as in "there is no os and i am using tons of inline assembly" level) shit. people should probably use them less when not actively doing dark magic that explicitly necessitates c usage)
fil-c actually adds a whole garbage collector iirc so you might want to explore some other garbage-collected statically typed languages that interface well with c (go seems to be quite popular here)
"Nice" and "garbage collected" do not belong in the same sentence insofar as people continue to build stop-the-world garbage collectors.

Also, it's growing increasingly difficult to pretend that C is a low-level language when really it's just a virtual machine that pretends to be a PDP-11 in a world filled with machines that most definitely are not.
 
sir this is the "open source software community" thread, not the "proprietary software" thread
Replace "company" with "community", and his post can still hold up.
By the way, it is the industry that drives these changes, which is also the reason I don't recommend working in the field if you're really interested in computers and software, because that's not what "working in tech" is about.
Also, it's growing increasingly difficult to pretend that C is a low-level language when really it's just a virtual machine that pretends to be a PDP-11 in a world filled with machines that most definitely are not.
Funnily enough, nobody sold C as a low-level-language to us back in my day, but rather the exact opposite: A high-level-language, as you could compile standard-compliant C code on every platform having a standard-compliant implementation without the requirement of having to know about the platform specific machine code or the OS it runs on. It was the Java of our time.
 

Verifying your devices is becoming mandatory​


Act now: continue sending & receiving encrypted messages

In April 2026, we will be rolling out a significant update to strengthen the security of your conversations: unverified devices will no longer be able to send and receive end-to-end encrypted messages via Element. This change follows the Matrix specification update that was announced at the Matrix 2025 conference on October, 17 and benefits everyone by enhancing security, but may require an action from you to continue sending & receiving encrypted messages on your existing devices.

This security update will give you assurance that when you receive a message from a contact, you can effortlessly assume it’s really from them.

It’s a big step towards making Element an even more safe and reliable messaging experience. We mean it when we say that we want to provide the most secure communication technology in the world.

So here’s what’s changing and why it matters to you.


Thank you matrix, very cool. Unfortunately, the enduring, massive child porn spam on their official servers is not a priority right now and has been going on for almost a year now.
 
I put it up there with other shitty language features like Zig considering tabs a syntax error and Go considering unused variables an error.
Tabs are allowed in zig now. Unused variables are an error in zig though, but this makes sense considering that without that you could easily miss that a function returns an error and not handle it. Unused parameters make less sense, but if you change the name of the parameter to _ then it will be ignored.
 
"Nice" and "garbage collected" do not belong in the same sentence insofar as people continue to build stop-the-world garbage collectors.
we have known how to build nice incremental collectors since like 1970, so there are many nice garbage collected languages out there
i'm not sure if it was mentioned here previously but github is going to be migrating it's entire platform to azure.
https://thenewstack.io/github-will-prioritize-migrating-to-azure-over-feature-development/
if you work for github, you have my sympathies and good luck with your 24 8 month migration timeline. you should probably start looking for a new job too because you just know there'll be cuts once the migration is complete.
i am sure it will be completely reliable and usable the entire time as well
absolutely nothing will go wrong
no stupid shit will happen that alternate forge chads use to laugh at microsoft-service-using opensourcelets
 
Funnily enough, nobody sold C as a low-level-language to us back in my day, but rather the exact opposite: A high-level-language, as you could compile standard-compliant C code on every platform having a standard-compliant implementation without the requirement of having to know about the platform specific machine code or the OS it runs on. It was the Java of our time.
...and even that wasn't true when the size of int, for example, was never guaranteed.
we have known how to build nice incremental collectors since like 1970, so there are many nice garbage collected languages out there
...and nobody uses any of them, instead using babby's first garbage collector for their language. None of this matters, of course, as reference counting is superior, and RAII superior still. Jannies masquerading as software engineers need to drop their keyboards and go take up their true calling.
 
Minecraft Java Edition (which is so fast even on low-end hardware it has a built-in option to limit the framerate to 60 FPS or less)
Fat-ass LOL. Have you ever even played the game?

his is unmodded (vanilla) 1.21.10 running at 119 FPS at 1920x1080 on default settings on an integrated (i.e. Mark II Piece of Shit™) Radeon APU
Your "Mark 2 Piece of Shit(tm)" can handle GTA V at 80fps, dickhead.
 
Last edited:
Back when Minecraft first came out, I could barely get the game to run at 640x480. Although I was using a hand me down semipron dual core with a 6600. That wasn't even the worst experience with Minecraft I've had, so I would have killed to have your piece of shit back then.
 
Forgive me CrunkLord for contributing to the off-topic sperging but I just have to.

I remember that my intial Minecraft experience, all the way back in 2011 on Beta 1.3_01 on the family computer wasn't amazing and it was somewhat laggy, but that was on ancient hardware.

Now, for more recent experiences, I've been playing modded 1.12.2, and while my worlds would run well at first, later I'd experience heavy lag once I got entire factories going. Then I realized that the issue was my CPU bottlenecking. After upgrading from a 4460 to a 12400 all of that lag in those worlds was gone. I was even able to pop in some kickass shaders after I upgraded my GPU and still have good performance since the bulk of Minecraft's performance is tied to the CPU.

The issue with Minecraft is same as with modded GTA:SA: it's limited to a single thread so there is only so much you can do to improve it's performance before it starts shitting itself once you push the game to it's limits. Though Minecraft has the benefit of being 64-bit.
 
We've built industries where understanding is optional, and knowing some framework or language or whatever is mistaken for knowing how things work. The "rust" isn't the problem by itself, it's a symptom of the very mislead belief that you e.g. shouldn't have to understand what your code actually does. AI (which I am not on the anti side of on, not at all) will make things, oh, so much worse because it'll allow people to take so many shortcuts so that they really basically won't know what the machine did. A professor I once knew loved to say that there's nothing wrong with shortcuts, but to be effective, you first have to understand *why* they work. I agree with this sentiment more and more the more time passes.
Did an absolutely tiny project last year and had someone very inexperienced trying to help with it. He kept using AI despite my insistence not to. What difference did AI make? Well it took him from hitting a wall and asking me how to do something, to producing working but wrong code that I had to continuously keep an eye out for and which took ages to unpick when I did. Just mistaken or unscalable or a completely inconsistent approach with other code. The guy would cheerfully go off, type something into an AI and check the results in. I'm not exaggerating when I say his help probably more than doubled the amount of effort the project took me.

I'm not wholly against using AI for code. I've used it myself on occasion. But it has a tremendous capacity as an enabler for people who don't know what they're doing.

Because they assumed Rust is a perfectly safe language and they don't need to be careful. I do not recall the name of the concept, but I have heard of a paradox in violent sports like rugby - the more protection players wear, the worse injuries they experience, because they rely on protection too much and take worse risks.
That's Rugby vs. American Football. The latter actually has more and more severe injuries statistically, largely because with the helmets and pads people are less cautious and impact each other harder.
 
Not familiar with rust, how does the compiler allow you to .unwrap() without any checks? I would assume the compiler would give you a warning and fail to compile, given what everyone says about rust's protections. Did they bypass the protections or is it all BS and the rust compiler will allow you to just chuck shit into the void without bothering to check it? I know there's cases where you'd want to do that but I would think given rust's MO that it would do...something?

Also, I would assume (hope?) CF would have strict PR reviews with branch protection. No merge to master without at least 2-3 approvals. How would this pass that? I feel like they're leaving shit out of the blog post intentionally.

Also, why would you have configs being pulled from an eventually consistent DB that has no flag for when consistency has been reached? CHDB is nice but they only have a round-robin DB driver. It also seems odd to have this check hardcoded rather than as a configurable env var. How are new CF SWEs supposed to know about these settings if all of them are spread around your code base randomly?

So many weird decisions.
 
Not familiar with rust, how does the compiler allow you to .unwrap() without any checks? I would assume the compiler would give you a warning and fail to compile, given what everyone says about rust's protections. Did they bypass the protections or is it all BS and the rust compiler will allow you to just chuck shit into the void without bothering to check it? I know there's cases where you'd want to do that but I would think given rust's MO that it would do...something?
unwrap() is one of the few designated "shut up compiler, I know this is correct and doesn't need checks" functions. Normally you'd have to handle both cases via pattern matching or a different function. It's still memory-safe, type-safe, and you do technically handle the error, you just handle it by aborting the program.
 
Screenshotted from a lunduke video because I don't use twitter. Someone who does should grab the real post.

Screenshot_20251120_155134_YouTube.png

Our boy theos brave stance.


The video
 
Last edited:
Also, it's growing increasingly difficult to pretend that C is a low-level language when really it's just a virtual machine that pretends to be a PDP-11 in a world filled with machines that most definitely are not.
It's not a low-level language, it is a high-level language that was designed to be portable at a time where systems varied a lot and compilers were simple. Though, you can use it for low-level / non-portable code if you really want to.
I think C's programming model aligns pretty well with modern x86 and other common architectures. C really only falls apart if you want to run it on an ancient 8-bit cpus.
...and even that wasn't true when the size of int, for example, was never guaranteed.
They are guaranteed to be at least a minimum size. It is part of what makes it portable. Also guaranteeing consistent behavior and fixed width words on systems where the native word size is some schizo shit like 17 bits probably would complicate the compiler and make code needlessly slower.
 
It's not a low-level language, it is a high-level language that was designed to be portable at a time where systems varied a lot and compilers were simple.
true, c is really only low-level insofar as it doesn't need quite as big a runtime as other languages and its semantics are pretty close to the isa (e.g. everything is really just a number and your array is really just syntax sugar for address+offset)
c still does have a runtime, it just requires a lot less work to get there
C really only falls apart if you want to run it on an ancient 8-bit cpus.
it also expects a large amount of easily usable stack space to be available, which is why languages like glsl are popular for gpus
 
Back
Top Bottom