Posts
setup openclaw hetzner
Things are changing incredibly fast, and AI is undeniably the hottest topic right now. There’s no real option to stand still—the only sensible choice is to embrace the change and learn by doing.
Recently, OpenClaw has stood out as one of the most exciting personal AI assistant projects. After following the project for several days and spending time reading through its documentation—especially around skills and agents—I decided to try it out myself.
Posts
spec-kit: iteration workflow in a feature
Building with LLMs: How Spec-Kit Changed My Workflow Over the past three years, I’ve used LLMs—such as ChatGPT, Copilot, and Claude—primarily as assistants to generate code snippets for very specific requirements. They were useful, but always in a limited way: small pieces of logic, isolated helpers, or syntax scaffolding.
What I didn’t do until recently was build an entire system around an LLM.
The main reason was simple: most of my real work lives inside internal frameworks, legacy systems, and opinionated architectures.
Posts
setup vllm on macbook m4
Introduction Several days ago, I setup ollama on my MacBook M4, and it works pretty well. At that time, I tried to use it with copilt with local models codegemma:7b and qwen3:8b. My expectation was not so high as the hardware configuration of my macbook pro m4 is just a entry level, just want to see how it works. I also learned there are other options such as vllm. After comparing the two, I found vllm is more flexible, powerful, product-ready, used widely in enterprises.
Posts
Airgapped Kubernetes Cluster with containerd
After evaluating several local Kubernetes solutions I encountered repeated manual steps (downloading bootstrap images, pulling images from registry mirrors and retagging them, and loading images into clusters) that were time-consuming and error-prone. I decided to set up a properly air-gapped Kubernetes cluster using kubeadm and containerd, leveraging containerd’s registry mirror support. This post documents the steps I followed.
Prerequisites This guide assumes a Debian/Ubuntu host. Installing the latest Docker Engine will also provide containerd as a dependency.
Posts
From Batch to Real-Time: Rethinking File Processing with Linux fanotify
Traditionally, batch processing of files has been the default approach in many on-premise solutions. Files are dropped into a directory, collected on a schedule, and processed in groups. This model works fine for systems where latency is not critical, but once you start asking “How do we make this real-time?” the story becomes more interesting.
At first, my answer was polling. After all, if we want near real-time, we can just keep checking the directory at short intervals.
Posts
Find all extension methods of a type in csharp using ast-grep
Usually one will use simple find or more advanced regular expression based search to locate codes. How about use other options usig ast to get more accurate results and have the potential to use for codemod? In the past 2 days, I finally figured how to use ast-grep to find code.
Here I will use it to find all extension methods of an class. The rule is configured below.
Posts
Speeding Up DevSecOps: Rethinking the Shift-Left Approach
Introduction In the world of modern software development, Shift-Left Security and DevSecOps have become de facto practices. The idea is simple: security should not be an afterthought but rather an integral part of the development lifecycle, starting as early as possible. While these practices strengthen security and compliance, they often introduce additional steps that can slow down the development pipeline. This raises an important question: Is there a way to speed things up without sacrificing security?
Posts
Building Immutable Infrastructure Without Containers
Immutable infrastructure is a concept that has revolutionized the way we think about deploying and maintaining systems. It ensures that once an instance of infrastructure is created, it is never modified. Instead, any changes require the creation of a new instance. This approach enhances consistency, reduces configuration drift, and simplifies rollback processes. While immutable infrastructure is often associated with Infrastructure as Code (IaC) and containers, it’s entirely possible—and sometimes necessary—to implement it with Virtual Machines (VMs) instead of containers.
Posts
Aspire, Podman in windows
REM download https://github.com/containers/podman/releases/download/v5.2.5/podman-remote-release-windows_amd64.zip REM unzip it to C:\DIM\podman-remote-release-windows_amd64 SET PODMAN_HOME=C:\DIM\podman-remote-release-windows_amd64\podman-5.2.5 set PATH=%PATH%;%PODMAN_HOME%\usr\bin podman machine init podman machine start set DOTNET_ASPIRE_CONTAINER_RUNTIME=podman Get podman desktop from https://podman.io/
Posts
Speed up postgresql container without initing everytime
A newly created postgresql container will do a following steps. They are quite time consuming in integration testing and add some unpredictable factor. If a integration testing will clean up tables and data, volumes can be used to speed up postgresql container.
pg_ctl -D /var/lib/postgresql/data -l logfile start
initdb
stop postgresql and start again
There might be one issue, do I need to maintain the same credential?