RSSAmplifier

Blog

gotofritz

Recent content on gotofritz

gotofritz.netRSS feed ↗60 posts

Latest posts

quote-bot: Send a Daily Quote to a WhatsApp Number

When I’m making music in the evenings, I like a little creative nudge. So I built a self-hosted system that sends me a daily Oblique Strategy quote on WhatsApp while I play - free to run and using WhatsApp Web directly from my machine. Here’s how it works.

Running Roborev on a Branch if There Is New Content

I tend to use LLM coding agents in the cloud, and then roborev locally to assess the code. This bash command pulls from git, and runs roborev only if changes were pulled

Can SAM Audio Be Used for Stem Separation, Like Demucs?

Now I can finally play with my local SAM Audio installation and discover just how useful it really is. Meta advertises it as a professional-grade tool, but is it?

Creating a Random Git Branch or Commit on the Cli

There are times when you need unique branch names or commit messages. This is easy to do directly from the command line.

Playing With the SAM-Audio Model on My M1 MacBook

Meta recently released SAM-Audio , an exciting new audio LLM capable of separating sounds from complex mixtures using text or visual prompts. Like many research models, it isn’t installable out of the box for macOS users. To get it running on my M1 Mac was a bit of an adventure, but I managed in the end.

New Blog Post in Hugo with Glitch Image Preview

A quick script to create a page bundle with a glitch preview image and scaffolding for a blog post in Hugo

Using Gh to Create a Branch for an Issue

The CLI utility gh allows you to create a branch associated with an issue, even if in another repository.

Using Continue and Ollama Locally, for free

I have started using Continue with Ollama to have a local llm assist my coding. Initially it was too slow to be of real use, but since adopting GLM4 , it now rivals Cursor in performance.

Code spell checker for VScode multiple folder workspaces

The code spell checker plugin , formerly cspell, works well for “normal” vscode project, but wasn’t doing anything for a workspace based project.

Copier Python template with uv

Here’s a copier project template that sets up everything I need for a modern Python CLI project in about 30 seconds.

dd can create random files of any size

I needed to generate files of a certain size for performance testing - their contents were irrelevant. The dd utility was perfect for the task.

Upgrading Actual Budget

Actual Budget is the open source budgeting app I replaced YNAB with. They have now merged all the Actual apps into one repo, which meant running a migration.

All Videos Youtube Playlist

It used to be possible to click on a button in a YouTube channel and view all of the channels’ video as a single playlist. The button is gone, but the playlist is still there.

Using Netstat on OS X

On macOS, netstat is a BSD-based tool that is still fully supported. It is great for seeing open connections, routing tables, and interface stats. When you want to see which process owns a connection or port, lsof is the tool to use.

Opening Jupyter Notebooks in Vscode

If you have the Python extension in VSCode, you can open and run Jupyter notebook directly in the IDE. But what if you want to work on the actual JSON source?

How to open Google Maps links in the Maps App on iOS

Sharing Google Maps links on an iPhone used to be a pain. They’d open in the browser, and when you tapped ‘open in the app’ it led nowhere.

vm_stat and Iostat on OS X

When you want to check how your Mac’s disk and CPU are doing, or peek at memory and swap activity, the commands iostat and vm_stat come in super handy. Both are built-in and give you quick snapshots of system performance.

uv cheatsheet

While looking at ways to run MLflow with uv on Github, I came across this gem of a comment which is the perfect, most compact introduction to uv

I migrated to Hugo

Once again my Javascript-based blog became victim of bit rot after only a few months. So I ditched it and moved to Hugo .

Migrating python projects to uv

I finally had the chance to test Astral’s uv tool. It’s very good, from what I’ve seen so far.

Converting .ogg files to .mp3 in Anki

iOS doesn’t support .ogg files. If you have Anki cards with audio in that format, they’ll need to be converted to .mp3. Here’s how

Debugging in Kubernetes

Debugging in Kubernetes is not rocket science, but it can feel like it when your pod refuses to behave. Here are some useful kubectl commands.

Display all git logs for a given branch, or squash commits within a branch

Asking Git to display all the logs for a given branch, or to squash commits within a branch, is not as straightforward as you might expect if you’ve never tried it before.

Creating a requirements.txt after installation

pip freeze > requirements.txt is the canonical way to capture all the packages you have installed in a Python project. I am not sure why; it doesn’t do what you expect.

Running typescript in Jupyter notebooks with deno

I started this post to keep track of the process, thinking it was going to be a slog. Instead it took me all of 2 minutes and It Just Works. Mind. Blown.

Pygraphviz Woes on M1 Mac: Docker to the Rescue

