• 0 posts
  • 6 comments
Joined 3 years ago
Cake day: June 21st, 2023
  • I don’t know about Europe. But the US (or at least the portion of the US federal government I deal with) has been trying to ban us from using memory unsafe languages for as long as I can remember. For us, Rust isn’t replacing C; it is replacing Ada. The only difference is that they have stopped granting exceptions for new code bases in memory unsafe languages.

  • Even without AI, Web Development was destined to be a short lived industry.

    Sure, it will be around in some form, but a lot of that space has been taken over by mobile app development. Another portion of the market has been taken over by social media (your business doesn’t need a website anymore; it needs an Instagram/twitter/etc). And yet another portion has been taken over by products like Wix that allow non-experts to make good enough websites themselves (even without AI).

    Really, thinking of “web dev” as a profession is a category error. You are a graphical designer and programmer that was working in the web industry. There are plenty of other industries that hire your profession.

  • I would argue that in your application, a wrong URL is a sever error. That error being improper handling of a client error.

    I’m not a web dev, but had a similar problem with a niche compiler I used to develop.

    We were pretty good at validating invariants at the mid and back-end. This meant that most user errors got reported as internal errors. Generally, these errors were good enough that users were able to get used to reading them and fix their code.

    It was next to impossible to actually get users to file bugs about this. Our internal error messages started with a banner that read “THIS IS A BUG IN <compiler name>. PLEASE REPORT TO <support email address>”. Despite that, whenever we actually got a bug report, it would inevitably start with “I’m pretty sure this isn’t actually a bug in the compiler, but I can’t figure out what I am doing wrong in my code”.

  • How do you get the folder?

    The trick with initramfs and initrd is that the kernel does not read them into memory. By the time the kernel boots, they are already in memory. This let’s you move a lot of initializing logic out of the kernel and into userspace. In some sense, this just moves the problem to the bootloader. But the bootloader already has to load the kernel, so that is no real loss.

    This is also incredibly useful for stateless VMs. You do not need to futz around with virtual drives. Just put everything you need into a CPIO archive, then pass that and and your kernel into QEMU (or your emulator of choice) and it will just work.

  • My big complaint with Wayland is that the ecosystem has not really developed an effective standardization process.

    With web browsers, you would get browsers doing their own thing; then copying each other’s thing, then writing down a standard for that thing, then all switch to the standard.

    With Wayland, you get: https://wayland.app/protocols/ For as old as Wayland is, there are 5 standard protocol extensions (plus some updates to the core protocol). A bunch sitting in the standardization pipeline. Then a whole bunch of redundant protocols because each compositor is just doing their own thing without even attempting to standardize.

    It doesn’t help that one of the major compositor (Gnome/Mutter) has essentially abandoned Wayland for everything beyond the core capabilities in favor of offering additional functionality over a separate DBus interface.