Posts

on building an Obsidian Related Notes plugin using Google's Antigravity IDE

TL;DR:

I built an AI/LLM-powered “related notes” plugin for Obsidian. It seems to work, but who knows? There’s a video tour, and the code is in a GitHub repository.

I’ve been using Obsidian for a few years now, and have always wanted a good “Related Notes” plugin to help me find things that overlap with what I’m working on - based on the content itself, not metadata or links. Haven’t had any luck so I kind of gave up.

Read More

UCalgary Conference on Postsecondary Learning and Teaching - Call for Proposals

I have the honour of co-chairing (with Natasha Kenny) our 2026 University of Calgary Conference on Postsecondary Learning and Teaching.

The conference is shaping up to be an absolute banger. The theme is From Disruption to Connection: Digital Transformation in Postsecondary Education - a timely topic, given… gestures wildly. We have some AMAZING keynotes lined up (watch for announcements in early 2026). The entire 3-day conference is going to be an incredible showcase of communities and our collective work as we are all navigating, shaping, creating, fostering, and responding to various layers of digital transformations.

Read More

Building a standalone bookmarks web application

🥱 - TL;DR

I used Claude Code to build a standalone web thing to manage bookmarks.

It’s at https://darcynorman.net/bookmarks/

I’ve also shared the code in case it’s useful to anyone. It’s AI Slop, with no warranty or support or whatever.

It’s at https://github.com/dlnorman/standalone-bookmarks

Back in the olden days, I was a pretty heavy user of the del.icio.us web bookmarking service1. Then, it was acquired by Yahoo! and sold, then relaunched, then mothballed, then who knows? It’s been offline for awhile. I stopped using it somewhere in the Yahoo! era - I didn’t feel like feeding Yahoo!2 so in 2013 I started using an open source bookmarking application called SemanticScuttle.

Read More

Building a standalone RSS-to-Mastodon bridge

I’ve been working to minimize hosting requirements and to reduce external dependencies for my website. I now have simple, lightweight, self-hosted search and commenting functionality. The only external dependency remaining was the way new posts were cross-published to Mastodon.

I’d been using the excellent Mastofeed service. Mastofeed works great! If you’re looking for a hosted (free!) solution, definitely check it out. You authorize it to post items to a Mastodon account, and it automatically toots whenever you publish something on a website by checking the RSS feed for new items. Easy peasy. But it’s an external dependency - it could disappear, or change, or start inserting ads or something, or who knows?

Read More

Building my own custom standalone comments app

Surely, one day, eventually, I will write a blog post that isn’t about vibecoding some bauble into existence and actually get back to something deeper. I think learning how vibecoding (and coaxing some form of LLM to do stuff in general) is an important thing to understand, not just read about. I’m absolutely not an AI Evangelist, but this work has changed my perception of LLMs and agentic tools as they (rapidly, so rapidly) increase in capacity. This is not that day.

Read More

building a new search engine for my hugo site

One of my backburner projects for the last few years has been building a better search engine for my Hugo-powered site. It needed to be able to integrate with Hugo, and to run on a commodity webserver (so no NodeJS nonsense etc.)

The previous .json index strategy wasn’t sustainable - a .json search index was generated every time my site was built (yay!) and it got downloaded in the browser when someone wanted to search the site. Which worked, but slowly got unwieldy. The .json index is now over 7MB in size - and that downloads before you can search, with the javascript search taking place inside your browser. I needed a better solution before this just failed outright due to the size of the index.

Read More

Perplexity Comet and online quizzes

I’m pretty firmly in the “let’s redesign assessments so they authentically evaluate student learning” and not in the “ban AI and other tech to stop the cheating students from cheating!” camp.

And.

Perplexity released their Comet browser, with an integrated AI assistant. Similar to Google’s new (and then (temporarily?) redacted 12) Lens Homework Help thing3 that they’re building into Chrome.

Basically, the assistant lives in the browser and has access to whatever web page you’re viewing. If you’re logged into a website, the AI tool can still see the content of the page, where it previously would have been blocked because the AI server would have tried to access the URL directly. Now the AI assistant runs in a sidebar and just directly accesses the content of the main browser window as needed. Easy peasy.

Read More

AI-coding a decent asteroids game

I’ve been using Claude a lot for almost a year, but had never gotten around to trying the Claude Code version that integrates with Terminal to directly edit files. That sounds scary, and I’d been having luck with just copying/pasting stuff out of Regular Claude via the web interface. Anyway. I decided to try it out.

Anthropic’s instructions say to just run:

npm install -g @anthropic-ai/claude-code

to get started. macOS doesn’t ship with npm, but brew.sh can install npm and all of the Node.js nonsense that’s involved. So, I got to run this first:

Read More

things I'm watching as a learning technologies and design leader

I had an impromptu chat with a dear friend who I respect for his thoughtfulness and approach to the work1. After the initial “boy, is the nature of our work ever different from back in the olden days when we actually got to build stuff!”, and “it seems like the bulk of our work now is just profoundly unbloggable for all kinds of reasons…”, we eventually got to “so… what kinds of things are you paying attention to?” That’s a big question, worth articulating and sharing.

Read More

AI and the value of thinking out loud

First, I am still conflicted about generative AI. It’s still a horrible, extractive, resource-intensive, opportunistic, hype-addled, broligarchy-enhancing opaque bullshit machine. And it’s still the elephant in every room, the sometimes-unspoken layer underneath every conversation, such that I can’t just pretend that it doesn’t exist. Hence the ongoing conflict.

For thinking-out-loud, this was prompted by Audrey’s recent post on mirrors, awareness, and AI: A Better World Is Possible. Especially, this bit:

But here’s what I think: most people don’t want “AI.” Most people are exhausted by the onslaught of technology “upgrades” that have consistently made everything worse.

Read More

my Obsidian Today dashboard

Update: I’ve revised my Today dashboard since this was originally published. Claude helped me figure out how to combine a couple of the blocks and make it work much better.

I’ve been using a Canvas as a “dashboard” (the “Map” tab in the screenshot below - here’s a screenshot) to see lots of info quickly, and have had a separate “Tasks” dashboard note (the “Tasks” pinned tab in the screenshot) to view upcoming/overdue/urgent tasks. But that didn’t quite get at what I needed - a quick way to find (and re-find) notes that I’m actively working on.

Read More