11
votes
What programming/technical projects have you been working on?
This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?
I'm rapidly flipping between several hardware projects.
I'm making some very tiny motor drivers for use in insect-weight combat robots. My hope is that I can drive them more effectively for this use case (high torque, start up as fast as possible, don't stop in the face of unexpected spikes in motor load) by doing my own thing than by trying to adapt RC aircraft ESCs, which is what people usually do. I also think tiny steppers may have promise as wheel motors, so I have a variant that can drive those from the same sort of signal as standard RC motors and servos. I spent the last couple of nights digging into low-level ARM register-poking and memory layout, because I chose a microcontroller family (STM32C0) that isn't currently supported by libopencm3.
I'm also hand-wiring a bigger split keyboard - moving from a Sofle to an 8x6-per-side Dactyl Manuform based design. It is big and purple, which is the optimal set of keyboard attributes for me. I'm looking forward to not having hot-swap switches, which is a feature I never used in practice except for occasionally knocking switches out of the keyboard.
My Steam Deck keyboard project is still in progress, but both I and my friend have had enough other stuff going on that we haven't gotten around to putting together another prototype yet. I'll be moving next year and we decided to not try to pursue production runs until after that, so there's minimal time pressure there.
That Deck Keyboard is equal parts intriguing and terrifying. What's your vision for which game you want to use it for?
As silly as it may sound, I feel the critical mass of buttons may do better on the right side but maybe I'm just not thinking of the right game is all.
My original idea there was "I use the right touchpad frequently and do not want to cover it up, but I never use the left one". But it's scope creeped a bit since then! We are now making left, right, and both-sided variants, because which one works for you probably does depend on how you hold the Deck and what sort of games you play.
I've used mine for Nethack and Poly Bridge so far. Nethack simply requires too many buttons to be playable on a controller. Poly Bridge has a fairly typical "press 1-6 to select the first-sixth tool on the toolbar" sort of workflow, which you can map to controller buttons but the UI still has the numbers there and you have to remember which button is which number (or you just give up and click them). The original thing that pushed me into starting this project was Satisfactory, but Satisfactory has since gotten less terrible on controllers.
This week in repeatTest: finally did a release! That's it for the year, and possibly for quite a while. (Unless I find a critical bug.) I'm not going to come back to it until after I've used it on other projects.
I made a website to search Hard Drive prices ($/TB) on eBay: https://unli.xyz/diskprices/
There are still a few bugs but so far it's coming along very nicely. Not bad for a few days of head-scratching! A little bit more regex has been burned into my muscle memory. I still have a pretty long TODO list but any initial feedback would be helpful.
You can add custom filters at the bottom of the page. I think having a button at the top or maybe enabling some defaults will help make that feature more discoverable. I've really enjoyed using the DataTables.net library. It has been a godsend!! But it does block the event loop for a couple seconds when loading the page the first time...
Currently making implicit logic explicit in the software my company produces. It's really small bits of functional programming spread out over something that's otherwise object-oriented. Most here have probably had something similar, where a feature slowly organically grows in a program.
It's an interesting challenge, and I'm learning a lot. From basic development and code styling to long-term software architecture to prevent painful maintenance over decades. C# is also slowly becoming my favourite language. It has a very good balance of power, flexibility, while forcing you to be explicit.
I think I might have a go at making a Factorio mod. I don’t want to give anything away yet because it’s still just a single sheet of ideas I wrote out today. I don’t even know if it’s possible in the Factorio engine and my skill set.
First step is to mess around with modifications of the base game items and see what I can do with it. I have never used lua before, so that’s something else to learn. I’ve only looked through a lua tutorial and made a sample Factorio mod, but so far I think I like it. It seems relatively straightforward but still very powerful.
Been bashing my head against UE4SS to make a Supraland modding system. The main goal is to implement a game state manager that will allow a randomizer to not softlock the player. I have significant unreal engine knowledge, but I've never worked with the UE4SS tools so it's been some slow going while I figure out what the Lua scripting will and won't let me access. I think I'm going to have to break down and just reinstall unreal 4.26 so I can make pak mods to handle some of it.
I'm open to tips if anyone has worked with UE4SS before. I have been pretty successful in getting references to the upgrades and pickups but spawning new classes is giving me issue. I'm hoping this can go somewhere because the ultimate goal is getting Archipelago multi world randomizer integration. That's a whole other project I'll worry about when I get there though.