tl;dr: I can start doing real analysis of trends in semantic-space, but slowly. It turns out that the queries I’m interested in are not necessarily suited to ANN-based approximations. What? By now, I’ve started to amass a decently large index of podcast content, enough to compute interesting statistics. Here are several examples of trends that my system is sensitive to. The current implementation…
tl;dr: The podcast content I’ve been indexing was diluted with advertisements. I’ve eliminated the majority of them fairly quickly with a basic prompt-based classifier. Design Considerations The main factors in play here are my time, inference costs, and the filter’s performance in terms of precision/recall. If I were aiming for the absolute best performance possible from an LLM-based classifier,…
tl;dr: I’ve been processing podcast audio to build a semantic index. Currently my index has limited coverage over a subset of popular podcasts. I’m working towards trend analysis tooling, and have started by making a search frontend. How? Springboarding off of some tools I created earlier , I made a podcast tracker, started tracking ~100 popular feeds 1 , and wired up an ingestion pipeline . This…
tl;dr: I’ve switched my personal notes over to Logseq, even though I’ve heard complaints it can lose data. Here’s a continuous-backup wrapper script you can apply to any program that loses your work. Why Logseq? I found the backlinks and transclusions 1 compelling. Linking and embeds/transclusions are not only for pages, these can be applied to individual “blocks”. Frequently I want the same…
tl;dr: I transcribe audio to get ~20 million words of text, then load this into my ‘knowledgebase system’ with several different chunking configurations and embedding models. How? For me, the main headline here was that all of this runs faster than expected. In short, using an RTX 3060 with flash-attention: You can generate pretty solid transcriptions of audio at ~100x realtime, and embed text at…
tl;dr: I implemented semantic search over a collection of documents I had handy . In short, it works too well! My benchmark is saturated; every model does nearly perfectly. Now I want to find out where they do differ in performance. Why? I’m interested in knowledgebase systems. What is a knowledgebase? If you ask me, a knowledgebase is simply a collection of documents and some sort of index…
tl;dr: I build a small service to automatically fetch web documents, push PDFs to my e-reader, extract markdown text content, and store metadata in Mongo. I will be computing embeddings on these documents to enable semantic-search. What? Why? This first phase actually came from my desire to automate a manual workflow that I used for long articles I wanted to read later. I’d email them to myself,…
tl;dr: I use a microcontroller to emulate a USB keyboard, stream audio to a transcription model, and then ‘type’ the keystrokes from the resulting text. A foot-pedal switch is used as the trigger for hands-free usage. What? Why? Working in software, transcription tools have not (historically) been very useful to me. 1 The open-weights release of OpenAI’s Whisper is an inflection point for my use…
tl;dr: I annotate some data, and try out Promptfoo to compare some small and small-ish language models. Why? I obtained a list of some job postings, but they are nonspecific. Only a small portion of them will be relevant to me, and I don’t feel like reading all of them. Instead I feel like using this as a toy problem for exploring LLM workflows. What? For a first exploratory pass at the problem,…
tl;dr: I’d like an easy way to do batch jobs on remote GPUs. I don’t want to wait around manually to terminate instances when the jobs are done. What? Why? Like everyone lately, I could sure use some more VRAM. I don’t have such a volume of ML/AI workloads as warrants investment in local hardware yet. A100s in the cloud are under 3¢/minute – an order of magnitude cheaper than a long-distance phone…
Everything you need to start welding, below. Why? I decided to learn how to weld. While a welding machine itself is kind of expensive, I was mildly surprised by how little else you need to get going and make some (basic, but seriously strong) physical structures. It seemed to me like the relevant information was spread across a handful of different sources, and this made the very first “pick up a…
I threw together a quick prototype to demonstrate how large multimodal AI models might be used to supplement human TAs in delivering educational courses. The idea driving this demonstration was that a relatively simple interface could be used to allow easy questions to be directed to an AI assistant with minimal friction. In this respect, you could think of the AI model as providing “level 1 tech…
A simple backup solution for Linux desktops. tl;dr: I have a keypress combination to put my desktop to sleep. I’m replacing that with a script that will run a quick backup and then sleep. The easiest and most robust strategy I could come up with involves restic , some minimal configuration, and Backblaze B2. What? Why? I want backups. And I want to think about them as little as possible. I’ll use…
I wanted a comfortable way to read for extended periods, and this is what I came up with. The Short of It IKEA Poang + Wali Monitor Arm + Basic reading stand = “pretty good reading chair” The bamboo is prone to splitting, so I used very small screws to secure it to the VESA mount, but it’s held up well. This setup goes especially well with a large e-reader, as you don’t have to unclip it from the…
I reverse-engineered my Wiz smart-bulbs so I could control them without the Wiz app. I’m going to walk through my reverse-engineering process here, just in case that helps anyone. If you mainly want to know about the protocol, I’m sure someone else has already documented it by now. If you want a library to control them without much fuss, you may be out of luck for the time being. tl;dr: echo…