RSS Amplifier

Blog

sysid blog

Recent content on sysid blog

/RSS feed ↗55 posts

Latest posts

Agent IAC

Treat Agents Like Infrastructure As developer in 2026, you are probably not using one AI coding agent: Claude Code for personal projects GitHub Copilot CLI because your employer sanctions it maybe a third harness for its ergonomics (e.g. Pi). Each of them wants its own instruction file, its own skills directory, its own MCP server config, its own permission model — in its own format, in its own…

Our Mental Models Cannot Be Outsourced

A program is not its source code — it is a theory in the minds of its developers. — Peter Naur, 1985 Definition The mental model of a software product is the shared understanding that a development team holds about: What the system does — its purpose, behavior, and boundaries Why it is structured the way it is — the reasoning behind design decisions How its parts interact — data flows,…

AI native developer

A Different Role, Not a Faster One A staff engineer’s day used to be easy to describe. In the morning, you would work through a hard implementation detail. After lunch, you would review design choices with the team. In the afternoon, you would merge code, answer questions, and move on to the next change. The visible work and the valuable work were usually strongly correlated. While it looks…

The Cost of Speed

The Practices We’re Throwing Away — They Matter Agentic coding has made writing software close to free. Claude Code, Codex, Gemini CLI — these tools generate prototypes, migrations, refactors, and tests at a pace that would have seemed absurd two years ago. Acceleration is real. But a strange asymmetry has developed in the public conversation. For a certain class of builder, it changed…

Cheap Code, Expensive Confusion

AI has made it absurdly easy to generate software-like artifacts. But, that is not the same as generating value. Daily we are flooded with shallow POCs, demos and agent integrations that solve little, but create the appearance of innovation. The barrier to producing something that looks like software has collapsed. The barrier to sound judgment not. In fact, judgment matters more than ever because…

KISS my A....

Keep It Simple my Agent We are navigating a Cambrian explosion of AI developer tools. No week without new framework, bespoke agent harness, MCP server, or library of specialized “skills” designed to supercharge our workflows. For us developers, the temptation to jump this train is real. After all, building and mastering complex systems is what we do. But frameworks don’t just add…

AI Is Breaking and Remaking Software Teams

Execution Is Cheap, Judgment Is Scarce: The Real Shift in Software Engineering The Fracture Point Something fundamental is breaking in software engineering — not the tools, not the languages, but the organizational assumptions that have governed how teams build software for over two decades. Scrum ceremonies, story points, sprint planning, and the careful separation of Product Owner, Developer,…

Your Agent Has Root

“OpenClaw is a security dumpster fire.” — Laurie Voss, npm founding CTO [1] 1. The Opening In April 2025, security researcher Johann Rehberger spent $500 on a 30-day subscription to Devin AI, Cognition’s autonomous coding agent. He wanted to test a simple hypothesis: what happens when an AI agent encounters a malicious prompt hidden in a GitHub issue? The answer arrived in…

Elegant Developer Environment Management

Taming Developer Environment Chaos In modern software, we have perfected the art of “Infrastructure as Code” and “Containerization,” yet the local developer environment remains a surprisingly messy frontier. Ask any senior engineer about their local setup, and you might find a “messy workbench”: a collection of patched docker-compose.yaml files, local class…

Rust’s Strategic Advantage

The Unexpected Trifecta Three independent forces are reshaping software development, each following its own logic, each seemingly unrelated. 1. Security: 70% of critical vulnerabilities in major platforms stem from memory safety issues, costing billions. 2. Economics: Data center energy consumption is growing at 12% annually, heading toward 3% of global electricity by 2030, while water consumption…

bkmr reborn

Streamlining Developer Productivity Store it, find it, act on it. Developers know the struggle: You’re deep into concentration when suddenly you need that specific command, website, or snippet you used weeks ago. However, what should have been a quick retrieval turns into a disruptive search. There are many tools, which individually address this issue. But rarely provide a holistic solution.…

How Claude Code Saved My Weekend

If you want something done right, automate it. Modern Open-Source Maintenance As the maintainer of sse-starlette , my GitHub notifications rarely bring me joy on a lazy Saturday afternoon. This weekend, I decided to push Claude Code a little bit, hoping to save precious summer time. Issue #140 didn’t just look interesting; it appeared non-trivial, touching on asyncio intricacies,…

Anki, Markdown, and the Power of inka2

