Ask Questions About Audio and YouTube Locally
Build a local script to summarize and query YouTube videos and audio files using locally-runnable LLMs.
Recent content on Greg Hilston
Build a local script to summarize and query YouTube videos and audio files using locally-runnable LLMs.
How to write one-off Python scripts with described dependencies.
I’ve recently had the desire to build myself a daily digest. With the express intent to ensure all data is processed locally. I’m going to use this blog post to detail this project. Before we go over how this was achieved, here’s a lightly anonymized example of an actual digest that landed in my inbox: Weather Today's high is 48°F with a low of 23°F — a significant jump from…
While Claude Code has become my coding assistant of choice, I don’t always want to be using a remotely hosted LLM. I recently found out it’s pretty easy to use Claude Code with a non-Anthropic hosted model. This allows you to use an alternative remote host like OpenAI, OpenRouter, or even a locally hosted model. To point Claude Code at my LM Studio instance, which I use for local…
How to configure Claude Code to leverage Gemini for cheaper execution
I’ve been experimenting with integrating LLMs into software development for quite some time now. Having played with countless libraries, frameworks, and tools, I’ve identified what I believe are the key tiers of integration individuals will experience today. Level 1: “Copy + Paste” - Human driven with AI Consultation I believe the first situation developers will experience…
How easily orchestrating containers can make development, and integration testing easier.
How to easily switch between different LLMs using Open Router as a unified interface
How Anthropic’s new open protocol is standardizes the way LLMs interact with external systems and data
A guide to installing and running Claude Desktop on Linux systems using Nix Flakes
Learn how to dynamically display Github content in your Hugo website using shortcodes, keeping your content automatically in sync with your repositories
A collection of protein-rich, customizable Ninja Creami recipes with tips for perfect consistency
Exploring real-time social media data processing with Go by tapping into Bluesky’s websocket firehose
A guide to installing and configuring NixOS on WSL2, including graphical application support.
A guide to my Windows 11 installation process using unattend/answer files for automated, debloated setups, combined with winget for application installation.
A personal journey from distro hopping and manual configuration management to discovering NixOS’s declarative approach, exploring how it solves common Linux setup challenges through configuration files, flakes, and reproducible environments.
I describe my work from home setup
Create a prompt out of an entire directory
Want to quickly copy file contents to your system clipboard from the command line? xclip is the tool for you.
I live on a property that has zero cellular service. This forces me to rely on Wifi for calling, and texting. Only loosely related, but that means when I lose power, I cannot make calls, texts, or use the internet. For that reason, I wrote a separate blog post how I work around this, and still leverage the internet during power outages. I’ve always founds Wifi calling/texting to not be as…
Battery Save Mode Quirks One of the most frustrating situations I originally experienced Cat S22 Flip was caused by its battery save mode. Since I wasn’t using this phone for much, I elected to have this mode on 24/7. While this helps preserve battery life, it comes with a notable quirk: the GPS gets disabled when the phone is flipped shut. This means if you’re using Google Maps for…
Converting a book/movie script to a new genre using self hosted LLMs
Why I Switched to a Flip Phone Recently, I decided to switch to a flip phone as my daily driver. The main reason? To reduce my access to distracting apps and to be less available to those not incredibly close to me. While I believe willpower is the best defense against distractions, I see the flip phone as “training wheels” — a temporary tool to help me avoid distractions until I can…
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…
How to ask questions about your local files
An Obsidian trick I'm using to keep track of my recipes, and other files.
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…
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…
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…
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…
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…
Privately chat with your own data using RAG.
Allowing you to spin up multiple cloned VMs
A walk through of how I run LLMs locally, in a Crew-like fashion.
How to self host a web UI to interact with LLMs, local or remote
How to easily run local LLMs
A full example of this repository can be found on my Github here. I often find myself exploring data using Python, Jupyter Lab, Pandas and various graphing programs. This has caused me to want to have a light weight, easy to use, and portable approach to standing up these tools. In the past, I have found myself using tools like pyenv to install a desired version of python for each project.
Mod compatibility was broken by a new update…
A series of things I’ve done to be more comfortable during power outages.
Using Docker
We’re going to leverage Docker, Cloudflare DNS, and Caddy to set up a reverse proxy for our home-lab, which is both easy to configure, and automatically handles SSL certs for us. Previously, I used Nginx Proxy Manager, but I’ve grown to not love this application, as its both difficult to have your configurations live in code, as well to have SSL certifications both be made, and renewed…
I’ve been maintaining a sourdough culture since early 2020. It’s lived in three different homes, and has been driven across the entire country. I’m always trying to convince anyone to get into baking bread, and frequently give away part of my culture, so someone else can begin enjoying sourdough bread. This post is being written so I can share how to take care of one’s…
What a task’s priority is, and a few simple techniques to make prioritization easier
How to convert video or audio files into text transcriptions from the command line or Python.
Come see these beauts
Including using Docker and a GPU
Learn how to self host your very own Diffusion Model to generate images
My pitch for how to organize your markdown files using Obsidian
The best plugins I’ve found for Obsidian
What tools you can use to recreate a tiling window experience on OS X