<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
  <head>
    <title>cmdln.net_2008-04-09</title>
    <expansionState>0,1,4,7,9,10,15,18,21,27,32,34,45,61,67,75,83,88,92,96,104,105,113</expansionState>
  </head>
  <body>
    <outline text="Intro" Offset="00:17">
      <outline text="Con season">
        <outline text="Penguicon 6.0 4-18 through 4-20"/>
        <outline text="http://pengiucon.org"/>
      </outline>
      <outline text="RavenCon 2008">
        <outline text="4-25 through 4-27"/>
        <outline text="http://ravencon.com"/>
      </outline>
    </outline>
    <outline text="Word of the Week: daemon" Offset="04:05">
      <outline text="http://catb.org/jargon/html/D/daemon.html"/>
    </outline>
    <outline text="Inner Chapter: Stretching Yourself" Offset="05:53">
      <outline text="Key aspect of hacking is learning new things">
        <outline text="As a professional, at least early on, need a certain amount of skills"/>
        <outline text="As an experience hacker, keeps skills sharp"/>
        <outline text="Sheds new light on the skills you already have"/>
        <outline text="Keeps the mind flexible"/>
      </outline>
      <outline text="Just perception of challenge can stall trying">
        <outline text="Reality is rarely so, most programming is more similar than not"/>
        <outline text="Find the courage to try, don't worry about failing"/>
        <outline text="Compiling Linux kernel">
          <outline text="My first time was a bit nerve wracking"/>
          <outline text="No substitute for doing, learning firsthand it is very simple"/>
        </outline>
        <outline text="Advanced math of crypto">
          <outline text="Composed of simpler steps"/>
          <outline text="Using trusted skills, functional decomposition helps ease learning"/>
        </outline>
        <outline text="Code is forgiving, can always try again"/>
        <outline text="Back up critical data, code"/>
        <outline text="Take care not to try on a time critical project"/>
      </outline>
      <outline text="Don't give in to temptation to coast">
        <outline text="Balance can be difficult, don't want to burn out trying too much"/>
        <outline text="But need to recognize when you've been standing still long enough"/>
        <outline text="This applies equally to many different endeavors, especially the creative ones"/>
        <outline text="Never know what you can or cannot accomplish unless you try"/>
      </outline>
      <outline text="Finding, making time to learn">
        <outline text="Personal projects, can always try to find opportunity"/>
        <outline text="May have to invent a project if a new skill doesn't exactly fit">
          <outline text="Try to make such projects as realistic as possible"/>
          <outline text="Otherwise, like training muscles asymmetrically"/>
          <outline text="Don't skimp, build a full UI, use a full configuration, read from a real file, database"/>
        </outline>
        <outline text="On large professional projects, may be more opportunities in the small"/>
        <outline text="Again, when learning in a professional environment be sensitive to time"/>
        <outline text="If there is a tried and true approach, technology, set a drop dead date"/>
        <outline text="Give enough time to execute plan B"/>
        <outline text="Of course, some skills have no substitute, unavoidable risk"/>
        <outline text="Projects may have to bend to learning"/>
        <outline text="Not too different from building completely new, untried feature"/>
      </outline>
      <outline text="Research, read, and do">
        <outline text="Original sources, like specifications can be a bit dense, inscrutable"/>
        <outline text="Write ups from other hackers"/>
        <outline text="It is rare you will be the first tackling a new skill"/>
        <outline text="Best notes include sources demonstrating key aspects"/>
        <outline text="Check your sources and don't use just one"/>
        <outline text="Can run a risk of following a bad example if you don't consider more than one"/>
        <outline text="In the worst case, someone else wrote up something they didn't really understand"/>
        <outline text="Thrashed until they got something to work"/>
        <outline text="May still post sources but this can obscure a lack of understanding"/>
        <outline text="Open source provides lots of opportunities for reading"/>
        <outline text="If you find some code that does what to you need, increases odds it will help"/>
        <outline text="If you can interactively debug the code, that is even more helpful for understanding"/>
        <outline text="If the research you've found seems thin, don't be shy, write, add your own"/>
        <outline text="At a certain point, need to stop reading and try"/>
        <outline text="When you're going a little cross eyed, that's the time to get your hands on code"/>
      </outline>
      <outline text="Take notes">
        <outline text="Check your own assumptions as you go"/>
        <outline text="Help build on what you understand along the way"/>
        <outline text="Can make questions you need to ask, answer obvious"/>
        <outline text="Good reference after the fact as you are practicing to achieve mastery"/>
        <outline text="If you use the skill intermittently, helps to refresh as needed"/>
      </outline>
      <outline text="Careful about over using new tools, skills">
        <outline text="Similar to golden hammer"/>
        <outline text="Newness of skill may encourage overuse"/>
        <outline text="Try to err on the side of being conservative"/>
        <outline text="No matter how much you like the new skill, old one is still easier to quantify"/>
        <outline text="For professional work, this is critical to keep cost of maintenance, risk down"/>
        <outline text="Try to evaluate what the new skill, tech does better than existing"/>
        <outline text="This needs to outweigh the risk of using something new, its own inherent risks"/>
        <outline text="Seen this over and over with XML, in particular">
          <outline text="XML is human and machine readable"/>
          <outline text="Very verbose, though, not useful in memory, space constraint applications"/>
          <outline text="Is further removed from compiled, behavioral code, may add complexity"/>
          <outline text="In particular, some of the deployment config uses I have seen violate locality of reference"/>
          <outline text="Code annotations, by comparison, local to code"/>
          <outline text="Same language, same domain"/>
          <outline text="No absolutely correct answer, just need to do best to weigh trade offs"/>
        </outline>
      </outline>
      <outline text="Key to building an attractive resume">
        <outline text="The skills themselves have value"/>
        <outline text="Being able to explain in the resume the speed, thoroughness of learning even better"/>
        <outline text="Technology rarely stays still"/>
        <outline text="Not necessarily realistic to expect the skills your start with will always be enough"/>
        <outline text="Some of this is artificial">
          <outline text="Shiny new thing syndrome"/>
          <outline text="New must be better, sometimes vendors capitalize on this"/>
          <outline text="Proof is in the pudding, try to use as objective arguments as possible to dissuade clueless managers"/>
        </outline>
        <outline text="There have indeed been genuine innovations that beg learning">
          <outline text="Hard to tell at the time"/>
          <outline text="Trust your instincts and be skeptical"/>
          <outline text="If you can get by just as well with what you have, then isn't a truly new thing, need"/>
        </outline>
      </outline>
      <outline text="Learning can be its own reward">
        <outline text="Going from zero knowledge to a working implementation"/>
        <outline text="Immensely satisfying"/>
        <outline text="A very common characteristic of hackers"/>
        <outline text="Fun to share your knowledge, helps cement understanding"/>
        <outline text="Enjoyable to be an expert, be the answer guy"/>
        <outline text="Don't be shy to share, though"/>
        <outline text="Those who can teach are more valuable than those that can just learn"/>
      </outline>
    </outline>
    <outline text="Outro" Offset="32:34">
      <outline text="Contact me">
        <outline text="Email to feedback@thecommandline.net"/>
        <outline text="Web site at http://thecommandline.net/"/>
        <outline text="IM to command.line@skype"/>
        <outline text="Listener comment line is 240-949-2638"/>
        <outline text="del.icio.us tag is &quot;for:cmdln&quot;"/>
        <outline text="http://twitter.com/cmdln"/>
      </outline>
      <outline text="I'd like to thank libsyn.com for AAC hosting and Wouter de Bie for MP3 hosting"/>
      <outline text="These notes and the show audio and music are covered by a Creative Commons license">
        <outline text="http://creativecommons.org/licenses/by-nc-sa/3.0/us/"/>
        <outline text="Attribution, non-commercial, share alike"/>
      </outline>
    </outline>
  </body>
</opml>
