460: Programer Productivity with Valerie Burzynski


Summary

Joel Kinville welcomes Valerie Burzynski to discuss a recent debugging challenge involving Sidekiq middleware and batches. Valerie explains the complexity of client-side and server-side middleware interactions in Sidekiq Pro, where certain callbacks and death handlers were not firing correctly under specific conditions. She shares her methodical approach to solving such problems: reproducing the issue, walking through the code like a “human compiler,” and writing tests to verify the fix.

The conversation then shifts to Valerie’s passion for note-taking and personal knowledge management (PKM). She describes her system, which includes separate Obsidian vaults for knowledge management, a diary, and a bullet journal for rapid logging and task management. Valerie explains concepts like “second brain,” Zettelkasten, and digital gardens, emphasizing the importance of bidirectional linking and creating maps of content to navigate and connect ideas.

Valerie and Joel discuss the purpose of note-taking systems, cautioning against the “collector’s fallacy” and over-optimization of structure. They agree that the primary goal should guide the system’s design—whether for learning, reference, or creative output. Valerie recommends starting simply, perhaps with a single folder, and letting the structure evolve organically rather than getting bogged down in complex categorization or plugin configuration.

Finally, they offer advice for beginners: start capturing notes without overthinking the organization, define a clear purpose for your system, and avoid spending excessive time tweaking tools instead of producing meaningful content. Both hosts reflect on how note-taking has positively impacted their professional lives, enabling better learning, problem-solving, and creativity.


Recommendations

Concepts

  • Zettelkasten — A note-taking method using atomic ideas on slips (or digital notes) with unique identifiers and linking, popularized by sociologist Niklas Luhmann. Valerie describes it as a way to connect thoughts and discover relationships between concepts.
  • Second Brain — A concept from Tiago Forte’s book about using notes as an external repository for personal knowledge, offloading memory and enhancing learning. Valerie references it as part of her PKM approach.
  • Maps of Content (MOCs) — Personalized indexes or entry points that collect and link notes on a specific topic, serving as navigation aids and summaries. Valerie uses them to rise above file system constraints and see meta-level connections.

People

  • Niklas Luhmann — A sociologist who popularized the Zettelkasten (slip-box) note-taking system, using it to produce prolific academic work. Valerie mentions him as an inspiration for linked note-taking.
  • Tiago Forte — Author of “Building a Second Brain,” a book on personal knowledge management. Valerie references his work in the context of organizing notes for productivity and learning.

Tools

  • Obsidian — A note-taking application that supports bidirectional linking, graph views, and personal knowledge management. Valerie uses it for her main knowledge vault and diary, highlighting its utility for connecting ideas and visualizing note relationships.
  • Sidekiq — A background job processing framework for Ruby. The episode delves into its client-side and server-side middleware, batches (in Sidekiq Pro), and the complexities of debugging callback interactions in concurrent environments.

Topic Timeline

  • 00:01:08Introduction and Sidekiq middleware debugging challenge — Joel introduces the episode and guest Valerie Burzynski. Valerie describes a recent client project involving a complex Sidekiq middleware issue where callbacks and death handlers were not firing correctly due to interactions between client/server middleware and Sidekiq batches. She outlines her methodical debugging approach: reproducing the issue, walking through the code, and writing tests.
  • 00:07:16Note-taking as a tool for debugging and learning — Valerie explains how note-taking, inspired by concepts like “document your confusion,” helps her debug complex issues. She takes notes while spelunking through code to capture observations and create a trail of her thought process. This practice, part of her broader personal knowledge management system, aids in understanding and recalling solutions.
  • 00:09:02Overview of personal knowledge management concepts — Valerie defines key PKM terms: “second brain” (a repository for offloading memory), “Zettelkasten” (a slip-box system for atomic ideas with linking, popularized by Niklas Luhmann), and “digital gardens” (interlinked, web-like personal note systems). She emphasizes bidirectional linking and visual graph views in tools like Obsidian to discover connections between ideas.
  • 00:12:29Maps of content and organizing notes — Valerie describes using “maps of content” (MOCs) as personalized indexes or entry points for notes on a specific topic. These MOCs, which can be outlines or lists, help navigate and summarize related notes, rising above file system constraints. She contrasts flat folder structures with more hierarchical systems like Johnny Decimal, advocating for flexibility.
  • 00:17:12Purpose and heuristics for note-taking — Valerie details her three-note system: an Obsidian vault for knowledge (filtered through an inbox), a bullet journal for rapid task logging, and a separate Obsidian diary for personal brain dumps. She and Joel discuss avoiding the “collector’s fallacy” by having a clear purpose—whether for learning, reference, or creative output—and tailoring the system accordingly.
  • 00:30:35Recommendations for note-taking beginners — Valerie advises beginners to just start capturing notes without overthinking organization. She suggests a simple folder structure (e.g., inbox, notes, outbox) and emphasizes defining a purpose for the system. Both hosts warn against getting lost in tool configuration or structural perfectionism, encouraging focus on producing meaningful notes and outputs.

