• 0 Posts
  • 33 Comments
Joined 1 year ago
cake
Cake day: July 8th, 2023

help-circle
  • 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.)






  • This is madness, but since this is a hobby project and not a production server, there is a way:

    • Shrink the filesystems on the existing disks to free up as much space as possible, and shrink their partitions.
    • Add a new partition to each of the three disks, and make a RAID5 volume from those partitions.
    • Move as many files as possible to the new RAID5 volume to free up space in the old filesystems.
    • Shrink the old filesystems/partitions again.
    • Expand each RAID component partition one at a time by removing it from the array, resizing it into the empty space, and re-adding it to the array, giving plenty of time for the array to rebuild.
    • Move files, shrink the old partitions, and expand the new array partitions as many times as needed until all the files are moved.

    This could take several days to accomplish, because of the RAID5 rebuild times. The less free space, the more iterations and the longer it will take.




  • I haven’t read all of the replies to see if somebody else had said this, but it’s because the Internet was designed to be completely decentralized, whereas the phone system requires your line or device to be registered with the network operator(s). Any device that can get a valid Internet address for the local network can communicate with the whole Internet, but a phone will only work if it’s explicitly known by the phone service provider, and that information shared to all providers.

    We could set up a system, layered on top of the Internet, by which each computer could register itself in a central directory each time it connects, and thus be reachable at the same address no matter where it connects, even on a NAT connection. In fact, it’s easy to do with a VPN and Dynamic DNS (both of which require the cooperation some centralized authority). It’s just not universal, because, well, what’s the utility of doing so?








  • One that gets just about everybody, including me, is the Availability Heuristic. That’s estimating the prevalence of something based on how easy it is to remember examples of it. Like, for instance, crime. It’s hard to compare the number of criminal acts to the size of the population to get a true picture of how prevalent crime is. It takes a lot of mental effort, so our brains just estimate it based on the number of incidents we’ve heard of using the heuristic that something must be more common if we can recall more examples of it.

    That’s why Americans in general think that violent crime is exploding, despite it actually being way down over past decades. The 24-hour news channels fill airtime and the Internet brings us the aggregated crimes of a whole nation, so it’s easy to remember lots of instances. Meanwhile, we don’t worry about heart disease, it doesn’t feel prevalent by comparison, because it doesn’t make the news, and we don’t have easy recall of all the heart attack deaths every day.


  • I don’t know about theory, but the big practical advantage to ZigBee is that it works.

    Sorry, that’s a shitty thing to say. I’m salty because the only time I tried X10 was 25 years ago, and the experience was less than great. Unreliable switching, spurious commands, slow performance, etc. Sending signals over the power wires sounds great in theory, but in practice there are all sorts of pitfalls, like resistive versus inductive loads, bridging circuits to different legs of two-phase power, or conflicting commands on the wire.

    ZigBee has just worked for me, since it avoids all of the potential wiring issues. You just plug a device in, put it in pairing mode, and Home Assistant finds it, interrogates its capabilities, and adds it (by name) with the correct entities. No mucking about with addresses, or adding signal paths to the house wiring. As a mesh network, it’s quite robust, since most plugged-in devices act as repeaters.

    The downside of ZigBee, of course, is that it may not work well in WiFi-saturated environments, since it uses the same 2.4GHz frequency band.



  • For troubleshooting, start at the destination and work back. Run a packet trace on the target machine, and other machines on the WiFi network to see if any WoL packet comes through at all. If not, then look at the VM host.

    How does HAOS access the USB network adapter? By pass-thru, so it’s like a USB device connected to the VM, or through a bridge on the VM host? If it’s the latter, a Linux network bridge device is often configured not to pass broadcast packets by the firewall rules. (Things like Docker will enable firewall filtering.) Check that the bridge allows broadcast packets through. If it’s the former, the USB pass-thru, do a packet trace from HAOS to ensure that it’s actually sending the packet, I guess.