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

Back to Alfred

2026-03-06 03:36:21

Bender from Futurama saying I'm Back Baby but he has the Alfred logo hat on

In 2024 I switched to Raycast from Alfred. I'd been a long time Alfred user but I was tempted by Raycast's shiny UI and better integration with things like Reminders. Turns out I never used the reminders integration or most of the other features Raycast has that are unique.

I had spent time converting some of my workflows to Alfred extensions to varying success. The stricter nature of how Raycast extensions are built is good for Raycast but doesn't help me, a person who just wants to write a script or two and make things do other things. It was far too much effort to make new extensions or fix broken ones (like my Safari one that broke very quickly and I never fixed).

Raycast has always been pushing their AI stuff but it's mostly been out of the way and was basically "plug in your API key to chat to your ai girlfriend favourite model". Except now they're getting into the slop game so I'm out.

I had to write a script to convert my Raycast snippets to Alfreds format which you can find here.

So I'm back on Alfred. It has it's own problems, like aging workflows that don't work scattered around the internet but the gallery does help somewhat with that. I wish it there was a better submission process instead of "post in the forum" and to be honest I'm not in a rush to add more of my own plugins to the gallery, I'll just keep them on my own repo for now. Which is the last thing to do: I need to get setup again with my workflows, get my backup scripts working, and move them over to KnightForge. They'll still be on this page going forward though.

Code Corners

2026-03-03 05:57:29

It's been 10 years since Tim Holman made GitHub corners, the little triangle with the waving Octocat you see on some open source projects, including many of mine.

When he made those it had been eight years since GitHub posted the ribbons on their blog. GitHub is synonymous with online code but I have code that isn't on GitHub and so do lots of other people. Even if it is on GitHub, it doesn't mean we have to also have their mascot on our pages.

We're overdue a platform-agnostic alternative so I made one: Code Corners. A triangle with the classic </> in the middle.

One banner that says Fork me on Github, one blue triangle with a white Octocat in it, and a red triangle with code brackets in it

There's no fancy animation like the GitHub one but it does fix a bugbear[1] of mine from that one — there is no secondary colour. It's transparent so it matches whatever background you have instead of having to set that yourself.

The site is basically the same as Tim's so it should be familiar to anyone who's used GitHub corners in the past.

Forgejo Corners, Gitea Corners, SourceHut Corners, random-page-on-your-website corners. You can link to literally anything. Even GitHub.


  1. Yep, that really is how it's spelt, TIL

Notes on Setting up Forgejo on Coolify with SSH

2026-02-25 03:59:19

For reasons that I'll write about on another post, I had occasion to setup my own instance of Forgejo - "a self-hosted lightweight software forge", aka "We have GitHub at home". Despite having an install of Coolify on one of my servers which should have made this one-click, it was significantly more clicks than that.

The version in Coolify's library is version 8 where the current version is 14 - this was the start of my issues. I was able to get Forgejo running. I could create repositories, clone them and push, but only over HTTPS and not SSH. The port should have been mapped correctly to make it work but something was misconfigured. SSH is never a fun thing to debug and I had lots of help from Adam, Melanie, and Daniel all of whom had it working on their instances without any tinkering.

As best I can tell is that between version 8 and 14 lots of things changed, as you'd expect, so changes I made to port mapping weren't applying correctly. Then I'd try a fresh install but forget other settings I needed to edit. Then I'd do it again and forget something else. I installed Forgjo from fresh at least six times before I was able to get it running and the final working version was simple: change the version to 14, change the 22222 port mapping to 2222 and don't touch anything else. That's it. I had seen this GitHub issue which also ended with "lol did a reinstall now it's fine" so I at least have a bit more info here.

My final docker compose file looks like this:

services:
forgejo:
image: 'codeberg.org/forgejo/forgejo:14'
environment:
- SERVICE_URL_FORGEJO_3000
- 'FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO}'
- 'FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}'
- 'FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}'
- USER_UID=1000
- USER_GID=1000
ports:
- '2222:22'
volumes:
- 'forgejo-data:/data'
- 'forgejo-timezone:/etc/timezone:ro'
- 'forgejo-localtime:/etc/localtime:ro'
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://127.0.0.1:3000'
interval: 2s
timeout: 10s
retries: 15

Miscelanea

The app.ini file, when installed with Docker, lives at /data/gitea/conf/app.ini.

You can add robots.txt, customise the icons, and even the templates. These won't exist in the container under data/gitea/public (for robots and icons) or data/gitea/templates on a standard install. If you add them, they then override the defaults, usually after a reboot. My updated home page template, home.tmpl:


