• hahahaha they’re like “it’s not natural for humans to sit in a chair thinking about abstract symbols all day” and my neurodivergent ass is sitting here like “wym”

  • “your brain is the part of your programming toolchain that nobody actually talks about”

  • long term memory is in the neocortex

  • “i think in aviation they call this sort of thing "task saturation", when a pilot has more things to keep track of than they can actually keep track of” - lisa in chat

  • there are advantages to having small working memory too!!

    • it makes you more flexible in working with ideas!
  • “working memory management” - minimize distractions in your environment to maximize available working memory for doing the actual work - cognitive load

    • “what can i remove from the environment to get more signal and less noise”
    • good programming is about managing complexity—that basically is about the ability to keep the relevant factors in mind—”meant to economize working memory”
  • anxiety management is just part of the job!!!

  • brain has two ways of thinking (actually visible in fmri too!): (central executive network)

    • focused mode -
      • cognitive fixation: your brain “slithers back” to the same well-worn patterns
      • a plinko board with tight pegs, low entropy
    • diffuse mode (default mode network; task negative network) - “mind wandering”
      • activate with “bed, bath, or bus”
      • a plinko board with few pegs, high entropy, the puck can go farther or has more options of where it can go
    • “is this the same as system 1 thinking vs system 2 thinking?”
    • say you’re learing about division about
  • “every notificaiton that pops up consumes a litlte bit of mental ram”

  • learning is different from working on e.g. a report where

  • why pomodoro is so useful:

  • declarative learning goes through the hippocampus, procedural learning goes through the basal ganglia

  • declarative learning

    • explicit instruction, conscious
    • fast to learn, slow to use
    • more flexible than procedural
  • procedural learning

    • not consciosus of learning, can’t explain it
    • complex patterns
    • slow to lern, fast to use
    • can’t adapt to changes in the circumstance
    • “tacit deep understanding”
  • procedural fluency in programming

    • tooling:

      • speed of workflow
      • code editor: jump to definition, rename symbol,
      • cli: grep/ack, curl, tree, reverse lookup,
      • use less working memory, keeps you in the flow of problem solving (aka the actual work)
    • language you’re working in

      • “i can just look it up” yeah but it takes you out of the flow
      • if a verb or noun isn’t in your long term memory, then it’s not available to think of when you’re problem solving

    • retrieval practice is shown to be the most effective way to practice

      • first learning lays down a link. then every time you retrieve the info again, you strengthen the link.
      • “synaptic janitor” sweeps away the little fragments of new thoughts that aren’t being used or connected
      • right before sleep, retrieve a key idea that you’re trying to understand, and it will help build up the neurons while you sleep.
        • for bonus points, see if you can recall it again in the first few minutes after waking up
  • “programmer intuition”

    • it’s not jsut a better conceptual understanding
    • pattern recognition
    • synthesis of declarative and procedural competence
  • the neocortex has more synaptic connections than there are grains of sand on the earth!

  • when your “brain just feels tired” after studying etc—it’s buildup of gaba! sleep helps clean it out

    • this is why switching to a different subject is helpful, you’re using a different part of your brain that maybe doesn’t
  • does typing faster actually make you a better programmer or even improve your problem solving capacity