Back to Basics - Kubernetes RBAC

Understanding Role Based Access Control

After seeing a lot of blogs and talks it feels like most of them are about really advanced topics, but rarely really basic things. So I here I am making an effort and starting a new series: back to basics. I’ll submit certain topics as talks at conferences and then publish a blog post afterward, like a talk about container layers that I submitted for container days. Some other topics will best work as blog posts.

[Read More]

Containerize Everything - Part 1

First we need google stuff

It’s been years and years since Jessie Frazelle actually gave a phenomenal talk about Container Hacks and Fun Images. Basically this talk actually got me into containers back then so shout-out to Jessie for that. However, it’s been long 9 years, tools have changed, docker changed and I feel like it’s about time to give it a shot again, to try to stick everything in a container that’s needed for day to day work. Basically, we’ll build our own Silverblue. I’ll bring you along on the ride again (as per usual), so this is not going to be a pitch perfect guide, but rather we’ll be building those images and commands together.

[Read More]

Building a fine app

Getting started with Fyne

The hard truth is that I am lazy. Very lazy. Sometimes that’s good and sometimes it’s rather not. In this case it’s rather not. I want to be able to build mobile apps. Why is that? Well, sometimes I have some brain fart ideas and want to be able to prototype them quickly. Now the issue is, that the js package ecosystem is such a mess that I hate to touch it and therefore React Native is not really something I am keen on using. So what else can we use that’s nicely building cross-platform? Flutter. The issue with the laziness is now that I would really need to learn dart and I couldn’t convince myself so far beyond being able to read it and write some basic stuff.

[Read More]
golang  Fyne 

Getting Back in Shape

Go for dummies

Let me set the scene: I’ve worked a bunch of jobs recently that basically expected a lot of talking and very little getting actual stuff done. You know, it’s just part of the evolution of becoming more senior as an engineer. You don’t really get to make a bigger impact if you just stay in your little comfort zone coding small features and fixing bugs. You need to go out and talk to people. However, that’s a very wide topic and rather of a different day. In this post we’ll talk about getting back in shape with coding. The reality is, if you want to change jobs, it’s very likely that you’ll have to code and after completely messing up a coding interview rather recently, I figured that being super rusty, isn’t really helpful. For one, because it’s sad to not be able to just work things out in a snap, but on the other hand, it also is not doing yourself a favor in a live coding scenario when you’re under pressure. You want to be in your comfort zone, so you don’t get sweating.

[Read More]
golang 

Advent of Code - Day 2

Day 2, another day, another challenge.

Part 1

Here’s the challenge:


--- Day 2: Cube Conundrum ---
You're launched high into the atmosphere! The apex of your trajectory just barely reaches the surface of a large island floating in the sky. You gently land in a fluffy pile of leaves. It's quite cold, but you don't see much snow. An Elf runs over to greet you.

The Elf explains that you've arrived at Snow Island and apologizes for the lack of snow. He'll be happy to explain the situation, but it's a bit of a walk, so you have some time. They don't get many visitors up here; would you like to play a game in the meantime?

As you walk, the Elf shows you a small bag and some cubes which are either red, green, or blue. Each time you play this game, he will hide a secret number of cubes of each color in the bag, and your goal is to figure out information about the number of cubes.

To get information, once a bag has been loaded with cubes, the Elf will reach into the bag, grab a handful of random cubes, show them to you, and then put them back in the bag. He'll do this a few times per game.

You play several games and record the information from each game (your puzzle input). Each game is listed with its ID number (like the 11 in Game 11: ...) followed by a semicolon-separated list of subsets of cubes that were revealed from the bag (like 3 red, 5 green, 4 blue).

For example, the record of a few games might look like this:

Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green
Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue
Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red
Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red
Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green
In game 1, three sets of cubes are revealed from the bag (and then put back again). The first set is 3 blue cubes and 4 red cubes; the second set is 1 red cube, 2 green cubes, and 6 blue cubes; the third set is only 2 green cubes.

The Elf would first like to know which games would have been possible if the bag contained only 12 red cubes, 13 green cubes, and 14 blue cubes?

In the example above, games 1, 2, and 5 would have been possible if the bag had been loaded with that configuration. However, game 3 would have been impossible because at one point the Elf showed you 20 red cubes at once; similarly, game 4 would also have been impossible because the Elf showed you 15 blue cubes at once. If you add up the IDs of the games that would have been possible, you get 8.

Determine which games would have been possible if the bag had been loaded with only 12 red cubes, 13 green cubes, and 14 blue cubes. What is the sum of the IDs of those games?

Oki doki. I’ll not lie, this probably would be easiest in bash as one-liner, but we want to do some proper coding so off we go.

[Read More]

Advent of Code - Day 1

It’s the time of year again where you come together and… DO CODE CHALLENGEEEEEES!

Yes, Advent of Code is basically happening every year. With 24 cool challenges, in this case actually more, as we will find out. So I thought, why not get some coding done and then write a little thing about it. Actually, I got hooked by Polar Signal’s “Let’s Profile”, so kudos go there. I think it’s probably needless to say ,but I don’t, wouldn’t and can’t claim that my solutions are the best or fastest or whatever. They’re just my solutions, no more, no less.

[Read More]

Starting a new conference

because what could possibly go wrong?!

A while ago, there as a little bit of a conversation happening on Twitter, that was sparked by Matthias’s statement that more and more meetups are happening again. Now only a short year later, I felt like it was time. The time to actually follow through and start a new conference. In case you haven’t seen it yet:

SkySummit

This is a new thing. I mean, sure, I’ve organised a handful of concerts when I was in my early 20s, but I’m not sure that’s comparable. So I thought, I’d share my learnings here in a blog post, or rather series of them, since the whole thing is still ongoing. I want to somehow share the experience but also maybe help others to know what they’ll need to get their own conference started.

[Read More]

Writing a Container Platform - Part 3

Repo me

This one will be a little shorter, but still something worth talking about: how to set up the repo. I know, I know: “Just click the button”. That’s not really what I mean. It is more about everything I like to have in repo.

Community standards

License

The license topic has gotten pretty hot recently with a bunch of OSS projects moving to very interesting forms of licensing be it SSPL like Elastic and MongoDB haven chosen to or AGPL like Grafana. None of these are relevant for what we are doing here right now, and they’re also having their own caveats which are caused by their purpose: protect the main contributor companies. I’ll not spark a discussion on this topic, the fact is, we want to use a significantly more open license: Apache 2.0. As for all things there is a great website explaining the importance of licenses and the implications. What matters for us is really the community acceptance but also what it has to offer. The tl;dr is that you can do whatever you want with the code, we’re not liable for that, and you can’t use the “pleaco” trademark (which we don’t have at this point). You can find more choices for licenses here as well as the whole License print.

[Read More]

Writing a Container Platform - Part 2

APIs and containers

Time to get going. First things first: we need to create a repository and initialize it. GitHub is the easy choice here, but also just as good as any other option right now. We follow the documentation to create ourselves a nice organisation so just in case this is actually going to be cool, the whole thing doesn’t just live in my personal space. Really, when you consider making something cool that might have an open source community in the future, keep it out of your personal space. It’s easy, it’s free, and it will save you a lot of pain in the future.

[Read More]

Writing a Container Platform - Part 1

The Foundation

After spending a lot of time on Stack Overflow recently, a thought started pestering my brain: why is Kubernetes so complicated? This was followed by “Can I build something simpler?”, and so here we are, building our own Container Platform from scratch. Platform engineering is super hot right now so let’s have our own go at it. At the end of the whole thing, you will find the whole result oin GitHub, Open Source of course.

[Read More]