• 3 Posts
  • 121 Comments
Joined 7 months ago
cake
Cake day: December 16th, 2024

help-circle


  • I’m generally an en_*.UTF-8 user (even tried en_DK.UTF-8 for a bit for a reason we’ll come back to), so I don’t have a complete picture of it and would have to go look at the documentation or source for that, but I’d expect

    • documentation
    • date formats: en_DK.UTF-8 should give you ISO8601-formatted dates, if I can’t have that I at least want DD/MM/YYYY; the US-american nonsense is just plain unacceptable
    • sorting: e.g. Norwegian will have …zæøå and expect aa to be sorted as å, the Swedes have …zåöä, the Germans …zäöü, the Turks will want ı and İ sorted and upper/lowercased correctly, and there are some options around how you deal with “foreign” letters and diacritics.
    • Probably more stuff relating to LC_* that I can’t think of off the top of my head

    but in any case, an ls -l output should be different depending on your locale, and in ways you likely don’t even think about as long as it looks normal.








  • Yeah, and Android has had some 16 years of “optimize later”. I have some very very limited experience with writing mobile apps and while I found it to be a PITA, there is clearly a lot of thought given to how to not eat all the battery and die in the ecosystem there. I would expect that kind of work to also be done at the JVM level.

    If Windows Mobile had succeeded, C# likely would’ve been lower as well, just because there’d be more incentive to make a battery charge last longer.





  • Yeah, none of that with bat:

    λ bat $(type -P bat)
    ───────┬──────────────────────────────────────────────────────────────────────────
           │ File: /usr/bin/bat   <BINARY>
    ───────┴──────────────────────────────────────────────────────────────────────────
    λ bat < $(type -P bat)
    ───────┬──────────────────────────────────────────────────────────────────────────
           │ STDIN   <BINARY>
    ───────┴──────────────────────────────────────────────────────────────────────────
    λ
    



  • As if anyone cared if they had to wait a total of 3 seconds in a workday.

    That depends on when it appears. Some tasks kind of have to feel instantaneous, and there might be a pretty slim margin between okay and frustrating.

    But yeah, that’s the kind of savings that mostly matter on the scale of regional or national grid planning.

    Most engineers already write bloated, abstracted, glacial code that burns CPU cycles like a California wildfire. Clean code? Ha! You’re writing for other programmers’ academic circlejerk, not the hardware.

    It’s interesting that everybody else preaches ‘Write for the human first, for the machine second’.

    Yeah, the author seems to lean too hard into the “programming is electronics” model, where the opposing end is “programming is math and formal logic”; most of us take some mixed view. And most of us have higher correctness requirements than what a reasonable effort in memory unsafe languages like C and C++ gives us, so we trade away some machine efficiency. In the authors parlance, most of us aren’t interested in the demoscene circlejerk; we need to make tradeoffs between maintainability and everything else. Write-once code isn’t good enough.

    There have been attempts at establishing a third pole of “promptgramming is natural language” or whatever ever since COBOL promised programming in plain English, but the ambiguity of natural language when used to encode a business logic machine means that a “sufficiently advanced compiler” will have to be extremely advanced, on the order of including the manager and the entire engineering methodology.




  • No, we shouldn’t, and yes, you’re overthinking, but I am finding myself inching closer to the GNU argument for the desktop/server OS, as I now not only use phone/Linux, but also a bunch of Kubernetes/Linux, with distroless images. It’s all using the Linux kernel, and possibly glibc, but it’s not Linux as we know it. The desktop/server OS meanwhile might not have GNU coreutils in some years.

    But realistically we’ve been using Linux as the name for the family of desktop and server OS-es for decades now, and if you need to refer to the Linux kernel you call it “the Linux kernel” or just “the kernel”.

    Earlier GNU wanted HURD as an alternative to the Linux kernel—same GNU OS, different kernel. What instead is happening is that we’re keeping the Linux kernel but replacing the GNU part of the OS.

    Generally you just need to give as much information as the recipient needs to understand your message. Excess signals that don’t add information are what information theory calls noise.