• 0 Posts
  • 65 Comments
Joined 1 year ago
cake
Cake day: June 2nd, 2023

help-circle












  • Because web development sucks, web developers are always trying to reinvent web development such that it doesn’t suck, and they keep failing.


    They keep failing because it’s impossible, and it’s impossible because the requirements are directly contradictory.

    • Web application code must be simple and understandable (which requires the application to use a minimum of libraries and frameworks), but web applications must look and feel modern and fancy (which requires big, complicated frameworks).
    • Web development must be easy (which requires the project to be written in JavaScript or something similarly simple), but web applications must have sophisticated functionality and not crash (which requires the project to be written in TypeScript, Rust, or something similarly non-simple).
    • Web development must be easy (which requires the entire project to be written in a single language), but web applications must work to at least a basic degree with scripting disabled (which requires the project to contain non-trivial amounts of HTML and CSS in addition to JavaScript/TypeScript/Rust/etc).
    • Web applications must be fast and not crash (which requires a compilation step with type checking), but it must be possible to iterate very quickly (which requires there to not be a compilation step).
    • And so on.

    And they keep failing because, quite frankly, they don’t know how to succeed. Most web developers are not grizzled 50-year-olds with decades of experience and a solid understanding of things like type systems and build automation, and most grizzled 50-year-olds with decades of experience and a solid understanding of things like type systems and build automation want nothing to do with web development. Microsoft somehow managed to scrape together enough exceptional individuals to create TypeScript, but they seem to have exhausted the supply of such individuals.

    Most web developers don’t even seem to fully appreciate what TypeScript does and why it’s important, let alone have the skill to write similarly sophisticated tools themselves. Consider, for example, Vite not running TypeScript type checking with every build. Vite’s developers cite compilation speed as their motivation for cutting this corner. These people clearly do not understand the importance of correctness checking.

    Another example: as far as I can tell, no web application build tools track dependencies between source files for incremental compilation, nor am I aware of any standard format for compilers (TypeScript, Sass, Babel, etc) to communicate that information to the build tools invoking them (Webpack, Vite, Grunt, etc).


    Every once in a while there’s a ray of hope, like TypeScript, but that’s all it is: hope. The web developer experience has never been anywhere close to the caliber of developer experience you’ll get with a language like Rust, and sadly I don’t foresee that changing any time soon.

    And no, htmx is not the answer to our prayers. It seeks to fix HTML, and HTML is not what’s fundamentally broken.


  • I’m typing this on a ten year MacBook Pro

    Lucky you, I guess, because I sure haven’t had such good fortune.

    that is running a currently supported version of MacOS

    How is that possible? The almost-dead MacBook I mentioned is younger than yours and is stuck on Monterey.

    and runs as fast as the day I bought it.

    Probably. I didn’t say anything about how fast they are, because all common platforms in use today still run reasonably well on decade-old hardware.

    If it had 10ish GB of RAM, at least. Browsers eat RAM like popcorn.

    I have a pile of Dell and Lenovo Windows laptops of similar age that can still run but are basically doorstops or suitable for beater Linux or BSD machines, definitely not daily drivers.

    I’m guessing you didn’t pay $2500 for them, though. That’s down to specs, not manufacturer. Apple hardware is almost invariably high-spec and therefore quite fast, but Apple thankfully doesn’t have a monopoly on fast computers.





  • How will I notice when the spare fails, if it’s only a spare and I don’t regularly use it? Then I’m down to only one key, and as any grumpy backup admin will tell you, if you have only one copy of something, you have zero copies.

    I would have a key plugged into the computer pretty much all the time when I’m working, so anyone who compromises the computer can impersonate me as long as I’m at work. This would be mildly inconvenient to the attacker, but wouldn’t actually stop the attacker. And if the computer isn’t compromised, how is anyone going to get into my GitHub account even without 2FA? They certainly aren’t going to do it by guessing my 16-character generated password or Ed25519 SSH key.

    Something-I-know is worthless for authentication in the age of GPU password cracking. Most humans, including myself, do not have photographic memories with which to memorize cryptographically secure passwords. We’re all using password managers for a reason, and a password database is something you have, not something you know.



  • So, you propose that I live in a state of perpetual nausea from eating nothing but horrid-tasting, questionably-nutritious, plant-based “food” instead of actual food, and then die in the apocalypse anyway? No thanks. Civilization is done for, living in it is miserable enough already, and I am not interested in sacrificing what few shreds of happiness remain in order to accomplish basically nothing.

    The only way to avert the coming disaster is decisive, mandatory action from the top of society on down, and that obviously isn’t going to happen, so the best I can realistically hope for is to live it up and be dead before it gets really ugly.

    But I still do what I asked of others: I reduce my footprint

    Not as much as you could. You still live in shelter, use electricity, exhale carbon, eat carbon-absorbing plants, and excrete methane. Humanity’s very existence is driving global warming. There is no escape.

    support workers’ rights

    running for office

    working towards things like ending harmful subsidies

    None of these things are going to happen. The rich will string you up by the toenails before they let you derail their gravy train, and your fellow proles will cheer as they do it. That’s why we’re doomed: powerful people are enforcing our doom, and everyone else worships them.