RSSAmplifier

Blog

Jens Willmer

In this blog I write about my projects and everything else that comes to my mind.

jwillmer.deRSS feed ↗10 posts

Latest posts

Data Cleaning for RAG Search and Response

In a previous post , I covered what Retrieval-Augmented Generation is and how to prepare data for ingestion. A companion post on the ingest pipeline walks through the data cleaning techniques that get content into the vector store. This post picks up where retrieval begins. Ingesting documents into a vector database is only half the problem. The other half is what happens when someone types a…

Data Cleaning for a RAG Ingest Pipeline

If your RAG pipeline ingests dirty data, the answers will be wrong. The embedding model and prompt chain cannot fix what was broken before indexing. I built this pipeline for a maritime email corpus: thousands of .eml files with PDF attachments, Office documents, images, and ZIP archives, turned into a searchable knowledge base. The examples here are maritime, but the patterns apply to any…

Gear Ratio Advanced: Velocity, Torque & Efficiency

This post builds on Gear Ratio Basics and explains how gear ratios affect speed (velocity), torque, and efficiency. Understanding these concepts helps you design gear systems that work the way you need them to. 🔄 Gear Ratio and Velocity The gear ratio controls how fast the output gear turns compared to the input gear. The formula for calculating this is shown below: \[\text{Gear Ratio} =…

What is Retrieval-Augmented Generation (RAG)

Large language models are impressive, but they’re limited by what they were trained on. They can’t access your internal documentation, stay current with new data, or reliably distinguish fact from fiction. Retrieval-Augmented Generation (RAG) addresses this gap. It augments a language model by giving it access to external data at runtime. When a question is asked, the system first retrieves…

Docker Networking Pitfalls

Docker networking is powerful but can be confusing, especially when dealing with communication between the host machine and Docker containers. Many developers assume that network behavior inside a Docker network works the same as on the host, leading to unexpected issues. In this post, we’ll explore common pitfalls when running services with Docker Compose and how to handle them correctly. The…

Interactive Motion Extraction with JavaScript

Motion Extraction in Action: Real-time Video Processing with JavaScript In this blog post, we’ll explore a motion extraction technique inspired by an approach presented in this YouTube video by Steve of CodeParade . Steve’s work showcases impressive concepts in image processing, and this implementation applies similar ideas using JavaScript to manipulate video frames in real time. You can interact…

Personal Docker Cheat Sheet

This is a personal reference for Docker commands that are not used often but frequently need to be looked up. Instead of searching every time, this list provides direct access to those less common yet essential commands. Remove All Stopped Containers docker rm $(docker ps -a -q) Explanation : This command removes all stopped containers. docker ps -a -q : Lists the IDs of all containers (stopped…

Zero Downtime Deployment with Docker Rollout

This guide demonstrates a Zero Downtime Deployment using Docker Rollout , featuring an intentional failure, rollback scenario, and a successful rollout. Additional I demonstrate the use of a Traefik reverse proxy to expose the service ports. Prerequisites: Ensure you have: Docker and Docker Compose installed. Docker Rollout installed : # Create directory for Docker cli plugins mkdir -p…

Securely Expose Local Ports with Tailscale Funnel

When developing applications that need to interact with external services such as OAuth providers or webhooks, it’s often necessary to expose your local environment to the internet. Tailscale Funnel provides a quick, secure, and hassle-free method to do this, allowing any port on your local machine to be accessible over the internet with minimal configuration. This guide will walk you through…

UXG-Lite router and Vigor-167 modem configuration

I’m using the UniFi UXG-Lite as a router in my home network. It connects to my DrayTek Vigor 167 modem (previously Vigor 130 ). In this post I publish the settings to configure the two devices and describe how you can reach the modem once the setup is running. Modem configuration My configuration is Telekom specific. Especially the VDSL2 Tag 7 can be different depending on the provider. I…