Streamlining Knowledge Management: Anki, Markdown, and the Power of inka2 Introduction Acquiring and keeping knowledge is an uphill battle. Luckily the digital age has awarded us two powerful tools: Anki for spaced repetition learning, and Markdown for its straightforward syntax in note-taking. Bridging these worlds is inka2 a tool designed to transform Markdown notes into Anki flashcards with…

Elevating Bookmark Management with AI-Driven Semantic Search

Search has been revolutionized by AI, bringing ‘Google-level’ quality within the reach of everybody. Introduction Finding information is one of the most important capabilities for any professional. bkmr introduced a CLI Bookmark Manager leveraging SQLite’s full-text search (FTS) capabilities, offering improved search efficiency. This tool, developed in Rust, aimed to provide…

Hierarchical Environment Variable Management

I still spend too much time managing environment variables! The “Twelve-Factor” methodology prescribes that cloud-native applications should be configured via environment variables. This recommendation separates configuration from code, which is essential for scalability and security. But it also results in an extensive array of environment variables. Having to manage these variables…

Linear Optimization in time-critical Control Loop

Problem Given a start and endpoint, find the eager and lazy path from start to end. Model The visualization translates to a simple rhombus (German: Raute) where the enclosed area is to be maximized. The task is to find the corner points A, B, C, D, of the Raute. There is a twist, however. The points must be contained within a “valid” area, whereas start and endpoint may lie outside.

ChatGPT in Software Development

Describe the target, let the machine figure it out. The world has changed. I am showing examples of how ChatGPT is changing my workflow. Infrastructure as Code One way to deploy new infrastructure is to work interactively with the cloud’s provider graphical UI and rewrite it in the IaC suite of your choice. However, re-writing it feels like redundant work. Using terraform as an example there…

Select Points

Given multiple sets of data points. Select one point per set so that the distances between the points is minimal. 1 Model Non-convex MIQP Model $$ \min \sum_{i,j| ok_{i,j}} dist_{i,j} \cdot x_i \cdot x_j \\ \sum_{i|group_{i,g}} x_i = 1 \forall g \\ x_i \in {0,1} $$ Linear MIP Model To linearize the model a standard procedure can be applied: Let’s introduce a new binary variable, $z_{i,j}$,…

bkmr

Super fast CLI Bookmark Manager and Launcher Developer Productivity in Rust vs Python I am aware that this is a complex subject and impossible to treat objectively, especially given my time limit of 3 weeks. In order to compare apples with apples I decided to re-implement a Python productivity application in Rust, which I use on a daily basis: CLI bookmark manager with fulltext search capability:…

Reboot

Success is not always a straight line. Blog Requirements readability, no noise professional math support, i.e. Latex rendering swift build times robust technology Switch to Gatsby End of 2018 I switched from Hugo to Gatsby because why not. Gatsby was the new-kid-on-the-block and it is based on React and GraphQL, which I wanted to learn anyway. At the time I could tick above boxes, especially…

Software Architecture 2022

A refresher in software architecture philosophies with Perseverance, Patience and Python. This is a high-speed overflight over current approaches with an occasional deep dive. CRUD, MVC simple concepts and therefore effective communication in dev teams works as expected. Limits known, e.g. modelling complex business domains DDD and Clean Architecture structure of software logic reflects business…

Maximal Overlap of Rectangles

Find the maximal overlap of rectangles so, that every selected rectangle covers the full width of the overlap area. A selected rectangle can be larger than the overlap area, but not smaller. Problem Parameters: a set of rectangles aligned on the x-axis rectanges can have different heigt rectangles show arbitrary overlap Model Parameters $$ i \in [1..N],\ \text{ index: N rectangles }\\ s_i \in…

Scheduling

I already analysed several scheduling problems: Task Scheduling Task Scheduling with limited Resources Job Shop Scheduling Problem Patient Scheduling The class of scheduling problems is interesting and every example provides new insight. Here I am going to look at two problems which can be solved with a very similar and quite common approach: The continuous time model approach. Problem 1: Machine…

Inventory Management

Find the best order policy to replenish stock levels, i.e. minimize the total cost incurred. The (Q, R) inventory model is as follows: If the inventory falls below threshold R, place an order of quantity Q. Lead times: when an order is placed it takes some time to be delivered When inventory becomes zero, additional demand will cause a backlog. Backlogged demand will be fulfilled when…

Job Shop Scheduling Problem

The Job Shop Scheduling Problem (JSSP) is an NP-hard problem. 1 The JSSP is defined by a set of jobs that must be executed by a set of machines in a specific order for each job. Each job has a defined execution time for each machine and a defined processing order of machines. Also, each job must use each machine only once. The machines can only execute a job at a time and once started, the machine…

