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

help-circle
  • I have a couple of suggestions to add:

    I was considering leaving the other site before the API fiasco because it felt like so many users approach engagement as rhetorical combat, that is, the point of discussion is to defeat the other person. Instead, think one of Covey’s habits of highly-effective people: “Win-win, or no deal.” Approach discussion on the Fediverse as a collaborative act, in which you’re exchanging ideas with another person. Even if you disagree, you can both win by respectfully hearing out the other person. And if the other person won’t collaborate? No deal! Just disengage.

    Just like in intimate relationship, use “I” statements instead of “you” statements. Telling people who they are and what they believe is not only disrespectful, but probably wrong, often exaggerated or distorted for rhetorical combat purposes. People get angry when their identity gets poked at. One exception, of course, is when giving advice, like, stick to what you know, and share your thoughts and your reactions to a topic.


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








  • In my experience learning Windows 10 for my job, the results of searching for how to do something are: ‘click-this’ tutorials that don’t work because Microsoft changed something in the next edition, editing the registry, or PowerShell commands. The registry editing sometimes doesn’t work because Microsoft changed something. The PowerShell method is the way to go, because Microsoft has embraced the command line.





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







  • Case-sensitive is easier to implement; it’s just a string of bytes. Case-insensitive requires a lot of code to get right, since it has to interpret symbols that make sense to humans. So, something over wondered about:

    That’s not hard for ASCII, but what about Unicode? Is the precomposed ç treated the same lexically and by the API as Latin capital letter c + combining cedilla? Does the OS normalize all of one form to the other? Is ß the same as SS? What about alternate glyphs, like half width or full width forms? Is it i18n-sensitive, so that, say, E and É are treated the same in French localization? Are Katakana and Hiragana characters equivalent?

    I dunno, as a long-time Unix and Linux user, I haven’t tried these things, but it seems odd to me to build a set of character equivalences into the filesystem code, unless you’re going to do do all of them. (But then, they’re idiosyncratic and may conflict between languages, like how ö is its letter in the Swedish alphabet.)