12bitfloat said 👋,It's both funny and frightening how removed from reality some of these far lefties really are Everything they accuse you of, they are doing themselves Everything they say is the opposite of reality,@antigermgerm Not everything I say is correct, I also suffer from bias like everyone else The difference is, I base my ideas on reality, so when they are wrong they are at least not THAT wrong These people's ideas aren't even connected to reality, so they are just wrong by default,@antigermgerm We've already argued and I've poked huge logical holes into a lot of your arguments, so I'd say I'm not entirely incorrect,@antigermgerm Remember the thing about genocide being bad? Until it wasn't? That one was funny,@antigermgerm Man, I'd like a waffle right now. With sugar and cinnamon and a little bit of nutella 😋,@antigermgerm Man what the hell. You really don't like nutella!?,@antigermgerm Fair enough. Do you put some buttermilk in your pancakes? That shit goes crazy,"You aren't you when you're hungry",@antigermgerm Bruh you were just saying you don't put anything on there I feel betrayed and lied to,@antigermgerm Okay I forgive you,Don't do drugs kids!,Kinda offtopic but not having an avatar at 5k updoots is kinda gigachad,@jestdotty That's also definitely true, there's TONS of rage bait and stuff But the point still stands... They wouldn't do that IRL because they'd get roughing up,@retoor You're not wrong, but I mean it more in the general sense of mankind. If you talk shit, you get hit.... Only now in the internet age is it different that you can essentially talk as much shit as you want without any consequence whatsoever,@jestdotty Yikes, that sounds horrible But I say this: If you would have punched him into the next dimension, he would have stopped right quick But that's easier to say when you're a man. Which is why we need to protect women and stop to pretending men and women are exactly the same. We should have the same rights, but we have very different experiences,@jestdotty Yeah but that's exactly what I'm saying: Men have a system of shared influence over each other because they can beat each other the f down That's why they aren't violent.... At leat against each other,He's literally not even in office 💀,Spare the whining for january,He tried with a trial in finnland (?) where you needed to pay 1 dollar to create an account and there was outrage Nobody knows how to stop bots,@antigermgerm Someones looking for that german bratwurst 😏,@Lensflare That's one of the reasons I like devrant. I think if platforms become too big you naturally form bubbles as obviously not everybody can see and interact with everyone else, so they congregate with people they agree with Devrant is small enough that there can be *one* post feed which means we all get exposed to the ideas of everyone else Kinda keeps you more grounded,@Lensflare Zwölfo and Drölfo, best friends,@theranter I suspect quite a bit actually lol By the democrats, republicans, north korea, russia, china, they are all doing it,@Tounai Kinda? rustdoc/docs.rs is just objectively so awesome I can't really complain It literally compiles documentation for *all* crates on crates.io for all versions, with types fully interlinked between dependencies, etc etc It's just the best thing ever,@devRancid If you think Java or C++ (doxygen) even comes CLOSE to the Rust experience then you have never used Rust, it's so beautiful And yeah, obviously good hand written documentation is even better. But most non rust libraries don't even have auto generated documentation, or at least one that doesn't suck ass (doxygen)!,Like this shit is what I have to deal with in JS world (and this is even above average!): https://glmatrix.net/docs/ Meanwhile in Rust: https://docs.rs/cgmath/latest/... Just no comparison, don't even @ me,@devRancid Cry more lmao I never said cgmath docs are perfect, but it doesn't even matter because it still lists exactly what I want to know What? Your pea brain needs a 3 paragraph description for a function called "vec3" which takes x, y and z and returns a Vector3 like it isn't fucking obvious what it does? Auto generated docs aren't the be all end all, but fuck me, 99.9% of non rust libs can't even manage *that*,@devRancid WIth all due respect, you're just willfully ignorant because you are afraid Rust will overtake you And if that's you're attitude, at some point it will I was a retarded Rust hater just like you at some point. Then I got over my ego and started learning it, and I'm not looking back Not that Rust is the answer to everything. It has it's issues, both big and small, but you are so blinded by the fear of unknown that you can't even acknowledge the language for what it is. Sad,@Demolishun True! -- for the standard library Not for any third party c++ libraries,@Demolishun Wasn't trying to be mean! I like cppreference a lot, but it's only for std That's exactly why I'm so grateful for Rust having a good docs story for all libraries,@atheist Auto complete doesn't give you a full overview of all types, functions, etc ... and of course you need to first add the dependency to your project Sometimes you just want to see how a few libs are designed so you can choose which one you like best. No problem with docs.rs,Not wrong lol I mean most of these are so unnecessarily hard to type for zero benefit,@Lensflare The semicolons are a monoid in the category of endofunctors, you wouldn't get it,Lots if not most of the actually talented people seem to have moved on from the once legendary game developers Too much bureaucratic bullshit. Too much woke bullshit IMO indie games have overtaken AAA in almost every way,@Demolishun I'm in your camp too, but I think int *foo; is actually more correct As far as I know, C and C++ consider foo a pointer variable of type int, instead of a variable of type int pointer There are only a few cases where the distinction shows itself in syntax though (can't remember them),@Demolishun Ah right now I remember, here's an example: `int* a, b;` only declares the first variable as a pointer, the second is just an int https://godbolt.org/z/vdvW41cnh That has tripped me up before lol,@Lensflare I don't think you can ever be a point where you can't learn something new about c++ lol,A certifiably bad experience,@Demolishun I really like it. It feels like average people are finally waking up to the far left propaganda that has infested and destroyed media for the last decade,(not even a political post lol just glad I was able to get something done),@Demolishun That's kinda fucked. Though I don't think she's smart enough to understand the implications,@AlgoRythm dragons dogma balls 2, now in stores near you,Should've gone full microsoft with a /no:emit,Nah, Rust's syntax is miles ahead of C. It's more consistent, intuitive and expressive. Can't do `let [a, b, ..rest] = &list;` destructuring in C can ya? IMO Rust is also just a better language than C. Not that C is bad for what it is, but it's a language that was invented 20 gazillion years ago -- as a portable assembly, mind you --, so obviously Rust could learn from decades of language design,@retoor Rust definitely isn't a toy, but it's not as mature as C yet. Rust has only existed in it's final form for 10 years, give it some time,@lorentz Fair enough, I meant it more like "in the current 1.0 form where backwards compatibility is guarenteed". Before 2015 Rust was changing daily in big ways, it was kinda crazy,What why,@retoor I'm not sure what to think about the dependency situation in Rust Yes Rust uses more smaller dependencies, but unlike JavaScript, these libraries are overwhelmingly high quality and non-trivial,@retoor Raw pointers don't carry any ownership semantics which can lead to various bugs If you get passed a raw pointer, do you now own the pointer? Should you free it or does somebody else free it? Is it just temporary? If it is, what is it's object lifetime? That's why it's recommended to use smart pointers, because it's harder to misuse them (and they will clean themselves up, which is nice),@Demolishun If you use a shared_ptr it should work by itself (not in Qt though) (well, and also not bidirectional parent<->child relationships, but that's a topic for another day) IMO that's one of the beautiful things about C++ which Rust took inspiration from: Being able to build zero-cost(-ish) abstractions which do the right thing and make it harder or impossible to use incorrectly For example, in my code base there is not a single point where I have to manually clean something up. It just all happens automatically for me (assuming I don't have rc cycles lol) It just makes your code so much cleaner and more robust, I love it,Damn! What model is it running? Is it your own?,@retoor It unfortunately didn't load for me, it just times out :(,@retoor Looks good I guess lol I'm not saying you can't make a working program with raw pointers But I really believe higher level abstractions like smart pointers let you program so much quicker without sacrificing much or even any performance,@retoor Same. It does it's job, so.... idk ¯\_(ツ)_/¯,@retoor Oh that might be it. I use a specific dns provider, maybe the records haven't been flushed yet,Bro has that IPv3 address 💀,I don't work in the industry, but I do develop a game as a sidejob,More shizo drivel lets gooooo,@retoor Just as an update: It still times out for me here in germany,Damn my guy bout to write write graphics drivers,Microsoft has over 200'000 employees. Yes, two hundred thousand (!) And they can't make a fucking button,https://youtube.com/watch/...,@devRancid Git gui gets a bad rep but it's honestly so much easier to do complex commits where you pick and choose hunks,Code architecture can be really frustrating in Rust, I feel you But at the end, you at least have a correct program. Other languages let you write wildly incorrect programs no problem Kind of depends on what your personal style is,@Lensflare Schönes Wort,Don't forget to drink a water before going to bed :D,@retoor I can guarentee you that I could find a race condition or a possible null pointer bug in about 5 minutes if I saw your code bases Nothing personal, just the reality of software :P (I'm a former Java guy, if there's a thing I know, it's null pointer bugs),@retoor It does work now!,@retoor I'm not a big AI guy, even chatgpt rarely says something useful for me :D,Debugging! What a great time! (im in so much pain),The target folder is per top level crate unless vscode does something weird You an change it via target-dir in a cargo .config file (https://doc.rust-lang.org/cargo/... ). Have one globally in your projects folder then you can have all artifacts in one place,@lorentz Man, hearing the @jestdotty story almost makes me agree with the people that say async rust was a mistake... It really wasn't -- and in fact I just prototyped fibers (async without await) in Rust and came to the conclusion that it's just objectively worse -- but it still makes me sad that someones first experience with Rust is async fuckery The language has so much else nice to give,@jestdotty I agree with you! (somewhat) Doing async rust well is very complex. Normal Rust is already complex but async makes it 2 times harder Unfortunately there isn't really a fix for that. It isn't that Rust is bad, because Rust is insanely good. It's not that async Rust is bad, because it's probably the best async implementation possible inside Rusts framework of rules It's just that.... Rust is hard, and frustrating, and sometimes really annoying. But it's such a beautiful language I just can't hate it,@jestdotty To answer more directly: * Yes the Rust community (despite the marketing) is toxic; really just as toxic as any other online community is toxic (I just wish they would stop saying that "oh we are so non toxic crap") * AI for Rust sucks, but really AI just sucks for most of non-trivial programming * Well yeah you can have async blocks which are move (and thus 'static) or not (and thus not 'static, which can be really useful),@jestdotty No, I get it :D When I was learning Rust I was so fucking furious I wanted to throw my computer out of the window I don't know, for me Rust is really something different. I still program in Java, C#, Python and JavaScript and I like all of these. They let me make something quickly. And I really like that But Rust also has something I really like: Despite the complexity and stuff, just the feeling of making something that's truly robust. Something that can't just break willy nilly, I really like that,@jestdotty move is a special keyword on closures specifically that means "any values touched by this closure should be moved in, instead of being referenced" I'm not *that* well versed on borrow rules (to be fair, they are insanely complex lol), but normally futures should work fine I suspect (thought I might be very wrong) that your issue is, that you return `impl Future` and you want to use that. It might be that you need `impl Future + Send` so that you signal that it is thread safe Not entirely sure though, variance is such a complicated topic,@jestdotty Also your problem may or may not be addressed by this new language feature: https://blog.rust-lang.org/2024/10/... (like I said, lifetimes are complex :P ),@jestdotty Also funnily enough, my fiber implementation in Rust would maybe actually help you :D It's not implemented yet, but it doesn't require async or lifetimes and just works.... it also has pretty big downsides (big virtual stack size, less flexibility), but it's a pretty cool experiment,@jestdotty Oh yeah, keeping things simple is always the right approach, especially in rust :D,@jestdotty Good question... parking_lot's deadlock check probably didn't find anything because if it did, your pogram would have soft locked instead of just been slow :D Just a quick check: Are you running in release mode? (--release),@jestdotty oh boy, that sounds fun <.<,Surely engagement baiting will make people buy from your scam company,@Lensflare He needs to know the arcane wisdom of shitting out a fat log Just in this case it's his nose,@retoor What happened to your account? :O,@jestdotty Even if simple make sure to never hold an std/parkinglot mutex guard across an await point It really could be a deadlock that at the start is unlikely due to a short lock duration but as you process data and fill up your data structures the critical section becomes longer and longer so the chance for a task trying to lock while another task currently has the lock goes up dramatically,@jestdotty If it starts with CollectPixels, G>, then it's fair to assume it's not Rust that's the problem ;),@jestdotty Await point is each point where you call .await The problem with holding a mutex guard across an await point is this: If one task locks the mutex then calls .await, it may now give up execution to another running task. If that second task tries to acquire the same mutex and both tasks are scheduled on the same os thread, you've now deadlocked the tread It happening at a later point in your program could be, like I said, because your critical sections are getting longer as time goes on, so the chance goes up,I.e. like this: https://play.rust-lang.org//...,Of course this cuck gets a reverse prenup lule,@retoor What say you now?? Huh, didn't think so 😎,@retoor Actually now that I think of it, I think AIs are very good at spoken languages because spoken lanugages -- despite all their explicit and implicit rules -- are SO much simpler than programming languages So no wonder they are bad at Rust :P They aren't a real human,@retoor Hey!!! Don't compare Rust to React! I take personal offence to that Rust is like a beautiful lady. Wonderful and elegant and strong React is like an obese women who can't stand up for more than 30 seonds Those are not the same!!,@retoor Nah... A lady of very high standing! Only the royality are good enough for the Rust lady :P,@retoor Looks like a good lady 😍,@retoor Nah it never made it,The biggest problem is AIs not being able to say when they don't know something Oh and that whole "oh sorry, you are totally right, here is some bullshit I just made up to conform to your expectations" schtick JUST TELL ME YOU DON'T KNOW SOMETHING GOD DAMMIT!!,@jestdotty @Lensflare It surely must be possible to have extra neurons trained on whether something was actually learned during training or not... Or I don't know, I'm not an AI engineer ¯\_(ツ)_/¯,Working at microsoft? 👀,Funny that they somehow forgot "white men" Guess it just isn't biased against them. Like asking "tell a joke about women" and "tell a joke about men" and it only does the latter.... Weird coincidences all around,@CoreFusionX Wait, they have a hlsl compiler? Or working on dxc?,@devRancid Let's call it cmake++,When it works cmake is awesome Problem is it never fucking works right,@retoor "Most of them are C" To be fair, 20-30 years you didn't have much choice :P,> Don't abuse the power guys "Sometimes foreshadowing is rather obvious",@retoor Okay, that makes sense :D,@antigermanist If you are so against discrimination -- as you claim -- why are you so easily dismissing possible discrimination? Of course I know the answer; It's because you never cared about discrimination as a concept, you only care if it happens against the groups you have identified as oppressed so that you can feel superior and excuse any unjust force you may use against others as morally acceptable No, discrimination based on race or gender isn't acceptable. Whether it happens against black people, white people, women, men, whatever,I swear, crocheting is like a super power You can just make thing appear like magic,Let's just counter spam the spammers Everything they spam we spam 2 times back,@antigermanist "I dont believe in identity politics", meanwhile: "a few white people are successful, therefore ALL white people as a group deserve to be discriminated against" You are so low intelligence it actually hurts,GNOME people, not linux GNOME "people",@CoreFusionX I know, I was just hoping I found someone I can complain to when the spirv backend in dxc is broken again lol,@kiki Don't worry about kiki, your life will be happier if you don't know,Thanks for the reminder, just did the first day :P,You can only get better at programming by doing a bunch of programming Make a project!,@antigermanist Price of what power Most men don't have power. You are using a tiny subset of successful men to judge all men by A 20 year old with a useless college degree, no friends and depression doesn't have power Yet you are perfectly willing to throw him under the bus because he dares being a white man,@antigermanist No I don't want privileges for white men, I just want governments, companies and schools to not be deliberately racist and sexist against them Equality for all. Really not a radical concept,@antigermanist Sure, people in some countries have more opportunities than people from other countries But how is some random 20 year old to blame for that. And so much so that he personally deserves to be discriminated against? You really need to stop thinking in terms of groups and start thinking as people as separate and distinct individuals, with their own flaws and virtues. Because groups can't feel pain or oppression, only individuals can. And by judging people purely based on their group identity, you are unfairly treating all the people who aren't perfect representatives for the average of the group,Not really. Yes effort doesn't mean success, but putting in effort also trains you to have a better work ethic, more patience and generally makes you a happier person,@antigermanist In the US whites and asians, especially men, are systemically discriminated against in most universities. That's just a fact Yeah there are other forms of discrimination against other groups too, but two wrongs don't make one right,@antigermanist There are many reasons (mostly historic, financial and cultural) why in uni people are more likely white than not But why do you just assume (without having given any proof) that that must be because of discrimination? WHILE(!) downplaying the existence of actually real, written in black and white, systemic discrimination against whites (and asians),It do so in germany as well! I love snow,Advent of code makes me feel stupid In 2023 I was already WAY out of my depth at day 10 or something lmao Some weird math stuff where you needed to figure out graph cycles in a huge interconnected list of entities so that you can reason about some edge case which leads to a proof of contradiction or something like hello??????,@Chewbanacas No it's definitely cool Just would be nice if I wasn't so dumb :P,@Tounai I tried doing it without rayon, both via an atomic int and just assigning fixed subsets of the list to each thread by the threads id, but both approaches were slower than rayon... Even though rayon is so much more complex... Haven't quite figured that out,@Tounai I'm not a big theory or maths guy either,@retoor Forking is copy-on-write by default. The forked process gets the same address space but it traps on writes at which point the OS clones the touched segment In you're C version you're not writing to any "shared" memory, so it doesn't have *that* much overhead. The OS still has to bookkeep the multiple page tables and stuff and (i believe?) has to flush TLB caches on context switch (even though it's the same program...), so it's still quite a bit slower than threads,@retoor I'll be interested how much faster that is :D,@retoor That's so weird!!!! My manual threading attempts in Rust where also slower: from 0.63 to 0.77 seconds How???? What is the magic sauce??,@retoor Look at the gittea issues :P You need to add target to .gitignore,@retoor Hmmm you're spawning as many threads as you have arguments, that's acutally very inefficient You should be spawning as many threads as you have cores (no idea how to query that in C) and then "claim" the next item for each thread in a loop When I was testing this in Rust, having either less or more threads than my processor resulted in significant lower performance,@retoor No, you really do need to do more than this :P It's not hard though! Just have an atomic int which each thread in a loop increments. If the returned value is above the number of args, return and kill the thread. Else, process the file in the list with the claimed idx,@retoor Having the builds doesn't make much sense, yeah partially because of linux/windows but also for other reasons. If you want to publish a pre-built binary don't publish the target folder, instead just copy the binary and publish that,@retoor 23:33 is time for python? :P Maybe time for another drink. Prost 🍺,@retoor Yeah but you have target/ in your git which you shouldnt :P,@retoor One in 6 hours? That's determination I'm on my 6th 5% 0.5L right now :P,@retoor One issue is pulling. If you have it in there I can't pull the repo because of differences, because my local compile artifacts differ from the repo!,@retoor I drink waay too much for sure.... Good on you for stopping! But yeah meth is DEFINITELY not better :P,@retoor Sorry, I'm not to deep into this stuff :P What's amphetamines vs meth amphetanines?,@retoor True! Tabacco taxes are insane!!!!,@retoor I can write a bit of python :P not my main language I used to hate it but now I kinda like it,@retoor I still wish they had operator overloading don't @ me,@retoor Didn't mean it personally :D Just as a saying,@retoor No! Sometimes things easy things are just good! (I say this as a Rust dev lmao) No honestly though. Yes C is cool, but writing a relatively hard program in C is just so much harder than writing it in C#, Java, Rust DESPITE C being a simpler language! The complexity of the language has to match the complexity of the problem! Else you are just doing a bunch of unnecessary stuff That's my thoughts,@retoor The "don't @ me" is a twitter meme, where people didn't want to listen to other people who disagreed with them But whatever listen to this: https://youtu.be/KOgvA98FifU/... Very good,@retoor Like in Rust I can just create a BTree with BTreeMap::new() In C using a btree will be hundreds of lines of code!!! And then it will not be that efficient because each key/value will be separately heap allocated.... Not so in Rust! (or at least it doesn't *have* to be in C, but it certainly will be),@Tounai Absolutely! Also the beauty about Rust is that it's just a modern language. It doesn't suffer from 20 years of backwards compatibility of horrible features that should never have been added (like c++) Idiomatic Rust code just looks like idiomatic Rust code. It looks beautiful (imo),@retoor How did you use a btree in C? Because I don't think that argument is gonna end well for you :P,@retoor Yeah that's all cool and stuff.... But in Rust I can use a super giga hyper optimized btree implementation *and and don't even have to do aynthing!*. All I have to do is BTreeMap::new() and I have one Here are the many thousands lines of code: https://github.com/rust-lang/rust/... Yeah it's SUPER complex!! But what do I care! I now have a super fast BTree and I don't even have to do anything!!!,@retoor But it isn't! Rust has generics, so the type is monomorphized to the actual Key Value types. It's optimized just for them Not to mention -- and with all due respect -- the Rust standard library implementation of a BTree is likely *extremely* optimized, so much more than you or me could even dream of It's an incredibly good BTree implementation. And I can just use it. In C you can't. Because C doesn't have generics,@retoor With all due respect, but you can't My Rust code for isspam was already only 1/3 the length of your C code, and still faster Propose something that Rust is bad at and I will show you it's better than C```