# notes

title: noboilerplate/scripts/27-coping-mechanisms.md at main · 0atman/noboilerplate
lead: # noboilerplate/scripts/27-coping-mechanisms.md at main · 0atman/noboilerplate
checksum: efd71b1c6098c0754265d3c93276de4c3522c1e5ceb273715885fe656e441204
created: 2024-09-15 00:40:58.690121921+00:00
modified: 2024-09-23 19:31:31.973006497+00:00
path:
  Omnivore/2024-03-25 - noboilerplate-scripts-27-coping-mechanisms.md at main · 0atman-noboilerplate.md

sortable_path:
  Omnivore2024-03-25 - noboilerplate-scripts-27-coping-mechanisms.md at main · 0atman-noboilerplate.md

body:
  # noboilerplate/scripts/27-coping-mechanisms.md at main · 0atman/noboilerplate

  ## Highlights

  If something comes to mind, or someone tells you something important, YOU MUST WRITE IT DOWN in a trusted system 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#901e24a0-6646-4f53-9233-fa3a627f1289) 

  ---

  This theory is called Active Externalism.

  --- 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#1f3cdbf9-2b58-4a65-9f83-c055ecff679d) 

  ---

  Put EVENTS on your calendar. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#0ae3ba38-15fe-4264-85b9-a355e502dc1c) 

  ---

  Events are not tasks that have a due date - those things should go in a task management system. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#c091f165-7a83-42d6-bb28-7979d4d243c9) 

  ---

  If it can be done before the due date, it's a task, not an event. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#f8d8cb12-333a-44d4-82e5-124c2347f084) 

  ---

  Carry earplugs 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#ea1eceab-55f2-4482-bad4-fcc08ad1f565) 

  ---

  What you're going to do is, at the first hint of confusion or misunderstanding, say "I'm sorry, I don't understand" and let them try again. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#87395a65-15a8-439b-a946-257d5e715d34) 

  ---

  You need context in communication like you're talking to a deep space probe Ask for what you need, which is for context to be included in what people ask of you. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#c2ce3a46-c55a-48b6-b60d-b030d551ffce) 

  ---

  All relevant information must be inside the message. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#259b5f32-a40a-4252-a9ea-346987131a80) 

  ---

  Use a Note-Taking System 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#f0f29fde-8f78-43a8-aa02-c58d5f25225c) 

  ---

  This is important, Past Tris. Don't. Open. Your. Browser. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#5bc8f767-dc93-4f00-8723-dbb16e62af1b) 

  ---

  The first coping mechanism in this framework is eat the frog, which means to do the least pleasant or hardest task first. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#b5408b52-072f-498d-9520-f42856d150dd) 

  ---

  There's a good but boring book called Triggers by Marshall Goldsmith, that I recommend you read, or ideally get someone to summarise it for you. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#e9fe7791-4063-4aa6-9c9e-641d506560ae) 

  ---

  Pay attention to people who seem like they know what they are talking about and figure out what makes them so good at explaining their thoughts. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#96ab7872-b330-4a81-a5fe-0d6191720a0f) 

  ---

  Study, imitate and practice. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#378de782-f5e4-4fe3-baa0-4836b3a896bd) 

  ---

  Save your energy by focusing on the positives 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#e79fffb1-82c5-4955-8964-cb780627117d) 

  ---

  Notice the negatives, but feel the positives. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#45a4b54b-2ed2-40f1-b6cf-215f963e0014) 

  ---

  You have to FOCUS. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#706cd560-3e18-4abf-b45c-19b220a270d8) 

  ---

  ## 15\. Just do a bit

  [](#15-just-do-a-bit)

  > You put one word after another until its done. It's that easy, and that hard.

  — Neil Gaiman 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#e41df1e5-9e90-4c91-809f-d2ae6e11c04d) 

  ---

  I trick my brain into doing this with Timers. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#52577fa3-2e0f-4f1d-af34-7d69308e3e15) 

  ---

  ## 17\. humanize organize mechanize

  [](#17-humanize-organize-mechanize)

  notes: This is how I build systems, both in my life and professionally.

  **Humanise**  
  Do everything manually, on paper if needed, for many iterations.

  **Organise**  
  Notice the patterns that are creeping into your methods.

  **Mechanise**  
  Automate those patterns in a system, either by writing checklists, flowcharts or software. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#26170aa1-0968-4106-819c-d090079d8379) 

  ---

  ## One thing at a time

  [](#one-thing-at-a-time)

  ## most important thing first

  [](#most-important-thing-first)

  ## Start now 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#cc6de1c2-538f-4cd2-b994-db98ed8bcdac) 

  ---

  ## Original

  <style> :root {--r-code-font: "FiraCode Nerd Font";} .reveal .hljs {min-height: 50%;} </style>

  %%

  f7f7f7 background slide colour

  * title formatting

  %%

  !\[\[tri-hex-moon-white-transparent.png|300\]\]

  ## Hacking your brain

  [](#hacking-your-brain)

  ### With elaborate coping mechanisms

  [](#with-elaborate-coping-mechanisms)

  notes: %%

  * Tell them what you're going to tell them
  * Tell them
  * Tell them what you told them %% Hi friends my name is Tris and this is No Boilerplate, focusing on fast, technical videos.

  Some people seem to have life figured out don't they.

  I don't, I'm learning every day, but I do have some EXTREMELY elaborate coping mechanisms that make me productive, easier in social situations, and happier, i think, in life.

  Today I'm going to share them with you in the form of an open letter to my past self.

  Bear in mind that I am not an expert in anything really, certainly not the human brain. I can't even edit video, and I'm not very good at Rust.

  However I have managed to become highly productive with these coping mechanisms, and perhaps some of them will work for you.

  ---

  ## Public Domain Videos

  [](#public-domain-videos)

  [github.com/0atman/noboilerplate/](https://github.com/0atman/noboilerplate/)

  notes: Everything you see in this video from the script to the images are part of a markdown document available on github under a public domain license.

  ---

  !\[\[newspaper-youtuber.jpg\]\]

  notes:

  Hello past Tris, it's me, Future Tris. Stop spending all of my money!

  I have some important things to tell you that will make your life easier. I wish I had learned these earlier, so I'm going to give you a head start.

  Also buy apple stock, don't sell those bitcoins in 2015, and you can break up with her, it's ok, you'll both be fine.

  ---

  ## 1\. Declare bankruptcy on your memory

  [](#1-declare-bankruptcy-on-your-memory)

  notes:

  Tris, we've given it a good go, you and I, haven't we.

  You will learn, as so many have done before you, that your brain is for HAVING ideas, not STORING ideas.

  That advice is probably valid for anyone, but it's ESPECIALLY valid for you and I.

  At this point in your life, you still think you can remember things like everyone else, I imagine? You can't. And maybe they can't either. The sooner you realise this, the sooner you can build systems to easily replace this missing ability. And I'll help you there.

  ---

  ## 2\. Carry a notebook

  [](#2-carry-a-notebook)

  !\[\[field-notes.png|700\]\]

  notes:

  When are you, about 2005? ew. So, no smartphone (you're gonna hate them) get a nice pocketable notebook. Field Notes are fine, but pricey If you can bear to have a notebook that doesn't have a ruler printed in the back, you can buy cheap alternatives for a dollar.

  Or a pound. Look, we all talk in dollars now, get used to it.

  ==If something comes to mind, or someone tells you something important, YOU MUST WRITE IT DOWN in a trusted system==

  ---

  ## Active Externalism

  [](#active-externalism)

  > I'm not writing it down to remember later, I'm writing it down to remember NOW.

  notes:

  A lot of the memory techniques I'm going to talk about change your understanding of your mind from something that is exclusively inside your head, to something that can be augmented by paper, pencil, and digital methods

  ==This theory is called Active Externalism.==

  ---

  ## 3\. Calendars

  [](#3-calendars)

  ## are GREAT

  [](#are-great)

  notes:

  I think you have a google account in 2005, you and I are early adopters, which is always exciting if not relaxing.

  ==Put EVENTS on your calendar.==

  Events are things you can miss if you forget them and sit at home all weekend watching South Park while all your friends have fun. Oh, that oddly-specific example hasn't happened to you yet? It will. Remember to use a calendar.

  ==Events are not tasks that have a due date - those things should go in a task management system.==

  ==If it can be done before the due date, it's a task, not an event.==

  ---

  ## 4\. Getting Things Done (GTD)

  [](#4-getting-things-done-gtd)

  notes:

  There are a lot of task management systems, even in your time. The one that fits the shape of our brain best is David Allen's GTD.

  GTD has tasks split into projects like many others, but the differentiating factor that makes it work for us is that tasks also have a Context tag, like 'laptop', 'home', 'work', or whatever you want.

  The reason this works for us is that when you are physically IN a certain context, you can filter out all the rubbish that by definition you CAN'T do at the moment.

  Task systems that don't do this filtering create more undue distractions.

  ---

  ## 5\. ==Carry earplugs==

  [](#5-carry-earplugs)

  notes:

  OK sorry you had to find out like this in front of 100,000 of our closest friends, but you, my dude, have autism.

  Right? Makes sense now I say it out loud doesn't it? It's no biggie, a lot of folks do.

  You know how you don't like pubs, clubs, stadia and other noisy places? Surprise! That's called sensory overload, and is an Autism symptom.

  wear earplugs to relieve this symptom.

  There's a lot of earplug options, from the classic foam cylinders to mouldable wax. I've heard that wax ear plugs can get stuck in there, so don't use those, I like the ones that look like rounded foam earbuds, very comfy.

  ---

  ## 6\. In the face of ambiguity,

  [](#6-in-the-face-of-ambiguity)

  ## refuse the temptation

  [](#refuse-the-temptation)

  ## to guess

  [](#to-guess)

  ❯ python -c "import this" | grep ambiguity
  In the face of ambiguity, refuse the temptation to guess.

  notes:

  OK, so while we're talking about Autism, let's talk about all those misunderstandings that happen when you talk to people.

  Neurotypical people have a lot more bandwidth available in their communications than you or I do. They take into consideration body language, tone, vocal hesitations, and extrapolate enormous amounts of information when talking.

  AND THEY EXPECT YOU TO DO THE SAME.

  You're not going to do that, nor should you have to.

  ==What you're going to do is, at the first hint of confusion or misunderstanding, say "I'm sorry, I don't understand" and let them try again.==

  If they continue to give you incomplete confusing information, you are going to say again, patiently, "I don't understand", don't worry they won't mind repeating themselves, they all love talking, it'll help them too, trust me.

  And if on the third utterance they still don't make sense, you say "I'm sorry, I don't think YOU understand". Because half the time they DON'T, and it's not your responsibility to teach them how to communicate.

  ---

  !\[\[white-logo.png|400\]\] notes:

  ==You need context in communication like you're talking to a deep space probe
  Ask for what you need, which is for context to be included in what people ask of you.==

  ==All relevant information must be inside the message.==

  It's a long way back home.

  Let me take a break from my open letter for a moment.

  Friends, I hope to not only teach myself, I'm hoping to teach and help everyone.

  ---

  !\[\[lt-shuttle-screenshot.png\]\]

  Watch on YouTube or at [LostTerminal.com](https://lostterminal.com/)

  notes: In addition to this no boilerplate video, I've put together 12 seasons so far of my scifi, hopepunk, mental health story podcast, Lost Terminal, and thousands of lovely people tune in each week.

  It's very reasonable for an AI to have difficulty understanding other people's emotions, or struggle with his own, and framing this as an AI challenge allows me to talk about autism in a safe environment. In later seasons, my research has allowed me to branch out into other mental health and LGBT issues too, all with the same AI lens.

  I'd love for you to watch or listen to the first season, I've linked it here, and at the end of the video, or in the description.

  back to the letter

  ---

  ## 7\. ==Use a Note-Taking System==

  [](#7-use-a-note-taking-system)

  notes:

  Tris, There are many note-taking systems available, even in 2005, and the one feature you should look for in any of them is the ability to link between pages. Yes, hyperlinks. This is the whole point of the web and is its killer feature.

  You can use a wiki for this, there are several available, but you can also use Markdown.

  ---

  ## 8\. Plain Text

  [](#8-plain-text)

  ## lasts forever

  [](#lasts-forever)

  notes:

  If Your brain is going to be external to your head, it should be in plain text. Not a propitiatory database hidden inside some app waiting for the company to go out of business.

  As an example, my show Lost Terminal is set in the future some time after the environmental collapse, and in the story, the survivors STILL HAVE plain text digital records. You know what they don't have? iCloud.

  My brain is stored in plain text, marked up with Markdown, inside Obsidian.

  ---

  !\[\[obsidian-hopepunk.png\]\]

  [obsidian.md](http://obsidian.md/) (not sponsored, other editors available)

  notes:

  Every wiki page I read, every blog, every article, if it could be relevant to my work, I copy and paste into my brain, for later linking and extraction.

  This is a simple screenshot of the wikipedia article on Hopepunk, the cosy, safe genre that Lost Terminal sits in.

  But through the plugin system, Obsidian, and therefore my brain, can be as complex as it needs to be.

  ---

  !\[\[obsidian-lt-12.png\]\]

  notes:

  Here is the workspace I use for writing Lost Terminal. We've got widgets written in a few lines of javascript embedded on the page, and in the side panes.

  In the morning, I open this up, set a timer, and write my word count before opening my browser.

  ==This is important, Past Tris.
  Don't. Open. Your. Browser.==

  ---

  ## 9\. Eat the frog

  [](#9-eat-the-frog)

  notes:

  Like a lot of other people discovered in 2020, you also have ADHD.

  What happened in 2020 to cause this? I'll just say that a LOT of people's work routines were disrupted and they were expected to be much more autonomous then before, exposing the underlying problem.

  Don't worry about it, you've got a while till it happens.

  So the frameworks that people realised they needed to be productive, you're going to build for yourself.

  ==The first coping mechanism in this framework is eat the frog, which means to do the least pleasant or hardest task first.==

  Don't let it loom over you while you do other easy things on your task list like laundry or shopping.

  Do the hardest thing first.

  ---

  ## 10\. Build habits

  [](#10-build-habits)

  ## Then chain them together

  [](#then-chain-them-together)

  > wake → water → yoga → write → shower

  notes:

  ==There's a good but boring book called Triggers by Marshall Goldsmith, that I recommend you read, or ideally get someone to summarise it for you.==

  Pay attention to what is making you do thing, its trigger, like a location, a song, a person or a thought. Then build a feedback loop to improve and chain these triggers together.

  ---

  ## 1.017 \= 1.07

  [](#1017--107)

  #### but

  [](#but)

  ## 1.01365 \= 37.78

  [](#101365--3778)

  notes:

  tiny daily change adds up cumulatively over time.

  You won't see it at first, but if you, for example, write 400 words every single day, in a year you'll have 4 whole seasons of a podcast, or many novels, or video scripts, or whatever it is you want to do.

  If you spend you time bouncing between 3 apps, you'll end the year with nothing.

  ---

  ## 11\. Public speaking is important

  [](#11-public-speaking-is-important)

  notes:

  I'm very good at public speaking NOW, so it all works out eventually, but that is because I PRACTISED a lot.

  Yes that thing mum and dad asked us to do for the piano and we never did.

  At university you are going to realise public speaking is going to be

  1. a problem and
  2. mandatory in the wider world.

  ==Pay attention to people who seem like they know what they are talking about and figure out what makes them so good at explaining their thoughts.==Don't bother with persuasion or rhetoric, we're not here for that, we're here to talk to people clearly and precisely.

  ==Study, imitate and practice.==

  ---

  ## 12.

  [](#12)

  ## Imitate

  [](#imitate)

  ## imitate

  [](#imitate-1)

  ## imitate

  [](#imitate-2)

  notes:

  Pay attention to how people act, then do what they do.

  This works as well in a sprint planning meeting as it does on the dance floor.

  ---

  ## 13\. Negative emotions are not very useful

  [](#13-negative-emotions-are-not-very-useful)

  notes:

  I don't know why neurotypical people romanticise jealousy as protectiveness, anger as passion, greed as ambition, but you don't need to learn these emotions. And if you have learned them, you certainly don't need to practice them. In fact, do the opposite.==Save your energy by focusing on the positives==, there's a lot to be happy about in our life, we're extremely fortunate!

  HOWEVER negative emotions are not ENTIRELY un-useful!

  Remember that girl I mentioned earlier? You'll stay with her because you're minimising the negative emotions you're feeling. That's not good.

  You're not a robot, I know, but throuhg practice you can choose what to feel, and what to notice.==Notice the negatives, but feel the positives.==

  ==You have to FOCUS.==

  ---

  ## 14.

  [](#14)

  ## _F o c u s_

  [](#f-o-c-u-s)

  notes:

  there's dozens of new programming languages per year, just choose one and try it. There's lots of games to play, don't scroll your steam library, just choose one and play it. There's an infinite amount of news available to read, use rss feeds, and filters, not firehose scrolling and read important things deeply.

  ---

  ## ==15. Just do a bit==

  [](#15-just-do-a-bit)

  > ==You put one word after another until its done. It's that easy, and that hard.==

  ==— Neil Gaiman==

  notes:

  The plural of word is sentence, the plural of sentence is paragraph and the plural of paragraph means you're done and can go back to playing video games.

  It's like a reverse Zenos's paradox, just put one word in front of the other and you'll get there.

  ==I trick my brain into doing this with Timers.==

  ---

  ## 16\. Timers

  [](#16-timers)

  ## are GREAT

  [](#are-great-1)

  notes:

  I run my life on timers, and you should too. I'm writing this with a timer running, in 14 minutes I'll have a break and a cup of tea.

  Then after that I'll do a bit more.

  ---

  !\[\[napchart-pomodoro.png\]\]

  notes:

  There's a light system for organising your timers called the Pomodoro Technique

  The default recommendations are to set a timer for 20 minutes, work as fast as you can, then when the timer goes off, set another for 5 minutes and have a break.

  This ends up, tricking us into HOURS of high-quality, focussed work!

  Here's an example schedule, some work in the morning, a lot of work in the afternoon, and a bit before bed.

  I know you go to bed late, Past Tris, so I tweaked this just for you.

  Would you believe me that these days I get up early and love it? No, probably I wouldn't have believed me either.

  ---

  ## ==17. humanize organize mechanize==

  [](#17-humanize-organize-mechanize)

  ==notes:
  This is how I build systems, both in my life and professionally.==

  **==Humanise==**  
  ==Do everything manually, on paper if needed, for many iterations.==

  **==Organise==**  
  ==Notice the patterns that are creeping into your methods.==

  **==Mechanise==**  
  ==Automate those patterns in a system, either by writing checklists, flowcharts or software.==

  ---

  !\[\[27-coping-mechanisms 2023-06-07 15.21.56.excalidraw\]\]

  notes:

  Here's a trivial algorithm I set up for myself. I don't know why I need to drink so much water, but every body is different I suppose! In addition to waking up and drinking 500ml before breakfast, this little system works for me, at the first sign of a headache.

  ---

  ## 18.

  [](#18)

  ## ==One thing at a time==

  [](#one-thing-at-a-time)

  ## ==most important thing first==

  [](#most-important-thing-first)

  ## ==Start now==

  [](#start-now)

  notes: Really that's what all my advice comes down to, past Tris. Choose what you want to do and do it.

  Keep at it champ, I'm proud of you, it all works out in the end!

  ---

  !\[\[tri-hex-moon-white-transparent.png|300\]\]

  ## Thank you

  [](#thank-you)

  notes:

  ## OUTRO

  [](#outro)

  If you would like to support my channel, get early ad-free and tracking-free videos and vip discord access head to patreon.com/noboilerplate.

  If you're interested in transhumanism and hopepunk stories, please check out my sci-fi podcast, Lost Terminal.

  Or if urban fantasy is more your bag, do listen to a strange and beautiful podcast I produce called Modem Prometheus.

  Transcripts and compile-checked markdown sourcecode are available on github, links in the description, and corrections are in the pinned ERRATA comment.

  Thank you so much for watching, talk to you on Discord.

    println!("That's all folks!");
  }

raw_content:
  ---
  id: f2f6b3b5-b35c-49bf-ab94-61559888fe81
  title: |
    noboilerplate/scripts/27-coping-mechanisms.md at main · 0atman/noboilerplate
  status: ARCHIVED
  tags:
    - read-later
  date_added: 2024-03-25 17:12:00
  url_omnivore: |
    https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294
  url_original: |
    https://github.com/0atman/noboilerplate/blob/main/scripts/27-coping-mechanisms.md
  ---

  # noboilerplate/scripts/27-coping-mechanisms.md at main · 0atman/noboilerplate

  ## Highlights

  If something comes to mind, or someone tells you something important, YOU MUST WRITE IT DOWN in a trusted system 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#901e24a0-6646-4f53-9233-fa3a627f1289) 

  ---

  This theory is called Active Externalism.

  --- 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#1f3cdbf9-2b58-4a65-9f83-c055ecff679d) 

  ---

  Put EVENTS on your calendar. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#0ae3ba38-15fe-4264-85b9-a355e502dc1c) 

  ---

  Events are not tasks that have a due date - those things should go in a task management system. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#c091f165-7a83-42d6-bb28-7979d4d243c9) 

  ---

  If it can be done before the due date, it's a task, not an event. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#f8d8cb12-333a-44d4-82e5-124c2347f084) 

  ---

  Carry earplugs 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#ea1eceab-55f2-4482-bad4-fcc08ad1f565) 

  ---

  What you're going to do is, at the first hint of confusion or misunderstanding, say "I'm sorry, I don't understand" and let them try again. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#87395a65-15a8-439b-a946-257d5e715d34) 

  ---

  You need context in communication like you're talking to a deep space probe Ask for what you need, which is for context to be included in what people ask of you. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#c2ce3a46-c55a-48b6-b60d-b030d551ffce) 

  ---

  All relevant information must be inside the message. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#259b5f32-a40a-4252-a9ea-346987131a80) 

  ---

  Use a Note-Taking System 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#f0f29fde-8f78-43a8-aa02-c58d5f25225c) 

  ---

  This is important, Past Tris. Don't. Open. Your. Browser. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#5bc8f767-dc93-4f00-8723-dbb16e62af1b) 

  ---

  The first coping mechanism in this framework is eat the frog, which means to do the least pleasant or hardest task first. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#b5408b52-072f-498d-9520-f42856d150dd) 

  ---

  There's a good but boring book called Triggers by Marshall Goldsmith, that I recommend you read, or ideally get someone to summarise it for you. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#e9fe7791-4063-4aa6-9c9e-641d506560ae) 

  ---

  Pay attention to people who seem like they know what they are talking about and figure out what makes them so good at explaining their thoughts. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#96ab7872-b330-4a81-a5fe-0d6191720a0f) 

  ---

  Study, imitate and practice. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#378de782-f5e4-4fe3-baa0-4836b3a896bd) 

  ---

  Save your energy by focusing on the positives 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#e79fffb1-82c5-4955-8964-cb780627117d) 

  ---

  Notice the negatives, but feel the positives. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#45a4b54b-2ed2-40f1-b6cf-215f963e0014) 

  ---

  You have to FOCUS. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#706cd560-3e18-4abf-b45c-19b220a270d8) 

  ---

  ## 15\. Just do a bit

  [](#15-just-do-a-bit)

  > You put one word after another until its done. It's that easy, and that hard.

  — Neil Gaiman 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#e41df1e5-9e90-4c91-809f-d2ae6e11c04d) 

  ---

  I trick my brain into doing this with Timers. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#52577fa3-2e0f-4f1d-af34-7d69308e3e15) 

  ---

  ## 17\. humanize organize mechanize

  [](#17-humanize-organize-mechanize)

  notes: This is how I build systems, both in my life and professionally.

  **Humanise**  
  Do everything manually, on paper if needed, for many iterations.

  **Organise**  
  Notice the patterns that are creeping into your methods.

  **Mechanise**  
  Automate those patterns in a system, either by writing checklists, flowcharts or software. 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#26170aa1-0968-4106-819c-d090079d8379) 

  ---

  ## One thing at a time

  [](#one-thing-at-a-time)

  ## most important thing first

  [](#most-important-thing-first)

  ## Start now 

  [source](https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294#cc6de1c2-538f-4cd2-b994-db98ed8bcdac) 

  ---

  ## Original

  <style> :root {--r-code-font: "FiraCode Nerd Font";} .reveal .hljs {min-height: 50%;} </style>

  %%

  f7f7f7 background slide colour

  * title formatting

  %%

  !\[\[tri-hex-moon-white-transparent.png|300\]\]

  ## Hacking your brain

  [](#hacking-your-brain)

  ### With elaborate coping mechanisms

  [](#with-elaborate-coping-mechanisms)

  notes: %%

  * Tell them what you're going to tell them
  * Tell them
  * Tell them what you told them %% Hi friends my name is Tris and this is No Boilerplate, focusing on fast, technical videos.

  Some people seem to have life figured out don't they.

  I don't, I'm learning every day, but I do have some EXTREMELY elaborate coping mechanisms that make me productive, easier in social situations, and happier, i think, in life.

  Today I'm going to share them with you in the form of an open letter to my past self.

  Bear in mind that I am not an expert in anything really, certainly not the human brain. I can't even edit video, and I'm not very good at Rust.

  However I have managed to become highly productive with these coping mechanisms, and perhaps some of them will work for you.

  ---

  ## Public Domain Videos

  [](#public-domain-videos)

  [github.com/0atman/noboilerplate/](https://github.com/0atman/noboilerplate/)

  notes: Everything you see in this video from the script to the images are part of a markdown document available on github under a public domain license.

  ---

  !\[\[newspaper-youtuber.jpg\]\]

  notes:

  Hello past Tris, it's me, Future Tris. Stop spending all of my money!

  I have some important things to tell you that will make your life easier. I wish I had learned these earlier, so I'm going to give you a head start.

  Also buy apple stock, don't sell those bitcoins in 2015, and you can break up with her, it's ok, you'll both be fine.

  ---

  ## 1\. Declare bankruptcy on your memory

  [](#1-declare-bankruptcy-on-your-memory)

  notes:

  Tris, we've given it a good go, you and I, haven't we.

  You will learn, as so many have done before you, that your brain is for HAVING ideas, not STORING ideas.

  That advice is probably valid for anyone, but it's ESPECIALLY valid for you and I.

  At this point in your life, you still think you can remember things like everyone else, I imagine? You can't. And maybe they can't either. The sooner you realise this, the sooner you can build systems to easily replace this missing ability. And I'll help you there.

  ---

  ## 2\. Carry a notebook

  [](#2-carry-a-notebook)

  !\[\[field-notes.png|700\]\]

  notes:

  When are you, about 2005? ew. So, no smartphone (you're gonna hate them) get a nice pocketable notebook. Field Notes are fine, but pricey If you can bear to have a notebook that doesn't have a ruler printed in the back, you can buy cheap alternatives for a dollar.

  Or a pound. Look, we all talk in dollars now, get used to it.

  ==If something comes to mind, or someone tells you something important, YOU MUST WRITE IT DOWN in a trusted system==

  ---

  ## Active Externalism

  [](#active-externalism)

  > I'm not writing it down to remember later, I'm writing it down to remember NOW.

  notes:

  A lot of the memory techniques I'm going to talk about change your understanding of your mind from something that is exclusively inside your head, to something that can be augmented by paper, pencil, and digital methods

  ==This theory is called Active Externalism.==

  ---

  ## 3\. Calendars

  [](#3-calendars)

  ## are GREAT

  [](#are-great)

  notes:

  I think you have a google account in 2005, you and I are early adopters, which is always exciting if not relaxing.

  ==Put EVENTS on your calendar.==

  Events are things you can miss if you forget them and sit at home all weekend watching South Park while all your friends have fun. Oh, that oddly-specific example hasn't happened to you yet? It will. Remember to use a calendar.

  ==Events are not tasks that have a due date - those things should go in a task management system.==

  ==If it can be done before the due date, it's a task, not an event.==

  ---

  ## 4\. Getting Things Done (GTD)

  [](#4-getting-things-done-gtd)

  notes:

  There are a lot of task management systems, even in your time. The one that fits the shape of our brain best is David Allen's GTD.

  GTD has tasks split into projects like many others, but the differentiating factor that makes it work for us is that tasks also have a Context tag, like 'laptop', 'home', 'work', or whatever you want.

  The reason this works for us is that when you are physically IN a certain context, you can filter out all the rubbish that by definition you CAN'T do at the moment.

  Task systems that don't do this filtering create more undue distractions.

  ---

  ## 5\. ==Carry earplugs==

  [](#5-carry-earplugs)

  notes:

  OK sorry you had to find out like this in front of 100,000 of our closest friends, but you, my dude, have autism.

  Right? Makes sense now I say it out loud doesn't it? It's no biggie, a lot of folks do.

  You know how you don't like pubs, clubs, stadia and other noisy places? Surprise! That's called sensory overload, and is an Autism symptom.

  wear earplugs to relieve this symptom.

  There's a lot of earplug options, from the classic foam cylinders to mouldable wax. I've heard that wax ear plugs can get stuck in there, so don't use those, I like the ones that look like rounded foam earbuds, very comfy.

  ---

  ## 6\. In the face of ambiguity,

  [](#6-in-the-face-of-ambiguity)

  ## refuse the temptation

  [](#refuse-the-temptation)

  ## to guess

  [](#to-guess)

  ❯ python -c "import this" | grep ambiguity
  In the face of ambiguity, refuse the temptation to guess.

  notes:

  OK, so while we're talking about Autism, let's talk about all those misunderstandings that happen when you talk to people.

  Neurotypical people have a lot more bandwidth available in their communications than you or I do. They take into consideration body language, tone, vocal hesitations, and extrapolate enormous amounts of information when talking.

  AND THEY EXPECT YOU TO DO THE SAME.

  You're not going to do that, nor should you have to.

  ==What you're going to do is, at the first hint of confusion or misunderstanding, say "I'm sorry, I don't understand" and let them try again.==

  If they continue to give you incomplete confusing information, you are going to say again, patiently, "I don't understand", don't worry they won't mind repeating themselves, they all love talking, it'll help them too, trust me.

  And if on the third utterance they still don't make sense, you say "I'm sorry, I don't think YOU understand". Because half the time they DON'T, and it's not your responsibility to teach them how to communicate.

  ---

  !\[\[white-logo.png|400\]\] notes:

  ==You need context in communication like you're talking to a deep space probe
  Ask for what you need, which is for context to be included in what people ask of you.==

  ==All relevant information must be inside the message.==

  It's a long way back home.

  Let me take a break from my open letter for a moment.

  Friends, I hope to not only teach myself, I'm hoping to teach and help everyone.

  ---

  !\[\[lt-shuttle-screenshot.png\]\]

  Watch on YouTube or at [LostTerminal.com](https://lostterminal.com/)

  notes: In addition to this no boilerplate video, I've put together 12 seasons so far of my scifi, hopepunk, mental health story podcast, Lost Terminal, and thousands of lovely people tune in each week.

  It's very reasonable for an AI to have difficulty understanding other people's emotions, or struggle with his own, and framing this as an AI challenge allows me to talk about autism in a safe environment. In later seasons, my research has allowed me to branch out into other mental health and LGBT issues too, all with the same AI lens.

  I'd love for you to watch or listen to the first season, I've linked it here, and at the end of the video, or in the description.

  back to the letter

  ---

  ## 7\. ==Use a Note-Taking System==

  [](#7-use-a-note-taking-system)

  notes:

  Tris, There are many note-taking systems available, even in 2005, and the one feature you should look for in any of them is the ability to link between pages. Yes, hyperlinks. This is the whole point of the web and is its killer feature.

  You can use a wiki for this, there are several available, but you can also use Markdown.

  ---

  ## 8\. Plain Text

  [](#8-plain-text)

  ## lasts forever

  [](#lasts-forever)

  notes:

  If Your brain is going to be external to your head, it should be in plain text. Not a propitiatory database hidden inside some app waiting for the company to go out of business.

  As an example, my show Lost Terminal is set in the future some time after the environmental collapse, and in the story, the survivors STILL HAVE plain text digital records. You know what they don't have? iCloud.

  My brain is stored in plain text, marked up with Markdown, inside Obsidian.

  ---

  !\[\[obsidian-hopepunk.png\]\]

  [obsidian.md](http://obsidian.md/) (not sponsored, other editors available)

  notes:

  Every wiki page I read, every blog, every article, if it could be relevant to my work, I copy and paste into my brain, for later linking and extraction.

  This is a simple screenshot of the wikipedia article on Hopepunk, the cosy, safe genre that Lost Terminal sits in.

  But through the plugin system, Obsidian, and therefore my brain, can be as complex as it needs to be.

  ---

  !\[\[obsidian-lt-12.png\]\]

  notes:

  Here is the workspace I use for writing Lost Terminal. We've got widgets written in a few lines of javascript embedded on the page, and in the side panes.

  In the morning, I open this up, set a timer, and write my word count before opening my browser.

  ==This is important, Past Tris.
  Don't. Open. Your. Browser.==

  ---

  ## 9\. Eat the frog

  [](#9-eat-the-frog)

  notes:

  Like a lot of other people discovered in 2020, you also have ADHD.

  What happened in 2020 to cause this? I'll just say that a LOT of people's work routines were disrupted and they were expected to be much more autonomous then before, exposing the underlying problem.

  Don't worry about it, you've got a while till it happens.

  So the frameworks that people realised they needed to be productive, you're going to build for yourself.

  ==The first coping mechanism in this framework is eat the frog, which means to do the least pleasant or hardest task first.==

  Don't let it loom over you while you do other easy things on your task list like laundry or shopping.

  Do the hardest thing first.

  ---

  ## 10\. Build habits

  [](#10-build-habits)

  ## Then chain them together

  [](#then-chain-them-together)

  > wake → water → yoga → write → shower

  notes:

  ==There's a good but boring book called Triggers by Marshall Goldsmith, that I recommend you read, or ideally get someone to summarise it for you.==

  Pay attention to what is making you do thing, its trigger, like a location, a song, a person or a thought. Then build a feedback loop to improve and chain these triggers together.

  ---

  ## 1.017 \= 1.07

  [](#1017--107)

  #### but

  [](#but)

  ## 1.01365 \= 37.78

  [](#101365--3778)

  notes:

  tiny daily change adds up cumulatively over time.

  You won't see it at first, but if you, for example, write 400 words every single day, in a year you'll have 4 whole seasons of a podcast, or many novels, or video scripts, or whatever it is you want to do.

  If you spend you time bouncing between 3 apps, you'll end the year with nothing.

  ---

  ## 11\. Public speaking is important

  [](#11-public-speaking-is-important)

  notes:

  I'm very good at public speaking NOW, so it all works out eventually, but that is because I PRACTISED a lot.

  Yes that thing mum and dad asked us to do for the piano and we never did.

  At university you are going to realise public speaking is going to be

  1. a problem and
  2. mandatory in the wider world.

  ==Pay attention to people who seem like they know what they are talking about and figure out what makes them so good at explaining their thoughts.==Don't bother with persuasion or rhetoric, we're not here for that, we're here to talk to people clearly and precisely.

  ==Study, imitate and practice.==

  ---

  ## 12.

  [](#12)

  ## Imitate

  [](#imitate)

  ## imitate

  [](#imitate-1)

  ## imitate

  [](#imitate-2)

  notes:

  Pay attention to how people act, then do what they do.

  This works as well in a sprint planning meeting as it does on the dance floor.

  ---

  ## 13\. Negative emotions are not very useful

  [](#13-negative-emotions-are-not-very-useful)

  notes:

  I don't know why neurotypical people romanticise jealousy as protectiveness, anger as passion, greed as ambition, but you don't need to learn these emotions. And if you have learned them, you certainly don't need to practice them. In fact, do the opposite.==Save your energy by focusing on the positives==, there's a lot to be happy about in our life, we're extremely fortunate!

  HOWEVER negative emotions are not ENTIRELY un-useful!

  Remember that girl I mentioned earlier? You'll stay with her because you're minimising the negative emotions you're feeling. That's not good.

  You're not a robot, I know, but throuhg practice you can choose what to feel, and what to notice.==Notice the negatives, but feel the positives.==

  ==You have to FOCUS.==

  ---

  ## 14.

  [](#14)

  ## _F o c u s_

  [](#f-o-c-u-s)

  notes:

  there's dozens of new programming languages per year, just choose one and try it. There's lots of games to play, don't scroll your steam library, just choose one and play it. There's an infinite amount of news available to read, use rss feeds, and filters, not firehose scrolling and read important things deeply.

  ---

  ## ==15. Just do a bit==

  [](#15-just-do-a-bit)

  > ==You put one word after another until its done. It's that easy, and that hard.==

  ==— Neil Gaiman==

  notes:

  The plural of word is sentence, the plural of sentence is paragraph and the plural of paragraph means you're done and can go back to playing video games.

  It's like a reverse Zenos's paradox, just put one word in front of the other and you'll get there.

  ==I trick my brain into doing this with Timers.==

  ---

  ## 16\. Timers

  [](#16-timers)

  ## are GREAT

  [](#are-great-1)

  notes:

  I run my life on timers, and you should too. I'm writing this with a timer running, in 14 minutes I'll have a break and a cup of tea.

  Then after that I'll do a bit more.

  ---

  !\[\[napchart-pomodoro.png\]\]

  notes:

  There's a light system for organising your timers called the Pomodoro Technique

  The default recommendations are to set a timer for 20 minutes, work as fast as you can, then when the timer goes off, set another for 5 minutes and have a break.

  This ends up, tricking us into HOURS of high-quality, focussed work!

  Here's an example schedule, some work in the morning, a lot of work in the afternoon, and a bit before bed.

  I know you go to bed late, Past Tris, so I tweaked this just for you.

  Would you believe me that these days I get up early and love it? No, probably I wouldn't have believed me either.

  ---

  ## ==17. humanize organize mechanize==

  [](#17-humanize-organize-mechanize)

  ==notes:
  This is how I build systems, both in my life and professionally.==

  **==Humanise==**  
  ==Do everything manually, on paper if needed, for many iterations.==

  **==Organise==**  
  ==Notice the patterns that are creeping into your methods.==

  **==Mechanise==**  
  ==Automate those patterns in a system, either by writing checklists, flowcharts or software.==

  ---

  !\[\[27-coping-mechanisms 2023-06-07 15.21.56.excalidraw\]\]

  notes:

  Here's a trivial algorithm I set up for myself. I don't know why I need to drink so much water, but every body is different I suppose! In addition to waking up and drinking 500ml before breakfast, this little system works for me, at the first sign of a headache.

  ---

  ## 18.

  [](#18)

  ## ==One thing at a time==

  [](#one-thing-at-a-time)

  ## ==most important thing first==

  [](#most-important-thing-first)

  ## ==Start now==

  [](#start-now)

  notes: Really that's what all my advice comes down to, past Tris. Choose what you want to do and do it.

  Keep at it champ, I'm proud of you, it all works out in the end!

  ---

  !\[\[tri-hex-moon-white-transparent.png|300\]\]

  ## Thank you

  [](#thank-you)

  notes:

  ## OUTRO

  [](#outro)

  If you would like to support my channel, get early ad-free and tracking-free videos and vip discord access head to patreon.com/noboilerplate.

  If you're interested in transhumanism and hopepunk stories, please check out my sci-fi podcast, Lost Terminal.

  Or if urban fantasy is more your bag, do listen to a strange and beautiful podcast I produce called Modem Prometheus.

  Transcripts and compile-checked markdown sourcecode are available on github, links in the description, and corrections are in the pinned ERRATA comment.

  Thank you so much for watching, talk to you on Discord.

    println!("That's all folks!");
  } 

metadata:
  {"date_added":"2024-03-25 17:12:00","id":"f2f6b3b5-b35c-49bf-ab94-61559888fe81","status":"ARCHIVED","tags":["read-later"],"title":"noboilerplate/scripts/27-coping-mechanisms.md at main · 0atman/noboilerplate\n","url_omnivore":"https://omnivore.app/me/noboilerplate-scripts-27-coping-mechanisms-md-at-main-0-atman-no-18e773dc294\n","url_original":"https://github.com/0atman/noboilerplate/blob/main/scripts/27-coping-mechanisms.md\n"}


title: noboilerplate/scripts/35-adhd-a-left-handed-brain.md at main · 0atman/noboilerplate
lead: # noboilerplate/scripts/35-adhd-a-left-handed-brain.md at main · 0atman/noboilerplate
checksum: 752fff811fee64596cea4ddf147f308d3f7ecd8c850d6fb5df1b1b7b1097637e
created: 2024-09-15 00:40:58.995525346+00:00
modified: 2024-09-23 19:31:31.973006497+00:00
path:
  Omnivore/2024-03-25 - noboilerplate-scripts-35-adhd-a-left-handed-brain.md at main · 0atman-noboilerplate.md

sortable_path:
  Omnivore2024-03-25 - noboilerplate-scripts-35-adhd-a-left-handed-brain.md at main · 0atman-noboilerplate.md

body:
  # noboilerplate/scripts/35-adhd-a-left-handed-brain.md at main · 0atman/noboilerplate

  ## Notes

  Another examples:

  - Hyperfixation and the struggle to let go of the thing I'm doing, even if it meant to have problems with other tasks/people
  - The procastination to start doing something
  - The craving for "multitasking", which is more searching for dopamine in distraction while working.
  - The meltdowns and struggles when I loose the structure in life: coronavirus lockdowns and the meldown in the institude, when I'm on vacations, now that I don' have a job
  - The search of dopamine on other places in class.
  - The hurry of doing stuff
  ## Highlights

  * They're not intentionally disruptive in class, they're choosing dopamine-rewarding behaviours.
  * They're not greedy when eating, they're choosing dopamine-rewarding behaviours
  * They're not unable to listen to you when you talk to them, they're choosing dopamine-rewarding behaviours
  * They are not constantly distracted, they're constantly engaging in dopamine-rewarding behaviour, just as evolution has taught us all to do. 

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#4d4650e0-de8d-4038-87de-030d07d5b550) 

  ---

  I no longer could get by on smarts, everyone's smart here 

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#d5939abe-d36f-4fcd-b709-883d979d1237) 

  ---

  Web development might be the best job in the world, it certainly was the best job for me: It's naturally structured, with the work often agreed upon by the team, and divided up into byte-sized tasks. ^2f688b

  The prevailing organisation system, scrum, had clear goals and structure that really worked for me, at least at first, it was like solving a puzzle or playing a video game, but every day.  ^b121ff

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#be183259-2e7d-4ff0-bba2-4ce1ef8e7b88) 

  ---

  If you, like many folks,

  * wake up to an alarm,
  * commute to your job for 8 or 9am,
  * do whatever work your boss tells you to do,
  * commute home and eat and then sleep,
  * only to do it all over again the next day.

  You might never notice you have ADHD.

  Symptoms like executive dysfunction and inattention might not affect you in the 9-to-5 grind.  ^183e58

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#b594529e-a544-4475-8996-3880700e369a) 

  ---

  Right when I needed to be self-directed, to decide for myself what to spend each day doing. 

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#e5c4e121-b329-4c65-9534-a3d98fa50305) 

  ---

  not whatever random thoughts popped into my mind 

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#e4454351-e4ee-4e0b-89ba-3aca2f501018) 

  ---

  Though illegal drugs famously can boost dopamine, so can caffeine and chocolate. 

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#670219c7-995d-4877-80f6-b6de27776e27) 

  ---

  ## Original

  <style> :root {--r-code-font: "FiraCode Nerd Font";} .reveal .hljs {min-height: 50%;} </style>

  ## ADHD: A Left-handed Brain

  [](#adhd-a-left-handed-brain)

  ## (in A Right-handed World)

  [](#in-a-right-handed-world)

  ---

  !\[\[logo-head-half-digital.png|300\]\]

  ## In a Right-  
  handed World

  [](#in-a-right-handed-world-1)

  notes:

  Hi friends my name is Tris and this is No Boilerplate, focusing on fast, technical videos.

  This video is about ADHD.

  Despite not being left-handed, I do have a great deal of empathy for our left-handed cousins because of my ADHD.

  A surprising number of left-handed people are ambidextrous, they are equally skilled with either hand.

  This makes a lot of sense, in our world there are many manual interfaces that are explicitly right-handed, from scissors, to mice, to industrial machines.

  Some tools, like scissors, you can get a left-handed version of, of course. You can fill your house with physical coping mechanisms that help you function. But when you walk out into the world, you will find that nearly everything isn't designed for you.

  It's not fair, but

  * if you are left-handed, you must learn to be ambidextrous.
  * And if you have ADHD, you must learn to cope in a neurotypical world.

  ---

  !\[\[cc-logo.png\]\]

  ## Public Domain Videos

  [](#public-domain-videos)

  <https://github.com/0atman/noboilerplate/>

  notes: Everything you see in this video: script, links, and images are part of a markdown document available freely on github under a public domain licence.

  ---

  !\[\[tris-fake-wikipedia-contents.png|600\]\] (My very real Wikipedia page)

  notes:

  As I mentioned in my coping mechanisms video, I have ADHD.

  I was diagnosed in school in the early 90s, and have recently started taking medication after an adult diagnosis.

  ---

  ## I Am not a Doctor

  [](#i-am-not-a-doctor)

  ### I'm Hoping that Hearing My Story Could Be Helpful for Folks

  [](#im-hoping-that-hearing-my-story-could-be-helpful-for-folks)

  notes:

  #todo

  * screenshot this slide My adhd has profoundly shaped my life as a child and through to adulthood.

  I made this video to tell you my story, but also to share everything that I've learned along the way.

  ---

  !\[\[becca-champ-headshot.png|300\]\]

  [patreon.com/rebeccachampuk](https://www.patreon.com/rebeccachampuk/)

  notes:

  In addition to drawing upon my own experience of ADHD, I must thank my friend Rebecca Champ, who is currently researching better treatment of ADHD in adults as part of her PhD.

  This video has been much improved by her involvement, do check out her Patreon where she posts about ADHD and her cutting-edge research.

  Let's start with the big question:

  ---

  ## Why Does it Seem Like

  [](#why-does-it-seem-like)

  ## Everyone Has ADHD

  [](#everyone-has-adhd)

  ## These Days?

  [](#these-days)

  notes:

  Why Does it Seem Like Everyone Has ADHD These Days?

  I think it's partly just the slow march of medical and diagnostic progress:

  The same proportion of the population have ADHD who have always had ADHD, but because we're able to diagnose and treat it so much better than even a decade or two ago, people are more aware of it.

  ---

  !\[\[left-handedness-graph.png\]\]

  notes:

  ## Left Handed Analogy

  [](#left-handed-analogy)

  It feels to me similar to the suppression of left-handedness in many countries around the turn of the last century, where children were forced to write with their right hand, despite more than a tenth of them favouring the left.

  This sinister practice died out in the 50s and the graph has been flat ever since, likely showing the true proportion of actual lefties.

  It's important to note that the number of naturally left-handed people didn't actually increase, the number of people learning to be left dominant increased because _we stopped persecuting them_

  ---

  #### The Number Hasn't Increased

  [](#the-number-hasnt-increased)

  ## We just Stopped

  [](#we-just-stopped)

  ## Persecuting Them

  [](#persecuting-them)

  (maybe this explains other trends...)

  [![|200](https://proxy-prod.omnivore-image-cache.app/0x0,s-DI0-b-dOyhJ8rf1_FfhM8rbJ5IMjmQWoU8HvZsNqu8/https://camo.githubusercontent.com/a5559bf8874fbc651ac1cdc6b96301f3f5724f88860cd26f9cb9e91bfdd0598c/68747470733a2f2f7777772e7072696465666c6167732e6f72672f7374617469632f7365617263682f646174612f696d672f70726f67726573735f70726964655f666c61672e737667)](https://camo.githubusercontent.com/a5559bf8874fbc651ac1cdc6b96301f3f5724f88860cd26f9cb9e91bfdd0598c/68747470733a2f2f7777772e7072696465666c6167732e6f72672f7374617469632f7365617263682f646174612f696d672f70726f67726573735f70726964655f666c61672e737667)

  notes:

  This attitude shift for both left-handedness and ADHD is huge. And perhaps you can think of a few others that fit this pattern too.

  Instead of "Here's Timmy, he's a troublemaker" it's "Here's Timmy, he has ADHD"

  One of those comments is judgemental, and one of them is constructive.

  ---

  ## My Experience

  [](#my-experience)

  ## Childhood

  [](#childhood)

  notes:

  I am extremely lucky. You can kind of reverse-engineer that from the knowledge that I'm a YouTuber. A lot of things had to align for us to be talking today.

  As a child I had extremely severe ADHD, then called ADD, as well as Dyslexia, plus the wildcard of Autism. What a winning hand!

  But in addition to those three interesting cards that fate dealt me, I had an ace. Or, two, up my sleeve:

  ---

  !\[\[superman-and-wonderwoman.png\]\]

  (artist's impression)

  notes:

  Both my parents, in addition to being wonderful supportive people, taught in primary school.

  This experience meant that when their first-born son wasn't making eye contact as early as he should, and seemed more disruptive and distracted among other children, they took FAST action.

  And it saved my life.

  ---

  _"Tristram spends most of his time organising his desk and looking around at what other students are doing. This doesn't affect his work **because he doesn't do any**."_

  ### — My Childhood Report

  [](#-my-childhood-report)

  notes:

  My parents got me to a childhood psychologist who observed me in class, noting hilariously, that (quote)

  After the diagnosis of ADHD, my parents lined up all the help I needed, fighting council budgets in our small rural school.

  I didn't learn foreign languages as a teenager, I left my friends in these subjects and took lessons in the special education department, and had a dedicated Ancillary teacher to keep me on task in every lesson.

  I needed all this guidance to help align my left-handed ADHD brain into the right-handed Neurotypical world that was not set up for people like me.

  What's astonishing is that despite attending a state school, this was all provided for me for free.

  When I ask my parents how they managed it, they say that they simply would not take no for an answer.

  How lucky am I?

  ---

  ## So What is ADHD?

  [](#so-what-is-adhd)

  notes:

  If you have a broken leg, there's a clear underlying condition that explains your symptoms. But with mental health, you can't always see the source of the problems.

  ADHD, like many mental health conditions, is a classification of groups of symptoms that respond to common treatment, rather than a fixed underlying cause.

  There are many hypothesised causes of ADHD, and the most dominant model is a Dopamine imbalance.

  ---

  ## Dopamine Imbalance

  [](#dopamine-imbalance)

  notes:

  Dopamine is my favourite brain chemical, and yours too. It is part of the reward system in the brain. Dopamine encourages us to do activities that the brain thinks are good for us.

  Our brains give us a huge dopamine hit in anticipation of positive primal activities: eating fatty foods, exercise, sex, entertainment, and so on.

  But it also rewards us with a smaller amount of dopamine for doing more cerebral activities:

  * Cleaning your house,
  * getting an early start on that paper that is due next month
  * daily practising art and music, or
  * raking up leaves in the yard

  In short, non-urgent tasks that you could just ignore. Until you can't.

  When we are children, our dopamine system, and understanding of the world, is not developed yet. Our parents and teachers have to persuade us into doing non-primal but important tasks.

  Because we are rewarded by our parents and teachers for doing a Good Job in these endeavours, our brain, and dopamine system, learns this, and we start to build autonomous positive habits for ourselves.

  But what if this system works in an atypical way?

  ---

  ## The ADHD Child

  [](#the-adhd-child)

  notes:

  Imagine a child, like a young Tris, who doesn't get enough dopamine from doing good tasks.

  Even before they can speak, they are learning through constant chemical feedback that when they eat a lot, they get loads of dopamine - they feel good. Same with running around and playing, loads of dopamine there. FANTASTIC!

  But sitting quietly because mummy told us to? No dopamine. No positive chemical re-enforcement.

  And this is a powerful teacher.

  We are slaves to our brain chemistry, Dopamine especially, and children especially.

  So by the time the ADHD child goes to school, there is a marked difference in behaviour, and they ALL might be because of an atypical dopamine system:

  * ==They're not intentionally disruptive in class, they're choosing dopamine-rewarding behaviours.==
  * ==They're not greedy when eating, they're choosing dopamine-rewarding behaviours==
  * ==They're not unable to listen to you when you talk to them, they're choosing dopamine-rewarding behaviours==
  * ==They are not constantly distracted, they're constantly engaging in dopamine-rewarding behaviour, just as evolution has taught us all to do.==

  The problem is: The system is not working in the same way as the other children.

  ---

  ## Graduation

  [](#graduation)

  notes:

  With all this support, both in-school and outside, by the time I was 16, I was awarded "Most Improved" in our graduation ceremony, an award I felt was somewhat of a back-handed complement! And two years later. I was off to University.

  How did I get to university? To paraphrase Dave Lister, from Red Dwarf:

  ---

  !\[\[lister-milkshake.png|800\]\]

  — Dave Lister (AKA Lister of Smeg, Cloister the Stupid, Sebastian Doyle, Skipper, Cinzano Bianco, Spanners)

  notes:

  > The normal way you get into University. The same old, usual, normal, boring way you get in. I failed my exams and applied.

  But now I was on my own, no-one could tell me to pay attention in class, they couldn't even force me out of bed to go to class.

  And self-direction is a nightmare for someone with ADHD.

  ---

  ## University Experimentation

  [](#university-experimentation)

  notes:

  Starting university, in 2004, I had access to broadband internet for the first time - imagine that!

  This allowed me to easily research ways to organise myself, what I would later come to know as _coping mechanisms_.

  At this stage, I thought I was cured. I had that 'most improved' award, after all. I was making eye contact like a champ, and my university grades were good.

  However, I knew that I was only scraping by. I was legendarily forgetful, missing both social and school appointments regularly.

  I started researching as much as I could, reading early Lifehacker articles and blog posts. I started building more coping mechanisms.

  * I had built enough of them for school, but not university
  * ==I no longer could get by on smarts, everyone's smart here==
  * But with the ADHD diagnosis, I was able to use the university's systems set up for people like me to just about get by.
  * By the end of university, fresh coping mechanisms in hand, I once again thought I was cured, and I began my career as a web developer.

  ---

  ## Professional Life

  [](#professional-life)

  notes:

  ==Web development might be the best job in the world, it certainly was the best job for me:
  It's naturally structured, with the work often agreed upon by the team, and divided up into byte-sized tasks.==

  ==The prevailing organisation system, scrum, had clear goals and structure that really worked for me, at least at first, it was like solving a puzzle or playing a video game, but every day.==

  And they were paying me to do it!

  I became senior very quickly, then team lead and everything was looking up.

  However, what I was experiencing was masking, not pure victory as I thought. And it happens to millions of people:

  ---

  ## ADHD Doesn't Present Strongly in a Structured & Deadline-Filled Environment

  [](#adhd-doesnt-present-strongly-in-a-structured--deadline-filled-environment)

  notes:

  ==If you, like many folks,==

  * ==wake up to an alarm,==
  * ==commute to your job for 8 or 9am,==
  * ==do whatever work your boss tells you to do,==
  * ==commute home and eat and then sleep,==
  * ==only to do it all over again the next day.==

  ==You might never notice you have ADHD.==

  ==Symptoms like executive dysfunction and inattention might not affect you in the 9-to-5 grind.==

  But guess what happened in 2020.

  ---

  ## THANKS CORONA

  [](#thanks-corona)

  ## I Hate it

  [](#i-hate-it)

  notes:

  Suddenly, your boss begged you NOT to come into the office, working from home became mandatory. And even after the lockdowns lifted, we discovered that in many cases, we didn't need the offices at all.

  It suddenly seemed like insanity to go from your home, where you have an internet connection and a computer, to sit in a noisy office where you have an internet connection and a computer.

  The collective dillusion of the Victorian workhouse was shattered by the coronavirus lockdowns.

  The world experimented, just briefly, with pausing infinite growth and grind:

  * Smog lifted in Beijing and Delhi,
  * Venice's canals ran clear, and
  * Working from home became the new standard.

  But this new-found autonomy, freedom, and self-direction was like a tsunami tide, first withdrawing and exposing all the rocks that were so carefully covered, and then returning, crashing down with the realisation that millions of people can't work outside the old frameworks.

  ---

  ## Let the Past Die

  [](#let-the-past-die)

  ## Kill it if You Have to

  [](#kill-it-if-you-have-to)

  notes:

  The solution isn't to pack the people back into the workhouse again. We're past that, for all the sabre-rattling of CEOs to get back to the office, that boat has sailed. The leases on the offices have been given up, and white-collar worker's eyes have opened to the fact that they were being tricked into giving away hours of their life commuting for literally no reason.

  And the free market, darling of the very CEOs who demand the return to work, has seized upon this efficiency, and will not let it go.

  ---

  ## 2020

  [](#2020)

  notes:

  In 2020 I survived the apocalypse, literally and figuratively, though many people did not. Both figuratively and literally.

  Wfh did not seem to affect my ADHD like it did for so many others. I think this was because I was already working in an asynchronous highly structured way, my structure came from systems (like JIRA and Trello and scrum), not the physical office, and so didn't affect me much.

  The change for me came 2 years later:

  ---

  ## Self-Employment

  [](#self-employment)

  ### Or

  [](#or)

  ## Rust Ruined Everything

  [](#rust-ruined-everything)

  #### (In The Nicest Way)

  [](#in-the-nicest-way)

  notes:

  * THIS is where it fell apart for me, when I went full-time on this channel.
  * I created my first rust video (link) to show to a few colleagues who couldn't make my in-person unhinged sermon about this incredible language I'd found.  
     * I uploaded, sent the link to them, and it got 10 views and I thought nothing of it.  
     * 2 weeks later, my email stopped loading one sleepy Sunday because I received so many comments overnight.  
     * The algorithm gods had chosen me, and I started writing more videos.
  * After a whirlwind 6 months, I went full time on this channel, supported by my generous patrons.
  * I can't thank you enough, by the way

  ---

  !\[\[patreon.png|200\]\]

  notes:

  It's just me running this channel, and I'm so grateful to everyone for supporting me on this wild adventure.

  If you'd like to see and give feedback on my videos up to a week early, as well as get discord perks, and even your name in the credits, it would be very kind of you to check my Patreon.

  I'm also offering a limited number of mentoring slots. If you'd like 1:1 tuition on Rust, Personal organisation, creative production, Web tech, or anything that I talk about in my videos, do sign up and let's chat!

  Back to my story:

  ---

  ## Executive Dysfunction

  [](#executive-dysfunction)

  notes:

  * But again, my ADHD caught up with me.
  * ==Right when I needed to be self-directed, to decide for myself what to spend each day doing.==
  * I found that I had a problem, and I needed more help.

  ---

  ## So how Do We Fix This Dopamine Imbalance?

  [](#so-how-do-we-fix-this-dopamine-imbalance)

  notes:

  If the common cause of ADHD might be so simple, can we just take a dopamine supplement and solve this all?

  Surprisingly, for mental health, yes, that's almost exactly what you can do. The medicine is simple, with few side-effects, and if you live in a developed country, available for free, but you must be diagnosed by a specialist.

  ---

  ## Adult Diagnosis

  [](#adult-diagnosis)

  For my UK friends, I went with [ADHD-360.com](https://www.adhd-360.com/)

  (not sponsored, obviously)

  notes:

  By this time it was September 2023, there was almost nowhere you could get an ADHD diagnosis, and those that were still accepting patients had multi-year waiting lists.

  After exhaustive research, I found a provider that was still accepting patients. They did this with a clever little hack of being extremely expensive.

  After sleeping on it, I decided that I might be repaid many times for my investment, and took the plunge.

  The next week I was diagnosed and had medication.

  ---

  ## Medication

  [](#medication)

  notes:

  ADHD medication can work wonders if you are being affected by the same dopamine imbalance as affects me.

  * They START you on medication for ADHD before much else.
  * Which is weird because in other conditions medication is usually the last resort.  
     * You typically try therapy and CBT before antidepressants, for example.
  * But ADHD meds are GOOD.

  ---

  ## ADHD Meds

  [](#adhd-meds)

  ## Are GOOD

  [](#are-good)

  notes:

  #todo

  * re-take and re-record this slide

  The path onto ADHD meds can run a lot smoother than when you first start taking other similarly wonderful, life-saving medicines. It is easier to find the right ADHD drug for you, there are fewer side effects, and you don't have to take them for long periods of time to let them build up slowly, unlike (say) antidepressants.

  As there is no pill for autism yet, ADHD is my first personal experience with daily medication.

  Some of my friends take antidepressants, and it sounds tough. Worth it, let me be clear, but tough at first, before they start working for you.

  This is nothing like my experience with ADHD meds.

  ---

  ## Properties of ADHD Stimulants

  [](#properties-of-adhd-stimulants)

  * No dependence/withdrawal
  * Lower the dose some days to suit you
  * Start and stop whenever suits you
  * Treatment holidays encouraged
  * Side effects are very slight

  notes:

  * There's no withdrawal symptoms apart from your ADHD symptoms returning
  * Some days you don't need a full dose. It is safe to dial your dose up and down, after initial titration (the week or two at the start where you and your doctor are figuring out the right dose for you).
  * Some days, perhaps lazy Saturdays, you can skip the meds altogether, and take a break to watch cartoons on the sofa all day.
  * Treatment holidays every year or so are encouraged because with the space the meds gave you, you might have built enough coping mechanisms to function well enough, like I did until this year. If so, you can stop taking them, or reduce their frequency.
  * Though your doctor will talk to you about your specific medication's side effects, for me, I only experienced two:  
     * Headache for the first few days,  
     * and euphoria.

  The headache was due to dehydration. I felt like in the first week as I was getting used to them, I needed to drink a little more than usual, perhaps a litre more per day. But after a few more weeks that settled down.

  The second side effect, euphoria, was very funny.

  ---

  ## ADHD Medication Made Me Feel Fantastic

  [](#adhd-medication-made-me-feel-fantastic)

  notes:

  I noticed I was feeling really positive, energized and happy, and I also noticed the word 'euphoria' in the side effects list for what I was taking.

  Though I knew that the medication was so low dose that this probably wasn't some chemical high, it did make me wonder!

  I mentioned it at my monthly catchup call with my specialist, as we made sure the medication and dose were working for me.

  He laughed and confirmed that I wasn't getting high, but nonetheless, it was a common side-effect of taking ADHD medicine.

  ---

  ## Imagine

  [](#imagine)

  ## Being in Control of Your Life

  [](#being-in-control-of-your-life)

  notes:

  The happiness I was feeling was that I could finally focus!

  To retrain my behaviour from desperately seeking dopamine in distractions, to quietly working on what I want to do:

  * Long hours of script writing for these videos, or
  * Long hours of focussed music composition, or
  * Long hours of quality chats with friends, where I actually talk about what I intend to talk about, ==not whatever random thoughts popped into my mind==

  I wish this quiet focus for everyone with ADHD, but getting diagnosed is not just difficult because of the medical system overheads.

  A big problem is the stigma about seeing your doctor in the first place.

  ---

  !\[\[south-park-drug-free-treatment.png\]\]

  'Drug-free ADD treatment' in S4E3 of _South Park_, 2000

  notes:

  Treatment of ADHD, or ADD as it was known when I was first diagnosed in the 90s, is plagued by stigma, still.

  When I was growing up, most media portrayed ADHD kids as loud troublemakers or inattentive slow-wits. The medicines are in the amphetamine family, a word that is more often associated with ravers, not doctors, despite it being an enormous category of common medicines that all do very different things in the brain.

  ---

  ## If Your Body Doesn't Make the Chemicals You Want

  [](#if-your-body-doesnt-make-the-chemicals-you-want)

  ## Store Bought is Fine

  [](#store-bought-is-fine)

  notes:

  We now know better, and we have really excellent treatment options.

  My medication is one-a-day, slow-release, and with such a small dose that I barely notice a difference when I'm taking it. I have to look back on my day and think "yeah, that was a good day, I got a lot of stuff done!" before I notice.

  There are many medicine options to choose from if you don't like the first one you and your doctor try out.

  If it's half as affective with you as it has been for me, it'll still be incredible.

  ---

  ## Lessons Learned

  [](#lessons-learned)

  * This is all very new
  * Drugs are good
  * Deadlines are good
  * Checklists are good
  * Study your Triggers and Habits  
     * Then improve them
  * Routines are good
  * Breaks are important

  notes:

  ADHD is a modern diagnosis of a challenge that people have been dealing with as long as there have been people. The diagnosis has been available to Boys for the longest, but girls and women and adult men are now finally allowed to have ADHD, as a little treat.

  It was only in 1994 that the first conference to discuss gender differences in ADHD was held. And the Adult diagnosis was only agreed-upon and formalised in 2013.

  ---

  ## "Attention Deficit Hyperactivity Disorder"

  [](#attention-deficit-hyperactivity-disorder)

  notes:

  The name is still a problem, and names have power. "Attention Deficit Hyperactivity Disorder"

  It sounds very judgemental, doesn't it? As someone with Autism, I don't have a deficit of social skills, or whatever. The name is non-judgemental.

  Our understanding is still evolving, and even the dominant Dopamine model I described today is subject to criticism and new research.

  (check out Rebecca Champ's published work for details there)

  ---

  ## ADHD and Societal Problems

  [](#adhd-and-societal-problems)

  notes:

  It's possible we evolved these ADHD behaviours because of wider population benefits. It might have been bad for the individual, but in pre-historic times, perhaps good for the whole to have a mix of neurotypical and neurodivergent folks.

  We're past that now, we don't have to take one for the team any more!

  There is a troubling trend that ADHD behaviours are dramatically over-represented in prison populations. Perhaps spiralling dopamine-rewarding behaviours can get out of hand in some people, or, simply, that if you don't fit in to neurotypical society, you can fall out of it.

  ==Though illegal drugs famously can boost dopamine, so can caffeine and chocolate.== You don't have to look very far for behaviours that increase dopamine that are not always good for you.

  When getting a diagnosis, even for the newly-recognised adult ADHD, pre-existing childhood symptoms are essential to find for the medical professional because otherwise it could represent a recent, new condition, and that could be an emergency.

  Don't let this historical requirement put you off. If you have ADHD today, you very likely had it as a child. Your doctor will help you.

  ---

  !\[\[coping-video-thumb-build-habits.png\]\]

  _"[Hack Your Brain With Elaborate Coping Mechanisms](https://www.youtube.com/watch?v=XUZ9VATeF%5F4)"_

  notes:

  I couldn't fit all my advice in this script today: I talked about 18 of my elaborate coping mechanisms in a previous video, pinned here and linked in the description, do watch that for more detail on what I do to manage my life day-to-day.

  If some of what I've said has struck a chord in you, talk to your doctor.

  I was very fortunate to be able to pay for a quicker diagnosis than many of my friends.

  But even if I couldn't afford that, my advice to my past self would be the same as to anyone: The wait is worth it, start the ball rolling today.

  ---

  !\[\[tri-hex-moon-white-transparent.png|300\]\]

  ## Thank You

  [](#thank-you)

  notes:

  ## OUTRO

  [](#outro)

  If you would like to support my channel, get early ad-free and tracking-free videos, vip discord access or 1:1 mentoring, head to patreon.com/noboilerplate.

  If you're interested in transhumanism and hopepunk stories, please check out my weekly sci-fi podcast, Lost Terminal.

  Or if urban fantasy is more your bag, do listen to a strange and beautiful podcast I produce every full moon called Modem Prometheus.

  Transcripts and compile-checked markdown sourcecode are available on github, links in the description, and corrections are in the pinned ERRATA comment.

  Thank you so much for watching, talk to you on Discord. \`\`

raw_content:
  ---
  id: 7484046e-a123-4c02-a67a-1822184aed23
  title: |
    noboilerplate/scripts/35-adhd-a-left-handed-brain.md at main · 0atman/noboilerplate
  status: ARCHIVED
  tags:
    - read-later
  date_added: 2024-03-25 17:37:48
  url_omnivore: |
    https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a
  url_original: |
    https://github.com/0atman/noboilerplate/blob/main/scripts/35-adhd-a-left-handed-brain.md
  ---

  # noboilerplate/scripts/35-adhd-a-left-handed-brain.md at main · 0atman/noboilerplate

  ## Notes

  Another examples:

  - Hyperfixation and the struggle to let go of the thing I'm doing, even if it meant to have problems with other tasks/people
  - The procastination to start doing something
  - The craving for "multitasking", which is more searching for dopamine in distraction while working.
  - The meltdowns and struggles when I loose the structure in life: coronavirus lockdowns and the meldown in the institude, when I'm on vacations, now that I don' have a job
  - The search of dopamine on other places in class.
  - The hurry of doing stuff
  ## Highlights

  * They're not intentionally disruptive in class, they're choosing dopamine-rewarding behaviours.
  * They're not greedy when eating, they're choosing dopamine-rewarding behaviours
  * They're not unable to listen to you when you talk to them, they're choosing dopamine-rewarding behaviours
  * They are not constantly distracted, they're constantly engaging in dopamine-rewarding behaviour, just as evolution has taught us all to do. 

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#4d4650e0-de8d-4038-87de-030d07d5b550) 

  ---

  I no longer could get by on smarts, everyone's smart here 

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#d5939abe-d36f-4fcd-b709-883d979d1237) 

  ---

  Web development might be the best job in the world, it certainly was the best job for me: It's naturally structured, with the work often agreed upon by the team, and divided up into byte-sized tasks. ^2f688b

  The prevailing organisation system, scrum, had clear goals and structure that really worked for me, at least at first, it was like solving a puzzle or playing a video game, but every day.  ^b121ff

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#be183259-2e7d-4ff0-bba2-4ce1ef8e7b88) 

  ---

  If you, like many folks,

  * wake up to an alarm,
  * commute to your job for 8 or 9am,
  * do whatever work your boss tells you to do,
  * commute home and eat and then sleep,
  * only to do it all over again the next day.

  You might never notice you have ADHD.

  Symptoms like executive dysfunction and inattention might not affect you in the 9-to-5 grind.  ^183e58

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#b594529e-a544-4475-8996-3880700e369a) 

  ---

  Right when I needed to be self-directed, to decide for myself what to spend each day doing. 

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#e5c4e121-b329-4c65-9534-a3d98fa50305) 

  ---

  not whatever random thoughts popped into my mind 

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#e4454351-e4ee-4e0b-89ba-3aca2f501018) 

  ---

  Though illegal drugs famously can boost dopamine, so can caffeine and chocolate. 

  [source](https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a#670219c7-995d-4877-80f6-b6de27776e27) 

  ---

  ## Original

  <style> :root {--r-code-font: "FiraCode Nerd Font";} .reveal .hljs {min-height: 50%;} </style>

  ## ADHD: A Left-handed Brain

  [](#adhd-a-left-handed-brain)

  ## (in A Right-handed World)

  [](#in-a-right-handed-world)

  ---

  !\[\[logo-head-half-digital.png|300\]\]

  ## In a Right-  
  handed World

  [](#in-a-right-handed-world-1)

  notes:

  Hi friends my name is Tris and this is No Boilerplate, focusing on fast, technical videos.

  This video is about ADHD.

  Despite not being left-handed, I do have a great deal of empathy for our left-handed cousins because of my ADHD.

  A surprising number of left-handed people are ambidextrous, they are equally skilled with either hand.

  This makes a lot of sense, in our world there are many manual interfaces that are explicitly right-handed, from scissors, to mice, to industrial machines.

  Some tools, like scissors, you can get a left-handed version of, of course. You can fill your house with physical coping mechanisms that help you function. But when you walk out into the world, you will find that nearly everything isn't designed for you.

  It's not fair, but

  * if you are left-handed, you must learn to be ambidextrous.
  * And if you have ADHD, you must learn to cope in a neurotypical world.

  ---

  !\[\[cc-logo.png\]\]

  ## Public Domain Videos

  [](#public-domain-videos)

  <https://github.com/0atman/noboilerplate/>

  notes: Everything you see in this video: script, links, and images are part of a markdown document available freely on github under a public domain licence.

  ---

  !\[\[tris-fake-wikipedia-contents.png|600\]\] (My very real Wikipedia page)

  notes:

  As I mentioned in my coping mechanisms video, I have ADHD.

  I was diagnosed in school in the early 90s, and have recently started taking medication after an adult diagnosis.

  ---

  ## I Am not a Doctor

  [](#i-am-not-a-doctor)

  ### I'm Hoping that Hearing My Story Could Be Helpful for Folks

  [](#im-hoping-that-hearing-my-story-could-be-helpful-for-folks)

  notes:

  #todo

  * screenshot this slide My adhd has profoundly shaped my life as a child and through to adulthood.

  I made this video to tell you my story, but also to share everything that I've learned along the way.

  ---

  !\[\[becca-champ-headshot.png|300\]\]

  [patreon.com/rebeccachampuk](https://www.patreon.com/rebeccachampuk/)

  notes:

  In addition to drawing upon my own experience of ADHD, I must thank my friend Rebecca Champ, who is currently researching better treatment of ADHD in adults as part of her PhD.

  This video has been much improved by her involvement, do check out her Patreon where she posts about ADHD and her cutting-edge research.

  Let's start with the big question:

  ---

  ## Why Does it Seem Like

  [](#why-does-it-seem-like)

  ## Everyone Has ADHD

  [](#everyone-has-adhd)

  ## These Days?

  [](#these-days)

  notes:

  Why Does it Seem Like Everyone Has ADHD These Days?

  I think it's partly just the slow march of medical and diagnostic progress:

  The same proportion of the population have ADHD who have always had ADHD, but because we're able to diagnose and treat it so much better than even a decade or two ago, people are more aware of it.

  ---

  !\[\[left-handedness-graph.png\]\]

  notes:

  ## Left Handed Analogy

  [](#left-handed-analogy)

  It feels to me similar to the suppression of left-handedness in many countries around the turn of the last century, where children were forced to write with their right hand, despite more than a tenth of them favouring the left.

  This sinister practice died out in the 50s and the graph has been flat ever since, likely showing the true proportion of actual lefties.

  It's important to note that the number of naturally left-handed people didn't actually increase, the number of people learning to be left dominant increased because _we stopped persecuting them_

  ---

  #### The Number Hasn't Increased

  [](#the-number-hasnt-increased)

  ## We just Stopped

  [](#we-just-stopped)

  ## Persecuting Them

  [](#persecuting-them)

  (maybe this explains other trends...)

  [![|200](https://proxy-prod.omnivore-image-cache.app/0x0,s-DI0-b-dOyhJ8rf1_FfhM8rbJ5IMjmQWoU8HvZsNqu8/https://camo.githubusercontent.com/a5559bf8874fbc651ac1cdc6b96301f3f5724f88860cd26f9cb9e91bfdd0598c/68747470733a2f2f7777772e7072696465666c6167732e6f72672f7374617469632f7365617263682f646174612f696d672f70726f67726573735f70726964655f666c61672e737667)](https://camo.githubusercontent.com/a5559bf8874fbc651ac1cdc6b96301f3f5724f88860cd26f9cb9e91bfdd0598c/68747470733a2f2f7777772e7072696465666c6167732e6f72672f7374617469632f7365617263682f646174612f696d672f70726f67726573735f70726964655f666c61672e737667)

  notes:

  This attitude shift for both left-handedness and ADHD is huge. And perhaps you can think of a few others that fit this pattern too.

  Instead of "Here's Timmy, he's a troublemaker" it's "Here's Timmy, he has ADHD"

  One of those comments is judgemental, and one of them is constructive.

  ---

  ## My Experience

  [](#my-experience)

  ## Childhood

  [](#childhood)

  notes:

  I am extremely lucky. You can kind of reverse-engineer that from the knowledge that I'm a YouTuber. A lot of things had to align for us to be talking today.

  As a child I had extremely severe ADHD, then called ADD, as well as Dyslexia, plus the wildcard of Autism. What a winning hand!

  But in addition to those three interesting cards that fate dealt me, I had an ace. Or, two, up my sleeve:

  ---

  !\[\[superman-and-wonderwoman.png\]\]

  (artist's impression)

  notes:

  Both my parents, in addition to being wonderful supportive people, taught in primary school.

  This experience meant that when their first-born son wasn't making eye contact as early as he should, and seemed more disruptive and distracted among other children, they took FAST action.

  And it saved my life.

  ---

  _"Tristram spends most of his time organising his desk and looking around at what other students are doing. This doesn't affect his work **because he doesn't do any**."_

  ### — My Childhood Report

  [](#-my-childhood-report)

  notes:

  My parents got me to a childhood psychologist who observed me in class, noting hilariously, that (quote)

  After the diagnosis of ADHD, my parents lined up all the help I needed, fighting council budgets in our small rural school.

  I didn't learn foreign languages as a teenager, I left my friends in these subjects and took lessons in the special education department, and had a dedicated Ancillary teacher to keep me on task in every lesson.

  I needed all this guidance to help align my left-handed ADHD brain into the right-handed Neurotypical world that was not set up for people like me.

  What's astonishing is that despite attending a state school, this was all provided for me for free.

  When I ask my parents how they managed it, they say that they simply would not take no for an answer.

  How lucky am I?

  ---

  ## So What is ADHD?

  [](#so-what-is-adhd)

  notes:

  If you have a broken leg, there's a clear underlying condition that explains your symptoms. But with mental health, you can't always see the source of the problems.

  ADHD, like many mental health conditions, is a classification of groups of symptoms that respond to common treatment, rather than a fixed underlying cause.

  There are many hypothesised causes of ADHD, and the most dominant model is a Dopamine imbalance.

  ---

  ## Dopamine Imbalance

  [](#dopamine-imbalance)

  notes:

  Dopamine is my favourite brain chemical, and yours too. It is part of the reward system in the brain. Dopamine encourages us to do activities that the brain thinks are good for us.

  Our brains give us a huge dopamine hit in anticipation of positive primal activities: eating fatty foods, exercise, sex, entertainment, and so on.

  But it also rewards us with a smaller amount of dopamine for doing more cerebral activities:

  * Cleaning your house,
  * getting an early start on that paper that is due next month
  * daily practising art and music, or
  * raking up leaves in the yard

  In short, non-urgent tasks that you could just ignore. Until you can't.

  When we are children, our dopamine system, and understanding of the world, is not developed yet. Our parents and teachers have to persuade us into doing non-primal but important tasks.

  Because we are rewarded by our parents and teachers for doing a Good Job in these endeavours, our brain, and dopamine system, learns this, and we start to build autonomous positive habits for ourselves.

  But what if this system works in an atypical way?

  ---

  ## The ADHD Child

  [](#the-adhd-child)

  notes:

  Imagine a child, like a young Tris, who doesn't get enough dopamine from doing good tasks.

  Even before they can speak, they are learning through constant chemical feedback that when they eat a lot, they get loads of dopamine - they feel good. Same with running around and playing, loads of dopamine there. FANTASTIC!

  But sitting quietly because mummy told us to? No dopamine. No positive chemical re-enforcement.

  And this is a powerful teacher.

  We are slaves to our brain chemistry, Dopamine especially, and children especially.

  So by the time the ADHD child goes to school, there is a marked difference in behaviour, and they ALL might be because of an atypical dopamine system:

  * ==They're not intentionally disruptive in class, they're choosing dopamine-rewarding behaviours.==
  * ==They're not greedy when eating, they're choosing dopamine-rewarding behaviours==
  * ==They're not unable to listen to you when you talk to them, they're choosing dopamine-rewarding behaviours==
  * ==They are not constantly distracted, they're constantly engaging in dopamine-rewarding behaviour, just as evolution has taught us all to do.==

  The problem is: The system is not working in the same way as the other children.

  ---

  ## Graduation

  [](#graduation)

  notes:

  With all this support, both in-school and outside, by the time I was 16, I was awarded "Most Improved" in our graduation ceremony, an award I felt was somewhat of a back-handed complement! And two years later. I was off to University.

  How did I get to university? To paraphrase Dave Lister, from Red Dwarf:

  ---

  !\[\[lister-milkshake.png|800\]\]

  — Dave Lister (AKA Lister of Smeg, Cloister the Stupid, Sebastian Doyle, Skipper, Cinzano Bianco, Spanners)

  notes:

  > The normal way you get into University. The same old, usual, normal, boring way you get in. I failed my exams and applied.

  But now I was on my own, no-one could tell me to pay attention in class, they couldn't even force me out of bed to go to class.

  And self-direction is a nightmare for someone with ADHD.

  ---

  ## University Experimentation

  [](#university-experimentation)

  notes:

  Starting university, in 2004, I had access to broadband internet for the first time - imagine that!

  This allowed me to easily research ways to organise myself, what I would later come to know as _coping mechanisms_.

  At this stage, I thought I was cured. I had that 'most improved' award, after all. I was making eye contact like a champ, and my university grades were good.

  However, I knew that I was only scraping by. I was legendarily forgetful, missing both social and school appointments regularly.

  I started researching as much as I could, reading early Lifehacker articles and blog posts. I started building more coping mechanisms.

  * I had built enough of them for school, but not university
  * ==I no longer could get by on smarts, everyone's smart here==
  * But with the ADHD diagnosis, I was able to use the university's systems set up for people like me to just about get by.
  * By the end of university, fresh coping mechanisms in hand, I once again thought I was cured, and I began my career as a web developer.

  ---

  ## Professional Life

  [](#professional-life)

  notes:

  ==Web development might be the best job in the world, it certainly was the best job for me:
  It's naturally structured, with the work often agreed upon by the team, and divided up into byte-sized tasks.==

  ==The prevailing organisation system, scrum, had clear goals and structure that really worked for me, at least at first, it was like solving a puzzle or playing a video game, but every day.==

  And they were paying me to do it!

  I became senior very quickly, then team lead and everything was looking up.

  However, what I was experiencing was masking, not pure victory as I thought. And it happens to millions of people:

  ---

  ## ADHD Doesn't Present Strongly in a Structured & Deadline-Filled Environment

  [](#adhd-doesnt-present-strongly-in-a-structured--deadline-filled-environment)

  notes:

  ==If you, like many folks,==

  * ==wake up to an alarm,==
  * ==commute to your job for 8 or 9am,==
  * ==do whatever work your boss tells you to do,==
  * ==commute home and eat and then sleep,==
  * ==only to do it all over again the next day.==

  ==You might never notice you have ADHD.==

  ==Symptoms like executive dysfunction and inattention might not affect you in the 9-to-5 grind.==

  But guess what happened in 2020.

  ---

  ## THANKS CORONA

  [](#thanks-corona)

  ## I Hate it

  [](#i-hate-it)

  notes:

  Suddenly, your boss begged you NOT to come into the office, working from home became mandatory. And even after the lockdowns lifted, we discovered that in many cases, we didn't need the offices at all.

  It suddenly seemed like insanity to go from your home, where you have an internet connection and a computer, to sit in a noisy office where you have an internet connection and a computer.

  The collective dillusion of the Victorian workhouse was shattered by the coronavirus lockdowns.

  The world experimented, just briefly, with pausing infinite growth and grind:

  * Smog lifted in Beijing and Delhi,
  * Venice's canals ran clear, and
  * Working from home became the new standard.

  But this new-found autonomy, freedom, and self-direction was like a tsunami tide, first withdrawing and exposing all the rocks that were so carefully covered, and then returning, crashing down with the realisation that millions of people can't work outside the old frameworks.

  ---

  ## Let the Past Die

  [](#let-the-past-die)

  ## Kill it if You Have to

  [](#kill-it-if-you-have-to)

  notes:

  The solution isn't to pack the people back into the workhouse again. We're past that, for all the sabre-rattling of CEOs to get back to the office, that boat has sailed. The leases on the offices have been given up, and white-collar worker's eyes have opened to the fact that they were being tricked into giving away hours of their life commuting for literally no reason.

  And the free market, darling of the very CEOs who demand the return to work, has seized upon this efficiency, and will not let it go.

  ---

  ## 2020

  [](#2020)

  notes:

  In 2020 I survived the apocalypse, literally and figuratively, though many people did not. Both figuratively and literally.

  Wfh did not seem to affect my ADHD like it did for so many others. I think this was because I was already working in an asynchronous highly structured way, my structure came from systems (like JIRA and Trello and scrum), not the physical office, and so didn't affect me much.

  The change for me came 2 years later:

  ---

  ## Self-Employment

  [](#self-employment)

  ### Or

  [](#or)

  ## Rust Ruined Everything

  [](#rust-ruined-everything)

  #### (In The Nicest Way)

  [](#in-the-nicest-way)

  notes:

  * THIS is where it fell apart for me, when I went full-time on this channel.
  * I created my first rust video (link) to show to a few colleagues who couldn't make my in-person unhinged sermon about this incredible language I'd found.  
     * I uploaded, sent the link to them, and it got 10 views and I thought nothing of it.  
     * 2 weeks later, my email stopped loading one sleepy Sunday because I received so many comments overnight.  
     * The algorithm gods had chosen me, and I started writing more videos.
  * After a whirlwind 6 months, I went full time on this channel, supported by my generous patrons.
  * I can't thank you enough, by the way

  ---

  !\[\[patreon.png|200\]\]

  notes:

  It's just me running this channel, and I'm so grateful to everyone for supporting me on this wild adventure.

  If you'd like to see and give feedback on my videos up to a week early, as well as get discord perks, and even your name in the credits, it would be very kind of you to check my Patreon.

  I'm also offering a limited number of mentoring slots. If you'd like 1:1 tuition on Rust, Personal organisation, creative production, Web tech, or anything that I talk about in my videos, do sign up and let's chat!

  Back to my story:

  ---

  ## Executive Dysfunction

  [](#executive-dysfunction)

  notes:

  * But again, my ADHD caught up with me.
  * ==Right when I needed to be self-directed, to decide for myself what to spend each day doing.==
  * I found that I had a problem, and I needed more help.

  ---

  ## So how Do We Fix This Dopamine Imbalance?

  [](#so-how-do-we-fix-this-dopamine-imbalance)

  notes:

  If the common cause of ADHD might be so simple, can we just take a dopamine supplement and solve this all?

  Surprisingly, for mental health, yes, that's almost exactly what you can do. The medicine is simple, with few side-effects, and if you live in a developed country, available for free, but you must be diagnosed by a specialist.

  ---

  ## Adult Diagnosis

  [](#adult-diagnosis)

  For my UK friends, I went with [ADHD-360.com](https://www.adhd-360.com/)

  (not sponsored, obviously)

  notes:

  By this time it was September 2023, there was almost nowhere you could get an ADHD diagnosis, and those that were still accepting patients had multi-year waiting lists.

  After exhaustive research, I found a provider that was still accepting patients. They did this with a clever little hack of being extremely expensive.

  After sleeping on it, I decided that I might be repaid many times for my investment, and took the plunge.

  The next week I was diagnosed and had medication.

  ---

  ## Medication

  [](#medication)

  notes:

  ADHD medication can work wonders if you are being affected by the same dopamine imbalance as affects me.

  * They START you on medication for ADHD before much else.
  * Which is weird because in other conditions medication is usually the last resort.  
     * You typically try therapy and CBT before antidepressants, for example.
  * But ADHD meds are GOOD.

  ---

  ## ADHD Meds

  [](#adhd-meds)

  ## Are GOOD

  [](#are-good)

  notes:

  #todo

  * re-take and re-record this slide

  The path onto ADHD meds can run a lot smoother than when you first start taking other similarly wonderful, life-saving medicines. It is easier to find the right ADHD drug for you, there are fewer side effects, and you don't have to take them for long periods of time to let them build up slowly, unlike (say) antidepressants.

  As there is no pill for autism yet, ADHD is my first personal experience with daily medication.

  Some of my friends take antidepressants, and it sounds tough. Worth it, let me be clear, but tough at first, before they start working for you.

  This is nothing like my experience with ADHD meds.

  ---

  ## Properties of ADHD Stimulants

  [](#properties-of-adhd-stimulants)

  * No dependence/withdrawal
  * Lower the dose some days to suit you
  * Start and stop whenever suits you
  * Treatment holidays encouraged
  * Side effects are very slight

  notes:

  * There's no withdrawal symptoms apart from your ADHD symptoms returning
  * Some days you don't need a full dose. It is safe to dial your dose up and down, after initial titration (the week or two at the start where you and your doctor are figuring out the right dose for you).
  * Some days, perhaps lazy Saturdays, you can skip the meds altogether, and take a break to watch cartoons on the sofa all day.
  * Treatment holidays every year or so are encouraged because with the space the meds gave you, you might have built enough coping mechanisms to function well enough, like I did until this year. If so, you can stop taking them, or reduce their frequency.
  * Though your doctor will talk to you about your specific medication's side effects, for me, I only experienced two:  
     * Headache for the first few days,  
     * and euphoria.

  The headache was due to dehydration. I felt like in the first week as I was getting used to them, I needed to drink a little more than usual, perhaps a litre more per day. But after a few more weeks that settled down.

  The second side effect, euphoria, was very funny.

  ---

  ## ADHD Medication Made Me Feel Fantastic

  [](#adhd-medication-made-me-feel-fantastic)

  notes:

  I noticed I was feeling really positive, energized and happy, and I also noticed the word 'euphoria' in the side effects list for what I was taking.

  Though I knew that the medication was so low dose that this probably wasn't some chemical high, it did make me wonder!

  I mentioned it at my monthly catchup call with my specialist, as we made sure the medication and dose were working for me.

  He laughed and confirmed that I wasn't getting high, but nonetheless, it was a common side-effect of taking ADHD medicine.

  ---

  ## Imagine

  [](#imagine)

  ## Being in Control of Your Life

  [](#being-in-control-of-your-life)

  notes:

  The happiness I was feeling was that I could finally focus!

  To retrain my behaviour from desperately seeking dopamine in distractions, to quietly working on what I want to do:

  * Long hours of script writing for these videos, or
  * Long hours of focussed music composition, or
  * Long hours of quality chats with friends, where I actually talk about what I intend to talk about, ==not whatever random thoughts popped into my mind==

  I wish this quiet focus for everyone with ADHD, but getting diagnosed is not just difficult because of the medical system overheads.

  A big problem is the stigma about seeing your doctor in the first place.

  ---

  !\[\[south-park-drug-free-treatment.png\]\]

  'Drug-free ADD treatment' in S4E3 of _South Park_, 2000

  notes:

  Treatment of ADHD, or ADD as it was known when I was first diagnosed in the 90s, is plagued by stigma, still.

  When I was growing up, most media portrayed ADHD kids as loud troublemakers or inattentive slow-wits. The medicines are in the amphetamine family, a word that is more often associated with ravers, not doctors, despite it being an enormous category of common medicines that all do very different things in the brain.

  ---

  ## If Your Body Doesn't Make the Chemicals You Want

  [](#if-your-body-doesnt-make-the-chemicals-you-want)

  ## Store Bought is Fine

  [](#store-bought-is-fine)

  notes:

  We now know better, and we have really excellent treatment options.

  My medication is one-a-day, slow-release, and with such a small dose that I barely notice a difference when I'm taking it. I have to look back on my day and think "yeah, that was a good day, I got a lot of stuff done!" before I notice.

  There are many medicine options to choose from if you don't like the first one you and your doctor try out.

  If it's half as affective with you as it has been for me, it'll still be incredible.

  ---

  ## Lessons Learned

  [](#lessons-learned)

  * This is all very new
  * Drugs are good
  * Deadlines are good
  * Checklists are good
  * Study your Triggers and Habits  
     * Then improve them
  * Routines are good
  * Breaks are important

  notes:

  ADHD is a modern diagnosis of a challenge that people have been dealing with as long as there have been people. The diagnosis has been available to Boys for the longest, but girls and women and adult men are now finally allowed to have ADHD, as a little treat.

  It was only in 1994 that the first conference to discuss gender differences in ADHD was held. And the Adult diagnosis was only agreed-upon and formalised in 2013.

  ---

  ## "Attention Deficit Hyperactivity Disorder"

  [](#attention-deficit-hyperactivity-disorder)

  notes:

  The name is still a problem, and names have power. "Attention Deficit Hyperactivity Disorder"

  It sounds very judgemental, doesn't it? As someone with Autism, I don't have a deficit of social skills, or whatever. The name is non-judgemental.

  Our understanding is still evolving, and even the dominant Dopamine model I described today is subject to criticism and new research.

  (check out Rebecca Champ's published work for details there)

  ---

  ## ADHD and Societal Problems

  [](#adhd-and-societal-problems)

  notes:

  It's possible we evolved these ADHD behaviours because of wider population benefits. It might have been bad for the individual, but in pre-historic times, perhaps good for the whole to have a mix of neurotypical and neurodivergent folks.

  We're past that now, we don't have to take one for the team any more!

  There is a troubling trend that ADHD behaviours are dramatically over-represented in prison populations. Perhaps spiralling dopamine-rewarding behaviours can get out of hand in some people, or, simply, that if you don't fit in to neurotypical society, you can fall out of it.

  ==Though illegal drugs famously can boost dopamine, so can caffeine and chocolate.== You don't have to look very far for behaviours that increase dopamine that are not always good for you.

  When getting a diagnosis, even for the newly-recognised adult ADHD, pre-existing childhood symptoms are essential to find for the medical professional because otherwise it could represent a recent, new condition, and that could be an emergency.

  Don't let this historical requirement put you off. If you have ADHD today, you very likely had it as a child. Your doctor will help you.

  ---

  !\[\[coping-video-thumb-build-habits.png\]\]

  _"[Hack Your Brain With Elaborate Coping Mechanisms](https://www.youtube.com/watch?v=XUZ9VATeF%5F4)"_

  notes:

  I couldn't fit all my advice in this script today: I talked about 18 of my elaborate coping mechanisms in a previous video, pinned here and linked in the description, do watch that for more detail on what I do to manage my life day-to-day.

  If some of what I've said has struck a chord in you, talk to your doctor.

  I was very fortunate to be able to pay for a quicker diagnosis than many of my friends.

  But even if I couldn't afford that, my advice to my past self would be the same as to anyone: The wait is worth it, start the ball rolling today.

  ---

  !\[\[tri-hex-moon-white-transparent.png|300\]\]

  ## Thank You

  [](#thank-you)

  notes:

  ## OUTRO

  [](#outro)

  If you would like to support my channel, get early ad-free and tracking-free videos, vip discord access or 1:1 mentoring, head to patreon.com/noboilerplate.

  If you're interested in transhumanism and hopepunk stories, please check out my weekly sci-fi podcast, Lost Terminal.

  Or if urban fantasy is more your bag, do listen to a strange and beautiful podcast I produce every full moon called Modem Prometheus.

  Transcripts and compile-checked markdown sourcecode are available on github, links in the description, and corrections are in the pinned ERRATA comment.

  Thank you so much for watching, talk to you on Discord. \`\`

metadata:
  {"date_added":"2024-03-25 17:37:48","id":"7484046e-a123-4c02-a67a-1822184aed23","status":"ARCHIVED","tags":["read-later"],"title":"noboilerplate/scripts/35-adhd-a-left-handed-brain.md at main · 0atman/noboilerplate\n","url_omnivore":"https://omnivore.app/me/noboilerplate-scripts-35-adhd-a-left-handed-brain-md-at-main-0-a-18e77555f9a\n","url_original":"https://github.com/0atman/noboilerplate/blob/main/scripts/35-adhd-a-left-handed-brain.md\n"}


path: Omnivore/2024-03-26 - How Do Open Source Software Lifecycles Work-.md
sortable_path: Omnivore2024-03-26 - How Do Open Source Software Lifecycles Work-.md
title: How Do Open Source Software Lifecycles Work?
lead: # How Do Open Source Software Lifecycles Work?
checksum: f3d66149ce31ab14318bfbd16cbdde080fe15e53e41c219608cfa6ca5df05e4d
created: 2024-09-15 00:40:59.337249534+00:00
modified: 2024-09-23 19:31:31.973006497+00:00
body:
  # How Do Open Source Software Lifecycles Work?

  ## Highlights

  * There's the **alpha release** – an initial version of software that is typically not feature-complete and is not intended for use by the general public. It is used for testing and internal use only.
  * A **beta release** is a pre-release version of software that is feature-complete but may still have bugs or other issues. It is released to a limited audience for testing and feedback before the final release.
  * Next will be a **release candidate**, which is a version of software that is considered stable and ready for release, pending final testing and bug fixes.
  * And finally you'll produce a **general availability release** as the final version of software that's released to the general public. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#e773fb30-19c5-435e-b694-3dc361102961) 

  ---

  Major releases are typically used for significant changes or new features that are not backward compatible with previous versions. Major releases are usually announced to users and customers with a lot of fanfare, as they represent a significant milestone in the development of the software.

  Minor releases, on the other hand, are used for smaller changes or new features that are backward compatible with previous versions. Minor releases are typically released more frequently and are intended to provide users with incremental improvements to the software. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#a3fc7d71-2005-47d8-ae20-ad8ba83d0096) 

  ---

  Backward compatibility is the ability of a newer version of software or system to work with files, data, and other components created in an older version of that software or system. This means that users can upgrade to the newer version without losing access to their existing data or files. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#a2e6d179-5650-4258-aeca-c97135d5cbd1) 

  ---

  Feature freeze is a stage in the software development process where no new features are added to the product or project. It is typically implemented as a deadline by which all new features must be completed and approved before the release of the software product. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#8f0133c9-d2fd-4bd5-ad62-6e5bbb42fd39) 

  ---

  A roadmap is a high-level strategic document that outlines the goals, objectives, and timeline for a software product's development. It provides a visual representation of the product development plan, outlining key milestones and the expected timeline for completion. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#15a5ff9c-9ba1-423a-9ee3-a4e9359ee251) 

  ---

  A changelog is a document that lists the changes made to a software product over time, including bug fixes, new features, and other updates. Changelogs allow developers and other stakeholders to understand what's been updated and when. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#49c22f66-4cae-4b35-9830-8ca179e57c1c) 

  ---

  Long term support refers to a software version that is designated for longer-term support and maintenance, typically for a period of several years. During this time, the software vendor provides ongoing support, including bug fixes, security updates, and other maintenance activities. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#44327f2b-0570-483f-9aa4-d73ba0a88d18) 

  ---

  end-of-life refers to a point in time when a software version is no longer supported by the vendor. This means that the vendor will no longer provide 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#88586f0a-919d-4ce9-b50a-dc2c4176950e) 

  ---

  ## Original

  ![How Do Open Source Software Lifecycles Work?](https://proxy-prod.omnivore-image-cache.app/1920x1280,s-HVVQVq9sV72IFFJobNBLtXawXLtTdb-1jZAS2Krqz8/https://www.freecodecamp.org/news/content/images/size/w2000/2024/03/danial-igdery-FCHlYvR5gJI-unsplash.jpg) 

  Software projects follow identifiable milestones as they move towards a successful completion. If you want to give your project the best chances of success, it's important to understand what those milestones mean and how they're defined.

  This article comes from my Complete LPI Open Source Essentials Exam Study Guide [Udemy course](https://www.udemy.com/course/complete-lpi-open-source-essentials-exam-study-guide/?referralCode=05B999CE18EF4D6E243C) and [book](https://www.amazon.com/dp/B0CK3Q8DCF). You can also [view the video version](https://youtu.be/eZ%5F4DLVxs7Q).

  ## What are Software Releases?

  There are several types of software releases and some related versioning methods used to keep track of software changes and to communicate them to users. We'll start with releases.

  * ==There's the== **==alpha release==** ==– an initial version of software that is typically not feature-complete and is not intended for use by the general public. It is used for testing and internal use only.==
  * ==A== **==beta release==** ==is a pre-release version of software that is feature-complete but may still have bugs or other issues. It is released to a limited audience for testing and feedback before the final release.==
  * ==Next will be a== **==release candidate==**==, which is a version of software that is considered stable and ready for release, pending final testing and bug fixes.==
  * ==And finally you'll produce a== **==general availability release==** ==as the final version of software that's released to the general public.==

  ## What is Software Versioning?

  Software versioning (sometimes known as semantic versioning) is the practice of assigning unique version numbers to different releases of software. 

  Here's a useful example:

  ```angelscript
  vmlinuz-5.19.0-40-generic
  ```

  In some approaches, the first number in the version number ("5" in this case) is the major version. A major version change indicates significant changes or new features that are not backward compatible with previous versions. 

  The second number ("19") is the minor version. A minor version change indicates new features or functionality that are backward compatible with previous versions.

  The third number in the version number ("0") is the patch version. A patch version change indicates bug fixes or minor changes that are backward compatible with previous versions.

  Why distinguish between major and minor releases? ==Major releases are typically used for significant changes or new features that are not backward compatible with previous versions. Major releases are usually announced to users and customers with a lot of fanfare, as they represent a significant milestone in the development of the software.==

  ==Minor releases, on the other hand, are used for smaller changes or new features that are backward compatible with previous versions. Minor releases are typically released more frequently and are intended to provide users with incremental improvements to the software.==

  ## What Does Backward Compatibility Mean?

  ==Backward compatibility is the ability of a newer version of software or system to work with files, data, and other components created in an older version of that software or system. This means that users can upgrade to the newer version without losing access to their existing data or files.==

  For example, let's assume a user has created a document in an older version of a word processing program. If the newer version of the program is backward compatible, the user can open and edit the same document without any issues. This is because the newer version of the program is designed to read and interpret the file format used in the older version. 

  However, if the newer version of the program is not backward compatible, the user may not be able to open or edit the file created in the older version without first converting or re-creating it in the newer version. This can be a significant inconvenience for users and can lead to compatibility issues and data loss.

  Here are some more quick – but important – definitions.

  ## Feature Freeze

  ==Feature freeze is a stage in the software development process where no new features are added to the product or project. It is typically implemented as a deadline by which all new features must be completed and approved before the release of the software product.==

  The primary goal of a feature freeze is to stabilize the software product in preparation for release. By setting a feature freeze deadline, developers can focus on completing and testing existing features rather than introducing new ones. This allows time for rigorous testing and bug fixing, improving the overall quality and reliability of the software product.

  ## Roadmaps

  ==A roadmap is a high-level strategic document that outlines the goals, objectives, and timeline for a software product's development. It provides a visual representation of the product development plan, outlining key milestones and the expected timeline for completion.== 

  Roadmaps are useful for communicating the overall direction of a software product to stakeholders, including developers, product managers, investors, and customers.

  ## Milestones

  Milestones are specific, measurable achievements that mark progress towards the completion of a software product. They're typically set at regular intervals throughout the development process and are used to track progress and ensure that the project stays on schedule. 

  Examples of milestones might include the completion of a specific feature, the successful completion of a testing phase, or the release of a beta version of the software product.

  ## Changelog

  ==A changelog is a document that lists the changes made to a software product over time, including bug fixes, new features, and other updates. Changelogs allow developers and other stakeholders to understand what's been updated and when.== 

  Changelogs are particularly useful for software products that are updated frequently or have a large number of contributors.

  ## Long Term Support (LTS)

  ==Long term support refers to a software version that is designated for longer-term support and maintenance, typically for a period of several years. During this time, the software vendor provides ongoing support, including bug fixes, security updates, and other maintenance activities.== 

  LTS versions are often used in enterprise environments where stability and reliability are critical. In April of each even year, for example, Canonical will release an LTS version of Ubuntu. These versions are normally supported for four or five years.

  ## End of Life (EOL)

  On the other hand, ==end-of-life refers to a point in time when a software version is no longer supported by the vendor. This means that the vendor will no longer provide== updates or fixes for the software, and any security vulnerabilities or bugs that are discovered will not be addressed. This can leave users with unsupported software that may be prone to security risks and other issues.

  When a software product reaches its end-of-life, it is typically retired, and users are encouraged to upgrade to a newer version or switch to a different product. The EOL process is often gradual, with the vendor providing advance notice and guidance to users to help them migrate to a new version or product.

  ## Conclusion

  You've seen how it's important to understand the stages through which successful software projects will move. And this isn't just theoretical, because this knowledge gives you the tools to track your progress and quickly identify when things are going off rails.

  __This article comes from my [_Complete LPI Open Source Essentials Study Guide course](https://www.udemy.com/course/complete-lpi-open-source-essentials-exam-study-guide/?referralCode=05B999CE18EF4D6E243C)_. And there's much more technology goodness available at [bootstrap-it.com](https://bootstrap-it.com/)_

  ---

  ---

   Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. [Get started](https://www.freecodecamp.org/learn/)

raw_content:
  ---
  id: 7ec51414-ec16-11ee-9d24-0f20db024fdd
  title: |
    How Do Open Source Software Lifecycles Work?
  status: ARCHIVED
  tags:
    - read-later
    - RSS
  date_added: 2024-03-26 14:01:50
  url_omnivore: |
    https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba
  url_original: |
    https://www.freecodecamp.org/news/understanding-open-source-software-lifecycles/
  ---

  # How Do Open Source Software Lifecycles Work?

  ## Highlights

  * There's the **alpha release** – an initial version of software that is typically not feature-complete and is not intended for use by the general public. It is used for testing and internal use only.
  * A **beta release** is a pre-release version of software that is feature-complete but may still have bugs or other issues. It is released to a limited audience for testing and feedback before the final release.
  * Next will be a **release candidate**, which is a version of software that is considered stable and ready for release, pending final testing and bug fixes.
  * And finally you'll produce a **general availability release** as the final version of software that's released to the general public. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#e773fb30-19c5-435e-b694-3dc361102961) 

  ---

  Major releases are typically used for significant changes or new features that are not backward compatible with previous versions. Major releases are usually announced to users and customers with a lot of fanfare, as they represent a significant milestone in the development of the software.

  Minor releases, on the other hand, are used for smaller changes or new features that are backward compatible with previous versions. Minor releases are typically released more frequently and are intended to provide users with incremental improvements to the software. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#a3fc7d71-2005-47d8-ae20-ad8ba83d0096) 

  ---

  Backward compatibility is the ability of a newer version of software or system to work with files, data, and other components created in an older version of that software or system. This means that users can upgrade to the newer version without losing access to their existing data or files. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#a2e6d179-5650-4258-aeca-c97135d5cbd1) 

  ---

  Feature freeze is a stage in the software development process where no new features are added to the product or project. It is typically implemented as a deadline by which all new features must be completed and approved before the release of the software product. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#8f0133c9-d2fd-4bd5-ad62-6e5bbb42fd39) 

  ---

  A roadmap is a high-level strategic document that outlines the goals, objectives, and timeline for a software product's development. It provides a visual representation of the product development plan, outlining key milestones and the expected timeline for completion. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#15a5ff9c-9ba1-423a-9ee3-a4e9359ee251) 

  ---

  A changelog is a document that lists the changes made to a software product over time, including bug fixes, new features, and other updates. Changelogs allow developers and other stakeholders to understand what's been updated and when. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#49c22f66-4cae-4b35-9830-8ca179e57c1c) 

  ---

  Long term support refers to a software version that is designated for longer-term support and maintenance, typically for a period of several years. During this time, the software vendor provides ongoing support, including bug fixes, security updates, and other maintenance activities. 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#44327f2b-0570-483f-9aa4-d73ba0a88d18) 

  ---

  end-of-life refers to a point in time when a software version is no longer supported by the vendor. This means that the vendor will no longer provide 

  [source](https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba#88586f0a-919d-4ce9-b50a-dc2c4176950e) 

  ---

  ## Original

  ![How Do Open Source Software Lifecycles Work?](https://proxy-prod.omnivore-image-cache.app/1920x1280,s-HVVQVq9sV72IFFJobNBLtXawXLtTdb-1jZAS2Krqz8/https://www.freecodecamp.org/news/content/images/size/w2000/2024/03/danial-igdery-FCHlYvR5gJI-unsplash.jpg) 

  Software projects follow identifiable milestones as they move towards a successful completion. If you want to give your project the best chances of success, it's important to understand what those milestones mean and how they're defined.

  This article comes from my Complete LPI Open Source Essentials Exam Study Guide [Udemy course](https://www.udemy.com/course/complete-lpi-open-source-essentials-exam-study-guide/?referralCode=05B999CE18EF4D6E243C) and [book](https://www.amazon.com/dp/B0CK3Q8DCF). You can also [view the video version](https://youtu.be/eZ%5F4DLVxs7Q).

  ## What are Software Releases?

  There are several types of software releases and some related versioning methods used to keep track of software changes and to communicate them to users. We'll start with releases.

  * ==There's the== **==alpha release==** ==– an initial version of software that is typically not feature-complete and is not intended for use by the general public. It is used for testing and internal use only.==
  * ==A== **==beta release==** ==is a pre-release version of software that is feature-complete but may still have bugs or other issues. It is released to a limited audience for testing and feedback before the final release.==
  * ==Next will be a== **==release candidate==**==, which is a version of software that is considered stable and ready for release, pending final testing and bug fixes.==
  * ==And finally you'll produce a== **==general availability release==** ==as the final version of software that's released to the general public.==

  ## What is Software Versioning?

  Software versioning (sometimes known as semantic versioning) is the practice of assigning unique version numbers to different releases of software. 

  Here's a useful example:

  ```angelscript
  vmlinuz-5.19.0-40-generic
  ```

  In some approaches, the first number in the version number ("5" in this case) is the major version. A major version change indicates significant changes or new features that are not backward compatible with previous versions. 

  The second number ("19") is the minor version. A minor version change indicates new features or functionality that are backward compatible with previous versions.

  The third number in the version number ("0") is the patch version. A patch version change indicates bug fixes or minor changes that are backward compatible with previous versions.

  Why distinguish between major and minor releases? ==Major releases are typically used for significant changes or new features that are not backward compatible with previous versions. Major releases are usually announced to users and customers with a lot of fanfare, as they represent a significant milestone in the development of the software.==

  ==Minor releases, on the other hand, are used for smaller changes or new features that are backward compatible with previous versions. Minor releases are typically released more frequently and are intended to provide users with incremental improvements to the software.==

  ## What Does Backward Compatibility Mean?

  ==Backward compatibility is the ability of a newer version of software or system to work with files, data, and other components created in an older version of that software or system. This means that users can upgrade to the newer version without losing access to their existing data or files.==

  For example, let's assume a user has created a document in an older version of a word processing program. If the newer version of the program is backward compatible, the user can open and edit the same document without any issues. This is because the newer version of the program is designed to read and interpret the file format used in the older version. 

  However, if the newer version of the program is not backward compatible, the user may not be able to open or edit the file created in the older version without first converting or re-creating it in the newer version. This can be a significant inconvenience for users and can lead to compatibility issues and data loss.

  Here are some more quick – but important – definitions.

  ## Feature Freeze

  ==Feature freeze is a stage in the software development process where no new features are added to the product or project. It is typically implemented as a deadline by which all new features must be completed and approved before the release of the software product.==

  The primary goal of a feature freeze is to stabilize the software product in preparation for release. By setting a feature freeze deadline, developers can focus on completing and testing existing features rather than introducing new ones. This allows time for rigorous testing and bug fixing, improving the overall quality and reliability of the software product.

  ## Roadmaps

  ==A roadmap is a high-level strategic document that outlines the goals, objectives, and timeline for a software product's development. It provides a visual representation of the product development plan, outlining key milestones and the expected timeline for completion.== 

  Roadmaps are useful for communicating the overall direction of a software product to stakeholders, including developers, product managers, investors, and customers.

  ## Milestones

  Milestones are specific, measurable achievements that mark progress towards the completion of a software product. They're typically set at regular intervals throughout the development process and are used to track progress and ensure that the project stays on schedule. 

  Examples of milestones might include the completion of a specific feature, the successful completion of a testing phase, or the release of a beta version of the software product.

  ## Changelog

  ==A changelog is a document that lists the changes made to a software product over time, including bug fixes, new features, and other updates. Changelogs allow developers and other stakeholders to understand what's been updated and when.== 

  Changelogs are particularly useful for software products that are updated frequently or have a large number of contributors.

  ## Long Term Support (LTS)

  ==Long term support refers to a software version that is designated for longer-term support and maintenance, typically for a period of several years. During this time, the software vendor provides ongoing support, including bug fixes, security updates, and other maintenance activities.== 

  LTS versions are often used in enterprise environments where stability and reliability are critical. In April of each even year, for example, Canonical will release an LTS version of Ubuntu. These versions are normally supported for four or five years.

  ## End of Life (EOL)

  On the other hand, ==end-of-life refers to a point in time when a software version is no longer supported by the vendor. This means that the vendor will no longer provide== updates or fixes for the software, and any security vulnerabilities or bugs that are discovered will not be addressed. This can leave users with unsupported software that may be prone to security risks and other issues.

  When a software product reaches its end-of-life, it is typically retired, and users are encouraged to upgrade to a newer version or switch to a different product. The EOL process is often gradual, with the vendor providing advance notice and guidance to users to help them migrate to a new version or product.

  ## Conclusion

  You've seen how it's important to understand the stages through which successful software projects will move. And this isn't just theoretical, because this knowledge gives you the tools to track your progress and quickly identify when things are going off rails.

  __This article comes from my [_Complete LPI Open Source Essentials Study Guide course](https://www.udemy.com/course/complete-lpi-open-source-essentials-exam-study-guide/?referralCode=05B999CE18EF4D6E243C)_. And there's much more technology goodness available at [bootstrap-it.com](https://bootstrap-it.com/)_

  ---

  ---

   Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. [Get started](https://www.freecodecamp.org/learn/) 

metadata:
  {"date_added":"2024-03-26 14:01:50","id":"7ec51414-ec16-11ee-9d24-0f20db024fdd","status":"ARCHIVED","tags":["read-later","RSS"],"title":"How Do Open Source Software Lifecycles Work?\n","url_omnivore":"https://omnivore.app/me/how-do-open-source-software-lifecycles-work-18e7f16d0ba\n","url_original":"https://www.freecodecamp.org/news/understanding-open-source-software-lifecycles/\n"}


path: Omnivore/2024-03-27 - The Complete Guide to Time Blocking.md
sortable_path: Omnivore2024-03-27 - The Complete Guide to Time Blocking.md
title: The Complete Guide to Time Blocking
lead: # The Complete Guide to Time Blocking
checksum: 16fed3d015809537575e60c6eaeaa7e546c345e64b373949f99e00f8f36c4b0c
created: 2024-09-15 00:40:59.373401011+00:00
modified: 2024-09-23 19:31:31.973006497+00:00
body:
  # The Complete Guide to Time Blocking

  ## Highlights

  Time blocking is a time management method that asks you to divide your day into blocks of time. Each block is dedicated to accomplishing a specific task or group of tasks, and only those specific tasks. Instead of keeping an open-ended to-do list of things you’ll get to as you can, you’ll start each day with a concrete schedule outlining what you’ll work on and when. 

  [source](https://omnivore.app/me/https-todoist-com-productivity-methods-time-blocking-18bbc432143#6ca022ff-400a-4f70-8031-1a3caa0e7246) 

  ---

  With days that are time blocked in advance, you won’t have to constantly make choices about what to focus on. 

  [source](https://omnivore.app/me/https-todoist-com-productivity-methods-time-blocking-18bbc432143#21fb5ecc-b00e-4f14-8d60-84eec666e8a9) 

  ---

  Task batching is when you group similar (usually smaller) tasks together and schedule specific time blocks to complete all at once. By tackling similar tasks in a group, you’ll limit the amount of context switching you have to do throughout your day, saving precious time and mental energy. 

  [source](https://omnivore.app/me/https-todoist-com-productivity-methods-time-blocking-18bbc432143#ce3acd05-a296-4204-acfe-e0822f8a83d2) 

  ---

  Instead of setting aside time blocks for each area of responsibility each day, day theming dedicates a full day each week to each responsibility. 

  [source](https://omnivore.app/me/https-todoist-com-productivity-methods-time-blocking-18bbc432143#5d5543a9-0d8d-42ed-aa24-4ecfeb07d6ac) 

  ---

  time boxing asks you to limit how much time you'll dedicate to a specific task. 

  > [!note]
  > Is _"I'm gonna finish this in X time"_, instead of _"I'm gonna work on this for X time"_

  [source](https://omnivore.app/me/https-todoist-com-productivity-methods-time-blocking-18bbc432143#e342c6ce-607b-4482-af54-4ffbf81ab7ab) 

  ---

  ## Original

  * Why is time blocking so effective?
  * But will time blocking work with my job?
  * Some common time blocking missteps and how to avoid them
  * Time blocking with Todoist

  > "A 40 hour time-blocked work week, I estimate, produces the same amount of output as a 60+ hour work week pursued without structure." 
  > 
  > — Cal Newport, Author of _Deep Work_

  If there's one thing that can be said about the modern workplace, it's this: If you don't control your schedule, it will control you.

  How do you balance the necessary evils of meetings, email, team chat, and "busy work" with focused time for the things you truly care about? Since becoming a digital hermit isn’t an option for most of us, we need concrete strategies to help us focus in a world designed to distract us.

  That’s where time blocking comes in.

  We've made a companion [video for time blocking](https://youtu.be/FLxt4Sbpud4) because everyone learns differently and we know some of you prefer to watch instead of read. Check out that video below, or continue reading for a deeper dive. 

  Time blocking (and its close cousins, time boxing, task batching, and day theming) is a simple yet effective way to take back control of your time. 

  Try time blocking if you...

  * Juggle many different projects/responsibilities (Jack Dorsey used day theming to run two major companies at the same time)
  * Spend too much time in “reactive mode,” responding to emails and messages
  * Find their day chopped up by meetings
  * Battle constant interruptions throughout the day
  * Struggle to find the time and mental space for big-picture thinking

  This guide will give you an overview of what time blocking, task batching, and day theming are; how a combination of these strategies can help you reclaim your schedule, and the best way to use your calendar and task manager to start time blocking yourself.

  ![Time blocking](https://proxy-prod.omnivore-image-cache.app/889x778,s6BxNxs-MVDCgQSPZIjsWUhkIywtESq7BMTMIm-FHXzg/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F4TX4sf646bho3bNtnOKLFr%2Fafcd4912bdc83f1eb6ed2709ad2acf92%2FTime_blocking.png)

  ==Time blocking is a time management method that asks you to divide your day into blocks of time. Each block is dedicated to accomplishing a specific task or group of tasks, and only those specific tasks. Instead of keeping an open-ended to-do list of things you’ll get to as you can, you’ll start each day with a concrete schedule outlining what you’ll work on and when.==

  The key to this method is prioritizing your task list in advance — a dedicated weekly review is a must. Take stock of what’s coming up for the week ahead, and make a rough sketch of your time blocks for each day. At the [end of every workday](https://doist.com/blog/end-work-day/?itm%5Fcampaign=time%5Fblocking&itm%5Fmedium=referral&itm%5Fsource=productivity%5Fmethods%5Fguides), review any tasks you didn’t finish — as well as any new tasks that have come in — and adjust your time blocks for the rest of the week accordingly.

  ==With days that are time blocked in advance, you won’t have to constantly make choices about what to focus on.== All you need to do is follow your time blocked schedule. If you get off-task or distracted, simply look at your schedule and get back to whichever task you blocked off time for.

  ## Time blocking variations

  Time blocking has a few close but distinct cousins that are worth considering: task batching, day theming, and time boxing.

  | **Method**    | **What is it?**                                                                                                                                                  | **Example**                                |
  | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
  | Time Blocking | Dividing the day into blocks of time with each block dedicated to accomplishing a specific task or activity and only that specific task or activity.             | "I will write every day from 9am to 11am." |
  | Task Batching | "I will answer all of my emails at 3pm."                                                                                                                         |                                            |
  | Day Theming   | "Every Monday, I will focus on content creation. Every Tuesday, I will focus on content promotion. Every Wednesday, I will focus on research and ideation. Etc." |                                            |
  | Time Boxing   | "I will write 1,000 words between 9am and 11am tomorrow."                                                                                                        |                                            |

  ### Task batching

  ==Task batching is when you group similar (usually smaller) tasks together and schedule specific time blocks to complete all at once. By tackling similar tasks in a group, you’ll limit the amount of context switching you have to do throughout your day, saving precious time and mental energy.== For example, scheduling two 20-minute blocks to process email during the day is more efficient than checking your inbox every 15 minutes.

  ![graphic-of-common-task-batches-2](https://proxy-prod.omnivore-image-cache.app/335x371,s8qmSYqArxryH7WevOHaUxSJy-RGRYAkHsnzGvPQeZmk/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F1O5V6na7e2xj0eZFbJq8eg%2F08012da9eb9e8f01adb28e79133ce78f%2Fgraphic-of-common-task-batches-2.png)

  Time blocking pairs well with task batching because it saves you from scheduling every individual task on your calendar. Just block off chunks of time each day or week for when you want to complete a certain batch of activities, e.g., email, invoicing, workouts, meetings, writing, coding, deep work, errands, meal prep.

  ### Day theming

  Day theming is a more extreme version of task batching for people who have a lot of areas of responsibility competing for their attention. For example, an entrepreneur often has to pay attention to marketing, sales, product development, customer support, and HR all at the same time. ==Instead of setting aside time blocks for each area of responsibility each day, day theming dedicates a full day each week to each responsibility.==

  Mike Vardy, founder of [Productivityist](https://productivityist.com/theming-days-made-better-dad/), uses day theming to set his overarching focus for each day. Here's how he themes his week:

  ![Day theming calendar](https://proxy-prod.omnivore-image-cache.app/796x528,sXTPWbymjfNat8qmFzmjGD9zA-vJR_zKNIvGRfW7PKs8/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F3GY01DriGE1FVysm50UhgC%2Fe288d008a0533a098ef9d7098fb0eea1%2FDay_theming_calendar.png)

  Dedicating each day to a single theme creates a reliable work pattern and further limits the cognitive load of context switching. Vardy explains that theming offers mental clarity that allows him to focus on his family:

  > “Knowing what the day ‘means’ to me allows me to get the things I need and want to accomplish without seeing undetermined ‘ought to do’ items on a to do list. As a result, I have less decision fatigue and even have more energy when I spend time with my kids.”

  ### Time boxing

  Time blocking and time boxing are often confused as being synonymous, but there's an important difference. Time blocking asks you to set aside certain chunks of time to focus on a given task or activity. For example, "I will work on a first draft of my blog post from 9am to 11 am tomorrow." 

  In contrast, ==time boxing asks you to limit how much time you'll dedicate to a specific task.== Here's a time boxed version of the time blocking example above: "I will finish a first draft of my blog post tomorrow between 9am and 11am." 

  This self-imposed "time box" forces you to work efficiently because you have a limited amount of time in which to complete the task. It can be a fun way to challenge yourself and gamify your productivity. 

  ## Why is time blocking so effective?

  This technique seems simple on the surface, but has profound impacts on your capacity to get things done:

  ### It promotes focused “deep work”

  Cal Newport, author of [Deep Work: Rules for Focused Success in a Distracted World](https://www.amazon.com/Deep-Work-Focused-Success-Distracted/dp/1455586692/ref=asc%5Fdf%5F1455586692/?tag=hyprod-20&linkCode=df0&hvadid=312741934517&hvpos=1o1&hvnetw=g&hvrand=7753978193869239626&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9019660&hvtargid=pla-421604508630&psc=1&tag=&ref=&adgrpid=64940825031&hvpone=&hvptwo=&hvadid=312741934517&hvpos=1o1&hvnetw=g&hvrand=7753978193869239626&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9019660&hvtargid=pla-421604508630), is a [big proponent of time blocking](http://www.calnewport.com/blog/2013/12/21/deep-habits-the-importance-of-planning-every-minute-of-your-work-day/). He dedicates 20 minutes every evening to scheduling out the next work day:

  > “Sometimes people ask why I bother with such a detailed level of planning. My answer is simple: it generates a massive amount of productivity. A 40 hour time-blocked work week, I estimate, produces the same amount of output as a 60+ hour work week pursued without structure.”

  When you schedule a chunk of time to work on a single project, problem, or task, you bring all of your mental resources to bear on one thing rather than spreading your attention thin across several tasks. The more you “single task”, the more you build the mental muscles required for deep work, and the easier it becomes to stay focused.

  ![Cal-Newport-Timeblocking](https://proxy-prod.omnivore-image-cache.app/0x0,sL0foP6CXOnzwGck9Mt7Dl8djLkht-jBbrRvXR64JM90/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F3pEKXsWWG82IeGEdSqsGpF%2F1f9f881506f65d730bb4fda89ef59294%2FCal-Newport-Timeblocking.jpg)

  ### It helps you knock out “shallow work” more efficiently

  Shallow work is the busy work that’s [urgent but not important](https://todoist.com/productivity-methods/eisenhower-matrix) to achieving your long-term goals — think paperwork or responding to (most) emails. When you time box shallow work, you’re setting clear limits on how much time you’ll dedicate to it. Plus, grouping similar tasks together reduces the cost of context switching. By batching all of your shallow tasks together in a dedicated time block or two, you’ll be able to power through them more efficiently and protect the rest of your workday for higher-impact work.

  ![shallow vs deep work](https://proxy-prod.omnivore-image-cache.app/660x395,sW1x5ZNSfbqw3HU-Ga3zwk6CU-q4agXcb2Zdg57bs6O0/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F2S6Dbyy5SDMLqPSDjQD98P%2Fd8b9ac1970a61f371dcf10832828cd11%2Fshallow_vs_deep_work.png)

  ### It makes you aware of how you spend your time

  Most people are bad at time management. We are [terrible at estimating](https://en.wikipedia.org/wiki/Planning%5Ffallacy) how much time tasks will take, and we have a tendency to [overcommit our future selves](https://doist.com/blog/neuroscience-achieving-long-term-goals/?itm%5Fcampaign=time%5Fblocking&itm%5Fmedium=referral&itm%5Fsource=productivity%5Fmethods%5Fguides). Time blocking forces you to confront your current priorities and commitments and get intentional about how you spend your finite time. For each new commitment you let into your life, you’re forced to find physical space on your calendar. As a result, the opportunity cost of saying “yes” becomes more concrete, and it becomes much easier to [say “no](https://doist.com/blog/how-to-say-no/?itm%5Fcampaign=time%5Fblocking&itm%5Fmedium=referral&itm%5Fsource=productivity%5Fmethods%5Fguides).”

  ### It counteracts perfectionism

  Fuzzy timelines are a perfectionist’s worst enemy. There’s always something to be tweaked and improved. It can be difficult to know when an open-ended project is finished, especially if you are aiming for perfection. At some point, you need to be able to say “good enough” and move on. Time boxing can help by imposing time limits on your projects. If you often prolong tasks by trying to get everything just right, set a strict time box for finishing the task and stick to it.

  ### It helps you follow through on your goals

  In the article “[Beyond good intentions: Prompting people to make plans improves follow-through on important tasks](https://scholar.harvard.edu/files/todd%5Frogers/files/beyond%5Fgood%5Fintentions%5F-%5Fprompting%5Fpeople.pdf)” researchers Dr. Todd Rogers and Dr. Katherine L. Milkman review several studies supporting the idea that “concrete plans help people follow through on their intentions.”

  From following an exercise regimen to scheduling a flu shot, people were more likely to act on their intentions when they wrote down a specific place, date, and time for the activity. Yet most people rely on vague intentions rather than concrete plans:

  > “Paradoxically, people frequently underplan when they begin with strong intentions. They mistakenly believe that their strong intentions are enough to propel them to perform desired behaviors, and that belief keeps them from using strategies that could help translate intentions into actions.”

  The takeaway: When you schedule your tasks and goals, you’re more likely to follow through. Time blocking forces you to make concrete plans that ensure you’re working toward your goals every day. As William Faulkner famously quipped:

  > “I only write when inspiration strikes. Fortunately, it strikes at nine every morning.”

  ## But will time blocking work with my job?

  One of the biggest criticisms of time blocking is that it doesn’t account for reactive jobs where it’s impossible to anticipate what will come in at any given moment. Is time blocking really a realistic strategy for a customer support specialist whose job is to respond to tickets? Or an account manager who needs to be available to respond to client requests?

  We’d argue yes — asserting even a small amount of control over your schedule can be helpful no matter your job. Cal Newport put it this way:

  > “Periods of open-ended reactivity can be blocked off like any other type of obligation. Even if you’re blocking most of your day for reactive work, for example, the fact that you’re controlling your schedule will allow you to dedicate some small blocks (perhaps at the schedule periphery) to deeper pursuits.”

  When your workday is run by external forces, it’s easy to lose sight of your own goals. Time blocking can help you gain a greater sense of control over even the most unpredictable of schedules.

  ## Some common time blocking missteps and how to avoid them

  While time blocking is pretty straightforward in theory, it can be hard to stick to in practice. Here are some tips to help you apply the method successfully (and not become a slave to your calendar in the process):

  ### Underestimating your time

  You’ll get better at estimating how long tasks take over time, but until you’ve honed your instincts, err on the side of blocking off too much time for tasks rather than too little. Pad your schedule with extra time to complete and transition between tasks. You can even create “conditional blocks” of time you can tap into if you fall behind.

  Try these tools

  Improve your sense of how long you actually spend on tasks with time trackers like [RescueTime](https://www.rescuetime.com/ref/1403570) or [Toggl](https://toggl.com/).

  ### Being too rigid

  Things will come up and ruin your plans. But remember that your plan is a guide to help focus your attention on what’s important, not a binding contract.

  Even productivity expert Cal Newport edits his plans throughout the day by crossing out original time blocks and filling them with updated plans as circumstances demand:

  ![Cal-Newport-Time-Blocks-Revised](https://proxy-prod.omnivore-image-cache.app/0x131,szGnOUJr0cfs5SlyDoEr6jW8AALaZg8e52e8CKgILOEc/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F5lLjQJcgkg8qVx5Xeb3n7n%2F4827b4f45d3b08b5ceab342297d1d6e3%2FCal-Newport-Time-Blocks-Revised.png)

  Newport deals with changes in his schedule by seeing it as a game:

  > “This type of planning, to me, is like a chess game, with blocks of work getting spread and sorted in such a way that projects big and small all seem to click into completion with (just enough) time to spare.”

  See your time blocks as a flexible way to challenge yourself, not strict tools to punish yourself when you fall short.

  ### Overscheduling your leisure time

  Though [Elon Musk and Bill Gates](https://www.businessinsider.com/bill-gates-elon-musk-scheduling-habit-2017-8) have been said to schedule their days down to 5-minute increments, overscheduling your leisure time can be a self-defeating exercise. [Studies](https://www.washingtonpost.com/news/inspired-life/wp/2018/07/31/want-to-be-happier-stop-scheduling-your-free-time/?noredirect=on&utm%5Fterm=.c7b6c4e1f8d1) have shown that scheduling leisure activities has a “unique dampening effect” on the overall enjoyment of the activity.

  Instead, you can block out time to disconnect and relax without a set plan for how you’ll spend that time. It will give you the flexibility to decide more spontaneously what you want to do-- call friends to grab a drink? Check out that new Xbox game? Read? Whatever you decide, just remember to keep at least some of your free time free.

  ## Time blocking with Todoist

  You can implement time blocking with any tool, but in this section, we'll focus on how to use Todoist alongside your favorite calendar app — or even good, old-fashioned pen and paper. We'll cover how to implement three different time blocking variations: task batching, day theming, and scheduling individual tasks. 

  ### Task batching variation

  Strict time blocking — dedicating a time block to each individual task — can be tedious and hard to maintain over time. We recommend combining time blocking and task batching for a more streamlined system. Instead of one time block per individual task, you’ll assign a time block for each category of task you batch together. Here’s how that looks in practice:

  First, decide on which broad categories of work need to be reflected in your daily or weekly schedule. For example, a freelance writer might have the following category list:

  * Email
  * Work admin
  * Sales
  * Meetings
  * Research
  * Writing
  * Professional Development
  * Yoga
  * Meal prep
  * Personal admin
  * Reading
  * Free time

  Now, sit down with your favorite calendar app or paper planner and create time blocks for the coming week that reflect the times you’ll work on each category. Make sure all of your priorities and commitments are given enough space on your calendar. If you struggle to find room, you may need to start cutting down on your commitments. The end result will look something like this:

  ![timeboxed-schedule-digital](https://proxy-prod.omnivore-image-cache.app/1011x651,sLnma6jNLOFm1XIBK8vXZRs-guc6dnbrFDN2HMfjitpA/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F4zcjeR2aU8qoUWJjH6sfnN%2F0e2f618327e24522bf1b66cde2da4884%2Ftimeboxed-schedule-digital.png)

  If you find it difficult to stick to your digital schedule, we recommend planning your day out on paper. A paper schedule forces you to start fresh each day and makes it easy to scribble things out and adapt as the day goes on. Plus, it's also easier to keep your paper schedule open on your desk as a visible reminder of what you had planned to focus on.

  ![timeboxed-schedule-paper](https://proxy-prod.omnivore-image-cache.app/736x0,sQUkv3c8VWCfC9ZG4f5xbPKlF1OWRLS0QzaW2XAQ3h34/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F29KfBuT5SqW4J874B0okcW%2F5c4bc349f39fda42337651b51b5468c1%2Ftimeboxed-schedule-paper.jpg)

  If you work at a company with shared calendars, you may find it helpful to publicly block off time for “Deep Work” to keep a sufficient chunk of the day meeting free. Khoi Vinh, a [Principal Designer at Adobe](https://doist.com/blog/how-khoi-vinh-gets-things-done/?itm%5Fcampaign=time%5Fblocking&itm%5Fmedium=referral&itm%5Fsource=productivity%5Fmethods%5Fguides), uses this strategy at his office:

  > “I look for blocks of time on my calendar that I can cordon off for “deep work”. Sometimes I’ll move around meetings to create longer contiguous blocks, and then I’ll create a meeting called “Do Not Book” or, if I suspect someone will ignore that, I’ll name it something like “Collaboration Session” or “Research Review.” You have to get crafty.”

  ![Khoi-Vinh-Calendar](https://proxy-prod.omnivore-image-cache.app/586x0,szULiMUKB4MLKb_BbL-Orrblo1EA4D2ROTNGQY-ki_4I/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F7JwW7XFwrrMdexDS8d90lF%2F17fd55e2b39cd8c90c4ccb772c9b854a%2FKhoi-Vinh-Calendar.png)

  You now have time blocks for each category, but you still need to know which specific task — or group of tasks — to work on when the time comes. That’s where a task manager like Todoist comes in.

  [Create a Todoist label](https://get.todoist.help/hc/en-us/articles/360000029000-How-to-best-use-labels?utm%5Fsource=dots%5Fblog&utm%5Fmedium=referral&utm%5Fcampaign=time%5Fblocking) for each batched category you came up with in step one, then review all of your current tasks and assign the appropriate label to each one.

  ![label-list](https://proxy-prod.omnivore-image-cache.app/288x0,s4bIuOHPtwRITgGNRNqUpTn6CjurIlPEZM2akKSBrPG4/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F7wVXAknY2k9wUhVN6Yrjqr%2F7163d48729268566a43c8c97bd540a44%2Flabel-list.png)

  ![quick-add-label](https://proxy-prod.omnivore-image-cache.app/614x113,sAcMuIO37ZTnC_G7uXj7De26_bVwZJaXn0AVH6Ob7s_k/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F7wdN788BxQiA7Kpnzj5hE4%2F841ab2e35d050d0bd808b977e56539be%2Fquick-add-label.jpg)

  Now, when you come to a time block, all you have to do is pull up the corresponding label list and choose from the relevant tasks. Tasks with dates will automatically be sorted at the top so you’ll know when something is due soon and needs your attention first.

  ![label-task-list](https://proxy-prod.omnivore-image-cache.app/659x295,sCpzNph_SdxhY5GzAxvTouss7UtkZJbALRMZHAxTZLZ0/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F5Cgbof55vOgCR33eqL1BVt%2Fddd3cdcb6f1fe1059c8ba19f2d693d44%2Flabel-task-list.png)

  Todoist Tip

  You can also [create a new filter](https://get.todoist.help/hc/en-us/articles/205248842-Filters?itm%5Fcampaign=time%5Fblocking&itm%5Fmedium=referral&itm%5Fsource=productivity%5Fmethods%5Fguides) with a query like “@personal\_admin & next 7 days” to see just the tasks due in the upcoming week with that specific label.

  To make sure nothing slips through the cracks, every task should have a label. However, you’ll likely find that not every category needs to be tracked in Todoist. For example, you may want to keep track of your meetings or exercise classes in your calendar rather than in your task manager. And as we said before, you don’t want to overprogram your free time. Experiment with your setup to figure out what makes sense for your specific circumstances.

  ### Day theming variation

  If you try time blocking and still feel too scattered and unfocused, you may want to try out day theming. We recommend this [free Skillshare course](https://www.skillshare.com/classes/Productivity-Habits-That-Stick-Using-Time-Theming/1216959000) by Mike Vardy. He walks you through setting up a day theming system, including detailed examples using both paper and Todoist.

  ### Scheduling time blocks for individual tasks

  Of course, if you want to keep a more granular schedule, you can always create separate time blocks for each task. The easiest way to do that with Todoist is via the [2-way integration with Google Calendar](https://get.todoist.help/hc/en-us/articles/115003128085-How-can-I-use-Todoist-with-Google-Calendar?itm%5Fcampaign=time%5Fblocking&itm%5Fmedium=referral&itm%5Fsource=productivity%5Fmethods%5Fguides).

  When setting up the integration:

  * Create a new calendar for just your Todoist tasks so you can toggle them on and off inside your calendar as you need.
  * Choose to sync your entire Todoist account or create separate calendars for each of your Todoist projects.
  * Choose to sync tasks with just a due date in addition to tasks with a due date and time.

  Any Todoist task with a date and time will automatically appear as an event in your new Todoist calendar. Any task with a date but no time will appear as a day-long event.

  During your [weekly review](https://todoist.com/productivity-methods/weekly-review), give each task you want to accomplish a date and/or start time by typing something like “Monday at noon” or “Every Friday at 9am” into the task field. Todoist will automatically recognize and highlight the date and set it when you save the task.

  ![data-recognition-quick-add-mobile-1](https://proxy-prod.omnivore-image-cache.app/1400x1400,sNCOYE-2aKU-iRNYPL8pqZGpLQSh-K9rX8q_zevBh49A/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F3kwyryMNi7QzPQnuUXz4i6%2Fe2c4766c304c00f2a11b4cf4968e4c1d%2Fdata-recognition-quick-add-mobile-1.png)

  Now, when you open your daily or weekly view in your calendar, you’ll see each of your tasks scheduled as separate events (aka your time blocks). You can extend, shorten, edit, and move your time blocks inside your calendar. Any changes you make in Google Calendar will automatically sync back to your Todoist (and vice versa).

  ![Google Calendar Todoist](https://proxy-prod.omnivore-image-cache.app/716x370,spaJTpolGkh7hI4yeOH7gPd_DWeYA2f2SJxBhqtzHoKE/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F44d3NscP3Qdbez3mugjmin%2F6705fb7ea2e3f1d41e2b19166472be8a%2FGoogle_Calendar_Todoist.png)

  ---

  Scheduling your days and weeks in advance can seem like a waste of precious time you could be using to actually get things done. But when you aren’t controlling your calendar, it’s easy to let distractions take over. By front-loading your decision-making on what to work on for the day or week, you’ll be saving time and mental energy when it comes to actually getting to work.

  Give time blocking and task batching a try for a week and see how it feels to take back control over your time and attention.

  Todoist Tip

  If you have a Pro or Business plan, you can supercharge your time blocking with [task durations](https://todoist.com/help/articles/whats-new#reclaim-your-schedule-with-task-durations-aug-30). Simply:

  * Select your Due Date, then Time, to set the start time and duration of your task. This forms your time block.
  * You can also add a task’s duration via Todoist’s natural language recognition by typing “for” followed by the length of time you think the task will take. (e.g., “Team meeting today 4pm for 45min” or “Write first draft 9am for 2 hours 30 minutes”.)
  * If you’ve connected your Todoist to a calendar app, the task duration will sync to your calendar automatically (and, on Google Calendar, vice versa with 2-way sync so you can update your tasks from your calendar).

  Laura Scroggs

  [Laura](https://laurascroggs.wordpress.com/) is a freelance writer, PhD candidate, and pug mom living in Minneapolis, MN.

raw_content:
  ---
  id: 04745848-2b0d-482d-802c-8872ac9043dd
  title: |
    The Complete Guide to Time Blocking
  status: ARCHIVED
  tags:
    - read-later
  date_added: 2024-03-27 20:34:53
  url_omnivore: |
    https://omnivore.app/me/https-todoist-com-productivity-methods-time-blocking-18bbc432143
  url_original: |
    https://todoist.com/productivity-methods/time-blocking
  ---

  # The Complete Guide to Time Blocking

  ## Highlights

  Time blocking is a time management method that asks you to divide your day into blocks of time. Each block is dedicated to accomplishing a specific task or group of tasks, and only those specific tasks. Instead of keeping an open-ended to-do list of things you’ll get to as you can, you’ll start each day with a concrete schedule outlining what you’ll work on and when. 

  [source](https://omnivore.app/me/https-todoist-com-productivity-methods-time-blocking-18bbc432143#6ca022ff-400a-4f70-8031-1a3caa0e7246) 

  ---

  With days that are time blocked in advance, you won’t have to constantly make choices about what to focus on. 

  [source](https://omnivore.app/me/https-todoist-com-productivity-methods-time-blocking-18bbc432143#21fb5ecc-b00e-4f14-8d60-84eec666e8a9) 

  ---

  Task batching is when you group similar (usually smaller) tasks together and schedule specific time blocks to complete all at once. By tackling similar tasks in a group, you’ll limit the amount of context switching you have to do throughout your day, saving precious time and mental energy. 

  [source](https://omnivore.app/me/https-todoist-com-productivity-methods-time-blocking-18bbc432143#ce3acd05-a296-4204-acfe-e0822f8a83d2) 

  ---

  Instead of setting aside time blocks for each area of responsibility each day, day theming dedicates a full day each week to each responsibility. 

  [source](https://omnivore.app/me/https-todoist-com-productivity-methods-time-blocking-18bbc432143#5d5543a9-0d8d-42ed-aa24-4ecfeb07d6ac) 

  ---

  time boxing asks you to limit how much time you'll dedicate to a specific task. 

  > [!note]
  > Is _"I'm gonna finish this in X time"_, instead of _"I'm gonna work on this for X time"_

  [source](https://omnivore.app/me/https-todoist-com-productivity-methods-time-blocking-18bbc432143#e342c6ce-607b-4482-af54-4ffbf81ab7ab) 

  ---

  ## Original

  * Why is time blocking so effective?
  * But will time blocking work with my job?
  * Some common time blocking missteps and how to avoid them
  * Time blocking with Todoist

  > "A 40 hour time-blocked work week, I estimate, produces the same amount of output as a 60+ hour work week pursued without structure." 
  > 
  > — Cal Newport, Author of _Deep Work_

  If there's one thing that can be said about the modern workplace, it's this: If you don't control your schedule, it will control you.

  How do you balance the necessary evils of meetings, email, team chat, and "busy work" with focused time for the things you truly care about? Since becoming a digital hermit isn’t an option for most of us, we need concrete strategies to help us focus in a world designed to distract us.

  That’s where time blocking comes in.

  We've made a companion [video for time blocking](https://youtu.be/FLxt4Sbpud4) because everyone learns differently and we know some of you prefer to watch instead of read. Check out that video below, or continue reading for a deeper dive. 

  Time blocking (and its close cousins, time boxing, task batching, and day theming) is a simple yet effective way to take back control of your time. 

  Try time blocking if you...

  * Juggle many different projects/responsibilities (Jack Dorsey used day theming to run two major companies at the same time)
  * Spend too much time in “reactive mode,” responding to emails and messages
  * Find their day chopped up by meetings
  * Battle constant interruptions throughout the day
  * Struggle to find the time and mental space for big-picture thinking

  This guide will give you an overview of what time blocking, task batching, and day theming are; how a combination of these strategies can help you reclaim your schedule, and the best way to use your calendar and task manager to start time blocking yourself.

  ![Time blocking](https://proxy-prod.omnivore-image-cache.app/889x778,s6BxNxs-MVDCgQSPZIjsWUhkIywtESq7BMTMIm-FHXzg/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F4TX4sf646bho3bNtnOKLFr%2Fafcd4912bdc83f1eb6ed2709ad2acf92%2FTime_blocking.png)

  ==Time blocking is a time management method that asks you to divide your day into blocks of time. Each block is dedicated to accomplishing a specific task or group of tasks, and only those specific tasks. Instead of keeping an open-ended to-do list of things you’ll get to as you can, you’ll start each day with a concrete schedule outlining what you’ll work on and when.==

  The key to this method is prioritizing your task list in advance — a dedicated weekly review is a must. Take stock of what’s coming up for the week ahead, and make a rough sketch of your time blocks for each day. At the [end of every workday](https://doist.com/blog/end-work-day/?itm%5Fcampaign=time%5Fblocking&itm%5Fmedium=referral&itm%5Fsource=productivity%5Fmethods%5Fguides), review any tasks you didn’t finish — as well as any new tasks that have come in — and adjust your time blocks for the rest of the week accordingly.

  ==With days that are time blocked in advance, you won’t have to constantly make choices about what to focus on.== All you need to do is follow your time blocked schedule. If you get off-task or distracted, simply look at your schedule and get back to whichever task you blocked off time for.

  ## Time blocking variations

  Time blocking has a few close but distinct cousins that are worth considering: task batching, day theming, and time boxing.

  | **Method**    | **What is it?**                                                                                                                                                  | **Example**                                |
  | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
  | Time Blocking | Dividing the day into blocks of time with each block dedicated to accomplishing a specific task or activity and only that specific task or activity.             | "I will write every day from 9am to 11am." |
  | Task Batching | "I will answer all of my emails at 3pm."                                                                                                                         |                                            |
  | Day Theming   | "Every Monday, I will focus on content creation. Every Tuesday, I will focus on content promotion. Every Wednesday, I will focus on research and ideation. Etc." |                                            |
  | Time Boxing   | "I will write 1,000 words between 9am and 11am tomorrow."                                                                                                        |                                            |

  ### Task batching

  ==Task batching is when you group similar (usually smaller) tasks together and schedule specific time blocks to complete all at once. By tackling similar tasks in a group, you’ll limit the amount of context switching you have to do throughout your day, saving precious time and mental energy.== For example, scheduling two 20-minute blocks to process email during the day is more efficient than checking your inbox every 15 minutes.

  ![graphic-of-common-task-batches-2](https://proxy-prod.omnivore-image-cache.app/335x371,s8qmSYqArxryH7WevOHaUxSJy-RGRYAkHsnzGvPQeZmk/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F1O5V6na7e2xj0eZFbJq8eg%2F08012da9eb9e8f01adb28e79133ce78f%2Fgraphic-of-common-task-batches-2.png)

  Time blocking pairs well with task batching because it saves you from scheduling every individual task on your calendar. Just block off chunks of time each day or week for when you want to complete a certain batch of activities, e.g., email, invoicing, workouts, meetings, writing, coding, deep work, errands, meal prep.

  ### Day theming

  Day theming is a more extreme version of task batching for people who have a lot of areas of responsibility competing for their attention. For example, an entrepreneur often has to pay attention to marketing, sales, product development, customer support, and HR all at the same time. ==Instead of setting aside time blocks for each area of responsibility each day, day theming dedicates a full day each week to each responsibility.==

  Mike Vardy, founder of [Productivityist](https://productivityist.com/theming-days-made-better-dad/), uses day theming to set his overarching focus for each day. Here's how he themes his week:

  ![Day theming calendar](https://proxy-prod.omnivore-image-cache.app/796x528,sXTPWbymjfNat8qmFzmjGD9zA-vJR_zKNIvGRfW7PKs8/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F3GY01DriGE1FVysm50UhgC%2Fe288d008a0533a098ef9d7098fb0eea1%2FDay_theming_calendar.png)

  Dedicating each day to a single theme creates a reliable work pattern and further limits the cognitive load of context switching. Vardy explains that theming offers mental clarity that allows him to focus on his family:

  > “Knowing what the day ‘means’ to me allows me to get the things I need and want to accomplish without seeing undetermined ‘ought to do’ items on a to do list. As a result, I have less decision fatigue and even have more energy when I spend time with my kids.”

  ### Time boxing

  Time blocking and time boxing are often confused as being synonymous, but there's an important difference. Time blocking asks you to set aside certain chunks of time to focus on a given task or activity. For example, "I will work on a first draft of my blog post from 9am to 11 am tomorrow." 

  In contrast, ==time boxing asks you to limit how much time you'll dedicate to a specific task.== Here's a time boxed version of the time blocking example above: "I will finish a first draft of my blog post tomorrow between 9am and 11am." 

  This self-imposed "time box" forces you to work efficiently because you have a limited amount of time in which to complete the task. It can be a fun way to challenge yourself and gamify your productivity. 

  ## Why is time blocking so effective?

  This technique seems simple on the surface, but has profound impacts on your capacity to get things done:

  ### It promotes focused “deep work”

  Cal Newport, author of [Deep Work: Rules for Focused Success in a Distracted World](https://www.amazon.com/Deep-Work-Focused-Success-Distracted/dp/1455586692/ref=asc%5Fdf%5F1455586692/?tag=hyprod-20&linkCode=df0&hvadid=312741934517&hvpos=1o1&hvnetw=g&hvrand=7753978193869239626&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9019660&hvtargid=pla-421604508630&psc=1&tag=&ref=&adgrpid=64940825031&hvpone=&hvptwo=&hvadid=312741934517&hvpos=1o1&hvnetw=g&hvrand=7753978193869239626&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9019660&hvtargid=pla-421604508630), is a [big proponent of time blocking](http://www.calnewport.com/blog/2013/12/21/deep-habits-the-importance-of-planning-every-minute-of-your-work-day/). He dedicates 20 minutes every evening to scheduling out the next work day:

  > “Sometimes people ask why I bother with such a detailed level of planning. My answer is simple: it generates a massive amount of productivity. A 40 hour time-blocked work week, I estimate, produces the same amount of output as a 60+ hour work week pursued without structure.”

  When you schedule a chunk of time to work on a single project, problem, or task, you bring all of your mental resources to bear on one thing rather than spreading your attention thin across several tasks. The more you “single task”, the more you build the mental muscles required for deep work, and the easier it becomes to stay focused.

  ![Cal-Newport-Timeblocking](https://proxy-prod.omnivore-image-cache.app/0x0,sL0foP6CXOnzwGck9Mt7Dl8djLkht-jBbrRvXR64JM90/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F3pEKXsWWG82IeGEdSqsGpF%2F1f9f881506f65d730bb4fda89ef59294%2FCal-Newport-Timeblocking.jpg)

  ### It helps you knock out “shallow work” more efficiently

  Shallow work is the busy work that’s [urgent but not important](https://todoist.com/productivity-methods/eisenhower-matrix) to achieving your long-term goals — think paperwork or responding to (most) emails. When you time box shallow work, you’re setting clear limits on how much time you’ll dedicate to it. Plus, grouping similar tasks together reduces the cost of context switching. By batching all of your shallow tasks together in a dedicated time block or two, you’ll be able to power through them more efficiently and protect the rest of your workday for higher-impact work.

  ![shallow vs deep work](https://proxy-prod.omnivore-image-cache.app/660x395,sW1x5ZNSfbqw3HU-Ga3zwk6CU-q4agXcb2Zdg57bs6O0/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F2S6Dbyy5SDMLqPSDjQD98P%2Fd8b9ac1970a61f371dcf10832828cd11%2Fshallow_vs_deep_work.png)

  ### It makes you aware of how you spend your time

  Most people are bad at time management. We are [terrible at estimating](https://en.wikipedia.org/wiki/Planning%5Ffallacy) how much time tasks will take, and we have a tendency to [overcommit our future selves](https://doist.com/blog/neuroscience-achieving-long-term-goals/?itm%5Fcampaign=time%5Fblocking&itm%5Fmedium=referral&itm%5Fsource=productivity%5Fmethods%5Fguides). Time blocking forces you to confront your current priorities and commitments and get intentional about how you spend your finite time. For each new commitment you let into your life, you’re forced to find physical space on your calendar. As a result, the opportunity cost of saying “yes” becomes more concrete, and it becomes much easier to [say “no](https://doist.com/blog/how-to-say-no/?itm%5Fcampaign=time%5Fblocking&itm%5Fmedium=referral&itm%5Fsource=productivity%5Fmethods%5Fguides).”

  ### It counteracts perfectionism

  Fuzzy timelines are a perfectionist’s worst enemy. There’s always something to be tweaked and improved. It can be difficult to know when an open-ended project is finished, especially if you are aiming for perfection. At some point, you need to be able to say “good enough” and move on. Time boxing can help by imposing time limits on your projects. If you often prolong tasks by trying to get everything just right, set a strict time box for finishing the task and stick to it.

  ### It helps you follow through on your goals

  In the article “[Beyond good intentions: Prompting people to make plans improves follow-through on important tasks](https://scholar.harvard.edu/files/todd%5Frogers/files/beyond%5Fgood%5Fintentions%5F-%5Fprompting%5Fpeople.pdf)” researchers Dr. Todd Rogers and Dr. Katherine L. Milkman review several studies supporting the idea that “concrete plans help people follow through on their intentions.”

  From following an exercise regimen to scheduling a flu shot, people were more likely to act on their intentions when they wrote down a specific place, date, and time for the activity. Yet most people rely on vague intentions rather than concrete plans:

  > “Paradoxically, people frequently underplan when they begin with strong intentions. They mistakenly believe that their strong intentions are enough to propel them to perform desired behaviors, and that belief keeps them from using strategies that could help translate intentions into actions.”

  The takeaway: When you schedule your tasks and goals, you’re more likely to follow through. Time blocking forces you to make concrete plans that ensure you’re working toward your goals every day. As William Faulkner famously quipped:

  > “I only write when inspiration strikes. Fortunately, it strikes at nine every morning.”

  ## But will time blocking work with my job?

  One of the biggest criticisms of time blocking is that it doesn’t account for reactive jobs where it’s impossible to anticipate what will come in at any given moment. Is time blocking really a realistic strategy for a customer support specialist whose job is to respond to tickets? Or an account manager who needs to be available to respond to client requests?

  We’d argue yes — asserting even a small amount of control over your schedule can be helpful no matter your job. Cal Newport put it this way:

  > “Periods of open-ended reactivity can be blocked off like any other type of obligation. Even if you’re blocking most of your day for reactive work, for example, the fact that you’re controlling your schedule will allow you to dedicate some small blocks (perhaps at the schedule periphery) to deeper pursuits.”

  When your workday is run by external forces, it’s easy to lose sight of your own goals. Time blocking can help you gain a greater sense of control over even the most unpredictable of schedules.

  ## Some common time blocking missteps and how to avoid them

  While time blocking is pretty straightforward in theory, it can be hard to stick to in practice. Here are some tips to help you apply the method successfully (and not become a slave to your calendar in the process):

  ### Underestimating your time

  You’ll get better at estimating how long tasks take over time, but until you’ve honed your instincts, err on the side of blocking off too much time for tasks rather than too little. Pad your schedule with extra time to complete and transition between tasks. You can even create “conditional blocks” of time you can tap into if you fall behind.

  Try these tools

  Improve your sense of how long you actually spend on tasks with time trackers like [RescueTime](https://www.rescuetime.com/ref/1403570) or [Toggl](https://toggl.com/).

  ### Being too rigid

  Things will come up and ruin your plans. But remember that your plan is a guide to help focus your attention on what’s important, not a binding contract.

  Even productivity expert Cal Newport edits his plans throughout the day by crossing out original time blocks and filling them with updated plans as circumstances demand:

  ![Cal-Newport-Time-Blocks-Revised](https://proxy-prod.omnivore-image-cache.app/0x131,szGnOUJr0cfs5SlyDoEr6jW8AALaZg8e52e8CKgILOEc/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F5lLjQJcgkg8qVx5Xeb3n7n%2F4827b4f45d3b08b5ceab342297d1d6e3%2FCal-Newport-Time-Blocks-Revised.png)

  Newport deals with changes in his schedule by seeing it as a game:

  > “This type of planning, to me, is like a chess game, with blocks of work getting spread and sorted in such a way that projects big and small all seem to click into completion with (just enough) time to spare.”

  See your time blocks as a flexible way to challenge yourself, not strict tools to punish yourself when you fall short.

  ### Overscheduling your leisure time

  Though [Elon Musk and Bill Gates](https://www.businessinsider.com/bill-gates-elon-musk-scheduling-habit-2017-8) have been said to schedule their days down to 5-minute increments, overscheduling your leisure time can be a self-defeating exercise. [Studies](https://www.washingtonpost.com/news/inspired-life/wp/2018/07/31/want-to-be-happier-stop-scheduling-your-free-time/?noredirect=on&utm%5Fterm=.c7b6c4e1f8d1) have shown that scheduling leisure activities has a “unique dampening effect” on the overall enjoyment of the activity.

  Instead, you can block out time to disconnect and relax without a set plan for how you’ll spend that time. It will give you the flexibility to decide more spontaneously what you want to do-- call friends to grab a drink? Check out that new Xbox game? Read? Whatever you decide, just remember to keep at least some of your free time free.

  ## Time blocking with Todoist

  You can implement time blocking with any tool, but in this section, we'll focus on how to use Todoist alongside your favorite calendar app — or even good, old-fashioned pen and paper. We'll cover how to implement three different time blocking variations: task batching, day theming, and scheduling individual tasks. 

  ### Task batching variation

  Strict time blocking — dedicating a time block to each individual task — can be tedious and hard to maintain over time. We recommend combining time blocking and task batching for a more streamlined system. Instead of one time block per individual task, you’ll assign a time block for each category of task you batch together. Here’s how that looks in practice:

  First, decide on which broad categories of work need to be reflected in your daily or weekly schedule. For example, a freelance writer might have the following category list:

  * Email
  * Work admin
  * Sales
  * Meetings
  * Research
  * Writing
  * Professional Development
  * Yoga
  * Meal prep
  * Personal admin
  * Reading
  * Free time

  Now, sit down with your favorite calendar app or paper planner and create time blocks for the coming week that reflect the times you’ll work on each category. Make sure all of your priorities and commitments are given enough space on your calendar. If you struggle to find room, you may need to start cutting down on your commitments. The end result will look something like this:

  ![timeboxed-schedule-digital](https://proxy-prod.omnivore-image-cache.app/1011x651,sLnma6jNLOFm1XIBK8vXZRs-guc6dnbrFDN2HMfjitpA/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F4zcjeR2aU8qoUWJjH6sfnN%2F0e2f618327e24522bf1b66cde2da4884%2Ftimeboxed-schedule-digital.png)

  If you find it difficult to stick to your digital schedule, we recommend planning your day out on paper. A paper schedule forces you to start fresh each day and makes it easy to scribble things out and adapt as the day goes on. Plus, it's also easier to keep your paper schedule open on your desk as a visible reminder of what you had planned to focus on.

  ![timeboxed-schedule-paper](https://proxy-prod.omnivore-image-cache.app/736x0,sQUkv3c8VWCfC9ZG4f5xbPKlF1OWRLS0QzaW2XAQ3h34/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F29KfBuT5SqW4J874B0okcW%2F5c4bc349f39fda42337651b51b5468c1%2Ftimeboxed-schedule-paper.jpg)

  If you work at a company with shared calendars, you may find it helpful to publicly block off time for “Deep Work” to keep a sufficient chunk of the day meeting free. Khoi Vinh, a [Principal Designer at Adobe](https://doist.com/blog/how-khoi-vinh-gets-things-done/?itm%5Fcampaign=time%5Fblocking&itm%5Fmedium=referral&itm%5Fsource=productivity%5Fmethods%5Fguides), uses this strategy at his office:

  > “I look for blocks of time on my calendar that I can cordon off for “deep work”. Sometimes I’ll move around meetings to create longer contiguous blocks, and then I’ll create a meeting called “Do Not Book” or, if I suspect someone will ignore that, I’ll name it something like “Collaboration Session” or “Research Review.” You have to get crafty.”

  ![Khoi-Vinh-Calendar](https://proxy-prod.omnivore-image-cache.app/586x0,szULiMUKB4MLKb_BbL-Orrblo1EA4D2ROTNGQY-ki_4I/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F7JwW7XFwrrMdexDS8d90lF%2F17fd55e2b39cd8c90c4ccb772c9b854a%2FKhoi-Vinh-Calendar.png)

  You now have time blocks for each category, but you still need to know which specific task — or group of tasks — to work on when the time comes. That’s where a task manager like Todoist comes in.

  [Create a Todoist label](https://get.todoist.help/hc/en-us/articles/360000029000-How-to-best-use-labels?utm%5Fsource=dots%5Fblog&utm%5Fmedium=referral&utm%5Fcampaign=time%5Fblocking) for each batched category you came up with in step one, then review all of your current tasks and assign the appropriate label to each one.

  ![label-list](https://proxy-prod.omnivore-image-cache.app/288x0,s4bIuOHPtwRITgGNRNqUpTn6CjurIlPEZM2akKSBrPG4/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F7wVXAknY2k9wUhVN6Yrjqr%2F7163d48729268566a43c8c97bd540a44%2Flabel-list.png)

  ![quick-add-label](https://proxy-prod.omnivore-image-cache.app/614x113,sAcMuIO37ZTnC_G7uXj7De26_bVwZJaXn0AVH6Ob7s_k/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F7wdN788BxQiA7Kpnzj5hE4%2F841ab2e35d050d0bd808b977e56539be%2Fquick-add-label.jpg)

  Now, when you come to a time block, all you have to do is pull up the corresponding label list and choose from the relevant tasks. Tasks with dates will automatically be sorted at the top so you’ll know when something is due soon and needs your attention first.

  ![label-task-list](https://proxy-prod.omnivore-image-cache.app/659x295,sCpzNph_SdxhY5GzAxvTouss7UtkZJbALRMZHAxTZLZ0/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F5Cgbof55vOgCR33eqL1BVt%2Fddd3cdcb6f1fe1059c8ba19f2d693d44%2Flabel-task-list.png)

  Todoist Tip

  You can also [create a new filter](https://get.todoist.help/hc/en-us/articles/205248842-Filters?itm%5Fcampaign=time%5Fblocking&itm%5Fmedium=referral&itm%5Fsource=productivity%5Fmethods%5Fguides) with a query like “@personal\_admin & next 7 days” to see just the tasks due in the upcoming week with that specific label.

  To make sure nothing slips through the cracks, every task should have a label. However, you’ll likely find that not every category needs to be tracked in Todoist. For example, you may want to keep track of your meetings or exercise classes in your calendar rather than in your task manager. And as we said before, you don’t want to overprogram your free time. Experiment with your setup to figure out what makes sense for your specific circumstances.

  ### Day theming variation

  If you try time blocking and still feel too scattered and unfocused, you may want to try out day theming. We recommend this [free Skillshare course](https://www.skillshare.com/classes/Productivity-Habits-That-Stick-Using-Time-Theming/1216959000) by Mike Vardy. He walks you through setting up a day theming system, including detailed examples using both paper and Todoist.

  ### Scheduling time blocks for individual tasks

  Of course, if you want to keep a more granular schedule, you can always create separate time blocks for each task. The easiest way to do that with Todoist is via the [2-way integration with Google Calendar](https://get.todoist.help/hc/en-us/articles/115003128085-How-can-I-use-Todoist-with-Google-Calendar?itm%5Fcampaign=time%5Fblocking&itm%5Fmedium=referral&itm%5Fsource=productivity%5Fmethods%5Fguides).

  When setting up the integration:

  * Create a new calendar for just your Todoist tasks so you can toggle them on and off inside your calendar as you need.
  * Choose to sync your entire Todoist account or create separate calendars for each of your Todoist projects.
  * Choose to sync tasks with just a due date in addition to tasks with a due date and time.

  Any Todoist task with a date and time will automatically appear as an event in your new Todoist calendar. Any task with a date but no time will appear as a day-long event.

  During your [weekly review](https://todoist.com/productivity-methods/weekly-review), give each task you want to accomplish a date and/or start time by typing something like “Monday at noon” or “Every Friday at 9am” into the task field. Todoist will automatically recognize and highlight the date and set it when you save the task.

  ![data-recognition-quick-add-mobile-1](https://proxy-prod.omnivore-image-cache.app/1400x1400,sNCOYE-2aKU-iRNYPL8pqZGpLQSh-K9rX8q_zevBh49A/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F3kwyryMNi7QzPQnuUXz4i6%2Fe2c4766c304c00f2a11b4cf4968e4c1d%2Fdata-recognition-quick-add-mobile-1.png)

  Now, when you open your daily or weekly view in your calendar, you’ll see each of your tasks scheduled as separate events (aka your time blocks). You can extend, shorten, edit, and move your time blocks inside your calendar. Any changes you make in Google Calendar will automatically sync back to your Todoist (and vice versa).

  ![Google Calendar Todoist](https://proxy-prod.omnivore-image-cache.app/716x370,spaJTpolGkh7hI4yeOH7gPd_DWeYA2f2SJxBhqtzHoKE/https://res.cloudinary.com/imagist/image/fetch/q_auto,f_auto,c_scale,w_2624/https%3A%2F%2Fimages.ctfassets.net%2Fdm4oa8qtogq0%2F44d3NscP3Qdbez3mugjmin%2F6705fb7ea2e3f1d41e2b19166472be8a%2FGoogle_Calendar_Todoist.png)

  ---

  Scheduling your days and weeks in advance can seem like a waste of precious time you could be using to actually get things done. But when you aren’t controlling your calendar, it’s easy to let distractions take over. By front-loading your decision-making on what to work on for the day or week, you’ll be saving time and mental energy when it comes to actually getting to work.

  Give time blocking and task batching a try for a week and see how it feels to take back control over your time and attention.

  Todoist Tip

  If you have a Pro or Business plan, you can supercharge your time blocking with [task durations](https://todoist.com/help/articles/whats-new#reclaim-your-schedule-with-task-durations-aug-30). Simply:

  * Select your Due Date, then Time, to set the start time and duration of your task. This forms your time block.
  * You can also add a task’s duration via Todoist’s natural language recognition by typing “for” followed by the length of time you think the task will take. (e.g., “Team meeting today 4pm for 45min” or “Write first draft 9am for 2 hours 30 minutes”.)
  * If you’ve connected your Todoist to a calendar app, the task duration will sync to your calendar automatically (and, on Google Calendar, vice versa with 2-way sync so you can update your tasks from your calendar).

  Laura Scroggs

  [Laura](https://laurascroggs.wordpress.com/) is a freelance writer, PhD candidate, and pug mom living in Minneapolis, MN.

metadata:
  {"date_added":"2024-03-27 20:34:53","id":"04745848-2b0d-482d-802c-8872ac9043dd","status":"ARCHIVED","tags":["read-later"],"title":"The Complete Guide to Time Blocking\n","url_omnivore":"https://omnivore.app/me/https-todoist-com-productivity-methods-time-blocking-18bbc432143\n","url_original":"https://todoist.com/productivity-methods/time-blocking\n"}


path: Omnivore/2024-03-29 - Let's Save the (Git) Trees.md
sortable_path: Omnivore2024-03-29 - Let's Save the (Git) Trees.md
title: Let's Save the (Git) Trees
lead: # Let's Save the (Git) Trees
checksum: 32be6f361d802bd20ceaa32f7579497f415d2bf96500ebe418e4abe207e8a9d3
created: 2024-09-15 00:40:59.408808293+00:00
modified: 2024-09-23 19:31:31.973006497+00:00
body:
  # Let's Save the (Git) Trees

  ## Highlights

  We start using something called **interactive rebase** on our feature branches. It’s really just a way to clean up our commit history before we merge it into the main branch. This might change the history, but since it’s just on our own feature branches, it doesn’t mess up anything for everyone else. 

  [source](https://omnivore.app/me/let-s-save-the-git-trees-18e8b23331a#0f14f09a-7965-46bd-bc32-d4eede7e821c) 

  ---

  Here’s a quick guide on how to do it:

  1. **Start on Your Feature Branch:**`git checkout -b my-feature`
  2. **Grab the Latest Main Branch Updates Without Switching:**`git fetch origin main:main` (using `main:main` is a trick to fetch remote main changes to the local copy without switching back and forth)
  3. **Interactive Rebase Time:**`git rebase main --interactive` \- This lets us pick and choose which commits to keep or squash, change the commits you want to `s` to make sure git squashes them into the parent commit, while keeping the changes.
  4. **Safely Update the Remote Branch:**`git push --force-with-lease` \- This flag makes sure we don’t accidentally overwrite anyone else’s work.
  5. **Prepare to Merge:**`git checkout main`
  6. **Merge Without Extra Commits:**`git merge --ff-only -` \- Keeps our history straight by avoiding merge commits.
  7. **Push it Up:**`git push` \- And we’re done! 

  [source](https://omnivore.app/me/let-s-save-the-git-trees-18e8b23331a#abe6a553-9d96-4f41-aba2-73ad21e3e86a) 

  ---

  ## Original

  Hi friends,

  You know how companies use merge commits when working on projects?

  Just go to one of your work projects and checkout the history of the main branch. It may look tidy (or not) but it’s bad for the environment (the real-world one 😉)

  ![](https://proxy-prod.omnivore-image-cache.app/736x0,sn6ke9p9cjtm0zRALZCJRPzmHZdOxUQdTT0Px1KRIPF8/https://embed.filekitcdn.com/e/9nyiJQ9d9Gw31fuefbZ9U7/4fPPnSnnwR4NjuHxwiBW7a/email)

  Lots of merge commits

  While that’s pretty standard, it actually makes things messy.

  Every time we do this, it stops us from keeping our commit history nice and clean all the way through from development to production.

  Here’s why that’s a bit of a problem: if we’ve already **built and tested** a commit, **installing dependencies** in the process and **storing** all its details, there’s really no need to go through all that again.

  It’s like doing the same work twice, which wastes time and resources, which translate to environmental effects that compound and another financial waste if that’s not enough.

  Plus, a cleaner git history makes it easier for us to figure out issues. It helps us use tools like `git bisect` much more effectively to find bugs. But we’ll talk more about that another time.

  So, what’s the solution?

  ==We start using something called== **==interactive rebase==** ==on our feature branches. It’s really just a way to clean up our commit history before we merge it into the main branch. This might change the history, but since it’s just on our own feature branches, it doesn’t mess up anything for everyone else.==

  ![](https://proxy-prod.omnivore-image-cache.app/800x0,s741uz372LXRlTbpdIp7thFQOHpb2HEwyoZVuS7eHYHU/https://embed.filekitcdn.com/e/9nyiJQ9d9Gw31fuefbZ9U7/gPjnSdTmfGoapQrSBNky7e/email)

  Rebasing 3 commits into one with interactive rebase

  ==Here’s a quick guide on how to do it:==

  1. **==Start on Your Feature Branch:==**`==git checkout -b== ==my====-feature==`
  2. **==Grab the Latest Main Branch Updates Without Switching:==**`==git== ==fetch== ==origin== ==main====:main==` ==(using== `==main:====main==` ==is a trick to fetch remote main changes to the local copy without switching back and forth)==
  3. **==Interactive Rebase Time:==**`==git rebase main== ==--interactive==` ==- This lets us pick and choose which commits to keep or squash, change the commits you want to== `==s==` ==to make sure git squashes them into the parent commit, while keeping the changes.==
  4. **==Safely Update the Remote Branch:==**`==git push --====force====-====with====-lease==` ==- This flag makes sure we don’t accidentally overwrite anyone else’s work.==
  5. **==Prepare to Merge:==**`==git checkout main==`
  6. **==Merge Without Extra Commits:==**`==git== ==merge== ==--ff-====only== ==-==` ==- Keeps our history straight by avoiding merge commits.==
  7. **==Push it Up:==**`==git== ==push==` ==- And we’re done!==

  By making this part of what we do every day, our git trees will stay clean and easy to work with.

  Hope you find this helpful! Always happy to hear your thoughts or answer any questions.

  Enjoy your weekend! 

  _**Whenever you’re ready, here’s how I can help you**_

  * ​[Follow me on X / Twitter](https://click.convertkit-mail2.com/qduo9vo0l2f7h7pwe7eulhnpxowkk/wnh2hghw84rpw8h7/aHR0cHM6Ly90d2l0dGVyLmNvbS9kZXZvcHN0b29sYm94) for the occasional tips and tricks on better workflows
  * ​[Building a Second Brain with Neovim in Under 90 Minutes ​](https://click.convertkit-mail2.com/qduo9vo0l2f7h7pwe7eulhnpxowkk/reh8hoh0n7qr0ka2/aHR0cHM6Ly9sZWFybi5vbWVyeHguY29tL2NvdXJzZXMvc2Vjb25kLWJyYWluLW5lb3ZpbQ==)My first course, discussing the basics of building a second brain using the PARA and CODE methods, combined with Obsidian and Neovim as an editor. Join 200+ enrolled students here

  [![Built with ConvertKit](https://proxy-prod.omnivore-image-cache.app/190x36,suXlFZIrn56v5wQ2wJrgXmN-MetSTl33uHiVXRY6NE5Y/https://cdn.convertkit.com/assets/light-built-with-badge.png)](https://click.convertkit-mail2.com/qduo9vo0l2f7h7pwe7eulhnpxowkk/08hwh9hdqxm5dvul/aHR0cHM6Ly9jb252ZXJ0a2l0LmNvbS9mZWF0dXJlcy9lbWFpbC1tYXJrZXRpbmc%5FdXRtX2NhbXBhaWduPXBvd2VyZWRieSZ1dG1fY29udGVudD1lbWFpbCZ1dG1fbWVkaXVtPXJlZmVycmFsJnV0bV9zb3VyY2U9ZHluYW1pYw==)

raw_content:
  ---
  id: 228a5a0a-eded-11ee-9840-8b8ae5e4b6f0
  title: |
    Let's Save the (Git) Trees
  status: ARCHIVED
  tags:
    - read-later
    - Newsletter
  date_added: 2024-03-29 13:55:23
  url_omnivore: |
    https://omnivore.app/me/let-s-save-the-git-trees-18e8b23331a
  url_original: |
    https://omnivore.app/no_url?q=b542dc42-874d-446c-84a7-6c02bf819f29
  ---

  # Let's Save the (Git) Trees

  ## Highlights

  We start using something called **interactive rebase** on our feature branches. It’s really just a way to clean up our commit history before we merge it into the main branch. This might change the history, but since it’s just on our own feature branches, it doesn’t mess up anything for everyone else. 

  [source](https://omnivore.app/me/let-s-save-the-git-trees-18e8b23331a#0f14f09a-7965-46bd-bc32-d4eede7e821c) 

  ---

  Here’s a quick guide on how to do it:

  1. **Start on Your Feature Branch:**`git checkout -b my-feature`
  2. **Grab the Latest Main Branch Updates Without Switching:**`git fetch origin main:main` (using `main:main` is a trick to fetch remote main changes to the local copy without switching back and forth)
  3. **Interactive Rebase Time:**`git rebase main --interactive` \- This lets us pick and choose which commits to keep or squash, change the commits you want to `s` to make sure git squashes them into the parent commit, while keeping the changes.
  4. **Safely Update the Remote Branch:**`git push --force-with-lease` \- This flag makes sure we don’t accidentally overwrite anyone else’s work.
  5. **Prepare to Merge:**`git checkout main`
  6. **Merge Without Extra Commits:**`git merge --ff-only -` \- Keeps our history straight by avoiding merge commits.
  7. **Push it Up:**`git push` \- And we’re done! 

  [source](https://omnivore.app/me/let-s-save-the-git-trees-18e8b23331a#abe6a553-9d96-4f41-aba2-73ad21e3e86a) 

  ---

  ## Original

  Hi friends,

  You know how companies use merge commits when working on projects?

  Just go to one of your work projects and checkout the history of the main branch. It may look tidy (or not) but it’s bad for the environment (the real-world one 😉)

  ![](https://proxy-prod.omnivore-image-cache.app/736x0,sn6ke9p9cjtm0zRALZCJRPzmHZdOxUQdTT0Px1KRIPF8/https://embed.filekitcdn.com/e/9nyiJQ9d9Gw31fuefbZ9U7/4fPPnSnnwR4NjuHxwiBW7a/email)

  Lots of merge commits

  While that’s pretty standard, it actually makes things messy.

  Every time we do this, it stops us from keeping our commit history nice and clean all the way through from development to production.

  Here’s why that’s a bit of a problem: if we’ve already **built and tested** a commit, **installing dependencies** in the process and **storing** all its details, there’s really no need to go through all that again.

  It’s like doing the same work twice, which wastes time and resources, which translate to environmental effects that compound and another financial waste if that’s not enough.

  Plus, a cleaner git history makes it easier for us to figure out issues. It helps us use tools like `git bisect` much more effectively to find bugs. But we’ll talk more about that another time.

  So, what’s the solution?

  ==We start using something called== **==interactive rebase==** ==on our feature branches. It’s really just a way to clean up our commit history before we merge it into the main branch. This might change the history, but since it’s just on our own feature branches, it doesn’t mess up anything for everyone else.==

  ![](https://proxy-prod.omnivore-image-cache.app/800x0,s741uz372LXRlTbpdIp7thFQOHpb2HEwyoZVuS7eHYHU/https://embed.filekitcdn.com/e/9nyiJQ9d9Gw31fuefbZ9U7/gPjnSdTmfGoapQrSBNky7e/email)

  Rebasing 3 commits into one with interactive rebase

  ==Here’s a quick guide on how to do it:==

  1. **==Start on Your Feature Branch:==**`==git checkout -b== ==my====-feature==`
  2. **==Grab the Latest Main Branch Updates Without Switching:==**`==git== ==fetch== ==origin== ==main====:main==` ==(using== `==main:====main==` ==is a trick to fetch remote main changes to the local copy without switching back and forth)==
  3. **==Interactive Rebase Time:==**`==git rebase main== ==--interactive==` ==- This lets us pick and choose which commits to keep or squash, change the commits you want to== `==s==` ==to make sure git squashes them into the parent commit, while keeping the changes.==
  4. **==Safely Update the Remote Branch:==**`==git push --====force====-====with====-lease==` ==- This flag makes sure we don’t accidentally overwrite anyone else’s work.==
  5. **==Prepare to Merge:==**`==git checkout main==`
  6. **==Merge Without Extra Commits:==**`==git== ==merge== ==--ff-====only== ==-==` ==- Keeps our history straight by avoiding merge commits.==
  7. **==Push it Up:==**`==git== ==push==` ==- And we’re done!==

  By making this part of what we do every day, our git trees will stay clean and easy to work with.

  Hope you find this helpful! Always happy to hear your thoughts or answer any questions.

  Enjoy your weekend! 

  _**Whenever you’re ready, here’s how I can help you**_

  * ​[Follow me on X / Twitter](https://click.convertkit-mail2.com/qduo9vo0l2f7h7pwe7eulhnpxowkk/wnh2hghw84rpw8h7/aHR0cHM6Ly90d2l0dGVyLmNvbS9kZXZvcHN0b29sYm94) for the occasional tips and tricks on better workflows
  * ​[Building a Second Brain with Neovim in Under 90 Minutes ​](https://click.convertkit-mail2.com/qduo9vo0l2f7h7pwe7eulhnpxowkk/reh8hoh0n7qr0ka2/aHR0cHM6Ly9sZWFybi5vbWVyeHguY29tL2NvdXJzZXMvc2Vjb25kLWJyYWluLW5lb3ZpbQ==)My first course, discussing the basics of building a second brain using the PARA and CODE methods, combined with Obsidian and Neovim as an editor. Join 200+ enrolled students here

  [![Built with ConvertKit](https://proxy-prod.omnivore-image-cache.app/190x36,suXlFZIrn56v5wQ2wJrgXmN-MetSTl33uHiVXRY6NE5Y/https://cdn.convertkit.com/assets/light-built-with-badge.png)](https://click.convertkit-mail2.com/qduo9vo0l2f7h7pwe7eulhnpxowkk/08hwh9hdqxm5dvul/aHR0cHM6Ly9jb252ZXJ0a2l0LmNvbS9mZWF0dXJlcy9lbWFpbC1tYXJrZXRpbmc%5FdXRtX2NhbXBhaWduPXBvd2VyZWRieSZ1dG1fY29udGVudD1lbWFpbCZ1dG1fbWVkaXVtPXJlZmVycmFsJnV0bV9zb3VyY2U9ZHluYW1pYw==)

metadata:
  {"date_added":"2024-03-29 13:55:23","id":"228a5a0a-eded-11ee-9840-8b8ae5e4b6f0","status":"ARCHIVED","tags":["read-later","Newsletter"],"title":"Let's Save the (Git) Trees\n","url_omnivore":"https://omnivore.app/me/let-s-save-the-git-trees-18e8b23331a\n","url_original":"https://omnivore.app/no_url?q=b542dc42-874d-446c-84a7-6c02bf819f29\n"}


path: Omnivore/2024-04-18 - Unix sockets, the basics in Rust - Emmanuel Bosquet.md
sortable_path: Omnivore2024-04-18 - Unix sockets, the basics in Rust - Emmanuel Bosquet.md
title: Unix sockets, the basics in Rust - Emmanuel Bosquet
lead: # Unix sockets, the basics in Rust - Emmanuel Bosquet
checksum: a8c9cff068acab6dee108c99c39946d47e2a7145b05c0134d7867e23d3b450b1
created: 2024-09-15 00:40:59.44296478+00:00
modified: 2024-09-23 19:31:31.973006497+00:00
body:
  # Unix sockets, the basics in Rust - Emmanuel Bosquet

  ## Notes

  This will be useful someday...
  when I want to try to build my own TCP server or something like that
  ## Original

  ## Contents

  * [What is a unix socket?](#what-is-a-unix-socket)
  * [Create a socket, server side](#create-a-socket-server-side)
  * [Waiting for connections, server side](#waiting-for-connections-server-side)
  * [Connecting to the socket, client side](#connecting-to-the-socket-client-side)
  * [Writing on the socket, client side](#writing-on-the-socket-client-side)
  * [Reading from the socket, server side](#reading-from-the-socket-server-side)  
     * [Launch the whole thing!](#launch-the-whole-thing)
  * [Respond to a message, server side](#respond-to-a-message-server-side)
  * [Listen to responses, client side](#listen-to-responses-client-side)  
     * [Launch the whole thing, again!](#launch-the-whole-thing-again)
  * [Browse the code](#browse-the-code)

  I found myself wondering about unix sockets while working on [Sōzu](https://github.com/sozu-proxy/sozu), a reverse proxy written in Rust. A bunch of Sōzu issues led me to[dig into Sōzu channels](https://github.com/Keksoj/stream%5Fstuff%5Fon%5Fa%5Fsozu%5Fchannel), which themselves make use of[Metal I/O ’s implementation of unix sockets](https://tokio-rs.github.io/mio/doc/mio/net/struct.UnixListener.html).

  Here are the questions, summed up:

  * what are unix sockets?
  * how can we create them in Rust?
  * how do we use them to stream data?

  So here we go.

  It is _not_ a web socket like `127.0.0.1:8080`.

  You may have heard that in unix,[everything is a file](https://www.youtube.com/watch?v=dDwXnB6XeiA). Unix sockets seem to be a good example of this principle. They are empty files of sorts, only there to be written to, and read from.

  Sockets are a core feature of unix. In fact, if you type

  ```ebnf
  man unix

  ```

  in your terminal, you should land on an ancient man page:

  | 1 2 3 4 5 | UNIX(7)                 Linux Programmer's Manual                UNIX(7) NAME        unix - sockets for local interprocess communication |
  | --------- | ---------------------------------------------------------------------------------------------------------------------------------------- |

  that explains how sockets are declared in C in the kernel, how they are created with the `AF_UNIX` system call, and many more thing that go far beyond my limited understanding.

  Creating a socket is not as easy as creating just any file, using, say, `touch`. They are tools available in the command line, but most of the time, sockets are created and used by processes, not by users. Looking up how to create one will land you on a tutorial in C, or in python. So let’s see how to do it in Rust.

  The Rust standard library has a [std::os::unix module](https://doc.rust-lang.org/std/os/unix/index.html)to interact with unix processes, unix files, and so on. Within it, we want to look at the `net` module, named that way because unix sockets are used to do networking between processes.

  The `std::os::unix::net` module contains, among other things:

  * [UnixListener](https://doc.rust-lang.org/std/os/unix/net/struct.UnixListener.html)
  * [UnixStream](https://doc.rust-lang.org/std/os/unix/net/struct.UnixStream.html)

  Both those entities are unsafe wrappers of the `libc` library to perform the very same unix system calls you would write in C. They both wrap a unix file descriptor, but they are distinct in order to separate higher-level concerns.

  * `UnixListener` is used to create sockets, (`libc::bind()` and `libc::listen()`)
  * `UnixStream` is there to connect to a socket (`libc::connect()`), to read from it and write on it.

  Let’s use those.[Install Rust and Cargo](https://www.rust-lang.org/tools/install),[Learn the basics of Rust](https://doc.rust-lang.org/book/), and then do:

  ```haxe
  cargo new unix_sockets

  ```

  Add this to `Cargo.toml` (makes error propagation easier):

  | 1 2 | \# Cargo.toml anyhow \= "^1.0.42" |
  | --- | --------------------------------- |

  In the `src` directory, create a `bin` directory, in which you will create a `server.rs` file.

  | 1  2  3  4  5  6  7  8  9 10 11 12 13 | // src/bin/server.rs use std::os::unix::net::{UnixListener, UnixStream}; use anyhow::Context; fn main() -> anyhow::Result<()> {     let socket\_path = "mysocket";     let unix\_listener =         UnixListener::bind(socket\_path).context("Could not create the unix socket")?;     Ok(()) } |
  | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  Then do

  ```routeros
  cargo run --bin server

  ```

  Which should run smoothly, and then do `ls -l` in your directory, you should have a line like this:

  ```routeros
  srwxr-xr-x 1 emmanuel users    0 Jan  7 13:08 mysocket

  ```

  The `s` stands for _socket_. Congratulations!

  Do one more `cargo run --bin server` and you have a neat, self-explanatory OS error:

  | 1 2 3 4 | Error: Could not create the unix socket Caused by:     Address already in use (os error 98) |
  | ------- | ------------------------------------------------------------------------------------------- |

  I guess we’ll have to destroy it and recreate it each time.

  | 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 | // src/bin/server.rs use std::os::unix::net::{UnixListener, UnixStream}; use anyhow::Context; fn main() -> anyhow::Result<()> {     let socket\_path = "mysocket";     // copy-paste this and don't think about it anymore     // it will be hidden from there on     if std::fs::metadata(socket\_path).is\_ok() {         println!("A socket is already present. Deleting...");         std::fs::remove\_file(socket\_path).with\_context(\|| {             format!("could not delete previous socket at {:?}", socket\_path)         })?;     }     let unix\_listener =         UnixListener::bind(socket\_path).context("Could not create the unix socket")?;     Ok(()) } |
  | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  The `UnixListener` struct has an `accept()` method that waits for other processes to connect to the socket. Once a connections comes, `accept()` returns a tuple containing a `UnixStream` and a `SocketAddr`.

  As mentioned above, `UnixStream` implements `Read` and `Write`. We will handle this stream to:

  * read what another process will send through the socket
  * write responses on the socket

  Add the loop and the `handle_stream` function to the server code:

  | 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | // src/bin/server.rs use std::os::unix::net::{UnixListener, UnixStream}; fn main() -> anyhow::Result<()> {     let socket\_path = "mysocket";     let unix\_listener =         UnixListener::bind(socket\_path).context("Could not create the unix socket")?;     // put the server logic in a loop to accept several connections     loop {         let (mut unix\_stream, socket\_address) = unix\_listener             .accept()             .context("Failed at accepting a connection on the unix listener")?;         handle\_stream(unix\_stream)?;     }     Ok(()) } fn handle\_stream(mut stream: UnixStream) -> anyhow::Result<()> {     // to be filled     Ok(()) } |
  | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  Remove the existing socket and run the code:

  ```routeros
  cargo run --bin server

  ```

  it should hang. Perfect! The server is waiting for connections!

  The client process wants to connect to an existing socket, read and write from it.

  Next to `server.rs`, create the `client.rs` file. The client will merely consist of a `UnixStream`:

  | 1  2  3  4  5  6  7  8  9 10 11 12 | // src/bin/client.rs use std::os::unix::net::{UnixListener, UnixStream}; use anyhow::Context; fn main() -> anyhow::Result<()> {     let socket\_path = "mysocket";     let mut unix\_stream =         UnixStream::connect(socket\_path).context("Could not create stream")?;     Ok(()) |
  | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  We need to import the `Read` and `Write` traits.

  | 1 2 | // src/bin/client.rs use std::io::{Read, Write}; |
  | --- | ------------------------------------------------ |

  And now we can write onto the stream. Below the `unix_stream` declaration, add the write logic:

  | 1 2 3 | unix\_stream     .write(b"Hello?")       // we write bytes, &\[u8\]     .context("Failed at writing onto the unix stream")?; |
  | ----- | ---------------------------------------------------------------------------------------------------------------------------- |

  Be sure to import `Read` and `Write` in `server.rs`:

  | 1 2 | // src/bin/server.rs use std::io::{Read, Write}; |
  | --- | ------------------------------------------------ |

  Now let’s fill the `handle_stream` function with ordinary read logic:

  | 1  2  3  4  5  6  7  8  9 10 | // src/bin/server.rs fn handle\_stream(mut unix\_stream: UnixStream) -> anyhow::Result<()> {     let mut message = String::new();     unix\_stream         .read\_to\_string(&mut message)         .context("Failed at reading the unix stream")?;     println!("{}", message);     Ok(()) } |
  | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  Make sure you have the server running in a terminal:

  ```routeros
  cargo run --bin server

  ```

  And in a separate terminal, run the client:

  ```routeros
  cargo run --bin client

  ```

  If all is well, the hello message should display on the server side.

  Let’s answer something every time the server receives anything.

  | 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 | // src/bin/server.rs fn handle\_stream(mut unix\_stream: UnixStream) -> anyhow::Result<()> {     let mut message = String::new();     unix\_stream         .read\_to\_string(&mut message)         .context("Failed at reading the unix stream")?;     println!("We received this message: {}\\nReplying...", message);     unix\_stream         .write(b"I hear you!")         .context("Failed at writing onto the unix stream")?;     Ok(()) } |
  | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  Introducing the same reading logic we used on the server **will not work**. Why? After writing on a stream, we need to shut down the writing, if we want to read from it.

  Let’s segregate the write and read logic into distinct functions. Oh, and we pass mutable references (`&mut`) of the unix stream to the function, because… Rust. Don’t worry about it.

  | 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 | // src/bin/client.rs use std::io::{Read, Write}; use std::os::unix::net::{UnixListener, UnixStream}; use anyhow::Context; fn main() -> anyhow::Result<()> {     let socket\_path = "mysocket";     let mut unix\_stream =         UnixStream::connect(socket\_path).context("Could not create stream")?;     write\_request\_and\_shutdown(&mut unix\_stream)?;     read\_from\_stream(&mut unix\_stream)?;     Ok(()) } |
  | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

  The `shutdown()` method takes a `Shutdown` enum we would otherwise use on TCP streams. Write below the main function:

  | 1  2  3  4  5  6  7  8  9 10 11 12 13 14 | fn write\_request\_and\_shutdown(unix\_stream: &mut UnixStream) -> anyhow::Result<()> {     unix\_stream         .write(b"Hello?")         .context("Failed at writing onto the unix stream")?;     println!("We sent a request");     println!("Shutting down writing on the stream, waiting for response...");     unix\_stream         .shutdown(std::net::Shutdown::Write)         .context("Could not shutdown writing on the stream")?;     Ok(()) } |
  | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  The stream is now clean to be read from.

  | 1 2 3 4 5 6 7 8 9 | fn read\_from\_stream(unix\_stream: &mut UnixStream) -> anyhow::Result<()> {     let mut response = String::new();     unix\_stream         .read\_to\_string(&mut response)         .context("Failed at reading the unix stream")?;     println!("We received this response: {}", response);     Ok(()) } |
  | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  Have the server running in a terminal:

  ```routeros
  cargo run --bin server

  ```

  And in a separate terminal, run the client:

  ```routeros
  cargo run --bin client

  ```

  If all is well,

  * the hello message should display on the server side
  * the “I hear you” response should display on the client side

  You can run the client as many times as you want, since the server runs in a loop.

  This tutorial comes with a [github repository](https://github.com/Keksoj/unix%5Fsockets%5Fbasics)that contains the above code.

  Feel free to write an issue for any comment, criticism, or complaint you may have. Fork and do pull requests as you please.

  This blog post is a sum-up of what I learned trying to understand unix sockets while working on Sōzu. A more elaborate version of the code is available[in this other repo](https://github.com/Keksoj/unix%5Fsocket%5Fbased%5Fserver%5Fclient), with additional features:

  * a `UnixListener`\-wrapping library with a glorious `SocketBuilder` helper (permissions! blocking/nonblocking!)
  * a `Message` module with serializable `Request` and `Response` structs. The Response has a status that is either `Ok`, `Error` or `Processing`
  * a client loop that continues reading the stream as long as responses come with a `Processing` status, to stops only at `Ok` or `Error`

  All this happened thanks to my employer, [Clever Cloud](https://clever-cloud.com/), who allows me to learn my job in the best possible conditions. Much gratitude.

raw_content:
  ---
  id: 3f72e613-eb8e-446b-93b5-fdb275a781c0
  title: |
    Unix sockets, the basics in Rust - Emmanuel Bosquet
  status: ARCHIVED
  tags:
    - read-later
  date_added: 2024-04-18 20:15:21
  url_omnivore: |
    https://omnivore.app/me/unix-sockets-the-basics-in-rust-emmanuel-bosquet-18ef3b52a37
  url_original: |
    https://emmanuelbosquet.com/2022/whatsaunixsocket/
  ---

  # Unix sockets, the basics in Rust - Emmanuel Bosquet

  ## Notes

  This will be useful someday...
  when I want to try to build my own TCP server or something like that
  ## Original

  ## Contents

  * [What is a unix socket?](#what-is-a-unix-socket)
  * [Create a socket, server side](#create-a-socket-server-side)
  * [Waiting for connections, server side](#waiting-for-connections-server-side)
  * [Connecting to the socket, client side](#connecting-to-the-socket-client-side)
  * [Writing on the socket, client side](#writing-on-the-socket-client-side)
  * [Reading from the socket, server side](#reading-from-the-socket-server-side)  
     * [Launch the whole thing!](#launch-the-whole-thing)
  * [Respond to a message, server side](#respond-to-a-message-server-side)
  * [Listen to responses, client side](#listen-to-responses-client-side)  
     * [Launch the whole thing, again!](#launch-the-whole-thing-again)
  * [Browse the code](#browse-the-code)

  I found myself wondering about unix sockets while working on [Sōzu](https://github.com/sozu-proxy/sozu), a reverse proxy written in Rust. A bunch of Sōzu issues led me to[dig into Sōzu channels](https://github.com/Keksoj/stream%5Fstuff%5Fon%5Fa%5Fsozu%5Fchannel), which themselves make use of[Metal I/O ’s implementation of unix sockets](https://tokio-rs.github.io/mio/doc/mio/net/struct.UnixListener.html).

  Here are the questions, summed up:

  * what are unix sockets?
  * how can we create them in Rust?
  * how do we use them to stream data?

  So here we go.

  It is _not_ a web socket like `127.0.0.1:8080`.

  You may have heard that in unix,[everything is a file](https://www.youtube.com/watch?v=dDwXnB6XeiA). Unix sockets seem to be a good example of this principle. They are empty files of sorts, only there to be written to, and read from.

  Sockets are a core feature of unix. In fact, if you type

  ```ebnf
  man unix

  ```

  in your terminal, you should land on an ancient man page:

  | 1 2 3 4 5 | UNIX(7)                 Linux Programmer's Manual                UNIX(7) NAME        unix - sockets for local interprocess communication |
  | --------- | ---------------------------------------------------------------------------------------------------------------------------------------- |

  that explains how sockets are declared in C in the kernel, how they are created with the `AF_UNIX` system call, and many more thing that go far beyond my limited understanding.

  Creating a socket is not as easy as creating just any file, using, say, `touch`. They are tools available in the command line, but most of the time, sockets are created and used by processes, not by users. Looking up how to create one will land you on a tutorial in C, or in python. So let’s see how to do it in Rust.

  The Rust standard library has a [std::os::unix module](https://doc.rust-lang.org/std/os/unix/index.html)to interact with unix processes, unix files, and so on. Within it, we want to look at the `net` module, named that way because unix sockets are used to do networking between processes.

  The `std::os::unix::net` module contains, among other things:

  * [UnixListener](https://doc.rust-lang.org/std/os/unix/net/struct.UnixListener.html)
  * [UnixStream](https://doc.rust-lang.org/std/os/unix/net/struct.UnixStream.html)

  Both those entities are unsafe wrappers of the `libc` library to perform the very same unix system calls you would write in C. They both wrap a unix file descriptor, but they are distinct in order to separate higher-level concerns.

  * `UnixListener` is used to create sockets, (`libc::bind()` and `libc::listen()`)
  * `UnixStream` is there to connect to a socket (`libc::connect()`), to read from it and write on it.

  Let’s use those.[Install Rust and Cargo](https://www.rust-lang.org/tools/install),[Learn the basics of Rust](https://doc.rust-lang.org/book/), and then do:

  ```haxe
  cargo new unix_sockets

  ```

  Add this to `Cargo.toml` (makes error propagation easier):

  | 1 2 | \# Cargo.toml anyhow \= "^1.0.42" |
  | --- | --------------------------------- |

  In the `src` directory, create a `bin` directory, in which you will create a `server.rs` file.

  | 1  2  3  4  5  6  7  8  9 10 11 12 13 | // src/bin/server.rs use std::os::unix::net::{UnixListener, UnixStream}; use anyhow::Context; fn main() -> anyhow::Result<()> {     let socket\_path = "mysocket";     let unix\_listener =         UnixListener::bind(socket\_path).context("Could not create the unix socket")?;     Ok(()) } |
  | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  Then do

  ```routeros
  cargo run --bin server

  ```

  Which should run smoothly, and then do `ls -l` in your directory, you should have a line like this:

  ```routeros
  srwxr-xr-x 1 emmanuel users    0 Jan  7 13:08 mysocket

  ```

  The `s` stands for _socket_. Congratulations!

  Do one more `cargo run --bin server` and you have a neat, self-explanatory OS error:

  | 1 2 3 4 | Error: Could not create the unix socket Caused by:     Address already in use (os error 98) |
  | ------- | ------------------------------------------------------------------------------------------- |

  I guess we’ll have to destroy it and recreate it each time.

  | 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 | // src/bin/server.rs use std::os::unix::net::{UnixListener, UnixStream}; use anyhow::Context; fn main() -> anyhow::Result<()> {     let socket\_path = "mysocket";     // copy-paste this and don't think about it anymore     // it will be hidden from there on     if std::fs::metadata(socket\_path).is\_ok() {         println!("A socket is already present. Deleting...");         std::fs::remove\_file(socket\_path).with\_context(\|| {             format!("could not delete previous socket at {:?}", socket\_path)         })?;     }     let unix\_listener =         UnixListener::bind(socket\_path).context("Could not create the unix socket")?;     Ok(()) } |
  | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  The `UnixListener` struct has an `accept()` method that waits for other processes to connect to the socket. Once a connections comes, `accept()` returns a tuple containing a `UnixStream` and a `SocketAddr`.

  As mentioned above, `UnixStream` implements `Read` and `Write`. We will handle this stream to:

  * read what another process will send through the socket
  * write responses on the socket

  Add the loop and the `handle_stream` function to the server code:

  | 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | // src/bin/server.rs use std::os::unix::net::{UnixListener, UnixStream}; fn main() -> anyhow::Result<()> {     let socket\_path = "mysocket";     let unix\_listener =         UnixListener::bind(socket\_path).context("Could not create the unix socket")?;     // put the server logic in a loop to accept several connections     loop {         let (mut unix\_stream, socket\_address) = unix\_listener             .accept()             .context("Failed at accepting a connection on the unix listener")?;         handle\_stream(unix\_stream)?;     }     Ok(()) } fn handle\_stream(mut stream: UnixStream) -> anyhow::Result<()> {     // to be filled     Ok(()) } |
  | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  Remove the existing socket and run the code:

  ```routeros
  cargo run --bin server

  ```

  it should hang. Perfect! The server is waiting for connections!

  The client process wants to connect to an existing socket, read and write from it.

  Next to `server.rs`, create the `client.rs` file. The client will merely consist of a `UnixStream`:

  | 1  2  3  4  5  6  7  8  9 10 11 12 | // src/bin/client.rs use std::os::unix::net::{UnixListener, UnixStream}; use anyhow::Context; fn main() -> anyhow::Result<()> {     let socket\_path = "mysocket";     let mut unix\_stream =         UnixStream::connect(socket\_path).context("Could not create stream")?;     Ok(()) |
  | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  We need to import the `Read` and `Write` traits.

  | 1 2 | // src/bin/client.rs use std::io::{Read, Write}; |
  | --- | ------------------------------------------------ |

  And now we can write onto the stream. Below the `unix_stream` declaration, add the write logic:

  | 1 2 3 | unix\_stream     .write(b"Hello?")       // we write bytes, &\[u8\]     .context("Failed at writing onto the unix stream")?; |
  | ----- | ---------------------------------------------------------------------------------------------------------------------------- |

  Be sure to import `Read` and `Write` in `server.rs`:

  | 1 2 | // src/bin/server.rs use std::io::{Read, Write}; |
  | --- | ------------------------------------------------ |

  Now let’s fill the `handle_stream` function with ordinary read logic:

  | 1  2  3  4  5  6  7  8  9 10 | // src/bin/server.rs fn handle\_stream(mut unix\_stream: UnixStream) -> anyhow::Result<()> {     let mut message = String::new();     unix\_stream         .read\_to\_string(&mut message)         .context("Failed at reading the unix stream")?;     println!("{}", message);     Ok(()) } |
  | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  Make sure you have the server running in a terminal:

  ```routeros
  cargo run --bin server

  ```

  And in a separate terminal, run the client:

  ```routeros
  cargo run --bin client

  ```

  If all is well, the hello message should display on the server side.

  Let’s answer something every time the server receives anything.

  | 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 | // src/bin/server.rs fn handle\_stream(mut unix\_stream: UnixStream) -> anyhow::Result<()> {     let mut message = String::new();     unix\_stream         .read\_to\_string(&mut message)         .context("Failed at reading the unix stream")?;     println!("We received this message: {}\\nReplying...", message);     unix\_stream         .write(b"I hear you!")         .context("Failed at writing onto the unix stream")?;     Ok(()) } |
  | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  Introducing the same reading logic we used on the server **will not work**. Why? After writing on a stream, we need to shut down the writing, if we want to read from it.

  Let’s segregate the write and read logic into distinct functions. Oh, and we pass mutable references (`&mut`) of the unix stream to the function, because… Rust. Don’t worry about it.

  | 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 | // src/bin/client.rs use std::io::{Read, Write}; use std::os::unix::net::{UnixListener, UnixStream}; use anyhow::Context; fn main() -> anyhow::Result<()> {     let socket\_path = "mysocket";     let mut unix\_stream =         UnixStream::connect(socket\_path).context("Could not create stream")?;     write\_request\_and\_shutdown(&mut unix\_stream)?;     read\_from\_stream(&mut unix\_stream)?;     Ok(()) } |
  | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

  The `shutdown()` method takes a `Shutdown` enum we would otherwise use on TCP streams. Write below the main function:

  | 1  2  3  4  5  6  7  8  9 10 11 12 13 14 | fn write\_request\_and\_shutdown(unix\_stream: &mut UnixStream) -> anyhow::Result<()> {     unix\_stream         .write(b"Hello?")         .context("Failed at writing onto the unix stream")?;     println!("We sent a request");     println!("Shutting down writing on the stream, waiting for response...");     unix\_stream         .shutdown(std::net::Shutdown::Write)         .context("Could not shutdown writing on the stream")?;     Ok(()) } |
  | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  The stream is now clean to be read from.

  | 1 2 3 4 5 6 7 8 9 | fn read\_from\_stream(unix\_stream: &mut UnixStream) -> anyhow::Result<()> {     let mut response = String::new();     unix\_stream         .read\_to\_string(&mut response)         .context("Failed at reading the unix stream")?;     println!("We received this response: {}", response);     Ok(()) } |
  | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

  Have the server running in a terminal:

  ```routeros
  cargo run --bin server

  ```

  And in a separate terminal, run the client:

  ```routeros
  cargo run --bin client

  ```

  If all is well,

  * the hello message should display on the server side
  * the “I hear you” response should display on the client side

  You can run the client as many times as you want, since the server runs in a loop.

  This tutorial comes with a [github repository](https://github.com/Keksoj/unix%5Fsockets%5Fbasics)that contains the above code.

  Feel free to write an issue for any comment, criticism, or complaint you may have. Fork and do pull requests as you please.

  This blog post is a sum-up of what I learned trying to understand unix sockets while working on Sōzu. A more elaborate version of the code is available[in this other repo](https://github.com/Keksoj/unix%5Fsocket%5Fbased%5Fserver%5Fclient), with additional features:

  * a `UnixListener`\-wrapping library with a glorious `SocketBuilder` helper (permissions! blocking/nonblocking!)
  * a `Message` module with serializable `Request` and `Response` structs. The Response has a status that is either `Ok`, `Error` or `Processing`
  * a client loop that continues reading the stream as long as responses come with a `Processing` status, to stops only at `Ok` or `Error`

  All this happened thanks to my employer, [Clever Cloud](https://clever-cloud.com/), who allows me to learn my job in the best possible conditions. Much gratitude.

metadata:
  {"date_added":"2024-04-18 20:15:21","id":"3f72e613-eb8e-446b-93b5-fdb275a781c0","status":"ARCHIVED","tags":["read-later"],"title":"Unix sockets, the basics in Rust - Emmanuel Bosquet\n","url_omnivore":"https://omnivore.app/me/unix-sockets-the-basics-in-rust-emmanuel-bosquet-18ef3b52a37\n","url_original":"https://emmanuelbosquet.com/2022/whatsaunixsocket/\n"}


path: Omnivore/2024-05-10 - Bullet Journal in 5 Minutes a Day (for busy people).md
sortable_path: Omnivore2024-05-10 - Bullet Journal in 5 Minutes a Day (for busy people).md
title: Bullet Journal in 5 Minutes a Day (for busy people)
lead: # Bullet Journal in 5 Minutes a Day (for Busy people)
checksum: 2f99550dcdcfb25739142d15aa102c0bac6d0d8e9c8240d413b47d934ac741be
created: 2024-09-15 00:40:59.558841546+00:00
modified: 2024-09-23 19:31:31.973006497+00:00
body:
  # Bullet Journal in 5 Minutes a Day (for Busy people)

  ## Notes

  KISS

  In the morning:

  - Write down what needs to be done in the day in a simple bullet list, ~5 actions
  - Check previous day log

  Daily logging:

  - When switching contexts, write down what you did and what are you gonna do next
  - When the action is completed, cross it off
  - Single sentences
  - Only write down what's noteworthy

  Types of bullets:

  - ` • `: actions
  - ` - `: Notes, ideas & thoughts
  - ` = `: Moods, mental & physical feelings
  - ` ˚ `: Events

  Reflection:

  - Update the bullets
  - Decided what to do with the uncompleted actions
  - Write down final thoughts

  ## Original

  [Bullet Journal in 5 Minutes a Day (for busy people)](https://www.youtube.com/watch?v=T%5FOp4hrLSc4)

  By [Bullet Journal](https://www.youtube.com/@bulletjournal)

raw_content:
  ---
  id: fafb2eae-5872-4b07-8e3e-a215337ff70f
  title: |
    Bullet Journal in 5 Minutes a Day (for busy people)
  status: ARCHIVED
  tags:
    - read-later
  date_added: 2024-05-10 23:57:58
  url_omnivore: |
    https://omnivore.app/me/https-www-youtube-com-watch-v-t-op-4-hr-l-sc-4-18f65cce78b
  url_original: |
    https://www.youtube.com/watch?v=T_Op4hrLSc4
  ---

  # Bullet Journal in 5 Minutes a Day (for Busy people)

  ## Notes

  KISS

  In the morning:

  - Write down what needs to be done in the day in a simple bullet list, ~5 actions
  - Check previous day log

  Daily logging:

  - When switching contexts, write down what you did and what are you gonna do next
  - When the action is completed, cross it off
  - Single sentences
  - Only write down what's noteworthy

  Types of bullets:

  - ` • `: actions
  - ` - `: Notes, ideas & thoughts
  - ` = `: Moods, mental & physical feelings
  - ` ˚ `: Events

  Reflection:

  - Update the bullets
  - Decided what to do with the uncompleted actions
  - Write down final thoughts

  ## Original

  [Bullet Journal in 5 Minutes a Day (for busy people)](https://www.youtube.com/watch?v=T%5FOp4hrLSc4)

  By [Bullet Journal](https://www.youtube.com/@bulletjournal)

metadata:
  {"date_added":"2024-05-10 23:57:58","id":"fafb2eae-5872-4b07-8e3e-a215337ff70f","status":"ARCHIVED","tags":["read-later"],"title":"Bullet Journal in 5 Minutes a Day (for busy people)\n","url_omnivore":"https://omnivore.app/me/https-www-youtube-com-watch-v-t-op-4-hr-l-sc-4-18f65cce78b\n","url_original":"https://www.youtube.com/watch?v=T_Op4hrLSc4\n"}


path: Omnivore/2024-05-13 - Simbología de diagrama de flujo - Lucidchart.md
sortable_path: Omnivore2024-05-13 - Simbología de diagrama de flujo - Lucidchart.md
title: Simbología de diagrama de flujo | Lucidchart
lead: # Simbología de diagrama de flujo | Lucidchart
checksum: 47613f892512a43b868fd2d0252dda869e0e95c8224c1e262f65cca2292a8487
created: 2024-09-15 00:40:59.604951186+00:00
modified: 2024-09-23 19:31:31.973006497+00:00
body:
  # Simbología de diagrama de flujo | Lucidchart

  ## Notes

  keep
  ## Original

  Muchos de estos símbolos de diagramas de flujo adicionales se utilizan para trazar un diagrama de flujo de proceso de negocios para aplicaciones, flujo de usuarios, procesamiento de datos, etc.

  | Símbolo de diagrama de flujo                                                                                                                                                                                                                                         | Nombre                            | Descripción                                                                                                                                                                                                                                   |
  | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | ![Símbolo de base de datos](https://proxy-prod.omnivore-image-cache.app/0x0,sDYnAKXUJzR7XAJo3ClK51kmmOHLnVLsPeVACb_Wtt24/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/stored_data_symbol-60x60.PNG)               | Símbolo de base de datos          | Representa los datos alojados en un servicio de almacenamiento que probablemente permitirá buscar y filtrar por usuarios.                                                                                                                     |
  | ![Símbolo de cinta de papel](https://proxy-prod.omnivore-image-cache.app/0x0,sWJCvkjPULSkr7DjRHHwiG2-TQA_vjv_WAgO3ToTmuQg/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/paper-tape-flowchart-symbol.png)                                      | Símbolo de cinta de papel         | Símbolo obsoleto rara vez empleado en las prácticas o los flujos de proceso modernos. No obstante, se podría usar este símbolo cuando se trazan procesos o métodos de ingreso en computadoras y máquinas CNC mucho más antiguas.              |
  | ![Símbolo de suma o unión](https://proxy-prod.omnivore-image-cache.app/0x0,sekVzVKPqnVmmRz4Pa0qo0h9STUexy1R7EmXq13hdcYI/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/summing_junction_symbol-60x37.PNG)           | Símbolo de suma o unión           | Suma las entradas de varias rutas que convergen.                                                                                                                                                                                              |
  | ![Símbolo de proceso predefinido](https://proxy-prod.omnivore-image-cache.app/0x0,sdzikKiL6rI6sRORMdrc7VfP6ah4GjPuMLNOPLe_wSRY/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/predefined_process_symbol-60x45.PNG)  | Símbolo de proceso predefinido    | Indica un proceso u operación complicado que es bien conocido o definido en otro lado.                                                                                                                                                        |
  | ![Símbolo de almacenamiento interno](https://proxy-prod.omnivore-image-cache.app/0x0,s5M4qDJMHhUJJtU5_-qWCxLtsju6t8brZ5B8sMNboGXo/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/internal-storage-flowchart-symbol.png)                        | Símbolo de almacenamiento interno | Empleada comúnmente para trazar los diseños de software, esta figura indica los datos almacenados en la memoria interna.                                                                                                                      |
  | ![Símbolo de entrada manual](https://proxy-prod.omnivore-image-cache.app/0x0,s9tEBbe54JbnFZxYZq_kklRZ1IeB3L3ihQPgTdY12q5M/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/manual_input_symbol-60x45.PNG)             | Símbolo de entrada manual         | Representa la entrada manual de datos en un campo o paso del proceso, por lo general a través del teclado o de un dispositivo. Por ejemplo, en el proceso de inicio de sesión cuando se le pide al usuario que ingrese los datos manualmente. |
  | ![símbolo de operación manual](https://proxy-prod.omnivore-image-cache.app/0x0,syz7IKdBGnivkapcOxbNr3z_YF7sgY-0jlZKT74-BMEM/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/manual_operation_symbol-60x46.PNG)       | Símbolo de operación manual       | Indica un paso que se debe realizar de forma manual, no automáticamente.                                                                                                                                                                      |
  | ![Símbolo de fusión](https://proxy-prod.omnivore-image-cache.app/0x0,sXnpD4b3_co3HXh2ggFH6B1DpyYxFkLX9IxPvyrx0_uc/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/merge_symbol-60x46.PNG)                            | Símbolo de fusión                 | Combina múltiples caminos en uno solo.                                                                                                                                                                                                        |
  | ![Símbolo de documentos múltiples](https://proxy-prod.omnivore-image-cache.app/0x0,sntceaLsb63H4VLPZrM-CIqIN7t_hiVhyRi-3mskTzxI/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/multiple_documents_symbol-60x46.PNG) | Símbolo de documentos múltiples   | Representa documentos o informes múltiples.                                                                                                                                                                                                   |
  | ![Símbolo de preparación](https://proxy-prod.omnivore-image-cache.app/0x0,s-JBMotqmPFPN-5r6Nbb3eh0AZgY10UTyOZPZFQPiTZo/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/preparation_symbol-60x46.PNG)                 | Símbolo de preparación            | Diferencia entre los pasos que preparan para el trabajo y los pasos que realmente hacen el trabajo. Ayuda a introducir la configuración en otro paso dentro del mismo proceso.                                                                |
  | ![Símbolo de datos almacenados](https://proxy-prod.omnivore-image-cache.app/0x0,sKqObrAQ7W--g-rGmGOv3-ji5vPcwyi4Y2ioc_NJk96k/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/stored-data-symbol.png)                                            | Símbolo de datos almacenados      | Esta figura, también conocida como símbolo de "almacenamiento de datos", representa dónde se almacenan los datos en un proceso.                                                                                                               |
  | ![Símbolo de retraso](https://proxy-prod.omnivore-image-cache.app/0x0,sB3YWNOWsiUZANQ61nxtgfkCztz2Ww2hm02W0ylayZrQ/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/delay-flowchart-symbol.png)                                                  | Símbolo de retraso                | Representa un segmento de retraso en un proceso. Puede ser útil para indicar la duración exacta del retraso dentro de la figura.                                                                                                              |
  | ![Símbolo "or"](https://proxy-prod.omnivore-image-cache.app/0x0,swpjMwPe57mlnp6tiC7X-5eO5exLAyQo0HU09-t_t75w/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/or-flowchart-symbol.png)                                                           | Símbolo "or"                      | Tal como se describe, esta figura indica que el flujo del proceso de negocio continúa en dos o más caminos.                                                                                                                                   |
  | ![Símbolo de pantalla](https://proxy-prod.omnivore-image-cache.app/0x0,sClQjqJF3phAvd5KrnGbRgs25EOtE1dxR37gvz_XIzPo/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/display-flowchart-symbol.png)                                               | Símbolo de pantalla               | Esta figura es útil para indicar dónde se mostrará la información dentro de un flujo de proceso.                                                                                                                                              |
  | ![símbolo de disco rígido](https://proxy-prod.omnivore-image-cache.app/0x0,sFr4yPuyGTUzW-gIZOay1rylVsAKq-WgIhh-pSHkhPwg/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/hard-disk-flowchart-symbol.png)                                         | Símbolo de disco rígido           | Indica dónde están almacenados los datos dentro del disco rígido, también conocido como almacenamiento de acceso directo.                                                                                                                     |

raw_content:
  ---
  id: e121c5da-aeed-412d-9d37-97c6fb5009a1
  title: |
    Simbología de diagrama de flujo | Lucidchart
  status: ARCHIVED
  tags:
    - read-later
  date_added: 2024-05-13 09:28:34
  url_omnivore: |
    https://omnivore.app/me/simbologia-de-diagrama-de-flujo-lucidchart-18f72240313
  url_original: |
    https://www.lucidchart.com/pages/es/simbolos-comunes-de-los-diagramas-de-flujo
  ---

  # Simbología de diagrama de flujo | Lucidchart

  ## Notes

  keep
  ## Original

  Muchos de estos símbolos de diagramas de flujo adicionales se utilizan para trazar un diagrama de flujo de proceso de negocios para aplicaciones, flujo de usuarios, procesamiento de datos, etc.

  | Símbolo de diagrama de flujo                                                                                                                                                                                                                                         | Nombre                            | Descripción                                                                                                                                                                                                                                   |
  | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | ![Símbolo de base de datos](https://proxy-prod.omnivore-image-cache.app/0x0,sDYnAKXUJzR7XAJo3ClK51kmmOHLnVLsPeVACb_Wtt24/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/stored_data_symbol-60x60.PNG)               | Símbolo de base de datos          | Representa los datos alojados en un servicio de almacenamiento que probablemente permitirá buscar y filtrar por usuarios.                                                                                                                     |
  | ![Símbolo de cinta de papel](https://proxy-prod.omnivore-image-cache.app/0x0,sWJCvkjPULSkr7DjRHHwiG2-TQA_vjv_WAgO3ToTmuQg/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/paper-tape-flowchart-symbol.png)                                      | Símbolo de cinta de papel         | Símbolo obsoleto rara vez empleado en las prácticas o los flujos de proceso modernos. No obstante, se podría usar este símbolo cuando se trazan procesos o métodos de ingreso en computadoras y máquinas CNC mucho más antiguas.              |
  | ![Símbolo de suma o unión](https://proxy-prod.omnivore-image-cache.app/0x0,sekVzVKPqnVmmRz4Pa0qo0h9STUexy1R7EmXq13hdcYI/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/summing_junction_symbol-60x37.PNG)           | Símbolo de suma o unión           | Suma las entradas de varias rutas que convergen.                                                                                                                                                                                              |
  | ![Símbolo de proceso predefinido](https://proxy-prod.omnivore-image-cache.app/0x0,sdzikKiL6rI6sRORMdrc7VfP6ah4GjPuMLNOPLe_wSRY/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/predefined_process_symbol-60x45.PNG)  | Símbolo de proceso predefinido    | Indica un proceso u operación complicado que es bien conocido o definido en otro lado.                                                                                                                                                        |
  | ![Símbolo de almacenamiento interno](https://proxy-prod.omnivore-image-cache.app/0x0,s5M4qDJMHhUJJtU5_-qWCxLtsju6t8brZ5B8sMNboGXo/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/internal-storage-flowchart-symbol.png)                        | Símbolo de almacenamiento interno | Empleada comúnmente para trazar los diseños de software, esta figura indica los datos almacenados en la memoria interna.                                                                                                                      |
  | ![Símbolo de entrada manual](https://proxy-prod.omnivore-image-cache.app/0x0,s9tEBbe54JbnFZxYZq_kklRZ1IeB3L3ihQPgTdY12q5M/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/manual_input_symbol-60x45.PNG)             | Símbolo de entrada manual         | Representa la entrada manual de datos en un campo o paso del proceso, por lo general a través del teclado o de un dispositivo. Por ejemplo, en el proceso de inicio de sesión cuando se le pide al usuario que ingrese los datos manualmente. |
  | ![símbolo de operación manual](https://proxy-prod.omnivore-image-cache.app/0x0,syz7IKdBGnivkapcOxbNr3z_YF7sgY-0jlZKT74-BMEM/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/manual_operation_symbol-60x46.PNG)       | Símbolo de operación manual       | Indica un paso que se debe realizar de forma manual, no automáticamente.                                                                                                                                                                      |
  | ![Símbolo de fusión](https://proxy-prod.omnivore-image-cache.app/0x0,sXnpD4b3_co3HXh2ggFH6B1DpyYxFkLX9IxPvyrx0_uc/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/merge_symbol-60x46.PNG)                            | Símbolo de fusión                 | Combina múltiples caminos en uno solo.                                                                                                                                                                                                        |
  | ![Símbolo de documentos múltiples](https://proxy-prod.omnivore-image-cache.app/0x0,sntceaLsb63H4VLPZrM-CIqIN7t_hiVhyRi-3mskTzxI/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/multiple_documents_symbol-60x46.PNG) | Símbolo de documentos múltiples   | Representa documentos o informes múltiples.                                                                                                                                                                                                   |
  | ![Símbolo de preparación](https://proxy-prod.omnivore-image-cache.app/0x0,s-JBMotqmPFPN-5r6Nbb3eh0AZgY10UTyOZPZFQPiTZo/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/flowchart-symbols-meaning-explained/preparation_symbol-60x46.PNG)                 | Símbolo de preparación            | Diferencia entre los pasos que preparan para el trabajo y los pasos que realmente hacen el trabajo. Ayuda a introducir la configuración en otro paso dentro del mismo proceso.                                                                |
  | ![Símbolo de datos almacenados](https://proxy-prod.omnivore-image-cache.app/0x0,sKqObrAQ7W--g-rGmGOv3-ji5vPcwyi4Y2ioc_NJk96k/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/stored-data-symbol.png)                                            | Símbolo de datos almacenados      | Esta figura, también conocida como símbolo de "almacenamiento de datos", representa dónde se almacenan los datos en un proceso.                                                                                                               |
  | ![Símbolo de retraso](https://proxy-prod.omnivore-image-cache.app/0x0,sB3YWNOWsiUZANQ61nxtgfkCztz2Ww2hm02W0ylayZrQ/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/delay-flowchart-symbol.png)                                                  | Símbolo de retraso                | Representa un segmento de retraso en un proceso. Puede ser útil para indicar la duración exacta del retraso dentro de la figura.                                                                                                              |
  | ![Símbolo "or"](https://proxy-prod.omnivore-image-cache.app/0x0,swpjMwPe57mlnp6tiC7X-5eO5exLAyQo0HU09-t_t75w/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/or-flowchart-symbol.png)                                                           | Símbolo "or"                      | Tal como se describe, esta figura indica que el flujo del proceso de negocio continúa en dos o más caminos.                                                                                                                                   |
  | ![Símbolo de pantalla](https://proxy-prod.omnivore-image-cache.app/0x0,sClQjqJF3phAvd5KrnGbRgs25EOtE1dxR37gvz_XIzPo/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/display-flowchart-symbol.png)                                               | Símbolo de pantalla               | Esta figura es útil para indicar dónde se mostrará la información dentro de un flujo de proceso.                                                                                                                                              |
  | ![símbolo de disco rígido](https://proxy-prod.omnivore-image-cache.app/0x0,sFr4yPuyGTUzW-gIZOay1rylVsAKq-WgIhh-pSHkhPwg/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/examples/hard-disk-flowchart-symbol.png)                                         | Símbolo de disco rígido           | Indica dónde están almacenados los datos dentro del disco rígido, también conocido como almacenamiento de acceso directo.                                                                                                                     |

metadata:
  {"date_added":"2024-05-13 09:28:34","id":"e121c5da-aeed-412d-9d37-97c6fb5009a1","status":"ARCHIVED","tags":["read-later"],"title":"Simbología de diagrama de flujo | Lucidchart\n","url_omnivore":"https://omnivore.app/me/simbologia-de-diagrama-de-flujo-lucidchart-18f72240313\n","url_original":"https://www.lucidchart.com/pages/es/simbolos-comunes-de-los-diagramas-de-flujo\n"}


path: Omnivore/2024-05-13 - ¿Qué es un diagrama de flujo- - Lucidchart.md
sortable_path: Omnivore2024-05-13 - ¿Qué es un diagrama de flujo- - Lucidchart.md
title: ¿Qué es un diagrama de flujo? | Lucidchart
lead: # ¿Qué es un diagrama de flujo? | Lucidchart
checksum: 695f3631f309e957c3bc0ddc29c65dc3b9bdb721a23b4fefe7f055b16073a980
created: 2024-09-15 00:40:59.642994271+00:00
modified: 2024-09-23 19:31:31.9740065+00:00
body:
  # ¿Qué es un diagrama de flujo? | Lucidchart

  ## Highlights

  Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo informático. 

  [source](https://omnivore.app/me/que-es-un-diagrama-de-flujo-lucidchart-18f7222d3b7#811b888b-84ca-4575-87b9-7b329885bdb4) 

  ---

  Puedes usar un diagrama de flujo para explicar detalladamente la lógica detrás de un programa antes de empezar a codificar el proceso automatizado. 

  [source](https://omnivore.app/me/que-es-un-diagrama-de-flujo-lucidchart-18f7222d3b7#a732a8de-c335-4f4b-b107-e0804c35d826) 

  ---

  ## Cómo planificar y dibujar un diagrama de flujo básico 

  1. #### Define tu propósito y alcance.  
  . ¿Qué deseas lograr? ¿Estás considerando las cosas correctas con un punto inicial y final apropiados para alcanzar ese propósito? Realiza una investigación lo suficientemente detallada, pero lo suficientemente simple a la hora de crear tus diagramas para comunicarte con tu audiencia.
  2. #### Identifica las tareas en orden cronológico.  
  Esto puede involucrar las conversaciones con los participantes, la observación de un proceso o la revisión de cualquier documentación existente. Puedes escribir los pasos en forma de notas o comenzar con un diagrama en versión borrador.
  3. #### Organízalos por tipo y figura correspondiente,  
  como procesos, decisiones, datos, entradas o salidas.
  4. #### Crea tu diagrama,  
   ya sea dibujándolo a mano o usando un programa como Lucidchart.
  5. #### Confirma tu diagrama de flujo,  
   verificando todos los pasos con las personas que participan en el proceso. Observa el proceso para asegurarte de no dejar de lado nada que sea importante para tu propósito. 

  [source](https://omnivore.app/me/que-es-un-diagrama-de-flujo-lucidchart-18f7222d3b7#10b651cf-aaa2-46dc-9261-12b625bfd701) 

  ---

  ## Original

  [![Go to Lucidchart homepage](https://proxy-prod.omnivore-image-cache.app/0x0,s7j_cAWbKS99TL7huk4tqFyliMLjGwGHPG7mSHVkXXls/https://cdn-cashy-static-assets.lucidchart.com/lucid/logos/lucidchart.svg)](https://www.lucidchart.com/pages/es)

  ![](https://proxy-prod.omnivore-image-cache.app/0x0,sIvTTJnMTWP_8pdmsgPpp86f953LNyu1qmumkWNcpQrc/https://corporate-assets.lucid.co/chart/d7b7309e-a57b-4bc6-ae54-ae3ec75cfa7c.svg)

  ## ¿Cuáles son tus necesidades de creación de diagramas de flujo?

  [No tengo experiencia en diagramas de flujo y quiero aprender más.](#discoveryTop)

  ---

  ## Índice

  * [Más recomendaciones para los diagramas de flujo](#section%5F0)
  * [¿Qué es un diagrama de flujo?](#section%5F1)
  * [Historia](#section%5F2)
  * [Símbolos de diagramas de flujo](#section%5F3)
  * [Diagramas de flujo para algoritmos/programación informática ](#section%5F4)
  * [Cómo se usan los diagramas de flujo en muchos otros campos](#section%5F5)
  * [Tipos de diagramas de flujo](#section%5F6)
  * [Cómo planificar y dibujar un diagrama de flujo básico ](#section%5F7)

  Esta guía completa brinda todo lo que debes saber sobre los diagramas de flujo, incluidas definiciones, historia, casos de uso, símbolos, recomendaciones y más.

  10 minutos de lectura

  ¿Deseas crear un diagrama de flujo por tu cuenta? Prueba Lucidchart. Es rápido, sencillo y totalmente gratis.

  ## Más recomendaciones para los diagramas de flujo

  * Ten a tu audiencia en mente y orienta los detalles de tu diagrama hacia ella. La comunicación clara es un objetivo fundamental en los diagramas de flujo.
  * Si el proceso que estás representando involucra distintos equipos o departamentos, considera usar un diagrama de carriles para definir claramente las responsabilidades y transferencias.
  * Usa conectores dentro o fuera de la página para "editar" tu diagrama y lograr que fluya de forma lógica. Esto te puede permitir separar el diagrama en distintas páginas y que continúe siendo fluido.

  ==Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo informático.== Se usan ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y fáciles de comprender. Los diagramas de flujo emplean rectángulos, óvalos, diamantes y otras numerosas figuras para definir el tipo de paso, junto con flechas conectoras que establecen el flujo y la secuencia. Pueden variar desde diagramas simples y dibujados a mano hasta diagramas exhaustivos creados por computadora que describen múltiples pasos y rutas. Si tomamos en cuenta todas las diversas figuras de los diagramas de flujo, son uno de los diagramas más comunes del mundo, usados por personas con y sin conocimiento técnico en una variedad de campos. Los diagramas de flujo a veces se denominan con nombres más especializados, como "diagrama de flujo de procesos", "mapa de procesos", "diagrama de flujo funcional", "mapa de procesos de negocios", "notación y modelado de procesos de negocio (BPMN)" o "diagrama de flujo de procesos (PFD)". Están relacionados con otros diagramas populares, como los diagramas de [flujo de datos](https://www.lucidchart.com/pages/es/diagrama-de-flujo-de-datos) (DFD) y los diagramas de actividad de lenguaje unificado de modelado (UML).

  ![diagrama de flujo de algoritmo](https://proxy-prod.omnivore-image-cache.app/0x0,s6asco7-c0he44IseGjhWlTPyCVPZ4oabpsndoR3M3Uo/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/flowchart/discovery/algorithm-flowchart.svg)

  ![Diagrama de flujo de procesos de ventas](https://proxy-prod.omnivore-image-cache.app/0x0,sQbLL0c2tw8DJzjJ2hw5GWVwDYICjcmUqUfTV4bIUz3s/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/flowchart/discovery/sales-process-flowchart.svg)

  ## Historia

  El uso de los diagramas de flujo para documentar procesos de negocios se inició entre las décadas de 1920 y 1930\. En 1921, los ingenieros industriales Frank y Lillian Gilbreth presentaron el "diagrama de flujo de procesos" en la Sociedad Americana de Ingenieros Mecánicos (ASME – American Society of Mechanical Engineers). A principios de la década de 1930, el ingeniero industrial Allan H. Morgensen empleó las herramientas de Gilbreth para presentar conferencias sobre cómo aumentar la eficiencia en el trabajo a personas de negocios en su empresa. En la década de 1940, dos estudiantes de Morgensen, Art Spinanger y Ben S. Graham, difundieron los métodos más ampliamente. Spinanger introdujo los métodos de simplificación del trabajo en Procter & Gamble. Graham, director de Standard Register Industrial, adaptó los diagramas de flujo de procesos al procesamiento de información. En 1947, ASME adoptó un sistema de símbolos para los diagramas de flujo de procesos derivado del trabajo original de Gilbreth.

  Además, a fines de la década de 1940, Herman Goldstine y John Van Neumann usaron diagramas de flujo para desarrollar programas informáticos. Pronto la creación de diagramas se volvió cada vez más popular para los programas informáticos y algoritmos de todo tipo. Los diagramas de flujo se continúan usando para la programación hoy en día. Sin embargo, el pseudocódigo, una combinación de palabras y lenguaje de codificación pensado para lectura humana, a menudo se usa para representar niveles más específicos de detalle y para tener una versión más cercana al producto final.

  En Japón, Kaoru Ishikawa (1915-1989), una personalidad clave en las iniciativas de calidad en manufactura, afirmó que los diagramas de flujo eran una de las herramientas fundamentales en el área de control de calidad, junto a otras complementarias, como el histograma, la ficha de control y el diagrama de causa-efecto, también llamado Diagrama de Ishikawa.

  ## Símbolos de diagramas de flujo

  ¿Deseas crear un diagrama de flujo por tu cuenta? Prueba Lucidchart. Es rápido, sencillo y totalmente gratis.

  [Genera un diagrama de flujo](https://lucid.app/es/pricing/lucidchart?anonId=0.e632479b18f721b8479&sessionDate=2024-05-13T13%3A19%3A17.116Z&sessionId=0.48b7148618f721b847c)

  ## Diagramas de flujo para algoritmos/programación informática 

  Como una representación visual del flujo de datos, los diagramas de flujo son útiles para escribir un programa o algoritmo y explicárselo a otros o colaborar con otros en el mismo. ==Puedes usar un diagrama de flujo para explicar detalladamente la lógica detrás de un programa antes de empezar a codificar el proceso automatizado.== Puede ayudar a organizar una perspectiva general y ofrecer una guía cuando llega el momento de codificar. Más específicamente, los diagramas de flujo pueden:

  * Demostrar cómo el código está organizado.
  * Visualizar la ejecución de un código dentro de un programa.
  * Mostrar la estructura de un sitio web o aplicación.
  * Comprender cómo los usuarios navegan por un sitio web o programa.

  A menudo, los programadores pueden escribir un pseudocódigo, una combinación de lenguaje natural y lenguaje informático que puede ser leído por personas. Esto puede permitir más detalle que el diagrama de flujo y servir como reemplazo del diagrama de flujo o como el próximo paso del código mismo.

  Los diagramas relacionados que se emplean en el software informático incluyen:

  * Lenguaje unificado de modelado (UML): este es el lenguaje de propósito general usado en la ingeniería de software para el modelado.
  * Diagramas Nassi-Shneiderman (NSD): usados para la programación informática estructurada. Llevan el nombre de sus creadores: Isaac Nassi y Ben Shneiderman, quienes los desarrollaron en 1972 en la Universidad Estatal de Nueva York en Stony Brook. También se denominan "estructogramas".
  * Diagramas DRAKON: DRAKON es un lenguaje de programación visual de algoritmos empleado para crear diagramas de flujo.

  ![diagrama de flujo de base de datos](https://proxy-prod.omnivore-image-cache.app/0x0,sHnejHiynP9mk0hn1T_8tXMW6WHfTBYYtW7nZp1LyILM/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/flowchart/discovery/database-flowchart.svg)

  ## Cómo se usan los diagramas de flujo en muchos otros campos

  Más allá de la programación informática, los diagramas de flujo pueden tener muchos usos en diversos campos.

  #### En cualquier campo pueden:

  * Documentar y analizar un proceso.
  * Estandarizar un proceso para obtener eficiencia y calidad.
  * Comunicar un proceso para capacitar a otros sectores de la organización o lograr el entendimiento de su parte.
  * Identificar cuellos de botellas, redundancias y pasos innecesarios en un proceso y mejorarlo.

  #### Educación:

  * Planificar los requisitos académicos y las tareas del curso.
  * Crear una presentación oral o un plan de clase.
  * Organizar un proyecto grupal o individual.
  * Mostrar un proceso civil o legal, como el registro de votantes.
  * Planificar y estructurar la escritura creativa, como poesía o poesía lírica.
  * Demostrar el desarrollo de un personaje en la literatura y el cine.
  * Representar el flujo de algoritmos o acertijos lógicos.
  * Comprender un proceso científico, como el ciclo de Krebs.
  * Dibujar un proceso anatómico, como la digestión.
  * Trazar síntomas y tratamientos para enfermedades o trastornos.
  * Comunicar hipótesis y teorías, como la pirámide de Maslow o jerarquía de las necesidades humanas.

  #### Ventas y marketing:

  * Trazar el flujo de una encuesta.
  * Dibujar un proceso de ventas.
  * Planificar estrategias de investigación.
  * Mostrar flujos de registro.
  * Difundir políticas de comunicación, como un plan de R.R. P.P. de emergencia.

  ![diagrama de flujo de registro de usuarios](https://proxy-prod.omnivore-image-cache.app/0x0,somtyZz8kZwYyXHcHozHWbHP3Yxy5NWykChX-3R6Gj4k/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/flowchart/discovery/user-flowchart.svg)

  #### Negocios:

  * Comprender procesos de pedidos y compras.
  * Representar la rutina diaria o las tareas de un empleado.
  * Comprender las rutas que toman los usuarios en un sitio web o en una tienda.
  * Desarrollar un plan de negocio o un plan de desarrollo de un producto.
  * Documentar un proceso en preparación para una auditoría, incluido el cumplimiento normativo, por ejemplo, en virtud de la Ley Sarbanes-Oxley.
  * Documentar un proceso en preparación para una venta o consolidación.

  ![diagrama de flujo de negocios](https://proxy-prod.omnivore-image-cache.app/0x0,sQjzfoMCWEldD8ZUzl7-BaHppNCRWLxDuTfe3_BD7TcE/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/flowchart/discovery/business-flowchart.svg)

  #### Manufactura:

  * Indicar la composición química o física de un producto.
  * Ilustrar el proceso de manufactura de principio a fin.
  * Descubrir y resolver ineficiencias en un proceso de manufactura o adquisición.

  #### Ingeniería:

  * Representar flujos de proceso o de sistema.
  * Diseñar y actualizar procesos químicos y de planta.
  * Evaluar el ciclo de vida de una estructura.
  * Diagramar un flujo de ingeniería inversa.
  * Demostrar la fase de prototipo y diseño de una estructura o producto nuevos.

  ## Tipos de diagramas de flujo

  Distintos autores describen numerosos tipos de diagramas de flujo en diferentes términos. Estas personas incluyen a expertos publicados, como Alan B. Sterneckert, Andrew Veronis, Marilyn Bohl y Mark A. Fryman.

  Sterneckert, en su libro escrito en 2003 _Critical Incident Management_, mencionó cuatro tipos de diagramas de flujo populares, enmarcados en el concepto de controles de flujos en vez del flujo en sí mismo:

  * #### Diagramas de flujo de documentos:  
  Estos "tienen el propósito de mostrar los controles existentes en el flujo de documentos a través de los componentes de un sistema. (...) El diagrama se lee de izquierda a derecha y detalla el flujo de documentos a través de numerosas unidades de negocio".
  * #### Diagramas de flujo de datos:  
  Estos indican "los controles que rigen los flujos de datos en un sistema. (...) Los diagramas de flujo de datos se usan principalmente para mostrar los canales donde se transmiten los datos a través del sistema en lugar de cómo se controla el flujo".
  * #### Diagramas de flujo de sistemas:  
   Estos "indican el flujo de datos que pasa hacia los componentes principales de un sistema, o a través de ellos, tales como entrada de datos, programas, medios de almacenamiento, procesadores y redes de comunicación".
  * #### Diagramas de flujo de programas:  
   Estos muestran "los controles ubicados internamente en un programa dentro de un sistema".

  Veronis , en su libro escrito en 1978, _Microprocessors: Design and Applications_, describió tres tipos de diagramas de flujo en función del alcance y nivel de detalle:

  * #### Diagrama de flujo de sistema:  
  identifica los dispositivos que se emplearán.
  * #### Diagrama de flujo general:  
   vista general.
  * #### Diagrama de flujo detallado:  
   más detalles.

  Bohl, en su libro escrito en 1978 llamado A Guide for Programmers, enumera solo dos:

  * #### Diagrama de flujo de sistemas.
  * #### Diagrama de flujo de programas.

  But Fryman, en su libro escrito en 2001 titulado _Quality and Process Improvement_, distinguió los tipos de muchas maneras, más desde una perspectiva orientada a los negocios que a la informática:

  * #### Diagrama de flujo de decisiones.
  * #### Diagrama de flujo lógico.
  * #### Diagrama de flujo de sistemas.
  * #### Diagrama de flujo de productos.
  * #### Diagrama de flujo de procesos.

  Otros tipos de diagramas de flujo definidos por otros incluyen:

  * #### Diagrama de carriles, también conocido como "diagrama de flujo de carriles":  
   detalla los roles de cada participante en procesos que se realizan entre equipos.
  * #### Diagrama de flujo de trabajo:  
  documenta flujos de trabajo, a menudo involucra tareas, documentos e información en las oficinas.
  * #### Diagrama de cadena de procesos impulsada por eventos (EPC):  
  documenta o planifica un proceso de negocio.
  * #### Diagrama de flujo de lenguaje de descripción y especificación (SDL):  
   realiza un lluvia de ideas sobre los algoritmos informáticos mediante tres componentes básicos: proceso, bloqueo y definición de sistema.

  ![carril](https://proxy-prod.omnivore-image-cache.app/0x0,sD8IS9nWnvOzFongZbBCTYK8aIPBDx4hariuuZYg_itM/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/flowchart/discovery/swim-lane-flowchart.svg)

  Estos diagramas relacionados también se piensan, a veces, como tipos de diagramas de flujo:

  * #### Diagrama de flujo de datos (DFD):  
  traza el flujo de información de cualquier sistema o proceso.
  * #### Diagrama de flujo de procesos (PFD), también conocido como "gráfico de flujo de procesos":  
  ilustra las relaciones entre los principales componentes de una planta industrial.
  * #### Modelo y notación de procesos de negocio (BPMN 2.0):  
  modela los pasos de un proceso de negocio planificado.

  ## ==Cómo planificar y dibujar un diagrama de flujo básico== 

  1. #### ==Define tu propósito y alcance.==  
  ==. ¿Qué deseas lograr? ¿Estás considerando las cosas correctas con un punto inicial y final apropiados para alcanzar ese propósito? Realiza una investigación lo suficientemente detallada, pero lo suficientemente simple a la hora de crear tus diagramas para comunicarte con tu audiencia.==
  2. #### ==Identifica las tareas en orden cronológico.==  
  ==Esto puede involucrar las conversaciones con los participantes, la observación de un proceso o la revisión de cualquier documentación existente. Puedes escribir los pasos en forma de notas o comenzar con un diagrama en versión borrador.==
  3. #### ==Organízalos por tipo y figura correspondiente,==  
  ==como procesos, decisiones, datos, entradas o salidas.==
  4. #### ==Crea tu diagrama,==  
   ==ya sea dibujándolo a mano o usando un programa como Lucidchart.==
  5. #### ==Confirma tu diagrama de flujo,==  
   ==verificando todos los pasos con las personas que participan en el proceso. Observa el proceso para asegurarte de no dejar de lado nada que sea importante para tu propósito.==

  ---

  ## Recursos útiles

  * [Plantilla de diagrama de flujo para Word](https://www.lucidchart.com/pages/es/plantilla-de-diagrama-de-flujo-para-word)
  * [Cómo hacer un diagrama de flujo en Excel](https://www.lucidchart.com/pages/es/como-hacer-un-diagrama-de-flujo-en-excel)
  * [Simbología de diagrama de flujo](https://www.lucidchart.com/pages/es/simbolos-comunes-de-los-diagramas-de-flujo)
  * [Cómo hacer un diagrama de flujo](https://www.lucidchart.com/pages/es/como-hacer-un-diagrama-de-flujo)
  * [Cómo crear un diagrama de flujo en PowerPoint](https://www.lucidchart.com/pages/es/hacer-un-diagrama-de-flujo-en-powerpoint)
  * [Cómo crear un diagrama de flujo en Word](https://www.lucidchart.com/pages/es/como-hacer-un-diagrama-de-flujo-en-word)

  Crear diagramas de flujo en Lucidchart es fácil e intuitivo. Simplemente debes arrastrar las figuras en el lienzo y dibujar las líneas que las conectan. Si no sabes bien por dónde empezar, echa un vistazo a nuestro tutorial sobre recomendaciones acerca de [cómo dibujar un diagrama de flujo](https://www.lucidchart.com/pages/es/como-hacer-un-diagrama-de-flujo).

  ¿Deseas crear un diagrama de flujo por tu cuenta? Prueba Lucidchart. Es rápido, sencillo y totalmente gratis.

raw_content:
  ---
  id: 52e165c4-8ef3-4036-a5ea-6d8cebd148a4
  title: |
    ¿Qué es un diagrama de flujo? | Lucidchart
  status: ARCHIVED
  tags:
    - read-later
  date_added: 2024-05-13 09:27:16
  url_omnivore: |
    https://omnivore.app/me/que-es-un-diagrama-de-flujo-lucidchart-18f7222d3b7
  url_original: |
    https://www.lucidchart.com/pages/es/que-es-un-diagrama-de-flujo
  ---

  # ¿Qué es un diagrama de flujo? | Lucidchart

  ## Highlights

  Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo informático. 

  [source](https://omnivore.app/me/que-es-un-diagrama-de-flujo-lucidchart-18f7222d3b7#811b888b-84ca-4575-87b9-7b329885bdb4) 

  ---

  Puedes usar un diagrama de flujo para explicar detalladamente la lógica detrás de un programa antes de empezar a codificar el proceso automatizado. 

  [source](https://omnivore.app/me/que-es-un-diagrama-de-flujo-lucidchart-18f7222d3b7#a732a8de-c335-4f4b-b107-e0804c35d826) 

  ---

  ## Cómo planificar y dibujar un diagrama de flujo básico 

  1. #### Define tu propósito y alcance.  
  . ¿Qué deseas lograr? ¿Estás considerando las cosas correctas con un punto inicial y final apropiados para alcanzar ese propósito? Realiza una investigación lo suficientemente detallada, pero lo suficientemente simple a la hora de crear tus diagramas para comunicarte con tu audiencia.
  2. #### Identifica las tareas en orden cronológico.  
  Esto puede involucrar las conversaciones con los participantes, la observación de un proceso o la revisión de cualquier documentación existente. Puedes escribir los pasos en forma de notas o comenzar con un diagrama en versión borrador.
  3. #### Organízalos por tipo y figura correspondiente,  
  como procesos, decisiones, datos, entradas o salidas.
  4. #### Crea tu diagrama,  
   ya sea dibujándolo a mano o usando un programa como Lucidchart.
  5. #### Confirma tu diagrama de flujo,  
   verificando todos los pasos con las personas que participan en el proceso. Observa el proceso para asegurarte de no dejar de lado nada que sea importante para tu propósito. 

  [source](https://omnivore.app/me/que-es-un-diagrama-de-flujo-lucidchart-18f7222d3b7#10b651cf-aaa2-46dc-9261-12b625bfd701) 

  ---

  ## Original

  [![Go to Lucidchart homepage](https://proxy-prod.omnivore-image-cache.app/0x0,s7j_cAWbKS99TL7huk4tqFyliMLjGwGHPG7mSHVkXXls/https://cdn-cashy-static-assets.lucidchart.com/lucid/logos/lucidchart.svg)](https://www.lucidchart.com/pages/es)

  ![](https://proxy-prod.omnivore-image-cache.app/0x0,sIvTTJnMTWP_8pdmsgPpp86f953LNyu1qmumkWNcpQrc/https://corporate-assets.lucid.co/chart/d7b7309e-a57b-4bc6-ae54-ae3ec75cfa7c.svg)

  ## ¿Cuáles son tus necesidades de creación de diagramas de flujo?

  [No tengo experiencia en diagramas de flujo y quiero aprender más.](#discoveryTop)

  ---

  ## Índice

  * [Más recomendaciones para los diagramas de flujo](#section%5F0)
  * [¿Qué es un diagrama de flujo?](#section%5F1)
  * [Historia](#section%5F2)
  * [Símbolos de diagramas de flujo](#section%5F3)
  * [Diagramas de flujo para algoritmos/programación informática ](#section%5F4)
  * [Cómo se usan los diagramas de flujo en muchos otros campos](#section%5F5)
  * [Tipos de diagramas de flujo](#section%5F6)
  * [Cómo planificar y dibujar un diagrama de flujo básico ](#section%5F7)

  Esta guía completa brinda todo lo que debes saber sobre los diagramas de flujo, incluidas definiciones, historia, casos de uso, símbolos, recomendaciones y más.

  10 minutos de lectura

  ¿Deseas crear un diagrama de flujo por tu cuenta? Prueba Lucidchart. Es rápido, sencillo y totalmente gratis.

  ## Más recomendaciones para los diagramas de flujo

  * Ten a tu audiencia en mente y orienta los detalles de tu diagrama hacia ella. La comunicación clara es un objetivo fundamental en los diagramas de flujo.
  * Si el proceso que estás representando involucra distintos equipos o departamentos, considera usar un diagrama de carriles para definir claramente las responsabilidades y transferencias.
  * Usa conectores dentro o fuera de la página para "editar" tu diagrama y lograr que fluya de forma lógica. Esto te puede permitir separar el diagrama en distintas páginas y que continúe siendo fluido.

  ==Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo informático.== Se usan ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y fáciles de comprender. Los diagramas de flujo emplean rectángulos, óvalos, diamantes y otras numerosas figuras para definir el tipo de paso, junto con flechas conectoras que establecen el flujo y la secuencia. Pueden variar desde diagramas simples y dibujados a mano hasta diagramas exhaustivos creados por computadora que describen múltiples pasos y rutas. Si tomamos en cuenta todas las diversas figuras de los diagramas de flujo, son uno de los diagramas más comunes del mundo, usados por personas con y sin conocimiento técnico en una variedad de campos. Los diagramas de flujo a veces se denominan con nombres más especializados, como "diagrama de flujo de procesos", "mapa de procesos", "diagrama de flujo funcional", "mapa de procesos de negocios", "notación y modelado de procesos de negocio (BPMN)" o "diagrama de flujo de procesos (PFD)". Están relacionados con otros diagramas populares, como los diagramas de [flujo de datos](https://www.lucidchart.com/pages/es/diagrama-de-flujo-de-datos) (DFD) y los diagramas de actividad de lenguaje unificado de modelado (UML).

  ![diagrama de flujo de algoritmo](https://proxy-prod.omnivore-image-cache.app/0x0,s6asco7-c0he44IseGjhWlTPyCVPZ4oabpsndoR3M3Uo/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/flowchart/discovery/algorithm-flowchart.svg)

  ![Diagrama de flujo de procesos de ventas](https://proxy-prod.omnivore-image-cache.app/0x0,sQbLL0c2tw8DJzjJ2hw5GWVwDYICjcmUqUfTV4bIUz3s/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/flowchart/discovery/sales-process-flowchart.svg)

  ## Historia

  El uso de los diagramas de flujo para documentar procesos de negocios se inició entre las décadas de 1920 y 1930\. En 1921, los ingenieros industriales Frank y Lillian Gilbreth presentaron el "diagrama de flujo de procesos" en la Sociedad Americana de Ingenieros Mecánicos (ASME – American Society of Mechanical Engineers). A principios de la década de 1930, el ingeniero industrial Allan H. Morgensen empleó las herramientas de Gilbreth para presentar conferencias sobre cómo aumentar la eficiencia en el trabajo a personas de negocios en su empresa. En la década de 1940, dos estudiantes de Morgensen, Art Spinanger y Ben S. Graham, difundieron los métodos más ampliamente. Spinanger introdujo los métodos de simplificación del trabajo en Procter & Gamble. Graham, director de Standard Register Industrial, adaptó los diagramas de flujo de procesos al procesamiento de información. En 1947, ASME adoptó un sistema de símbolos para los diagramas de flujo de procesos derivado del trabajo original de Gilbreth.

  Además, a fines de la década de 1940, Herman Goldstine y John Van Neumann usaron diagramas de flujo para desarrollar programas informáticos. Pronto la creación de diagramas se volvió cada vez más popular para los programas informáticos y algoritmos de todo tipo. Los diagramas de flujo se continúan usando para la programación hoy en día. Sin embargo, el pseudocódigo, una combinación de palabras y lenguaje de codificación pensado para lectura humana, a menudo se usa para representar niveles más específicos de detalle y para tener una versión más cercana al producto final.

  En Japón, Kaoru Ishikawa (1915-1989), una personalidad clave en las iniciativas de calidad en manufactura, afirmó que los diagramas de flujo eran una de las herramientas fundamentales en el área de control de calidad, junto a otras complementarias, como el histograma, la ficha de control y el diagrama de causa-efecto, también llamado Diagrama de Ishikawa.

  ## Símbolos de diagramas de flujo

  ¿Deseas crear un diagrama de flujo por tu cuenta? Prueba Lucidchart. Es rápido, sencillo y totalmente gratis.

  [Genera un diagrama de flujo](https://lucid.app/es/pricing/lucidchart?anonId=0.e632479b18f721b8479&sessionDate=2024-05-13T13%3A19%3A17.116Z&sessionId=0.48b7148618f721b847c)

  ## Diagramas de flujo para algoritmos/programación informática 

  Como una representación visual del flujo de datos, los diagramas de flujo son útiles para escribir un programa o algoritmo y explicárselo a otros o colaborar con otros en el mismo. ==Puedes usar un diagrama de flujo para explicar detalladamente la lógica detrás de un programa antes de empezar a codificar el proceso automatizado.== Puede ayudar a organizar una perspectiva general y ofrecer una guía cuando llega el momento de codificar. Más específicamente, los diagramas de flujo pueden:

  * Demostrar cómo el código está organizado.
  * Visualizar la ejecución de un código dentro de un programa.
  * Mostrar la estructura de un sitio web o aplicación.
  * Comprender cómo los usuarios navegan por un sitio web o programa.

  A menudo, los programadores pueden escribir un pseudocódigo, una combinación de lenguaje natural y lenguaje informático que puede ser leído por personas. Esto puede permitir más detalle que el diagrama de flujo y servir como reemplazo del diagrama de flujo o como el próximo paso del código mismo.

  Los diagramas relacionados que se emplean en el software informático incluyen:

  * Lenguaje unificado de modelado (UML): este es el lenguaje de propósito general usado en la ingeniería de software para el modelado.
  * Diagramas Nassi-Shneiderman (NSD): usados para la programación informática estructurada. Llevan el nombre de sus creadores: Isaac Nassi y Ben Shneiderman, quienes los desarrollaron en 1972 en la Universidad Estatal de Nueva York en Stony Brook. También se denominan "estructogramas".
  * Diagramas DRAKON: DRAKON es un lenguaje de programación visual de algoritmos empleado para crear diagramas de flujo.

  ![diagrama de flujo de base de datos](https://proxy-prod.omnivore-image-cache.app/0x0,sHnejHiynP9mk0hn1T_8tXMW6WHfTBYYtW7nZp1LyILM/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/flowchart/discovery/database-flowchart.svg)

  ## Cómo se usan los diagramas de flujo en muchos otros campos

  Más allá de la programación informática, los diagramas de flujo pueden tener muchos usos en diversos campos.

  #### En cualquier campo pueden:

  * Documentar y analizar un proceso.
  * Estandarizar un proceso para obtener eficiencia y calidad.
  * Comunicar un proceso para capacitar a otros sectores de la organización o lograr el entendimiento de su parte.
  * Identificar cuellos de botellas, redundancias y pasos innecesarios en un proceso y mejorarlo.

  #### Educación:

  * Planificar los requisitos académicos y las tareas del curso.
  * Crear una presentación oral o un plan de clase.
  * Organizar un proyecto grupal o individual.
  * Mostrar un proceso civil o legal, como el registro de votantes.
  * Planificar y estructurar la escritura creativa, como poesía o poesía lírica.
  * Demostrar el desarrollo de un personaje en la literatura y el cine.
  * Representar el flujo de algoritmos o acertijos lógicos.
  * Comprender un proceso científico, como el ciclo de Krebs.
  * Dibujar un proceso anatómico, como la digestión.
  * Trazar síntomas y tratamientos para enfermedades o trastornos.
  * Comunicar hipótesis y teorías, como la pirámide de Maslow o jerarquía de las necesidades humanas.

  #### Ventas y marketing:

  * Trazar el flujo de una encuesta.
  * Dibujar un proceso de ventas.
  * Planificar estrategias de investigación.
  * Mostrar flujos de registro.
  * Difundir políticas de comunicación, como un plan de R.R. P.P. de emergencia.

  ![diagrama de flujo de registro de usuarios](https://proxy-prod.omnivore-image-cache.app/0x0,somtyZz8kZwYyXHcHozHWbHP3Yxy5NWykChX-3R6Gj4k/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/flowchart/discovery/user-flowchart.svg)

  #### Negocios:

  * Comprender procesos de pedidos y compras.
  * Representar la rutina diaria o las tareas de un empleado.
  * Comprender las rutas que toman los usuarios en un sitio web o en una tienda.
  * Desarrollar un plan de negocio o un plan de desarrollo de un producto.
  * Documentar un proceso en preparación para una auditoría, incluido el cumplimiento normativo, por ejemplo, en virtud de la Ley Sarbanes-Oxley.
  * Documentar un proceso en preparación para una venta o consolidación.

  ![diagrama de flujo de negocios](https://proxy-prod.omnivore-image-cache.app/0x0,sQjzfoMCWEldD8ZUzl7-BaHppNCRWLxDuTfe3_BD7TcE/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/flowchart/discovery/business-flowchart.svg)

  #### Manufactura:

  * Indicar la composición química o física de un producto.
  * Ilustrar el proceso de manufactura de principio a fin.
  * Descubrir y resolver ineficiencias en un proceso de manufactura o adquisición.

  #### Ingeniería:

  * Representar flujos de proceso o de sistema.
  * Diseñar y actualizar procesos químicos y de planta.
  * Evaluar el ciclo de vida de una estructura.
  * Diagramar un flujo de ingeniería inversa.
  * Demostrar la fase de prototipo y diseño de una estructura o producto nuevos.

  ## Tipos de diagramas de flujo

  Distintos autores describen numerosos tipos de diagramas de flujo en diferentes términos. Estas personas incluyen a expertos publicados, como Alan B. Sterneckert, Andrew Veronis, Marilyn Bohl y Mark A. Fryman.

  Sterneckert, en su libro escrito en 2003 _Critical Incident Management_, mencionó cuatro tipos de diagramas de flujo populares, enmarcados en el concepto de controles de flujos en vez del flujo en sí mismo:

  * #### Diagramas de flujo de documentos:  
  Estos "tienen el propósito de mostrar los controles existentes en el flujo de documentos a través de los componentes de un sistema. (...) El diagrama se lee de izquierda a derecha y detalla el flujo de documentos a través de numerosas unidades de negocio".
  * #### Diagramas de flujo de datos:  
  Estos indican "los controles que rigen los flujos de datos en un sistema. (...) Los diagramas de flujo de datos se usan principalmente para mostrar los canales donde se transmiten los datos a través del sistema en lugar de cómo se controla el flujo".
  * #### Diagramas de flujo de sistemas:  
   Estos "indican el flujo de datos que pasa hacia los componentes principales de un sistema, o a través de ellos, tales como entrada de datos, programas, medios de almacenamiento, procesadores y redes de comunicación".
  * #### Diagramas de flujo de programas:  
   Estos muestran "los controles ubicados internamente en un programa dentro de un sistema".

  Veronis , en su libro escrito en 1978, _Microprocessors: Design and Applications_, describió tres tipos de diagramas de flujo en función del alcance y nivel de detalle:

  * #### Diagrama de flujo de sistema:  
  identifica los dispositivos que se emplearán.
  * #### Diagrama de flujo general:  
   vista general.
  * #### Diagrama de flujo detallado:  
   más detalles.

  Bohl, en su libro escrito en 1978 llamado A Guide for Programmers, enumera solo dos:

  * #### Diagrama de flujo de sistemas.
  * #### Diagrama de flujo de programas.

  But Fryman, en su libro escrito en 2001 titulado _Quality and Process Improvement_, distinguió los tipos de muchas maneras, más desde una perspectiva orientada a los negocios que a la informática:

  * #### Diagrama de flujo de decisiones.
  * #### Diagrama de flujo lógico.
  * #### Diagrama de flujo de sistemas.
  * #### Diagrama de flujo de productos.
  * #### Diagrama de flujo de procesos.

  Otros tipos de diagramas de flujo definidos por otros incluyen:

  * #### Diagrama de carriles, también conocido como "diagrama de flujo de carriles":  
   detalla los roles de cada participante en procesos que se realizan entre equipos.
  * #### Diagrama de flujo de trabajo:  
  documenta flujos de trabajo, a menudo involucra tareas, documentos e información en las oficinas.
  * #### Diagrama de cadena de procesos impulsada por eventos (EPC):  
  documenta o planifica un proceso de negocio.
  * #### Diagrama de flujo de lenguaje de descripción y especificación (SDL):  
   realiza un lluvia de ideas sobre los algoritmos informáticos mediante tres componentes básicos: proceso, bloqueo y definición de sistema.

  ![carril](https://proxy-prod.omnivore-image-cache.app/0x0,sD8IS9nWnvOzFongZbBCTYK8aIPBDx4hariuuZYg_itM/https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/flowchart/discovery/swim-lane-flowchart.svg)

  Estos diagramas relacionados también se piensan, a veces, como tipos de diagramas de flujo:

  * #### Diagrama de flujo de datos (DFD):  
  traza el flujo de información de cualquier sistema o proceso.
  * #### Diagrama de flujo de procesos (PFD), también conocido como "gráfico de flujo de procesos":  
  ilustra las relaciones entre los principales componentes de una planta industrial.
  * #### Modelo y notación de procesos de negocio (BPMN 2.0):  
  modela los pasos de un proceso de negocio planificado.

  ## ==Cómo planificar y dibujar un diagrama de flujo básico== 

  1. #### ==Define tu propósito y alcance.==  
  ==. ¿Qué deseas lograr? ¿Estás considerando las cosas correctas con un punto inicial y final apropiados para alcanzar ese propósito? Realiza una investigación lo suficientemente detallada, pero lo suficientemente simple a la hora de crear tus diagramas para comunicarte con tu audiencia.==
  2. #### ==Identifica las tareas en orden cronológico.==  
  ==Esto puede involucrar las conversaciones con los participantes, la observación de un proceso o la revisión de cualquier documentación existente. Puedes escribir los pasos en forma de notas o comenzar con un diagrama en versión borrador.==
  3. #### ==Organízalos por tipo y figura correspondiente,==  
  ==como procesos, decisiones, datos, entradas o salidas.==
  4. #### ==Crea tu diagrama,==  
   ==ya sea dibujándolo a mano o usando un programa como Lucidchart.==
  5. #### ==Confirma tu diagrama de flujo,==  
   ==verificando todos los pasos con las personas que participan en el proceso. Observa el proceso para asegurarte de no dejar de lado nada que sea importante para tu propósito.==

  ---

  ## Recursos útiles

  * [Plantilla de diagrama de flujo para Word](https://www.lucidchart.com/pages/es/plantilla-de-diagrama-de-flujo-para-word)
  * [Cómo hacer un diagrama de flujo en Excel](https://www.lucidchart.com/pages/es/como-hacer-un-diagrama-de-flujo-en-excel)
  * [Simbología de diagrama de flujo](https://www.lucidchart.com/pages/es/simbolos-comunes-de-los-diagramas-de-flujo)
  * [Cómo hacer un diagrama de flujo](https://www.lucidchart.com/pages/es/como-hacer-un-diagrama-de-flujo)
  * [Cómo crear un diagrama de flujo en PowerPoint](https://www.lucidchart.com/pages/es/hacer-un-diagrama-de-flujo-en-powerpoint)
  * [Cómo crear un diagrama de flujo en Word](https://www.lucidchart.com/pages/es/como-hacer-un-diagrama-de-flujo-en-word)

  Crear diagramas de flujo en Lucidchart es fácil e intuitivo. Simplemente debes arrastrar las figuras en el lienzo y dibujar las líneas que las conectan. Si no sabes bien por dónde empezar, echa un vistazo a nuestro tutorial sobre recomendaciones acerca de [cómo dibujar un diagrama de flujo](https://www.lucidchart.com/pages/es/como-hacer-un-diagrama-de-flujo).

  ¿Deseas crear un diagrama de flujo por tu cuenta? Prueba Lucidchart. Es rápido, sencillo y totalmente gratis.

metadata:
  {"date_added":"2024-05-13 09:27:16","id":"52e165c4-8ef3-4036-a5ea-6d8cebd148a4","status":"ARCHIVED","tags":["read-later"],"title":"¿Qué es un diagrama de flujo? | Lucidchart\n","url_omnivore":"https://omnivore.app/me/que-es-un-diagrama-de-flujo-lucidchart-18f7222d3b7\n","url_original":"https://www.lucidchart.com/pages/es/que-es-un-diagrama-de-flujo\n"}


path: Omnivore/2024-06-24 - Maintaining Balance for Open Source Maintainers - Open Source Guides.md
sortable_path: Omnivore2024-06-24 - Maintaining Balance for Open Source Maintainers - Open Source Guides.md
title: Maintaining Balance for Open Source Maintainers | Open Source Guides
lead: # Maintaining Balance for Open Source Maintainers | Open Source Guides
checksum: ad2552f9b5be42890cdcde328be0bccf1eb681c2c01842c1739d811d284e39ce
created: 2024-09-15 00:40:59.743295308+00:00
modified: 2024-09-23 19:31:31.9740065+00:00
body:
  # Maintaining Balance for Open Source Maintainers | Open Source Guides

  ## Highlights

  * **Lack of positive feedback:** Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.
  * **Not saying ‘no’:** It can be easy to take on more responsibilities than you should on an open source project. Whether it’s from users, contributors, or other maintainers – we can’t always live up to their expectations.
  * **Working alone:** Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.
  * **Not enough time or resources:** This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.
  * **Conflicting demands:** Open source is full of groups with different motivations, which can be difficult to navigate. If you’re paid to do open source, your employer’s interests can sometimes be at odds with the community. 

  [source](https://omnivore.app/me/maintaining-balance-for-open-source-maintainers-open-source-guid-1904a8b1fc4#dae1e4e1-4910-4dc6-ab2f-a6e0f407d489) 

  ---

  * **Lean on the community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.  
  You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.
  * **Explore funding:** Whether you’re looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you’re thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/). 

  [source](https://omnivore.app/me/maintaining-balance-for-open-source-maintainers-open-source-guid-1904a8b1fc4#e30a0308-0d0f-4aea-a66a-a8087992fc2b) 

  ---

  * **Use tools:** Explore tools like [GitHub Copilot](https://github.com/features/copilot/) and [GitHub Actions](https://github.com/features/actions) to automate mundane tasks and free up your time for more meaningful contributions.
  * **Rest and recharge:** Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) to reflect your availability! A good night’s sleep can make a big difference in your ability to sustain your efforts long-term.  
  If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.
  * **Set boundaries:** You can’t say yes to every request. This can be as simple as saying, “I can’t get to that right now and I do not have plans to in the future,” or listing out what you’re interested in doing and not doing in the README. For instance, you could say: “I only merge PRs which have clearly listed reasons why they were made,” or, “I only review issues on alternate Thursdays from 6 -7 pm.”This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time. 

  [source](https://omnivore.app/me/maintaining-balance-for-open-source-maintainers-open-source-guid-1904a8b1fc4#9288f579-7a9f-4135-8933-86266d8baa39) 

  ---

  ## Original

  Tips for self-care and avoiding burnout as a maintainer.

  ![Maintaining Balance for Open Source Maintainers](https://proxy-prod.omnivore-image-cache.app/0x0,sSBF-x8lO3uOZnLYKVwv3wcsNwef_wLE7Hfa7nydrUZY/https://opensource.guide/assets/images/illos/balance.svg) 

  As an open source project grows in popularity, it becomes important to set clear boundaries to help you maintain balance to stay refreshed and productive for the long run.

  To gain insights into the experiences of maintainers and their strategies for finding balance, we ran a workshop with 40 members of the [Maintainer Community](http://maintainers.github.com/), allowing us to learn from their firsthand experiences with burnout in open source and the practices that have helped them maintain balance in their work. This is where the concept of personal ecology comes into play.

  So, what is personal ecology? As [described by the Rockwood Leadership Institute](https://rockwoodleadership.org/nonprofit-four-day-workweek-can-take-care-still-change-world/#:~:text=personal%20ecology%3A%20maintaining%20balance%2C%20pacing%20and%20efficiency%20to%20sustain%20your%20energy%20over%20a%20lifetime%20of%20activism), it involves “**maintaining balance, pacing, and efficiency to sustain our energy over a lifetime**.” This framed our conversations, helping maintainers recognize their actions and contributions as parts of a larger ecosystem that evolves over time. Burnout, a syndrome resulting from chronic workplace stress as [defined by the WHO](https://icd.who.int/browse11/l-m/en#/http://id.who.int/icd/entity/129180281), is not uncommon among maintainers. This often leads to a loss of motivation, an inability to focus, and a lack of empathy for the contributors and community you work with.

  By embracing the concept of personal ecology, maintainers can proactively avoid burnout, prioritize self-care, and uphold a sense of balance to do their best work.

  ## [](#tips-for-self-care-and-avoiding-burnout-as-a-maintainer)Tips for Self-Care and Avoiding Burnout as a Maintainer:

  ### [](#identify-your-motivations-for-working-in-open-source)Identify your motivations for working in open source

  Take time to reflect on what parts of open source maintenance energizes you. Understanding your motivations can help you prioritize the work in a way that keeps you engaged and ready for new challenges. Whether it’s the positive feedback from users, the joy of collaborating and socializing with the community, or the satisfaction of diving into the code, recognizing your motivations can help guide your focus.

  ### [](#reflect-on-what-causes-you-to-get-out-of-balance-and-stressed-out)Reflect on what causes you to get out of balance and stressed out

  It’s important to understand what causes us to get burned out. Here are a few common themes we saw among open source maintainers:

  * **==Lack of positive feedback:==** ==Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.==
  * **==Not saying ‘no’:==** ==It can be easy to take on more responsibilities than you should on an open source project. Whether it’s from users, contributors, or other maintainers – we can’t always live up to their expectations.==
  * **==Working alone:==** ==Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.==
  * **==Not enough time or resources:==** ==This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.==
  * **==Conflicting demands:==** ==Open source is full of groups with different motivations, which can be difficult to navigate. If you’re paid to do open source, your employer’s interests can sometimes be at odds with the community.==

  ### [](#watch-out-for-signs-of-burnout)Watch out for signs of burnout

  Can you keep up your pace for 10 weeks? 10 months? 10 years?

  There are tools like the [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) from [@shaunagm](https://github.com/shaunagm) that can help you reflect on your current pace and see if there are any adjustments you can make. Some maintainers also use wearable technology to track metrics like sleep quality and heart rate variability (both linked to stress).

  ### [](#what-would-you-need-to-continue-sustaining-yourself-and-your-community)What would you need to continue sustaining yourself and your community?

  This will look different for each maintainer, and will change depending on your phase of life and other external factors. But here are a few themes we heard:

  * **Lean on the community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.  
  You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.
  * **Explore funding:** Whether you’re looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you’re thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/).
  * **Use tools:** Explore tools like [GitHub Copilot](https://github.com/features/copilot/) and [GitHub Actions](https://github.com/features/actions) to automate mundane tasks and free up your time for more meaningful contributions.
  * **Rest and recharge:** Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) to reflect your availability! A good night’s sleep can make a big difference in your ability to sustain your efforts long-term.  
  If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.
  * **Set boundaries:** You can’t say yes to every request. This can be as simple as saying, “I can’t get to that right now and I do not have plans to in the future,” or listing out what you’re interested in doing and not doing in the README. For instance, you could say: “I only merge PRs which have clearly listed reasons why they were made,” or, “I only review issues on alternate Thursdays from 6 -7 pm.”This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time.

  Learn to be firm in shutting down toxic behavior and negative interactions. It’s okay to not give energy to things you don’t care about.

  Remember, personal ecology is an ongoing practice that will evolve as you progress in your open source journey. By prioritizing self-care and maintaining a sense of balance, you can contribute to the open source community effectively and sustainably, ensuring both your well-being and the success of your projects for the long run.

  ## [](#additional-resources)Additional Resources

  * [Maintainer Community](http://maintainers.github.com/)
  * [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
  * [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
  * [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
  * [SustainOSS](https://sustainoss.org/)
  * [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
  * [Saying No](https://docs.google.com/document/d/1esQQBJXQi1x%5F-1AcRVPiCRAEQYO4Qlvali0ylCvKa%5Fs/edit?pli=1#:~:text=Saying%20No%20%7C%20Mike%20McQuaid), Mike McQuaid
  * [Governing Open](https://docs.google.com/document/d/1esQQBJXQi1x%5F-1AcRVPiCRAEQYO4Qlvali0ylCvKa%5Fs/edit?pli=1#:~:text=a%20mixed%20list.-,Governance%20of%20Open%20Source%20Software,-governingopen.com)
  * Workshop agenda was remixed from [Mozilla’s Movement Building from Home](https://docs.google.com/document/d/1esQQBJXQi1x%5F-1AcRVPiCRAEQYO4Qlvali0ylCvKa%5Fs/edit?pli=1#:~:text=a%20mixed%20list.-,It%E2%80%99s%20a%20wrap%3A%20Movement%2DBuilding%20from%20Home,-foundation.mozilla.org) series

  ## [](#contributors)Contributors

  Many thanks to all the maintainers who shared their experiences and tips with us for this guide!

  This guide was written by [@abbycabs](https://github.com/abbycabs) with contributions from:

  [@agnostic-apollo](https://github.com/agnostic-apollo) [@AndreaGriffiths11](https://github.com/AndreaGriffiths11) [@antfu](https://github.com/antfu) [@anthonyronda](https://github.com/anthonyronda) [@CBID2](https://github.com/CBID2) [@Cli4d](https://github.com/Cli4d) [@confused-Techie](https://github.com/confused-Techie) [@danielroe](https://github.com/danielroe) [@Dexters-Hub](https://github.com/Dexters-Hub) [@eddiejaoude](https://github.com/eddiejaoude) [@Eugeny](https://github.com/Eugeny) [@ferki](https://github.com/ferki) [@gabek](https://github.com/gabek) [@geromegrignon](https://github.com/geromegrignon) [@hynek](https://github.com/hynek) [@IvanSanchez](https://github.com/IvanSanchez) [@karasowles](https://github.com/karasowles) [@KoolTheba](https://github.com/KoolTheba) [@leereilly](https://github.com/leereilly) [@ljharb](https://github.com/ljharb) [@nightlark](https://github.com/nightlark) [@plarson3427](https://github.com/plarson3427) [@Pradumnasaraf](https://github.com/Pradumnasaraf) [@RichardLitt](https://github.com/RichardLitt) [@rrousselGit](https://github.com/rrousselGit) [@sansyrox](https://github.com/sansyrox) [@schlessera](https://github.com/schlessera) [@shyim](https://github.com/shyim) [@smashah](https://github.com/smashah) [@ssalbdivad](https://github.com/ssalbdivad) [@The-Compiler](https://github.com/The-Compiler) [@thehale](https://github.com/thehale) [@thisisnic](https://github.com/thisisnic) [@tudoramariei](https://github.com/tudoramariei) [@UlisesGascon](https://github.com/UlisesGascon) [@waldyrious](https://github.com/waldyrious) \+ many others!

  ![squirrel illustration](https://proxy-prod.omnivore-image-cache.app/0x0,sHBiaMeno9-ZUiAtzunnM5HaUVr3c6Z5EOmsVrWbla1E/https://opensource.guide/assets/images/illos/squirrel.svg)

  ### Contribute

  Want to make a suggestion? This content is open source. Help us improve it.

  [ Contribute](https://github.com/github/opensource.guide/blob/main/%5Farticles/maintaining-balance-for-open-source-maintainers.md)

raw_content:
  ---
  id: 796f6a6c-b7d5-4139-9601-460023ba0db6
  title: |
    Maintaining Balance for Open Source Maintainers | Open Source Guides
  status: ARCHIVED
  tags:
    - read-later
  date_added: 2024-06-24 09:59:10
  url_omnivore: |
    https://omnivore.app/me/maintaining-balance-for-open-source-maintainers-open-source-guid-1904a8b1fc4
  url_original: |
    https://opensource.guide/maintaining-balance-for-open-source-maintainers/
  ---

  # Maintaining Balance for Open Source Maintainers | Open Source Guides

  ## Highlights

  * **Lack of positive feedback:** Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.
  * **Not saying ‘no’:** It can be easy to take on more responsibilities than you should on an open source project. Whether it’s from users, contributors, or other maintainers – we can’t always live up to their expectations.
  * **Working alone:** Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.
  * **Not enough time or resources:** This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.
  * **Conflicting demands:** Open source is full of groups with different motivations, which can be difficult to navigate. If you’re paid to do open source, your employer’s interests can sometimes be at odds with the community. 

  [source](https://omnivore.app/me/maintaining-balance-for-open-source-maintainers-open-source-guid-1904a8b1fc4#dae1e4e1-4910-4dc6-ab2f-a6e0f407d489) 

  ---

  * **Lean on the community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.  
  You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.
  * **Explore funding:** Whether you’re looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you’re thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/). 

  [source](https://omnivore.app/me/maintaining-balance-for-open-source-maintainers-open-source-guid-1904a8b1fc4#e30a0308-0d0f-4aea-a66a-a8087992fc2b) 

  ---

  * **Use tools:** Explore tools like [GitHub Copilot](https://github.com/features/copilot/) and [GitHub Actions](https://github.com/features/actions) to automate mundane tasks and free up your time for more meaningful contributions.
  * **Rest and recharge:** Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) to reflect your availability! A good night’s sleep can make a big difference in your ability to sustain your efforts long-term.  
  If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.
  * **Set boundaries:** You can’t say yes to every request. This can be as simple as saying, “I can’t get to that right now and I do not have plans to in the future,” or listing out what you’re interested in doing and not doing in the README. For instance, you could say: “I only merge PRs which have clearly listed reasons why they were made,” or, “I only review issues on alternate Thursdays from 6 -7 pm.”This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time. 

  [source](https://omnivore.app/me/maintaining-balance-for-open-source-maintainers-open-source-guid-1904a8b1fc4#9288f579-7a9f-4135-8933-86266d8baa39) 

  ---

  ## Original

  Tips for self-care and avoiding burnout as a maintainer.

  ![Maintaining Balance for Open Source Maintainers](https://proxy-prod.omnivore-image-cache.app/0x0,sSBF-x8lO3uOZnLYKVwv3wcsNwef_wLE7Hfa7nydrUZY/https://opensource.guide/assets/images/illos/balance.svg) 

  As an open source project grows in popularity, it becomes important to set clear boundaries to help you maintain balance to stay refreshed and productive for the long run.

  To gain insights into the experiences of maintainers and their strategies for finding balance, we ran a workshop with 40 members of the [Maintainer Community](http://maintainers.github.com/), allowing us to learn from their firsthand experiences with burnout in open source and the practices that have helped them maintain balance in their work. This is where the concept of personal ecology comes into play.

  So, what is personal ecology? As [described by the Rockwood Leadership Institute](https://rockwoodleadership.org/nonprofit-four-day-workweek-can-take-care-still-change-world/#:~:text=personal%20ecology%3A%20maintaining%20balance%2C%20pacing%20and%20efficiency%20to%20sustain%20your%20energy%20over%20a%20lifetime%20of%20activism), it involves “**maintaining balance, pacing, and efficiency to sustain our energy over a lifetime**.” This framed our conversations, helping maintainers recognize their actions and contributions as parts of a larger ecosystem that evolves over time. Burnout, a syndrome resulting from chronic workplace stress as [defined by the WHO](https://icd.who.int/browse11/l-m/en#/http://id.who.int/icd/entity/129180281), is not uncommon among maintainers. This often leads to a loss of motivation, an inability to focus, and a lack of empathy for the contributors and community you work with.

  By embracing the concept of personal ecology, maintainers can proactively avoid burnout, prioritize self-care, and uphold a sense of balance to do their best work.

  ## [](#tips-for-self-care-and-avoiding-burnout-as-a-maintainer)Tips for Self-Care and Avoiding Burnout as a Maintainer:

  ### [](#identify-your-motivations-for-working-in-open-source)Identify your motivations for working in open source

  Take time to reflect on what parts of open source maintenance energizes you. Understanding your motivations can help you prioritize the work in a way that keeps you engaged and ready for new challenges. Whether it’s the positive feedback from users, the joy of collaborating and socializing with the community, or the satisfaction of diving into the code, recognizing your motivations can help guide your focus.

  ### [](#reflect-on-what-causes-you-to-get-out-of-balance-and-stressed-out)Reflect on what causes you to get out of balance and stressed out

  It’s important to understand what causes us to get burned out. Here are a few common themes we saw among open source maintainers:

  * **==Lack of positive feedback:==** ==Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.==
  * **==Not saying ‘no’:==** ==It can be easy to take on more responsibilities than you should on an open source project. Whether it’s from users, contributors, or other maintainers – we can’t always live up to their expectations.==
  * **==Working alone:==** ==Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.==
  * **==Not enough time or resources:==** ==This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.==
  * **==Conflicting demands:==** ==Open source is full of groups with different motivations, which can be difficult to navigate. If you’re paid to do open source, your employer’s interests can sometimes be at odds with the community.==

  ### [](#watch-out-for-signs-of-burnout)Watch out for signs of burnout

  Can you keep up your pace for 10 weeks? 10 months? 10 years?

  There are tools like the [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) from [@shaunagm](https://github.com/shaunagm) that can help you reflect on your current pace and see if there are any adjustments you can make. Some maintainers also use wearable technology to track metrics like sleep quality and heart rate variability (both linked to stress).

  ### [](#what-would-you-need-to-continue-sustaining-yourself-and-your-community)What would you need to continue sustaining yourself and your community?

  This will look different for each maintainer, and will change depending on your phase of life and other external factors. But here are a few themes we heard:

  * **Lean on the community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.  
  You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.
  * **Explore funding:** Whether you’re looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you’re thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/).
  * **Use tools:** Explore tools like [GitHub Copilot](https://github.com/features/copilot/) and [GitHub Actions](https://github.com/features/actions) to automate mundane tasks and free up your time for more meaningful contributions.
  * **Rest and recharge:** Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) to reflect your availability! A good night’s sleep can make a big difference in your ability to sustain your efforts long-term.  
  If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.
  * **Set boundaries:** You can’t say yes to every request. This can be as simple as saying, “I can’t get to that right now and I do not have plans to in the future,” or listing out what you’re interested in doing and not doing in the README. For instance, you could say: “I only merge PRs which have clearly listed reasons why they were made,” or, “I only review issues on alternate Thursdays from 6 -7 pm.”This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time.

  Learn to be firm in shutting down toxic behavior and negative interactions. It’s okay to not give energy to things you don’t care about.

  Remember, personal ecology is an ongoing practice that will evolve as you progress in your open source journey. By prioritizing self-care and maintaining a sense of balance, you can contribute to the open source community effectively and sustainably, ensuring both your well-being and the success of your projects for the long run.

  ## [](#additional-resources)Additional Resources

  * [Maintainer Community](http://maintainers.github.com/)
  * [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
  * [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
  * [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
  * [SustainOSS](https://sustainoss.org/)
  * [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
  * [Saying No](https://docs.google.com/document/d/1esQQBJXQi1x%5F-1AcRVPiCRAEQYO4Qlvali0ylCvKa%5Fs/edit?pli=1#:~:text=Saying%20No%20%7C%20Mike%20McQuaid), Mike McQuaid
  * [Governing Open](https://docs.google.com/document/d/1esQQBJXQi1x%5F-1AcRVPiCRAEQYO4Qlvali0ylCvKa%5Fs/edit?pli=1#:~:text=a%20mixed%20list.-,Governance%20of%20Open%20Source%20Software,-governingopen.com)
  * Workshop agenda was remixed from [Mozilla’s Movement Building from Home](https://docs.google.com/document/d/1esQQBJXQi1x%5F-1AcRVPiCRAEQYO4Qlvali0ylCvKa%5Fs/edit?pli=1#:~:text=a%20mixed%20list.-,It%E2%80%99s%20a%20wrap%3A%20Movement%2DBuilding%20from%20Home,-foundation.mozilla.org) series

  ## [](#contributors)Contributors

  Many thanks to all the maintainers who shared their experiences and tips with us for this guide!

  This guide was written by [@abbycabs](https://github.com/abbycabs) with contributions from:

  [@agnostic-apollo](https://github.com/agnostic-apollo) [@AndreaGriffiths11](https://github.com/AndreaGriffiths11) [@antfu](https://github.com/antfu) [@anthonyronda](https://github.com/anthonyronda) [@CBID2](https://github.com/CBID2) [@Cli4d](https://github.com/Cli4d) [@confused-Techie](https://github.com/confused-Techie) [@danielroe](https://github.com/danielroe) [@Dexters-Hub](https://github.com/Dexters-Hub) [@eddiejaoude](https://github.com/eddiejaoude) [@Eugeny](https://github.com/Eugeny) [@ferki](https://github.com/ferki) [@gabek](https://github.com/gabek) [@geromegrignon](https://github.com/geromegrignon) [@hynek](https://github.com/hynek) [@IvanSanchez](https://github.com/IvanSanchez) [@karasowles](https://github.com/karasowles) [@KoolTheba](https://github.com/KoolTheba) [@leereilly](https://github.com/leereilly) [@ljharb](https://github.com/ljharb) [@nightlark](https://github.com/nightlark) [@plarson3427](https://github.com/plarson3427) [@Pradumnasaraf](https://github.com/Pradumnasaraf) [@RichardLitt](https://github.com/RichardLitt) [@rrousselGit](https://github.com/rrousselGit) [@sansyrox](https://github.com/sansyrox) [@schlessera](https://github.com/schlessera) [@shyim](https://github.com/shyim) [@smashah](https://github.com/smashah) [@ssalbdivad](https://github.com/ssalbdivad) [@The-Compiler](https://github.com/The-Compiler) [@thehale](https://github.com/thehale) [@thisisnic](https://github.com/thisisnic) [@tudoramariei](https://github.com/tudoramariei) [@UlisesGascon](https://github.com/UlisesGascon) [@waldyrious](https://github.com/waldyrious) \+ many others!

  ![squirrel illustration](https://proxy-prod.omnivore-image-cache.app/0x0,sHBiaMeno9-ZUiAtzunnM5HaUVr3c6Z5EOmsVrWbla1E/https://opensource.guide/assets/images/illos/squirrel.svg)

  ### Contribute

  Want to make a suggestion? This content is open source. Help us improve it.

  [ Contribute](https://github.com/github/opensource.guide/blob/main/%5Farticles/maintaining-balance-for-open-source-maintainers.md) 

metadata:
  {"date_added":"2024-06-24 09:59:10","id":"796f6a6c-b7d5-4139-9601-460023ba0db6","status":"ARCHIVED","tags":["read-later"],"title":"Maintaining Balance for Open Source Maintainers | Open Source Guides\n","url_omnivore":"https://omnivore.app/me/maintaining-balance-for-open-source-maintainers-open-source-guid-1904a8b1fc4\n","url_original":"https://opensource.guide/maintaining-balance-for-open-source-maintainers/\n"}


path: Readwise/5 Design System Examples.md
sortable_path: Readwise5 Design System Examples.md
lead: ---
checksum: 57fbccab3671274a1d5ba2bad2f1c3a51a53ca35b0461db815630df9dce4616d
created: 2024-09-15 18:43:01.678304706+00:00
modified: 2024-09-23 19:31:31.9740065+00:00
metadata: {}
body:
  ---

  New highlights added at 2024-09-15 3:42 PM
  People are highly visual but can get overwhelmed by too many graphics. Liferay takes a direct approach to educating users by using images only when it matters, such as in screenshots of actual elements. By limiting the unnecessary items in your design system documentation, you can ensure the important things get communicated. [View Highlight](https://read.readwise.io/read/01j7tw12yxcgpsp883nsvscf1t))

  IBM shows that if you want to ensure that everyone can use your product, you need to start that process with your design system.
  And when you do, don’t just state your intent. Educate your team on the accessibility challenges different people face and teach them proven best practices that can make a noticeable difference for millions of people worldwide. [View Highlight](https://read.readwise.io/read/01j7twa6wgtnehe050h7br44r7))

raw_content:
  ---

  New highlights added at 2024-09-15 3:42 PM
  People are highly visual but can get overwhelmed by too many graphics. Liferay takes a direct approach to educating users by using images only when it matters, such as in screenshots of actual elements. By limiting the unnecessary items in your design system documentation, you can ensure the important things get communicated. [View Highlight](https://read.readwise.io/read/01j7tw12yxcgpsp883nsvscf1t))

  IBM shows that if you want to ensure that everyone can use your product, you need to start that process with your design system.
  And when you do, don’t just state your intent. Educate your team on the accessibility challenges different people face and teach them proven best practices that can make a noticeable difference for millions of people worldwide. [View Highlight](https://read.readwise.io/read/01j7twa6wgtnehe050h7br44r7))


path: Readwise/11 Life-Changing Journaling Tips for Beginners.md
sortable_path: Readwise11 Life-Changing Journaling Tips for Beginners.md
title: 11 Life-Changing Journaling Tips for Beginners
checksum: f6ffa50f1422435f32c94ec24387eead078740fb4d522ae1a7b98807f9ad4985
created: 2024-09-23 00:21:29.332397668+00:00
modified: 2024-09-24 16:50:29.789313991+00:00
metadata: {}
lead:
  ![rw-book-cover](https://www.simplyfiercely.com/wp-content/uploads/2021/05/11-Life-Changing-Journaling-Tips-For-Beginners-Feature-Image.jpg)

body:
  ![rw-book-cover](https://www.simplyfiercely.com/wp-content/uploads/2021/05/11-Life-Changing-Journaling-Tips-For-Beginners-Feature-Image.jpg)

  ## Metadata
  - Author: [[Jennifer]]
  - Full Title: 11 Life-Changing Journaling Tips for Beginners
  - Category: #articles
  - URL: https://www.simplyfiercely.com/journaling-tips/
  - Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=11%20Life-Changing%20Journaling%20Tips%20for%20Beginners
  > [!tldr]
  > Journaling is a powerful tool for self-discovery and personal growth. To help beginners get started, the author shares 11 tips, like using prompts and writing honestly. The key is to enjoy the process and make journaling a regular habit.

  ## Highlights
  1. Keep a list of go-to prompts ... They can be very helpful if you’re just starting because they give you a place to begin.

  write as though you’re talking to someone else.
  You can write to:
  • Your future self
  • Your younger self
  • To someone who is no longer with us
  • To someone who has hurt your feelings
  • To someone you admire
  • To someone who needs your help [View Highlight](https://read.readwise.io/read/01j862h864h4mhyv3vqy6xvve3))

  If you’re working from a list of journaling prompts, using a guided journal, or experimenting with a new journaling method, and something doesn’t feel right for you—then it’s OK to stop. [View Highlight](https://read.readwise.io/read/01j862kcsaxk8909cdb69f3dpe)) ^05df43

  Remember that the point of a prompt is to get your thoughts flowing freely, not necessarily to answer or address that specific question or statement. [View Highlight](https://read.readwise.io/read/01j862kvny6qx7bt3eykq0z8zm)) ^ce92d8

  But here’s the thing: too much inspiration can often lead to paralysis. [View Highlight](https://read.readwise.io/read/01j862ppxd79psqff22tjz21z1))

  cover the first page with a big scribble! A friend of mine recommends doing this as a way to break the ice [View Highlight](https://read.readwise.io/read/01j862r1djv5s1px2z8f233efa))

  Freewriting is a form of journaling where you write everything down without stopping, editing or even correcting grammar until your mind feels empty. [View Highlight](https://read.readwise.io/read/01j862t96pgsrqk03vdvpcj643)) ^ffddd6

  Keep this in mind at the start of your journey as you may feel pressure to journal the “right way”. When it comes to journaling, there is no right way. It’s your space to explore how you see fit. Don’t overthink it—just keep writing! [View Highlight](https://read.readwise.io/read/01j862vd6rrf591ccavj9s1f5b))

  To get the full benefits of journaling, you have to be honest. Open up and be vulnerable—it’s one of the few genuinely private spaces you have (unless you choose to share your journal with someone). The more honest you are, the closer you’ll get to your truth. [View Highlight](https://read.readwise.io/read/01j862vy4n84vzqznh9t62t0qx)) ^4d6f9f

  Whenever you have a thought or feel strong emotions, write them down. [View Highlight](https://read.readwise.io/read/01j862ww1v0j1ebb9rfkd1ww7e))

raw_content:
  # 11 Life-Changing Journaling Tips for Beginners

  ![rw-book-cover](https://www.simplyfiercely.com/wp-content/uploads/2021/05/11-Life-Changing-Journaling-Tips-For-Beginners-Feature-Image.jpg)

  ## Metadata
  - Author: [[Jennifer]]
  - Full Title: 11 Life-Changing Journaling Tips for Beginners
  - Category: #articles
  - URL: https://www.simplyfiercely.com/journaling-tips/
  - Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=11%20Life-Changing%20Journaling%20Tips%20for%20Beginners
  > [!tldr]
  > Journaling is a powerful tool for self-discovery and personal growth. To help beginners get started, the author shares 11 tips, like using prompts and writing honestly. The key is to enjoy the process and make journaling a regular habit.

  ## Highlights
  1. Keep a list of go-to prompts ... They can be very helpful if you’re just starting because they give you a place to begin.

  write as though you’re talking to someone else.
  You can write to:
  • Your future self
  • Your younger self
  • To someone who is no longer with us
  • To someone who has hurt your feelings
  • To someone you admire
  • To someone who needs your help [View Highlight](https://read.readwise.io/read/01j862h864h4mhyv3vqy6xvve3))

  If you’re working from a list of journaling prompts, using a guided journal, or experimenting with a new journaling method, and something doesn’t feel right for you—then it’s OK to stop. [View Highlight](https://read.readwise.io/read/01j862kcsaxk8909cdb69f3dpe)) ^05df43

  Remember that the point of a prompt is to get your thoughts flowing freely, not necessarily to answer or address that specific question or statement. [View Highlight](https://read.readwise.io/read/01j862kvny6qx7bt3eykq0z8zm)) ^ce92d8

  But here’s the thing: too much inspiration can often lead to paralysis. [View Highlight](https://read.readwise.io/read/01j862ppxd79psqff22tjz21z1))

  cover the first page with a big scribble! A friend of mine recommends doing this as a way to break the ice [View Highlight](https://read.readwise.io/read/01j862r1djv5s1px2z8f233efa))

  Freewriting is a form of journaling where you write everything down without stopping, editing or even correcting grammar until your mind feels empty. [View Highlight](https://read.readwise.io/read/01j862t96pgsrqk03vdvpcj643)) ^ffddd6

  Keep this in mind at the start of your journey as you may feel pressure to journal the “right way”. When it comes to journaling, there is no right way. It’s your space to explore how you see fit. Don’t overthink it—just keep writing! [View Highlight](https://read.readwise.io/read/01j862vd6rrf591ccavj9s1f5b))

  To get the full benefits of journaling, you have to be honest. Open up and be vulnerable—it’s one of the few genuinely private spaces you have (unless you choose to share your journal with someone). The more honest you are, the closer you’ll get to your truth. [View Highlight](https://read.readwise.io/read/01j862vy4n84vzqznh9t62t0qx)) ^4d6f9f

  Whenever you have a thought or feel strong emotions, write them down. [View Highlight](https://read.readwise.io/read/01j862ww1v0j1ebb9rfkd1ww7e))


path: Readwise/6 Morning Journal Prompts That Will Transform Your Day.md
sortable_path: Readwise6 Morning Journal Prompts That Will Transform Your Day.md
title: 6 Morning Journal Prompts That Will Transform Your Day
checksum: e45e3861d6a86b30f1a0a2c0793dcd507e128a9d759c1f4cd6fc0a6e3de6835d
created: 2024-09-23 00:21:29.357707479+00:00
modified: 2024-09-24 16:50:29.790313993+00:00
metadata: {}
lead:
  ![rw-book-cover](https://www.simplyfiercely.com/wp-content/uploads/2021/06/6-Morning-Journal-Prompts-That-Will-Transform-Your-Day-Feature-Image.jpg)

body:
  ![rw-book-cover](https://www.simplyfiercely.com/wp-content/uploads/2021/06/6-Morning-Journal-Prompts-That-Will-Transform-Your-Day-Feature-Image.jpg)

  ## Metadata
  - Author: [[Jennifer]]
  - Full Title: 6 Morning Journal Prompts That Will Transform Your Day
  - Category: #articles
  - Document Tags: [[journaling]] [[notetaking]] 
  - URL: https://www.simplyfiercely.com/morning-journal-prompts/
  - Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=6%20Morning%20Journal%20Prompts%20That%20Will%20Transform%20Your%20Day
  > [!tldr]
  > Morning journaling can help you start your day with clarity and purpose by processing your thoughts and emotions. Using specific prompts can guide your reflections and help you feel more focused and less overwhelmed. Establishing a morning journaling routine can make your mornings more enjoyable and productive.

  ## Highlights
  1. How do I want to feel when I go to bed tonight?
  **Use when: You feel stuck, unsure, or even a bit lost.** [View Highlight](https://read.readwise.io/read/01j8588c42w7v68v76cjzak02x)) [[journaling/prompt]]  ^80fb8d

  To do this, start by imagining that you’re in bed at the end of the day and you’re about to close your eyes. Take a deep breath and then exhale. How do you want to feel at that moment? [View Highlight](https://read.readwise.io/read/01j858a7fzcsje3ptx8evpnh7g))

  instead of saying *happy,* you could write down that you want to feel *accomplished* or *connected*. [View Highlight](https://read.readwise.io/read/01j858ajbqht1382hc75spg314))

  take things a step further by brainstorming simple actions that will support you. [View Highlight](https://read.readwise.io/read/01j858b7frqbr2kpzck52rsvdr))

  2. What season of life am I in?
  **Use when: You’re feeling overwhelmed by your to-do list.** [View Highlight](https://read.readwise.io/read/01j858cvvbjkzh75jvzbet09xa)) ^44f8db

  think about your own life and ask yourself, “What season am I in?”
  • Are you in a season of caring for others?
  • A season of resting while you heal from physical or emotional trauma?
  • A season of growth in your career or professional life? [View Highlight](https://read.readwise.io/read/01j858g53d4y95edq9ca2265kx))

  Living a balanced life means knowing when to drop some things and when to pick up others *depending on what season you’re in right now*. It gives you permission to focus on what you need most and clarity to choose a few [things to let go of](https://www.simplyfiercely.com/things-to-let-go-of/) (for a while, at least). [View Highlight](https://read.readwise.io/read/01j858j3yzdcjpmrd72zrssfrj))

  Acknowledging life’s seasonality and where you are in that rhythm can, with practice, release you from the guilt that comes with wanting to do it all. [View Highlight](https://read.readwise.io/read/01j858kpwq5d6xnb80721zj64z))

  **Journaling Tip:** When working through this journal prompt, ask yourself if you need rest, if you need to work, if you need to spend time with family or friends, or if you need to be alone right now. [View Highlight](https://read.readwise.io/read/01j858m1vvj4nfkwn9g433he6d))

  3. Today I am excited to…
  **Use when: You need a pick-me-up.** [View Highlight](https://read.readwise.io/read/01j858mgv14bedfggjwgza7exg)) [[journaling/prompt]]  ^656f82

  you’re generally feeling a little low [View Highlight](https://read.readwise.io/read/01j858sve44psj3r6zvyahhekb))

  We are hard-wired to focus more on the negative things in life than the positive things. So how can we overcome this?
  By putting extra attention on the positive in the morning and throughout the day as well. [View Highlight](https://read.readwise.io/read/01j858thnp6y7cam9rbg2098zf))

  **Journaling Tip:** If you’re struggling to feel excited, try getting your senses involved. Imagine a warm cup of coffee pressed between your palms, the sound of the birds on your way to work, the sun shining on your skin—and see if it doesn’t change the way you feel. [View Highlight](https://read.readwise.io/read/01j858s0zxdjg1jfa6yhqf5j4c))

  4. Today I get to…
  **Use when: You’re feeling burdened or resentful.** [View Highlight](https://read.readwise.io/read/01j858y4e0kv537bhhck4vs0em)) [[journaling/prompt]]  ^e92888

  think about things that you have to do today … and see if you can reframe your thoughts about the situation. [View Highlight](https://read.readwise.io/read/01j8591gse70tyvt73pah1aaw1))

  **Journaling Tip:** Don’t forget to acknowledge if you are currently living out a past goal or dream! [View Highlight](https://read.readwise.io/read/01j8594bw1hq0kssgpszr0wqxq))

  5. I am challenged by…
  **Use when: You’re struggling.** [View Highlight](https://read.readwise.io/read/01j85c3n5raa1jpnkww72tg06n)) [[journaling/prompt]]  ^44a1a6

  By making your challenges the focus of your morning journal prompt, you’re ‘eating the frog’ but in a more mindful way. When you write about what challenges you, it is helpful to explore why and how you will overcome the challenge—but you should also write out what it will mean to you or your life. [View Highlight](https://read.readwise.io/read/01j85c8z3kjz86gjm4t6sybshm))

  If those words don’t ring true to your situation, you may need to re-evaluate whether the challenge fits with your values and goals. [View Highlight](https://read.readwise.io/read/01j85cngfe6j4f1bp4cy1q88nh))

  6. Write it all out
  **Use When: You don’t know what to do next.** [View Highlight](https://read.readwise.io/read/01j85dnb9vnavm92sfq8cvjfds)) [[journaling/prompt]]  ^b6b0bd

  The idea behind free-writing is just as it sounds—you simply write out all of your thoughts without editing until there is nothing left. [View Highlight](https://read.readwise.io/read/01j85dpk39fpze0r24wkwas9kt))

  I find that it’s powerful because it allows your brain to unload without expectations. It’s a bit like ranting to a friend after a long day—sometimes you just need to get things off your chest, and then you can move on. [View Highlight](https://read.readwise.io/read/01j85dqa7hcqt5k4h4pc161dwc))

raw_content:
  # 6 Morning Journal Prompts That Will Transform Your Day

  ![rw-book-cover](https://www.simplyfiercely.com/wp-content/uploads/2021/06/6-Morning-Journal-Prompts-That-Will-Transform-Your-Day-Feature-Image.jpg)

  ## Metadata
  - Author: [[Jennifer]]
  - Full Title: 6 Morning Journal Prompts That Will Transform Your Day
  - Category: #articles
  - Document Tags: [[journaling]] [[notetaking]] 
  - URL: https://www.simplyfiercely.com/morning-journal-prompts/
  - Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=6%20Morning%20Journal%20Prompts%20That%20Will%20Transform%20Your%20Day
  > [!tldr]
  > Morning journaling can help you start your day with clarity and purpose by processing your thoughts and emotions. Using specific prompts can guide your reflections and help you feel more focused and less overwhelmed. Establishing a morning journaling routine can make your mornings more enjoyable and productive.

  ## Highlights
  1. How do I want to feel when I go to bed tonight?
  **Use when: You feel stuck, unsure, or even a bit lost.** [View Highlight](https://read.readwise.io/read/01j8588c42w7v68v76cjzak02x)) [[journaling/prompt]]  ^80fb8d

  To do this, start by imagining that you’re in bed at the end of the day and you’re about to close your eyes. Take a deep breath and then exhale. How do you want to feel at that moment? [View Highlight](https://read.readwise.io/read/01j858a7fzcsje3ptx8evpnh7g))

  instead of saying *happy,* you could write down that you want to feel *accomplished* or *connected*. [View Highlight](https://read.readwise.io/read/01j858ajbqht1382hc75spg314))

  take things a step further by brainstorming simple actions that will support you. [View Highlight](https://read.readwise.io/read/01j858b7frqbr2kpzck52rsvdr))

  2. What season of life am I in?
  **Use when: You’re feeling overwhelmed by your to-do list.** [View Highlight](https://read.readwise.io/read/01j858cvvbjkzh75jvzbet09xa)) ^44f8db

  think about your own life and ask yourself, “What season am I in?”
  • Are you in a season of caring for others?
  • A season of resting while you heal from physical or emotional trauma?
  • A season of growth in your career or professional life? [View Highlight](https://read.readwise.io/read/01j858g53d4y95edq9ca2265kx))

  Living a balanced life means knowing when to drop some things and when to pick up others *depending on what season you’re in right now*. It gives you permission to focus on what you need most and clarity to choose a few [things to let go of](https://www.simplyfiercely.com/things-to-let-go-of/) (for a while, at least). [View Highlight](https://read.readwise.io/read/01j858j3yzdcjpmrd72zrssfrj))

  Acknowledging life’s seasonality and where you are in that rhythm can, with practice, release you from the guilt that comes with wanting to do it all. [View Highlight](https://read.readwise.io/read/01j858kpwq5d6xnb80721zj64z))

  **Journaling Tip:** When working through this journal prompt, ask yourself if you need rest, if you need to work, if you need to spend time with family or friends, or if you need to be alone right now. [View Highlight](https://read.readwise.io/read/01j858m1vvj4nfkwn9g433he6d))

  3. Today I am excited to…
  **Use when: You need a pick-me-up.** [View Highlight](https://read.readwise.io/read/01j858mgv14bedfggjwgza7exg)) [[journaling/prompt]]  ^656f82

  you’re generally feeling a little low [View Highlight](https://read.readwise.io/read/01j858sve44psj3r6zvyahhekb))

  We are hard-wired to focus more on the negative things in life than the positive things. So how can we overcome this?
  By putting extra attention on the positive in the morning and throughout the day as well. [View Highlight](https://read.readwise.io/read/01j858thnp6y7cam9rbg2098zf))

  **Journaling Tip:** If you’re struggling to feel excited, try getting your senses involved. Imagine a warm cup of coffee pressed between your palms, the sound of the birds on your way to work, the sun shining on your skin—and see if it doesn’t change the way you feel. [View Highlight](https://read.readwise.io/read/01j858s0zxdjg1jfa6yhqf5j4c))

  4. Today I get to…
  **Use when: You’re feeling burdened or resentful.** [View Highlight](https://read.readwise.io/read/01j858y4e0kv537bhhck4vs0em)) [[journaling/prompt]]  ^e92888

  think about things that you have to do today … and see if you can reframe your thoughts about the situation. [View Highlight](https://read.readwise.io/read/01j8591gse70tyvt73pah1aaw1))

  **Journaling Tip:** Don’t forget to acknowledge if you are currently living out a past goal or dream! [View Highlight](https://read.readwise.io/read/01j8594bw1hq0kssgpszr0wqxq))

  5. I am challenged by…
  **Use when: You’re struggling.** [View Highlight](https://read.readwise.io/read/01j85c3n5raa1jpnkww72tg06n)) [[journaling/prompt]]  ^44a1a6

  By making your challenges the focus of your morning journal prompt, you’re ‘eating the frog’ but in a more mindful way. When you write about what challenges you, it is helpful to explore why and how you will overcome the challenge—but you should also write out what it will mean to you or your life. [View Highlight](https://read.readwise.io/read/01j85c8z3kjz86gjm4t6sybshm))

  If those words don’t ring true to your situation, you may need to re-evaluate whether the challenge fits with your values and goals. [View Highlight](https://read.readwise.io/read/01j85cngfe6j4f1bp4cy1q88nh))

  6. Write it all out
  **Use When: You don’t know what to do next.** [View Highlight](https://read.readwise.io/read/01j85dnb9vnavm92sfq8cvjfds)) [[journaling/prompt]]  ^b6b0bd

  The idea behind free-writing is just as it sounds—you simply write out all of your thoughts without editing until there is nothing left. [View Highlight](https://read.readwise.io/read/01j85dpk39fpze0r24wkwas9kt))

  I find that it’s powerful because it allows your brain to unload without expectations. It’s a bit like ranting to a friend after a long day—sometimes you just need to get things off your chest, and then you can move on. [View Highlight](https://read.readwise.io/read/01j85dqa7hcqt5k4h4pc161dwc))


path: Readwise/7 Intentional Questions To Ask Yourself Every Day.md
sortable_path: Readwise7 Intentional Questions To Ask Yourself Every Day.md
title: 7 Intentional Questions To Ask Yourself Every Day
checksum: fc141be692b4b97a4fc15bbcde4345be5861c739b4e3763cdb16ad0f972a30eb
created: 2024-09-23 00:21:29.433822277+00:00
modified: 2024-09-24 16:50:29.790313993+00:00
metadata: {}
lead:
  ![rw-book-cover](https://www.simplyfiercely.com/wp-content/uploads/2018/02/Questions-to-Ask-Yourself-Feature-Image.jpg)

body:
  ![rw-book-cover](https://www.simplyfiercely.com/wp-content/uploads/2018/02/Questions-to-Ask-Yourself-Feature-Image.jpg)

  ## Metadata
  - Author: [[Jennifer]]
  - Full Title: 7 Intentional Questions To Ask Yourself Every Day
  - Category: #articles
  - Document Tags: [[journaling]] 
  - URL: https://www.simplyfiercely.com/7-questions-to-inspire-intentional-living/
  - Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=7%20Intentional%20Questions%20To%20Ask%20Yourself%20Every%20Day
  > [!tldr]
  > Regular self-reflection is essential for living a meaningful and purposeful life. Asking yourself seven intentional questions each day can help clarify your priorities and decisions. By taking time to reflect, you can ensure your actions align with what truly matters to you.

  ## Highlights
  I thought I was too busy for something as trivial as “self-reflection” but now I know it’s one of the most valuable things I can do with my time, and for you as well. [View Highlight](https://read.readwise.io/read/01j85trb36ydy64sbw670rqy75)) ^029f29

  1. Why am I doing this?
  This is a deceptively simple yet very powerful question to ask yourself. I think too often we assume we know why we do what we do, but when we carve out time to sit and reflect, the truth can surprise us. [View Highlight](https://read.readwise.io/read/01j85ttaxs6xp6dyt426kv53re)) [[journaling/prompt]]  ^78caa2

  It might save you ten minutes on a Monday morning, or ten years spent chasing a goal you don’t even really want. [View Highlight](https://read.readwise.io/read/01j85txf1x20mpd5dtfsex667w))

  2. Who am I doing this for? [View Highlight](https://read.readwise.io/read/01j85x45h66bevcpas8kb7jn36)) [[journaling/prompt]]  ^0ea258

  This is a good question to ask yourself regularly when you feel your priorities are out of alignment. It can help shine a light on where you need stronger [personal boundaries](https://www.simplyfiercely.com/personal-boundaries/). [View Highlight](https://read.readwise.io/read/01j85x6nevt1a156g7tvrkar7w))

  But I should also point out that self-reflection isn’t about judging yourself or others. Instead, it’s about honesty; knowing why you do what you do and who you do things for, so you can [make intentional decisions about how to invest your time, money and energy](https://www.simplyfiercely.com/intentional-time-money-energy/). [View Highlight](https://read.readwise.io/read/01j85x70r7rxh41qz1tcm196qs))

  3. Is there a simpler way? [View Highlight](https://read.readwise.io/read/01j85xafyt9wnwf26pf711mjd2)) [[journaling/prompt]]  ^3b92eb

  Taking just five minutes to ask the question and look for a simpler way has saved me countless hours throughout my life. (And I’ll also admit that sometimes it happens in reverse —I’d spend hours doing something and then realise I made it harder than need be!) [View Highlight](https://read.readwise.io/read/01j85xe88z59xav5x5n16yee9k))

  4. How does this add value to my life? [View Highlight](https://read.readwise.io/read/01j85xqetvfmrkt17gwaxx8ssh)) [[journaling/prompt]]  ^de9f88

  We trade away our precious lives in little moments ... we often spend our *lives* on things that give us little value in return.

  if you can’t quickly explain in very specific terms how something is adding value to your life, then odds are it isn’t. [View Highlight](https://read.readwise.io/read/01j85xtzjn34ra2xt29zyevsw4))

  5. What am I giving up? [View Highlight](https://read.readwise.io/read/01j85y3wdwgy2mbpkh1pygyevt)) [[journaling/prompt]]  ^8419b3

  you put a name to the tradeoffs associated with any decision [View Highlight](https://read.readwise.io/read/01j85y5pfvpjm9mzm49bgc4kya))

  Whenever you decide to do or buy something, make sure you think about what you’re giving up to make it happen. [View Highlight](https://read.readwise.io/read/01j85y6bt9wgrec4r2520b5ja7))

  6. How does this make me feel? [View Highlight](https://read.readwise.io/read/01j85y8kck7ckzazkgdaphdfjm)) [[journaling/prompt]] 

  If you’re doing something that makes you feel sad, anxious, or angry it’s important to understand why. Are you doing something that goes against your core values? Or do you need more rest and support? [View Highlight](https://read.readwise.io/read/01j85ya9vvam560p585n9eyhn6))

  Or when you feel more positive emotions​​—why? What can you learn from your feelings and how can you apply what you learn in your everyday life? How can you be intentional about creating the life you want? [View Highlight](https://read.readwise.io/read/01j85yak4qe3qzhdqnnp65nr74))

  7. Am I being honest with myself? [View Highlight](https://read.readwise.io/read/01j85yapckfm2deazf2qfdadx8)) [[journaling/prompt]]  ^b44977

  Finally, it’s important to check that you’re being honest with yourself, because if you’re not, none of your other answers really matter. [View Highlight](https://read.readwise.io/read/01j85ye7w6zca1hjwcaqxmp2zt))

raw_content:
  # 7 Intentional Questions To Ask Yourself Every Day

  ![rw-book-cover](https://www.simplyfiercely.com/wp-content/uploads/2018/02/Questions-to-Ask-Yourself-Feature-Image.jpg)

  ## Metadata
  - Author: [[Jennifer]]
  - Full Title: 7 Intentional Questions To Ask Yourself Every Day
  - Category: #articles
  - Document Tags: [[journaling]] 
  - URL: https://www.simplyfiercely.com/7-questions-to-inspire-intentional-living/
  - Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=7%20Intentional%20Questions%20To%20Ask%20Yourself%20Every%20Day
  > [!tldr]
  > Regular self-reflection is essential for living a meaningful and purposeful life. Asking yourself seven intentional questions each day can help clarify your priorities and decisions. By taking time to reflect, you can ensure your actions align with what truly matters to you.

  ## Highlights
  I thought I was too busy for something as trivial as “self-reflection” but now I know it’s one of the most valuable things I can do with my time, and for you as well. [View Highlight](https://read.readwise.io/read/01j85trb36ydy64sbw670rqy75)) ^029f29

  1. Why am I doing this?
  This is a deceptively simple yet very powerful question to ask yourself. I think too often we assume we know why we do what we do, but when we carve out time to sit and reflect, the truth can surprise us. [View Highlight](https://read.readwise.io/read/01j85ttaxs6xp6dyt426kv53re)) [[journaling/prompt]]  ^78caa2

  It might save you ten minutes on a Monday morning, or ten years spent chasing a goal you don’t even really want. [View Highlight](https://read.readwise.io/read/01j85txf1x20mpd5dtfsex667w))

  2. Who am I doing this for? [View Highlight](https://read.readwise.io/read/01j85x45h66bevcpas8kb7jn36)) [[journaling/prompt]]  ^0ea258

  This is a good question to ask yourself regularly when you feel your priorities are out of alignment. It can help shine a light on where you need stronger [personal boundaries](https://www.simplyfiercely.com/personal-boundaries/). [View Highlight](https://read.readwise.io/read/01j85x6nevt1a156g7tvrkar7w))

  But I should also point out that self-reflection isn’t about judging yourself or others. Instead, it’s about honesty; knowing why you do what you do and who you do things for, so you can [make intentional decisions about how to invest your time, money and energy](https://www.simplyfiercely.com/intentional-time-money-energy/). [View Highlight](https://read.readwise.io/read/01j85x70r7rxh41qz1tcm196qs))

  3. Is there a simpler way? [View Highlight](https://read.readwise.io/read/01j85xafyt9wnwf26pf711mjd2)) [[journaling/prompt]]  ^3b92eb

  Taking just five minutes to ask the question and look for a simpler way has saved me countless hours throughout my life. (And I’ll also admit that sometimes it happens in reverse —I’d spend hours doing something and then realise I made it harder than need be!) [View Highlight](https://read.readwise.io/read/01j85xe88z59xav5x5n16yee9k))

  4. How does this add value to my life? [View Highlight](https://read.readwise.io/read/01j85xqetvfmrkt17gwaxx8ssh)) [[journaling/prompt]]  ^de9f88

  We trade away our precious lives in little moments ... we often spend our *lives* on things that give us little value in return.

  if you can’t quickly explain in very specific terms how something is adding value to your life, then odds are it isn’t. [View Highlight](https://read.readwise.io/read/01j85xtzjn34ra2xt29zyevsw4))

  5. What am I giving up? [View Highlight](https://read.readwise.io/read/01j85y3wdwgy2mbpkh1pygyevt)) [[journaling/prompt]]  ^8419b3

  you put a name to the tradeoffs associated with any decision [View Highlight](https://read.readwise.io/read/01j85y5pfvpjm9mzm49bgc4kya))

  Whenever you decide to do or buy something, make sure you think about what you’re giving up to make it happen. [View Highlight](https://read.readwise.io/read/01j85y6bt9wgrec4r2520b5ja7))

  6. How does this make me feel? [View Highlight](https://read.readwise.io/read/01j85y8kck7ckzazkgdaphdfjm)) [[journaling/prompt]] 

  If you’re doing something that makes you feel sad, anxious, or angry it’s important to understand why. Are you doing something that goes against your core values? Or do you need more rest and support? [View Highlight](https://read.readwise.io/read/01j85ya9vvam560p585n9eyhn6))

  Or when you feel more positive emotions​​—why? What can you learn from your feelings and how can you apply what you learn in your everyday life? How can you be intentional about creating the life you want? [View Highlight](https://read.readwise.io/read/01j85yak4qe3qzhdqnnp65nr74))

  7. Am I being honest with myself? [View Highlight](https://read.readwise.io/read/01j85yapckfm2deazf2qfdadx8)) [[journaling/prompt]]  ^b44977

  Finally, it’s important to check that you’re being honest with yourself, because if you’re not, none of your other answers really matter. [View Highlight](https://read.readwise.io/read/01j85ye7w6zca1hjwcaqxmp2zt))


path: Readwise/7 Mindful Journaling Prompts to Calm an Anxious Mind.md
sortable_path: Readwise7 Mindful Journaling Prompts to Calm an Anxious Mind.md
title: 7 Mindful Journaling Prompts to Calm an Anxious Mind
checksum: 0ba5383093af8ffcced5f518ec3bfee63902a3c78d2d0e47b15ff4f8e9d26bb1
created: 2024-09-23 00:21:29.61774657+00:00
modified: 2024-09-24 16:50:29.790313993+00:00
metadata: {}
lead:
  ![rw-book-cover](https://www.simplyfiercely.com/wp-content/uploads/2020/12/7-Mindful-Journaling-Prompts-to-Calm-An-Anxious-Mind-Feature-Image.jpg)

body:
  ![rw-book-cover](https://www.simplyfiercely.com/wp-content/uploads/2020/12/7-Mindful-Journaling-Prompts-to-Calm-An-Anxious-Mind-Feature-Image.jpg)

  ## Metadata
  - Author: [[Jennifer Burger]]
  - Full Title: 7 Mindful Journaling Prompts to Calm an Anxious Mind
  - Category: #articles
  - URL: https://www.simplyfiercely.com/mindful-journal-prompts/
  - Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=7%20Mindful%20Journaling%20Prompts%20to%20Calm%20an%20Anxious%20Mind
  > [!tldr]
  > Journaling can help calm an anxious mind by bringing awareness to the present and allowing you to explore your feelings without judgment. Mindful journaling prompts provide a structured way to reflect on your thoughts and fears, making it easier to cope with anxiety. Whether you're new to journaling or have experience, these prompts can help you find peace and clarity in stressful times.

  ## Highlights
  mindful journaling is intended to bring more of your awareness to the present moment. Simply put, it’s the act of conscious writing. It can be particularly helpful for anyone that struggles with meditation because you go to the extra step of taking the thoughts from your mind and making them tangible by writing them down. [View Highlight](https://read.readwise.io/read/01j83kfe31tcya0gkqbfcfw71c))

  Mindful journaling can help to ease anxiety by allowing you to uncover the root cause of your stress. After all, one of the [benefits of journaling](https://www.simplyfiercely.com/benefits-of-journaling/) is that it’s a reflective process. It helps you organise your thoughts, and because they’re written down, you have the chance to reflect on them too. [View Highlight](https://read.readwise.io/read/01j83kjtp3t9x64bmgtwkter90))

  In the words of Eckhart Tolle, “As soon as you honour the present moment, all unhappiness and struggle dissolve, and life begins to flow with joy and ease.” [View Highlight](https://read.readwise.io/read/01j83m70htvhxtfjfvhb68qsvx))

  If you’re new to journaling, you might be hit with ‘writer’s block’. Remember, any new behaviour or practice can take getting used to. [View Highlight](https://read.readwise.io/read/01j83m8kymfctpxjqyw29vq3wh))

  [Be intentional](https://www.simplyfiercely.com/be-intentional/) about creating time to write your feelings out. Turn it into a ritual by making yourself a warm drink, lighting a candle, or choosing a nice spot to write in. This might help you create a [daily routine](https://www.simplyfiercely.com/daily-routines/) in the future. [View Highlight](https://read.readwise.io/read/01j83m93tv468vmfpmrafmfg5j))

  Prompt: What Am I Feeling Right Now?
  **Use when: You feel like you need to empty a racing brain.** [View Highlight](https://read.readwise.io/read/01j83ncpgpa765e7ma2yk8264x)) [[journaling/prompt]]  ^69db00

  Once you start writing, don’t stop until you feel there is nothing else to write. This means you should write *everything* down, even if you begin to veer away from the prompt. Don’t pay any mind to spelling mistakes, your handwriting and don’t edit what ends up on the page. Just write it all out. [View Highlight](https://read.readwise.io/read/01j83nhv221bsrfd0r2fyv08vj))

  Prompt: What Am I Afraid Of?
  **Use when: You are overcome with worry.** [View Highlight](https://read.readwise.io/read/01j83njt22m4rmjdrv55g4c356)) [[journaling/prompt]]  ^beb82a

  To journal through your fears, start by writing them out one at a time. Ask yourself what are the worse case scenarios, how they might affect you, and what you would do. Ask yourself how likely it is to happen, why you think it might happen, whether its occurrence would be positive or negative and why. [View Highlight](https://read.readwise.io/read/01j83qra9bkp4fzk2vrzhm0erf))

  The anticipation of something is usually much worse than when it actually occurs. This is because before something happens, we can’t do anything about it. By journaling through our fears, we’re doing something proactive and preemptive, which can help us work through our fears rather than letting them fester. [View Highlight](https://read.readwise.io/read/01j83sq982ymg9stz6mxbf4776))

  Prompt: Write A Letter That You’ll Never Send
  **Use when: The thought of someone is making you anxious.** [View Highlight](https://read.readwise.io/read/01j83sqq9zcr1aahr612jqkh2x)) [[journaling/prompt]]  ^c261c4

  Address the letter to the person you need or want to talk to and say everything you want to say. This prompt will help you organise your thoughts and feelings about this person. You can also be as honest as you need because you’re never going to send the letter. [View Highlight](https://read.readwise.io/read/01j83sspweq1e87w1cgb2r1dzd))

  If you enjoy letter writing, you could also try a love letter. Write to your younger self (*or your future self!*) and practice being your own best friend. After all, self-love and compassion are also powerful tools for combating chronic anxiety. [View Highlight](https://read.readwise.io/read/01j83stt71p8h0kjdmf24mhpat)) [[journaling/prompt]] 

  Prompt: Where Am I Right Now?
  **Use when: You need to feel grounded.** [View Highlight](https://read.readwise.io/read/01j83svpn19zb9t7k0rch206pr)) [[journaling/prompt]]  ^27b8e0

  The 5-4-3-2-1 coping technique for anxiety attacks is all about bringing your attention back to the now. ... In your journal, write the following:
  • Five things that you see 
  • Four things that you can touch 
  • Three things that you can hear 
  • Two things that you can smell 
  • One thing that you can taste

  Prompt: Why Do I Feel Unwell?
  **Use when: You’re feeling agitated, stressed or anxious for no apparent reason.** [View Highlight](https://read.readwise.io/read/01j83syhvp6jy0mvk0q32qhx8a)) [[journaling/prompt]]  ^3608de

  When I’m [so overwhelmed that I can’t think](https://www.simplyfiercely.com/overwhelmed-by-life/) about how to care for myself, I turn to my journal. I start with the line *‘I feel unwell because…’* and let my thoughts flow. Answering this question leads me to discover what I need (whether it be rest, connection, or creative expression). By delving into why I feel unwell, I learn what I can do about it, which improves how I care for myself. [View Highlight](https://read.readwise.io/read/01j83t1ryr94dwp6syd3c051ga))

  Prompt: How Can This Moment Inform My Future
  **Use when: You feel like you’ve made a mistake.** [View Highlight](https://read.readwise.io/read/01j83t2c2z79vpc1r0kfpmxz6k)) [[journaling/prompt]]  ^a59479

  Taking time to acknowledge our mistakes, understand why they occurred, and think about how we can make better choices in the future is healthy. [View Highlight](https://read.readwise.io/read/01j83t889905a6az7md4d70z3x))

  Mistakes are inevitable and mindfully working through them helps us accept them as part of life and let go of perfectionism. [View Highlight](https://read.readwise.io/read/01j83t97qhrr5fxj9nttkbke0n))

  Prompt: I Am Lucky To…
  **Use when: You are feeling negative.** [View Highlight](https://read.readwise.io/read/01j83t9evy5zxg8m3qf6r5gkw1)) [[journaling/prompt]]  ^fc98ae

  Gratitude is one of the healthiest emotions to sit with. It has the power to shift your mindset from scarcity to abundance, which can be helpful when you’re feeling stressed or just plain having a bad day. [View Highlight](https://read.readwise.io/read/01j83xxb6jwrvvdrg4a7wmvb5n))

  try reflecting on:
  • a favourite memory
  • your own strengths
  • song lyrics or a list of favourite songs
  • your greatest lessons
  • your biggest supporter
  • how you overcame a negative experience in the past [View Highlight](https://read.readwise.io/read/01j83xvwfvcc5tjc4an2a92671))

  ---

  New highlights added at 2024-09-23 7:15 PM
  The 5-4-3-2-1 coping technique for anxiety attacks is all about bringing your attention back to the now. ... In your journal, write the following:
  • Five things that you see 
  • Four things that you can touch 
  • Three things that you can hear 
  • Two things that you can smell 
  • One thing that you can taste

raw_content:
  # 7 Mindful Journaling Prompts to Calm an Anxious Mind

  ![rw-book-cover](https://www.simplyfiercely.com/wp-content/uploads/2020/12/7-Mindful-Journaling-Prompts-to-Calm-An-Anxious-Mind-Feature-Image.jpg)

  ## Metadata
  - Author: [[Jennifer Burger]]
  - Full Title: 7 Mindful Journaling Prompts to Calm an Anxious Mind
  - Category: #articles
  - URL: https://www.simplyfiercely.com/mindful-journal-prompts/
  - Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=7%20Mindful%20Journaling%20Prompts%20to%20Calm%20an%20Anxious%20Mind
  > [!tldr]
  > Journaling can help calm an anxious mind by bringing awareness to the present and allowing you to explore your feelings without judgment. Mindful journaling prompts provide a structured way to reflect on your thoughts and fears, making it easier to cope with anxiety. Whether you're new to journaling or have experience, these prompts can help you find peace and clarity in stressful times.

  ## Highlights
  mindful journaling is intended to bring more of your awareness to the present moment. Simply put, it’s the act of conscious writing. It can be particularly helpful for anyone that struggles with meditation because you go to the extra step of taking the thoughts from your mind and making them tangible by writing them down. [View Highlight](https://read.readwise.io/read/01j83kfe31tcya0gkqbfcfw71c))

  Mindful journaling can help to ease anxiety by allowing you to uncover the root cause of your stress. After all, one of the [benefits of journaling](https://www.simplyfiercely.com/benefits-of-journaling/) is that it’s a reflective process. It helps you organise your thoughts, and because they’re written down, you have the chance to reflect on them too. [View Highlight](https://read.readwise.io/read/01j83kjtp3t9x64bmgtwkter90))

  In the words of Eckhart Tolle, “As soon as you honour the present moment, all unhappiness and struggle dissolve, and life begins to flow with joy and ease.” [View Highlight](https://read.readwise.io/read/01j83m70htvhxtfjfvhb68qsvx))

  If you’re new to journaling, you might be hit with ‘writer’s block’. Remember, any new behaviour or practice can take getting used to. [View Highlight](https://read.readwise.io/read/01j83m8kymfctpxjqyw29vq3wh))

  [Be intentional](https://www.simplyfiercely.com/be-intentional/) about creating time to write your feelings out. Turn it into a ritual by making yourself a warm drink, lighting a candle, or choosing a nice spot to write in. This might help you create a [daily routine](https://www.simplyfiercely.com/daily-routines/) in the future. [View Highlight](https://read.readwise.io/read/01j83m93tv468vmfpmrafmfg5j))

  Prompt: What Am I Feeling Right Now?
  **Use when: You feel like you need to empty a racing brain.** [View Highlight](https://read.readwise.io/read/01j83ncpgpa765e7ma2yk8264x)) [[journaling/prompt]]  ^69db00

  Once you start writing, don’t stop until you feel there is nothing else to write. This means you should write *everything* down, even if you begin to veer away from the prompt. Don’t pay any mind to spelling mistakes, your handwriting and don’t edit what ends up on the page. Just write it all out. [View Highlight](https://read.readwise.io/read/01j83nhv221bsrfd0r2fyv08vj))

  Prompt: What Am I Afraid Of?
  **Use when: You are overcome with worry.** [View Highlight](https://read.readwise.io/read/01j83njt22m4rmjdrv55g4c356)) [[journaling/prompt]]  ^beb82a

  To journal through your fears, start by writing them out one at a time. Ask yourself what are the worse case scenarios, how they might affect you, and what you would do. Ask yourself how likely it is to happen, why you think it might happen, whether its occurrence would be positive or negative and why. [View Highlight](https://read.readwise.io/read/01j83qra9bkp4fzk2vrzhm0erf))

  The anticipation of something is usually much worse than when it actually occurs. This is because before something happens, we can’t do anything about it. By journaling through our fears, we’re doing something proactive and preemptive, which can help us work through our fears rather than letting them fester. [View Highlight](https://read.readwise.io/read/01j83sq982ymg9stz6mxbf4776))

  Prompt: Write A Letter That You’ll Never Send
  **Use when: The thought of someone is making you anxious.** [View Highlight](https://read.readwise.io/read/01j83sqq9zcr1aahr612jqkh2x)) [[journaling/prompt]]  ^c261c4

  Address the letter to the person you need or want to talk to and say everything you want to say. This prompt will help you organise your thoughts and feelings about this person. You can also be as honest as you need because you’re never going to send the letter. [View Highlight](https://read.readwise.io/read/01j83sspweq1e87w1cgb2r1dzd))

  If you enjoy letter writing, you could also try a love letter. Write to your younger self (*or your future self!*) and practice being your own best friend. After all, self-love and compassion are also powerful tools for combating chronic anxiety. [View Highlight](https://read.readwise.io/read/01j83stt71p8h0kjdmf24mhpat)) [[journaling/prompt]] 

  Prompt: Where Am I Right Now?
  **Use when: You need to feel grounded.** [View Highlight](https://read.readwise.io/read/01j83svpn19zb9t7k0rch206pr)) [[journaling/prompt]]  ^27b8e0

  The 5-4-3-2-1 coping technique for anxiety attacks is all about bringing your attention back to the now. ... In your journal, write the following:
  • Five things that you see 
  • Four things that you can touch 
  • Three things that you can hear 
  • Two things that you can smell 
  • One thing that you can taste

  Prompt: Why Do I Feel Unwell?
  **Use when: You’re feeling agitated, stressed or anxious for no apparent reason.** [View Highlight](https://read.readwise.io/read/01j83syhvp6jy0mvk0q32qhx8a)) [[journaling/prompt]]  ^3608de

  When I’m [so overwhelmed that I can’t think](https://www.simplyfiercely.com/overwhelmed-by-life/) about how to care for myself, I turn to my journal. I start with the line *‘I feel unwell because…’* and let my thoughts flow. Answering this question leads me to discover what I need (whether it be rest, connection, or creative expression). By delving into why I feel unwell, I learn what I can do about it, which improves how I care for myself. [View Highlight](https://read.readwise.io/read/01j83t1ryr94dwp6syd3c051ga))

  Prompt: How Can This Moment Inform My Future
  **Use when: You feel like you’ve made a mistake.** [View Highlight](https://read.readwise.io/read/01j83t2c2z79vpc1r0kfpmxz6k)) [[journaling/prompt]]  ^a59479

  Taking time to acknowledge our mistakes, understand why they occurred, and think about how we can make better choices in the future is healthy. [View Highlight](https://read.readwise.io/read/01j83t889905a6az7md4d70z3x))

  Mistakes are inevitable and mindfully working through them helps us accept them as part of life and let go of perfectionism. [View Highlight](https://read.readwise.io/read/01j83t97qhrr5fxj9nttkbke0n))

  Prompt: I Am Lucky To…
  **Use when: You are feeling negative.** [View Highlight](https://read.readwise.io/read/01j83t9evy5zxg8m3qf6r5gkw1)) [[journaling/prompt]]  ^fc98ae

  Gratitude is one of the healthiest emotions to sit with. It has the power to shift your mindset from scarcity to abundance, which can be helpful when you’re feeling stressed or just plain having a bad day. [View Highlight](https://read.readwise.io/read/01j83xxb6jwrvvdrg4a7wmvb5n))

  try reflecting on:
  • a favourite memory
  • your own strengths
  • song lyrics or a list of favourite songs
  • your greatest lessons
  • your biggest supporter
  • how you overcame a negative experience in the past [View Highlight](https://read.readwise.io/read/01j83xvwfvcc5tjc4an2a92671))

  ---

  New highlights added at 2024-09-23 7:15 PM
  The 5-4-3-2-1 coping technique for anxiety attacks is all about bringing your attention back to the now. ... In your journal, write the following:
  • Five things that you see 
  • Four things that you can touch 
  • Three things that you can hear 
  • Two things that you can smell 
  • One thing that you can taste


path: Readwise/APCA in a Nutshell.md
sortable_path: ReadwiseAPCA in a Nutshell.md
title: APCA in a Nutshell
lead: ![rw-book-cover](https://git.myndex.com/images/APCAresourcesTheWorldIsReading.png)
checksum: f83edfd424d2fd095bb1a7a85150a567783ee3d3f0f36524eced8381101e6e73
created: 2024-09-23 00:21:29.798053686+00:00
modified: 2024-09-23 19:31:31.9740065+00:00
metadata: {}
body:
  ![rw-book-cover](https://git.myndex.com/images/APCAresourcesTheWorldIsReading.png)

  ## Metadata
  - Author: [[APCA]]
  - Full Title: APCA in a Nutshell
  - Category: #articles
  - Document Tags: [[design]] 
  - URL: https://git.apcacontrast.com/documentation/APCA_in_a_Nutshell#use-case--size-ranges
  - Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=APCA%20in%20a%20Nutshell
  > [!tldr]
  > The Accessible Perceptual Contrast Algorithm (APCA) is a new method for measuring color contrast and improving readability on screens. It provides a more accurate way to assess contrast than the existing WCAG guidelines, focusing on user needs and different text sizes. APCA includes various levels of contrast to help designers create more accessible content, especially for body text and large elements.

  ## Highlights
  Use-Case & Size Ranges
  These general levels are appropriate for use by themselves, without the need to reference a lookup table. APCA reports contrast as an Lc value (lightness contrast) from **Lc 0** to **Lc 105+**. For accessibility, consider Lc 15 the point of invisibility for many users, and Lc 90 as preferred for body text.
  • **Lc 90** • Preferred level for fluent text and columns of body text with a font no smaller than 18px/weight 300 or 14px/weight 400 (normal), or non-body text with a font no smaller than 12px/400. Also a recommended minimum for extremely thin fonts with a minimum of 24px at weight 200. Lc 90 is a *suggested maximum* for **very large and bold fonts** (greater than 36px bold), and large areas of color. Small fonts do not have a maximum.
  • **Lc 75** • The *minimum* level for columns of body text with a font no smaller than 24px/300 weight, 18px/400, 16px/500 and 14px/700. This level may be used with non-body text with a font no smaller than 15px/400. Also, Lc 75 should be considered a minimum for larger for any larger text where readability is important.
  • **Lc 60** • The *minimum* level recommended for content text that is not body, column, or block text. In other words, text you want people to read. The minimums: no smaller than 48px/200, 36px/300, 24px normal weight (400), 21px/500, 18px/600, 16px/700 (bold). These values based on the reference font Helvetica. To use these sizes as body text, add Lc 15.
  • **Lc 45** • The *minimum* for larger, heavier text (36px normal weight or 24px bold) such as headlines, and large text that should be fluently readable but is not body text. This is also the minimum for pictograms with fine details, or smaller outline icons.
  • **Lc 30** • The *absolute minimum* for any text not listed above, including text considered as “spot readable”. This includes placeholder text and disabled element text, and some non-content like a copyright bug. This is also the minimum for large/solid semantic & understandable non-text elements such as “mostly solid” icons or pictograms. Generally no less than 5.5px solid in its smallest dimension.
  • **Lc 15** • The *absolute minimum* for any non-semantic non-text that needs to be *discernible*, and is no less than 5px (solid) in its smallest dimension. This may include dividers, and in *some* cases large buttons or thick focus-visible outlines, but does *not* include fine details which have a higher minimum. **Designers should treat anything below this level as invisible**, as it will not be visible for many users. This minimum level should be avoided for any items important to the use, understanding, or interaction of the site.
  These define the basic minimum levels, what you might think of as AA in the old WCAG 2. For the equivelent to AAA, simply increase the contrast values by Lc 15. [View Highlight](https://read.readwise.io/read/01j80shgn3ccehc3qxw0at9gsz))

raw_content:
  # APCA in a Nutshell

  ![rw-book-cover](https://git.myndex.com/images/APCAresourcesTheWorldIsReading.png)

  ## Metadata
  - Author: [[APCA]]
  - Full Title: APCA in a Nutshell
  - Category: #articles
  - Document Tags: [[design]] 
  - URL: https://git.apcacontrast.com/documentation/APCA_in_a_Nutshell#use-case--size-ranges
  - Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=APCA%20in%20a%20Nutshell
  > [!tldr]
  > The Accessible Perceptual Contrast Algorithm (APCA) is a new method for measuring color contrast and improving readability on screens. It provides a more accurate way to assess contrast than the existing WCAG guidelines, focusing on user needs and different text sizes. APCA includes various levels of contrast to help designers create more accessible content, especially for body text and large elements.

  ## Highlights
  Use-Case & Size Ranges
  These general levels are appropriate for use by themselves, without the need to reference a lookup table. APCA reports contrast as an Lc value (lightness contrast) from **Lc 0** to **Lc 105+**. For accessibility, consider Lc 15 the point of invisibility for many users, and Lc 90 as preferred for body text.
  • **Lc 90** • Preferred level for fluent text and columns of body text with a font no smaller than 18px/weight 300 or 14px/weight 400 (normal), or non-body text with a font no smaller than 12px/400. Also a recommended minimum for extremely thin fonts with a minimum of 24px at weight 200. Lc 90 is a *suggested maximum* for **very large and bold fonts** (greater than 36px bold), and large areas of color. Small fonts do not have a maximum.
  • **Lc 75** • The *minimum* level for columns of body text with a font no smaller than 24px/300 weight, 18px/400, 16px/500 and 14px/700. This level may be used with non-body text with a font no smaller than 15px/400. Also, Lc 75 should be considered a minimum for larger for any larger text where readability is important.
  • **Lc 60** • The *minimum* level recommended for content text that is not body, column, or block text. In other words, text you want people to read. The minimums: no smaller than 48px/200, 36px/300, 24px normal weight (400), 21px/500, 18px/600, 16px/700 (bold). These values based on the reference font Helvetica. To use these sizes as body text, add Lc 15.
  • **Lc 45** • The *minimum* for larger, heavier text (36px normal weight or 24px bold) such as headlines, and large text that should be fluently readable but is not body text. This is also the minimum for pictograms with fine details, or smaller outline icons.
  • **Lc 30** • The *absolute minimum* for any text not listed above, including text considered as “spot readable”. This includes placeholder text and disabled element text, and some non-content like a copyright bug. This is also the minimum for large/solid semantic & understandable non-text elements such as “mostly solid” icons or pictograms. Generally no less than 5.5px solid in its smallest dimension.
  • **Lc 15** • The *absolute minimum* for any non-semantic non-text that needs to be *discernible*, and is no less than 5px (solid) in its smallest dimension. This may include dividers, and in *some* cases large buttons or thick focus-visible outlines, but does *not* include fine details which have a higher minimum. **Designers should treat anything below this level as invisible**, as it will not be visible for many users. This minimum level should be avoided for any items important to the use, understanding, or interaction of the site.
  These define the basic minimum levels, what you might think of as AA in the old WCAG 2. For the equivelent to AAA, simply increase the contrast values by Lc 15. [View Highlight](https://read.readwise.io/read/01j80shgn3ccehc3qxw0at9gsz))


path: Readwise/Code-Splitting for Libraries—bundling for NPM With Rollup 1.0.md
sortable_path: ReadwiseCode-Splitting for Libraries—bundling for NPM With Rollup 1.0.md
title: Code-Splitting for Libraries—bundling for NPM With Rollup 1.0
lead: ![rw-book-cover](https://miro.medium.com/v2/resize:fit:1200/1*BZ4p60HENosEjyZfQgjsRQ.jpeg)
checksum: eae7f8f1e954c0289c01ac84c0c7e176cebea74ae6dd4b21a2aa5386e8ac3674
created: 2024-09-23 00:21:29.83267851+00:00
modified: 2024-09-23 19:31:31.9740065+00:00
metadata: {}
body:
  ![rw-book-cover](https://miro.medium.com/v2/resize:fit:1200/1*BZ4p60HENosEjyZfQgjsRQ.jpeg)

  ## Metadata
  - Author: [[Lukas Taegert]]
  - Full Title: Code-Splitting for Libraries—bundling for NPM With Rollup 1.0
  - Category: #articles
  - Document Tags: [[dev]] [[dev/javascript]] 
  - URL: https://levelup.gitconnected.com/code-splitting-for-libraries-bundling-for-npm-with-rollup-1-0-2522c7437697
  - Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Code-Splitting%20for%20Libraries%E2%80%94bundling%20for%20NPM%20With%20Rollup%201.0
  > [!tldr]
  > Rollup 1.0 introduces code-splitting as a key feature for bundling JavaScript libraries. The article explains how to create an efficient library called "fancy-case" that allows users to import specific utility functions while offering multiple formats for different environments. It highlights the benefits of using ES modules and provides guidance on configuring Rollup for optimal performance.

  ## Highlights
  CommonJS module for Node
  This is probably the most important target. This allows Node users and legacy bundlers to import your library as a [CommonJS module](http://wiki.commonjs.org/wiki/Modules/1.1.1) via [View Highlight](https://read.readwise.io/read/01j864mhazhr25k1zh6ngzn2x8))

  Single bundle to be used in a script tag
  The “traditional way” of distributing JavaScript may still be interesting for small, hand-crafted sites with minimal setup. The bundle creates a global variable via which its exports can be accessed. [View Highlight](https://read.readwise.io/read/01j864mcsdtwp63pehyqf3cex6))

  AMD module to be used with an AMD loader
  There are still quite a few [AMD/RequireJS](https://requirejs.org/) based projects out there. We can distribute a file that can itself be used as a dependency of an AMD module. [View Highlight](https://read.readwise.io/read/01j864mvbta1gpk2n5rptm0m5z))

  ES module for modern bundlers
  [ECMAScript modules](http://exploringjs.com/es6/ch_modules.html) are now the official, standardized JavaScript module format. [View Highlight](https://read.readwise.io/read/01j864n23372ch1nkz5xrxwqp2))

  Direct imports for CJS or ESM consumers
  An emerging new pattern especially for libraries with many independent utility functions is to allow users to import independent parts of the library from separate files. Node users could write
  const upper = require(**'fancy-case/cjs/upper'**); 
  console.log(upper('some Text'));
  while ESM consumers could write
  import upper from **'fancy-case/esm/upper'**; 
  console.log(upper('some Text')); [View Highlight](https://read.readwise.io/read/01j864p33y06v43pdzwxrgksxg))

  Rollup supports a special output format called a [“Universal Module Definition”](https://github.com/umdjs/umd), which simultaneously supports the CJS, script tag, and ESM use cases. To create it, add a new file called `rollup.config.js` to the root of your project [View Highlight](https://read.readwise.io/read/01j864rhxg10v4kb7fnf2a869x))

raw_content:
  # Code-Splitting for Libraries—bundling for NPM With Rollup 1.0

  ![rw-book-cover](https://miro.medium.com/v2/resize:fit:1200/1*BZ4p60HENosEjyZfQgjsRQ.jpeg)

  ## Metadata
  - Author: [[Lukas Taegert]]
  - Full Title: Code-Splitting for Libraries—bundling for NPM With Rollup 1.0
  - Category: #articles
  - Document Tags: [[dev]] [[dev/javascript]] 
  - URL: https://levelup.gitconnected.com/code-splitting-for-libraries-bundling-for-npm-with-rollup-1-0-2522c7437697
  - Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Code-Splitting%20for%20Libraries%E2%80%94bundling%20for%20NPM%20With%20Rollup%201.0
  > [!tldr]
  > Rollup 1.0 introduces code-splitting as a key feature for bundling JavaScript libraries. The article explains how to create an efficient library called "fancy-case" that allows users to import specific utility functions while offering multiple formats for different environments. It highlights the benefits of using ES modules and provides guidance on configuring Rollup for optimal performance.

  ## Highlights
  CommonJS module for Node
  This is probably the most important target. This allows Node users and legacy bundlers to import your library as a [CommonJS module](http://wiki.commonjs.org/wiki/Modules/1.1.1) via [View Highlight](https://read.readwise.io/read/01j864mhazhr25k1zh6ngzn2x8))

  Single bundle to be used in a script tag
  The “traditional way” of distributing JavaScript may still be interesting for small, hand-crafted sites with minimal setup. The bundle creates a global variable via which its exports can be accessed. [View Highlight](https://read.readwise.io/read/01j864mcsdtwp63pehyqf3cex6))

  AMD module to be used with an AMD loader
  There are still quite a few [AMD/RequireJS](https://requirejs.org/) based projects out there. We can distribute a file that can itself be used as a dependency of an AMD module. [View Highlight](https://read.readwise.io/read/01j864mvbta1gpk2n5rptm0m5z))

  ES module for modern bundlers
  [ECMAScript modules](http://exploringjs.com/es6/ch_modules.html) are now the official, standardized JavaScript module format. [View Highlight](https://read.readwise.io/read/01j864n23372ch1nkz5xrxwqp2))

  Direct imports for CJS or ESM consumers
  An emerging new pattern especially for libraries with many independent utility functions is to allow users to import independent parts of the library from separate files. Node users could write
  const upper = require(**'fancy-case/cjs/upper'**); 
  console.log(upper('some Text'));
  while ESM consumers could write
  import upper from **'fancy-case/esm/upper'**; 
  console.log(upper('some Text')); [View Highlight](https://read.readwise.io/read/01j864p33y06v43pdzwxrgksxg))

  Rollup supports a special output format called a [“Universal Module Definition”](https://github.com/umdjs/umd), which simultaneously supports the CJS, script tag, and ESM use cases. To create it, add a new file called `rollup.config.js` to the root of your project [View Highlight](https://read.readwise.io/read/01j864rhxg10v4kb7fnf2a869x))


