So, as a good developer, it appears I have gone down the rabbit hole and begun building my own blog platform. Since I care so much about motivation and so forth, I have a little habit tracker app that gives me little dopamine hits whenever I work on it.
It's fun. 😃
My challenge to myself:
- Every line of code starts with a failing test (or starts by failing a test)
- I deploy whatever I wrote the same hour I wrote it
- I get "into production" as soon as possible
And it seems to be working! Here's what I've got, at a very high level:
- I use
podman
to build images for the blog engine as well as the source code repository - I have a shell script that packages those images and another one that automatically deploys them
- When I have code that I'm convinced works, I run it locally one last time
to see if I made any visual mistakes, and then I just:
bin/package
bin/start
And then it's done!
One thing you might notice is that I don't have a fancy Continuous Integration service or anything. It's just like the old days: the integration computer is a podman container. If I wanted to accept contributions from folks they would send me a patch and I would integrate it locally. If they wanted to fork the project they would just clone it and serve up their own repository. They could even put it in git if they want to.
Though I have no real expectations about that. Content management systems are a dime a dozen, and this one isn't the easiest to use right now. So I fully expect this will be a personal project for a while.
I can't wait for the motivation features I want to build in! Eventually I think I can replace the habit tracking app with this open source project, and then there will be one less thing that I rely on from some other developer. That makes me happy. 😉
At some point I'll get to where people can send reactions to posts. For now, though, if you have feedback hit me up on Keybase!