<div role="main" aria-label="" class="page-content home">
<div class="tw-mb-8 tw-px-8">
<div class="center">
<img class="logo" width="150" height="220" src="/img/logo.svg" alt="">
<div class="hero">
<h1 class="ui icon header title" style="font-size: 3.5em;">

</h1>
<p style="font-size:1.3em">The personal Git instance of
<a href="https://rknight.me">Robb Knight</a>.
<a href="/robb">Have a gander at the code</a>.</p>
</div>
</div>
</div>
</div>

Finally, not Forgejo related but noting it here anyway, to connect to the container when you're on the server (via Cory), run docker ps -a | grep forgejo to find the Forgejo container then use the ID to connect: docker exec -it <ID> sh.

You can browse the code I've already moved on my Forgejo at git.7622.me.

Weeknote #1987

2026-02-11 17:05:58

I've spent an ungodly amount of time this week thinking about the Roman Empire how IRC could work for small communities - clients, servers, setup, maintenance. The Lounge is the best client in my opinion but it doesn't support all the new features of IRC like reactions and avatars. It's close to perfect though. I already posted about this but it's worth putting here too: two posts about setting up an IRC server like it's 2006; one from Melanie using Treafik and Coolify and one from Adam which is a pretty in-depth starter guide.

Jim has a really smart way of adding edit links to his site that open in native apps.

Mondegreen "is a mishearing or misinterpretation of a phrase in a way that gives it a new meaning". The etymology is so good - "mondegreen" is a misheard word from a 1765 book. (via Friendship Material)

I learned about Aviation English which is "the de facto international language of civil aviation". Native English are worse at it in emergency situations because they tend to deviate from the standard. Fun stuff.

Cory was seeing the same as me in his analytics - lots of automated traffic from China. He came up with a blunt way to deal with it. Matthias is seeing similar issues. I don't knonw how the we get out of this shit.

I don't have a use for it right now, but Datasette looks very interesting.

This post by Dan Abramov is a great explainer of what can, in theory, be good about AT Protocol, the protocol that powers Bluesky.

Handy is a "free and open source app for speech to text". Nice.

I'm not in the market for a new Git system but if I was then Radicle would be on my list.

Purveyors of Packaging is a goldmine of old packaging design. [via SimpleBits]

Font Tools is a collection of, well, font tools. Handy.

This PS2 recompilation project has me very excited.

I learned about Poste Restante "a service designed for travellers who don’t have a permanent address". Send stuff to any post office and mark it as "poste restante" and the recipient can pick it up. Seems to be available all over the world.

This list of suffixes for street names has some great ones I've never heard of - "Twitten" anyone?

This post about search engines with their own indexes has a lot of great info in it.

Forgejo Support for EchoFeed

2026-02-04 20:38:55

I've just merged in support for Forgejo to EchoFeed. Forgejo is a "self-hosted lightweight software forge" aka "We have GitHub at home"[1]. Adam is running an instance as part of omg.lol.

It works the same at the GitHub integration with one exception: no OAuth. Forgejo can exist on any domain, like Mastodon, but it doesn't allow for creating applications (like EchoFeed) on-the-fly. Instead, it uses access tokens which isn't as convenient but I didn't want to create applications on every instance someone might want to use. Here's a screenshot of the required permissions but check the docs for the details on setting the right permissions.

Forgejo settings required for EchoFeed

Forgejo support is available to everyone right now.


  1. I don't intend this to be mean but the uncanny valley of how close the UI is to GitHub is hard to miss

Now (January 2026)

2026-01-28 04:40:03

My last now update was November and I was hunting for a pink ink. I found it and I've been using it constantly since then.

I have a new sticker pack, The Internet Pack, which you can buy here.

A pack of stickers. The cardboard says Internet Pack and you can see the stickers inside which say As seen on mastodon, don't know, and corny on main

I am deeply disliking my website design and I've tried a million different new things but I can't get anything new I like so I'm keeping it for now.

This did lead me to start making a sort of starter kit based on the snippet from my toolkit and uchū. I want to not spend time fiddling with fonts and colours and such for every little project.

I'm halfway through Everything but the Code and it's been really useful even if it's not exactly targeted for me. I'm currently dumping every idea for a project with every possible feature onto paper so I can whittle it down to the best ideas.

Also I'm angry, in no particular order, about nazis, AI, ICE, Tim Cook, age verification, probably other stuff. None of this is normal.