[-] KindaABigDyl@programming.dev 31 points 1 month ago* (last edited 1 month ago)

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/

8
submitted 2 months ago* (last edited 2 months ago) by KindaABigDyl@programming.dev to c/cpp@programming.dev

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

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

[-] KindaABigDyl@programming.dev 29 points 3 months ago

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.

112
[-] KindaABigDyl@programming.dev 36 points 5 months ago

I wonder if marketing this as "replacement to League" is the best move or if it should market itself as simply a new MOBA

[-] KindaABigDyl@programming.dev 35 points 5 months ago* (last edited 5 months ago)

Also fyi there's trash-cli

I have rm aliased to trash-rm (not in sudo tho, so I can still force true deletion), so that if I remove something in terminal it also goes to trash.

You can empty the trash via trash-empty

It also uses ${XDG_DATA_HOME}/Trash (usually ~/.local/share/Trash)

[-] KindaABigDyl@programming.dev 42 points 6 months ago

My biggest disagreement is this:

Do not unnecessarily use braces where a single statement will do.

Always put braces around if statements. It will bite you in the butt

[-] KindaABigDyl@programming.dev 64 points 6 months ago

LibreOffice is the superior IDE for Delphi

[-] KindaABigDyl@programming.dev 26 points 6 months ago* (last edited 6 months ago)

This is honestly so frustrating to see bc I'll still never understand why Python isn't just statically typed.

It's right there in the Zen:

Explicitness is better than implicitness

It wouldn't even have to be less simple as it could still be weakly typed, a la Rust or Haskell, but not as robust.

You wouldn't need these extra special tools if the language was just built right!

Same goes for the try/catch exception system where runtime errors can pop up bc you don't have to handle exceptions:

Errors should never pass silently.

Unless explicitly silenced.

Python is a good language that could've been a great one smh

[-] KindaABigDyl@programming.dev 33 points 6 months ago

Great reason to push more code out of the kernel and into user land

[-] KindaABigDyl@programming.dev 33 points 1 year ago* (last edited 1 year ago)

Return to the office. Forced to use Windows again

[-] KindaABigDyl@programming.dev 28 points 1 year ago* (last edited 1 year ago)

Systemd is a large piece of software. There are ways to make it smaller and disable various modules for it, but usually by default it's very heavy.

With a traditional init system, it's just an init system, and you'll use other other programs to do the other things. This basically means a chain of interconnected bash scripts. Perhaps you'll run into some integration issues. Probably not though. It'll be mostly the same.

There is no real advantage to this from a user perspective beyond a philosophical one. Systemd works quite well at doing the things it tries to do, but it's the Unix philosophy to "do one thing and do it well," and some people care very deeply that systemd does not follow their interpretation of that philosophy, and that's certainly a fair reason to not use it.

However, if you're not having problems with using systemd, I'd say don't bother switching.

16
submitted 1 year ago* (last edited 1 year ago) by KindaABigDyl@programming.dev to c/godot@programming.dev

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.

6
[-] KindaABigDyl@programming.dev 36 points 1 year ago

Lol is it really free of Western technologies if it's running on Linux?

1

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?

view more: next ›

KindaABigDyl

joined 1 year ago