Skip to main content
The Bike Shed

454: Workshop design with Aji Slater

37 min episode · 2 min read
·

Episode

37 min

Read time

2 min

Topics

Health & Wellness, Relationships, Design & UX

AI-Generated Summary

Key Takeaways

  • Relational Access Control: Uses directed graph data structures where entities connect through relationships, enabling fine-grained permissions for individual items rather than broad role-based rules. Originated from Google's Zanzibar paper for managing complex cross-app permissions in social networks.
  • Workshop Pacing Reality: Workshops cover approximately one-third the content of equivalent talks due to participant typing speed, environment issues, and hands-on time. Plan save points via Git commits every 10-15 minutes so attendees can catch up without derailing the group.
  • Incremental Learning Structure: Design workshops with small feature-based loops where participants learn one concept, implement it to solve a practical problem, commit working code, then move forward. This creates dopamine wins while building knowledge progressively rather than teaching theory upfront.
  • Workshop Catch-Up Mechanics: Provide repository checkpoints at each exercise completion, enable offline text-file alternatives to avoid WiFi dependency, and assign teaching assistants for individualized help. This prevents single participants from blocking entire group progress when encountering local environment problems.

What It Covers

Aji Slater explains relational-based access control systems derived from Google's Zanzibar paper, contrasting them with role-based systems, then discusses workshop design principles including pacing strategies, hands-on learning approaches, and catch-up mechanics for participants.

Key Questions Answered

  • Relational Access Control: Uses directed graph data structures where entities connect through relationships, enabling fine-grained permissions for individual items rather than broad role-based rules. Originated from Google's Zanzibar paper for managing complex cross-app permissions in social networks.
  • Workshop Pacing Reality: Workshops cover approximately one-third the content of equivalent talks due to participant typing speed, environment issues, and hands-on time. Plan save points via Git commits every 10-15 minutes so attendees can catch up without derailing the group.
  • Incremental Learning Structure: Design workshops with small feature-based loops where participants learn one concept, implement it to solve a practical problem, commit working code, then move forward. This creates dopamine wins while building knowledge progressively rather than teaching theory upfront.
  • Workshop Catch-Up Mechanics: Provide repository checkpoints at each exercise completion, enable offline text-file alternatives to avoid WiFi dependency, and assign teaching assistants for individualized help. This prevents single participants from blocking entire group progress when encountering local environment problems.

Notable Moment

Chris Toomey's Git workshop fundamentally changed how Aji conceptualizes version control by teaching the underlying data model from the bottom up, demonstrating how pedagogical approach—whether top-down or bottom-up—dramatically impacts long-term understanding and daily workflow habits.

Know someone who'd find this useful?

Episode Transcript

Hello, and welcome to another episode of the Bike Shed, a weekly podcast from your friends at Thoughtbot about developing great software. I'm Joel Kenville. And today, I'm joined by fellow Thoughtbotter, Adi Slater. Howdy. And together, we're here to share a little bit of what we've learned along the way. So, Aji, what's new in your world? In my world, I've been getting to play with a concept that was new to me upon joining the client project that I'm with right now. That's one of the things that I really love about consulting is that not only do you get introduced to different businesses and different teams, but you might also get assigned to a project with a new kind of, like, tech or concept that you haven't been introduced to. And this one in particular is to revamp our clients' access control system. They've gotten a little bit bigger. They've gotten more sophisticated in their needs. Their hand rolled system that they started out with is not working out for them anymore. And so they're moving on to a relational based access control system. And that's actually something that I had, not really encountered. I've set up role based access control plenty of times, but the relationship idea was new to me. You familiar with that? No. Explain to me what, relational access control is and how that differs from more conventional role based access. Yeah. So the relational access control, the underlying data structure is a directed graph. So you'll have different entities, resources, and subjects in this particular case that have a relationship to one another. So the entities are the nodes in the graph and the relationship being the edge. This way, you can connect between two points in that graph. Say it's a user and, like, a post or something that a user might own. If there is any kind of connection along that graph between those two points, then that is a allowed permission. And so it's kind of an easy way to conceptualize what can get pretty complicated if you're going to have different access control needs on particular individual items in a system. So in this case, basically, my user record just gets a connection to every entity in the system that I have access to. Yeah. There's a couple of different ways to handle it. Because it's a directed graph, you can have a relationship to something like a group or an organization or even a role. You can build role based access control on top of these systems so that if you have a connection to a role or an organization and then from the other direction, entities have a connection to that organization saying anyone that is related to you can also edit or whatever with me, then you have both fine grain control of the user directly connected to a particular instance, or you can have that kind of group control of, a more broad allowances. …

Get the full transcript (6,410 words) + summary by email — free

One-time email with the complete transcript and AI summary of this episode. No account needed.

One email, no spam. We’ll also show you what SignalCast does.

Browse all The Bike Shed transcripts →

You just read a 3-minute summary of a 34-minute episode.

Get The Bike Shed summarized like this every Monday — plus up to 2 more podcasts, free.

Pick Your Podcasts — Free

Keep Reading

Books, tools, and gear mentioned in this episode

SignalCast may earn commission on purchases via these links.

other

  • by Google

    Relational-based access control systems derived from Google's Zanzibar paper, contrasting them with role-based systems. Originated from Google's Zanzibar paper for managing complex cross-app permissions in social networks.

More from The Bike Shed

We summarize every new episode. Want them in your inbox?

Similar Episodes

Related episodes from other podcasts

Explore Related Topics

This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.

Read this week's Health & Longevity Podcast Insights — cross-podcast analysis updated weekly.

You're clearly into The Bike Shed.

Every Monday, we deliver AI summaries of the latest episodes from The Bike Shed and 192+ other podcasts. Free for one show.

Start My Monday Digest

No credit card · Unsubscribe anytime