• 0 Posts
  • 5 Comments
Joined 2 years ago
cake
Cake day: July 8th, 2023

help-circle
  • Linux requires tinkering and Windows doesn’t? Is that some alternate-universe version of Windows? In my experience, the difference is social/psychological. When Windows fucks up, “everybody uses it,” so the blame falls on the masses, not the user, who was just going along with what’s normal and expected. People sort of mentally elide memory of the Windows fuck ups, because that’s just how Windows is.

    Linux is different and weird, and you have to stray from the herd to use it. Straying from the masses is scary, because when Linux fucks up, it’s your fault for being contrary. That threat to one’s place in the social order is quite memorable. Hence the reluctance of Windows users, who hate it, to even consider trying another OS that they know nothing about.

    I never switched from Windows. I never used Windows as my main OS. I had an Amiga, then learned Unix on SunOS, so I was used to being weird. Once I got a PC, I used FreeBSD. It did require a lot of fiddling back in those days, and when I got tired of that, I switched to Ubuntu, which was amazing in that it Just Worked™. (Aside from manual installation of the Windows driver for the PCMCIA WiFi card with NDISWrapper.)

    (I still do tinker with it, and sometimes break it, but the base OS has been rock solid. I noticed the other day that my main PC was installed with Ubuntu 18.04, and upgraded to 24.04.)


  • It depends how you define it. I first installed Slackware at work on a retired IBM PS/2 in '94 or '95, because somebody was working on MicroChannel bus support. (That never materialized.) Later, we checked out Novell Linux Desktop, maybe Debian, too. At a later job, we had some Red Hat workstations, version 5 or 6, and I had Yellow Dog Linux on an old Power Mac.

    At home, I didn’t switch to Linux until Ubuntu Breezy Badger. It was glorious to install it on a laptop, and have all of the ACPI features just work. I had been running FreeBSD for several years, NetBSD on an old workstation before that, and Geek Gadgets (a library for compiling Unix programs on Amiga OS) before that.


  • One that Linux should’ve had 30 years ago is a standard, fully-featured dynamic library system. Its shared libraries are more akin to static libraries, just linked at runtime by ld.so instead of ld. That means that executables are tied to particular versions of shared libraries, and all of them must be present for the executable to load, leading to the dependecy hell that package managers were developed, in part, to address. The dynamically-loaded libraries that exist are generally non-standard plug-in systems.

    A proper dynamic library system (like in Darwin) would allow libraries to declare what API level they’re backwards-compatible with, so new versions don’t necessarily break old executables. (It would ensure ABI compatibility, of course.) It would also allow processes to start running even if libraries declared by the program as optional weren’t present, allowing programs to drop certain features gracefully, so we wouldn’t need different executable versions of the same programs with different library support compiled in. If it were standard, compilers could more easily provide integrated language support for the system, too.

    Dependency hell was one of the main obstacles to packaging Linux applications for years, until Flatpak, Snap, etc. came along to brute-force away the issue by just piling everything the application needs into a giant blob.



  • I feel like there’s a lot of information missing here. VLANs operate at OSI layer 2, and Immich connects to its ML server via IP in layer 3. It could talk to a remote server in Ecuador over the Internet, so the layer 2 configuration is irrelevant.

    What you have is an issue of routing IP packets between subnets. You just need to set up a rule on your router to allow the Immich server on the Internet-facing IP subnet to connect to the correct port(s) for the ML server on the private subnet. Or maybe use the router’s port-forwarding feature. Lacking further information about the setup, I have to be vague here. In any case, it’s conceptually the same as punching a hole in the firewall to let IP packets from an Immich server in Ecuador get to the ML server on your private subnet, except that the server is not in Ecuador.