diff --git a/content/posts/new-website/index.md b/content/posts/new-website/index.md index cc7c167..49d1950 100644 --- a/content/posts/new-website/index.md +++ b/content/posts/new-website/index.md @@ -1,100 +1,97 @@ --- title: "New Website" -date: "2025-05-11T12:00:00-06:00" +date: "2025-05-16T13:16:00-06:00" description: "There's finally a new website at d-b.ca." summary: "I've published my personal website. A brief history of some past endeavours, and some details on the technology behind the new site." --- -I've finally gotten around to publishing a proper website here at -[https://d-b.ca/](https://d-b.ca/). The last time I had anything up on this -domain was over 20 years ago, according to the -[Wayback Machine](https://web.archive.org/). What took me so long? Over the -years I've learned a lot, and I'm constantly trying out new ways of getting -things done. This site, although intended to be useful in its own right, is a -culmination of the platform I've developed to host it. +I've finally published a proper website at [https://d-b.ca/](https://d-b.ca/). +The last time I had anything live on this domain was over 20 years ago, +according to the [Wayback Machine](https://web.archive.org/). What took so +long? Over the years I've learned a lot, and I'm constantly experimenting with +new ways of getting things done. This site, while useful in its own right, is +a culmination of the platform I've developed to host it. ## History -My very first personal website was developed while I was a student at the +My first personal website was developed while I was a student at the [University of Alberta](https://ualberta.ca), near the end of the previous -century. The web itself hadn't been around for very many years, but the -university did provide the means for every student to publish web content. -It was mostly a novelty at the time, and didn't last beyond my time at the -school, but it was part of the beginning of how I got interested in Internet -technologies and how they can be applied. +century. The web itself was still quite young, but the university provided +students with the means to publish web content. It was mostly a novelty at the +time and didn't last beyond my time at school, but it sparked my interest in +Internet technologies and their applications. -That early site did include one interesting feature. I developed a mechanism -to automatically update a page every time I logged into one of the school's +That early site included one interesting feature. I developed a mechanism to +automatically update a page every time I logged into one of the school's computers, so my friends could find me if they wanted to. ### Self-Hosting -I've always been an avid self-hoster. It started when I was working at a local -Internet services provider. I was able to get a special deal on a -business-class broadband connection at home, which came with a `/28` subnet -that I could use. I dedicated the largest machine I had on hand at the time as -my server, and developed many services, including a new website. +I've always been an avid self-hoster. It began when I was working at a local +Internet service provider. I was able to get a special deal on a +business-class broadband connection at home, which included a small network +block (a `/28`, or 16 IP addresses) that I could use. I dedicated my most +powerful machine to be my server and developed several services, including a +new website. -My website at this time was nothing fancy, and was mostly geared towards +My website at that time wasn't fancy, and was geared primarily towards experimentation. I developed a simple content management system from scratch -in PHP3, which I used to publish a blog. It had some integration with mailing -lists, which I was also experimenting with quite a lot at the time. +in PHP3, which I used to publish a blog. It also integrated with mailing +lists, another area I was exploring at the time. ### D-B.CA I hadn't registered a domain name of my own in those early days, so everything -was listed under a friend's domain name. In late 2002, I decided to finally -register one of my own, mainly so I could have a stable email address. I came -up with `d-b.ca`, because someone was squatting on `db.ca` --- which is still -squatted on to this very day, I might add. +resided under a friend's domain. In late 2002, I decided to finally register +one of my own, primarily so I could have a stable email address. I came up +with `d-b.ca` because someone was squatting on `db.ca` – and still is, I might +add. -Early on I was mostly involved in operating my email services and other -experiments, and didn't focus much on a website. There were a few test pages -at times, but nothing serious. +Early on, I focused mostly on operating my email services and other +experiments, with little attention paid to a website. There were a few test +pages at times, but nothing substantial. ## Modern Technology -One of the projects I've been keeping an eye on is [Hugo](https://gohugo.io/). -I've seen and worked with various web content management systems in the past, -and they tend to be rather cumbersome and a source of security concerns. Hugo -is an example of what's called a "Static Site Generator", which transforms a -source description of a site into the set of static resources used to serve -the site, much like a compiler. The resulting static resources can be served -as regular files from any web service, without the need for dynamically -generating content upon request from a database like a traditional CMS. +One of the projects I've been following is [Hugo](https://gohugo.io/). I've +seen and worked with various web content management systems in the past, and +they often feel cumbersome and present security concerns. Hugo is an example +of a "Static Site Generator," which transforms a source description of a site +into the static resources used to serve it – much like a compiler. The +resulting static resources can be served as regular files from any web +service, without the need for dynamically generating content upon request from +a database, as traditional CMS systems do. -Using Hugo is much easier with a good base template, of which there are +Using Hugo is much easier with a good base template, and there are [many to choose from](https://themes.gohugo.io/). I've chosen one called ["Blowfish"](https://blowfish.page/) for this site. -Another benefit of a static site generator is that all of the sources for the -site can be treated like software code, meaning that it's simple to use -development tools like git for version control. I keep the sources for this -site in a public repository on my own git server, have a look at this link -if you like. +Another benefit of a static site generator is that all the sources for the +site can be treated like software code, making it simple to use development +tools like Git for version control. I keep the sources for this site in a +public repository on my own Git server. Feel free to take a look: {{< gitea repo="d-b.ca/web" >}} ### CI/CD -I have also set up a CI/CD pipeline to handle building and deploying the site -whenever anything is changed in the source repository. The CI portion is -triggered by a push to the web repository. It runs a workflow that builds the -site and then packages the resulting artifacts into a container image based on +I've also set up a CI/CD pipeline to build and deploy the site whenever +changes are made to the source repository. The CI portion is triggered by a +push to the web repository. It runs a workflow that builds the site and +packages the resulting artifacts into a container image based on [Caddy](https://caddyserver.com/). The build container with Hugo is another -image that I maintain in this repository. +image I maintain in this repository: {{< gitea repo="d-b.ca/hugo-builder" >}} -Next, the workflow updates the CD Gitops repository to deploy this new version +Next, the workflow updates the CD GitOps repository to deploy this new version to a private staging site. When I want to publish the new version as the -production site, I use my regular Gitops repository to update the image tag +production site, I use my regular GitOps repository to update the image tag, and the rest happens automatically. {{< gitea repo="d-b.ca/db-cd" >}} ## Underlying Platform -In my next article, I'll describe more about the platform that this site is -running on, and some of the history and desicions that were made to get -everything up and running. +In my next article, I'll describe the platform this site is running on, and +some of the history and decisions that drove its design.