Open Service as a Service in Practice

This is a follow-up to the open-source-as-a-service blog post of a friend and a colleague of mine, Stef Walter.

TL;DR of Stef’s article is that open source services are hard to contribute to. Any first-time contributor is probably having hard times to try changes locally in the same way the service is deployed in production.

Imagine that you’d be able to contribute to GitHub and try your change in some playground moments later you opened your PR. Freakin’ awesome, right?! I strongly advise you to read Stef’s blog post to understand this concept further.

In this article I’d like to discuss the practical side of this - how can one actually achieve such glorious service contribution model?

Keep reading

Sharing audio to a videoconference using pulseaudio

Since I do all the meetings via videoconferencing software in this pandemic, from time to time I need to do something extra than just sharing my face and voice: share a video from my laptop. Luckily, pulseaudio has your backs, it’s just not that trivial. Before we start, I suggest to read these posts how to share sound and hear it in your headphones: github.com/toadjaune/pulseaudio-config How can I use PulseAudio virtual audio streams to play music over Skype?…

Keep reading

Rootless Podman I/O

A colleague of mine asked me today to prove that rootless podman has worse I/O performance than running podman as root. Which I claimed.

My instinct is that it gotta be worse, because fuse-overlayfs is overlayfs implementation in userspace, so it gotta be less performant than a kernel module. Let’s see.

Keep reading

Ansible Collections: init

sshnaidm gave me an opportunity to play with Ansible Collections today.

Since I was at AnsibleFest 2019 in Atlanta, I heard so much about the collections but never actually used them.

Keep reading

Debugging Python Code

People on my team asked me some time ago how I debug things in our python code base. So I thought I’d share here.

The easiest (and least efficient) way to debug is to use print statements and logging. But since you’re not using a real debugger, you need to update the code and rerun in order to get new results.

Hence the most efficient way to debug things in python is to use a debugger. Don’t be scared, they are easy to master and they’ll serve you nicely for the rest of your life. They all are very similar.

Keep reading

Building container images from scratch using Ansible

This blog post is a guide coming from ansible-bender#49 issue.

Okay, let’s start.

Building from scratch, what does it mean? It’s very simple: your base image is an empty directory:

Keep reading

Git magic: split repository into two

We’ve just hit this point in our project (packit) that we want to split it to two repositories: CLI tool and a web service. I was thinking of keeping the git history for files I want to move to the other repository. There is a ton tutorials and guides how to do such a thing. This is what worked for me: Clone the original repository. Have a list of files I want to remove:…

Keep reading