• 2 Posts
  • 28 Comments
Joined 6 months ago
cake
Cake day: December 16th, 2024

help-circle

  • 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.


  • Yeah, road wear scales with mass⁴ afaik, so if the average bike with biker weighed 100kg (it doesn’t) and the average car weighed 1000kg (it doesn’t) you’d need 10000 bikes to make as much impact as that one car. Since cyclists are generally lighter and cars heavier, the ratio is much higher.

    I would also imagine that the lower speeds and acceleration a cycle is involved in contributes—the tyre just isn’t subjected to as much force.



  • You’ll likely also want to check out ruff for linting and formatting, by the same company that makes uv. It doesn’t enable a lot of lints by default, but there’s a long list of checks to enable.

    They also have a typechecker, ty, which is still in early alpha. If it’s as good as their other tools I expect it to become the standard for typechecking Python. Currently you’ll likely want to go with pyright for that.







  • 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.










  • Also not having used Java for decades I’ll not comment on the state of their abstractions, but

    IMO at the extreme being unable to shed the past means negatively hindering progress. I think modern Java versions show a budding shift in mentality

    both reminds me of similar complaints against C++ (and with a sizeable amount of users wishing for an ABI break), and how weird it is to get both complaints like that and over the fact that so many shops are on ancient versions. They’ve moved slowly, but it doesn’t seem like anything was slow enough for a lot of shops, which indicates they likely could’ve moved faster without changing which versions users would be at today.


  • At the user level they’re just tools, not programming languages. Python users are generally moving to ruff (and uv) because of ergonomics: It works well and really fast which makes for a smooth experience in-editor. Plus using fewer tools to achieve a similar result is generally desirable.

    And for a complete newbie like someone taking a course, I think there’s no “sticking with” to speak of. Might as well just skip over the tools people are migrating away from and start with the tool people are migrating to.