Welcome to the lab.

NiftyMenu update for Ventura

Not so long ago I wrote a little script that would generate an HTML playground of any MacOS app’s menu bar, primarily for the purpose of generating screenshots. It has a full automation API and you can script screenshots with fuzzy name matching, meaning menu items names and positions can change and your automated screenshots will still work. It’s a very specific use case, but I shared it because it took way too much time and I would love it if it helped even one other person.

Yesterday I updated the menu styling to match Ventura, which uses new submenu indicators, slightly smaller font sizes by default, and slight changes to background opacity and hue. The results should look like a passable rendition of the latest operating system now. You can check out the demo here.

NiftyMenu also got its own project page on this site, with full documentation and installation instructions.

Web Excursions for April 29, 2023

Web excursions brought to you in partnership with Backblaze. Back up everything.

Everything wrong with Twitter’s new verification system.
I lost my blue checkmark in April, and by the time it happened, I was grateful to have it gone. It used to actually mean something, now it’s just a badge of support for Musk and his leadership.
Default Folder X 6.0: A tour of what’s new
Love the Quick Search idea. Beta is available for download if you’re a registered DFX user.
Pixelmator Photo gets AI-powered selective adjustments and a new
Pixelmator is now Photomator, and comes with AI selection tools that are very tempting.
Auto Tape Wrapping Machine Is Amazing For Cable Management
I wish I was handier (and had a lot more tools), this is exactly the kind of hack I would love to build on a whim.
What the Chef!?
Enter your available ingredients, get a recipe to use them. In my experimentation, it actually did a great job without requiring a grocery store trip for additional ingredients.

Backblaze securely backs up your entire computer to the cloud, affordably and reliably. I trust it with all my data. Check it out today.

Web Excursions for April 25, 2023

Web excursions brought to you in partnership with Backblaze. Back up everything.

Swell AI: Automate writing podcast shownotes & articles

Swell AI automates writing articles, summaries, social posts, time-stamped show notes and more for your podcasts and videos.

Luciole - Typeface

Luciole (French for “firefly”) is a new typeface developed explicitly for visually impaired people.

LetsAsk.AI
Another way to build a chatbot for a website, using your own data. Tested it out with the Marked help website, did a pretty good job. Not good enough to include the chatbot in the help yet, but I see potential.
kudoai/duckduckgpt

DuckDuckGo add-on that brings the magic of ChatGPT to search results.

Trackify
Analytics for Spotify. If you like seeing your music listening quantified in various ways, this is an intriguing service for just that.

Backblaze securely backs up your entire computer to the cloud, affordably and reliably. I trust it with all my data. Check it out today.

Static blogs and Mastodon

I use FeedPress to handle this blog’s RSS feeds. It reads my statically-generated RSS feed and gives me subscriber stats, as well as the ability to send new posts to social media endpoints. But it lacks Mastodon integration, and I’m spending most of my time on Mastodon lately (find me at @ttscoff@nojack.easydns.ca). So I wanted my new posts on this blog to automatically post to Mastodon. The script in this post could be used with any blog that generates an RSS feed, but is mostly geared toward static blogs.

I got started with a post from Dr. Drang called “Announcing New Posts on Mastodon”. It included a Python script that I referenced to create a Ruby script for my needs. Thanks to the Doc for getting me started!

You can find the script here. See below for configuration and usage.

Markdown to Bike conversion

I’m liking outlining in Jesse Grossjean’s latest app, Bike, for my outlining needs. It’s a simple outliner that can save the content of its outlines to Bike files, OPML documents, or plain text. And its native document format is plain HTML that’s easy to work with.

As an aside, Jesse just released Shortcut actions for Bike, making it possible to do some automation of Bike and Bike documents. I haven’t played around with it much yet, but if you’re into Shortcuts, check out what’s available.

One thing that Bike lacks is an easy way to convert Markdown lists to Bike outlines. It can actually read indented plain text just fine, but the list markers are included in the node text, and blank lines become empty nodes instead of being compressed. Running a list through a Markdown processor and saving as .bike can often create an invalid file, as Bike requires every list item to contain a paragraph tag, not bare text.

Snibbets plain text code snippet manager reborn

Over 20 years of writing scripts and apps I’ve collected a lot of “snippets” of code that I save whenever I solve a problem and think I’ll want the solution again in the future. I like these snippets to include notes and links, and I need to be able to easily search them and grab the code when I need it without much effort. That’s why I wrote Snibbets back in 2020.

I’ve now refactored Snibbets as a gem and vastly improved its capabilities. I wanted the simplicity of creating snippets in nvUltra and searching them quickly from the command line, getting just the code I need with a few keystrokes. I keep iTerm in Visor mode, so it’s a hotkey away, and just as convenient as any quick find panel in a dedicated snippet management app.

Snibbets now has its own project page where you can read all about its features and options. You can also see all the code, file bug reports, and make feature requests on GitHub.