Projects in the pipeline, Vol. 1


I started this blog in hopes I could put my project writeups onto it, and in all fairness, I have succeeded thus far. However, it’s a bit difficult to do writeups on “finished” projects if most projects are closer to “in perpetual development”. That’s not a bad place for a project to be, but it’s a bit antithetical to the purpose of this blog. As such, it seems that an interim post is necessary.

Without further ado,

PROJECTS CURRENTLY BEING WORKED ON

bun-chat

I’m relatively new to programming. I dabbled with it in school, but never had much in the way of projects that felt worthwhile to pursue. Recently, I have found motivation in several new forms, and am attempting to build them out as much as I can. One such motivation stems from a side project of mine: a Discourse forum I recently started. I have… several gripes with Discourse, the main one being my potato laptop begins to scream if I open 3 tabs of it. Discourse was only chosen due to it being a batteries-included solution to starting a forum that included a chatroom, but the performance overhead is beyond annoying, to say the least.

Enter: bun-chat.

bun-chat is not the final product that will be tied to my forum, but rather is my attempt at making a websocket-based chat application. The goal is to flesh it out as much as possible, and implement it into two projects: my forum’s new chatroom, and the chat panel for a private streaming site I’m cooking on the backburner (I loathe Discord, but it is unfortunately a very simple private streaming solution).

You can find the source code here. It’s not much yet, it probably never will be that much due to its simple nature, but I like it quite a lot so far.

NixOS ARM Adventures

I love NixOS. Like most experienced Linux users, I’ve done a fair amount of distro-hopping, and while I like most distros, I always end up coming back to NixOS because of how simple it makes running software without bumping into dependency conflicts (even if initial setup can be a bit of a journey sometimes). My desktop runs NixOS, my laptops run NixOS, my Steam Deck runs NixOS, the server hosting the site on which you are currently reading this post runs NixOS.

My Retroid Pocket 5 runs Android and can boot into ROCKNIX. The Radxa Zero 3E that controls my 3D printer runs Debian. These are fine solutions that are very performant and dead-simple to run. However, they are not NixOS, and unfortunately for me, I am willing to endure ridiculous amounts of pain (and even performance loss) if it means running NixOS on something.

The code isn’t terribly interesting, so there’s not much to write about. Neither appears to be terribly difficult to port NixOS to provided you have the proper knowledge. However, I don’t particularly have that knowledge (yet), and am fighting uphill to learn it by doing this.

A followup to this post (if any) will probably be a single line in volume 2, saying something to the effect of “I did it!”.

And of course an honorable mention to:

THINGS I HAVE FINISHED THAT WEREN’T WORTHY OF A FULL WRITEUP

3D Printer Rebuild

Sometime last(? time is meaningless) year I set out on a journey to save money on a 3D printer. I bought a Creality Ender 3 S1 Pro, used, sold “as-is”, of course. Not a terrible decision, genuinely. In comparison to a newer 3D printer, it doesn’t have a shroud which isn’t great, and the build volume leaves a lot to be desired. But as a starter printer, it’s a bit DIY at times but genuinely not a bad way to learn about 3D printing.

What is a bad idea is deciding (partially out of boredom, partially out of wanting to understand the internals) on a whim to rip out the motherboard (and subsequently, all the wiring), replace it with an aftermarket board, redo all the wiring from scratch (and have to learn how to make wiring harnesses at the same time), and run Klipper on the thing.

If nothing else, I have worked with electronics since childhood, so this wasn’t my first rodeo with wiring and soldering by any stretch of the imagination. However, wiring harnesses require a certain touch I had to develop, and aftermarket boards are certainly documented, but connecting an aftermarket 3D printer board to a proprietary Creality part and assembling a VGA circuit for a Dreamcast are very, VERY different things.

Very worthwhile experience and I gained a lot of valuable experience along the way, but my official recommendation is “do not attempt to do this unless you are specifically trying to level up your electronics skills, there are so many better ways to get into 3D printing. Just buy one that already works. Please”.

That being said, I did find a lot of Creality printers being sold “for parts” are in surprisingly good shape. My best guess is that the one I received was bulk decommissioned from a school or a makerspace or something of the sort, and was just missing a few screws and cables that were cheap to acquire or make. Not a bad way to save a bit of money if you don’t mind older hardware.