Episode Info

  • Podcast: The Bike Shed
  • Author: thoughtbot
  • Category: Technology News Tech News
  • Published: 2025-04-22T07:00:00Z
  • Duration: 00:36:10

References


Podcast Info


Transcript

[00:00:00] Imagine the last time you had to deal with request timeouts, or backed up job queues in your job environment.

[00:00:07] Take yourself there. Can you feel it? The stress? The frustration?

[00:00:12] Here’s what JudoScales knows. You’re either not autoscaling, or your autoscaler is not doing its job.

[00:00:19] Because autoscaling is supposed to prevent scenarios like this.

[00:00:23] In comes JudoScale.

[00:00:25] Well, JudoScale helps your app smoothly handle traffic spikes, while dramatically lowering your hosting costs.

[00:00:31] You can use JudoScale’s free plan forever, so you’ve got nothing to lose.

[00:00:36] If you want to say goodbye to those painful production incidents, visit judoscale.com slash bikeshed.

[00:00:42] For your special gift as a Bikeshed listener. That’s judoscale.com slash bikeshed.

[00:00:55] Hello, and welcome to another episode of The Bikeshed, a weekly podcast from your friends at ThoughtBot about developing great software.

[00:01:08] I’m Joel Kinville, and today I’m joined by fellow ThoughtBotter, Valerie Brzezinski.

[00:01:14] Hi, good to be on the show.

[00:01:16] And together we’re here to share a bit of what we’ve learned along the way.

[00:01:19] So Valerie, what’s new in your world?

[00:01:21] A client project I’m working on.

[00:01:23] I’ve been digging into how…

[00:01:25] I’m working on Sidekick, so there’s a lot of concurrency and asynchronicity involved in custom internal gem that I’m working on.

[00:01:33] But they’re triggering certain lifecycle events in the Sidekick client middleware and the server side and client side middleware.

[00:01:42] Where the client side runs when you’re queuing up a job, you’re pushing it onto the queue.

[00:01:48] So that’s when the client middleware and you can affect how the job gets queued or tell it not to queue at that point.

[00:01:54] And then the server middleware, that’s when it’s actually being picked off the job, potentially being executed, like the job’s being executed at that point.

[00:02:02] So you can run additional middleware at that point.

[00:02:05] So they have some odd interactions between what they’re doing with this middleware and the Sidekick batches, which is part of Sidekick Pro, I think it is.

[00:02:15] Otherwise it’s Enterprise, but I think it’s Sidekick Pro.

[00:02:17] They’re using both.

[00:02:18] But under certain circumstances, some of the callbacks and death handlers for…

[00:02:24] Or Sidekick won’t fire.

[00:02:26] Or under certain circumstances, they were firing, other ones weren’t firing.

[00:02:31] And yeah, it was fun digging into the whole middleware and the whole method chain of their processing of jobs to see like,

[00:02:39] okay, how are all these two different pieces interacting in odd ways and the concurrency and how do I actually fix it?

[00:02:48] So that’s one thing that’s new in my world.

[00:02:51] That’s really interesting.

[00:02:52] So there’s middleware sort of on the enqueuing side.

[00:02:54] But then…

[00:02:54] And also middleware on the dequeuing side.

[00:02:57] Correct.

[00:02:57] Yeah.

[00:02:58] So you can kind of like…

[00:03:00] There’s a method chaining happening on the enqueuing side so that if you want to reroute or change certain aspects of a job or do anything on the…

[00:03:10] It’s a hook to be able to do something when you’re enqueuing Sidekick jobs onto…

[00:03:15] You’re sending it to the Sidekick client.

[00:03:17] And before it gets sent to one of the queues, you can run something in the middleware on the client side.

[00:03:24] And then on the opposite end of things, when it’s getting picked off of a queue, before the job’s executed, there’s server-side middleware.

[00:03:32] And you can do additional things there.

[00:03:35] I don’t think I’ve ever had to deal with Sidekick middleware.

[00:03:38] And it’s interesting to realize that there’s actually two different types.

[00:03:41] Is that something that you had encountered before?

[00:03:43] Most of my encounters with Sidekick have been all just job-based.

[00:03:47] So like implementing the jobs, making sure it runs, and how job executions interact.

[00:03:53] Interact between each other.

[00:03:55] But actually digging into some of the implementation side of internals to Sidekick and enhancing some of the functionality there has been really interesting.

[00:04:04] I’ve encountered batches before, but I’ve never had to drop to the middleware level.

[00:04:07] Yeah.

[00:04:08] It’s part of the Sidekick Pro.

[00:04:10] A parent job can trigger a whole bunch of child jobs and enqueue those.

[00:04:17] And the middleware, the way that they implement the Sidekick batches, it gets run through middleware.

[00:04:22] If a job…

[00:04:23] Dies, it gets the Sidekick death handlers get called and queue up some functionality there so that you can be notified whether or not it’s succeeded, if it’s failed, when the entire batch is completed, and run additional logic and business logic when those events occur.

[00:04:41] How do you like to approach situations like that where you’re sort of assigned maybe a bug that you have to fix and it’s in a whole new sort of system that you’re not familiar with that can feel like a very daunting task?

