Your friendly local programmer, uni student and *nix addict.

  • 0 Posts
  • 9 Comments
Joined 1 year ago
cake
Cake day: June 26th, 2023

help-circle




  • Well, that’s to be expected - the implementation of map expects a function that takes ownership of its inputs, so you get a type mismatch.

    If you really want to golf things, you can tack your own map_ref (and friends) onto the Iterator trait. It’s not very useful - the output can’t reference the input - but it’s possible!

    I imagine you could possibly extend this to a combinator that returns a tuple of (Input, ref_map'd output) to get around that limitation, although I can’t think of any cases where that would actually be useful.



  • I don’t know about dangerous, but case-insensitive Unicode comparison is annoying, expensive and probably prone to footguns compared to a simple byte-for-byte equality check.

    Obviously, it can be done, but I guess Linux devs don’t consider it worthwhile.

    (And yes, all modern filesystems support Unicode. Linux stores them as arbitrary bytes, Apple’s HFS uses… some special bullshit, and Windows uses UTF-16.)



  • Because my university’s network is cringe, I’m unfortunately forced to run everything on a VPS.

    This comes with a financial cost, and I have to carefully ration my computing power, but it does have some upsides - enough that I honestly prefer it now.

    • It keeps my desktop sealed away from the wilds of the open Internet. Obviously the risk isn’t that great, but since every service you run represents a potential security hole… it’s nice to have a “disposable” solution like a VPS.
    • I don’t have to worry about getting a static IP or using a service like Tailscale in order to talk to my services when away. All I have to do is point my Cloudflare DNS records at my VPS.
    • Better uptime. I used to host my blog on my desktop (!) which meant it would go down whenever I rebooted/lost connection/whatever. My VPS restarts once a month to apply updates and is always-on otherwise.