I’m working on something related, actually: I’m working on an init system/service manager with these features, for the purpose of replacing OpenRC in my system, from scratch. Writing a new init system is probably a very dumb thing to do, but alas.
I’m also doing a bunch of normal maintainer work, have heaps of patches and RFCs to review for Hare that I’m excited about.
I’m currently working on a Scheme implementation in Hare, and I’ve been translating https://www.wikifunctions.org on-and-off. Sadly my work-related projects aren’t released as FOSS at the moment, although that is an option I should look into.
I wanted to get more comfortable with Python, so I started contributing to ArchiveBox which is a self-hosted web archiving tool that is something I had wanted to set up for myself, anyway.
I also created Frozen Soup, a small Python tool/library to create single-file HTML snapshots of websites.
And it is not something I’m working on actively any longer, but my most recent big project (by volume of code) was Scat POS, a point-of-sale and ecommerce system built with PHP and MySQL that we used to run our retail store. (It’s closed now, thus the inactivity.)
The work I’ve been doing is on improving the importing tools and flow so it will more easily integrate with anything that speaks conventional formats and protocols. Like replacing the grotty home-grown RSS parsing it was doing to replace it with the battle-tested feedparser Python library.
I was trying to import my own data into an ArchiveBox instance, hit bugs, and got so offended at the underlying code that I had to fix it. A classic FLOSS development arc.
I’ve been working on something related to this: a service manager for user sessions. In reality, my service manager is just a shell script which provides a high-level wrapper around the s6 family of utilities, which implement the bulk of the work.
Related: I also wrote dbus-waiter, a small tool that runs another dbus service. dbus-waiter emits readyness notifications when the service actually takes its expected dbus name. I use this to start supervised services which depend on each other only when their dependency is ready to receive clients.
I do encourage others in the field to look into s6’s readiness notification mechanism; it’s nice and simple design which I hope can gain adoption in other service managers too.
My two main projects at the moment are contributing to Forgejo, and rebuilding my server on NixOS - with a twist: my configuration is written in a literate style using Org + Org Roam (I had great success with that when building my workstation config, so I’m going to use it for all future NixOS configs too).
I’m also working on a small tool that’ll take a set of git repos, and replace all files with garbage, with the goal of serving those repos for select bad actors (not necessarily to poison them, but to make the source useless to them), while everyone else gets the real deal. This one is not public yet.
Sounds interesting, ones I’m aware of are: Innochi2D, were IIRC even trying to get the dependencies for compiling it got too involved (mostly blaming this on D being too niche); And Kalidoface3D which sadly seems abandoned which for NodeJS projects tends to be fatal.
(Interest for me being just things like a webcam avatar btw, so not vtubing)
my tool is that basically, tho it renders to a window, for now obs can do the v4l2loopback part to get it as a webcam input, but if i can figure out how to render vulkan to a webcam node i might add it as a backend
calling it “for vtubing” is just so people understand what it does easier, but in truth it’s a 3d avatar puppeteering tool and renderer
I’m on a marathon of hardware project: the first on was turn indicators for a bike trailer, now I’m finishing up a hot plate for SMD soldering (surprisingly difficult), and then I’m moving on to switched power supplies, including bike dynamo battery chargers, in preparation for another camping trip.
Apart from that, I want to come back to the CartoCSS interpreter for QGIS so I can make some decent maps for the trip.
I’m constantly looking for ways to make FOSS more approachable and in particular easier to build source. Hare is on my radar for this reason, though lately I’ve been working on more HLL software using Lua and LÖVE (a game engine I use to build non-game tools). Both are quite easy to build. My most recent project is a little programming environment that you can use to create small Lua programs on your phone: Lua Carousel.
Carousel is hackable in two ways:
You can use it to create little scripts on your phone or computer.
You can connect to it on a computer to modify its source code as it runs without needing to restart it.
Check out the devlog there for lots of examples of the sorts of things it enables. One idea I have lately is it’s a public service to not just list our favorite tools but also be showing off things we build using them. Doing so alleviates the pressure on projects to put out new releases to show “proof of life.” In this vein, if you use Carousel please send me any scripts you build no matter how trivial. I’d love to showcase them on the devlog.
Currently working on mcron, a cronjob scheduler that wake up the machine when suspended. This target linux smartphones, and would make some hacks from Sxmo obsoletes.
I was working at some point on a cron-alike for Hare (never got off the ground) which would have some improvements over cron(8), but never got around to it. I might pick it back up at some point and draw pieces from your codebase.