Posts

How did I build a serverless offline button with Amazon Web Services and Elixir?

Introduction Slack won. It took over the world by storm (especially if we are talking about IT), without prisoners and with no mercy (e.g., Atlassian admitted that they do not have a chance by selling the IP and shutting down HipChat and Stride). You may or may not be a fan, you might dislike the tool itself (anyone missing the days when we all used IRC at work?), but it is definitely going to stay with us for a long time.

Continue reading

Spring Boot 2 And OAuth 2 - User Authorization and Token Revocation

More security! In a modern application the authentication on its own is not sufficient. It’s a common practice to grant different privileges to a group of users. Also when we talk about users, the two basic uses cases come to our mind - user log-in and log-out. In this post we will cover user authorization and OAuth 2 token revocation in the Spring Boot 2 framework. This tutorial is a second part of the recent post introducing token-based authentication in the Spring framework.

Continue reading

Kubernetes tutorial pt. 1 - Spin up high availability K8s cluster on AWS with help of kops

Introduction Welcome to the first part of our Kubernetes tutorial. We would like it to cover some day-to-day challenges that every DevOps engineer working with Kubernetes might encounter. That’s why we will assume that you, dear reader, are already familiar with Kubernetes and its basic concepts. In this particular part of tutorial we will focus on managing high availability Kubernetes cluster on AWS infrastructure. We will use kops - Production Grade K8s Installation, Upgrades, and Management tool.

Continue reading

How to safely build Erlang with crypto without OpenSSL issues?

Check out other blog posts related to Erlang: How to deal with CDATA in xmerl? Dark Corners of Erlang and Elixir Tracing How would you debug a highly concurrent system? Erlang + OpenSSL love-hate relationship Sigh. I observe one of the issues above every single time when I need to use an older version of Erlang. It happens only for the aged ones, because they need OpenSSL 1.

Continue reading

How to deal with CDATA in xmerl?

Check out other blog posts related to Erlang: How to safely build Erlang with crypto without OpenSSL issues? Dark Corners of Erlang and Elixir Tracing How would you debug a highly concurrent system? The pain of fiddling with XML via xmerl Let’s agree that the official library - called xmerl is far from perfection, mostly because it does not contain sane defaults for DTD (like XML entities), has deficiencies when it comes to XSD validation, but from the other hand contains exciting stuff like the one documented by Brujo Benavides here.

Continue reading

Is ethical online advertising feasible?

What I Talk About When I Talk About Running During one of the September days at 5:20 AM, after tying my shoes and enabling music and fitness app, I started my usual run. After running three kilometers in the city, I turned left and entered the pretty much-deserted road. It is a secondary technical road close to the highway, I like running there in the morning because in the afternoon there are plenty of people on bikes and rollerblades.

Continue reading

Pragmatic approach to business delivery that works

I’d like to share a simple and short case study about pragmatic approach to delivering new features to existing, very big software product. Let’s start with some background. There is an existing product, working nicely on production. We want to extend it with new features, fix bugs and experiment in A/B environment. This sounds very typical and I have already been working in such projects more that dozen times. Even though it is so typical and ever-present, I would say that I’ve rarely seen it working well.

Continue reading

Ode to Erlang

On the beginning… I wrote this blog post for myself. Myself from 10 years ago, to be precise. This is a post I wish I could send back in time and show to myself. I’m sure it would change my direction and career. If you have heard about Erlang but are not sure if it is worth giving it a try…or you just love Erlang and would like to hear my praise for it, please read on.

Continue reading

How We (almost) Reinvented Jenkins X on Our Own

Introduction I assume that almost everyone heard about the Jenkins. Many of you heard about the Kubernetes. In the world of infrastructure as a code in many cases, we set up Jenkins server in an automated fashion. There are plenty of solutions which we can leverage - starting from Jenkins Job Builder, through job-dsl and ending with Jenkins Pipelines. However, here comes a tricky question: how many of you automated Jenkins setup on Kubernetes?

Continue reading

7 Subjective Annoucements from re:Invent 2018 You Need to Know

Introduction There is a saying that every single year a couple of small businesses or growing startups are going to die around the same time. The carnage happens close to the end of the November each year. Amazon Web Services organize an event called re:Invent, where they announce significant changes in their ecosystem and platform - including new services and extensions for existing ones. Jokes aside, keeping up with the pace of the changes across the year is incredibly hard.

Continue reading