[00:04:53] I guess a couple of approaches that I often take.

[00:04:56] Well, one, trying to replicate it in either local development, staging server, development server, if I have to, production.

[00:05:05] But trying to find a way to like, how do I get this actually to trigger and reproduce the behavior that they’re seeing and see how I understand it from that perspective?

[00:05:14] Another way, actually digging through and just pretty much becoming a human code compiler and walking through the code and how it’s going to progress.

[00:05:23] Through the whole call stack and see, okay, what is it doing at these points?

[00:05:29] And kind of just understanding the general environment and context of what’s happening so that I can confirm whether or not I truly understand what’s happening.

[00:05:39] Like with this, I’ve been digging through the middleware on the Sidekick client side in their actual code base and the open source code and seeing how their Sidekick processor works, how their Sidekick retry job works.

[00:05:52] And how all these…

[00:05:53] How all these things interact with queuing and dequeuing of jobs.

[00:05:58] So it’s just kind of taking notes and actually getting a understanding of like, okay, what is actually happening here so that I have a good mental model of what’s working, how it works.

[00:06:09] And then I guess the final way, trying to write a test that replicates the failure so that I can work from it from that aspect and try to fix the behavior.

[00:06:18] Or writing a test that of what I expect to happen in the working environment.

[00:06:23] And things so that then I can get it to actually do the correct behavior.

[00:06:29] I love all those.

[00:06:30] I appreciate that you’re so methodical with your approach to problem solving.

[00:06:35] I feel like that’s more than we see oftentimes with a lot of developers.

[00:06:40] We tend to, I don’t know, try random things or click around or dig into things.

[00:06:45] But it sounds like you’ve got a very sort of step-by-step process.

[00:06:47] And I really appreciate that.

[00:06:50] Yeah.

[00:06:51] Sometimes I do the clicking around too.

[00:06:53] But…

[00:06:53] But yeah, when I’m really getting stuck or it’s really complicated, then I, yeah, definitely turn to the more methodical approach and make sure that I’m getting a full understanding.

[00:07:01] Especially when it’s a tricky production issue where it’s happening intermittently.

[00:07:06] And it’s like, okay, there’s something that…

[00:07:08] We’ve missed this a couple times.

[00:07:10] Let’s be a little bit more methodical and capture what’s actually happening underneath the code.

[00:07:16] You mentioned that you sometimes like to take notes to help you along there.

[00:07:21] And I know that you’re a big…

[00:07:23] You’re a big fan of note-taking in general.

[00:07:26] Have you always leaned on note-taking as a tool for debugging?

[00:07:32] I…

[00:07:33] No.

[00:07:34] That’s more of a recent development.

[00:07:36] I’ve been getting into Obsidian, Second Brains, Zettelkasten, Digital Gardens, the whole ecosystem, personal knowledge management.

[00:07:44] That’s been something that I’ve been getting into and starting to do since maybe 2022, something around there.

[00:07:52] And so starting to find different ways of working on notes when I’m learning something.

[00:07:59] Like the Today I Learned kind of events that you often write blog posts about, like making sure I’m capturing those while I’m working and then just taking…

[00:08:07] Logging what I’m doing while I’m developing.

[00:08:10] And there’s one article, I forget the title of it, but it presented the concept of document your confusion.

[00:08:16] And I really liked that.

[00:08:18] Because when you’re reading a readme for the first time or going through…

[00:08:22] Setup guide and it’s not working, documenting that confusion and figuring out like, okay, where am I getting stuck?

[00:08:29] Because somebody else is probably going to get stuck here as well.

[00:08:32] And having that log, that trail of what you’ve tried can help you later remember like, how did I actually fix this?

[00:08:40] So I’ve also applied that to digging.

[00:08:42] Like when I’m spelunking through code and digging through things, like kind of just taking notes on the side of little observance.

[00:08:50] Things I observe or…

[00:08:53] Notice about the code that’ll be relevant.

[00:08:56] So you mentioned a bunch of terms earlier when you’re talking about notes.

[00:09:02] The idea of second brain, Zettelkasten, personal knowledge management.

[00:09:07] Can you maybe briefly summarize what these ideas are about for those in our audience who’ve not heard of those before?

[00:09:13] Sure.

[00:09:15] Second brain.

[00:09:16] I forget who wrote the book.

[00:09:18] I’ve not read the book yet.

[00:09:19] But there’s how to create or how to write…

[00:09:22] Second brain.

[00:09:24] That’s kind of using notes as a repository of your own personal knowledge and offloading some of that memory so that you can reference things and learn things in a lot of new ways.

[00:09:38] Zettel Gardens are kind of…

[00:09:39] I’d say they’re a little bit more web-based and like kind of the…

[00:09:43] What always comes to mind is Mark Bernstein.

[00:09:45] I think I’m pronouncing that correctly.

[00:09:47] But he has Hypertext Gardens.

[00:09:49] It’s an old website where he’s just…

[00:09:52] Exploring how hypertext and hyperlinks interact when going through a website.

