• 0 Posts
  • 12 Comments
Joined 2 years ago
cake
Cake day: June 9th, 2023

help-circle
  • “So uh… Hi, I guess I’m a pretentious douche. IM SMRT”

    It’s okay, you’re not nearly as bad as me, who instinctively shifted into a judgemental mindset after reading the first line of your comment (before checking myself on that nonsense)

    I suppose I spent many years inadvertently training myself to be an asshole in this manner, so I shouldn’t be surprised that it requires regular work to remain a “recovering asshole”, rather than just an asshole. Because you’re quite right: like what you like, fuck the haters indeed


  • “I’ve seen 5+ clones of Papers Please. I doubt that if you surveyed people describing the mechanics that they would be interested especially if Papers Please never came out.”

    I think this is a great example. You can’t distill things down to a formula because these things exist in conversation with each other. An example that comes to mind is the game “Not Tonight”, a Brexit themed Papers Please clone. Mechanically, it does very little to distinguish itself from papers please, but narratively, that’s sort of the whole point: It being a clone specifically leverages the energy of “Glory to Arstotzka” to satirise the UK’s institutional racism.

    Surveys don’t capture that games like this aren’t just clones of Papers Please, they’re actively in conversation with Papers Please



  • (n.b. I am neither a rust, nor C developer so I am writing outside my own direct experience)

    One of the arguments brought up on the kernel.org thread was that if there were changes to the C side of the API, how would this avoid breaking all the rust bindings? The reply to this was that like with any big change in the Linux kernel that affects multiple systems with multiple different teams involved, that it would require a coordinated and collaborative approach — i.e. it’s not like the rust side of things would only start working on responding to a breaking change once that change has broken the rust bindings. This response (and many of the responses to it) seemed reasonable to me.

    However, in order for that collaboration to work, there are going to have to be C developers speaking to rust developers, because the rust developers who need to repair the bindings will need to understand some of what’s being proposed, and thus they’ll need to understand some level of C, and vice versa. So in practice, it seems nigh on impossible for the long term, ongoing maintenance of this code to be entirely a task for the rust devs (but I think this is taking an abnormally flexible reading of “maintenance” — communicating with other people is just part and parcel of working on such a huge project, imo)

    Some people have an ideological opposition to there being two different programming languages in the Linux kernel full stop. This is part of why the main thing that rust has been used for so far are drivers, which are fairly self enclosed. Christoph Hellwig even used the word “cancer” to describe a slow creep towards a codebase of two languages. I get the sense that in his view, this change that’s being proposed could be the beginning of the end if it leads to continued prevalence of rust in Linux.

    I haven’t written enough production code to have much of an opinion, but my impression is that people who are concerned are valid (because I do have more than enough experience with messy, fragmented codebases), but that their opposition is too strong. A framework that comes to mind is how risk assessments (like are done for scientific research) outline risks that often cannot be fully eliminated but can be reduced and mitigated via discussing them in the context of a risk assessment. Using rust in Linux at all hasn’t been a decision taken lightly, and further use of it would need ongoing participation from multiple relevant parties, but that’s just the price of progress sometimes.









  • Congrats! It feels incredible when a " ¯\_ (ツ)_/¯ worth a try!" repair turns out well; I can practically feel your astonished jubilance through the screen.

    I’ve got to the point where I have enough experience fixing things that I feel completely confident in my ability to have an initial look at the problem (possibly opening the device), and to know whether I’m likely to break things worse by dabbling. Sometimes this means immediately closing up the device, but increasingly often I feel comfortable taking a crack at the problem, and sometimes it even works!