2025-08-09 Next »
2025-08-12
2025-08-11
06:00 Somebody boosted mention of GNU Taler, a “privacy-friendly” FOSS payment system, into my Fedi feed. By the time I’d finished looking it up and reading about it, the toot was long gone. Seems interesting, though.
https://www.taler.net/en/index.html
06:30 AC putting out a funny burned dust smell so it’s off until property management can come take a look.
Today’s forecast high is 36C / 98F. This will be fun. At least it’s cooler than the last couple weeks, which I’m pretty sure contributed to any HVAC issues.
10am local time or so, my GitHub repo count: 170
12:30pm local time, my Microsoft AI Copilot GitHub repo count: 12 (nine archived and three active, pending additional planning)
What’s the third “E” again? Oh yeah.
“Extinguish”
data-driven *log with MarkdownDB
I want to add some processing to the workflow for publishing. Initial focus is backlinks, but I have ideas stretching it out to the point of ridiculousness.
Why not stick everything in a database? Just this once, I successfully fought off the urge to write the database-generating tool myself. Today I tried MarkdownDB. Ask again next week.
Using it
I don’t want to confuse Netlify by adding package.json
when npx
can do the job just fine locally.
npx mddb ./content/
Takes 0.82 seconds with 152 pages. I will eventually need a faster solution, given my tendency to accumulate notes. This is fine for today.
sqlite3 markdown.db
Finding a page’s backlinks
Just remembering the initial query as I’m ironing out fussy details. Between work, life, and brain, I’ve got maybe six minimally interrupted hours per week free to write code. I’ll forgive myself a little sloppiness on first pass.
# Yeah I know it's not the most efficient collection of queries. I'm in a hurry.
META_SQL = %{
select
title
from files
where file_path = ?
limit 1
}
BACKLINK_SQL = %{
select
src.url_path,
src.title
from files this
inner join links l
on l.`to` = this._id
inner join files src
on src._id = l.`from`
where this.file_path = ?
order by src.title
}
def get_note_meta(item)
meta = $db.get_first_row(META_SQL, item[:content_filename])
meta["backlinks"] = []
$db.execute(BACKLINK_SQL, item[:content_filename]) do |row|
meta["backlinks"] << row
end
return meta
end
Maybe on the first few passes. Anyways it’s a start.
Adding it to the build process
Put that npx
invocation into my Justfile
and ensure every build is working with a fresh database.
db:
npx mddb ./content/
build: db
bundle exec nanoc --env=prod