15
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’ve been working on my hobby OS, duckOS. It runs in protected mode, has a virtual filesystem (with ext2 as the root filesystem), preemptive multitasking, paging, usermode exeutables, CoW for forked processes, and a newlib-based C library for programs.
Just this week, I was able to get DOOM ported to it, which I’m pretty proud of. It’s a little bit hacky (it opens the framebuffer at /dev/fb0 directly and reads keyboard input from the keyboard device at /dev/input/keyboard since I haven’t added canonical support / ANSI escapes to the tty yet), but it works.
Right now, I’m working on rewriting the page allocation algorithm to use a linked list of memory regions instead of a bitmap and ext2 file creation/write support. I also want to implement a mechanism for IPC so that I can write something like a window manager, but we’ll see how that goes :)
I've been working on a macOS SwiftUI-based browser client (and maybe editor) for the Gemini protocol. I've been struggling a bit with SwiftUI's limitations, especially since I don't just want to target Big Sur with its fancy new features, so I have to dive into Cocoa to do a lot of the more interesting things.
Late last week my team at work went live with these new info screens posted around Boston’s public transit system. For reference, this is what was previously shown on the screens.
They also have audio equivalence.
We’re still ironing out some kinks and listening to initial feedback, but I think it’s a pretty big improvement over what was there before.
Tech:
config.exs
file right now, which isn't great—we have to make a pull request and deploy for every config change. We're now actively working on an internal tool to decouple the config from the application logic. The main goal is to allow for quick changes, but eventually we also want non-engineers to be able to configure screens via a friendly UI; a sort of real-time-data CMS.That's a great improvement!
I love projects like this, which involve processing live data and also presenting it in a useful manner.
Could you talk a bit about the stack you are using for this?
Just updated my comment with tech info!
Thanks!
Good to see a BEAM application :)
In my mock game of "how would I have designed this", I had Erlang for building the backend as my first pick.
Also, kudos on going live!
After years of searching for a way to get FTL to play on my phone, I noticed an update to the Steam Link mobile app that comes with its own touch configuration for FTL. Little disappointed, to be honest. So I'm between projects ATM.
What phone do you have? On ios, it's not too difficult; don't know about android.
Pixel 3a. I've looked into hacking a soft mouse into a modded version of Firefox for Android, to what would be required to run Box86 within an Android Chroot.
Ah, yeah, probably mostly out of luck, then. The ios version is supposed to be locked to ipad, but not hard to get it onto iphone. But it's a huge cpu/battery/heat hog; no telling how much worse it would get for a non-native version.
I made a pastebin/url shortener combo in just a single file (excluding dependencies & db setup): https://ebc.li/1k (not hyperlinked because i wanted to show off my sick new domain)
And just a couple hours ago, I extracted my fediverse comments thing and made it into a proper-ish widget. Here is it's temporary home
I also had an idea about a browser extension that would redirect YouTube content to any PeerTube (re-)uploads, but I probably won't be making it as having to curate a database of video redirects doesn't sound that fun.
While it isn't programming (and probably not what most people are thinking of in this thread), I've been working on building a darkroom. I managed to find an enlarger at a yard sale and they owner gave it to me for free, which is great since this one would have cost about $800 USD on ebay! I've been working on getting the rest of the equipment needed and trying to improvise and get it as cheaply as possible.
I plan on building this darkroom in my garage. Someday I'd like to build walls around it, but for now it's probably going to have to be blackout curtains hung up in the corner. I've been shooting and developing film for several years now and I'm really excited to finally start making prints!
This definitely counts as a technical project as far as I'm concerned! My high school had a darkroom which I suspect is something of a rarity now (this was in the late '00s) and it was a fantastic resource—I took photography every semester. These days I prefer digital, but I found there to be something incredibly cathartic about the darkroom experience.
I'm working on mastering Python, I've built small applications for work. I'm about to start working on a Django/Flask based website here in the next few days. Hoping to cement some more knowledge.
Good luck! I've heard Flask is pretty good to use for making sites. You should have a good time using it :^)
Thanks! I'm hoping!
I made a neat static site generator for my open source project documentation. It works pretty well. Right now I manage all the files manually (in code) which is quickly becoming annoying. Some files depend on others getting generated first so I need to output them to a temp folder.
I'm learning Gulp right now so that I can refactor my code into something more maintainable. It will allow me to pipe my file transformations in memory instead of using a temporary folder.
My current tech stack is:
It's not the fastest thing in the world, but I have full control over the final output.
I've been working on a script that I started a while ago to help me manage my dot file repo. There are definitely simpler existing ways to manage them but I started the script before I knew about them and kept working since I figured it'd be a good way to learn some Python (plus it's fun!). This week I took the script out of my dot-file repo and put it into its own repo so that other people can use it to, if they want, and sent it to a few of my friends. It's at https://gitlab.com/bwbuhse/dotboy if anyone wants to take a look.
It's been really fun getting used to Python and working on a project that I actually like to use for myself.