[00:09:59] And it can be more personable and something that’s strictly organized and more corporate and business-like.

[00:10:07] So it gives you a different experience.

[00:10:08] That’s kind of been applied to personal knowledge management to create a digital garden of your notes to where you’re interlinking your notes and creating hyperlinks to connect ideas.

[00:10:22] And make associations between different concepts.

[00:10:25] Zettelkasten, that’s literally like a slip box.

[00:10:30] Nicholas Luhmann was a prolific user of this.

[00:10:33] And that one originally started on note cards and you’d create a identifier in the corner, write down your atomic idea onto the note, and then just keep on connecting those to different notes.

[00:10:46] And he used this to write…

[00:10:48] I don’t even know.

[00:10:49] I forget how many books.

[00:10:51] But he popularized it.

[00:10:52] Yeah.

[00:10:52] He popularized the idea of a Zettelkasten.

[00:10:54] So it sounds like all of these are sort of similar but slightly different approaches to organizing notes and thoughts.

[00:11:03] Yeah.

[00:11:04] You mentioned some of them do sort of hyperlinking between notes.

[00:11:08] Is that common across all of them?

[00:11:09] The idea of linking between ideas?

[00:11:13] Yeah.

[00:11:14] Bidirectional linking and just connecting your thoughts together so that you can kind of keep track of how your ideas link together.

[00:11:21] And then also…

[00:11:22] And then also discover…

[00:11:23] With Obsidian, you can graph out your notes in a visual graph form and just see how either the links interconnect or you can create tags on your notes and see how those tags interlink and form clusters or concepts that you might not have realized are interrelated and connected previously.

[00:11:44] I know.

[00:11:45] So I keep a set of notes in Obsidian and I do interlink them.

[00:11:51] And I’ve used that graph view.

[00:11:52] And I’ve used that graph view to help me find clusters where I might want to write a blog post or maybe give a conference talk.

[00:12:01] You know, it’s CFP season and I’m sort of like, oh, what do I have to talk about?

[00:12:06] Sometimes I’m good and I just keep a running document of potential topic ideas throughout the year.

[00:12:11] But something that I’ll do sometimes is just open up Obsidian, go to the graph view, look at clusters and say, are there any interesting clusters in here that I haven’t talked about?

[00:12:21] Right.

[00:12:21] And that can be a great place to start for me.

[00:12:24] Are there ways that you like to sort of get insights out of your notes?

[00:12:29] One thing that I often do is create maps of content.

[00:12:33] And it’s an idea that I’ve seen introduced from two different aspects.

[00:12:39] One, I believe Tiago Forti, I think it was, introduced it to the world of personal knowledge management.

[00:12:45] But there’s also an old document from Lyon Kimbrough that talks about it in more of a…

[00:12:51] Analog written format and creating maps of content in that.

[00:12:54] And I think that predates the PKM, personal knowledge management usage of it.

[00:13:01] But it’s kind of creating a map, an index, more personalized index of all the notes surrounding a concept or an object or some area that you want to collect information and notes about.

[00:13:17] And so if you create these, then you can start seeing…

[00:13:20] Have…

[00:13:21] Entry points into your notes that are on a certain topic.

[00:13:26] And then you can see what…

[00:13:27] Map out and see how they’re actually interacted.

[00:13:30] So this can be in like an outline form or just a pure list form as well, or all sorts of different ways of organizing the actual page.

[00:13:38] But one way they often do is like…

[00:13:42] I’ve one on patterns that I’m thinking of.

[00:13:44] So just on the idea concept of patterns.

[00:13:47] And so I have all of my other indexes listed of like, okay, here’s the…

[00:13:51] Here’s patterns that I’ve seen in programming.

[00:13:54] So like architectural patterns or design patterns and principles and heuristics of like things that you can use in programming.

[00:14:02] But then they also have ones over in art of like different art styles and different patterns that you see between those or note taking the different patterns and models that you see in note taking.

[00:14:14] So it’s kind of like that one’s more abstracted and they don’t always have to be abstract like that, but they can kind of serve as navigation.

[00:14:21] And then also just collecting ideas on a certain topic.

[00:14:25] So it sort of allows you to see a summary of like maybe where you’re thinking of on a sort of broader, almost like meta level.

[00:14:31] Yeah, exactly.

[00:14:32] What am I thinking about patterns in general, instead of looking up every note you have on particular design patterns, you might have a high level paragraph on patterns and then a link to 20 different notes you’ve written on specific patterns or something like that.

[00:14:47] Yeah, exactly.

[00:14:48] It’s a great, great tool to have.

[00:14:51] I imagine it’s probably helpful in sort of browsing and navigation as well.

[00:14:55] If you’re not just wanting to search pattern in your code, or not your code, but your note system and find every note on patterns, it might be useful to start sort of actually navigating through links by going to the meta pattern note and then working down from there.

[00:15:11] Definitely.

[00:15:12] The maps can also be in a different format than the way that you actually organize the physical files in within your note system as well.

[00:15:19] So they can reach across.

[00:15:21] Any sort of file system that you may or may not set up.

