Blog Posts

Prototyping a Brightspace Course Coach Application

Last night while watching the Olympics highlights, I was playing around with Claude Code to see if I could implement something I’ve been thinking of for quite awhile. What if students had an application that connected to the LMS (Brightspace in our case) and pulled all course materials, info, calendar, assignments, discussions etc. into a local database, and what if a local chatbot was able to interact with that database to guide a student as they learn? A socratic agent, coaching them without giving them answers. Prompting them as they engage with the course.

Read More

not another think piece on generative AI

AKA Please, God, Not Another AI Thinkpiece!

Nope. There have been enough of those lately. Recent posts about art, intuition, semantic ablation, cognitive debt, cognitive shortcuts and atrophy. They get at lots of the nuance hidden between “AI is literally SATAN” and “I, for one, welcome our new AI overlords!”. Mostly, (generative)AI is kinda useful for some things, is extremely problematic for many reasons, and isn’t going away no matter how much anyone wants it to.

Read More

Experimenting with RSS Reader Interfaces

I’ve been using RSS readers for over 20 years. Most of that time has been spent using the excellent NetNewsWire application, but I’ve used others (including Google Reader, Fever˚, etc.).

After reading Terry Godier’s post on RSS readers being stuck in the email metaphor, I wanted to experiment with some ideas for a “non-email” metaphor for a feed reader interface. The most interesting and useful version of this that I’ve used was the “Hot” view from Shaun Inman’s Fever˚ application. What would it look like to integrate something like that into my NetNewsWire database?

Read More

another 365 photos

Thanks to gentle nudges from Alan, I’ve wrapped up another 365photos “daily photo for a year” project for 2025 and started one for 2026. I’d marked this on Mastodon, but hadn’t mentioned anything here on my blog. Maybe I was waiting to see if I’d actually go for another round? 18 days into 2026 and it looks like I’m still doing it, so…

I started back in 2007, mostly as a way to learn to use my then-new, then-fancy Canon Rebel XT. I carried it in my backpack everywhere and got some interesting shots. I learned to use it pretty well and learned to see differently. Apparently, something clicked because years later I was able to get into a PhD program that required an “artist’s portfolio” and I got in on the strength of my photography. Who knew? #365photos was the beginning of that.

Read More

copilotting

Microsoft keeps renaming things to be various versions of “copilot”. A snarky toot pointed out that there were now 4 MS products called Copilot. I thought there were more, so I asked Copilot (MS365 Copilot™). It thinks there may be at least 7 different Copilots? But its LLM may be out of date…

Prompt:

How can I keep track of all of the things that Microsoft now calls “Copilot”? Is there a map or guide?

Read More

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