My frustrations with Rust. Why is this the most loved language?
  • KindaABigDyl KindaABigDyl 1w ago 50%

    This response needs more up votes

    0
  • Packaging
  • KindaABigDyl KindaABigDyl 2w ago 100%

    What packaging types are there for Rust? Isn't everything just source-based through cargo?

    1
  • Distro or Desktop like "classic" macOS
  • KindaABigDyl KindaABigDyl 4w ago 94%

    Pantheon desktop from elementaryOS.

    You can use it on their distro (Ubuntu based with lots of curated apps) or on its own (you can still get access to their curated apps, just not in the store)

    EDIT: Sorry, I misunderstood. You want classic Mac. I'd say get Xfce4 and theme it yourself then.

    Here's an example: https://www.reddit.com/r/unixporn/comments/4l9tlp/xfce_another_nine_based_os_9_based_theme/

    30
  • Python has a library for everything but..
  • KindaABigDyl KindaABigDyl 1mo ago 91%

    I find Rust crates generally have pretty good docs. Docs.rs is a major time saver

    10
  • linux
    Linux 2mo ago
    Jump
    The problems and shortcomings of Cosmic (According to Hyprland Dev, Vaxry)
  • KindaABigDyl KindaABigDyl 2mo ago 93%

    complete dealbreaker issues

    .

    inability to use 240hz

    Opinion disregarded

    14
  • Stealing?
  • KindaABigDyl KindaABigDyl 2mo ago 100%

    More like gaming executives

    17
  • ACBS - Another C Build System
  • KindaABigDyl KindaABigDyl 2mo ago 100%

    Not currently, but that was an explicit choice, so it's easy to change

    Maybe I should add a flag to allow searching for h files when building C++

    1
  • cpp
    C++ 2mo ago
    Jump
    ACBS - Another C Build System (compatible with C++)
  • KindaABigDyl KindaABigDyl 2mo ago 100%

    Update: I went ahead and implemented the multithreading

    4
  • ACBS - Another C Build System
  • KindaABigDyl KindaABigDyl 2mo ago 100%

    Update: I went ahead and implemented the multithreading

    3
  • I created a little side project over the past few days, a new build system for C and C++: https://github.com/blueOkiris/acbs/ I've seen a lot of discourse over C build tools. None of them really seem solid except for (some) Makefiles (some Makefiles are atrocious; you just can't rely on people these days). Bazel, cmake - they're just not straight forward like a clean Makefile is, basically black magic, but setting up a Makefile from scratch is a skill. Many copy the same one over each time. Wouldn't it be nice if that Makefile didn't even need to be copied over? Building C should be straight forward. Grab the C files and headers I want, set some flags, include some libraries, build, link. Instead project build systems are way way way overcomplicated! Like have you ever tried building any of Google's C projects? Nearly impossible to figure out and integrate with projects. So I've designed a simplistic build system for C (also C++) that is basically set up to work like a normal Makefile with gcc but where you don't have to set it up each time. The only thing you are required to provide is the name of the binary (although you can override defaults for your project, and yes, not just binaries are possible but libs as well). It also includes things like delta building without needing to configure. Now there is one thing I haven't added yet - parallel building. It should be as simple as adding separate threads when building files (right now it's a for loop). I know that's something a lot of people will care about, but it's not there yet. It's also really intended to only work with Linux rn, but it could probably pretty easily be adjusted to work with Windows. Lay your project out like the minimal example, adjust the project layout, and get building! The project itself is actually bootstrapped and built using whatever the latest release is, so it's its own example haha. It's dead simple and obvious to the point I would claim that if your project can't work with this, your project is wrong and grossly over-complicated in its design, and you should rework the build system. C is simple, and so should the build system you use with it! So yeah. Check it out when y'all get a chance

    8
    1

    I created a little side project over the past few days, a new build system for C and C++: https://github.com/blueOkiris/acbs/ I've seen a lot of discourse over C build tools. None of them really seem solid except for (some) Makefiles (some Makefiles are atrocious; you just can't rely on people these days). Bazel, cmake - they're just not straight forward like a clean Makefile is, basically black magic, but setting up a Makefile from scratch is a skill. Many copy the same one over each time. Wouldn't it be nice if that Makefile didn't even need to be copied over? Building C should be straight forward. Grab the C files and headers I want, set some flags, include some libraries, build, link. Instead project build systems are way way way overcomplicated! Like have you ever tried building any of Google's C projects? Nearly impossible to figure out and integrate with projects. So I've designed a simplistic build system for C (also C++) that is basically set up to work like a normal Makefile with gcc but where you don't have to set it up each time. The only thing you are required to provide is the name of the binary (although you can override defaults for your project, and yes, not just binaries are possible but libs as well). It also includes things like delta building without needing to configure. Now there is one thing I haven't added yet - parallel building. It should be as simple as adding separate threads when building files (right now it's a for loop). I know that's something a lot of people will care about, but it's not there yet. It's also really intended to only work with Linux rn, but it could probably pretty easily be adjusted to work with Windows. Lay your project out like the minimal example, adjust the project layout, and get building! The project itself is actually bootstrapped and built using whatever the latest release is, so it's its own example haha. It's dead simple and obvious to the point I would claim that if your project can't work with this, your project is wrong and grossly over-complicated in its design, and you should rework the build system. C is simple, and so should the build system you use with it! So yeah. Check it out when y'all get a chance

    9
    6
    This is my life now, until I finally understand Cmake.
  • KindaABigDyl KindaABigDyl 2mo ago 100%

    You can build with mingw64 built with msvc and use more or less the same Makefile. As for Xcode... well, there's not really a good reason to support Mac. On principle I wouldn't even try

    1
  • This is my life now, until I finally understand Cmake.
  • KindaABigDyl KindaABigDyl 2mo ago 100%

    How the heck does a Makefile not scale??? That's all it does!

    1
  • This is my life now, until I finally understand Cmake.
  • KindaABigDyl KindaABigDyl 2mo ago 91%

    Life is and will always be better writing your own Makefiles. It's literally so easy. I do not get the distaste. Cmake is arcane magic. Bazel is practically written in runes. Makefile is a just a glorified build script, but where you don't have to use a bunch of if statements to avoid building everything each time.

    29
  • linux
    Linux 2mo ago
    Jump
    How have you automated configuring your machines in terms of packages and dotfiles so it works cross-distro?
  • KindaABigDyl KindaABigDyl 2mo ago 100%

    And yeah I know about NixOS but I like to distro hop and experiment

    If you know about NixOS, then you probably know this, but Nix, the package manager/the language behind NixOS, is cross-platform.

    I daily drive NixOS, but I also use Nix (and home-manager) on my Fedora music laptop, my Ubuntu home file-server, and my work Windows machine (WSL) to install and configure neovim automatically instead of copying a config, installing all the packages, and running check health over and over again until everything is set up.

    I just copy my neovim.nix file over (also other things like zsh.nix) and run home-manager switch

    You don't have to use NixOS to take advantage of its benefits.

    17
  • linux
    Linux 2mo ago
    Jump
    What file systems are you using on your devices and why?
  • KindaABigDyl KindaABigDyl 2mo ago 100%

    Ext4 bc of its speed for games and my main files. Btrfs on the root for compression

    5
  • rust
    Rust 2mo ago
    Jump
    COSMIC ALPHA 1 Released (Desktop Environment Written In Rust From System76)
  • KindaABigDyl KindaABigDyl 2mo ago 100%

    It's a bit more than iced as they've created a library on top of it, esp for the theming they desire

    2
  • New to programming
  • KindaABigDyl KindaABigDyl 3mo ago 100%

    Build a project. Learn how to do each step by searching the internet. It's quite literally that easy.

    5
  • C meme
  • KindaABigDyl KindaABigDyl 3mo ago 100%

    For C++, yes. But "reference" is just a way of using the pointer when it comes to C

    23
  • linux
    Linux 3mo ago
    Jump
    IDE/Text Editor Recommendations for Go Development on Linux
  • KindaABigDyl KindaABigDyl 3mo ago 100%

    You can use VS Code and Vim/Neovim for any language, as well as document writing and basic text editing. Just search for Go plugins

    It shouldn't be hard to use either. If it is, you're doing something wrong probably

    5
  • It's nothing special, but it's special to me :)
  • KindaABigDyl KindaABigDyl 3mo ago 100%

    In case you're interested, the language is a derivative of an esolang I made called NaBD. The idea was a Turing tarpit but for functional languages. What's the minimal I could get by with and still feel like a real language? (And no, not just lambda calculus; needed a real implementation)

    I realized this sort of stripped-down functional language would make a great basis for a graphical programming language, something I've wanted to make for a while, so I set out to refine and remake it into just that.

    That's why the syntax is a little bizarre, bc it mimics the flow of graphical blocks. It also is very simple. Every function has one input and one output with no first class funcs/currying. It's also statically typed.

    Here's a truth-machine (doesn't work yet bc I haven't implemented some of the standard functions; it does parse and type check tho at least):

    truth_mach :: Num -> Num =
        { inp -> bool,
            1 -> str -> print -> truth_mach,
            0 -> str -> print } -> if.
    main :: <<Char>> -> Num = read -> parse -> truth_mach.
    

    It will also support the C ABI via extern_c name_of_lib : name_of_function :: Type -> Type. This is not implemented yet either.

    19
  • https://v.redd.it/o6md1vnuemcb1/DASH_1080.mp4?source=fallback

    I'm making a game that takes heavy inspiration from Zelda games like Ocarina of Time, Wind Waker, and Twlight princess, i.e. OoT-lineage Zelda as opposed to BotW & TotK and games that stem from Link to the Past. It's not a fan game, of course, but if you like OoT/MM/WW/TP/SS, then you'll (hopefully) like my game. One central aspect to nail is the camera system these games use. There's some variation, so I've picked one to "clone." I'm basing this camera off of Wind Waker's. It has a default mode where Link runs around the camera with left and right and pushes/pulls the camera with up and down. If you wait long enough, the camera will move to be behind him, and of course there's a Z-targeting mode that will force the camera to move behind him and let him strafe. Finally, there's a free camera mode that works like the camera in a lot of modern third person games. In terms of movement, there's walking and running, but jumping is relegated to hopping across short gaps in these games, and I've implemented that system as well.

    16
    9

    I have enabled the strongswan plugin for Network Manager via `networking.networkmanager.enableStrongSwan`. I manually set up my work VPN using nm-applet, but obviously this won't come with me if I reinstall NixOS, so I'd like to set up the VPN using nix. The problem is that networking.networkmanager doesn't seem to have any sort of vpn configuration system. How would I go about this?

    5
    1

    I can achieve remapping using InputMap, config files, a virtual input system, and a bunch of other stuff, but it's kind of pain tbh. Not hard just a lot of code and layers. Has anyone made a plugin that makes controller remapping simpler in Godot? With how much work it is to implement, it makes it kinda low ROI for a project, but I feel bad for users bc it's basically the default for all games now to have remapping.

    9
    4