[00:15:24] Like some people organize your notes into just one flat file folder of here’s all my notes.

[00:15:31] And then there’s indexes and maps and everything that connection notes.

[00:15:34] And that’s, that’s the organizational structure.

[00:15:37] And then other people go into like really deep, like Johnny decimal system kind of things where Johnny decimals kind of cataloging classification system where you can create 10 categories and then number them one through 10.

[00:15:51] And, or maybe it’s zero through nine, depending on how you want to start your number counting one of those two, but there’s 10 categories.

[00:15:59] And then each of those major categories, you can then break down and subdivide into subcategories.

[00:16:05] So you might have like work and then you have different areas of work, or you might have your programming could be one of the top level categories.

[00:16:13] And then you break it down into here’s my notes on JavaScript or Ruby or web development versus other software.

[00:16:21] Yeah.

[00:16:21] And then you break it down into here’s my notes on JavaScript or Ruby or web development versus other software.

[00:16:23] So that’s more structured and very folder based.

[00:16:26] So regardless of how you actually organize those files, whether it’s flat or more structured nested folders, indexes can serve as an alternate navigation point and alternate structure to rise above those constraints of the file system.

[00:16:42] Yeah.

[00:16:42] And those would be necessary depending on how you like to access or organize your, your data.

[00:16:48] And I think that probably becomes more important as your.

[00:16:51] Number of notes in your note taking system grows.

[00:16:56] I’m curious how you decide what goes in your notes taking system and what doesn’t, because I know a common pitfall for note takers is what’s known as the collector’s fallacy of just sort of wanting to just put data into your system.

[00:17:12] And at some point we’re not out there trying to replicate Wikipedia.

[00:17:15] It already exists.

[00:17:17] It’s out there.

[00:17:17] So what are you, what is your heuristic for what?

[00:17:21] You decide is worth putting into your note taking system versus what doesn’t need to go in.

[00:17:26] I actually have about three different vaults of notes, vaults or collection of notes.

[00:17:32] One is my obsidian notes where I take most of my like personal knowledge management kind of things where I’m learning about programming, or I have a cookbook kind of like vaults there where I have my recipes and how they interconnect with ingredients and notes on ingredients or techniques.

[00:17:51] So I take source notes and then those, those often get either converted into fleeting notes of some sort in like an, I have an inbox where any concepts of them digging into, I collect notes there.

[00:18:07] And that’s just kind of like a ephemeral fleeting kind of temporary notes where I’m just collecting ideas and that I’ll either discard that later or I’ll disseminate that or clean it up to actually go into my actual vaults of knowledge management.

[00:18:21] I keep a lot of my like temporal calendar type of things more in a bullet journal, which for that more of rapid logging and is interstitial journaling on that end where throughout the day, like when I’m context switching between one task to another, I’ll write about like, okay, this is what I’ve been doing so far since the last time I did a log in my bullet journal and kind of like a brain dump of like, okay, these are things that I’m going to do.

[00:18:51] These are things I need to work on throughout the day so that I have write them out and then kind of like set an intention for what I’m working on next.

[00:18:59] And so it’s just kind of like a very raw, here’s my thoughts, here’s my task, here’s what I’m working on.

[00:19:05] It’s just really digging into the rapid logging aspect of bullet journals of just, this is raw.

[00:19:12] It’s only going to make sense in the context of like that day or the period of like a week or so.

[00:19:18] But after that, it’s like, they’ll start to lose.

[00:19:21] Meaning, and if I do happen to capture anything in those, if like, I need to write this in the actual notes in my obsidian notes, I’ll capture those later.

[00:19:32] But that’s just basically I’ll throw away just in the moment, scratch notes of like what I need to be doing and kind of like task management.

[00:19:40] Then I have a secondary obsidian vault where that’s pretty much like my diary.

[00:19:45] So brain dumping, if I want to emotionally write about something or something.

[00:19:51] It’s happening throughout my day.

[00:19:52] It’s very personalized writing of just not necessarily having to do with anything.

[00:19:57] It’s just raw brain dump of here’s what I’m thinking about and just playing out with ideas and stuff like that.

[00:20:02] So that’s kind of like my obsidian diary of sorts.

[00:20:06] So those are pretty much like three places where I might write notes.

[00:20:10] And each one has a slightly different distinct usage.

[00:20:13] So one for knowledge, one for personal things, and one’s for just a log of what I’m doing throughout the day.

[00:20:20] It sounds like the one for knowledge.

[00:20:21] Sort of gets filtered through a few different steps.

[00:20:24] So you’re not just anytime you come across a fact, writing it down into this knowledge system.

[00:20:29] Yeah.

[00:20:30] But instead, it’s sort of like goes through this sort of filtering of, OK, well, I’ve got a bunch of random bits and pieces of things I’ve encountered during the day.

[00:20:38] And then I’ll sort of maybe either put it together into something more compact or maybe find the ones that are most interesting and turn those into some more cohesive note.

[00:20:48] And so you end up with a more.

[00:20:51] Kind of curated set in your sort of permanent notes.

