MoreRSS

site iconRobb KnightModify

I am the lead developer at Radweb working on InventoryBase and related products. I also work part-time as a developer for MacStories.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of Robb Knight

88x31 Button Curios

2026-01-09 20:00:37

Usually if I find an 88x31 button related thing I'd bookmark it and pop it in my weeknotes but over the past few days, a smorgasbord of related links have come to my attention so, to paraphrase Morbius, it's bloggin' time.

The first is a new directory of buttons I'd not seen before by Neonaut who also links other directories at the bottom which I've added to my list on LinkAce. So many buttons.

Yesterday in the 32 Bit Cafe Discord, Dan posted a new project they'd completed: an 88x31 button creator. It has more options than I knew what to do with but I did make this banger of a button:

A blue button that says rknight.me. The text is waving around and changing colours

As if that wasn't enough, I came across this post about making the Game Boy color boot animation into a an 88×31 button. Lots of interesting technical stuff going on here to make this happen.

Finally, as I posted yesterday, Chris Burnell made some new EchoFeed buttons which I love.



Weeknote #1982

2026-01-09 04:29:19

The kids are both in nursery now and I'm back at work after two weeks off at Christmas.

The sticker sales are going well, I've just about broken even if you do some flexible maths and I have a new pack incoming in the next few weeks.

After this post, my Raindrop queue is down to just eight links. Enjoy.

Links

ISBNDB looks like an amazing API for books - it's paid, so not ideal for hobby projects but could come in handy for bigger projects.

Cinemapper shows filming locations for movies on a map which is always fun.

I think we all hate printers with a fiery passion but this open printer has piqued my interest.

Yamatter is "a command-line tool to inspect and transform YAML front-matter data". I've done stuff like this with custom scripts in the past, this would have saved me a lot of time.

enclose.hgorse is another day game I enjoy but definitely can't trust myself to play every day.

James used microformats and granary to turn his HTML element of day list into a web feed and RSS feed.

Keeping this Apple Photos exporter bookmarked for if I ever try to nuke my Apple Photos usage.

Turns out those pkpass ticket files you sometimes get to add to Apple/Google wallet can be converted to PNGs relatively easily.

Brad has a great post on the tools and techniques he uses to clean fountain pens.

Hot Dang Press make very cool iron-on art.

Get out of my <head> is an incredibly handy reference for what should be inside your head to show previews, favicons, and other related things. I added a link to this on Lens.

I think I found the only UK-based company that makes pen cases, storages, displays, and trays - Turner's Workshop.

Opus No. 1 is that fucking song everyone has on their hold music.

Speaking of music I Want my MTV Rewind is amazing.

These two Struthless videos are really worth your time:

I've had this article from Jason saved for a while and I haven't stopped thinking about this line:

I want to make things because I’m human and alive.

I sketched it too because why not.

Block letters in different colours that say Human and Alive

Outtakes

Outtakes is a new section for failed or disregarded ideas, inspired by anh.

I had a note for a while that said "Scroll all the colours". I had a look around and there wasn't anything that did this but once I started thinking about it I realised how boring it would be. I did stumble upon all RGB though: "The objective of allRGB is simple: To create images with one pixel for every RGB color (16,777,216); not one color missing, and not one color twice.". Cool.

This also had it's own sub-failure of sorts - I started writing out my ideas on index cards, à la Paloma, and it was helpful to focus on a single idea (like the one above) but I also have ideas in my journal, Obsidian, Notes, my brain, probably other places. A failure yes, but it showed me I need to sort my shit out and work out a single place to put all these.

An index card on a green cutting board. The card says "Scroll All Colors" at the top then some bullet points about how to implement such a thing

Until next time, be excellent to each other.

String Replacements on EchoFeed

2026-01-08 21:04:42

One request I've had quite a bit for EchoFeed is to be able to handle specific, known usernames, between Mastodon and Bluesky where they are different (which is almost always the case). Some pastry-themed apps already have something similar but for EchoFeed it needed to work differently.

For EchoFeed, I've gone for the simplest solution which is also the most flexible - straight string replacement. "Replace THIS with THAT", or in real terms, "replace @[email protected] with @rknight.me when cross posting between Mastodon and Bluesky. Maybe you want to replace utm_source=mastodon with utm_source=bluesky because you're a big Business™ boy or replace every mention of "Twitter" with "the deep fake porn and hate platform" because you understand you don't hang out at Nazi bars no matter what. You can replace literally anything, it's up to you. The documentation has a bit more information about how they work.

A form showing find and replace values for two different usernames

EchoFeed won't replace strings in links and has the option to only do case-sensitive replacements. Replacements is an EchoFeed Pro feature and is available now.

App Defaults 2026

2026-01-07 16:44:45

