RSSAmplifier

Blog

gruchalski.com

engineering software for 20+ years

gruchalski.comRSS feed ↗82 posts

Latest posts

Building a macOS Power‑Usage Prometheus Exporter with Supervised MiniMax 2.5

The reason why this article exists is to provide a tangible proof that LLMs can support the human in writing valuable software. Because everyone says they are doing it but nobody shows what they are doing. The article is fallout from an exercise in performing chat session semantic analysis to find out when the LLM was corrected by the human operator.

The leading thought

LLMs, Kubernetes, and cool stuff what not

Maintaining a fork of a repository

happy fork, happy life

Warning: Istio is being downgraded

when one upgrades Istio and sees such a message

Istio VM workloads

setting up a proof-of-concept connectivity with a VM in an Istio mesh

YugabyteDB build infrastructure upgrade

build the latest and greatest 2.19.0.0 in Docker

yq - the yaml power tool

because life is too short to struggle with YAML on the command line

Windows Terminal text selection productivity tips

boost your productivity when working with WSL2 in Windows Terminal

Istio, cert-manager, Let’s Encrypt and HTTPS redirect

cert-manager ACME Let's Encrypt with working catch-all HTTPS redirect, the how and the why

Privacy settings updates

On 5th of July I have made a number of changes to the privacy settings on this website. Without going too much into detail about reasons: This website no longer uses Google Analytics. Theme fonts are no longer loaded from Google Fonts service. They’re now served from the gruchalski.com domain. If you’d like to do the same, here’s a good place to start:…

What does not scale in software

Regardless of the technology, most general-purpose software is easy. There’s a set of requirements. Someone implements said requirements. Code gets tested, problems are fixed, and code issues are resolved. Code is promoted to production. New requirements come in, and the process repeats. Dependencies change. Someone tests them and releases a new version. Like anything else critical to the…

Zanzibar with Prolog - summary

Hanging the towel on the Zanzibar work

Zanzibar with Prolog, week 2

I’ve been working my way through The Art of Prolog . The book is a fantastic eye-opener. The first five chapters are very science-heavy as they cover all Prolog principles. What follows are the twenty or so delightful, short, but on-subject chapters explaining the Prolog language in detail. I have a couple of chapters left to go through. I am looking forward to the compiler example from…

Zanzibar-style ACLs with Prolog

Back in May, I looked at an implementation of Zanzibar-style ACLs in Open Policy Agent Rego 1 . I’m revisiting that problem while learning Prolog, another language from my never-ending to-learn list . There are some similarities to the previous article, but I’m taking the problem further: I’m adding permissions inheritance from anywhere within the filesystem tree.

I enjoyed modern Fortran

An exercise on its own rather than a conscious future career choice. This is a short sentence describing my recent venture into Fortran. The language has been on my to learn list for many, many years, but Fortran requires a particular type of problem. The first version of Fortran, the first high-level programming language, appeared in 1957. Fortran is still in active development, it has seen…

Learning Rust

Six years ago, during my short stint at The Weather Company, I was on the lookout for a programming language that would let me build software with no dependency on the runtime. There were two obvious candidates: Go and Rust. For many reasons, Rust had me a little bit anxious. The borrow checker, which I just could not fully understand back in the day, was the main sticking point. There were others…

Istio canary upgrades

I’ve been looking into upgrading Istio using canary upgrades. Canary upgrades let me test a new version of Istio by migrating part of the workloads to the new version and observing the impact of the change. If anything goes wrong, I can roll back to the old version. Old and new Istio versions run side-by-side until it’s verified that pods work fine. When everything is okay, I can…

Streaming Keycloak events

reactive IAM with Keycloak event listeners

Zanzibar-style ACLs with OPA Rego

what does it take to convert Zanzibar ACLs to OPA Rego?

Private go modules with multiple git identities

because every tutorial on the internet misses that one percent...

OPA: logical or conditions

because an _and_ isn't always the end of it

YugabyteDB CDC SDK beta, a high level overview

an overview of the all-new CDC SDK beta

YugabyteDB change data capture

real-time systems + distributed SQL

Identifying Postgres features unsupported in YugabyteDB

when the roadmap isn't enough

Keycloak 17.0.0 with TLS in Docker compose behind Envoy proxy

I wanted to look into Keycloak.X for quite a while. Keycloak.X is a lighter, faster, easier, more scalable, more cloud-native solution than the—now legacy—WildFly based Keycloak. Keycloak.X is now officially known as Keycloak 17.0.0 , the first official Quarkus-based version. It’s been released a few days ago 1 and so it was the right time to look at it.

YugabyteDB Go RPC client

automate all the database things

A brief look at YugabyteDB RPC API

with great power comes great responsibility

YugabyteDB: the book

I know there's no money in writing technical books but money isn't the driver for me here

YugabyteDB: Postgres foreign data wrapper

a brief intro to postgres_fdw with YugabyteDB

Postgres in Docker with persistent storage

keep the postgres data across container restarts

YugabyteDB Docker image

create a YugabyteDB Docker image with custom uid / gid

Extending Keycloak—required actions: user must be approved

After some insightful weeks of diving into the Ory platform, I am reverting back to Keycloak to investigate some other of its interesting features. The last few weeks spent in the Ory-land were enlightening. One of my previous post, Introduction to Keycloak Authorization Services 1 , gets about 20 daily reads but authorization services isn’t the only awesome thing about Keycloak.

Keycloak with TLS in Docker compose behind Envoy proxy

20th of February, 2022: I have published a version of this article adapted for Keycloak 17: Keycloak 17.0.0 with TLS in Docker compose behind Envoy proxy . The 24 hours of Nürburgring race was just red flagged for the remainder of the night due to the fog. That’s a perfect opportunity to add TLS to my Keycloak Docker Compose setup described previously here 1 .

Let’s Encrypt certificates for local development

LEGO client with Docker and AWS Route53 DNS

On YugabyteDB

It's like PostgreSQL with the storage part ripped out and RAFT plugged in

Do you really need a database for that Ory stack?

S3, Azure Blob, Google Storage and Minio, they're all a K/V storage at the core

Figuring out Ory Oathkeeper

I must admin—I struggled understanding Oathkeeper. Looking back, I think the reason was, I compared it one for one to things like Traefik or Envoy. Turns out, Oathkeeper does not necessarily intend replacing a reverse proxy, although many people probably use it as such.

Keto RBAC - listing roles of a user

More thoughts on RBAC with Keto 0.6

RBAC with Ory Keto

Building bare bones RBAC with Keto 0.6

On software testing with dockertest

Testing software against real system is the ultimate testing

Launching Consul cluster with firebuild and other news

The goal has been reached, I have a Consul cluster running

Looking at Zanzibar through ORY Keto

First look at ORY Keto

ORY reference Docker Compose and thoughts on the platform

Thought on the ORY platform and a reference Docker compose

Apache Mesos reaches end of life

An end of an era

On golang os.Expand and os.ExpandEnv

They are awesome but could be better

I hacked infinite retention into my open source Kafka

Well, sort of...

Kafka 2.8 is out in the wild and does not need ZooKeeper anymore

KIP-500 is implemented and Kafka is now completely standalone

firebuild rootfs - gRPC with mTLS

There's a certificate authority right in firebuild

Introducing firebuild

Manage firecracker root file systems and VMMs

firebuild prerequisites

Read this first before reading about firebuild