Book Read Free

Pragmatic Thinking and Learning

Page 29

by The Pragmatic Programmers


  what we perceive as narrative.

  Dennett’s theory is a very interesting alternative to the so-called

  Cartesian Theater model, where you assume there is a master cen-

  ter of consciousness that directs the activities of the brain and

  hence you. It’s sort of like Mike Meyers and Mini-Me or a movie

  theater screen where consciousness plays out.

  But that’s probably not the case; the multiple-draft theory supports

  a more distributed model of processing that’s more in line with cur-

  rent research. There is no single source or executive monitor that’s

  calling the shots. Instead, whichever areas are activated together

  right now form your consciousness. That makes consciousness a

  bottom-up, self-organizing, perhaps even emergent property.

  Report erratum

  Prepared exclusively for Jose Luis Loya

  gggggggggggggggg

  this copy is (P2.0 printing, January 2009)

  MANAGE YOUR KNOWLEDGE

  228

  Let’s return to the idea of marinating; as hard as it might be to

  accept, you need time to allow these multiple drafts to ferment,

  percolate, and develop. One line of thought will be “current” and

  experienced as consciousness, but that doesn’t mean that all the

  other drafts are discarded or irrelevant.

  Have you heard of the consultant’s Rule of Three?7 In general, if

  you can’t think of three ways a plan can go wrong or think of

  three different solutions to a problem, then you haven’t thought it

  through enough. You can think of the multiple-drafts model in that

  light; let at least three alternative ideas ferment and come to con-

  sciousness. They are in there already; just let them grow and ripen.

  And, yes, that might just mean sitting around and doing nothing.

  Feet up on the desk. Humming. Eating a crunchy snack.

  TIP 40

  Make thinking time.

  So, now what do you do with all of this great stuff? Just as you want

  to go from R-mode to L-mode to productize learning, you want to

  work with knowledge in a more deliberate way.

  Next Actions

  ! What’s your favorite recipe for mental marinade? Have you

  tried others?

  ! Have you criticized others for their time spent in the mental

  marinade? What will you do differently now?

  ! Have you been criticized for marinating? How will you respond

  the next time it happens?

  8.3 Manage Your Knowledge

  Now it’s time to work with your ideas, insights, raw information,

  and knowledge and transform the whole stewed mess into some-

  thing transcendent.

  But for once, what you need doesn’t fit in your brain. You need to

  augment your processing power.

  7.

  From Jerry Weinberg’s The Secrets of Consulting [Wei85].

  Report erratum

  Prepared exclusively for Jose Luis Loya

  gggggggggggggggg

  this copy is (P2.0 printing, January 2009)

  MANAGE YOUR KNOWLEDGE

  229

  What are all these topics, and why are they all WrittenFunny? Allow

  me to explain...

  Developing Your Exocortex

  As I said in Section 3.2, Capture Insight 24x7, on page 63, you need

  to be prepared to capture information anywhere, anytime. But once

  you’ve captured it, you can’t just let it sit there—that won’t do you

  any good. You need to work with the material: organize it, develop

  it, coalesce disparate material, and refine and split general ideas

  into more specific ones.

  You need a place to put your thoughts where you can work with

  them effectively. Thanks to modern technology, I recommend you

  use some sort of hyperlinked information space that allows easy

  self-organization and refactoring. But before we delve into the

  details, let me explain why this is so important.

  This is not some mere clerical activity.

  According to the research into distributed External support is part

  cognition, the tools you use for mental

  of your mind.

  support outside your brain become part of

  your operating mind. As marvelous as the brain is, we can turbo-

  charge it by providing some key external support.

  Report erratum

  Prepared exclusively for Jose Luis Loya

  gggggggggggggggg

  this copy is (P2.0 printing, January 2009)

  MANAGE YOUR KNOWLEDGE

  230

  Thomas Jefferson owned somewhere in the neighborhood of 10,000

  books in his lifetime.8 Jefferson was an avid reader, and these

  books ranged on topics from political philosophy to music to agri-

  culture to wine making. And each book became a little part of

  his consciousness—probably not the whole thing; most of us don’t

  have encyclopedic memories. It’s enough to know you’ve read about

  it once and remember where to go find the details.

  Albert Einstein knew this well. Supposedly he was once asked how

  many feet there were in a mile and replied that he wouldn’t fill

  his brain with things that could easily be looked up. That’s what

  reference books are for; that’s an efficient use of resources.

  Your own book collection, your notes, and even your favorite IDE

  and programming language all form part of your exocortex, which is

  any mental memory or processing component that resides outside

  your physical brain. As programmers and knowledge workers, we

  probably rely on the computer to form more of our exocortex than

  the general population does. But of course not all computer-based

  tools are created equal.

  For marinating, categorizing, and developing thoughts, I find one

  of the most effective tools to be a personal wiki. In fact, as we’ll see,

  by organizing your great ideas this way, you’ll get more great ideas.

  Use a Wiki

  A traditional wiki (short for Wiki-Wiki-Web) is a style of website

  that allows anyone to edit each web page using nothing more than

  a regular web browser. At the bottom of every page is a link labeled

  Edit This Page, as shown in Figure 8.1, on the following page.

  Clicking that link presents the contents of that page in an HTML

  text-editing widget. You can then edit the page and click the Save

  button, and your changes are now part of that web page. The

  markup is usually simpler than raw HTML; for instance, you can

  use * characters to create a bullet list, underscores for italics, and

  that sort of thing, as shown in Figure 8.2, on page 232. Most impor-

  tant, however, is the ability to link to other pages.

  8.

  And donated nearly 7,000 of them to form the core of the Library of Congress in 1815.

  Report erratum

  Prepared exclusively for Jose Luis Loya

  gggggggggggggggg

  this copy is (P2.0 printing, January 2009)

  MANAGE YOUR KNOWLEDGE

  231

  Figure 8.1: Displaying a wiki page

  You create a new page by first creating a link to it, using a Wiki-

  Word. A WikiWord is a word formed by jamming together two or

  more words with initial capital letters and no spaces. Once you

  place a WikiWord on a page, it will automatically become hyper-<