It's been a couple of years since my first post in this series. In 2024 I did an "updates only" list but I think it's worth going for a full list again this time.

  • 📨 Mail Client: Apple Mail still. Email sucks, I don't need it to be better I need it to go away.
  • 📮 Mail Server: iCloud with custom domain.
  • 📝 Notes: Obsidian. I've just done a big reset of all my notes and I'm following Steph Ango's structure somewhat.
  • ✅ To-Do: Journal for untimed things, Reminders for timed.
  • 📷 iPhone Photo Shooting: Camera.app
  • 🟦 Photo Management: Photos.app
  • 📆 Calendar: Fantastical
  • 📁 Cloud File Storage: iCloud Drive
  • 📖 RSS: Miniflux with Reeder Classic
  • 🙍🏻‍♂️ Contacts: Contacts.app
  • 🌐 Browser: Safari
  • 💬 Chat: Discord, Signal, IRC
  • 🔖 Bookmarks: LinkAce
  • 📑 Read It Later: Raindrop
  • 📜 Word Processing: what
  • 📈 Spreadsheets: Numbers
  • 📊 Presentations: Keynote if I have to but I never do
  • 🛒 Shopping Lists: Alexa lists, reminders
  • 🍴 Meal Planning: Journal
  • 💰 Budgeting and Personal Finance: Numbers
  • 📰 News: Nope
  • 🎵 Music: Apple Music scrobbled to Last.fm with Sleeve
  • 🎤 Podcasts: Overcast
  • 🔐 Password Management: 1Password, begrudgingly.

When this post is added, that will be five hundred blog posts on the App Defaults website. You should go and listen to the episode that started it all, 097: Duel of the Defaults.

Logitech Options+ Alternatives for MacOS

2026-01-07 07:29:22

Update 2026-01-07

It turns out Logitech let their developer certificate expire which is equally stupid for a $10 billion company.

Also, as pointed out by Mel and Jason, Logitech/Logi has another name in Japan: Logicool. Which is clearly the best one.

Note

Logitech is called "Logi" in some markets but not all of them and to be honest I don't care enough to work out which is "correct" in this case.

As of this moment Logitech Options+, the app that handles all the features for my Logitech MX Master mouse, is down. It connects to Logitech's server for some stupid reason but if said server is down then my mouse doesn't work properly. Very cool and normal.

I posted about this and Reilly was all over it suggesting LinearMouse. I downloaded it and it's an almost-exact replacement for the Logitech crap with the exception of gestures. In Options+ I could set thumb button + swipe to switch between spaces (or in my case, my single full screen app - the Music app). As a workaround, I set LinearMouse to use + the back/forward button to do the same thing.

Update 2026-01-07

The beta version 0.10.3 beta-2 of LinearMouse has support for gestures although it doesn't have the option to use the MX Master thumb button at the moment.

The LinearMouse settings window showing my custom button actions

The Logitech software has always been shit but I could live with it but not being able to use my mouse because servers are down? Fuck right off.

Anyway, I had started collecting alternatives while I was putting Baby Knight II to bed but given LinearMouse does everything I need, I won't be trying them but here they are:

Pens, Inks, and Obsidian Bases

2026-01-06 04:55:44

I finally got around to trying out Obsidian Bases this evening but I needed a relatively small dataset to try it with. So I grabbed my ink export from fountain pen companion (FPC) and converted that CSV to markdown files. This isn't relevant to using Bases but here's the abridged version of that code anyway:

// inks.js
const fs = require('fs')

fs.readFileSync('collected_inks.csv', 'utf-8').split('\n').slice(1).forEach(line => {
const data = line.split(';')
const title = `${data[0]} ${data[2]}`
const content = [
'---',
`brand: '${data[0]}'`,
`name: '${data[2]}'`,
`hex: '${data[4]}'`,
`type: ${data[3]}`,
`purchased: ${data[13]}`,
'---'
]

fs.writeFileSync(`./inks/${title}.md`, content.join('\n'))
})

// Diamine Meadow.md
---
// ...
hex: #59ac2b
// ...
---

Once I'd added the new files I created a new Base and added a filter to only show files in my Inks folder. FPC includes a hex code for each ink and ideally I wanted to show this color in the table view. If I could run Javascrupt on every change I would do something like this to change the colour of the text where metadata-input-longtext is the classname of the cell elements of the table:

Array.from(document.getElementsByClassName('metadata-input-longtext')).forEach(el => {
if (el.innerText.startsWith('#')) {
el.style.color = el.innerText
}
})

Sadly (or not), you can't do that in Obsidian. I tried using attr() but that only works if the data attribute is on the element you want to style. I then saw in the docs that Bases also has formulas as well as an html function. So I added a formula to my ink Base (Properties > Add Formula) and added a formula that uses the html function.

html("<span style='height: 100%; aspect-ratio: 1/1; background:" + hex + "'></span>")
A table showing a list of inks and their properties. A column named color shows a preview of the hex code

Next up will be doing the same for my pens and linking them to the inks that they currently have in them. Now I've tried it I can see how Bases could be really powerful on some more complicated data. Perhaps I'll move some of my collections into Obsidian and sync it to my website.


Some posts that helped me understand Bases better: