<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
  <head>
    <title>cmdln.net_2008-06-18</title>
    <expansionState>0,2,3,10,12,14,16,17,22,29,33,40,58,69,82,95,106,116,129,130,138</expansionState>
  </head>
  <body>
    <outline text="Intro" Offset="00:17">
      <outline text="3rd anniversary"/>
    </outline>
    <outline text="Listener Feedback" Offset="01:46">
      <outline text="CA on BrightKite">
        <outline text="Good to see a service that gets at least a minimal structure to relationships"/>
        <outline text="I think this may be more risk driven"/>
        <outline text="It makes a bit more sense that way"/>
        <outline text="There doesn't seem to be the same pressure on messaging"/>
        <outline text="Other than the awkward moments that arise"/>
        <outline text="Or the decision to block or not share"/>
      </outline>
      <outline text="Paul with correction on white spaces">
        <outline text="http://thecommandline.net/2008/06/15/news_144/#comment-431"/>
      </outline>
      <outline text="Paul with anecdote about unintended uses">
        <outline text="http://thecommandline.net/2008/06/11/unintended_uses/#comment-430"/>
      </outline>
    </outline>
    <outline text="Word of the Week: deep magic" Offset="09:10">
      <outline text="http://catb.org/jargon/html/D/deep-magic.html"/>
    </outline>
    <outline text="Inner Chapter: Hacker Work Ethic" Offset="10:12">
      <outline text="Hacker ethic">
        <outline text="http://en.wikipedia.org/wiki/Hacker_ethic"/>
        <outline text="Reference's Levy's Hackers and Himanen's The Hacker Ethic"/>
        <outline text="Plan to read both, will discuss when I do"/>
        <outline text="Speaks more to what hackers, by and large, consider right"/>
        <outline text="Quickly">
          <outline text="Sharing"/>
          <outline text="Openness"/>
          <outline text="Decentralization or distribution authority, effort"/>
          <outline text="Free access to computers"/>
          <outline text="Some form of improvement, personal or societal"/>
          <outline text="Do it yourself and recognition of technical accomplishment, merit"/>
        </outline>
      </outline>
      <outline text="Want to talk about work ethic, though">
        <outline text="More directly informs practice of hacking"/>
        <outline text="Think there is some overlap"/>
        <outline text="In particular in the effort to be recognized for work, doing for yourself"/>
        <outline text="Himanen's work actually informs this more">
          <outline text="Passion"/>
          <outline text="Hard work"/>
          <outline text="Creativity"/>
          <outline text="Joy in creating"/>
        </outline>
        <outline text="Emphasis is on value of character rather than ethics as rules and consequences"/>
        <outline text="I think it can be simplified to some more applicable thoughts"/>
      </outline>
      <outline text="If you want to create it, do it just for the joy of it">
        <outline text="Who cares if there are dozens of programs that do the same thing"/>
        <outline text="Hacking is about learning by doing"/>
        <outline text="If you haven't written that sort of program but want to learn from it, do it"/>
        <outline text="No one says you have to publish or share your program"/>
        <outline text="If you do decide to share, you may find your approach is different enough"/>
        <outline text="You may also re-work your code as a contribution to a similar project"/>
        <outline text="If you have more experience with a whole program, can make submitting a patch easier"/>
        <outline text="May lead you to more specific questions for development lists"/>
        <outline text="Why the designers, coders on an existing project did what they did"/>
        <outline text="Will certainly equip you to better understand the answers"/>
        <outline text="If there really are dozens of programs like yours, temper yourself, expectations"/>
        <outline text="Others may see your effort as wasted, can be discouraging"/>
        <outline text="Keep strongly in mind why you did it, especially if it was just to learn or for fun"/>
        <outline text="Have had a couple of candidates in interviews miss this point"/>
        <outline text="Super enthusiastic about writing their own &quot;yet another&quot; program"/>
        <outline text="If they say they did it not expecting anyone to use, just to understand, good answer"/>
        <outline text="If they really expect to compete with Apache or Vim or Lint, not so much"/>
      </outline>
      <outline text="If its is missing, write it yourself">
        <outline text="When you need some bit of software and have trouble finding it"/>
        <outline text="Nothing says you cannot fill your own need"/>
        <outline text="This is easier for simpler needs"/>
        <outline text="May not be undertaken as lightly for larger needs"/>
        <outline text="For example, writing a quick and dirty file parser"/>
        <outline text="Versus a multiple user, large scale server"/>
        <outline text="Make sure you've exhausted reasonable venues"/>
        <outline text="Search engines, common software sites like SourceForge"/>
        <outline text="Don't reinvent the wheel unless you have to"/>
        <outline text="Be sure that a close match cannot be adopted, find counter examples, deal breakers"/>
      </outline>
      <outline text="If its broken, fix it yourself">
        <outline text="If you find a bug on an open or free project, you have the sources"/>
        <outline text="You have permission to change the sources"/>
        <outline text="Understand the license, so you know your obligations if you change them"/>
        <outline text="There is no real reason you can't fix a bug"/>
        <outline text="All software is built of the same pieces at the lowest levels"/>
        <outline text="Only limitation is time"/>
        <outline text="Even knowledge can be thought of as the time needed to understand"/>
        <outline text="If your patch is not accepted, still worth the effort"/>
        <outline text="Projects very on how active they are"/>
        <outline text="A lively own may respond quickly to your bug report"/>
        <outline text="Less so ones may never fix your bug"/>
        <outline text="A simple or single bug shouldn't prevent you form using otherwise good software"/>
      </outline>
      <outline text="If you started it, finish it">
        <outline text="This is easy when building software for pay"/>
        <outline text="Without an expectation of releasing or publishing, may be tempting to stop halfway through"/>
        <outline text="Others will value your efforts more if most of them are finished"/>
        <outline text="A resume or project list full of unfinished work doesn't recommend you, to a community or an employer"/>
        <outline text="Occasionally there are valid reasons for not finishing"/>
        <outline text="Unforeseen interrupts, like real life problems or changes"/>
        <outline text="Changing over to contribute to an existing project"/>
        <outline text="Continuity of effort can be just as good"/>
        <outline text="Abandoned your own effort but transfer knowledge, skills, contribution to similar project"/>
        <outline text="I've seen many published, but open or free, projects unfinished"/>
        <outline text="If you are on the only contributor, may want to factor in scale, time involved"/>
        <outline text="Same concerns when deciding to write to fill a gap"/>
      </outline>
      <outline text="Emphasis with all of these is on you, doing on your own">
        <outline text="Self sufficiency is good"/>
        <outline text="Have to be careful not to develop blinders"/>
        <outline text="Good code is also developed by groups"/>
        <outline text="Even sole contributors often build on what has come before"/>
        <outline text="Too much focus on your own efforts can bias you against the work of others"/>
        <outline text="Re-inventing the wheel"/>
        <outline text="Writing code when there is something serviceable already"/>
        <outline text="Not invented here"/>
        <outline text="Discounting code for reasons other than its technical merit"/>
        <outline text="The language choice, coding style or even personality of the author"/>
      </outline>
      <outline text="I've seen less emphasis on coordinating groups">
        <outline text="Functions of traditional project management"/>
        <outline text="That should not be so"/>
        <outline text="Usually when we see it, it is for a &quot;benevolent dictator&quot;, like Linus Torvalds"/>
        <outline text="Critical for larger projects"/>
        <outline text="Most popular, useful programs are of considerable scale"/>
        <outline text="Linux itself, most of the internet servers, desktop environments, distributions"/>
        <outline text="Probably seen as necessary evil"/>
        <outline text="Is not code related, hard to quantify in terms of hard benefit"/>
        <outline text="Direct project contributors are more likely to appreciate than users, occasional contributors"/>
      </outline>
      <outline text="Share what you've created">
        <outline text="You don't always have to but better if you did"/>
        <outline text="Can receive input, suggestions"/>
        <outline text="Can earn a reputation based on your actual work"/>
        <outline text="Can share in different ways"/>
        <outline text="Can and should use supplemental documents, code comments to clarify why you are sharing"/>
        <outline text="Nothing worse than someone mistaking sample code for production ready"/>
        <outline text="Source code is the obvious choice"/>
        <outline text="Not all source code needs to be released with the intent to use"/>
        <outline text="Can often publish sources more as forms of examples"/>
        <outline text="What you can do"/>
        <outline text="How to solve particular coding problems"/>
        <outline text="Just to highlight a particular creative bit of coding"/>
      </outline>
    </outline>
    <outline text="Outro" Offset="32:29">
      <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>