br />
  linked to the wiki page with that name. If one doesn’t yet exist,

  then the first time you click it, you’ll be given a blank page and

  the opportunity to fill it in. This makes it very easy and natural to

  create new pages.

  But traditional wikis are web-based and

  have this innate separation between edit Use a wiki as a

  and display mode. If you need your wiki to text-based mind map.

  be a web-based app for whatever reason,

  then that’s a fine way to go. But for our purposes here, you might

  be better off with a slight variation on this technology.

  Report erratum

  Prepared exclusively for Jose Luis Loya

  gggggggggggggggg

  this copy is (P2.0 printing, January 2009)

  MANAGE YOUR KNOWLEDGE

  232

  Figure 8.2: Editing a wiki page

  You can use a wiki implemented in your favorite text editor—a wiki-

  editing mode. This gives you WikiWord hyperlinks and syntax col-

  oring or highlights within your editor environment. I’ve used this

  feature in the vi, XEmacs, and TextMate editors to good effect. A

  wiki feels like a text-based mind map (and speaking of which, you

  might well use a mind map to help clarify and augment one section

  of the wiki).

  One of my most successful wiki experiments was setting up a PDA

  as a synchronized wiki to my desktop. I used a Sharp Zaurus, a

  small, pocket-sized PDA with a thumb keyboard that runs Linux.

  I installed the vi editor and wrote some macros to give it hyperlink

  traversal and syntax highlighting for wiki links and so on. Then, I

  could synchronize the set of flat files that comprise the wiki using a

  version control system designed for source code (CVS, in this case).

  Report erratum

  Prepared exclusively for Jose Luis Loya

  gggggggggggggggg

  this copy is (P2.0 printing, January 2009)

  MANAGE YOUR KNOWLEDGE

  233

  The result is a portable wiki-in-my-pocket that is versioned and

  synchronized with my desktop and my laptop. Wherever I am, I

  have my mental wiki space with me. I can create and augment

  notes, work on articles or books (including this one), and so on.

  While writing this book, I began to move away from the Zaurus and

  began using an iPod Touch, where I’ve got a custom Ruby-based

  web server that offers a more traditional, web-based wiki using this

  same synchronized wiki database.

  You might want to investigate the same sort of thing on your lap-

  top or PDA to free you from having to be at your desk to work

  your wiki. There are numerous wiki implementations to choose

  from. For an up-to-date list, take a look at http://en.wikipedia.org/

  wiki/Personal_Wiki.

  TIP 41

  Use a wiki to manage information and knowledge.

  The real beauty of this approach is that once you have a place to

  put a specific bit of information, you’ll notice that new, relevant

  bits of data suddenly start to show up out of nowhere. It’s a similar

  phenomenon to sense tuning. For example, if I told you to start

  looking for the color red at a party, you’d suddenly start to see red

  everywhere. The same thing happens with a new model car. You’re

  attuned to it, so where you may not have paid attention previously,

  suddenly the thing you’re looking for will jump out at you.

  With a wiki, you may have a random idea

  and write it down on your home page Use sense tuning to

  because you don’t know what else to do col ect more thoughts.

  with it. Some time later, you have a sec-

  ond idea that goes with it, and now you can move the two thoughts

  off together on their own new page. Now suddenly more things will

  come up that belong on that page—you have a place to put it, and

  your mind will happily oblige.

  Once you have a place to put some type of thought, you’ll get more

  thoughts of that type. Whether it’s a wiki or a paper journal, note

  cards, or shoe boxes, having a place for ideas in a specific topic

  area or project is a major benefit of an exocortical system.

  Report erratum

  Prepared exclusively for Jose Luis Loya

  gggggggggggggggg

  this copy is (P2.0 printing, January 2009)

  MANAGE YOUR KNOWLEDGE

  234

  Figure 8.3: Wiki notes

  For example, take a look at the screenshot in Figure 8.3. This

  shows my personal wiki format; the title of the page appears at the

  top of each page, then some convenient links to other wiki pages

  (such as ToDo) appear. WikiWords, which link to pages of the same

  name, are highlighted in blue—the same as regular web URLs.

  I first came across a neat fact about lettuce consumption and made

  a page called LettucePrinciple. I heard a great joke/urban legend

  with the punch line “Thaw the chicken” that I thought might be

  useful, so I noted it in ThawTheChicken. Then NASA lost a $125M

  satellite because of a programming error with mismatched units,

  so I jotted the facts down in MarsLander.

  Now that I had a couple of these kinds of thoughts floating around,

  I made a simple list called SpeechNotes, with the idea that I’d accu-

  mulate stuff for presentations from here. I put in ConwaysLaw, the

  LawofDemeter, OilSpill, and other stuff I’d used already and added a

  couple new ideas, such as ProjectTerroir. Now LettucePrinciple had a

  home, a place with similar topics, so I added it to that list. I used it

  as part of a presentation at a RubyConf on technology adaptation

  and then a blog posting.9

  9.

  See http://blog.toolshed.com/2003/03/the_lettuce_pri.html.

  Report erratum

  Prepared exclusively for Jose Luis Loya

  gggggggggggggggg

  this copy is (P2.0 printing, January 2009)

  OPTIMIZE YOUR CURRENT CONTEXT

  235

  The list grew to several hundred items, which was bad. I started

  some wiki gardening and cleaned things up. I made different lists

  for blog posts, upcoming presentations, basic stories and research,

  and so on. Notes for some particular article might reference a half

  dozen of these pages; a book outline might pull in two dozen. But

  wikis are useful for more than just this kind of organization.

  Transcribing your notes from their original form into the wiki (or

  cleaning them up in the same wiki) helps get your brain around

  the material. Just as transcribing notes taken in a meeting or in a

  class, this provides a second in-depth exposure to the material and

  more neural reinforcement.

  And the more you work with it, the more you may start to see

  relationships and patterns in the material that you hadn’t noticed

  before. And again, you can go off and mind map some of the more

  interesting bits to gain insight and bring that back to the wiki.

  You’ll be able to deliberately look for patterns.

  But you want to keep your focus on what you’re working on and

  not get distracted. In the next section, we’ll see why.

  8.4 Optimize Your Current Context

  Context, in the sense we’ll talk about it here, is the set o
