A couple of nice projects I can think of are DragonRuby [1] - a 2d engine that uses SDL under the hood and mruby for its game logic. I created this [2] game jam entry in under two weeks of part time effort (has a few bugs but works)
[3] Sonic Pi - Music creation tool that uses ruby for instruction
You also need Fn on laptops. I just tried it. And it seems to start with focusing the apple menu without opening it, and the focus marker is hard to notice, at least in natural light where I am now.
I personally wouldn't but I have a leaning towards foss tools where possible, currently using godot, blender and gimp, my gamedev holy trinity.
Godot is good enough for a lot of 3d games especially if you have stylised art that doesn't need the highest fidelity rendering.
If I was trying to make a high production, high realism, commercial 3d game I would probably look at Unreal engine over Unity because I think the former is better but also Unity have shown they're willing test the limits of money extraction from their licensees, Unreal so far haven't pulled any similar nonsense as far as I'm aware.
Why unfortunate? Plant-based meat substitutes are exactly as unhealthy as one would assume from them being ultra-processed. They are made to taste good in the same way (adding lots of fats, sugars, salt, etc.).
Perhaps there are ultra-processed foods that are not unhealthy, but that does not include "Impossible Meat".
It is unfortunate because we cannot in good conscience ask people to switch from barely-processed meat to ultra-processed meat substitutes, despite the meat industry's heavy contribution to looming climate disaster.
Many of us have switched to things other than meat, but that choice seems beyond most people.
Another alternative is what is called "lab-grown meat", which is not a meat substitute, per se, but is actual meat that might be a lot less harmful to produce. Where it sits on the "processed" spectrum is hard to assess. Obviously it is, in one sense, 100% processed, but details matter.
helloSystem: We have been in fact working with helloSystem! As some people have noticed, Release 0.2.X was basically helloSystem. (That was the second PoC. The first had been built on vanilla FreeBSD and had no GUI at all.) Under the hood, however, release 0.2.2 has a partial implementation of Cocoa, a modified compiler & linker that support frameworks, and several other additions that make it distinct. We have similar philosophies, and share technology and cooperate where it makes sense (e.g. Filer), but the project goals are quite different.
helloSystem wants to create a computer that is simple to use, open, elegant, small and fast. Older Mac OS X and Classic are an inspiration to what that might look like, but they are not explicitly trying to create an open-source Mac. In fact, they're mostly avoiding Objective-C and XML plists and other Mac technology in favor of simpler and/or more modern ways (e.g. Qt, C++, JSON).
ravynOS is explicitly trying to be compatible with Mac software at a source and eventually a binary level, without losing support for FreeBSD/X11 software, and to implement a very similar experience on the desktop and at the command line. For example, on ravynOS you can type open -a MyApp image.jpg and have image.jpg open in MyApp. You will find things in (mostly) the same directories as a Mac, like ~/Library or /System/Library/Fonts. This project is not as concerned about keeping the OS as small and simple as possible, and more concerned about making it clean, secure, performant, and compatible - implementing many of the features I use daily in macOS while skipping the lock-in and "tabletization" of the computer.
Some of the more technical differences between ravynOS and hello are:
- ravynOS uses a patched kernel with support for Mach, just like xnu, and a compiler suite that supports Frameworks and has preliminary support for Mach-O as well as
- ravynOS has a package repo with software built to "standard" paths like /System, /etc, and /usr instead of the FreeBSD repos which are built into /usr/local
- ravynOS desktop is being written from scratch with Cocoa, Mach, and OpenGL on a Wayland compositor, where hello's desktop is based on openbox, Menu and Filer (originally from LXQt) plus other lightweight services for notifications (dunst), screen color temperature (redshift) etc
- helloSystem uses a simplified .app structure whereas ravynOS uses real Bundles for .app
- helloSystem tends to use typical Unix paths and files, while ravynOS is moving towards typical Mac paths and files
I hope it sticks around. If it's around long enough, it can be an alternative in its own right. Ever since ElementaryOS lost momentum (or really never found it, rather) I have been looking for a "third way". RavynOS could be a great way to develop Mac apps and also target the apps for RavynOS. Could be great for music appliances and whatnot.
Not sure about the non-security expert bit but I've done stuff[0] similar to this for iOS using Frida[1] which supports macOS too. For apps that use unpinned certificates and the builtin networking libraries(NSURLSession et.al.) you can directly use mimtproxy[2] or Charles[3]
If the application isn't pinning certificates, you should be able to add your own root certificate to your machine and intercept all encrypted traffic. Same method used by corporations to monitor their own networks. I successfully used this method on a mobile game years ago.
Applications with pinned certificates don't use the system certificates at all which fixes the MITM vulnerability I described. You'd need to reverse engineer them in order to change the certificate to one under your control, difficulty can vary depending on how obfuscated the code is.
I, very fortunately, landed a small NGO as my first dev job out of boot camp. We're a team of 3 with full autonomy over how we structure ourselves and the tools we use. Also, the bureaucracy is little to none.
Based on what I've read here, other sites, friends and colleagues, I should have changed jobs at least a couple of times by now but I've been here almost 4 years now and don't regret it. If you've found a place that you find fulfilling then I don't think I need to follow conventional advice. The downsides are less exposure to different project types and not working with a bigger team of experienced devs. I need to compensate for this by putting in extra effort on my side but I still think I've made the right choice for now.
I think if I ended up in a commercial dev job, I would have started looking at other options as well. It makes a real difference when you see you work being used for a greater good.
While you're considering other options, maybe also consider joining a smaller dev team where you have more autonomy and less red tape.
[3] Sonic Pi - Music creation tool that uses ruby for instruction
[1]: https://dragonruby.org/
[2]: https://itch.io/jam/linux-game-jam2023/rate/2101760
[3]: https://sonic-pi.net/