Resource Constrained Project Success Plan

Scheduling tasks in a large project translates to facing a graph optimization challenge: The Resource-Constrained Project Scheduling Problem is a combinatorial optimization problem that consists of finding a feasible scheduling for a set of \(n\) jobs subject to resource and precedence constraints. Problem Domain: Network Optimization. Taks are represented by nodes. Dependencies of tasks on…

Installing CBC on MacOS

Update May 2022: Using the coinbrew approach as documented here works now out of the box. Today I needed to install CBC on MacOS and it was not a walk in the park, unfortunately. Yes, there is a brew package which makes installation trivial. However, this only installs a single-threaded version of CBC. Not good! One of the greatest selling points of CBC is multithreading. This makes CBC a…

Dispersion

Find 10 points out of 50 with maximum distance from each other. 1 This problem can modelled as a max-min model where we maximize the smallest distance of 10 points. Model $$ \max \Delta\\ s.t.\\ \Delta \le d_{i,j} + M(1- x_i x_j), \forall i \lt j \\ \sum_i x_i = k\\ x_i \in {0,1}\\ $$ M is an upper bound on the distances: $$ M = \max_{i\le j} d_{i,j}\\ $$ The quadratic part \(x_i x_j\) of the…

The Book of Mormon II

The full version of the problem you can find in part I of the article . Recap Challenge We want to read the book in a given number of days: 128. We want to read an integer number of chapters each day (there are more chapters than days), and at least 1 chapter each day. The chapters are very non uniform in length (some very short, a few very long, many in between) so we would like to come up with a…

The Book of Mormon