f informa-

  tion that is currently loaded into your short-term memory related

  to the task at hand. In computer terms, it’s your working set of

  pages that have been fetched into memory.

  Computers have a distinct advantage over our mental architecture;

  they are built to swap context easily and naturally.

  We aren’t built that way. If something interrupts us, breaks our

  flow, or causes us to lose our focus, it’s really expensive to drag

  everything back in. We call that “dragging everything back in” con-

  text switching. We’re going to take a look at why you want to avoid

  that at all costs, and how to avoid distractions and manage inter-

  ruptions better.

  Report erratum

  Prepared exclusively for Jose Luis Loya

  gggggggggggggggg

  this copy is (P2.0 printing, January 2009)

  OPTIMIZE YOUR CURRENT CONTEXT

  236

  Context Switching

  How much disposable attention do you have?10 That is, how many

  things are currently demanding your attention, and how many total

  things can you possibly pay attention to at any given point in time?

  The ratio is pretty unfavorable.

  You can’t pay attention to as much as you think you can.

  You can’t pay attention to too many different things at once,

  because to change your focus from one item to another means you

  have to switch context. And unfortunately, our brains just aren’t

  wired to support context switching very well.

  Multitasking takes a heavy toll on productivity.

  One study11 found that in general, multitasking

  can cost you 20 to 40 percent of your productiv-

  ity. Right there, that cuts your eight-hour work-

  day down to five. Other studies bump that num-

  ber up closer to 50 percent, with a huge increase

  in errors, as well.

  Just to clarify, multitasking here refers to performing multiple con-

  current tasks at different levels of abstraction. Fixing a couple of

  bugs while in the same area of code doesn’t count as multitasking,

  nor does returning several similar phone calls or cooking a multi-

  course meal. You get into trouble when you interrupt your code-

  fixing session by responding to an unrelated IM, email, or phone

  call or take a quick peek at a news site.

  Unlike computers, our brains don’t have

  It takes twenty minutes

  a “save stack” or “reload stack” operation.

 

‹ Prev