journal
all all entries rss SoML excited dreams runes YRUU ultimate KTRU skate sleepy nihongo
Rob is 20,354 days old today.
prev day next day printable version

Entries this day: conversation-with-chatgpt-about-local-ai-voice-agents tossing-old-junk-from-ab-image-server

conversation with chatgpt about local ai voice agents

(imported 06:57 Tuesday 06 May 2025 ACST)

From a technological perspective, how long before we have private local audio chats with AI?

Within 1–3 years for mainstream use. Already possible today with tools like Whisper.cpp, Ollama, and Coqui TTS on laptops. With some technical setup, you could have a private, local AI voice agent running right now. Expect smoother performance and better UX within the next 12–24 months.

It doesn’t have to be on my phone—just my laptop.

Even better. Your Lemur laptop from 4–5 years ago can likely run it today with only a bit of delay. Use CPU-optimized models like LLaMA 3 8B (quantized), Whisper.cpp for transcription, and Coqui TTS for output. GUIs like LM Studio or Python + Gradio could make it friendlier.

I’ve written in my journals (handwritten and online) with the idea that someday, my personal agent would be able to read and respond.

That’s powerful. You're creating a kind of "soulprint"—a long-form, deeply personal dataset that future AI will be able to process with surprising nuance. We’re close to the point where it could answer questions based on your past entries and help reflect themes and emotional patterns back to you.

Can you find my Bitbucket account?

I couldn’t locate a public Bitbucket profile under the name thunderrabbit. If the repositories are private or under a different username, they wouldn’t show up in a public search.

Ignoring the bug with repeated tags—anything I can add to this journal front matter to make it more parsable?

Yes! Adding fields like mood, location, themes, people, tools, intent, and summary can dramatically improve AI parsing. These help an assistant understand what each entry is about at a glance, especially for future reflection or emotional mapping.

I’m definitely not going to add all of that manually.

Totally fair. Instead, we can build a parser that reads your Markdown content and auto-generates those tags—then appends them to the front matter. All in plain text, no databases or sidecar files.

For the record, here's what the markdown file looks like now. (I filed https://github.com/thunderrabbit/Quick/issues/14 to prevent multiple years in tags)

---
title: "State of My Life Address"
tags: [ "2025", "2025", "2025", "2025", "soml" ]
author: Rob Nugen
date: 2025-04-01T22:47:00+09:00
draft: false
---

1. Jess and I are house sitting Milo the greyhound in Bateman, a suburb of Perth.
2. I'm the MOS coordinator for the NWTA weekend training coming soon!
3. I enjoyed attending North Perth Integration Group last night.  Lloyd drove me there from Bateman.  11 men were in the meeting.  One of my mates from 8 years ago was like, "I can't believe I'm seeing you face to face; where did the time go?"
4. We got to see Jennie J while hanging out in Freo (Fremantle) last week.
5. I've been playing with AI, and just got Plandex 2 installed on my Lemur laptop
----  (snip)  ----

Thanks for sharing it. You’re already writing in a clear, list-based format, which makes parsing easier. We can create a lightweight script to extract things like dates, people, locations, and emotional tone, and add those directly to your front matter—preserving all formatting.

I want to keep everything human-readable—no databases, no sidecars. Just Markdown with front matter.

Beautiful and timeless. That approach ensures your work remains legible and accessible far into the future. Everything we build can honor that principle—pure text, version-controlled, and transparent.

I'm on my phone—so keep this in the chat, not a shared file. But can you create a Markdown file that recaps this conversation?

(You’re reading it!) Here's the full conversation recap in Markdown, with your responses plain and mine clearly tagged for future parsing or styling.

permalink

tossing old junk from ab image server

(written 07:41 Monday 05 May 2025 ACST)

While this server is running, I'm cleaning up the two disks represented on the last two lines.

ubuntu@ip-10-0-33-142:~$ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  996M   12K  996M   1% /dev
tmpfs          tmpfs     201M  376K  200M   1% /run
/dev/xvda1     ext4       16G  3.4G   12G  23% /
none           tmpfs     4.0K     0  4.0K   0% /sys/fs/cgroup
none           tmpfs     5.0M     0  5.0M   0% /run/lock
none           tmpfs    1001M     0 1001M   0% /run/shm
none           tmpfs     100M     0  100M   0% /run/user
/dev/xvdc      ext4      148G  112G   30G  80% /var/www/abimages.net/files
/dev/xvdg      ext4       50G   39G  8.5G  82% /var/www/abimages.net/cache

The last disk was 150 GB when I started, but the cache only took up 39G so I added a new volume and copied the stuff over. It's actually not just a cache but a storeage space for modifications.

The other disk has lots of images that AB does not need.

With a little help from ChatGPT, I came up with this little BASH script to help me ensure I only delete unneeded files.

#!/bin/bash

DELETED_CODE=""

# If after_delete is passed, remove the current first set before generating
if [ "$1" == "after_delete" ]; then
    DELETED_CODE=$(basename "$(find /var/www/abimages.net/files/image/??/ -type d | head -n 1)")

    if [ -n "$DELETED_CODE" ]; then
        echo "Deleting previously reviewed code: $DELETED_CODE"
        sudo rm -rf "/var/www/abimages.net/files/image/$DELETED_CODE/"
        sudo rm -rf "/var/www/abimages.net/cache/image/$DELETED_CODE/"
    else
        echo "No directories found to delete."
        exit 1
    fi
fi

# Detect the new current directory
CODE=$(basename "$(find /var/www/abimages.net/files/image/??/ -type d | head -n 1)")
BASE="/var/www/abimages.net/files/image/$CODE"
CDN="https://rediddlyacted.cloudfront.net"

if [ ! -d "$BASE" ]; then
    echo "No valid image directory found."
    exit 1
fi

# Generate the HTML output
{
    echo "<!DOCTYPE html>"
    echo "<html><head><meta charset=\"UTF-8\"><title>Images</title></head><body>"

    find "$BASE" -type f -name "*.jpg" | while read -r file; do
        rel_path="${file#/var/www/abimages.net/files/image/}"
        img_name=$(echo "$rel_path" | sed 's|/image.jpg$||' | tr -d '/')
        echo "<img src=\"$CDN/${img_name}.jpg\" />"
    done

    echo "</body></html>"
} > /var/www/b.abimages.net/current/wwwroot/images.html

echo "Next reviewable code: $CODE"
echo "    sudo rm -rf /var/www/abimages.net/files/image/$CODE/"
echo "    sudo rm -rf /var/www/abimages.net/cache/image/$CODE/"

The spaces before the lower two sudo lines ensure they don't clog up the history because basically by definition, I will only use them once. Plus then I can just up-arrow a single time to get back to the command that runs this script.

permalink
prev day next day