Hacking on CAPA - The journey of implementing a nontrivial feature in a barely known codebase

Hacking on CAPA - The journey of implementing a nontrivial feature in a barely known codebase Hello Dear readers. Today, I would like to write about a project I’ve been working on these past months or so. This is a longer story and hopefully an interesting one to read. I’m going to write about the journey I took while trying to implement IPv6 based Kubernetes cluster for CAPA and EKS. The interesting points of this journey are twofold. First, understanding IPv6 in AWS land and how it’s configured and how it works. What are it’s limitations and requirements? Topology, routing, security groups, launch configuration, IAM roles, node policies… etc. ...

June 26, 2022 · 14 min · hannibal

Dependabot Bundler

Hello Dear readers. Today, I would like to write about a small pet project of mine called Dependabot Bundler. We’ve all been here: You would like to review these individually, of course, however, having to individually merge them is quite the pain. Isn’t it a lot better to do this instead? A lot nicer and more comfortable, isn’t it? This is done by running dependabot-bundler with the following command: ...

May 16, 2022 · 1 min · hannibal

Reader's Digest - January with Grokking Algorithms Go Generics Repository

Hello Dear readers. Today’s reader’s digest comes with a repo and some code too! Let’s dive in. Reader’s Digest - January Immune Immune is an absolutely fabulous book. It’s amazing and in time of this pandemic a healthy read to boot. I love biology, but never went too deep into it. This book fascinated me with its colorful images, the style of Kurzgesagt story telling and the man himself, who is the voice of Kurzgesagt. I’ve read it all with his voice in my head. ...

January 26, 2022 · 3 min · hannibal

Providers Pattern

Hello Dear readers. Today, I would like to write about a project design pattern I’ve been using successfully over the past years for various projects. It has many variations and it has some design patterns that are commonly found in the wild, so there is nothing really special about it. Let’s begin. Providers Pattern What is this pattern anyways? It’s a pattern I learned while working at ArangoDB. It’s quite nice and defines package abstractions wonderfully. It somewhat resembles the Repository pattern from DDD and also uses Chain of Responsibility to setup multiple providers for a given functionality. Like a fallback, in case a Provider does not understand the current thing it got. In that case, it will delegate to Next. ...

December 21, 2021 · 9 min · hannibal

Advent Of Code - Day 12 - Updated

Advent Of Code - Day 12 - Updated A comment from one of my readers prompted me to revise my solution on this trying to do part 2. The suggestions was that instead of using a struct as seen, use int and keep track of the count for small caves that way. I started to do that but got into various problems along the way when I got frustrated with my code, deleted the whole thing and begun again. But this lead me to a small, and better code than before which actually worked. ...

December 17, 2021 · 7 min · hannibal

Advent Of Code - Day 15

Advent Of Code - Day 15 Today, again, we open up Red Blob Games. It is a great source of information and descriptions. Especially, since this scenario is right up Red Blob’s ally. We need some weighted path finding. And Red Blob has a lovely post on that using the ever famous Dijkstra algorithm with a Priority Queue. Day 15 - Part 1 Let’s get to it. After refreshing my memory about priority queues, I remembered that there is a package and some sample code in Go which implements priority queues using the container/heap package here. ...

December 15, 2021 · 5 min · hannibal

Advent Of Code - Day 14

Advent Of Code - Day 14 Now we have to do some chemistry. Santa is pretty cool this way. They have a lot of skills mastered and read manuals like an expert. But this also means that manuals are always faulty. But Santa manages to work around these problems rather well. Day 14 - Part 1 So, by reading the description and looking at the outcome, that a string only after 5 iterations will be this big, begs the question if we should build a primitive solution for this. Well, yes, I think we should. Part 2 will most likely be about something like, okay, now do this, but longer. I suspect this will be like the lanterfish thing. But let’s do it anyways. ...

December 14, 2021 · 4 min · hannibal

Advent Of Code - Day 13

Advent Of Code - Day 13 This one was a lot of fun! Matrix folding was a bit fiddly but nothing too serious… Day13 - Part 1 By solving this part, I actually solved both parts. I had to butcher it to not solve both parts because I already dealt with folding both ways. First, we parse our input. We read out both the folding and the numbers first for easy handling later: ...

December 13, 2021 · 3 min · hannibal

Advent Of Code - Day 12

Advent Of Code - Day 12 EDIT: I revisited this problem and completely revised my solution to it: Day 12 Updated This one is a bit different from our little BFS walk the other day. I didn’t quite remember how DFS works, so I looked at the Wikipedia a bit. Then I remembered that I implemented this previously at some point in a later year. Disclaimer: I didn’t manage to finish part 2. I’m not sure what the bug is, but I moved on. When I’ll have the inspiration, I’ll figure it out. Unless, someone has an idea what’s going on. ...

December 12, 2021 · 3 min · hannibal

Advent Of Code - Day 11

Advent Of Code - Day 11 Today was an easier one again. It’s been a while since I last did some recursion anyway. At least, that’s how I solved this. I’m pretty sure my solution isn’t the most efficient one, but at least it’s working and it’s not horrible. Day 11 - Part 1 We have some number tracking to do again. This time, instead of fishes, we find ourself an bioluminescent octopus! This time, the rules are neatly outlined to us in a straight forward list. It sort of is like a Conway’s Game of Life scenario in which the current point affects its neighbours. ...

December 11, 2021 · 4 min · hannibal