How to Load Balance With Preference

When managing multiple servers, it’s important to have a reliable load balancer in place. In many cases, you may want to prioritize one server, using it as the primary, while having a backup server only take over when the primary is unavailable. This approach is called a “preference-based failover.” In this blog post, we’ll go through the steps to configure Caddy as a reverse proxy load balancer with a preference-based approach....

September 18, 2024 · 4 min · Greg Hilston

How To Query Your PDFs (and other documents)

How to ask questions about your local files

September 15, 2024 · 3 min · Greg Hilston

Querying Notes With Obsidian Dataview Plugin

An Obsidian trick I’m using to keep track of my recipes, and other files.

July 21, 2024 · 1 min · Greg Hilston

How to Add a New Application to Dmenu

I’m a big fan of tiling window managers. Today I use i3, which I happen to have configured to use dmenu, which is an efficient tool for searching across all your applications. I often find myself wanting to add custom applications to dmenu, say a custom script I’ve written, and I’d like to capture how that’s done. Example Desktop File Let’s say you want to add Postman to your dmenu. You’ll need to create a desktop file for it....

July 19, 2024 · 2 min · Greg Hilston

Supercharging Your Local LLM With Real-Time Information

Intro Large language models (LLMs) are impressive, capable of generating human-quality text, translating languages, and answering questions. However, there’s a catch: they are limited to the data they were trained on. This means their knowledge can be outdated and they may struggle with topics that emerged after their training. But what if we could give our LLMs access to the vast ocean of information available on the web? This powerful combination would allow your local LLMs to:...

July 15, 2024 · 3 min · Greg Hilston

Schema First Development

Introduction In the world of software development, there are many different approaches to building applications. One approach I’ve had the pleasure of using is called “schema first development”. This approach emphasizes defining the verbs, routes, request and response structures before diving into writing code. This methodology proves especially beneficial when developing HTTP REST services. Benefits Instead of jumping straight into coding, schema first development encourages you to start by creating a formal specification of your API using a standardized format like Open API (formerly known as Swagger)....

July 15, 2024 · 3 min · Greg Hilston

My Favorite Air Conditioner

Introduction Living in a house without central air, I’ve dreamed about getting heat pumps and mini splits installed. Until I can pull the trigger on that large project. Types of AC Units I’ve made peace with considering window AC units, which come in two main styles: window AC: They sit in your window sill. Part of the unit is inside and part of the unit is outside. portable AC: They sit entirely inside your home....

June 17, 2024 · 3 min · Greg Hilston

Argument Passing Preferences

When writing software, we often need to handle various types of input arguments. To maximize flexibility and ease of use, I propose prioritizing the following methods for accepting arguments: Command-line arguments Environment variables Default hard-coded values As we move down the list, the flexibility of defining these values decreases. Command-line Arguments Command-line arguments offer the highest level of flexibility and are the easiest for end users to provide. They can be specified directly at the terminal or included in scripts that call your program....

May 30, 2024 · 2 min · Greg Hilston

How to teach a LLM, without fine tuning!

Privately chat with your own data using RAG.

May 27, 2024 · 6 min · Greg Hilston

How To Create A Reusable Proxmox Template

Allowing you to spin up multiple cloned VMs

April 25, 2024 · 4 min · Greg Hilston