• 0 Posts
  • 54 Comments
Joined 8 months ago
cake
Cake day: January 22nd, 2024

help-circle
  • Oh yeah, rust has to win, but I think this was an empathy-free paradigm war masquerading as an innocent request for information. I think trying to bolt rust into Linux is a strategic error. It’s going to cause quite a lot of unnecessary friction and an awful lot of unnecessary technical complication and will be absolutely riddled with complexities and ways of doing things that are inherently unsafe. Instead build a posix compliant OS as rust from the bottom up and it’ll knock the spots off Linux and will be rock solid. It’ll take well over a decade but it’ll be far, far better.


  • TL;DR: Vast culture clash that rust guys didn’t perceive and C guys hated and false assertion that “you don’t need to learn rust” based on inexplicably naive lack of understanding that maintenance might be necessary.

    If someone builds a rust api on top of your C code inside your project, you have exactly five choices: (1) preserve the assumptions the rust code is making (2) only change your code if you have a rust expert to collaborate with handy (3) edit the rust code yourself (4) break the rust assumptions leading to hard to find bugs (5) break the build. The C guys hated all five of those options, and the rust guys told them they didn’t need to worry their pretty little heads about it. ON, they weren’t as dismissive as that, but they either didn’t understand those as issues or didn’t care about them or dismissed them.

    The rust guys were asking the C guys to tell them the semantics so that they could fix the type signatures for their rust functions and the C guys were reluctant to do that because they wanted to be able to change the semantics of that turned out to be useful to them. They didn’t want to commit so something that was documented in a way they weren’t familiar with because they felt that even if they wanted to, they couldn’t ensure their code was compliant with this specification going forward because they didn’t understand the rust type signature fully. (They got hung up on the self argument and launched a rant against OOP.)

    The rust guys knew instinctively that the Result return type meant that the operation could fail and could tell from the two arguments to that both in what ways it could fail and every kind of answer it could produce if it succeeded, but the C guys found almost none of that obvious. This was for just one function in the rust API, but it also radically changed the way of doing it. This one rust call replaced the whole algorithms of ask, check answer, if none, check this and that, otherwise do this blah blah blah. The C guys are used to keeping everything lean and simple with a single purpose and were being asked to think of a while collection of procedural knowledge and edge cases with a handle everything monolith. But they were audibly reluctant to commit to that being all the edge cases because they don’t think of all of those tests as one thing and instinctively wouldn’t write something that checks for all of the edge cases because (a) in a lot of circumstances the code they’re writing only needs to know that there was a problem and will give up quickly and move on and (b) they want to be able to freely choose to add other edge cases in the future like they normally do without having to worry about the rust code breaking.

    They weren’t complaining that they were being asked to write rust, they were complaining that they didn’t want to learn rust, and they were complaining this because they could see that to preserve all the rust API type signatures they would have to understand them, the expectations around them and memory safety principles, so that a rust programmer in the future wouldn’t have to change the rust type signature.

    The rust guys would have gained a lot more traction by just asking the C guys to keep a bunch of comments up to date detailing the semantics and error checking procedures, and promising to edit their rust API if the C code changes, but I suspect they didn’t ask for that because they know that no guarantees come from a comment and they want to be sure that the rust code works across all the possible scenarios and in rust culture, that is always documented in the type system where it can be enforced.

    The rust guys spoke like it was self evident that having a monolithic API with a bunch of stuff guaranteed by the rust compiler was best, but seem not to have realised that this is a massive culture clash because the C guys come from a culture of rejecting the idea of compiler guarantees anyway (because they have long had confidence in their ability to hand optimize their code to be faster than some prescriptive compiler’s output and look down on people who choose to have the guardrails up).

    They felt like they were being asked to help write an interface definition in a monolithic style that they have always rejected, to achieve goals that they have long resisted, in a language that they find alien, with no guarantees for them that the rust guys were going to stick around to agree and implement the rust changes necessary if they changed the C code, and with no confidence that they understood what would count as a breaking change at the rust level.

    This perceived straightjacket made them particularly cross. They complained about the inability to change their C code and its semantics and the need to learn enough rust to understand quickly what not to change, but they didn’t want to not change things and would need to edit the rust API at the same time as editing the C code if they didn’t want the rust build to break, and then there would be even more downstream changes from that, so realistically they would need not only to be able to understand the rust type signatures, they would need to be able to edit both the type signatures and the functions themselves, and basically maintain all the downstream rust, and they would want to be sure they were writing efficient rust, well aware that it took them decades to get to the level of extreme efficiency they write in pure C, a much simpler language.

    The rust guys said “Just tell us what your code means so we can write our type signatures”, but the C guys didn’t want to help create for themselves a prison whose walls were of a strange and intricate design they found hard to perceive, made out of materials they didn’t have experience working with. They felt like the first guys were asking them how all the doors, windows, chimneys, air vents etc of the house that they built by hand would ever be used, so they could encase it in a stainless steel shell and make it part of a giant steel city. The C guys said “but I might want to build an extension or a wider garage!” They claimed that the C guys didn’t have to learn how to weld or manufacture steel sheets, and that their house would be much safer, but for some reason this didn’t win the C guys round to the plan, and there’s a bunch of people online calling the C guys tech luddites for not liking the whole thing and saying that they were incorrect that they needed to learn rust just because the rust guys made that claim, but that claim is actually completely incorrect unless you think that it’s OK to stop the project compiling with your pull request or you think that changes to the C code should be banned wherever a rust API is built on top of it.


  • I saw the clip previously. The rust guys are absolutely assuming that the C guys would go for something because (a) the compiler guarantees it’s memory safe (b) the semantics would be encoded in the type system. They demonstrate this using rust terminology and algebraic data types. Algebraic data types are the bees knees, (but not with that syntax and clumsiness), and compiler guarantees are the bees knees, but that’s not how a C programmer who’s middle aged sees the world, it just isn’t. Your typical middle aged C programmer grew up telling pascal programmers that automatic array bounds checking is for wimps and real men use pointer arithmetic and their programs run five times as fast. They were always right because their programs did really run significantly faster, but now rust comes along and its fast and safe. Why wouldn’t C programmers like it? Because the speed was the excuse and the lack of guardrails was the real reason they liked C.

    I said it’s a massive culture clash that the rust folks didn’t realise they were having because they just assume that “memory safe” wins people round, whereas C folks value their freedom from automatic compiler-based safety, and here you are, sounding like a rust person, saying it isn’t a culture clash at all and that the rust folks are right about memory safety and the C folks are just being irresponsible.


  • Expecting C programmers to like a compiler-based approach to memory safety is like expecting petrolheads to like a car purely because it’s electric. They have always viewed compiler based memory safety techniques as guard rails for novices. In their view, good bowlers don’t need guard rails at the bowling alley. It’s a massive massive clash of cultures and the rust folks come into the discussion with an assumption that C devs would leap with joy at the chance to automate memory management. Rust and C are complete opposites, but rust programmers seem to assume that just because rust is fast C programmers will love it.



  • I insulted you because you invited me to and I found it so hard to resist, but actually, I just said

    OK, you’re a right winger who spends his time online defending racist liars who post inflammatory lies stirring up hatred and violence in my country and you won’t listen to reason and literally deny logic.

    Which was all very factual. So no, you’re not claiming it isn’t true because I kept it so factual, I didn’t feel you needed any more insulting than the straight up facts about our conversation. But then I afterwards went for an insult for which the evidence wouldn’t stand up in court for here:

    And I think I know why you’re spending the best part of a week online defending racist liars.

    And here you go again with the invitation:

    But yes go ahead and insult me, there’s not point in me denying it

    (Because it’s true, of course), and because you find it so hard to follow really, really simple, millennia-old logic like “A is true. If A is true B is true. Hence B is true”, I’ll spell the conclusion out for you: you support racist liars online because you yourself are a racist liar.








  • Their credibility and factual reporting metrics are off wry British newspapers in my experience. The bias seems not as far off on British papers if you take an American “centrist” point of view, but firstly, no, the bot isn’t up front about that perspective in its posts at all, and it’s not really up front about that perspective unless you count two or three clicks deep from one or other of the words in the footer. Secondly, the American Overton window is very far to the right on any international scale and the democratic party is pretty centrist or centre right by European standards. To be undecided between the batshit crazy loony alt right “alternative facts” authoritarian compulsive liar Trump and the Democrats isn’t a good basis for establishing the credibility of your bot or your website.

    They criticise British newspapers for reporting the results of a survey about private renters’ opinions, on the basis that the survey should have compared their views with those in different housing situations and hence wasn’t factual, and then on their website they have news stories whose headlines baldly just say that Trump said a thing, and the thing, as usual, isn’t even close to true.

    No, I don’t buy their credibility ratings, their factual reporting ratings and I have no reason to suppose that their bias ratings are correct for American sources partly because a bunch of people keep saying that it’s absurd that they claim that some source is left of centre, and most of the things it says about things I know about are incorrect and pretty much wholly in line with what a British Conservative would say.



  • Read the tweet. The logic goes A. If A then B. You’re struggling with deducing B from that? You’re forgetting that the rioters targeted asylum lawyers and hotels where asylum seekers are held. Where did the idea of last week’s violence against asylum seekers come from? It came from her tweet.

    I don’t care what she says about what someone said in Southport. She was the one who posted the made up name for the child killer. She was the one who posted the made up claim about the killer being an asylum seeker, and she was the one who posted the made up conclusion of violence.

    Her tweet itself is the incitement to violence. She’s the one who made the announcement online. That there is the crime.

    Don’t do it, boys and girls. Don’t encourage people to violence on the Internet. It’s illegal in the UK. Your racist lies and support for violence aren’t welcome in Great Britain and we’ll very happily see you behind bars along with the far right nut jobs who heed your dog whistle. If this scares any of you personally, good. Not sorry. Don’t post support for violence on social media.


  • You have speculations but I have to provide external evidence? Weird disparity of expectations between you and people who disagree with you on social media.

    First you blamed the politicians for scapegoating her, and when I pointed out that this was the police not the politicians and challenged you on that point, suddenly I was making a straw man argument? Unless you go back and edit what you wrote, everyone can see that you did make that claim. Now it’s the police who are at fault for the kids being killed and the riots happening? You’re sick.

    You keep making out that if I don’t have a dossier of evidence about her planning the riots that somehow that makes her innocent and you keep making these BS naive interpretations of her malicious lying racist riot-inducing tweet. OK Mr Evidence, where did the idea of the killer being an asylum seeker and that violence rightly would result come from? Because the police traced those ideas back to her and she doesn’t have a plausible source, and crucially, she was the one who made the riot-inducing announcement online. That’s the offence she’s charged with. The evidence is the tweet itself. That’s the crime right there.

    It’s so implausible that the far right rioters targetting asylum lawyers and hotels where asylum seekers are kept is a result of anything other than the idea that she planted on the Internet.

    You’re denying modus ponens, one of the most basic logical deductions, known for millenia, when you deliberately misinterpret her tweet as innocent and the question I have to ask is why the **** you’re supporting her and acting like her defence lawyer?

    Don’t write your race hate on the internet and don’t invent a lie about child murders and call for violence. If the far right nut jobs heed your call, the police will correctly come for you.

    Thankfully, I don’t live in a fucked up country where the legal apparatus can chase me down for other people misinterpreting my words.

    I’m slightly alarmed but not really super surprised to find that you responded to this as if it were a personal attack against you rather than against her.

    Just using my freedom of expression to share my concerns on the extent to which you appear to identify with the racist lying riot-inducing rich Internet troll.




  • There’s a logical reasoning thing called modus ponens (it has a latin name because it’s not exactly new). It goes
    A. If A then B.
    Hence B.

    That’s exactly how she called for all hell to break loose. You can’t claim that you didn’t mean B when you say “A. If A then B.” It’s just that A was false and “If A then B” was also false. Nevertheless, a lie-ridden far right call to violence over the murder of innocent children is what it was, and it was heeded by the far right nut jobs who rioted over the issue, targetting the immigration lawyers that had nothing to do with the deaths of the children until she posted the lie. She incited violence. Jail. Good riddance.

    Keep your far right racist lying incitements to violence to yourselves, or you’ll end up in prison, fascists! You’re not welcome in the UK and you never have been. Thousands of ordinary people counter protested against hundreds of racist agitators. Good.