Graham
banner
graham.systems
Graham
@graham.systems
Take data, make other data
Yes, I am writing a voice chat application. Why do you ask
February 12, 2026 at 6:47 AM
I’m really sorry to hear that, Kat… Sending positive thoughts your way
February 10, 2026 at 1:47 AM
That sounds like a fantastic day
February 9, 2026 at 11:38 PM
Am I the crazy one for primarily using Discord for VoIP?
February 9, 2026 at 6:00 PM
Got it. I like this a lot, although I’ll admit I have a vested interest in minimizing the stock pots on our counter and keeping milk jugs filled with ice out of our sink
February 6, 2026 at 6:04 PM
Good to know! And it’s not too difficult to remove the frozen milk from the container?
February 6, 2026 at 5:57 PM
If you come up with a technique that works well, I can pass it along to Morgan!
February 6, 2026 at 5:50 PM
Good catch! I nabbed it. I'll move this project to that domain, lop off the `avatar` path segment, and reserve "silhouette" for more complicated profile management
February 5, 2026 at 10:45 PM
Thanks! I’ll keep cooking on the profiles thought—let me know if you have any better ideas for a project name or domain 😅
February 5, 2026 at 9:50 PM
Reposted by Graham
Aight, here it is: silhouette.town

Returns a 303 redirect to your avatar's blob URL, see silhouette.town/avatar/graha...

Super simple, without any caching atm. Source available on Tangled tangled.org/graham.syste...
Quickly get the URL to your Bluesky profile photo using an identifier (handle or DID). Go to:
silhouette.town
February 5, 2026 at 9:00 PM
Aight, here it is: silhouette.town

Returns a 303 redirect to your avatar's blob URL, see silhouette.town/avatar/graha...

Super simple, without any caching atm. Source available on Tangled tangled.org/graham.syste...
Quickly get the URL to your Bluesky profile photo using an identifier (handle or DID). Go to:
silhouette.town
February 5, 2026 at 9:00 PM
I made an attempt but Nushell integration wasn't working out of the box. I ended up switching to Asahi NixOS
February 5, 2026 at 8:51 PM