This article is mirrored on my blog.
I have been migrating all of my code from GitHub to my self-hosted Gitea instance.
My Gitea instance has been mirroring my GitHub code when it changes. In the next week or so, I will be deleting my code outright from GitHub.
Here's article that pushed me to finally do it: Give Up GitHub: The Time Has Come!
I am doing this for several reasons:
- I don't want my code plagiarized by Copilot. (Although, writing code in Cakelisp makes that a non-issue!)
masterfiasco. Any way you swing on any issues, I don't want politics showing up on my code hosting site.
- I don't like how the youtube-dl takedown was handled. While nothing I write does anything "illegal", I don't want a corporation having that kind of power over my work.
- I want to avoid centralization on services I don't control. It's
the reason why I set up
macoy.me, and have been migrating to it.
- Microsoft. Enough said.
Even though I am moving my code to my website, I am still interested in collaboration. If you want to work with me or contribute in any way, please email me at macoy at macoy dot me.
If you are also interested in moving your code off GitHub, check out Gitea. Overall, I am quite pleased with my experience with it.
In other news
I did an informal game jam with a coworker of mine a few weeks ago. I'll be posting screenshots and/or video of the resulting game soon. Cakelisp was used as the build system. The rest of the game was written in C so that my coworker was familiar with the main language.
It turned out to be a good project because it tested Cakelisp and C interoperability. There were a couple things I needed to tweak, but overall it went smoothly. The Mac platform caused some troubles. I wasn't surprised because I don't have a Mac for testing, so it's understandable that it isn't a seamless experience.
I have been focusing on distributed-automation, my continuous integration solution written in Cakelisp. I ported over the self-update code I wrote for Machsearch which allows the workers to be told to download and run the latest version. This allows me to start to have workers running on various machines without having to be "done" with the system. Once I make a new feature, I can simply tell the master to instruct the workers to update themselves. I couldn't use a package manager for this because I have workers running natively on Windows, and I don't really care much for package managers anyways.
Not invented here
At this point, the Cakelisp project involves a significant amount of things people would call you crazy for building:
- A language
- A linker/loader
- A continuous integration system
- The code repository not being on GitHub
I'm sure there will be more to come. I'm learning a lot. I do still use a fair amount of third-party software.
I think that being willing to tackle these things is a good attribute. If everyone always buys instead of builds, the whole industry falls into complacency and mediocrity.