12
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 actually just finished my portfolio. I have been in a bit of a rut, project-wise (Turns out, I hate Rails). It's a terminal-based portfolio (with some Fallout inspiration). You can check it out here if you want.
This is freaking awesome. I love the style and interface. You’ve definitely inspired me to do something similar in the future. I love CLIs and bringing the same look and feel into a web app is a really cool way to broaden your audience without sacrificing the spirit of the terminal.
How long did this take you to build?
Thank you! That means a lot! And once I finally settled on what I wanted to do, it took about a week, but a lot of that was getting my ideas more fleshed out.
This is really creative! Jsyk 'launch 2' opened a new tab with an error.
Fixed! Thank you!
I don't guess I even really mean that I hate Rails, I just don't feel like there's are as many resources out there for me to learn better. I had a fatal error in a project that made it where I couldn't deploy it, and no matter what I did, I couldn't find any solution that worked for me.
Very cool! Been meaning to (potentially) make one in that “web CLI” style myself.
P.S.:
Haha yeah that was from when I was going to make it where user's could input their own names for the interface. I thought I scrapped all that stuff, but apparently I didn't.
Currently phasing out our docker swarm cluster for kubernetes. Right now we're moving our development deployments to kubernetes to test things out for now.
So far, the changes are holding. Code commits spool up drone, a secondary pipeline stage kicks off to update the manifest with the updated image tag thanks to kustomize, argocd picks up the change and a new replicaset gets created.
I will need to look into a way to template our manifests so I can more easily generate them for our deployments because copy/pasting and making slight adjustments to a dozen or so files is error prone.
At work we're using cookiecutter to lay out kustomize manifests if someone needs to spin up a new service. It was slightly easier to onboard people to Jinja (ubiquity of Ansible) than Go templates when they take a crack at our in-house charts for the more complex deployments.
Built up a simple data engineering platform with Airflow in kubernetes (GKE), and imported all our ragtag bunch of BigQuery datasets under Terraform. Surprisingly straightforward to setup even if you have Airflow set at "planetscale" mode (with celery, KEDA for autoscaling worker pods, on a GKE cluster with autoscaling nodes).
Got it syncing with a git repo and task logs on a bucket so the deployment is essentially stateless. Managed to get Google SSO working with a bit of Python code, then Airflow essentially says "good luck" and makes you write the authorization code if you're not using a provider that has group data in the claim so you can easily map it (like GitHub). Will need to pull some of our more full-time devs to cook up something resembling saner RBAC. We're not in Active Directory land anymore.
We can now migrate an obscenely complex hierarchy of Jenkins jobs triggering more jobs and a hodgepodge of scripts on a crontab spread across VMs nobody has logged to in years that apparently performed some essential business function. One step closer to retiring our crumbling Jenkins instance that became a defacto workload scheduler that reminds me of Autosys.
Still working on revamping how values are built in repeatTest, the property test library I’m working on. I have pipelines working, including caching of intermediate values that didn’t change. Writing a simple function to generate a random value is more convenient, so it’s difficult to see any value in this so far. But hopefully it will result in faster shrinking for large values eventually.
Next, I want to add support for dependencies on multiple incoming values so that it’s possible to have a build tree instead of a build pipeline.
I made a little word splitting program while on my phone between rides at Hong Kong Disneyland: https://github.com/chapmanjacobd/computer/blob/main/bin/find_word_breaks.py
It's far from perfect but it made the waiting-in-line go by fast.
Something dynamic programming like this probably runs faster: https://github.com/christophsk/segment-string/
I am currently working on my website.
I am using Astro to generate it and it’s been good so far. I am making all the blog features “from scratch” as much as possible and it’s quite a cool exercise.
On the other hand, I am also playing with Portainer to try out a lot of open-source solutions to minimize my dependency on other companies when possible.
Professionally I'm in the final stages of launching a webapp for my client. It's a very niche thing, automating tasks for notaries, so lots of domain-specific and country/state specific logic there. It felt kind of nice and old-school working on this, away from the inflated AI bubble.
This app was a neat chance for me to figure out Next.js app router. After a year of working with it on this project, I can definitely say it's an improvement. Sometimes I do get a headache figuring out the optimal path our data and re-renders take through all the layers of caches, SSR, layouts, context, zustand store and plain old react shenanigans. But there's always an elegant solution hidden in there if you poke at it long enough, and I do like chasing that feeling.
On the non-professional site, my attention is split between figuring out how to debug network connectivity issues in the docker containers of my media server stack. I'm using yams by tildes suggestion, and so far it's been working great, but during some regular updates something went horribly wrong. I think it's related to wireguard, but can't figure out why networking works fine on the host machine, but DNS doesn't resolve on any of the containers. I'm not knowledgeable enough about these things, but I guess it's a chance to brush up on the full networking stack.
My second project is a little Arduino LED side quest. My partner has an art expo soon, and they need an LED setup in a box that drives a physical game. Basically, different parts of the led string need to light up in different colours, on different timers. The last 1/3th of the strip I'm repurposing as a sort of timer/progress bar. Even with my very basic knowledge of electronics, it's surprising how quickly I could get started on this. I did fry the first two LEDs on my strip before discovering it does actually matter which side of the capacitor you connect to what in the circuit, but oh well. LED seems very forgiving of beginner mistakes.
this barely counts. Anyway, boringavatars.com decided to monetize and the rates are insane for something I use a few times a year. Long story short, I asked chatGPT to make something similar and also another pattern. this is the output --- and I am over the moon with the results. Instead of having to capture svg etc, I can just right click and download. ezpz
The colors default to Dracula, but I can also use
?colors=ff5555,a2a4455...
in the URL to set the scheme. The images are all 1024x1024 right now.edit: added some more patterns -- https://i.imgur.com/7t7m3V0.png
Those are really cool. Do you get many duds and need to reroll?
I say you slap a subscription charge on there and retire! /s
honestly, it’s pretty great. out of fifteen for each design, there are at least half that i’d use.
I am doing a talk at a local meetup at the end of the month about Deployments and how I have used Dokku to deploy simple applications on my own VPS. The idea sprung from the fact that I work with a lot of developers who don't understand what it means to actually deploy a web application and how my own history of web development has positioned me right in the middle of Dev and Ops (DevOps!).
So the simple web app I have created is a Chat application using Bun, Hono, and Mithril.js.
I hadn’t heard of Dokku before, thanks for sharing. Have you tried many self-hosted heroku alternatives? There seems to be a few out there and I’m wondering what the experience is like.
Will your talk be recorded?
I honestly haven't even ever used Heroku. I saw Dokku mentioned on a thread on lobste.rs and decided to give it a whirl. It was pretty easy to get off the ground despite some issues I had with previous nginx/LE cert setups I had.
Unfortunately the talk will not be recorded but I will publish the slides afterwards (and the code for the Chat application). Maybe I'll turn it into a youtube video or something down the road.