Adding Support for BlueSky to IndieLogin.com
Today I just launched support for BlueSky as a new authentication option in IndieLogin.com! ⌘ Read more
Client ID Metadata Document Adopted by the OAuth Working Group
The IETF OAuth Working Group has adopted the Client ID Metadata Document specification! ⌘ Read more
Meetable Release Notes - October 2025
I just released some updates for Meetable, my open source event listing website. ⌘ Read more
San Francisco Billboards - August 2025
Every time I take a Lyft from the San Francisco airport to downtown going up 101, I notice the billboards. The billboards on 101 are always such a good snapshot in time of the current peak of the Silicon Valley hype cycle. I’ve decided to capture photos of the billboards every time I am there, to see how this changes over time. ⌘ Read more
Enterprise-Ready MCP
I’ve seen a lot of complaints about how MCP isn’t ready for the enterprise. ⌘ Read more
Let’s fix OAuth in MCP
Let’s not overthink auth in MCP. ⌘ Read more
My IETF 121 Agenda
Here’s where you can find me at IETF 120 in Vancouver! ⌘ Read more
Thoguhts on the Resiliency of Web Projects
I just did a massive spring cleaning of one of my servers, trying to clean up what has become quite the mess of clutter. For every website on the server, I either: ⌘ Read more
OAuth Oh Yeah!
#oauth-oh-yeah-lrc .highlight { ⌘ Read more
My IETF 120 Agenda
The sessions I will be attending and presenting at during IETF 120 in Vancouver ⌘ Read more
FedCM for IndieAuth
IndieWebCamp Düsseldorf took place this weekend, and I was inspired to work on a quick hack for demo day to show off a new feature I’ve been working on for IndieAuth. ⌘ Read more
OAuth for Browser-Based Apps Working Group Last Call!
The draft specification OAuth for Browser-Based Applications has just entered Working Group Last Call! ⌘ Read more
OAuth: “grant” vs “flow” vs “grant type”
Is it called an OAuth “grant” or a “flow”? What about “grant type”? ⌘ Read more
Riding the High-Speed Brightline Train from Miami to Orlando
It was 11am at the Fort Lauderdale airport, an hour after my non-stop flight to Portland was supposed to have boarded. As I had been watching our estimated departure get pushed back in 15 minute increments, I finally received the dreaded news over the loudspeaker - the flight was cancelled entirely. As hordes of people started lining up to rebook their flights with the gate agent, I found a quiet spot in the corner and opened up my … ⌘ Read more
OAuth for Browser-Based Apps Draft 15
After a lot of discussion on the mailing list over the last few months, and after some excellent discussions at the OAuth Security Workshop, we’ve been working on revising the draft to provide clearer guidance and clearer discussion of the threats and consequences of the various architectural patterns in the draft. ⌘ Read more
OAuth Support in Bluesky and AT Protocol
Bluesky, a new social media platform and AT Protocol, is unsurprisingly running up against the same challenges and limitations that Flickr, Twitter and many other social media platforms faced in the 2000s: passwords! ⌘ Read more
How to use your own domain as your BlueSky handle
I recently got access to the BlueSky beta, and decided to poke around to see what it’s all about. I will save the details of what it is and how I feel about it for a different post. However, one of the first things you do when you sign up is choose a username that exists under the bsky.app domain. I have zero interest in another name rush where everyone tries to claim the shortest username possible, so I went with aaronpk.bsky.app rather than trying to get a … ⌘ Read more
How to create a keyboard shortcut to export the current slide in Keynote
Lately I’ve been using Apple Keynote to create graphics for using in videos and blog posts. It’s a quick way to arrange things on a page, copying and pasting most things just works, and there are enough built in shapes and tools to get the point across. However, after spending a full day creating graphics for a video, I found myself frustrated by the number of clicks required to export a single slide at a time. ⌘ Read more
The Laws of OAuth
The first law of OAuth states that the total number of authorized access tokens must remain constant in an isolated system. ⌘ Read more
How to Build a Restreaming Server with a Raspberry Pi
First of all, what is a restreaming server? Sometimes you want to livestream video from a device like an ATEM Mini or OBS to multiple destinations. Many devices and software like this will let you push video to just one RTMP destination at a time. ⌘ Read more
New Draft of OAuth for Browser-Based Apps (Draft -11)
With the help of a few kind folks, we’ve made some updates to the OAuth 2.0 for Browser-Based Apps draft as discussed during the last IETF meeting in Philadelphia. ⌘ Read more
Stream a USB webcam to HDMI on a Raspberry Pi
This post exists to collect my notes on displaying a USB webcam on the Raspberry Pi HDMI outputs. This is not the same as streaming the webcam (easy), and this is not for use with the Raspberry Pi camera module. This is specifically for USB UVC webcams. ⌘ Read more
How to Green Screen on the YoloBox Pro
This step-by-step guide will show you how to use the chroma key feature on the YoloBox Pro to green screen yourself onto picture backgrounds and videos, or even add external graphics from a computer. ⌘ Read more
How to convert USB webcams to HDMI
There are a handful of interesting USB webcams out there, which naturally work great with a computer. But what if you want to combine video from a USB webcam with your HDMI cameras in a video switcher like the ATEM Mini? ⌘ Read more
How to export your complete Foursquare checkin history ⌘ Read more…
How to Sign Users In with IndieAuth ⌘ Read more…
The Perfect Remote Control ATEM Mini Interview Kit ⌘ Read more…
3D Printed Modular Cage for Blackmagic Bidirectional SDI/HDMI Converters ⌘ Read more…
Learn OAuth over the winter break! ⌘ https://aaronparecki.com/2020/12/22/14/oauth
IndieAuth Spec Updates 2020 ⌘ https://aaronparecki.com/2020/12/03/1/indieauth-2020
GNAP Editors’ Use of GitHub Issues ⌘ https://aaronparecki.com/2020/11/25/4/gnap-github-issues
How to make an RTMP Streaming Server and Player with a Raspberry Pi ⌘ https://aaronparecki.com/2020/09/07/7/raspberry-pi-streaming-server
Redesigning my Blog Post Pages ⌘ https://aaronparecki.com/2020/06/28/7/blog-posts
How to Leave Facebook ⌘ https://aaronparecki.com/2020/06/14/14/how-to-leave-facebook
The Real Cause of the Sign In with Apple Zero-Day ⌘ https://aaronparecki.com/2020/05/31/30/the-real-cause-of-the-sign-in-with-apple-zero-day
Meetable: Updates for Virtual Events ⌘ https://aaronparecki.com/2020/05/10/28/meetable
Digital Spring Cleaning ⌘ https://aaronparecki.com/2020/04/01/8/digital-spring-cleaning
Tips and Tools for Improving your Remote Meetings and Presentations on a Budget ⌘ https://aaronparecki.com/2020/03/24/4/tips-and-tools-for-remote-meetings-and-presentations
First Draft of OAuth 2.1 ⌘ https://aaronparecki.com/2020/03/11/14/oauth-2-1
Implicit flow in the Security BCP draft -14 ⌘ https://aaronparecki.com/2020/02/12/49/implicit
Making Meetable Easier to Install ⌘ https://aaronparecki.com/2020/01/18/7/meetable-updates
Meetable: An Open Source Events Aggregator ⌘ https://aaronparecki.com/2020/01/14/13/meetable