RSSAmplifier

Blog

ervin's blog

ervinbarta.comRSS feed ↗10 posts

Latest posts

SLO Alerting for Mortals

This is an attempt to break down the concept of SLO alerting as much as possible. Step-by-step, each concept will be illustrated and occasionally animated. My hope is that the short material presented here is intuitive enough for it to stick, and to serve as a base for further research. I will try to demistify concepts such as burn rate, error budget, and multi-window alerts. SLOs and SLIs Service…

From Zero to Encyrpted Secrets in 2 Minutes with SOPS and GPG

You probably heard about mozilla/sops , but even if the readme is amazingly detailed, a from-scratch example is always nice to have. sops , in a nutshell, bridges the gap between various key management services (PGP, AWS KMS, GCP KMS, Azure Key Vault) and you. This post will attempt to get you on your feet as fast as possible, in 3 simple steps: from “ I have no idea what to do with my hands ” to…

Fixing Fedora black screen on boot (AMDGPU)

Having your OS hang on you with a black screen, is not the best start of a day. The main suspects are usually a failing mount in /etc/fstab , the GPU driver, a kernel upgrade or all three. In my case, the kernel was upgraded and it wasn’t booting. Starting the previous one did work however. To quickly weed out the GPU, you can try booting with nomodeset . While on the GRUB screen, press ‘e’ (for…

Checkout a specific git commit in a Jenkins job

As a good number of Jenkins related articles, this one is also fueled by past frustration. Trying to do the simplest of things often sets you off on a wild ride of trial and error (mostly error). At which point your Google results are painted purple. One such thing is checking out a specific git commit during a Jenkins job. On the surface it’s a trivial thing to do, and it is if you don’t wade of…

Checking a character's case in Go, the long way around (0's and 1's included)

I’m slowly picking up Go, and ran across a Hacker Rank task: count the number of uppercase letters, in an input, which is written in CamelCase. For example, thisStringWouldYield 3. It’s easy as it sounds: you go through each character and increase a counter if it’s in uppercase. ( playground ) func camelCount ( in string ) int { counter := 0 for _ , ch := range in { if ( unicode . IsUpper ( ch )){…

How to generate a MongoDB ObjectId from a date in Bash

A little known fact about MongoDB object IDs is that they encode the documents creation date. This means that you don’t have to create an index on a dedicated date field, because the _id field is automatically indexed . Let’s generate an ObjectId with nothing else than a command line, sprinkled with some black magic: # 1. get the date 3 months ago $ date = $( date --date = "3 months ago" +%s ) #…

Casually removing root files

You’re walking at $HOME , minding your own business. $ whoami > user $ pwd > /home/user But something is bothering your feet. It’s like if a little rock has fallen into your shoe. You take it off, to see what’s going on. $ ls -lah ./left-shoe ---------- 1 root root 4 May 30 13:20 little-rock That’s odd. It’s there, but it doesn’t seem to be yours. It’s left there by root , the Rock Tamer, and only…

Prevent systemd installation on Ubuntu 14.04 and other Debian based distros

“If the mountain won’t come to Muhammad then Muhammad must go to the mountain.” Oddly, this proverb applies to systemd as well. It’s rapidly making its way to all the major distros. Love it, or hate it, it’s here to stay. The thing that throws me off the most, is its intrusiveness. When you install systemd , it literally plows through the wall, and doesn’t bother with the door. This is especially…

Troubleshooting Gigabyte GA-970A-DS3P BIOS freeze

This one started out as a nice morning surprise. A bad habit of mine is to turn on the computer in the morning, almost while I’m stretching after waking up. Not much later, I was greeted with the following message: Reboot and Select proper Boot device or Insert Boot Media in selected Boot device and press a key Naturally, I thought that my SSD drive gave up on me, so I did a reboot and tried to…

Portable build environments with Docker

Chances are, when you want to compile something from source, you will need to install an exotic dependency or two on your box beforehand. Do this enough times, and your screams won’t be able to penetrate the software bloat you built around yourself. Docker’s great isolation and flexibilty proved to be a great asset for building custom build environments: sandboxes with vastly different…

ervin's blog · RSS Amplifier