Sign in

Chocolate Dolphin

@chocolatedolphin7.bsky.social
53 followers 51 following 150 posts

hello I'm a human being 🐬🍫 he/him Wishlist Fierce Kingdoms on Steam! store.steampowered.com/app/3406130/…

PostsRepliesMedia
Chocolate Dolphin @chocolatedolphin7.bsky.social · 16/06/2025
tl;dr code eventually made it to prod globally without having a specific buggy path actually run, and when it did, it was too late and crashed everything wouldn't be surprised if it was vibecoded but they're not gonna say that
030
Chocolate Dolphin @chocolatedolphin7.bsky.social · 15/06/2025
Which ones? I'm interested in any low level language that doesn't depend on LLVM. It's really sad that every new language I come across depends on LLVM because getting high-quality optimized codegen is extremely difficult. Writing a parser, analyzing semantics etc is super easy in comparison
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 15/06/2025
Both clang and gcc max out near perfectly at 100% cpu usage for the threads I give them, so I wonder what exactly the culprit is. Maybe it's something to do with header files? They're essentially processed many many times, but maybe they allow for better parallelization. Idk
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
so while mozilla does some good things very rarely sometimes, I woudn't consider myself lucky or fortunate for being close friends with mozilla people, and I don't take them very seriously either. the entire org depends on morally wrong $$$ from google, it's not a very grassroots org
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
can't think of 2) as a positive though, to this day mozilla depends entirely on google, they went from being #1 in marketshare to <6% and shrinking each year, while not improving the browser much and doing lots of questionable things. they're pretty much a facade for google's monopoly on the web
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
that's an interesting background, that being said, 1) is most likely tied to the connection between wasm/rust/mozilla. haven't used wasm myself but I do know plenty of c++ projects exporting to web and workng great though (except multithreading), so idk what the exact issue is
110
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
I forgot but it should be like only 4 cores. didn't bother to troubleshoot but I think it was either the linking process or one big crate in particular that caused it. could you try compiling that CLI program I linked to maybe?
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
because it defeats the purpose of packages in the first place? the point is to group related functionality into one package split into several files. if by design you can't do that without compromising build times, the design is broken and pushes you into a less flexible, less organized structure
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
are you talking about docker containers or something like that? that is NOT the same thing at all. but I give up trying to explain things to you
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
it's been way over a decade at this point that the core fancy features were introduced. it's not unworkable at all, it's mostly just that lots of c++ projects are legacy or old programs. rust is so dangerous and harmful that it can steer potential new programmers away from c++ by making false claims
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
I know it's most definitely documented & according to spec, that's besides the point, I'm not even that far into the docs and already the compiler is not smart enough to notice something's wrong, it didn't even emit a warning. wouldn't be surprised if it was at least a warning in c or c++ tbh
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
go and try it yourself then, maybe that's the only way you'll learn why it's not doable, not in a remotely sane, workable manner. i could keep explaining it to you, but you simply do not get it
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
I give up with even considering to use this lang, it's a total mess without even looking that deep, and from what I've seen so far, it's totally a cult. and just a fun fact: yes you can have fairly safe C++ code, see isocpp.github.io/CppCoreGuide... but oh well ppl watch youtube instead of reading
isocpp.github.io
C++ Core Guidelines
The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
also I had just started to try to understand rust a little bit better, was reading this doc.rust-lang.org/rust-by-exam... and then apparently simply changing slice[0] to something illegal like [8] crashes the program. WHY!? the length is even known at compile yet just crashes at runtime instead
doc.rust-lang.org
Arrays and Slices - Rust By Example
Rust by Example (RBE) is a collection of runnable examples that illustrate various Rust concepts and standard libraries.
200
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
again another video, yay! but also not really representative of reality. it's too long to elaborate on why they're wrong, but essentially rust *IS NOT* an upgrade from say, C++. it's quite the opposite, it's objectively worse in too many ways
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
who said single binary? how is it not clear to you that static linking everything isn't feasible? to clarify, when you statically link something, you're essentially including an entire copy of that lib's compiled code in your program (unused parts can prob be optimized away by compiler/linker tho)
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
it's not so much just choosing dependencies wisely, but also even doing it in the first place. less friction = way more dependencies. and the problems w/ too many deps are not obvious at first, they only pop up later in the form of instability, at which point it's annoying to replace/remove deps
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
btw setenv is so discouraged that it's not even supported in languages like java. if libs include libs that makes it much more likely you end up w/ obscure libraries in your product like that rust one. again, that's why C/C++ libs tend to avoid using libs themselves, it's not a new concept
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
the original article in itself is good empirical evidence that indeed, being too eager to use dependencies for trivial things leads to instability and often poor quality code. the crash happened in part bc the library is using setenv for no good reason at all, that lib shouldn't do that afaik
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
"most likely poorly" this in fact leads me to believe that it is you who doesn't have much experience being a dev, because this is like the most popular misconception ever that at some point everyone realizes is not even remotely true. sometimes using a library makes sense, sometimes not so much
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
very ironic because rust is so slow to compile when you change something, it wastes plenty of human time. it's been a real issue for lots of ppl and orgs who unfortunately got baited into using rust and had to do dirty workarounds to lower the compile times
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
and what would you do if, for example, you have dep A that's fairly close to the core, that is required by nearly every other dep? good luck constantly recompiling the entire system for every one-liner fix
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
why not instead you provide an example fully featured stable OS where *everything* is written in rust and does static linking everywhere? it's literally impossible. sure 1 program might be ok, but not all of them. don't you think if static was better, everyone would have moved to it loooong ago?
400
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
also ironic bc supposedly from what I've read, rust is the least productive language of all bc of the borrow checker but idk if that's true
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
saying rust forces you to do things properly is a pretty wild, biased and hard to prove claim. and no, writing safe code in *new* C++ projects does absolutely not require extreme care, it just shows you probably never even tried to and are parroting misleading information from the internet
200
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
for example just look at how everything breaks very often because of the sheer number of dependencies everywhere in nodejs land. APIs can break even if intentionally trying not to. fwiw I kind of like their ecosystem but just proving a point here that deps are never free
200
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
that's not it, it's more like I believe the average developer just doesn't care enough about doing things properly or doesn't have enough experience to know dependencies should be avoided if possible, it's a tradeoff, not a "free" thing you can include and be happy about it
200
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
totally incorrect too, off the top of my head I've tried like 15 languages at some point but prob more, and most of that experience was in C++ and JS which are kind of opposites
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
I can't even begin to fathom you're seriously defending a small CLI program failing to compile with 4 gigs of ram. that's preposterous. "we have high end machines for free" no we don't
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
"static is great" I think that pretty much sums up why you think rust is even remotebly usable on a large scale like for an entire OS lol. it's not. you can't have *everything* be static, just some end-user applications at best
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
There's genuinely very little reason to use boost nowadays, mostly because the standard C++ library got much better over time. And no you don't need a ton of deps but that's a matter of opinion, like I said I like the extra friction in adding libraries, that's how it *should* be for low-level stuff
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
I mean I literally have programmed for more than half of my life at this point but ok
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
no? when you have hundreds of independent programs and libraries interacting w/ each other, it becomes impossible to guarantee an update somewhere won't break anything else. that's inevitable. that's what I meant given the context. in other ecosystems they kind of do the same w/ version pinning
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
I switched all my stuff to meson and it's great. if you want a reference, here's a single build script from a big project, MPV github.com/mpv-player/m... I actually read parts of it as a reference. also wrapdb exists, useful for devs who don't mind including 300 dependencies like most ppl in rust do
github.com
mpv/meson.build at master · mpv-player/mpv
🎥 Command line media player. Contribute to mpv-player/mpv development by creating an account on GitHub.
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
tl;dr cmake kind of sucks, the syntax is just so unreadable and quirky. and the reddit thread is a beginner question, they likely didn't know build systems exist thankfully, unlike rust, both C and C++ have fairly diverse ecosystems and you can choose from a wide range of build systems
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
to reiterate, just at first glance: very slow compile times, dependencies depending on dependencies on the ecosystem which inevitably leads to fragile code long term, poor parallelization unless you make everything its own crate, too resource intensive so it can't compile on a lower end machine
200
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
I've read a fair amount, but I'll likely never get into it because I really don't like the syntax at all, every snippet of rust code I see is just plain ugly to my eyes, kind of like C++ w/ templates abuse but even worse. on top of that are all the technical issues
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
yeah that was suggested to me before but it really should work out of the box imo. I just downloaded a binary in the end that wasn't available before. like if this can't compile on my secondary 4GB ram laptop then idk I think it's the toolchain that's the problem github.com/dyc3/steamgu...
github.com
GitHub - dyc3/steamguard-cli: A linux utility for generating 2FA codes for Steam and managing Steam trade, market, and other confirmations.
A linux utility for generating 2FA codes for Steam and managing Steam trade, market, and other confirmations. - GitHub - dyc3/steamguard-cli: A linux utility for generating 2FA codes for Steam and...
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
nobody claims it's perfect, every modern OS has lots of quirks and ugly parts anyway, mostly to keep compatibility. they can't just break or remove the bad parts. windows is the exact same in this regard, it's not so much that win itself was badly designed but keeping compatibility leads to cruft
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
but also, in rust you are in fact encouraged to do that nonsense of making everything a separate crate to speed up compilation times w/ parallelization, which are already super slow regardless
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
by dependency hell I mean specifically implicitly depending on many hundreds of dependencies because libs depend on libs, something that is preposterous in c and c++ land because of course, too many libs == unstable and bloat over time. it's a big mess and not very maintainable in the long term
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
the real reason why there are 1000s of maintainers is not because of language choice or build systems, but because of versioning and breaking changes in dependency management. that's inevitable regardless of language. that being said, rust as of now is so broken it can't do shared libraries so yeah
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
it's more like, nobody really uses package managers (if they even exist) but just plain build systems. building "random projects" is very easy, just 1 or 2 commands, it's always made clear in the README file. non-devs will just grab binaries most of the time anyway, instead of building from source
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
yeah that's kind of how I understood it, which kind of makes no sense and forces you into bad dep management. what's the real culprit here? is it cargo or rustc? is it because of the borrow checker or something like that? I don't really use rust
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
I forgot, but fairly recently, and it did hang my system and forced a reboot bc it ate up all ram by default. But that's a separate issue. On this particular computer I had a much older version, didn't realize it was outdated. It should be fixed now after updating yeah
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
it also helps to save memory etc, plenty of reasons. and anyway, all of this is in the context of hundreds/thousands of modular parts interacting w/ each other! that's why it's truly remarkable. meanwhile rust can't even do stable dynamic linking in the year 2025 so good luck w/ that
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
that is very efficient because dependencies are explicitly stated for each package, and there's potentially dynamic linking between them, so no extra copies are downloaded or recompiled into binaries. if everything was just linked statically, you'd struggle to ever even get a proper system up
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
um no? most end user software is just a 1-command or 1-click install thanks to the effort of maintainers. it's only when you need very new versions that you may need to compile or download something from elsewhere, or use flatpak, or an appimage, or w/e. but most importantly, this is done in a way
100
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
C++ is overly complex because they kept adding things over time, there's tons of made up abstractions that only make sense in C++ land. I stick to C now and the only thing I miss is a standard lib for containers. but my point still stands, you can get p good memory safety with "modern" C++
000
Chocolate Dolphin @chocolatedolphin7.bsky.social · 14/06/2025
the entire presentation is terrible. it's not very deep, its contents are shallow and cite bad data. not surprising since it seems to be related to a nonprofit/gov thingy so yeah just a very dishonest nonserious video. just provide text links instead of youtube. ppl nowadays only watch youtube ugh
000