Ralph's Blog about this and that (RSS | Atom)

Getting Started with MQTT Using Go and Java

Published: 6. August 2025  •  java, go, mqtt

This article provides an overview of the MQTT protocol, its basic features, and how to use it in Go and Java applications. It covers topics such as publish/subscribe model, message payloads, topics, quality of service (QoS), retained messages, persistent sessions, and more.

Methanol - A convenient extension of the Java HTTP client

Published: 2. August 2025  •  java

In this blog post, I will introduce you to Methanol, a library that extends the standard Java HTTP client to make it more convenient to use. Methanol also introduces new features like caching and interceptors.

Exploring the Go slices and maps packages

Published: 31. July 2025  •  go

In this blog post we are going to explore the slices and maps packages from the Go standard library. The two packages provide useful and convenient methods to work with slices and maps.

MongoDB Schema Validation with Java

Published: 30. July 2025  •  java, mongodb

How to use MongoDB schema validation in Java applications to ensure data integrity and consistency.

Xodus, an embedded database running in the JVM

Published: 29. July 2025  •  java

Xodus is a high-performance, embedded database developed by JetBrains. In this blog post we will explore the key features of Xodus and how to use them in Java.

Cache support in Spring Boot

Published: 28. July 2025  •  java, spring

Take a look at the caching support in Spring Boot, including setup, pitfalls, key generation, and advanced configuration options.

Faster S3 Object Listing

Published: 25. July 2025  •  go, aws

This article shows how to list a large number of objects in an S3 bucket in a fast way. Using the prefix parameter in the list object request allows an application to start multiple goroutines and call the list object endpoint in parallel.

RAG with Spring AI

Published: 23. July 2025  •  spring, llm

Implementing a traditional RAG (Retrieval Augmented Generation) system using Spring AI.

Embedding maps with MapTiler in a web application

Published: 21. July 2025  •  javascript

Learn how to use MapTiler's JavaScript SDK to display maps and markers in your web application, including clustering and popups.

Entity auditing with JaVers in jOOQ/Spring Boot application

Published: 21. July 2025  •  java

In this blog post, I will show you how to integrate JaVers into a jOOQ/Spring Boot application for auditing of object changes.

PocketBase - Deploy to Production

Published: 20. July 2025  •  angular, ionic, pocketbase

This blog post shows how to deploy a JavaScript application with PocketBase as the backend on a Debian 12 server.

PocketBase - Develop JavaScript Application

Published: 20. July 2025  •  angular, ionic, pocketbase

This blog post shows how to develop a simple Ionic/Angular application with PocketBase as the backend.

Writing a Reply Bot for Bluesky in Go

Published: 17. July 2025  •  go, bluesky

Learn how to create a Reply Bot for Bluesky using Go that replies to mentions with AI-generated responses.

Provision Resources on Hetzner Cloud with Pulumi

Published: 16. July 2025  •  iac

This blog post shows you how to use Pulumi to provision resources on Hetzner Cloud. The example provisions a VPS and installs Wireguard on it with the help of cloud-init.

ShedLock - Prevent Concurrent Execution of Scheduled Methods in Spring Boot

Published: 16. July 2025  •  java, spring

How to use ShedLock to prevent concurrent execution of scheduled methods in a Spring Boot application.

Writing a Go program that posts to Bluesky

Published: 23. February 2025  •  go, bluesky

In this blog post, I will show you how to write programs in Go that post to Bluesky.

Tool/Function Calling with Spring AI

Published: 29. January 2025  •  java, spring, llm

A look at Spring AI's support for Tool/Function calling. How to write your own tools and integrate them into your Spring AI application.

Speech Recognition in the Browser with Transformers.js

Published: 19. January 2025  •  ionic, angular, llm

Running the Moonshine model, a speech recognition model, in the browser with Transformers.js. The demo application is a snake game controlled by voice commands.

Implementing WebAuthn Authentication with Bitwarden Passwordless.dev

Published: 17. January 2025  •  go, angular

In this blog post, I will show you how to implement WebAuthn authentication with Bitwarden Passwordless.dev, a SaaS solution that provides WebAuthn authentication as a service.

Running LLM-Generated Go Code in a Docker Container

Published: 17. January 2025  •  go, llm

In this article, I will show you how to write a Go program that generates Go code with the help of a large language model (LLM) and run this generated code in a Docker container.