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

help-circle
  • I’ve been using Linux for maybe 8 years before getting a Mac and found it to be great to use pretty much immediately. So there’s not really much I can tell you here. Except maybe to install the GNU coreutils from homebrew (and that itself if you don’t have it yet), the ones it comes with suck.

    I don’t think there is a way to download Xcode without an Apple ID. The App Store also needs one though you could get by without that. You could just make the account only for downloading Xcode and only sign in in the browser for it, I suppose.

    Edit: Oh yeah, get Mac Mouse Fix if you plan on using it with a normal mouse. The standard scrolling behavior is abysmal.



  • The personal project I’m currently working on the most is Nucom, an implementation of Microsoft’s Component Object Model.

    The IDL compiler for it, which takes .idl files which define COM interfaces and outputs C/C++ headers/source files and Rust modules, is written in Rust.

    Originally, this project was all C++, and everything but the compiler still is (which also likely isn’t going to change since it involves building dynamic libraries which Rust does not do well at all), but I really did not want to go without Rust when writing a parser/compiler type thing because the language is so much nicer to work with.











  • What do you mean by “more powerful” wrt CMake?

    CMake is a turing-complete language with some APIs that Meson either doesn’t have an equivalent yet because it’s comparatively new (for example, until 2023, there was no built in way to get a relative path from two paths, and if you wanted that you had to shell out to an external program), or they aren’t going to add because it doesn’t fit their design.

    Meson is (intentionally) limited in terms of extensibility, instead it tries to come with everything built in that you need, even down to specific library support like Qt, from what it seems like to me. For example, you cannot define your own functions, it ships builtin modules but does not allow other packages to provide their own (for example like KDE’s Extra CMake Modules), to name a few that I’m familiar with and why I was put off using it so far.

    I have yet to see how actually limiting that is, going to try to move the project I’ve been working on for years that relies on some of these CMake features to Meson soon and see how it fares. But considering that big projects like GNOME use it all over the place it’s probably workable in practice, I’ll just have to rethink the existing approach a bit.

    Is that considered bait?

    Wasn’t it? Go’s build system is very much not what I would call an example of good design (exhibit A: load-bearing comments and file names).