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

help-circle
  • It makes perfect sense actually. I did write another comment here if you are interested.

    This is how operator overloads were written going back to the initial version of C++ back in 1985. The only new thing is that we can now add = default to get the compiler to generate a default implementation that compares all the member variables for you.


  • Maybe to a non C++ dev, but a lot of C++ is probably incomprehensible to a non C++ dev, just like there are other laguages that are incomprehensible to C++ devs. To me it makes perfect sense as it works just like all the other operator overloads.

    auto - let the compiler deduce return type

    operator<=> - override the spaceship operator (pretty sure it exists in python too)

    (const ClassName&) - compare this class, presumably defined in Class name, with a const reference of type Class name, i.e. its own type.

    const - comparison can be made for const objects

    = default; - Use the default implementation, which is comparing all the member variables.

    An alternate more explicit version, which is actually what people recommend:

    auto operator<=>(const ClassName&, const ClassName&) = default;

    if I just want to have less than comparison for example I would:

    This one makes it explicit that you’re comparing two Class name objects.

    if I just want to have less than comparison for example I would:

    auto operator<(const ClassName&, const ClassName&) = default;

    If I need to compare against another class I could define: auto operator<(const ClassName&, const OtherClass&)


  • You mean copy/move constructor and assignment operator?

    Unless you have any special handling the ones generated by the compiler automatically should work just fine. But if you do have to define them for some reason (which is becoming increasingly rare) you would need to define both if you need both copy/move construction and copy/move assignment.




  • I haven’t even read your post, just copy pasted it into chatgpt o1 preview model and it said this:

    Based on your detailed recollections, I believe the book you’re searching for may be one of the anthologies by Ruth Manning-Sanders, particularly those illustrated by Robin Jacques. Here’s why:

    1. Ruth Manning-Sanders’ Anthologies:

    “A Book of Ghosts and Goblins” (1968): This collection features a variety of eerie tales from around the world, all retold by Manning-Sanders. The stories often involve witches, ghosts, and other supernatural beings.

    “A Book of Witches” (1965): This anthology includes tales specifically about witches, which might correlate with your memory of a sea-witch draped in seaweed.

    “A Book of Mermaids” (1967): Given the sea theme and possible illustrations of underwater scenes, this book could also be a contender.

    1. Illustrations by Robin Jacques:

    Art Style: Jacques is renowned for his intricate pen-and-ink drawings with heavy linework and detailed crosshatching, which matches your description.

    Depictions: His illustrations often have a gothic and eerie feel, featuring classic elements like willow trees, cliffside scenes, and supernatural creatures.

    Sample Illustrations:

    Diver and Sea-Witch: While I can’t access specific images, Jacques’ work frequently includes mythical and maritime elements that could involve divers and sea-witches.

    Creepy Willow Trees and Gothic Cliffs: His landscapes are detailed and atmospheric, possibly aligning with the images you remember.

    1. Physical Attributes:

    Binding: Many editions of Manning-Sanders’ books from the 60s and 70s came with green or teal bindings, especially after losing their dust jackets.

    Publication Era: The books were published in the mid to late 60s, fitting your timeframe of “old but not ancient.”

    Age Appropriateness: These books were marketed as children’s literature but often contained darker themes and illustrations that could slip past less attentive parents.

    1. Why This Might Be the Book:

    Combination of Elements: The combination of maritime tales, witches, and eerie illustrations matches the key elements you recall.

    Illustrator’s Style: The pen-and-ink crosshatching and gothic atmosphere in Jacques’ illustrations seem to align closely with your memories.




  • I went from using slackware late 90s early 00 to Mac OSX in early/mid 00. When coming back to Linux late 00 early 10s I was so disappointed in the Linux distros. I tried Ubuntu but was very disappointed in the lack of newer versions of third party software in their repo. Tried Arch for a while and while packages were up to date, every now and then the OS updates would mess something up and I had to start troubleshooting.

    It might be better now, but I eventually gave up and went to FreeBSD about 10 years ago. Stable base and separate up to date third party feels like the best of both worlds. Not sure if any llinux distro offers something like that now. No snap, no flatpack, just a base os and up to third party date packages.






  • After a hiatus in Mac and windows land, I came back into Linux a with similar wishlist.

    It’s quite a diversion, but I actually went with FreeBSD. Now it’s not Linux but with the separation of base system and packages, you get a stable base that is released at a pretty fixed consistent schedule.

    For packages you can pick from quarterly or weekly update schedule, so you can have a stable base OS with bleeding edge software. The binary package manager is easy to use, but if you want more control you can opt for building from source as well.

    The init system is BSD based so all main config goes into a single rc.conf file, very easy to understand and work with.

    Most mainstream applications such as Firefox, postgresql, nginx etc are just a pkg install away and it natively supports zfs (even as root fs) which was one of the reasons I got really interested in it 10 years ago.

    Of course, there is software, especially some younger projects that don’t support FreeBSD. So while there are thousands of packages available, some Linux only applications won’t work.

    Personally, I would pick FreeBSD any time that the software I require supports it. I only run Linux (settled on pop is for now) if the software I need requires it.