Dungeons and Dragons threads its needle

I went in unsure how it could work, came out pretty sure it did work, and I think I understand why.

April 10, 2023

Macros to score mail in mutt

Some ruby wired up to mutt macros allows for on-the-fly sender scoring and a color-coded message index.

April 9, 2023

First stab at literate config with Doom Emacs

My historic pattern for descending into Emacs hell has always started with the kitchen-sink init, and the path to recovery has always involved a patient refactoring into multiple files: Some kind of “the basics,” something just for org, something for odd little quality of life things, and a quarantine file where new stuff can enjoy a probation period where I can bisect it first when something goes wrong. If I add a big chunk of functionality from a new mode, that might get its own file, too....

April 5, 2023

imgup (now with SmugMug as the image upload backend)

I finished up the initial SmugMug version of imgup today. There are some things I’d like to add, but it’s good enough to stick in Docker and run locally as a drop-in replacement for the Cloudflare edition I’ve been using. The basic workflow of the tool is: You make a private (but not secret) album. You upload images to it. During the upload process you can set the title and caption properties....

January 19, 2023

oAuth, rubocop, a Drupal recollection, and the value of play

oAuth is sort of a pain. Now that I sort of know how to plumb it in – enough that I’m going to make myself a little repo with a reference application – it has opened up a lot of interesting possibilities. The whole experience reminded me of when I was doing Drupal development for a job I took to get into tech and out of pure editorial. We needed to do some work migrating a bunch of content between sites....

January 17, 2023

Shortcut: upload stuff to Cloudflare Images service

I made a shortcut that pretty much does what imgup does, except from an iPhone (or Mac, I guess, if you want to pick an image from Photos instead of sending it via an iPhone/iPad share sheet. It just squirts an image up to the Cloudflare Images API, gets back a URL, and copies some pre-made Markdown to your clipboard suitable for pasting somewhere. Pretty simple to add a step to send it to a Drafts draft, etc....

January 17, 2023

calling imgup

Today I put the last things into imgup I need to just run it and use it. I cleaned up the result page, added a chance to enter alt text at the beginning, and made it clean up its tmp after it succeeds at uploading, which now has a cleaner error page for the most error-prone part of the app. I also have it using dotenv for configuration because that felt cleaner and more forward-looking than the YAML config thing....

January 16, 2023

Insomnia-driven development and omgloldev 1.0

Well, it was an insomnia night so I came downstairs to finish up. It took a little work to evade the greediness of the weblog.lol GitHub action, but I think omgloldev works well enough to use. I set out wanting to make something that would allow me to do quick, iterative weblog.lol template development I could preview locally, and I wanted to develop my weblog.lol blog using HAML. I also wanted, for purposes of authoring, to get the CSS out of the core template, and I was tired of copying and pasting stuff back and forth with all the attendant risk....

January 13, 2023

omgloldev - now with a copyable raw template code view

A little more progress on omgloldev tonight: I put the conditional logic in the haml template such that if you visit /preview, you get a fully rendered demo page. If you visit /raw you get the raw template code in a text area with a button to copy the code to your clipboard. The thing I’m going for is a way to develop my weblog.lol blog using HAML and Sinatra niceties (e....

January 12, 2023

Build an OPML file of new stuff in ohh.directory so you don't have to visit site-by-site in a browser

I love that ooh.directory exists: It’s a clean, simple, helpful directory of blogs. The site publishes an RSS feed of all its latest additions, which is very helpful. This automates the process of getting the feed from each blog into an OPML file you can import into your news reader: https://paste.lol/mph/oohpml.rb Starting from “what the hell do I even know about OPML?” and “what the hell do I even know about processing XML with Ruby?...

January 7, 2023