[00:20:55] Does that sound about right?

[00:20:56] Yeah.

[00:20:57] Like a pipeline system of like, how do I actually take notes from like inputs coming into my system?

[00:21:03] What are the activities and work and processes that I use to work with these notes and then create the permanent or like settles of like more permanent notes that have more long lasting value.

[00:21:18] And then eventually another process is.

[00:21:21] Like having output, having a purpose for your notes and creating something with the notes, whether that be a blog post or just throughout my day.

[00:21:30] Like I’m constantly referencing back to things that I’ve learned or taken notes about before, just throughout the course of my work day of like, oh, I’ve worked on this before.

[00:21:38] What did I write about it?

[00:21:39] Or I’ve worked on this before.

[00:21:42] Like, especially if there’s a code snippet or something like that, where I’m like, if I figure something out, I’ll usually capture notes so that I can reference it again.

[00:21:49] Like, especially if it’s.

[00:21:51] An interesting problem that I’ve dealt with or dove into previously.

[00:21:56] Yeah.

[00:21:56] So there’s multiple different levels of working with those kind of like in systems theory, there’s the concept of flows and stocks and flows.

[00:22:06] So flows being like the feedback loops, the systems and processes in it.

[00:22:10] And then the stocks being in this case, like your information stocks, those permanent or more permanent places where information collects or gets stacked and then gets.

[00:22:21] Processed so like the inbox is less of a permanent store, but more of like a, a stack where things are constantly inputting into it.

[00:22:30] You’re processing it either figuring out, okay, I can discard this.

[00:22:33] It’s not important, or I need to disseminate this into multiple notes or I need to polish this up.

[00:22:39] And so different processes and feedback, they’re revisiting notes that way and permanent notes more of like taking it from all those inputs and putting them into more.

[00:22:50] Structured format, connecting it, connecting it within all of your existing notes and system of knowledge.

[00:22:58] I like what you said about having a purpose for your notes.

[00:23:02] I know for mine there, I guess the heuristic that I tend to use is, is this something that I can turn into a small thesis statement about something I believe to be true about software.

[00:23:14] So I don’t tend to just put random facts as much.

[00:23:19] But if I can find.

[00:23:20] An angle where like, this is a sort of truism or a thing that I think is true about software, then it can get turned into a note.

[00:23:28] And so all of my notes are titled as thesis statements, but I also am pretty aggressive at keeping them small.

[00:23:35] So one paragraph, maybe a code sample, maybe a diagram to support that, that thesis that I have.

[00:23:43] And then clusters of theses can then turn into artifacts.

[00:23:47] So again, going back to your idea of having a purpose.

[00:23:49] Part of my purpose here is to enable me to create more in terms of writing blog posts, giving conference talks, that sort of thing.

[00:23:59] A lot of them have inspired topic discussions here on the bike shed.

[00:24:03] I’ve done that, but I also have a lot of things where it’s just kind of more like a wiki as well.

[00:24:09] More of a reference.

[00:24:09] I don’t capture everything about each subject, but like key points of having a reference and like a quick guide sort of cheat sheets.

[00:24:18] And just links to things.

[00:24:19] I’ve done a lot of things that I’ve found on subjects like react or when I was learning in angular or different things that I’ve done in Ruby on rails, having references so that I can more easily get to the bookmarks and links and resources that I know that have helped me in the past of like working on those subjects or relearning contexts when I’m jumping back into like, I’ve not worked in ember for years.

[00:24:46] Like maybe, maybe I need to look up my notes and like what.

[00:24:49] How did I work on that?

[00:24:51] And how did, how might those, what lessons learned relate to working in ember, the modern version of ember?

[00:24:59] So, yeah, so some of them are more referential about specific topics or objects in that sense, kind of like the nouns and then other ones are more of like the claims and assertions of like writing a thesis and capturing a atomic note of like an idea.

[00:25:15] So I have a little bit of both of those in my notes.

[00:25:19] I do think.

[00:25:19] I think that that was something that I could get more value out of is keeping track of more sort of cheat sheet style notes.

[00:25:25] A thing I appreciate about my vault is that it is very clearly defined in its purpose, but that does mean that I say no to a lot of things.

[00:25:34] And sometimes like, oh, I probably should have tracked that information somewhere.

[00:25:38] Sometimes I do probably get caught by that collector’s fallacy of like having more fun with the learning and input and capturing of notes, which is, which is a journey of itself.

[00:25:48] Like that can be a.

[00:25:49] Purpose of like, if you want to learn and capture everything that you’re learning about, and I didn’t have obsidian around when I was in college, but thinking back, I’m like, this would have been really useful for me if I was in going through classes and capturing things on each of the subjects and connecting notes.

[00:26:07] It’s a great tool for learning about things.

[00:26:11] So sometimes that is my purpose of just, I love learning about different topics and subjects.

[00:26:17] So sometimes that’s the purpose, but then there’s other times where.

[00:26:19] It’s like, no, I would need to produce something.

[00:26:21] I need to be creative with this.

[00:26:23] So it’s kind of like a do multiple purposes within one system.

