[–] 6 points 6 days ago (1 child)

You can find a paperback copy for under $12 with shipping, and the pdf version is widely available on the internet. The kindle version is purely a "I really want the kindle version" purchase.

  • source
  • [–] 4 points 6 days ago

    Thank you for the answer!

    I have not previously heard Meson described as a reinvention of Cmake or a CMake clone, nor that it was meant to be. I would think that Meson being as opinionated as it is, including for example the fact that it does not and will not support user-defined functions, precludes it from being a CMake clone. It seems instead to be a build-system with a rather different philosophy and feature-set compared to Cmake. But if that philosophy or that feature-set does not match your needs, then there's obviously no reason to pick it over CMake

  • source
  • parent
  • context
  • [–] 1 point 6 days ago

    What breaks with npm in your case? In my experience it's been the rarest system to fail, like I can git clone something from 10 years ago, run npm i and the resulting app still builds and runs, despite a ton of announcements about deprecated libraries and update requests for vulnerability fixes.

  • source
  • parent
  • context
  • [–] 4 points 6 days ago (1 child)

    I was never convinced by Meson's value proposition. From what I remember, it was always just meant to reinvent CMake with a different DSL. Like, literally just CMake but slightly different.

    I understand CMake's DSL isn't the prettiest, but as far as improving ergonomics of a build system, minimizing the amount of build scripts you write is far more effective than changing the syntax. If you find yourself writing too much CMake in a project, then switching to a build system with a different design (eg Bazel, Scons, Waf, ...) is probably the better choice.

    And of course, since Meson is just a CMake clone, it's always going to be compared to it, and its always going to have to compete on features. On that front, CMake has always been ahead, and I don't see that changing. So in the end, Meson is just another example of that one XKCD meme about standards.

  • source
  • parent
  • context
  • [–] 2 points 6 days ago (2 children)

    There should be a universal build system that is declarative, handles interdependent build steps, skips building outputs that are still fresh, but that checks freshness in a way that's more robust than tracking modification times, manages parallel execution intelligently, and that manages arbitrary external dependencies. Oh hey, it's Nix!

  • source
  • [–] 1 point 6 days ago* (2 children)

    Out of curiosity, why do you consider CMake to be the better choice compared to Meson?

    Personally I landed on Meson a few years ago, from what I remember chiefly due to simply not liking CMake's DSL and finding Meson easier to work with, despite needing to target a pretty old version for the sake of compatibility. Though Meson is definitely not perfect either; it's highly opinionated, and for example only recently got support for custom build targets putting stuff in sub-directories (as I discovered while writing this comment), so I'll personally be stuck with my workarounds for a good while longer

  • source
  • parent
  • context
  • [–] 3 points 6 days ago

    It's not so much an LLM thing as it is a data/curation thing. Idk the specifics, but I do remember back when I used it, chatgpt occasionally presented me with multiple responses, and asked me to pick the one that I liked best. It's like how Facebook/tiktok/whatever curate your feed by examining how much time you spend eg looking at one post vs another. There's nothing inherent about LLMs that cause them to prioritize emdashes, thats all the result of extra massaging the operator has applied to the model.

    This is also why I feel it's important to not focus on perceived "LLMisms" as a way to detect slop. It's extremely trivial to hide that, and the ones that don't are low hanging fruit.

  • source
  • parent
  • context
  • [–] 1 point 6 days ago (2 children)

    There are already plenty of package manager options in the C++ world. Having an "official" one arguably only helps improve the onboarding experience, but overall it's a chokepoint for the entire ecosystem. There are rarely "one size fits all" solutions to a problem, and there certainly isn't one for a problem as complex as software builds and packaging.

  • source
  • parent
  • context
  • [–] 2 points 6 days ago (3 children)

    Let's not forget about the other classics, like "checking how X (statement) 'landed'" or whether "Y 'hit' (the way it was expected to)". I swear I've never read or heard either of those turn of phrase in any other context, so I have no idea where the LLMs picked them up. Somebody must have fed them executive briefs or something.

    Then there the tiresome constant use of similes. Something can't just be. It has to be like something. "The similes were scattered throughout the LLM generated text, like pebbles on a beach."

    Inserting linebreaks to make every sentence it's own paragraph.

    Avoiding the use of commas and the word "and" like they were the plague. Even if that means making unnecessary new sentences.

  • source
  • parent
  • context
  • [–] 4 points 6 days ago (3 children)

    Yes, CMake is crazy. And ugly. And inconvenient

    How many years has it been since you last used CMake?

    CMake suffers from some of the same perception issues as C++. A lot of the criticism usually boils down to the designers prioritizing backwards compatibility, a thing even critics would agree is a good thing. As an example, the OP shows a CMake and Meson snippet. The CMake one is 3 lines, the Meson one is 2. The extra line in the CMake sample is a version declaration for backwards compatibility, but the rest are identical.

    If you look past your preconceived notions, you'll find that CMake is a good build system and very easy to use. It's also one of the few that fully supports C++20 modules today.

    It's by no means a silver bullet, and the generator-based design isn't always the best choice, but its undoubtedly the best choice for the vast majority of C or C++ projects.

  • source
  • parent
  • context
  • [–] 2 points 6 days ago (1 child)

    Make is fine unless you want to build on Windows. Then you kind of need something else. It is the very slow process creation infrastructure that kills Make as a tool on Windows.

  • source
  • [–] 1 point 1 week ago

    As in the radicle that had an egregious issue that broke private repositories “oops!” because network traffic was unencrypted, and is backed by an extremely tiny team? I’m not really sure how radicle is better. I am unenthused by all current federated git attempts at the moment.

  • source
  • parent
  • context
  • [–] 4 points 1 week ago*

    the defects in software like Firefox are finite

    That's a optimistic take. I don't think that a software as large as Firefox/Chromium can ever be 100% secure. Especially not with the fundamental design errors ( js-sandboxing) of the modern web.

  • source
  • [–] 1 point 1 week ago

    In other words: at any given time, only one of [sandbox or renderer patches] needed to compromise the browser would be available in the patch gap

    That's clever.

  • source
  • [–] 7 points 1 week ago* (1 child)

    That entire world needs a cargo equivalent.

    The one time I needed to compile a rust app, I followed the instructions on their github and it used cargo and it didn't work. Don't remember the issue now, but it instantly gave me the same yuck I get when forced to use pip or npm and it breaks in the same fucking way.

    Had better luck compiling maven/gradle apps oh and yes, makefiles worked reliably for me so far.

    But this is just a personal anecdote and I rarely have to compile anything myself.

  • source
  • parent
  • context
  • [–] 2 points 1 week ago

    Lol it turns out that because AI is only good at regurgitating stuff that you put in all scrambled up, it's also an incredible legally-distinct copying machine.

    So stay awhile, and they'll listen. They'll dream about your ideas, and then make something from them tomorrow and claim them as theirs. And if you're lucky, your job to do stuff will eventually be industrially cookie cuttered out of existence. Let's see how many lives jobs we can eliminate make easier! You won't even need to work (at anywhere that pays well or is creative) since we target the industries that are interesting and important to you, first! After we own revolutionize all of the means of production in those, you can and everything will be better!

  • source
  • parent
  • context
  • view more: ‹ prev next ›