RSSAmplifier

Blog

The Smidt Blog

Recent content on The Smidt Blog

blog.smidt.devRSS feed ↗13 posts

Latest posts

Tiny bytes 001: docker asserts

Intro I’m trying something new on this blog: Tiny Bytes. Instead of waiting until I have enough material for a long post, these are short write-ups about small ideas that I found useful. Today’s bite is inspired by TigerBeetle: asserting your Docker builds. Normally, we build an image, push it somewhere, deploy it, and only then find out something is wrong. Maybe a symlink points to…

Strike team calling for duty

Intro Does your company have technical debt spanning multiple teams. Has been lingering for many quarters? Is it still on nobody’s roadmap despite many rounds of lobbying? Do you consider it a low hanging fruit within your reach? Then consider yourself lucky, Bobby and I have a perfect solution. But before we get into the good stuff, a business announcement from our favorite…

The terror of a "ZERO CVE" metric and how the bureaucrats lost

Intro: Fixing those CVE’s The manager walks in the room, face red. Behind him, the head of software security fumbling with his laptop like he has seen a ghost. Manager: Okay, everyone – listen up. As of today, we’ve started scanning our codebases and docker images for CVEs… and we already found over a thousand." Bobby starts muttering “We’re doomed our security…

OpenTelemetry Traces: A Powerful Alternative to JUnit XML for Integration Tests

Intro: Debugging integration tests Integration tests are very crucial to detect if our components still work as expected. But when they start failing then debugging integration test failures, especially in distributed systems, often presents significant challenges. Normally a test runner like jenkins will generate a static report formatted with JUNIT XML, Nunit etc which require a separate…

Bit Vectors and my first steps into assembly

Intro I’ve recently started reading “Writing an Interpreter in Go” as part of my journey to sharpen my programming skills. The main goal is actually to redo the book but in different languages like zig and rust. At the time of writing, I was working on the lexer component and decided to explore performance optimizations Since A lexer is a state machine which essentially splits…

Diving into eBPF: Building a Process Tracer from Scratch!

Today i want to share a story about how i ended up writing a simple process tracer for linux. Using eBPF in go to fix a github actions which i actually didn’t need. We will go over each piece and hopefully you will learn something form it. Todays characters are ‘Boris The Boss’ the part of me which keeps my distractions in check, and Bobby the curious sidekick which doesn’t…

Time to Bash the Bash Language

Bashing Bash Bash a cryptic, unwieldy language that for some bizarre reason became the standard on many linux machine. This post will be a bit different than my usual posts. Today, its’ Bash vs my sanity, with our favorite naïve junior developer, Bobby, he will take the driving seat in discovering the wasteland of shell scripting. We will hope just like in mad max, to reach the other side of…

Improve the local dev environment

Aligning the Local development with the CI environment. Introduction In my development career, I’ve spent countless hours troubleshooting a failing CI pipeline. Through this experience, I’ve learned that even if you don’t use shell scripts to write your CI pipeline, you still need to install various build tools and their environments. For instance, when working with Scala , you…

Go Type Tagging

Intro Mixing up the values passed to functions and structs are a common mistake in many programming languages. This happens even more often with languages that have dynamic type system. Here is a trivial example which illustrates this problem: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 type User struct { UserName string Email string Password string } func NewUser ( UserName string , Email string…

About Boris

About Boris

If you have any comments feel free to contact me using: email: boris.smidt.dev

Archive

Search