When I started this site, I was mostly interested in building a blog. So, I went with the path of least effort and started with a hugo and caddy setup. However, that really wasn't satisfying in of itself. I've come to understand that I just enjoy building and learning more than discussing what I've done. This perspective, I think, helps me understand why I haven't actively published much since I fist stood up the site.
However, I think with the changing trends in software development, it's becoming more important to be able to communicate openly and effectively. So, I'd like to make sure that I'm making a real effort on this front, so I'm looking at ways to improve my written communication.
Taking advantage of my motivation
In software development, to really learn things, I think it's important to be motivated and to be willing to struggle through one's own inexperience and ignorance. With a Hugo built site, unfortunately, the motivation just isn't there for me. So, I decided that I would rewrite ths site using web development tools and carve out some time to experiment and learn.
Decision time
I've built and maintained quite a few web applications in the past using standard web development tools and stacks ranging from PHP, Node, React, Django, Flask, etc.
Choosing one these common stacks would likely mean I'd get something out quickly. But that approach would be a little dissatisfying for are reason or two.
- I'd not be scratching the learning itch.
- For what this site is targeted to be, I have no interest in deploying a containerized application.
One of the things this leads to is go's ability to build and run applications in a single binary with embeded resources. And, go's standard library is a great fit for this. But I don't necessarily want to build and manage an entirely custom stack right away. fiber is a great fit for this because it's a minimalist web framework with the ability to opt in and out of features as your needs grow.
What's the plan?
I'm just going to start with standard html templates, some basic css and, fiber using the templates feature. For the database, well SQLite is enough for now. Combine that with some simple deployment tooling and things should be up and running quickly.
An important note.
As I mentioned, this is about learning and experimenting. As such, I intend to build this site, at least initially, with none to little use of agentic coding tools. I'm not trying to make any statements about the pro and cons of agentic tools rather, I want the struggle to be part of the process for now. When I get to a point were I'm feeling confident enough that I could do everything on this site myself without needing to google, that's when I'll start using agentic tools.