Below you will find pages that utilize the tag “Meta”
Excluding Weeknotes From Main Page
I just went to write up a new weeknotes post, and noticed that that would have meant that all three previewed posts on my main page would have been weeknotes. That simply will not do! So into the depths of Hugo layouts I ventured once more.
Gitea Actions
As I hoped in my last post, I’ve set up Gitea Actions on my homelab, with a view to completely replacing Drone which I’ve found to be pretty buggy and missing some core features1. The process was reasonably smooth, but not entirely turnkey, so I’ve laid out the steps I took in the hopes that they’ll help someone else.
Attribution on Mastodon
Just a quick one to note that, following instructions on this article, I’ve added a meta tag to posts from this blog (<meta name="fediverse:creator" content="[email protected]" />
1) which should, hopefully, result in attribution when articles are shared on Mastodon (and apparently Discord too 🤷🏻♂️).
Uses Page
I’ve fallen out of the habit of blogging, recently, due to some personal/family stuff going down. In an effort to kickstart that process again, I’m taking on a smaller task that requires significantly less effortful thought - a rudimentary “Uses” page, inspired by the general practice of listing the stuff™️ used.
Auto Announce on Mastodon
I just set up a step in my publication pipeline to automatically post on Mastodon when I publish a new blog post.
Adding RSS
Inspired by this article, I’ve added (or attempted to?) an RSS feed to this blog. From Hugo’s docs it seems pretty simple, but please let me know if you run into any issues!
CI/CD/CD, Oh My!
Since leaving Amazon ~4 months ago and dedicating more time to my own personal projects (and actually trying to ship things instead of getting distracted a few days in by the next shiny project!), I’ve learned a lot more about the Open Source tools that are available to software engineers; which, in turn, has highlighted a few areas of ignorance about CI/CD Pipelines. Emulating Julia Evans, I’m writing this blog both to help lead others who might have similar questions, and to rubber-duck my own process of answering the questions.
Cloudflare Tunnel DNS
I use Cloudflare Tunnels to expose services (like this blog!) to the public Internet while remaining protected by Cloudflare’s infrastructure. While attempting to add a new service, I noticed that there were two steps required:
- Updating the configuration deployed to the tunnel daemon, mapping the internal service to its externally-accessible name
- Updating Cloudflare’s DNS entries to map the external name to the Cloudflare tunnel
Although the first step is easily automated with the cloudflare/cloudflared
image, the second isn’t so simple - there’s no single command to update all exposed sites, so the logic would need to parse the config file to determine the set of all sites, and the cloudflared
image doesn’t include tools to do so.
Self-Hosted Analytics
Way back in this post, I talked about enabling Analytics Tracking on this blog. I disabled it a while back, as the move to an actually self-hosted blog behind Cloudflare Tunnels (as opposed to an AWS-hosted one) messed that up a bit, and I was more incentivized to have a self-hosted blog without analytics, than vice versa. This post is the story of how I got self-hosting analytics working.
Tags in Archetype
I’ve been using tags - or taxonomies, as Hugo more generally calls them - to organize posts in this blog for a while, but haven’t imposed much structure on them. I tend to just apply whatever tags feel appropriate at the time I’m writing, which led to posts with near-duplicate tags1. We can solve this problem with COMPUTERS2!
Self Hosting Blog
Despite this blog being initially set up to primarily talk about self-hosting, I’d actually been hosting it on AWS until very recently. This was due to caution - I know just enough about security to know that I know next-to-nothing about security, and so I didn’t want to expose any ports on my own network to the Internet. Instead, I set up an AWS CodePipeline to build the blog and deploy to S3 anytime I pushed a new change. Admittedly, this was a pretty cool project in itself that taught me a lot more about CDK and some AWS services; but it didn’t feel like true self-hosting, even though I wasn’t using anything like Medium or WordPress.
Commenting Enabled
If everything has worked as expected, comments should now be enabled on this blog via Disqus. Don’t make me regret that. Ensure that your comments pass through the Three Gates - they should be true, necessary, and kind. If you want to espouse homophobia, transphobia, racism, fascism, anti-vax, or anything similar, you are not welcome here. Black Lives Matter, Trans Rights Are Human Rights.
I don’t yet know if Disqus provides moderation - if it does, assume that every comment will be subject to approval. If it doesn’t, I reserve the right to remove commenting as soon as it becomes problematic, and then you’ll be the reason why we can’t have nice things.
My First Post
In true navel-gazey meta style, the first post on this blog is a description of how I set up the blog.