Published: 7. April 2026 • go
Resilience patterns like retries, circuit breakers, and fallbacks are essential for building robust applications that can handle failures gracefully. In this post, we will explore how to implement these patterns in Go using the failsafe-go library.
Published: 7. April 2026 • llm, java
Code mode is a way to use tools that can save context tokens and reduce the number of request/response cycles by incorporating a tool search and letting the model write code that orchestrates tool calls. This blog post explores the code mode pattern and shows how to implement it in Java.
Published: 7. April 2026 • postgresql
TimescaleDB is a PostgreSQL extension for efficient time-series data management. In this post, we take a look at TimescaleDB's features and how to use them.
Published: 7. April 2026 • go, iac
In this post, we deploy a small service to Google Cloud Run with Pulumi. We also set up an API Gateway in front of it for authenticated access and rate limiting. Finally, we discuss the Cloud Run pricing model and how to control costs.
Published: 7. April 2026 • angular
In this post, we explore how to implement an immediate update flow for Angular's service worker, allowing users to get the latest version of your app without waiting for a page reload.
Published: 7. April 2026 • baas
Supabase Realtime consists of three different mechanisms for pushing updates from the server to connected clients: Broadcast, Presence, and Postgres Changes. In this blog post, we will look at each of these three mechanisms in detail and how to use them with the supabase-js client library.
Published: 7. April 2026 • spring
Spring Framework 7 adds two resilience features directly to the core framework: retry and concurrency throttling. In this blog post, we will explore both features.
Published: 7. April 2026 • postgresql, go
ParadeDB is a PostgreSQL extension that adds full-text search capabilities directly to your database. Instead of running a separate search service, you run use PostgreSQL's query engine to execute BM25 search queries alongside normal SQL. In this post, we take a look at ParadeDB's search capabilities and how to use them.
Published: 27. March 2026 • javascript
An introduction to the Temporal API in ECMAScript 2026.
Published: 27. March 2026 • javascript
A summary of interesting smaller features in ECMAScript 2026.
Published: 17. March 2026 • java
A summary of interesting small changes in Java 26.
Published: 16. March 2026 • postgresql, go
A first look at PostGIS, the spatial extension for PostgreSQL, and how it helps you manage and query geographic data with spatial types, indexes, and functions.
Published: 11. March 2026 • llm, go
Tool calling is a workflow for giving an LLM access to external information and capabilities. However, it can be inefficient when you have a large number of tools or complex workflows that require multiple dependent tool calls. This blog post explores code mode, a way to use tools that can save context tokens and reduce the number of request/response cycles by incorporating a tool search and letting the model write code that orchestrates tool calls. The blog post shows you how to implement code mode yourself in Go.
Published: 9. March 2026 • java
Introduction to the Java Class-File API, an API introduced in JDK 24 that provides a standard way to parse, generate, and transform Java class files.
Published: 9. March 2026 • javascript
Learn how to use MapLibre GL JS to embed interactive maps into web applications, including examples with markers, popups, GeoJSON data, WMS overlays, and Angular integration.
Published: 6. March 2026 • java, spring
Learn how to integrate gRPC into a Spring Boot application using the Spring gRPC project.
Published: 6. March 2026 • java, spring
Spring Expression Language (SpEL) is an expression language from the Spring ecosystem that can be used in any Java application. In this article, we will explore the features of SpEL and how to use it as a base for a simple rule engine.
Published: 5. March 2026 • java
An introduction to Stream Gatherers introduced in Java 24, which allow you to write custom intermediate operations in the Stream API with state and complex logic.
Published: 5. March 2026 • selfhost
In this blog post, I share a production-ready approach to self-hosting Bitwarden Lite on Debian 13 using Docker.
Published: 4. March 2026 • iac
Learn how to set up frp (Fast Reverse Proxy) server on Hetzner Cloud using Pulumi. This post covers provisioning the server, configuring frp with mutual TLS authentication, and exposing local services securely to the internet.
Published: 3. March 2026 • baas, angular
This blog post shows you how to build a simple Todo app with Supabase as the backend. It covers local setup with Supabase CLI, database schema and security with migrations, using @supabase/supabase-js in a JavaScript/TypeScript app, auth flows (sign-up, sign-in, sign-out), and CRUD operations for todos.
Published: 2. March 2026 • go
In this blog post, I want to show you how to use Playwright, Go, and Docker to build a simple PDF generation service for creating PDFs from scratch with HTML and CSS.
Published: 1. March 2026 • go
Learn how to use the Z3 SMT solver with Go to solve complex problems declaratively. This post covers setting up Z3 with Go, core concepts, and real-world examples like package dependency resolution, RBAC policy verification, scheduling, and the knapsack problem.
Published: 28. February 2026 • go
Go makes it easy to run code in parallel with goroutines. To wait for them to finish, you can use sync.WaitGroup or errgroup.Group. This post explains how to use both and when to choose one over the other.