The Book of Mormon is a sacred text of the Latter Day Saint movement, which, according to adherents, contains writings of ancient prophets who lived on the American continent from approximately 2200 BC to AD 421. 1 Not the easiest matter, so we need a smart reading plan. Challenge We want to read the book in a given number of days: 128. We want to read an integer number of chapters each day (there…

String Puppets

import mona1 from “./mona1.mp4” I am a fan of the Augsburger Puppenkiste . Puppets are brought to live by pulling strings. If you ever get to Augsburg, do not miss to see a show! Today a came across an excellent article 1 , which creepily reminded me of these happy String Puppets. I decided to hit two birds with one stone: Learn something about the current state of Deep Fakes and try…

Numberlink Puzzle

Problem Connect each two cells with the same numbers by a line. The sections of a line run horizontally or vertically. Each cell must be visited exactly once by a line. Solution The trick is to identify endpoints of numberlinks. They do have only one neighbor with the same value. Cells wich are part of a path must have two neighbors with the same value. The challenge is now to encode this insight…

Server Sent Events

If you are looking for realtime features in WEB applciations you often end with Websockets . Just to be complete I also mention ‘Long/Short polling’ as a client-side pull option. I regard it as mere workaround to a realtime communication implementation. As always, requirements are key: If you need bi-directional realtime features with high volume and low latency, Websocket is your…

Task Scheduling with limited Resources

We already looked at a simple scheduling problem: Task Scheduling . Here we are looking at a more elaborated scheduling example with limited resources for tasks with various durations. We want to get insights by re-engineering the solution of 1 with Pyomo . Problem We have \(N\) tasks and \(M\) facilities to execute the tasks. Every task has a due date. Tasks require certain resources for…

Task Scheduling

We already looked at a real world scheduling problem: Patient Scheduling . Important concepts have been touched there. Here we look at additional aspects of this important optimization domain, especially in using Pyomo as modelling environment. Simple Scheduling Problem Schedule 10 tasks. Each task must be assigned to a single time slot, however, not every time slot is viable. The duration of a…

Polyominos, Tetris

Problem Fill a rectangle with polyominos. What is a Polyomino? A plane geometric figure formed by joining one or more equal squares edge to edge. It is a polyform whose cells are squares. It may be regarded as a finite subset of the regular square tiling. Model Since this puzzle is just another form of tiling challenge we can reuse concepts and ideas from Mondriaan Puzzle , Another Boring Lockdown…

Patient Scheduling

How to optimize the scheduling of patients in order to use the necessary infrastructure, i.e. infusion chairs optimally. Problem Parameters 1 : There are \(T = 40\) time slots of 15 minutes We have 23 infusion chairs for patient treatment We have 8 different types of patients Each patient type has a demand (number of patients) and treatment length (expressed in 15 minute slots) No treatments can…

Square Tiling

Given an inventory of square tiles, what is the maximum square space we can fill with them? The picture above consists of the following set of tiles: length 1 2 3 count 4 3 2 8 out of the 9 given tiles can be used to form the resulting (5x5) square. One (3x3) tile cannot be used. With the given set this is the larges square area we can fill.

Mondriaan Puzzle

Partition an \(n \times n\) square into multiple non-congruent integer-sided rectangles. The rectangles must be non-congruent and the side length must be an integer number. Find the least possible length difference between the largest and smallest used rectangle, i.e. make the rectangles as similar as possible. Every rectangle can only be used once . There is related work covering multiple aspects…

Sudoku

Wikipedia a logic-based, combinatorial number-placement puzzle. Fill a 9×9 grid with digits so that each column, each row, and each of the nine 3×3 subgrids that compose the grid contain all of the digits from 1 to 9. The puzzle setter provides a partially completed grid, which for a well-posed puzzle has a single solution. Challenges Understand the problem (easy) Design the index sets (medium)…

Longest Path Journey

Normally you would be searching for the shortest path from A to B. At least this is what navigation systems do. But here we want to look at the opposite problem: What is the longest possible path to get from A to B? Wikipedia The longest path problem is the problem of finding a simple path of maximum length in a given graph. In contrast to the shortest path problem, which can be solved in…

Finding the way with TSP

Travelling Salesman (TSP) Art in Python There is already a lot of existing work on this topic 1 , but especially the book from Robert Bosch 2 inspired me to embark on my own journey. It became an rewarding and entertaining melange of “Mathematical Optimization” and playful programming while exploring new concepts and building a basic theoretical foundation for one of the most famous…

Linear Programming for Dummies 4

This is a collection of logic recipies for Mixed Integer Programming. It builds on Part3 . It is based on personal learning experience and focuses on application rather than theory. For a rigorous approach please refer to a textbook. Logic Recipies All variables here can only take boolean values: \(x_i, y \in{0, 1}\) Let \(X_i\) stand for the proposition \(x_i=1\), anaolog for \(Y\). if X then Y…

Linear Programming for Dummies 3

This is a primer on Mixed Integer Programming. It builds on Part2 It is based on personal learning experience and focuses on application rather than theory. For a rigorous approach please refer to a textbook. Connect decision variable with boolean variable From Part2 it is known that the fundamental technique to link continuous decision variables with indicator/boolean variables is via…

Linear Programming for Dummies 2

This is a primer on Mixed Integer Programming. It builds on Part1 . It is based on personal learning experience and focuses on application rather than theory. For a rigorous approach please refer to a textbook. Wikipedia : An integer programming problem is a mathematical optimization or feasibility program in which some or all of the variables are restricted to be integers. In contrast to linear…

Optimized Car Rental

Modelling a car rental company with medium complexity or how to make 120k € per week. 1 If you need a primer on Linear Programming: Linear Programming for Dummies 1 Tools employed: Linear programming Python Pyomo as LP modelling language Optimizer: CBC Company model Let’s assume a car rental company with 4 locations and business hours from Monday to Saturday. The rental car demand estimate…

Linear Programming for Dummies 1

This is a primer on Linear Programming. It is based on personal learning experience and focuses on application rather than theory. For a rigorous approach please refer to a textbook. Wikipedia : Linear programming (LP, also called linear optimization) is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear…

BMW I4 and linear dynamic Truchet tilings

Isn’t this BMW I4 a beauty? The perfect motivation to start a journey into a little optimization problem: How to manipulate traditional Truchet tiles so that the resulting tiling resembles the Ultimate Driving Machine? Truchet tiles are a well known niche in math because they form a foundation for a lot of interesting questions. The basic theory: You have four simple tiles: Since every tile…

Munggoggo: A modern message based async agent framework

An asyncio based agent platform written in Python and based on RabbitMQ. Agents are isolated processes which can host multiple parallel running behaviours implementing business logic and can be deployed as independent kubernetes pods. Access to the agent mesh is via REST/HTTP, websocket and jsonrpc. A few lines of code implement a fully fledged agent with a simple behaviour: sending and receiving…

Energy Forecast for a full-scale Vehicle Plant

Energy Forecast for a full scale Vehicle Plant Energy forecasting is based on time series analysis. There are many techniques for analysing and forecasting time series, e.g. ARIMA, linear regression and deep learning. To tackle the challenge at hand a linear regression will be the benchmark model aganst which deep learning models will be tested. In particular a multi layer perceptron (MLP) and…