Kuba Suder πŸ‡΅πŸ‡±πŸ‡ΊπŸ‡¦
banner
mackuba.eu
Kuba Suder πŸ‡΅πŸ‡±πŸ‡ΊπŸ‡¦
@mackuba.eu
Indie Mac/iOS & web developer β€’Β Currently building random fun things on ATProto using Ruby and occasionally JavaScript β†’ https://blue.mackuba.eu

"mostly-happy-but-occasionally-grumpy Ruby guy" - Why

🌍 KrakΓ³w, Poland πŸ‡΅πŸ‡±πŸ‡ͺπŸ‡Ί β€’ ✝️
Pinned
My "Introduction to #ATProto" blog post that I've been working on for some time is ready πŸ™‚ It goes through things like records, lexicons, DIDs, then PDS/AppView etc. and how it all works together. Let me know if anything is wrong!

More parts later, with the Fedi comparisons & misconceptions etc.
Introduction to AT Protocol
Walkthrough of the various parts and concepts in Bluesky's AT Protocol (ATProto), the types of servers involved and how it all fits together
mackuba.eu
What's the discourse?
January 13, 2026 at 4:30 AM
πŸ‘€
the last several rounds of bsky ai discourse have not seen the haters turn up really
January 13, 2026 at 4:17 AM
And now thanks to me, the name "Slackware" will be embedded in the Ruby source code πŸ™ƒ
January 13, 2026 at 4:13 AM
Yay, looks like the regexp performance regression in Ruby 4.0 is fixed! πŸŽ‰ #ruby #rubylang

Issue: bugs.ruby-lang.org/issues/21824...
January 13, 2026 at 4:07 AM
Yup app passwords
January 13, 2026 at 4:04 AM
If the token is not JWT, is there any way to tell if it's expired or not before just trying to use it?
January 13, 2026 at 4:04 AM
Yeah good point
January 13, 2026 at 4:03 AM
So here the access tokens are for 2h and refresh tokens for 3 months, and when you refresh (likely after those 2 hours) you get both replaced and the refresh token is again for 3 months from now, moved ahead. (IIRC in OAuth the refresh token has a permanent expiry time that isn't pushed ahead)
January 13, 2026 at 3:03 AM
Also, it's possible to decode the tokens from base64 and then from JSON, and look at the expiry timestamps there: (this is issue time + expiry time for AT & RT before and after refresh, notice that everything is offset by 40s in the second section)
January 13, 2026 at 3:01 AM
πŸ™‡πŸ»β€β™‚οΈ
January 13, 2026 at 2:54 AM
For app password, IIRC access token is 2h and refresh token is "very very long"
January 13, 2026 at 2:50 AM
I *think* this should be more or less that, unless it was updated again later: docs.bsky.app/blog/oauth-i...
OAuth Improvements | Bluesky
We've been making improvements to the end-user and developer experiences with atproto OAuth, and wanted to share some updates.
docs.bsky.app
January 13, 2026 at 2:48 AM
And it's the other way around, access token is short, refresh token is longer lived
January 13, 2026 at 2:46 AM
I think the answer is very different for OAuth vs. app passwords, might be why you're seeing different answers
January 13, 2026 at 2:46 AM
Why is it still negative??
January 13, 2026 at 1:02 AM
❀️
January 13, 2026 at 12:36 AM
Poor guy, what did he get himself into…
January 12, 2026 at 11:25 PM
I found your guy too
January 12, 2026 at 11:15 PM
I can't tell if this is a bot, or an actual FreeBSD nerd somewhere in Switzerland who stubbornly refuses to update to a Firefox newer than 3.6.8 because it breaks their setup and they would need to recompile the kernel or something
January 12, 2026 at 11:08 PM
β‚Ώmoney
January 12, 2026 at 11:04 PM
It could be painful tbh
January 12, 2026 at 10:44 PM
Reposted by Kuba Suder πŸ‡΅πŸ‡±πŸ‡ΊπŸ‡¦
New: page width β€” set maximum page width in Leaflet!

Great for published blog layouts *and* even just for docs & drafts, e.g. to have multi-column view when editing subpages!

Set max width in your theme, from 320–1200px, with a couple presets *or* exact value e.g. to match an existing site ✨
January 12, 2026 at 10:32 PM
January 12, 2026 at 10:37 PM
"Yes, maybe you think that you worked so hard to learn coding (…). But what was the fire inside you, when you coded till night to see your project working? It was building. And now you can build more and better, if you find your way to use AI effectively. The fun is still there, untouched." 🩡
New blog post: Don't fall into the anti-AI hype.

antirez.com/news/158
January 12, 2026 at 10:26 PM