My Great OSS Sin

At my previous job, I was part of the original team that tried several of the existing tools to setup a vanilla Kubernetes cluster on AWS. We tried kube-aws, kops and looked at others and decided that none of them was perfect for us.

Many had shortcomings, mostly because of some limitations or bugs which were perfectly natural given the state of the Kubernetes project itself. We decided then to start from kube-aws, customized the configuration and never really looked back from there. We released our configuration as open source (and we even got some GitHub stars, yay!) but the configuration itself was never a project designed to be usable right out of the box for anyone else, for a lot of reasons including that it had a bunch of optimizations that were designed to work with our tool to update the clusters. The aforementioned tool was also not open because it relied on more assumptions and homemade tooling that wouldn’t have been valid or good for a wider audience.

I was myself opposed at releasing all of those things in the open because it provided, according to me, little to no benefit to other people outside of the organization. The real pity is that we/I never had the time to really look back and understand if we could just merge or integrate the project with other ones or just collaborate with others and I see the same happening in other opensource tools in the Kubernetes ecosystem today (again, kube-aws, kops). A colleague (hi Martin), hinted at possible collaborations and merges but I never really listened to him carefully and he eventually desisted. He was right and I had no ears to really pay attention to his reasoning. And that’s my mistake.

At my new job, I had to setup a Kubernetes cluster. The situation, from the tooling point of view, is a lot better than it was when I started looking in 2016, but still lots of tools are not complete nor perfectly fitting my wishes. And the former Kubernetes configuration which I helped develop is there, essentially unusable for me now. This is what it represents for me today: a good configuration for a best in class Kubernetes setup and at the same time my failure as a developer who firmly believes in open source and in building usable projects and communities around projects.

Looking back is always tough and I often need a special point of view to be able to fully do it. I am not sure what I would be doing differently if I could go back: probably rush the setup a little bit less and don’t aim at the moon from day one. Probably design for one cluster before designing for 30, probably deploying a full production one before deploying 30. And surely I would take less shortcuts that will get technical debt in with very little time to pay it back.

The writer's block

In the last month and a half I wrote 3 blogposts that I did not publish and that are still in my pipeline. Some of them are partially ready, some undone, but it’s their content their problem. Most of them are non technical and related to things I think, I saw and thoughts on my career and life as an engineer. Over time and due to a couple of episodes that happened this year to me and to someone close to me, I got much less comfortable in sharing those thoughts freely. While none of those episodes really turned out to be a problem, they made me reconsider my presence on social media. I haven’t changed (yet?) the way I use Twitter and co, but I cannot avoid thinking and thinking twice before publishing something more complex than just a simple fun tweet. And there it is, my “writer’s block”. And I guess I’ll share a bit less of what I originally wanted to share for a while.

Two Weeks Off

NOTE: this post was edited after the original writing, mostly to fix syntax and to do minor rewording. The content is the same as originally intended.

I am writing this blog post in an hotel room in San Francisco with my phone since I don’t have a computer with me. This is day 7 of my trip without a computer. The only real tech things I have with me are my camera and my phone which I’m mostly using as navigator and to check restaurants recommendations. My phone has no Facebook, I don’t check Twitter during the day and I don’t have access to my work email address. Today is also the day I started having a really weird feeling: I feel that this vacation is lasting a really long time (but it’s only seven days till now) and I still have another week to go. I am really enjoying it, but it’s the first time ever in my life I have this weird feeling. I think about this feeling and I struggle to understand what it means and where it comes from… but I have an idea.

Before starting this trip I realised that this is the first time I am without a computer for longer than 5 days since 2007. To give some additional context, I bought my first laptop in 2008, I relied on desktop computers only before that, so it’s my first long-ish computerless trip ever in my laptop life. In the last 10 years, I mostly did only short trips or traveled with my laptop. This time however I am completely off from any productive setup and I believe that this is what makes me feel weird. I am detached from work, from what is happening on GitHub and from my team. Those things are a passion for me, something I never really get a complete rest from. This time though is really different, I am completely detached from tech and my brain wants some of it. It wants to feel smart (not that I am, but at least it wants to try), to feel it is producing something that is contributing to my job and making efforts towards some sort of goal. But this is not what I am doing these 2 weeks. This time is about not being productive, seeing places, thinking. This is what work (and basically anything else you do really often) does to you after some years. Work is addictive and it makes you dependent on it, not only because of the money you get out of it. Work is something you need to feel satisfied and part of the society. All of this is why taking breaks, even long ones, is so important. You need different perspectives, to remember why you do what you do and who you are. Time off tells you once more that real life comes first. Time off teaches you that you are part of something bigger than your workplace. Time off tells you that you need to be okay with you more that you are with you while being in front of a computer.

Go profiling and tracing

Some days ago I started writing a blog post on Go tracing, but it was really taking too long. I had in mind to write a very detailed post, with pictures and examples and to do this incrementally, but then I saw this great blogpost which is essentially what I wanted to write.

To add something to the content of that blogpost, instead of finishing mine, I decided to just write a super small example with some easy to use commands in this repo. Have a look, hope you will like it!

Also, if you are really into tracing, don’t miss this talk from last year’s dotGo on Go trace tool, it’s short and you will definitely enjoy it.

What Family Really Means

In these days, in Italy, a strong debate is taking place, dealing with same sex marriage. Same sex couples are still not allowed to register themselves in Italy, while this is possible in most of the European countries. The worst part of what is happening is the “family day”. Somehow people against same sex couples, want to remark once again that there’s only one type of family, the heterosexual, Christian one.

It might seem completely unrelated, but today I changed apartment. Due to my job, I changed more than one apartment during the last year. This time though, I was not alone. Moving together with my girlfriend, was a different experience: moving all of her stuff too, handling the stress from both sides and helping each other was the main part of the whole weekend. This helps me answer this simple question: what is a family? A family is where two person, no matter the sex, their social status and what they do, decide to live together and help each other. They decide to share most of their moments and be there all the time. That’s so easy, so beyond any possible law we can set on earth that I really don’t get how someone could be against same sex couples or marriage. Just let people be together and help each other.