Commit Overflow is a Purdue Hackers event that is held yearly over the Winter Recess at Purdue University. This year, Commit Overflow ran from December 18th to January 12th, with a total of 43 participants. Every participant starts Commit Overflow by creating a thread in the forum channel (this years being The event is held to encourage making things over the long break. Not only are you encouraged to make progress over time, but you can follow what others are doing as well simply by following their respective threads! In addition, two unique Badges - one for commiting 10 or more days total (further engraved with your highest streak if it's over 10), and another for anyone who managed to commit daily throughout the entire event, ending with a streak of 26 - were given out to participants meeting their requirements. The format of this post will be a daily update log of my work, similar to what is being submitted to my Commit Overflow thread. Much of this is backfilled from my notes and work shown in my Commit Overflow thread. I consider myself a badge collector (I have every badge since Hack Night 5.0, and I don't intend to miss one any time soon), so the promise of badges was tempting. At the same time, I was already looking for an excuse to work on something over break, so this was the perfect excuse. Beyond this point, this post will take on a much more relaxed tone. While everything is written with the intent of being in a post, it is also still a journal of sorts. The writing here won't necessarily meet the same standard as my other writings do. Each day will have the commit proof I submitted for Commit Overflow. Where applicable, this will either be a URL to my Forgejo instance (Previously Gitea, see Day 21) or a screenshot. While looking for inspiration to start Commit Overflow, I was going to take a look at my website. However, I was interrupted by a little icon on my GitHub homepage. Turns out, GitHub Copilot Free was announced a mere six hours before I began working. This annoyed me, as I don't like Copilot much, so my project for the day became the creation of a Firefox Add-on that blocks certain Copilot related requests on Picking up from the previous day, Github Copilot Blocker received Chromium browser support. This was basically plug-and-play as the code is quite simple to begin with. All that needed to be done was packaging a .crx and updating the Readme. See: Commit Comparison My personal website shad.moe has been in disrepair for awhile now, to the point of the entire site being a 404 for much of it's existance. Today marks the fourth revival attempt in "Website But Again The Sequel To The Trilogy". Today's commit is the creation of a base layout in Astro with Shad/CN. A sidebar with filler information and a site theme was setup and repository was initialized. Vercel was used to stand the site up on my domain. See: Commit This commit refers to my website at shad.moe. All work that was done on this was thrown out at the start of February and the repository has since been deleted. The commit URLs will reference an archive on GitHub rather than my Forgejo instance. Since I didn't know what the site would actually look like yesterday, I looked for some inspiration. Then, I spent some time refreshing my CSS knowledge by messing around with flexboxes. I used that to setup a further frame for how I wanted the site work to progress, and I fixed some issues with the Shad/CN sidebar. See: Commit I spent some time today to replace my Gitea instance at As of Forgejo v10.0 / Gitea v1.22, a transparent migration from Gitea to Forgejo may no longer be possible. See "Gitea 1.22 is the last version to allow a transparent upgrade to Forgejo" on Forgejo's website. I didn't do that. I had some issues related to my configuration with Gitea in the past, so I decided it would be a better use of my time to create a brand new instance then clone each repository and push them to the new instance. This worked pretty well. I created a new LXC container on one of my Proxmox instances and installed Forgejo. I configured it locally, connected authentik, and that was done. All I had to do after that was install Tailscale and update the proxy_pass in my Nginx configuration to point to the new container. Ah, Nextcloud. It's great software, but I manage to have so many issues with it. My Nextcloud instance had been broken for weeks, so I opted to reinstall it. Step 1: Step 2: Actually installing a new Nextcloud instance wasn't that bad. I spun up a new LXC container after deleting the previous, installed Docker, and used the Nextcloud AIO installer. I also had to update the Nginx proxy_pass directive. See: Commit - Nginx Configuration Update After hearing some off-hand complaints and thinking about how easy it would be to automate at least a chunk of the Commit Overflow threads for organizers checking commits on various days, I decided to actually do something about it. Introducing "Commit Overflow Test Bot"! Better name pending. This Discord bot can be activated by running This last check allows Organizers to mark a text-only message as a commit. The bot then outputs each day with a commit (alongside the verification method from above) and each missed day. Below that is a readout of the total amount of commits and the threads longest streak. See: Commit Smaller commit today, as I was celebrating the holidays with family. I made a commit out of updating authentik, fixing configuration errors in Nextcloud, and reinstalling my private Komga instance. I then rebooted the server due to mounting errors, hoping to clear them, and accidently knocked the server offline. Small commit again due to holidays. Fixed the broken Proxmox server. Then, reconfigured Proxmox Backup Server to allow my backups to be accessible with PBS offline. See: Grow With Google I spent part of today reinstalling Windows on my desktop computer after a year of being in a semi-broken state, then spent another part debugging and fixing a WinGet package for one of two remote desktop tools I use, NoMachine. See: Pull Request See: Grow With Google Renamed the Commit Overflow bot to Commit Overflow Helper, updated the containers timezone to be correct (Needed to be ETC - 6 to match 6am being the day change), then fixed Pull Requests to be a valid type of Git link. See: Commit Then, I fixed a bug I noticed yesterday in winget-create that was the result of schema changes overtime. It was making multiple manifests crash the tool. See: Pull Request A bug with dates in the Commit Overflow Helper Discord bot was found a few days ago, and I finally got around to fixing it here. There were nine total commits, but the end result was a two line change. I also created an icon for the bot, supposedly representing a bucket of commits. See: Commit Further progress was made in completing the Grow with Google Cybersecurity Certificate coursework. Module 5 of 8, "Assets, Threats, and Vulnerabilities", was completed. Once again had to update the timezone for the container the Commit Overflow Helper Discord bot was hosted on. This time it was switched to GMT-11. This is an... "interesting" one. The commit for today day ended up being a worldbuilding adventure in another Discord server with some of my friends. It started with one person in the server, AxoBlu, changing their server nickname to "Obsidian Night" as a joke. This devolved into lore being created for the "character", as well as many others creating their own personas and lore, with my own name being changed to "Princess Pawsalot". It was mainly meant to be a purposly terrible joke, but it was taken and ran with. In the end, we had come up with multiple different countries, kingdoms and even a pirate fleet, all encompased on a continent we titled "JOPFI" (The initials of our characters). This was multiple hours of goofing around, and the end result was really fun to look back at. See: Grow With Google See: Grow With Google Small life commit, went with family to try Axe Throwing for the first time! Images not shared for privacy reasons. See: Grow With Google Today is mostly minor things bundled into one commit. SyncThing was broken, so I re-setup the connection between my Laptop and Desktop, and synced my Documents folder between them. I then worked on some local homelab documentation, and worked in a group call to update old permissions on the Purdue Hackers GitHub Organization. Minor commit for today, I spent the day preparing to move back in to my residence hall on Purdue's campus. Once moved in, I spent a few hours shuffling around Proxmox LXC containers to bring that part of my Homelab back online. Some Clarification - University Residences at Purdue has a policy of unplugging everything in your room over break. As a result, critical services were transfered from the two local Poweredge servers to the remote Optiplex server, and the Poweredges were taken offline until my return. I did an audit of my Homelab network, identifying each endpoint and the network pathing between the public web and an endpoint, as well as the pathing for machines inside the network. The network graph was the proof of work for this commit, but I have opted not to attach it because it was pretty bad, exposed a fair amount of information about the internal networking of my Homelab, and would not embed well here. Once again a minor change was made in Commit Overflow Helper. I did a formatting pass with Prettier, and the code was updated to not include the current day as a missed day. See: Commit Worked on a small joke website dubbed "The Pit", a list of companies and people who have in one way or another annoyed me or a friend. The website takes the list and plays a looping animation of them falling into a pit. The list was changed to work in a JSX, and a button was added to view a full table of occupants. See: Commit Bluesky and the AT Protocol have been on my mind quite a bit recently. I quite like the AT Protocol, and I wanted to do something with it (and my PDS server) other than just have my Bluesky account. While researching, I discovered that one of the data fields returned when looking up a user, the So I created the "service" I came up with an idea yesterday. I was looking at things I could do with ATProto, and stumbled upon haileyok/blug, a blog built using the AT Protocol as it's backend (essentially). I decided to see how difficult this would be, it's possible all of this gets thrown out. As of today, posts are already loaded when linked to directly, sans some markdown. See: Commit Made a variety of fixes and changes to my blog. These were mostly changing how data was passed around to better use the ATProto system I setup rather than Frontmatter. See: Commit Fixed a date parsing bug in Commit Overflow Helper See: Commit ATProtocol post fetching is finally mostly implemented, and Vercel now doesn't have build errors. The page is now previewable live! See: Commit Final day, and with it comes a variety of fixes and changes from the todo list I made. As of now, the blog is in a state I'm happy with, and I may push it in a few days once I write the corresponding blog post! I didn't intend for pushing this to be a full month, but I ended up cleaning the blog up much more before finally pushing the new version. I talk about this more in Welcome to the Atmosphere!. You're reading this post on the new blog! Also of note, the blog is now hosted locally on my Homelab infrastructure. Vercel (nor any other platform) hosts this blog. See: Commit Over Winter Recess, the Grow With Google Cybersecurity certificate was offered for free to Purdue students. I spent some time on December 26th, 28th, 31st and Jan 2nd completing this certificate.Welcome to my Commit Overflow 2024 Log!
#🟩commit-overflow-2024
). Then, the goal is to "commit" something every day over winter break! Commit is in quotation marks here, as a commit doesn't have to be code. As long as it's furthering a creative project, it's a commit!Note to readers
December 18th
https://github.com
and https://github.githubassets.com
, as well as removed some elements from the DOM related to Copilot.Before
After
December 19th
Commit 1
Commit 2
December 20th
December 21st
git.shad.moe
with Forgejo after hearing about it in the Purdue Hackers Discord server for some time. Forgejo is a Hard Fork of Gitea, but Forgejo maintains compatibility with Gitea. That means I could simply replace the Gitea binary with a Forgejo binary and call it a day!December 22nd
rm -rf /
. Yes, I actually did this. I was annoyed and wanted to so something about it so I took it out on the soon-to-be defunct container and ran the command that must not be ran. The container was Alpine flavored, so I didn't need --no-preserve-root
- it just worked.December 23rd
/commit-count
in a Commit Overflow thread, and it will automatically check for at least one of the following each day:
December 24th
December 25th
December 26th
December 27th
December 28th
December 29th
Commit 1
Commit 2
December 30th
December 31st
Commit 1
Commit 2
January 1st
January 2nd
January 3rd
January 4th
Commit 1
Commit 2
January 5th
January 6th
January 7th
Commit 1
Commit 2
January 8th
Commit 1
Commit 2
service
field, is fairly arbitrary. When an AppView needs to know where to find a service, it searches based on the service key. Since this is something a service queries versus a list a service has to parse through, you can realistically append any data you want harmlessly.#have_a_fox_image
. You can guess what it does. TL;DR, it's a static URL pointing to a public domain image I grabbed and uploaded to my Nextcloud instance.January 9th
January 10th
Commit 1
Commit 2
January 11th
January 12th
Grow With Google