ꌗꉓꃅ꒒ꍟꀎ𝔻ꍟℜ𝕊𝕋𝕌ℝℤ

South African, living in Germany, left-leaning, deeply aligned with the opening lines of the Grundgesetz that declare all people to have inherent worth. Nerdy of nature and short of stature, I bend code and words to my purposes yet revel in my sports and thrive in the hills and high places.

  • 5 Posts
  • 11 Comments
Joined 3 months ago
cake
Cake day: December 2nd, 2024

help-circle
  • I’m sure that dead-naming is far worse but would I be wrong to think that this lies in the same vein as dead-naming?

    This is fascinating to me. I’ve never changed my name so I cannot have been dead-named but I do know how I feel when my family treats me in a way that denies the facets of my identity that I have accepted in my more recent adulthood – concretely: my neuro-diversity, because they don’t know that I don’t think of myself as binary.

    Of course, these are not the same thing but people understand differences by bridging gaps based on common ground and all of this discussion builds common ground, in my mind. That’s why I’m asking.


  • I cannot agree.

    I have very week, most frequently non-existent gender allegiance but I do know that there’s a tonne of stuff that’s odd about me and I often am offended or driven off by people who do things that simply don’t work with my mind-set so I can well understand why being “misgendered” (sarcasm quotes: yours.) might just be a thing that drives someone else away.

    I’m not here because I’m accepting “fault” upon myself. I’m here because I want to be part of a tolerant future and I feel that this is important given the trajectory straight into hell that we are clearly currently set upon. I’m here because I’d at least like to ask “why” before I decide how I will behave in relation to others.

    I choose to live as if the world was one in which I’d choose to live and, in that world, people get to choose their identities however they please. I can’t relate to why someone takes offence at “they”/“them” but, if they are offended, I can and will accept that and, conversely, I would wish that they might realise that I will surely make mistakes and get this wrong even if I do or did understand.

    This is the only fair deal: I try in good faith, they understand and offer the benefit of the doubt.

    I don’t perceive any attention-seeking but that’s besides the point. Even if they choose to seek attention, I don’t begrudge them that: sometimes, people seek attention. Why should I object?


  • Your comments might be more relevant to me than you know. I don’t know if I’m “agender” or something else. I know I very definitely do perceive that I have a gender, sometimes. Maybe an hour here and there, an evening, … but I can definitely identify with that “don’t even perceive my own gender” bit for the vast majority of my life, integrating over time.

    And, as you can clearly tell, I haven’t perceived my own gender intensely enough to bother to find the right label for it so I mostly just let the world slap whatever labels they think makes them happy.

    I guess that that annoys me, though, now that I come to think about it. I do know that I’m not what they label me. Most think I’m heterosexual male because that’s how I suppose I present in real life – how I dress and what you’d see on the “FKK” swimming lawn – and the rest label me “gay”-as-in-perjorative (I’m from a toxic-masculine culture, born in the 80’s, with a voice pitched too high and a body that’s not tall enough. What else would you expect?) I’m definitely neither of these. Or: nearly always neither of those and never only either of those.

    Maybe this unacknowledged irritation is why I’m here, looking to find the right way to treat others even while I’ve long given up on being treated right by the wrong sort of others? (I am exceedingly lucky in that I can fly below the radar and live in a safe country so I literally can treat people who deny my existence as simply beneath my notice.)


  • There are many reasons.

    • Multiplayer games will only target Windows, officially, and might even ban Linux altogether because of the perception that anti-cheat is more costly, impossible, or just hard under Linux. True Kernel-level anti-cheat is not possible on Linux like it is on Windows but the real reason is risk: anti-cheat is an arms race between cheaters (and, critically, cheat vendors who would sell cheat tools to them) and developers and those developers want to limit the surface area they must cover and the vectors for new attacks.

    • The biggest engines, like Unreal, treat Linux as an after-thought and so developers who use those engines are not supported and have to undertake an overwhelming level of extra work to compensate or just target only Windows. When I was working on a UE5 project, recently, I was the only developer who even tried to work on Linux and we all concluded that Linux support was laughable if it worked at all. (To be fair to Tux the penguin: we also concluded that about 99.9% of UE5 was -if-it-worked-at-all and the other 50% was fancy illumination that nobody owned the hardware to run at 4k/60fps and frequently looked “janky” or a bit “off” in real-world scenarios. The other 50% was only of use to developers who could afford literal armies of riggers and modellers and effects people that we simply couldn’t hire and the final 66% was that pile of blueprints everyone refused to even look at because the guy who cobbled them together had left the team and nobody could make heads or tails of the tangle of blueprinty-flowcharty-state-diagramish lines. Even if the editor didn’t crash just opening them. Or just crash from pure spite.)

    • A very few studios, like Wube, actually have developers who live in Linux and it shows but they are very few and far between. (Factorio is one of the very nicest out-the-box, native Linux experiences one can have.) Even Wube acknowledge that their choice to embrace Linux cost them much effort. Recently, they wrote a technical post in their Friday Factorio Facts series about how certain desktop compositors were messing up their game’s performance. To me: this sort of thing is to be expected because games run in windows and render to a graphics surface that must be composited to some kind of visible rectangle that ends up on screen: after a game submits a buffer to be presented, nearly all of what happens next is outside of the games control and down to the platform to implement properly. Similarly, platform-specific code is unavoidable whenever one needs to do file I/O, input I/O, networking or any number of other, very common things that games need to do within the frame’s time budget – i.e. exceedingly quickly.

    • Projects which are natively developed on Linux benefit from great cross-compilation options to target Windows. This is even more true with the WSL and LLVM: you can build and link from nearly the same toolchain under nearly the same operating system and produce a PE .exe file right there on the host’s NTFS file-system. The turn-around time is minimal so testing is smooth. For a small or indie project or a new project, this is GREAT but this doesn’t apply to many older or bigger projects with legacy build tooling and certainly does not apply as soon as a big engine is involved. (Top tip: the WSL will happily run an extracted Docker image as if it was a WSL distribution so you can actually use your C/I container for this if you know how.)

    • Conversely, cross-compiling from Windows to Linux is a joke. I have never worked on a project that ever does this. Any project that chooses to support Linux ports their build to Linux (sometimes maintain two build mechanisms) if they weren’t building on Linux for C/I or testing, already, anyway. (Note: my knowledge of available Windows tooling is rather out of date – I haven’t worked with a team based on Windows for several years.)

    • Godot supports Linux very nicely in my experience but Godot is still relatively new. I expect that we might see more native Linux support given Godot’s increase in population.

    • What’s that? Unity? I am so very sorry for your loss …

    • If you’re not using a big engine, you have so many problems to handle and all of them come down to this: which library do you choose to link? Sound: Alsa, PulseAudio or Pipewire: even though Pipewire is newer and better, you’ll probably link PulseAudio because it will happily play to a Pipewire audio server. Input: do you just trust windows messages or do you want to get closer to some kind of raw-input mechanism? Oh: and your game window, itself? Who’s setting that up for you, pumping your events and messages and polling for draw? If your window appears on a Wayland desktop, you cannot know its size or position. If it’s on X11 or Win32, you can. I hope you’ve coded around these discrepancies!

    • More libraries: GLFW works. The SDL works. SDL 3 is lovely. In the Rust world, winit is grand. wgpu.rs is fantastic. How much expertise, knowledge and time do you have to delve into all these options and choose one? How many “story points” can you invest to ensure that you don’t let a dependency become too critical and retain options to change your choice and opt for a different library if you hit a wall? (Embracing a library is easy. Keeping your architecture from making that into a blood pact is not.)

    NONE of this is hard. NONE of this is sub-optimal once you’ve wrapped it up tight. It is all just a massive explosion of surface-area. It costs time and money and testing effort and design prowess and who’s going to pay for that?

    Who’s going to pay for it when you could just pick up a Big Engine and get the added bonus of that engine’s name on your slide-deck?

    And, then, you’re right back in the problem zone with the engine: how close to “first-class” is its Linux support because, once you’re on Big Engine, you do not want to be trying to wrangle all of these aspects, yourself, within somebody else’s engine.


  • That’s fair. Insightful.

    I have very nuanced bi-sexual tendencies and, to me, I don’t personally have strong feelings towards my own pronouns but I have not personally realised any deep affiliation with “male” (my assigned gender) or “female” but I can well imagine that it is much more critical for a trans person who has realised an identity deeply enough to inspire them to transition.

    I mean: I don’t even care about my own gender – call me whatever. At certain times, I have an attraction one way or the other. I’m married to a woman. I’m a father. These facts are all true but I honestly couldn’t care what pronouns or gender or sex you write down, for me. This is probably why I started this topic: I’m trying to understand how this is for others who care far more than I do.

    I don’t care but I do care to honour those who do care. I certainly care to honour those who care enough to choose to transition!

    But oh dear, though. That does not help me. I’d love to call your hypothetical trans woman a woman on purpose but that would require me to notice what she thinks “normal” people “normally” notice and, yeah: autistic. Maybe I’ll stop defaulting to “they” / “them” – at least online – and default to confused-blob-cat or something for pronouns.





  • I found this through other means[1] and appreciated it. It introduced new ideas to me while also describing a lot of things that resonate with me, personally, in words that I wouldn’t have strung together, myself.

    In summary, the argument it makes is that “inclusivity” in games is performative at best and, nearly always, just a token gesture that looks good on the tin and gets praised by the mainstream press but is always implemented in a way that is aimed squarely at cis-het. male players.

    One of the strongest examples used to support this is how female player-characters are usually intended to be characters that the player observes, like a voyeur, in the second-person, and player-characters which are intended for the player to identify with and project themselves into are invariably cis-het. males. Lara Croft vs Geralt.

    I’m intending to watch it through, again, soon and it might not stand up to the scrutiny of a second, more critical viewing but I certainly found it thought-provoking on round 1.

    I’d love to hear other opinions on the video’s arguments, though.


    1. Unbelievably, 'twas the YT Algorithm. Is it because I block ads? Perhaps YT has truly given up all hope of brain-washing me and just fallen back on giving me more of what I want[2] like a parent tired of a child’s nagging? Is this some kind of gas-lighting initiative? Are Alphabet actually not that evil? ↩︎

    2. Kinda wish the creator didn’t have to skirt around “acceptable content” policies to survive YT, though. While watching it, I felt their frustration at needing to self-censor coming through and it did threaten to frustrate their argument. ↩︎




  • We won’t.

    It might look likely through the lens that is appropriate for the rest of the “democratic” world but that lens is not reliable for Germany. In the rest of the “democratic” world, the extreme fascists are hidden much like a dirty secret and so any noise from them that slips through is hugely amplified because it signals the existence of a much larger and more significant fascist movement. In Germany, the extreme right are in clear sight and much more of their noise gets through and the lens that amplifies that noise makes it seem that they might win.

    That same democracy will ensure that they do not. In Germany, we can see them for what they are and their seats in parliament represent a more accurate measure of their support base. That support base is tragically large and significant but not enough to give them more than seats in parliament: they do not have a majority and would only form a majority through a coalition with other parties and, here, the transparency is a disadvantage: other parties who stand to be part of the next coalition won’t join with the AfD.

    Our democracy is not a two-party system. They will not win by jerrymandering or by playing the game. They cannot even sneak power by having a better candidate for key seats because individual seats are won through “first votes” while winning a majority in parliament would require them to take a majority of “second votes” – the system would put those “better” candidates in their seats while correcting the share of seats, overall.

    The reason that they are given any space at all is also to their detriment: in Germany, there is exactly one way a political party can be blocked and that is if they contravene the constitution: Die Würde des Menschen ist unantastbar, usw.

    This is why we tolerate their presence and one sees the noise they make: they haven’t – yet – violated that consequentially, and so they cannot be blocked. Blocking the AfD would be great – I’m all for it, in isolation – but it would compromise something about German democracy and the cure would be worse than the disease because it would only silence their noise: the movement would proceed apace and their movement is, itself, a symptom of a greater problem: there are people who are ill served by the status-quo and the AfD seem to be an “alternative.”

    If the AfD ever did gain power, however, they simply could not do what they insinuate because that would tear it and the constitutional court would smash them. This is also true if they form part of a coalition: that coalition could not execute on the plans they hint at.

    Now, “unantastbar” is a fantastic German word that cannot readily be translated to a single English one but one aspect of it implies immeasurability. The AfD could never pass legislation that discriminated against LGBTQ+ people because that would necessarily divide “people” into two groups and apply a comparator between them and that cannot be done if people’s worth is immeasurable. The constitutional court knows this, as do the defence teams who have surely prepared this argument for the day when it becomes necessary.

    Germany is by no means perfect and even German democracy is flawed in some ways but, largely, Germany is a good place to live. There are many archaic laws that persist – the gendered language and gendered baby name things count among a legacy of problems – but, largely, these are being progressively overturned. (Albeit slowly.)

    Sometimes, we make a few steps forward and then a few (hopefully fewer) backwards but, largely, I think Germany is on the right track.


  • I think I’m in agreement. I’m also inspired by Cory Doctorow’s recent piece in which he talks about how his blog – pluralistic.net – is ascetic: basically just a static site that spreads through other channels.

    Hugo seems ok for this, I’m thinking, along with just about any static site hosting and my own domain name.

    Moving into the new year, I’m going to actually do this properly but one key objective is this: I am determined only to write properly on positive topics, creativity, passion, delight and inspiration and to ignore all the hate and the destroyers and the bad stuff.

    The TL;DR of my thesis is basically this: I only wish to write about topics I think are worthy of being read and, for me, any work is only worthy if the reader actually stands some slight chance to gain something from ingesting it.

    I’m very nearly 40 years old, recently a father, unemployed, burned-out, and of such a confusing string of nationalities that I don’t get to vote anywhere in the world despite having worked and paid taxes in three countries on three distinct continents, all of which are supposedly “democracies”. As a reader, I can do little against the haters and the destroyers and the plutocrats and I need learn nothing new to recognise them and see them for what they are. As a reader, then, I get no worth from reading more assessments of the “bad”, neither is there any shortage of scriveners far more informed and skilled than I who write about that bad. As a writer, I am only interested in writing about the “good”: things that other readers can actually derive value from ingesting.

    That said, I know I need an outlet to vent in and I know I need another space to experiment in. I don’t mind if the “proper” journal and the free-association style blog become unofficially associated with each other for much the same reasons why I don’t mind when my personal stuff and my open-source contributions signed under my real-life name get associated: I’ve nothing to hide. (I choose to live in the world I wish existed: a world in which I need not hide.)

    But I don’t want them to be too easily linked because that sort of thing becomes a career limiting move simply because dumb algorithms will readily cancel one’s professional profile long before any actual human ever sees one’s job application or C.V. in a real-life setting.

    I’m thinking I’ll use the WriteFreely space as the sand-box and do the real essays, properly, with something like Hugo.

    I also am a huge fan of personal pages and wish to see their return. Would you join a web-ring with me?




  • I’m fairly certain that the original authors recommended using another generator – like split-mix-64 – to extrapolate low-entropy seeds to the required state width. Using high-resolution time as a seed is common practice throughout software development and I think they were envisioning split-mix-64 to be adequate to get decent seed entropy from a linearly increasing timestamp. I’m certain it would be adequate to widen 32-bit seeds to the required width.

    If my memory is correct, the reasoning was that split-mix-64 – although not as robust a PRNG as the XO*SHIRO family – is trivial to compute and reaches a reasonable level of entropy without needing many iterations.

    It looks like[1] the state width is 256-bits, anyway – not 64 bits.


    1. I’ve lost my references and don’t have time to go digging through archives right at the moment but I pulled up my Rust library that implements my PRNGs (which is a port of a C++ re-implementation that exploited learnings from implementing a C# library to replace Microsoft’s original, slow .NET PRNG, which was based on the research paper’s reference implementation, and ran in production for years and years…) ↩︎