2024-01-13                         from the editor of ~insom
  ------------------------------------------------------------

  I spend a lot of the day reading and thinking about things
  that interest me. In general this is good, but it can lead
  to these unproductive loops where it _feels_ like I am doing
  something (learning) but I am not applying anything and I'm
  not even certain it's sinking in. I have nothing to show for
  my time.

  Now; not having something to show for your time is cool too.
  That's really what "play" is, and it's healthy to have it in
  your life. Most people could probably use more of it. But,
  for me, a life of play doesn't really lead to satisfaction.

  What's more, there's no built in signal to move on from a
  topic (having done something with that knowledge) -- I
  typically move on because I've gotten bored or at least
  distracted by something new. This leads to me dropping a
  whole load of context: meaning I will have to start nearly
  from scratch to regain some of that knowledge.

  Recently I did a pretty deep dive on an on-again-off-again
  thing I want to understand: how does context switching work
  in a kernel. Specifically, I would like to create a
  scheduler with a couple of tasks, pre-empt them, and switch
  between them.

  I already knew a lot of this stuff _in theory_ -- each
  process needs to have its own stack and switching processes
  needs to push some registers, switch the stack, and pop some
  registers. I inuited that some timer process could be
  responsible for doing this: timers can be IRQ handlers and
  that generally means operating in kernel-space. (Whatever
  that means for the architecture that you're on).

  That's nice, but it's not really enough information to
  implement anything. After an evening spent reading assembly
  source for an xv6 ARM port, for NetBSD and someone's helpful
  guide to how FreeRTOS does this on ARM -- I had much more of
  a clue. Probably enough to implement it. But I am not
  currently able to give it the time that it needs -- I don't
  need to (nor feel like) implementing my own scheduler right
  now.

  So, before I let myself move on: I wrote it all up in my
  notes. I found gaps in my knowledge doing this. I cited a
  bunch of articles (keeping them out of my bookmarks and
  letting me close some tabs). When I come around to doing
  this next time, I can start much quicker. I'm parked facing
  down the hill.

  Anyway this is a lot of words to say "notes are good" but,
  you know, "notes are good". There's a reason university
  students take them and I'm not quite sure when I stopped the
  habit. Perhaps it was when I trained myself to believe that
  knowledge (and not information) was just a search away, so
  why should I write things down when I could just search
  later.