[00:26:27] I think the self-awareness is really valuable there.

[00:26:31] Something I knew about myself getting started is that I could get really wrapped up in the process of note taking.

[00:26:38] And especially when I was getting started, when I’ve got like only two notes or whatever, my fear was that all of my time would go into like optimizing my organizational structure.

[00:26:48] And that I wouldn’t write much.

[00:26:50] So I put some pretty hard limits on myself.

[00:26:52] I was like, I don’t get to do folders.

[00:26:54] I don’t get to do tags.

[00:26:55] I don’t like any of these things.

[00:26:57] They won’t matter once I have more notes, but the first couple of months I’ve got one flat folder.

[00:27:02] And the only thing I’m allowed to do is add new notes.

[00:27:05] And it can’t be notes about note taking.

[00:27:07] I have to actually take notes about software because I was trying to introduce that as like a rhythm in my professional life was a, you know, I want to be the kind of person that takes more notes.

[00:27:19] And I knew that.

[00:27:19] All these other things could just become a black hole for me.

[00:27:21] So those are some things I set up pretty early on.

[00:27:24] And then as the note system grew, I was like, all right, now I can like, I’ve got a little bit of a novelty budget and I can allow myself to maybe start thinking a little bit in terms of tags or play around the structure a little bit.

[00:27:35] Maybe I have a side folder here where I put some different things, but I’ve had to put some pretty strict boundaries on myself around that.

[00:27:43] Yeah, there’s definitely been times where I didn’t have those boundaries.

[00:27:47] Like I’ve taken, like, because I’ve already mentioned patterns, but that’s like the patterns of different models and systems that people have, like building a second brain, para, like projects, areas, resources and archive, or other ones that are escaping my mind at the moment.

[00:28:05] But like, I have a whole list of like different people’s processes and like how they’ve approached either Zettelkasten or Obsidian or taking notes in different senses of the word.

[00:28:15] Even analyzing different people.

[00:28:17] And so I’ve dug really deeply at times into the note taking and like, where do I even start?

[00:28:46] And it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s, it’s.

[00:28:47] There’s so many options that I think that’s not where anyone should actually start when they start their notes.

[00:28:53] Like, it’s better to just kind of like, let it build up its own structure and kind of guide it that way as well.

[00:29:01] Like, give it enough structure so that you can get started, but don’t overthink, how do I need to structure this?

[00:29:07] Because you’re going to change it multiple times.

[00:29:09] I’ve changed the structure of my notes a couple times, not too drastically, but enough to where like, I used to do more folders and now I’ve kept it more flat.

[00:29:17] Not completely flat because I still have some things organized into like themes.

[00:29:23] So like development, like all development notes go into one folder and there’s a few additional folders in there.

[00:29:30] And that’s pretty much my deepest nested level of folders.

[00:29:33] Everything else is no more than like two folders.

[00:29:36] So if I go here, here’s my notes directly directory of all my permanent slash polished up notes and then the beams.

[00:29:46] And then notes.

[00:29:47] And that’s about the deepest level of structure that I have and everything else is just maps or indexes of content.

[00:29:54] Whereas previously I’d played around with like Johnny Decimal and trying to come up with more of like an actual catalog system of like, how do I number these systems?

[00:30:04] And like, it was just, I was spending too much time on that.

[00:30:06] It was like, no, I just need to capture the notes and the structure can, it can just arise from how the connections are made.

[00:30:13] So I’ve, over time I’ve gone from.

[00:30:16] I’ve not abandoned folders altogether because I still find some value in having folders, but going a bit more flat has definitely helped over time.

[00:30:27] So all of this I think can be really inspiring to some of our listeners who want to get into note taking, but it can also be really intimidating.

[00:30:35] What might be some concrete recommendations for someone who’s getting into note taking for maybe the first time?

[00:30:41] The basic thing is just get, just get started, start capturing notes.

[00:30:45] Don’t worry about.

[00:30:46] How it’s organized, have a bare minimum number of folders to have some sort of structure that you can, that makes sense to you.

[00:30:56] If you need a model, there’s, there’s a few mental models out there of how you can structure your system.

[00:31:02] But most of the core folders that I use, I haven’t basically inbox for anything.

[00:31:08] That’s it’s just a scratch fleeting notes of like, this is a work in progress.

[00:31:13] And then I have a notes folder where this is.

[00:31:15] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:16] Yeah.

[00:31:17] Yeah.

[00:31:17] Interconnected notes that I’ve worked on and kind of like distilled and curated into more of a structured format.

[00:31:26] And then an outbox where these are the blog posts that I’m writing, the book that I’m writing, the projects that I’m working on that I’m applying this to.

[00:31:36] Some other folders that I have are like context-based.

[00:31:40] So I have thought bot folder in my notes where I just capture things throughout the day that relate.

[00:31:46] to my work on client projects or Thoughtbot itself,

[00:31:50] or I have a home folder.

[00:31:52] So anything happening at home that relates to my notes,

[00:31:54] like I’ll capture it there.

[00:31:56] Whatever makes sense to you, what you’re working on,