I was trying to install pygraphviz on my M1 laptop using pip, but I found it impossible. Luckily the Dev Container VSCode extension allows me to use it with docker.

Using GH to generate a new repo

gh is a lovely CLI tool from GitHub that lets you manage your repos from Terminal, including downloading license and .gitignore files.

Clearing commands list, and other tales of bash history

Clearing the command history is good practice when, for example, one has mistakenly pasted sensitive info. ❯ history -c will do the trick. More details inside.

Migrating My Blog to Astro

I built this site with SvelteKit before it was stable, hoping it wouldn’t change too much. How naive of me. Of course it did. Faced with the prospect of rebuilding it from scratch, I decided I’d rather try something new. Enter Astro

Deleting tweets and likes from twitter

Thanks to Elon Musk, it’s now socially acceptable for developers to ditch their Twitter accounts. While I’m keeping mine to be able to read long threads, I recently decided to delete all of my tweets and start fresh. I like to think of it as a “quiet quitting”

mypy: found module but no type hints or library stubs

Linting a Python project, I was puzzled by the mysterious error: “found module but no type hints or library stubs” from mypy. The module was my own, with Pydantic definitions everywhere, so why the error? I was missing init.py files in some parent folders.

Migrating away from Google: Hello Proton Mail!

Google informed me they would start charging me for letting me use their mail servers with my gotofritz.net domain. Fair enough, infrastructure costs money. But if I have to pay, why pay them ? I’m can shop around. And so I did.

Removing duplicates from youtube playlists with a Python script

Thanks to a bug while copying a youtube playlist with a Python script , I ended up with a lot of duplicates videos in the playlist. Surprisingly, the YouTube interface doesn’t let you remove them. So I put together another small Python script

Adding videos to a youtube playlists via a terminal python script

I wanted to duplicate another user’s playlist to one of my free google accounts. But it’s no longer possible from the web interface. None of the methods described in various SO answers are functional, they are obsolete. But it can be done with a Python script in your terminal.

Migrating Thunderbird message filters from another machine

Thunderbird doesn’t sync message filters. Its roots are from ancient times, before distributed computing was prevalent. If you want to copy your filters from one machine to another you have to do it the old-fashioned way, by copying config files

Stopping cSpell from using .gitignore

cSpell is a spelling plugin for VS Code. Not my favourite, but the only one I found. It isn’t particularly well documented though. It avoids spell checking files in .gitignore. To stop that, you need to add “cSpell.useGitignore”: false, to your settings

Remove lines matching some patterns from all files in a dir

A CLI task I find myself doing often with sed

I rebuilt my website with SvelteKit

Building a static website with Sveltekit and markdown is hard going at first. But just when I was about to give up I stumbled on some blog posts and boilerplates that helped me crack it. I may still switch to Astro later though

Setting up and managing Thunderbird for OS X

I have recently switched to Thunderbird from Gyazmail, the obscure mail program I have been using for years. Here are some setup tips that worked for me

Using the 'Say' command to make OS X talk, and fixing it when it gets stuck

One can easily make OS X read out text from the CLI with the say command. But what to do when it gets stuck and stops working?

Setting up a Logitech Vertical MX mouse with a Mac

I got myself one of these ergonomic mice, connected it to my Mac and configured the extra buttons. I like it

Setting CSS values dynamically in Svelte

If you are used to React’s Styled Components, assigning CSS values dynamically in Svelte can be baffling at first.

Removing album ratings from Apple Music App

I used to curate my music with Apple’s Music (neé iTunes) but stopped when it lost my entirely curated library as I updated OS X. These days I use a combination of Yate and Doppler

OS X Apps I use

All the OS X apps I use - for when I need to reinstall a new machine.

Backing up a hard disk to another in OS X

Time Machine does its own backup magic, but sometimes you just simply want two identical copies of the same hard disk. For that rsync is the way to go

Pretty printing XML

tidy is a command line tool for formatting XML and HTML. Also available as a Visual Studio Code Extension

OS X Software Update from the Command Line

Software updates can be quite tedious - you have to click a lot of buttons, then get into the Apple Store etc. But you can avoid all that by running it from the command line.

OS X DNS lookups too slow for local hosts

OS can sometimes take forever to resolve hosts setup on my local machine. Here is how I solved it.

Directory listings in Apache 2.4

Yosemite updates Apache to 2.4. A couple of things stopped working from my previous installation, including autogenerated directory listings. Here’s how I got them back.

dotfiles

Storing your CLI config files (.bash_profile and all the rest) on github makes sense - as a backup, but also to compare and learn.