Posts
-
Improving code quality through agentic AI tools
Practical ways to improve code quality using agentic skills for code analysis, review, testing, and technical-debt tracking.
-
What I Learned from Porting an Astro HTML Generator to Java with AI
Switching technologies mid-project used to be a massive undertaking. With AI agents, it's now possible to port an entire codebase to a different language in a fraction of the time — but it still requires careful planning and human oversight.
-
An experiment in AI-augmented board game design
I like creating games. Board games, card games, dice games — the kind you spread across a table with friends and argue about rules for twenty minutes before anyone actually plays. But I have a problem that every hobby designer knows well: I get stuck. So I had a thought: what if I approached this differently? What if instead of doing everything myself and burning out halfway through, I tried to use AI as a genuine collaborator? Not just "ask Claude to write some flavour text" but actually build an agentic workflow — where AI agents have defined roles, shared context, and can generate real, usable output.
-
What happens to Code Quality and Developer Role in the AI era
Here I share my thoughts about how I need to refresh my views about Code Quality and Software development as whole.
-
MCP: Connecting Language Models to the Real World
In this blog post, we'll go through what the Model Context Protocol is and how to implement it.
-
SQL Isolation Levels
The concept of ACID regarding transactions is familiar to many programmers but SQL isolation levels are relatively unfamiliar. This blog explains those in detail with interactive simulator.
-
Using Generative AI tooling with Clojure
With the data oriented design and highly interactive development workflows, Clojure can offer interesting characteristics when used with Generative AI.
-
Prompt Engineering 101
Starter Guide to Prompt Engineering: How to Get Good Results
-
Python in 2026: Popular As Ever, Avoided in Production
Python runs everything from LEGO to NASA missions — yet most enterprises still hesitate to bet their core systems on it. This post digs into that paradox: how Python became the world's most popular language, why it's still seen as too risky for serious production, and what changes within once you treat it as a friend instead of an enemy.
-
Decoupling a Legacy Spring Boot Monolith with Branch by Abstraction
Real world use case of using Brach by Abstraction design principle in decoupling a legacy Spring Boot Monolith.
-
Speed Up Data Processing in Node with p-limit and Worker Threads
We'll explore practical strategies to accelerate a real-world Node application that reads several large JSON files from disk, processes their contents, and outputs the results as large number of smaller JSON files.
-
C-ing the web part 2, Lambda boogaloo
Last time in this series, we created a web application front end in C. Now it's time to conquer the back end as well. Let's bring C to serverless back end programming by making an AWS Lambda custom runtime.
-
Security culture - why should you care
In this blog, we explore what security culture really means, what holds it back, and why we need both organizations and individuals to strengthen it together.
-
Observations on GitHub Copilot Agent Mode in Daily Development
Subjective observations on GitHub Copilot’s agent mode: faster coding, shifting workload to definition, review, and testing, and reflections on quality and ownership.
-
Please write a README
Every time you skip writing a README, a puppy dies.
-
Authenticate on-prem Kubernetes workload to Azure without secrets
Inspired by the Azure Kubernetes Service way of authenticating workloads to Azure to access other resources without secrets, I configured my on-premises Kubernetes cluster to do the same.
-
Introduction to bidirectional languages on your website
What is RTL? LTR? What are Bidirectional languages? Let's take a look and see how to make your website support these languages.
-
I tried stealing my own browser cookies — here’s what I learned
I tested how well modern browsers protect user cookies from local access or theft by simulating attacks across Windows, macOS, and Linux.
-
C-ing the web, a front-end story
C is the grand old man of systems programming, still widely used today, but not often used for web development. Let's try to make a client side front-end with it.
-
Git Large File Storage (LFS) - How to Manage Large Files in Git
Working with containers, images, and other large files (> 100MB) in Git can be a challenge. Git Large File Storage (LFS) is a great solution for managing large files in Git repositories. Learn how to set up and use Git LFS in your projects.