[00:31:58] create some folders if they’re more distinct patterns,

[00:32:01] but like don’t overthink it.

[00:32:03] It’s hard not to overthink

[00:32:04] when you’re just getting started,

[00:32:05] especially because you need a little bit of like FOMO

[00:32:08] or like, oh, am I doing it right?

[00:32:10] And I think I’d like to say it’s okay to have

[00:32:13] one single folder, just dump it all in one place.

[00:32:16] And start from there.

[00:32:18] I’ve seen some Obsidian vaults

[00:32:22] where everything’s just, there are no folders.

[00:32:25] Everything’s just dumped right there.

[00:32:27] They just started creating notes

[00:32:28] and started interconnecting them.

[00:32:30] And that’s how their system works.

[00:32:33] Yeah, I’d agree that that’s perfectly fine.

[00:32:35] If you’re more of a systematic,

[00:32:37] like you need to know how things work.

[00:32:39] Like that’s something that I love digging into.

[00:32:42] Definitely have fun and dig into it

[00:32:44] if that speaks to you.

[00:32:46] But try not to get carried away

[00:32:48] by digging it to so far that you’re,

[00:32:51] it’s preventing you from actually writing the notes

[00:32:53] that you want, working towards the purpose

[00:32:56] that you have for your notes.

[00:32:57] I think that’s important.

[00:32:59] The purpose you have for your notes,

[00:33:00] having that self-awareness and knowing

[00:33:02] what do you want to get out of this?

[00:33:04] And maybe you just enjoy sort of nerding out

[00:33:08] over knowledge information structures.

[00:33:11] And in that case, maybe playing around

[00:33:13] with different systems and not writing a lot

[00:33:15] is the purpose.

[00:33:16] And that’s, you’re fulfilling that purpose.

[00:33:18] Good on you, enjoy that.

[00:33:20] If the goal is you’re trying to write a book,

[00:33:24] then maybe don’t do more than you need to

[00:33:27] for what you’re trying to write for your book.

[00:33:29] Or maybe you’re just trying to be a little bit more mindful

[00:33:31] about your day-to-day, trying to grow in that way.

[00:33:34] Bring in enough where you’re fulfilling that goal.

[00:33:37] But I think starting from a position

[00:33:40] where you know what you want out of this note-taking system

[00:33:43] will enable you to make the right set of trade-offs.

[00:33:46] I think another thing is like,

[00:33:47] if you’re using Obsidian or an application like that,

[00:33:50] and there’s a lot of plugins out there that can help you,

[00:33:54] but it’s really tempting to start tweaking

[00:33:57] and working on your, just setting up

[00:33:59] and configuring Obsidian to do all these interesting

[00:34:03] and intricate things.

[00:34:05] They don’t necessarily contribute to writing

[00:34:08] the actual notes and producing any sort of output.

[00:34:11] It’s just, it can turn into almost busy work

[00:34:14] of like, I’m going to tweak my system

[00:34:16] just a little bit more

[00:34:17] and get just a little bit more perfect.

[00:34:18] And then it’ll all just fall into place.

[00:34:21] And so it’s like this, it’s fun to dig into those things,

[00:34:25] but it’s also, it might not actually be providing much benefit

[00:34:29] if you’re just building the system

[00:34:31] rather than actually putting those tools to work

[00:34:33] and producing some sort of artifact or notes

[00:34:35] from your efforts.

[00:34:38] Yeah, I know for me, what I wanted was to write more.

[00:34:41] I needed something that would allow me to write more

[00:34:44] and more consistently.

[00:34:45] And everything else is sort of downstream of that goal.

[00:34:48] Part of my goal is writing more,

[00:34:50] but I’ve also not done as much of that with my notes

[00:34:53] as I originally set out to do.

[00:34:56] That’s one area that I’m improving on recently

[00:34:58] is I try to actually write more blog posts

[00:35:02] or produce more output from that.

[00:35:04] But like one of the other purpose that I’ve also mentioned

[00:35:06] is that the learning process,

[00:35:09] like so digging into different areas of programming

[00:35:13] or design or,

[00:35:15] you know, cooking and different special interests they have

[00:35:17] and like using the notes as that learning tool

[00:35:20] to learn subjects that I’m interested in.

[00:35:23] So the output in that case is more of just

[00:35:26] feeling more confident and proficient

[00:35:30] in an area that I’m interested in.

[00:35:33] Yeah, and that’s a great thing to be sort of aware of.

[00:35:36] And you can sort of see that

[00:35:38] and see that your note-taking system

[00:35:39] actually has an improvement on your life in that way.

[00:35:43] I’m a huge proponent of,

[00:35:45] note-taking,

[00:35:45] I think it’s improved my life.

[00:35:47] It’s always fun to chat with other people

[00:35:49] who are excited about note-taking systems

[00:35:53] and sort of compare,

[00:35:55] I guess, compare notes.

[00:35:57] So yeah, thank you so much for coming on the show.

[00:36:01] Yeah, thanks for having me.

[00:36:02] This was awesome.

[00:36:04] All right, on that note, let’s wrap up.