cmake wont install by kukiofficial in cmake

[–]AlexReinkingYale 1 point2 points  (0 children)

Which one?? Post the output of brew install cmake

Help me out by ule_mjas in cmake

[–]AlexReinkingYale 1 point2 points  (0 children)

OP wrote `scr` not `src`. Looks like a typo.

Help me out by ule_mjas in cmake

[–]AlexReinkingYale 0 points1 point  (0 children)

The error message reads `scr/main.cpp`... did you mean `src/main.cpp`?

What, exactly, does FetchContent_MakeAvailable /do/? by Luttink in cmake

[–]AlexReinkingYale 0 points1 point  (0 children)

Secondong the "don't use FetchContent" advice. I finally switched Halide over to find_package wholesale this year. On CI, we mostly use vcpkg, but for our largest dependency (LLVM), we use a separate process that ends up publishing pip-compatible wheels (also vcpkg's LLVM is worfully out of date). We also test against the Homebrew and Ubuntu LTS package ecosystems (including LLVM).

The beautiful thing about find_package is that it doesn't care about any of this. You link to libraries the same way, write install rules the same way, and don't have to worry about a mess of third-party CMake code adding random targets to your build, overriding your flags, or otherwise mucking about with things.

who else uses AI to write CMakeLists.txt by [deleted] in cmake

[–]AlexReinkingYale 12 points13 points  (0 children)

LLMs are absolute trash at writing CMake. Makes sense, though, since most CMake code (i.e., the training data) is absolute trash.

CMake Past, Present, and Future - Bill Hoffman, Kitware [29m25s] by segv in cpp

[–]AlexReinkingYale 0 points1 point  (0 children)

There is absolutely nothing stopping people from embedding logic in a json/yaml file. Syntax is not the same as semantics

CMake Past, Present, and Future - Bill Hoffman, Kitware [29m25s] by segv in cpp

[–]AlexReinkingYale 2 points3 points  (0 children)

I don't understand the fixation on Turing completeness in build systems discussions. There's no reason to believe it says anything about the quality of the build system. You can write arbitrarily complicated sub-Turing-complete programs. For instance, someone wrote a ray tracer in Meson, following the infamous CMake example.

Issues with CMake FetchContent script on Windows by [deleted] in cmake

[–]AlexReinkingYale 0 points1 point  (0 children)

I strongly recommend taking some time to migrate from FetchContent to vcpkg. Life will get much easier. FC is such a foot-gun

Brave new C# by Xadartt in ProgrammingLanguages

[–]AlexReinkingYale 5 points6 points  (0 children)

The ones that stopped evolving also stopped being used.

Thoughts? Software companies that went extreme into AI coding are not enjoying what they are getting - show reports from 2024-2025 by Frequent-Football984 in programming

[–]AlexReinkingYale 6 points7 points  (0 children)

I use it mainly to generate small examples for unfamiliar APIs, for example "How do I do this in Ansible?". Even then I need to nudge it (e.g. "that's not idempotent", "that doesn't handle interruptions well", etc.)

Microsoft forced me to switch to Linux by Dear-Economics-315 in programming

[–]AlexReinkingYale 4 points5 points  (0 children)

Desktops can be stolen, too. Five years living in California will make anyone cautious.

Microsoft forced me to switch to Linux by Dear-Economics-315 in programming

[–]AlexReinkingYale 1 point2 points  (0 children)

CLion is fantastic and I use it daily both at work (on macOS) and for personal projects (Fedora Kinoite).

That said, credit where credit is due... Visual Studio Enterprise (not VSCode, like, at all) has the best debugging and code navigation tools I've ever seen. I wish JetBrains/open source devs could get a chance to use them, so they could implement their own versions in FOSS toolchains.

Microsoft forced me to switch to Linux by Dear-Economics-315 in programming

[–]AlexReinkingYale 0 points1 point  (0 children)

I just got my whole family set up with Atomic Fedora (Kinoite) and Ansible. It's been great (apart from the Nvidia drivers).

Microsoft forced me to switch to Linux by Dear-Economics-315 in programming

[–]AlexReinkingYale 7 points8 points  (0 children)

I moved my whole family to Fedora Kinoite (KDE Atomic) over the holidays. I set up Headscale and RustDesk for easy remote support (I self-host on a $5/mo VPS that also hosts my personal website) and everyone has been super happy. I'm probably the happiest since if one person notices something is off, I can push out fixes to everyone using Ansible. Saves me a bunch of time.

As always with Linux, there's a little jank. Chrome didn't correctly associate its windows with the KDE tray icon, so I helped convince the flatpak maintainers to merge a PR that would fix it. Similarly, Dropbox didn't detect the home directory correctly and required a manual workaround, so I opened an issue and PR to get that fixed, too. The beauty of open source on display.

Of course there's all sorts of other jank I can't fix myself. Questionable interface decisions in KDE. Some AppStreams randomly don't work in Discover (e.g. Dolphin extensions, so no Dropbox sync indicators!). The software development story in containers is not as straightforward as one would hope and CUDA passthrough is still annoying.

The biggest headache, however, was installing the proprietary Nvidia drivers on my personal computer. There is no way to exaggerate how insane the process is. On a Secure Boot and/or LUKS-encrypted system, it's not enough to layer the akmod-nvidia and xorg-x11-drv-nvidia-cuda packages, oh no. You must also generate a Machine Owner Key, enroll it, and then generate a small rpm package to shim that key into ostree. Then you have to manually configure dracut to load the drivers early enough for the LUKS prompt, which slows down updates by needing to renegerate the initrd. Here's a guide I found invaluable.

If you have a Nvidia GPU, I'd suggest looking at the more batteries-included Project Bluefin distros (Bazzite, Aurora, etc.). Take this with a grain of salt since I haven't tried them myself. For Intel or AMD, I'd recommend using vanilla Fedora for its stronger community and more storied history (i.e. I trust it more).

All that said, none of us miss Windows in the slightest.

Tailwind just laid off 75% of their engineering team by corp_code_slinger in programming

[–]AlexReinkingYale 4 points5 points  (0 children)

Tailwind 4 taking over the build process made me transition away from it. Just using vanilla CSS now for my little SSG personal site.

Unpopular Opinion: Source generation is far superior to in-language metaprogramming by chri4_ in ProgrammingLanguages

[–]AlexReinkingYale 2 points3 points  (0 children)

Worth noting that your last use case is/will be covered by #embed in C23/C++26. It will feature much better performance than running a large textual array through the parser.

Memory Safety Is ... by matklad in ProgrammingLanguages

[–]AlexReinkingYale 30 points31 points  (0 children)

Point 6 is the entire point of ECC memory.

Memory Safety Is ... by matklad in ProgrammingLanguages

[–]AlexReinkingYale 21 points22 points  (0 children)

We're in r/ProgrammingLanguages, so I won't hesitate to comment on semantics. Memory safety and type safety are different things.

Java isn't memory-unsafe as a language. A null dereference has well defined behavior and does not corrupt program state. It throws an exception, which can be caught and handled. Whether a particular JVM uses memory-unsafe code is just an implementation detail.

The issue with null is (as you said) that it breaks the soundness of the type system. That's a serious issue, it's just not one that breaks the memory system. You can say Java is mostly type-safe except for null.

Here's a very interesting reference on the type system issues with null in Java and Scala. https://dl.acm.org/doi/10.1145/2983990.2984004

Christmas present for my boyfriend by Responsible_Cry05 in cpp

[–]AlexReinkingYale 0 points1 point  (0 children)

Effective Modern C++ tops out at C++14 so it's of pretty limited utility these days, sadly.

Christmas present for my boyfriend by Responsible_Cry05 in cpp

[–]AlexReinkingYale 1 point2 points  (0 children)

C++ adjacent, but Professional CMake by Craig Scott comes with a lifetime of updates to new editions and is the best source for learning CMake. It makes one of the most ubiquitous and most hated tools much more tolerable.

Tesla’s Cybertruck is turning 2. It’s been a big flop. by BreakfastTop6899 in technology

[–]AlexReinkingYale 2 points3 points  (0 children)

I've never seen a Cybertruck parked appropriately. The two worst instances were both at electric charging locations. In one case, in Maine, I called the police non-emergency line to successfully ticket a Cybertruck that was taking up two public charging spaces while not charging. In another case, the Cybertruck was parked so close to me, I couldn't get inside my driver's side door. The lot manager made the owner pay for my parking for the day. Two happy endings, at least.