Keegan's blog

Using AI to Help Kickstart This Blog

AI has been great at lowering the activation energy required to accomplish tasks for work. I decided to apply it to this blog as well.

I maintain a lab journal for both work and personal projects (using emacs org-mode \o/). I've been wanting to use this journal as a seed for posts worth sharing with others, something I already do fairly regularly at $JOB. However, my journal has grown substantially over the years, and I didn't know where to start. AI (in my case Claude) seemed like the perfect tool for this challenge.

First, I asked Claude to generate a script to list all my journal entry titles. To be honest, I didn't like what it generated, so I rewrote it to be just a few lines of AWK. I file my journal entries using org-capture-templates with the template file+olp+datetree. The script works by identifying when a heading looks like a year, then printing all "4 deep" entries:

BEGIN {
    in_journal = 0
}

/^\* 20[0-9][0-9]/ {
    in_journal = 1
    print FILENAME
}

in_journal && /^\*\*\*\* / {
    print
}

This produced lots of useful output:1

$ find journals -mindepth 2 -name '*.org' | xargs -n1 awk -f find-journal-entries.awk | egrep -v 'lots of filtering' > ~/journal-headings.txt
$ head -n 5 ~/journal-headings.txt
journals/2022/2022-09-Sep.org
**** Investigating stats from and_regex slowdown with Geoffrey [2022-09-06 Tue 15:22]
**** Benchmarking git archive [2022-09-19 Mon 11:46]
**** Profiling go-git [2022-09-20 Tue 08:56]
**** Steve and search ranking [2022-09-21 Wed 20:58]

I then uploaded these results to Claude with this prompt:

Attached is a list of titles from my personal and work org-mode journals. It includes a lot of irrelevant stuff, like meetings/etc. However, I want you to pick out the interesting looking entry titles for my personal blog. My personal blog is on technical topics I find interesting.

Here is an example response which will be a future post:

"Sparse grams" [2022-11-25 Fri] - This seems related to your work with search algorithms and could be a technical topic with depth that would appeal to others working in search.

Claude performed remarkably well at identifying potentially interesting blog topics from my journal entries. I followed-up with asking it to list more and have saved the list for future posts.

  1. I used egrep -v to filter out lots of entries with common titles that wouldn't be interesting.