You ever realize you’ve fallen too far down the Amazon search results? 
So I’m making a native Web Component with a library specifically for building native Web Components. Go to add it to my project… and the docs only describe adding it to a build process, not building a singular JS file I can add to my plain HTML page.
Hey, Apple? What the ‼️ is this?! Where’s the ‼️ing unsubscribe link? How do I mark this as spam? 
Thinking about this:
"For where two or three are gathered in my name, there am I among them."
And thinking of why people might be gathering right now.
Jony Ive with too much budget and too few restraints is how we got the 2016 MacBook Pro. So that’s what I’m expecting from “io.” https://openai.com/sam-and-jony/
Look, mom: I’m quoted in Fast Company! https://bsky.app/profile/ernie.tedium.co/post/3lonqcxioac2j
Had some old MIDI files from our circa-2000 iMac. For ease of use, I’d “converted” them to QuickTime movies. So naturally, they wouldn’t play today, and QT Pro doesn’t work. Shout out to Infinite Mac where I was able to load Mac OS 8.6 and convert the files back to standard MIDI. https://infinitemac.org
Apple has been ordered to stop blocking and charging commission on links from apps to websites. Good.
I use IAP for PillTimer; it lets me focus on the app and not payments and DRM. It’s well worth the 15% fee. But as I’ve mentioned a few times on this blog, forcing it on everyone is stupid. https://www.theverge.com/news/659246/apple-epic-app-store-judge-ruling-control https://pilltimer.app https://oddevan.com/2024/08/13/i-currently-own.html https://oddevan.com/2024/08/12/i-trust-patreon.html https://oddevan.com/2024/01/17/just-stop-apple.html
Well I didn’t have “dentist tells me not to brush my teeth” on my 2025 bingo card, yet here we are.
“The light shines in the darkness, and the darkness has not overcome it.”
Ergo, “while I breathe, I hope.”
Bumps In the Gumroad https://oddevan.com/2025/04/04/bumps-in-the-gumroad.html
Today’s brainworm: a parody of “Put Down the Ducky” called “Tighten the Graphics.” https://youtu.be/acBixR_JRuM https://youtu.be/BRWvfMLl4ho
Sometimes I get so deep into composition and particular abstraction layers that I forget that basic object-oriented programming exists. And what I thought was going to be a nightmare to code and even more to maintain actually wasn’t that complicated. (I welcome you to tell me why it’s actually bad.) https://github.com/smolblog/smolblog/blob/333c647e1950ca1de34c8ce66591df1ef27bed1b/packages/product/core-data-sql/src/QueryBuilder.php
I didn’t add a way to prefix Smolblog’s DB tables because I didn’t need it, and I need to not build what I don’t need.
Today, the auto-migration wiped out my test WordPress’ tables.
I am now building a way to prefix Smolblog’s DB tables.
John Gruber on the full DeepSeek AI model running locally:
"Apple has tremendous technical advantages to offer in AI. But they’re marketing Genmojis of hot dogs carrying briefcases."
I might argue that there’s very little else to market. https://daringfireball.net/linked/2025/03/19/apple-silicon-is-groundbreaking-for-ai
I’m afraid—if I log out—I won’t be able to find my LinkedIn account! 
Hey #php land, what’s going to be the easiest way to build an admin interface? I’ve got all my data persistence and retrieval functions written; just need to build the UI. (Would love if there was some easy way to build the forms in WordPress' backend.)
I’m thinking of making a custom language definition for highlight.js so I can specially-format parts of a story (chat window, AI dialogue, etc.) without leaving Markdown.
Am I overcomplicating this?
I want to like Scrivener so much more than I do. I want to use it, really dive into it, but writing in it feels like using a word processor; anything too far from CSS isn’t intuitive for me anymore. And the HTML it generates is… generated HTML.
So… anyone organizing a novel with Markdown?
Trying something: every time I see a news story about government incompetence in the name of efficiency, I forward it to my congressman and senators.