Adventures in The Forge - Part 1

Adventures in The Forge - Part 1 And so it begins. The ship coasted out of the gate breaking hard so as to not run into an ambush blind. The gravimetric dampeners worked overtime on cancelling out the Gs of the break. The robot gently, but firmly held the baby in place. His final and ultimate task whirled around in his tiny mechanical brain. Protect him at all costs. The Forge. A promised land. Their old home left an uninhabitable wasteland by the creatures from The Forge. They are lurking around here somewhere. No matter. The little bot will keep the baby safe. Raise him. And then they will raise hell on them together. ...

December 12, 2025 · 3 min · hannibal

Choose your own slide adventure

Choose your own slide adventure I got bored of presentations that just drone on and on about something that barely interests me. I wanted something more interactive. I’m well aware about Prezi and slido, but they both lack certain features I needed and are also not free. I believe in open source, and I believe in helping humanity go further and be more successful. So what did I create? Choose your own adventure, but with slides I love Choose your own adventure books. I grew up on Ian Livingstone and Steve Jackson’s adventures. These books were everything to me. They got me into TTRPGs and the rest of the world. ...

November 23, 2025 · 4 min · hannibal

CTY now supports using a custom CSS for the HTML output

CTY now supports using a custom CSS for the HTML output Hey folks. My tool, cty1 now supports adding custom CSS to the HTML output. In an effort to prevent cross-site scripting and other CSS nasties the CSS is pretty limited, sanitized and escaped. Using --css-file now, it’s possible to give it a CSS file that will overwrite everything inside the main HTML file. This allows you to add any customization that you would like to apply to the end result during generation. No more post processing, post editing necessary. ...

August 9, 2025 · 1 min · hannibal

Updated Google OAuth Go Sample - Modern Authentication with Improved UI

Updated Google OAuth Go Sample Hello. I’ve recently updated my Google OAuth Go sample application1 to follow modern standards and practices. The update brings several improvements including a cleaner UI, better error handling, and more robust authentication flows. What’s New New interface for the login side: Nicer errors: Welcome message: Battle arena: And lastly, logout: Technical Updates I added OAuth 2.0 best practices and some proper flows with auth middleware. ...

August 7, 2025 · 1 min · hannibal

Tilt.dev with server side apply

Tilt.dev with server-side apply Hey folks. This will be a quick one. Recently, ESO reached the CRD limit of 256KB which means that every time there is an apply of the CRDs it needs to be a Server Side Apply. This isn’t something new. However, Tilt doesn’t really have a clear documentation in this case. And since ESO is using Tilt, or at least I’m using Tilt with ESO, I also had to fix tilt. A little bit of back-and-forth with the documentation and I decided to use k8s_custom_deploy. ...

August 2, 2025 · 2 min · hannibal

Re: My AI Skeptic Friends Are All Nuts

Re: My AI Skeptic Friends Are All Nuts There was a post recently that was dissing AI Skeptics. While the post is funny at times, I feel like it’s absolutely and completely missing the point of the skepticism. Or at least I feel that it is glossing over some massive pain points of said skepticism. Let’s go over some of the points and the things that stuck out to me as problematic. ...

June 7, 2025 · 6 min · hannibal

MFA generator in External Secrets Operator

MFA Generator in External Secrets Operator Today, I’m happy to announce that external-secrets-operator will have an MFA / TOTP token generator once this PR is merged and released. This opens up some exciting new features. For example, imagine having an AWS session that requires MFA, or you have an Azure flow that requires a TOTP token. Now, you can achieve that using automation and an MFA generated in a secret. Just define a generator: ...

May 18, 2025 · 2 min · hannibal

In-depth look at CRDs and how they work under the hood

In-depth look at CRDs and how they work under the hood Today, we are going to walk through how a CRD looks like, what it does, what it contains, how it works and how it alters Kubernetes. The design, the api extension and links and snippets to the code ( accurate at the time of writing ) where it happens. Let’s dive in. What are CRDs CRDs as described in the official Kubernetes Documentation page are objects that can extend the API of Kubernetes. ...

May 12, 2025 · 18 min · hannibal

CNCF Project Showcases

CNCF Project Showcases Hi there, hello. Long time no see. I was very busy these past months. I thought about a series though that I would like to lead. Every week or month or so, I’m going to randomly pick a CNCF project for this CSV - CNCF Projects. I will explore it and write about it. See what it does, why, how, and for what reason. I know some folks that already do this, but I don’t care. I’m doing it for myself. ...

May 10, 2025 · 1 min · hannibal

External Secrets Operator template rendering tool

External Secrets Operator template rendering tool Once this1 pull request is merged, ESO will be extended with a tool that has the ability to render templates in an object. Let’s step back a little… what are templates even? But… what is ESO even? Okay, so… ESO is external-secrets-operator2. It’s Kubernetes operator than can sync secrets between an external provider, like AWS Parameter/Secret Store, and a cluster. This is bi-directional. Meaning ESO can sync the secret back as well using something called a PushSecret3. The secret will then be pushed to the provider. This way, secrets can be backed up or straight Generated4 to provide ephemeral access to certain resources. ...

January 11, 2025 · 2 min · hannibal