<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
   <channel>
      <title>Making Light :: The root of all evil :: comments</title>
      <link>http://nielsenhayden.com/makinglight/archives/009755.html#comments </link>
      <description>Language, fraud, folly, truth, history, and knitting. Et cetera.</description>
      <language>en</language>
      <lastBuildDate>Wed, 02 Jan 2008 09:34:21 -0500</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=3.33</generator>
      
      <item>
      <title>The root of all evil</title>
      <description>It was through one of O&amp;#8217;Reilly&amp;#8217;s books on perl (camel or llama, I&amp;#8217;m not sure which) that I first encountered...</description>
      <content:encoded>It was through one of O&#8217;Reilly&#8217;s books on perl (camel or llama, I&#8217;m not sure which) that I first encountered...</content:encoded>
      <link>http://nielsenhayden.com/makinglight/archives/009755.html</link>
      </item>

                  <item>
         <title>The root of all evil -- comment #1 from Dave Kuzminski</title>
         <description>comment from Dave Kuzminski on 27.Dec.07</description>
         <content:encoded><p>Guilty. ;)</p>
	 <p>Posted December 27, 2007 10:36 PM by Dave Kuzminski</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238607</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238607</guid>
         <pubDate>Thu, 27 Dec 2007 22:36:18 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #2 from Kevin Riggle</title>
         <description>comment from Kevin Riggle on 27.Dec.07</description>
         <content:encoded><p>The only reference on Peter Binsfeld's Wikipedia page is to a book published by iUniverse -- not what I'd consider a trustworthy source.  (Insert rant about printed references here.)</p>
	 <p>Posted December 27, 2007 10:56 PM by Kevin Riggle</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238610</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238610</guid>
         <pubDate>Thu, 27 Dec 2007 22:56:41 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #3 from Avram</title>
         <description>comment from Avram on 27.Dec.07</description>
         <content:encoded><p>Kevin, the Belphegor page cites a 1999 edition of <i>Merriam-Webster's Encyclopedia of World Religions</i>. </p>
	 <p>Posted December 27, 2007 11:01 PM by Avram</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238611</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238611</guid>
         <pubDate>Thu, 27 Dec 2007 23:01:55 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #4 from James D. Macdonald</title>
         <description>comment from James D. Macdonald on 27.Dec.07</description>
         <content:encoded><p>One day came walking in the door<br />
A creature named Baphalmagor.<br />
It brought a book called <i>Ninety-two<br />
Entirely Wicked Things To Do.</i></p>

<p>-- Amphigory Too</p>
	 <p>Posted December 27, 2007 11:15 PM by James D. Macdonald</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238613</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238613</guid>
         <pubDate>Thu, 27 Dec 2007 23:15:12 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #5 from Michael Turyn</title>
         <description>comment from Michael Turyn on 28.Dec.07</description>
         <content:encoded><p>I'm not surprised that things that make life better (to my eyes) are deemed rooted in sin.  There is a strain in religion that holds that we deserve all the pain we suffer and that to attempt to escape it is sinful (see: cures for V.D.s).  </p>

<p>The ability to say otherwise is strongly connected  to the ability to treat our bodies and environment as matter that can be manipulated into something not quite what it was before, as opposed to shadows of some ideal or special creations each with an inbuilt telos that defines and limits its possibile state.</p>

<p>A long-winded way of saying, "Without God, all things are possible," or even "Everything possible to occur is permitted to occur, no thing has a true form," to severely paraphrase Hassan i'Sabbah's grandson.</p>

<p>Another virtuous sinP:<br />
Is insomnia a sin?  In the case of coding, it <br />
might be construed as a misuse of sleeplessness more fitted to vigils, or contemplation of one's sins, or of the destruction of the Temple.</p>

<p>("Why is the sky blue, Daddy?"/"Because you've been bad.")</p>

<p>I have written both my best and worst code in the middle of the night, things that made me later think "This is better than my stuff," and things that made me say, "Who wrote this and how could it possibly work?"  Sometimes the only difference between the two is adequate documentation in comments and variable/field/method names.</p>

<p>(Tonight, unfortunately, I'm not coding; our router started severly misbehaving and the resultant dyspepsia has kept me awake long past my eventual fix, which was as usual, reset to factory defaults...all this the result of trying to convince Norton that a VPN client is not a worm.)</p>
	 <p>Posted December 28, 2007  6:28 AM by Michael Turyn</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238646</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238646</guid>
         <pubDate>Fri, 28 Dec 2007 06:28:24 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #6 from Charlie Stross</title>
         <description>comment from Charlie Stross on 28.Dec.07</description>
         <content:encoded><p>It's absolutely no surprise that Larry Wall would take his inspiration from such sources -- after all, he originally trained as a missionary, before getting side-tracked into JPL and writing software. </p>

<p>One of the books I <em>really</em> want to get signed one of these days (but am not likely to) is my bog-eared, battered, copy of "Programming Perl". First edition, first printing, bought new, and it earned me a living for more years than I care to think about.</p>
	 <p>Posted December 28, 2007  6:40 AM by Charlie Stross</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238648</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238648</guid>
         <pubDate>Fri, 28 Dec 2007 06:40:32 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #7 from Chaz Brenchley</title>
         <description>comment from Chaz Brenchley on 28.Dec.07</description>
         <content:encoded><p>The man who taught me letterpress printing when I was a kidling used to say "It's the lazy man who takes the most trouble." Took me years to understand him, but yes. Belphegor.</p>
	 <p>Posted December 28, 2007  7:00 AM by Chaz Brenchley</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238649</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238649</guid>
         <pubDate>Fri, 28 Dec 2007 07:00:58 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #8 from Linda Lindsey</title>
         <description>comment from Linda Lindsey on 28.Dec.07</description>
         <content:encoded><p>And on Saturdays, he masquerades as the patron saint of efficiency.</p>
	 <p>Posted December 28, 2007  7:34 AM by Linda Lindsey</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238653</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238653</guid>
         <pubDate>Fri, 28 Dec 2007 07:34:02 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #9 from Lance Weber</title>
         <description>comment from Lance Weber on 28.Dec.07</description>
         <content:encoded><p>Is that why we call them daemon processes? :)</p>

<p>All of my temp threads are going to be named 'belph' from now on. And yes, I'm one of those programmers who names his buffers 'buffy'...<br />
</p>
	 <p>Posted December 28, 2007  8:59 AM by Lance Weber</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238660</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238660</guid>
         <pubDate>Fri, 28 Dec 2007 08:59:24 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #10 from MattF</title>
         <description>comment from MattF on 28.Dec.07</description>
         <content:encoded><p>Note also the sense in which 'Sloth' is <a href="http://en.wikipedia.org/wiki/Sloth_(deadly_sin)" rel="nofollow">Insufficient Enthusiasm</a>. </p>
	 <p>Posted December 28, 2007  9:32 AM by MattF</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238662</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238662</guid>
         <pubDate>Fri, 28 Dec 2007 09:32:56 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #11 from Bruce Cohen (SpeakerToManagers)</title>
         <description>comment from Bruce Cohen (SpeakerToManagers) on 28.Dec.07</description>
         <content:encoded><p><b>Michael Turyn @ 5</b><br />
<i>Sometimes the only difference between the two is adequate documentation in comments and variable/field/method names.</i></p>

<p>Programming has taught me that Platonism is flat wrong: names matter immensely, but only to the programmer*; the program doesn't care.</p>

<p>* and hir successor, who has to maintain the code.</p>
	 <p>Posted December 28, 2007  9:47 AM by Bruce Cohen (SpeakerToManagers)</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238666</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238666</guid>
         <pubDate>Fri, 28 Dec 2007 09:47:14 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #12 from Bruce Cohen (SpeakerToManagers)</title>
         <description>comment from Bruce Cohen (SpeakerToManagers) on 28.Dec.07</description>
         <content:encoded><p><b>Lance Weber @ 9 </b></p>

<p>I think we ought to start calling some of them phoenix processes, the ones that are coded to start again when killed.</p>
	 <p>Posted December 28, 2007 10:06 AM by Bruce Cohen (SpeakerToManagers)</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238672</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238672</guid>
         <pubDate>Fri, 28 Dec 2007 10:06:36 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #13 from Schadenjoy</title>
         <description>comment from Schadenjoy on 28.Dec.07</description>
         <content:encoded><p>My dad: "To find the most efficient way to do a task, give it to a lazy man"</p>
	 <p>Posted December 28, 2007 10:07 AM by Schadenjoy</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238673</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238673</guid>
         <pubDate>Fri, 28 Dec 2007 10:07:20 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #14 from rea</title>
         <description>comment from rea on 28.Dec.07</description>
         <content:encoded><p>Wasn't Belphegor also the Curse of Rondoval?  I leave it to more erudite Zelazny fans than me to asnwer this question . . .</p>
	 <p>Posted December 28, 2007 10:23 AM by rea</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238676</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238676</guid>
         <pubDate>Fri, 28 Dec 2007 10:23:12 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #15 from albatross</title>
         <description>comment from albatross on 28.Dec.07</description>
         <content:encoded><p>I've seen this idea bounced around before, though I'm not sure where.  I think one of Harry Browne's books (_How I Found Freedom in an Unfree World_) discussed how traditionally "bad" emotions/drives like fear, greed, and sloth mostly led you to do very sensible things like avoid danger, save back some money for rainy days, and find labor-saving ways of doing things.  And of course, there's the story of the Man Who Was Too Lazy to Fail in Heinlein's _Time Enough For Love_.  But my favorite variation of this idea is from Shaw:</p>

<p><em> Reasonable men adapt themselves to their environment; unreasonable men try to adapt their environment to themselves. Thus all progress is the result of the efforts of unreasonable men.</em></p>
	 <p>Posted December 28, 2007 10:34 AM by albatross</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238678</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238678</guid>
         <pubDate>Fri, 28 Dec 2007 10:34:18 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #16 from Lee</title>
         <description>comment from Lee on 28.Dec.07</description>
         <content:encoded><p>Michael, #5: WRT cures for VD being "sinful", this generally only holds true when the victim is female -- witness the current fuss about the HPV vaccine. I've never heard anyone argue that syphilis or gonorrhea treatments shouldn't be available for men. (Which doesn't mean it doesn't happen, only that I have no examples ready to hand.) <br />
</p>
	 <p>Posted December 28, 2007 10:34 AM by Lee</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238679</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238679</guid>
         <pubDate>Fri, 28 Dec 2007 10:34:41 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #17 from xeger</title>
         <description>comment from xeger on 28.Dec.07</description>
         <content:encoded><p>Schadenjoy @ 13 ...<br />
<i>My dad: "To find the most efficient way to do a task, give it to a lazy man"</i></p>

<p>Alternately - "A lazy man will spend more effort spending less effort than a smart man"</p>
	 <p>Posted December 28, 2007 10:35 AM by xeger</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238680</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238680</guid>
         <pubDate>Fri, 28 Dec 2007 10:35:23 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #18 from Steve B</title>
         <description>comment from Steve B on 28.Dec.07</description>
         <content:encoded><p>Belphegor was obviously the demonic influence behind "The Tale of the Man Who Was Too Lazy to Fail" in Heinlein's _Time Enough For Love_.</p>
	 <p>Posted December 28, 2007 10:38 AM by Steve B</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238681</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238681</guid>
         <pubDate>Fri, 28 Dec 2007 10:38:28 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #19 from Dave Langford</title>
         <description>comment from Dave Langford on 28.Dec.07</description>
         <content:encoded><p>#14: the Curse of Rondoval is called Belphanior.</p>

<p>Let me also mention R.A. Lafferty and "Eurema's Dam".</p>
	 <p>Posted December 28, 2007 10:49 AM by Dave Langford</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238684</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238684</guid>
         <pubDate>Fri, 28 Dec 2007 10:49:44 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #20 from Xopher</title>
         <description>comment from Xopher on 28.Dec.07</description>
         <content:encoded><p>Many years ago, in a previous life in which I was a programmer (using dBase II, III, IV, later what is now called "Old C," and many other abominations and things of beauty), I opined that the best philosophy for a programmer was "enlightened laziness."  That is, the ability to think long term about the amount of work one would do.</p>

<p>I remember having this conversation with a classmate back in Fortran IV class:</p>

<p>Him: How long did it take you to write the [homework assignment] program?<br />
Me: Oh, I spent about six hours on it.<br />
Him: Ha!  I wrote it in half an hour.<br />
Me: Good for you.  How many tries did it take you to get it to work?<br />
Him: <i>(confused)</i> I haven't gotten it to work yet.<br />
Me: Mine worked on the second try.</p>

<p>At that point he'd spent more than twice as much time working on the program that he'd "written" so quickly.  </p>

<p>Unfortunately I adhere to the same practice in writing fiction, where it's MUCH less effective.  :-(</p>
	 <p>Posted December 28, 2007 10:54 AM by Xopher</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238686</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238686</guid>
         <pubDate>Fri, 28 Dec 2007 10:54:40 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #21 from Joel Polowin</title>
         <description>comment from Joel Polowin on 28.Dec.07</description>
         <content:encoded><p>There's a quotation I've been trying to track down for some time; perhaps the local group mind can point me in the right direction.  A military leader comments to the effect that:</p>

<p>"We have four kinds of men in our army.  A few are smart and energetic -- we make them the generals, the leaders.  Some are smart and lazy; we make them the sergeants.  They'll figure out the way to get something done as efficiently as possible, to minimize the work.  Then we've got the dumb, lazy ones; they're our regular soldiers.  Finally, we've got the ones who are stupid and energetic.  We try to shoot them before they cause too much damage."<br />
</p>
	 <p>Posted December 28, 2007 11:17 AM by Joel Polowin</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238688</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238688</guid>
         <pubDate>Fri, 28 Dec 2007 11:17:30 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #22 from Adrian Smith</title>
         <description>comment from Adrian Smith on 28.Dec.07</description>
         <content:encoded><p><a href="http://en.wikiquote.org/wiki/Erwin_Rommel" rel="nofollow">Rommel</a>, sounds like, though it seems to have mutated a bit.</p>
	 <p>Posted December 28, 2007 11:29 AM by Adrian Smith</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238689</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238689</guid>
         <pubDate>Fri, 28 Dec 2007 11:29:08 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #23 from Joel Polowin</title>
         <description>comment from Joel Polowin on 28.Dec.07</description>
         <content:encoded><p>That looks about right (though nobody on the various sites with the quotation seems to be able to provide a source for the attribution).  Thanks.<br />
</p>
	 <p>Posted December 28, 2007 12:08 PM by Joel Polowin</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238703</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238703</guid>
         <pubDate>Fri, 28 Dec 2007 12:08:49 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #24 from Tim Pratt</title>
         <description>comment from Tim Pratt on 28.Dec.07</description>
         <content:encoded><p>I can't remember where I first read about Belphegor -- Davidson's Dictionary of Angels maybe? I've always liked him, though, and he appeared in a couple of my early fantasy stories as an idiot savant inventor-demon. Great name, too. </p>
	 <p>Posted December 28, 2007 12:10 PM by Tim Pratt</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238705</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238705</guid>
         <pubDate>Fri, 28 Dec 2007 12:10:44 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #25 from Michael Turyn</title>
         <description>comment from Michael Turyn on 28.Dec.07</description>
         <content:encoded><p>Bruce Cohen (...)::5</p>

<p>Actually, names can matter:  I'm sure there are a lot of stories like the one I heard about hacking up a hand-held, speech-enabled, game in the early '90s or late '80s for a demo, fitting all the BASIC into 64k...they had to make a frequency table for their variables and assign them names: a,b,...,z,aa.... u.s.w..  I've always assumed that opitmising compilers might do the same, e.g. for the RAM-shy phones with which I contend these days.</p>

<p>The best way I've found to make sure that your code is comprehensible to its next maintainer is to remember that it might well be _me_.</p>

<p>Lee::16<br />
I'm pretty sure I've heard of objections to VD cures for both sexes; I hadn't wanted to bring up the resistance to anaesthesia for child-birth because I didn't want to spawn a discussion (or, worse yet, a "discussion") of natural versus inorganic child-birth...we might end up mired in that maze, la?</p>

<p>The HPV vaccination resistance has at least one foot _firmly_ in the abstinence movement:  I've at least once heard a recording of an abstinence proponent (chastitease?) triumphantly dragging out the incurability and unpreventability of HPV for a trump card.  (The other foot is in resistance to giant government programmes in general, or giant government-subsidised drug trials more specifically; I have mixed feelings, but my guess is that I'll jump at the chance to try the American Teleomerase Hack early on no matter who's paying---getting older isn't bad, but greater infirmity is, and we were in no way "meant" to suffer it despite what some religious figures have said [bringing us back to the original thread-topic].)</p>
	 <p>Posted December 28, 2007  1:00 PM by Michael Turyn</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238716</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238716</guid>
         <pubDate>Fri, 28 Dec 2007 13:00:43 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #26 from Steve Downey</title>
         <description>comment from Steve Downey on 28.Dec.07</description>
         <content:encoded><p>SpeakerToManagers @ 11 - "Always code as if the person who will maintain your code is a violent psychopath who knows where you live"</p>

<p>& @12 - There's a technique in C++ known as the Phoenix Singleton, where the singleton will rise from the ashes if it is referenced after having been destroyed. Unfortunately it can also produce an anti-deadlock as two singletons Alphonse & Gaston each other. </p>
	 <p>Posted December 28, 2007  1:58 PM by Steve Downey</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238732</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238732</guid>
         <pubDate>Fri, 28 Dec 2007 13:58:53 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #27 from Steve Downey</title>
         <description>comment from Steve Downey on 28.Dec.07</description>
         <content:encoded><p>Kevin Riggle @ 2 <br />
There's a footnote in a document hosted at the Hanover Historical Texts project (<a>http://history.hanover.edu/texts/trier.html</a>)</p>

<p>[6] Binsfeld, suffragan bishop and real head of ecclesiastical affairs in the diocese, was doubtless the prime mover in the punishment of Loos. He had himself written a book, De confessionibus maleficorum et sagarum (Trier, 1589), to prove that the confessions of witches were worthy of all faith.</p>

<p>Most of the references I've found online are a bit more dubious, and largely self-referential. </p>
	 <p>Posted December 28, 2007  2:04 PM by Steve Downey</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238734</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238734</guid>
         <pubDate>Fri, 28 Dec 2007 14:04:55 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #28 from Network Geek</title>
         <description>comment from Network Geek on 28.Dec.07</description>
         <content:encoded><p>@13: Schadenjoy, my father told me the same thing, just after I graduated from college and got a job.  I wish I'd known that while dealing with projects *in* college!</p>

<p>@15: Albatross, thank you for that Shaw quote!  I'm adding it to my sig rotation!!</p>
	 <p>Posted December 28, 2007  4:58 PM by Network Geek</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238779</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238779</guid>
         <pubDate>Fri, 28 Dec 2007 16:58:41 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #29 from Seth Breidbart</title>
         <description>comment from Seth Breidbart on 28.Dec.07</description>
         <content:encoded><p>Steve #26, the way I've used the first is "Document your code as if it will be maintained by a homicidal maniac who knows where you live BECAUSE I DO."</p>

<p>My standard used to be "Document your code as if, two years after the last time you thought about it, you'll need to update it because the world changed out from under it."  I was wrong; it was five years.</p>
	 <p>Posted December 28, 2007  6:08 PM by Seth Breidbart</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238793</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238793</guid>
         <pubDate>Fri, 28 Dec 2007 18:08:22 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #30 from Bruce Cohen (SpeakerToManagers)</title>
         <description>comment from Bruce Cohen (SpeakerToManagers) on 28.Dec.07</description>
         <content:encoded><p><b>Lee @ 16</b></p>

<p>I think Michael was referring to the nature of the cure being a penance for the sin committed in getting the disease.  For instance, ISTR that at one time the 'cure' for syphillis (or maybe it was gonhorrea) in males consisted of running a stiff brush up the urethra.  Now this sounds incredibly painful to me, but not particularly effective in any medical sense.  So the discomfort may have been the main intent.</p>
	 <p>Posted December 28, 2007  6:32 PM by Bruce Cohen (SpeakerToManagers)</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238800</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238800</guid>
         <pubDate>Fri, 28 Dec 2007 18:32:05 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #31 from Lee</title>
         <description>comment from Lee on 28.Dec.07</description>
         <content:encoded><p>Michael, #25: Anesthesia during childbirth is a much better argument, because the resistance to that <i>was</i> absolutely based on one particular phrase in the Bible. It took Queen Victoria's accouchement to make the easing of labor pains socially acceptable. </p>

<p>WRT the <i>soi-disant</i> "abstinence movement", you will notice that, despite a certain amount of lip-service in the direction of gender equality, it is in practice ALL directed specifically at women. Men are equally subject to HPV (in fact, many properly-chaste women get it from their not-so-chaste husbands!), but they're only screaming about the vaccine being given to girls. What they're really saying here is, "I'd rather see my daughter <i>dead of cervical cancer</i> than have her be sexually active in ways I don't approve." </p>
	 <p>Posted December 28, 2007  6:37 PM by Lee</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238801</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238801</guid>
         <pubDate>Fri, 28 Dec 2007 18:37:11 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #32 from Bruce Cohen (SpeakerToManagers)</title>
         <description>comment from Bruce Cohen (SpeakerToManagers) on 28.Dec.07</description>
         <content:encoded><p><b>Lee @ 31</b></p>

<p>I suspect the abstinence motivation is yet more hypocritical than that: "I'd rather see my daughter dead of cervical cancer than for it to be publicly known that she is sexually active in ways others won't approve."</p>
	 <p>Posted December 28, 2007  6:40 PM by Bruce Cohen (SpeakerToManagers)</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238802</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238802</guid>
         <pubDate>Fri, 28 Dec 2007 18:40:47 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #33 from abi</title>
         <description>comment from abi on 28.Dec.07</description>
         <content:encoded><p><strong>Lee @31:</strong> <br />
<em>It took Queen Victoria's accouchement to make the easing of labor pains socially acceptable.</em></p>

<p>So it did; she asked Edinburgh physician James Young Simpson&dagger; to administer ether.</p>

<p>He had been experimenting with various gases to induce unconsciousness, and had a most peculiar way of testing them.  He would try them out on his dinner guests.  When, after breathing ether and passing out, they all came round some time later, he knew he had a winner.</p>

<p>My elder child was born in the Simpson Maternity Pavilion at the old Royal Infirmary in Edinburgh*.  My younger was born in the new Royal, where the maternity ward was not intended to have a name.  After enormous outcry from all levels of Edinburgh society, it was named the New Simpson.</p>

<p>-----<br />
&dagger; Simpson was going to be a lawyer when he entered Edinburgh University, but became fascinated by medicine after attending dissections by Dr Robert Knox.  Knox was later famous for buying corpses from Burke and Hare, no questions asked (in the absence of other suitable candidates for dissection)</p>

<p>* My husband was also born in the old Simpson.  On coming to visit, my mother in law's comment was, "Huh.  They haven't redecorated, I see."</p>
	 <p>Posted December 28, 2007  6:56 PM by abi</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238806</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238806</guid>
         <pubDate>Fri, 28 Dec 2007 18:56:46 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #34 from protected static</title>
         <description>comment from protected static on 28.Dec.07</description>
         <content:encoded><p>Joel @ 21 --</p>

<p>I've found a variant attributed to <a href="http://books.google.com/books?id=6hZ61QJoLDQC&pg=PA104&lpg=PA104&dq=four+kinds+of+generals+smart+but+lazy&source=web&ots=tt7KcC71BO&sig=wUtkq73BxY7Ob5t5bJ-1Dek82-U" rel="nofollow">Schlieffen</a>. *shrug* Dunno. I seem to recall it being attributed to an American Civil War leader, too...</p>

<p>(Oh, and to return to the thread, I'd like to enter a plea of no contest to the charge of programming while consorting with Belphegor.)</p>
	 <p>Posted December 28, 2007  7:14 PM by protected static</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238811</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238811</guid>
         <pubDate>Fri, 28 Dec 2007 19:14:09 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #35 from Bob Oldendorf</title>
         <description>comment from Bob Oldendorf on 28.Dec.07</description>
         <content:encoded><p>#21, #22, #34: And <i><b>I</b></i> heard it attributed to Field Marshall Kurt von Hammerstein-Equord:</p>

<p> <blockquote><i>"I divide officers into four classes -- the clever, the lazy, the stupid and the industrious. Each officer possesses at least two of these qualities. Those who are clever and industrious are fitted for the high staff appointments. Use can be made of those who are stupid and lazy. The man who is clever and lazy is fit for the very highest commands. He has the temperament and the requisite nerves to deal with all situations. But whoever is stupid and industrious must be removed immediately." </i><br />
</blockquote></p>
	 <p>Posted December 28, 2007  8:06 PM by Bob Oldendorf</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238816</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238816</guid>
         <pubDate>Fri, 28 Dec 2007 20:06:54 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #36 from P J Evans</title>
         <description>comment from P J Evans on 28.Dec.07</description>
         <content:encoded><p>My theory tended to be 'let the computer (or gravity, depending) do the work.'</p>

<p>May I also plead no contest?</p>
	 <p>Posted December 28, 2007  9:07 PM by P J Evans</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238819</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238819</guid>
         <pubDate>Fri, 28 Dec 2007 21:07:26 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #37 from CHip</title>
         <description>comment from CHip on 28.Dec.07</description>
         <content:encoded><p>Turyn@25: I saw that; don't think you're going to get away with a bit of coaching or panting.</p>
	 <p>Posted December 28, 2007  9:28 PM by CHip</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238822</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238822</guid>
         <pubDate>Fri, 28 Dec 2007 21:28:49 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #38 from heresiarch</title>
         <description>comment from heresiarch on 28.Dec.07</description>
         <content:encoded><p>If you give a man a fish, you feed him for a day. If you teach him to fish, you feed him for a life-time. If you teach him to teach others to fish, you feed a nation. If you teach him to teach himself whatever he needs to know, then you can go and enjoy the beach somewhere nice.</p>
	 <p>Posted December 28, 2007  9:47 PM by heresiarch</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238826</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238826</guid>
         <pubDate>Fri, 28 Dec 2007 21:47:55 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #39 from Rob Rusick</title>
         <description>comment from Rob Rusick on 28.Dec.07</description>
         <content:encoded><p>abi @33: Re: James Young Simpson. How did he deal with the dinner guests who never recovered consciousness? Aside from never inviting them again...</p>
	 <p>Posted December 28, 2007  9:57 PM by Rob Rusick</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238828</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238828</guid>
         <pubDate>Fri, 28 Dec 2007 21:57:47 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #40 from Michael Turyn</title>
         <description>comment from Michael Turyn on 28.Dec.07</description>
         <content:encoded><p>A low-powered search using Google, Inc.'s page produced this on Canadian Amazon (my U.S. Amazon login worked for it):<br />
http://www.amazon.ca/No-Magic-Bullet-History-Venereal/dp/0195042379<br />
...in which there seems to be dismissive reference by reformers to the idea of V.D. as divine punishment, so it is possible that the sentiment actually was abroad or that they were constructing a straw-man.</p>

<p>Another reference further down<br />
   http://tinyurl.com/yw6tm3<br />
mentions the idea of V.D. as a punishment for the destruction of the proper social order, seemingly the particular face of a General Judgement.</p>

<p>I am also surely reflecting my suspicion of what I see as rampant they-got-what-they-deserved-ism in our culture from way back; I think the suspicion is well grounded, but it 's not the same as evidence.</p>
	 <p>Posted December 28, 2007 10:11 PM by Michael Turyn</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238830</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238830</guid>
         <pubDate>Fri, 28 Dec 2007 22:11:00 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #41 from Henry Troup</title>
         <description>comment from Henry Troup on 28.Dec.07</description>
         <content:encoded><p>#38 - if you teach him to fish, you'll need an entire government department to license and regulate his fishing.  Most likely both provincial and national departments, even.</p>

<p>(Not enough lazy people in most governments!)</p>
	 <p>Posted December 28, 2007 10:17 PM by Henry Troup</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238832</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238832</guid>
         <pubDate>Fri, 28 Dec 2007 22:17:39 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #42 from Henry Troup</title>
         <description>comment from Henry Troup on 28.Dec.07</description>
         <content:encoded><p>Anyone notice the Google ads on this thread?  I'm offered exorcism in one, and proof of demonic possesion in another.</p>
	 <p>Posted December 28, 2007 10:22 PM by Henry Troup</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238833</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238833</guid>
         <pubDate>Fri, 28 Dec 2007 22:22:37 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #43 from John A Arkansawyer</title>
         <description>comment from John A Arkansawyer on 28.Dec.07</description>
         <content:encoded><p>I don't know about other STDs, but the idea that AIDS was divine punishment is promoted by evil and believed by the ignorant.</p>
	 <p>Posted December 28, 2007 10:41 PM by John A Arkansawyer</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238836</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238836</guid>
         <pubDate>Fri, 28 Dec 2007 22:41:53 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #44 from James D. Macdonald</title>
         <description>comment from James D. Macdonald on 28.Dec.07</description>
         <content:encoded><p>Up the close an' doun the stair,<br />
But an' ben wi' Burke an' Hare;<br />
Burke's the butcher, Hare's the thief,<br />
Knox the boy wha' buys the beef.<br />
</p>
	 <p>Posted December 28, 2007 11:20 PM by James D. Macdonald</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238841</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238841</guid>
         <pubDate>Fri, 28 Dec 2007 23:20:53 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #45 from Adrian Smith</title>
         <description>comment from Adrian Smith on 29.Dec.07</description>
         <content:encoded><p>Heresiarch@38: <i>If you give a man a fish, you feed him for a day. If you teach him to fish, you feed him for a life-time. If you teach him to teach others to fish, you feed a nation. If you teach him to teach himself whatever he needs to know, then you can go and enjoy the beach somewhere nice.<br />
</i></p>

<p>Where you may find yourself noticing that there don't seem to be quite as many fish as there used to be.</p>

<p>Cynic's version (via someone on a.p):<br />
"Give a man a fish and you establish a relationship which centres upon your predisposition to kindness and your control of the fish supply. Teach a man to fish and you must then find something else to do."</p>
	 <p>Posted December 29, 2007 12:45 AM by Adrian Smith</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238859</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238859</guid>
         <pubDate>Sat, 29 Dec 2007 00:45:56 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #46 from albatross</title>
         <description>comment from albatross on 29.Dec.07</description>
         <content:encoded><p>#43 John:</p>

<p>I've heard/seen the "AIDS is a plague from God" argument a fair number of times.  (For some reason, God apparently really has it in for hemophiliacs.  And Man, does He ever dislike the  wives and children of truck drivers in Sub-Saharan Africa.)  </p>

<p>I think all kinds of beliefs evolved around the idea of making suffering somehow noble or restorative, during time when that suffering was simply unavoidable.  Perhaps it makes you feel better, as you're suffering from advanced syphlis, that your suffering is atonement for how you got it.  (Assuming that you got it from your own misbehavior, rather than your spouse's or rapist's misbehavior.)  And this developed over time into the idea that there was something good about that suffering, leading to the awful idea that it would be bad to prevent or ease that suffering.  </p>

<p>But the idea that suffering is divine punishment is pretty obviously nonsense, since we live in a world full of undeserved suffering.  Hospitals are full of suffering people, many of them children, who are pretty obviously not any more guilty than any random selection of people off the streets.  There's also a bit of the New Testament that directly contradicts the idea that having some disaster befall you implies some special guilt on your part, which I wish had more effect on people running with this idea.  </p>

<p>I think there's this deep wish for most of us to see a universe in which bad things don't happen to good people, but of course that's not the world we live in.  Every one of us will die sooner or later, and that's not because of anything we did, it's just being human.  Over our lives, we'll all suffer pain sometimes, and loss, and all kinds of other things, again just because we're human.  </p>
	 <p>Posted December 29, 2007  1:42 AM by albatross</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238865</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238865</guid>
         <pubDate>Sat, 29 Dec 2007 01:42:28 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #47 from Lee</title>
         <description>comment from Lee on 29.Dec.07</description>
         <content:encoded><p>Michael, #40: You're probably quite right; I did say that I just couldn't recall any immediate examples. And John at #43 has provided one very definite example, but I'd still like to see more of them directed at <i>straight</i> men; the culturally-unquestioned right of men (especially men of privilege) to have sexual access to women's bodies (especially those of women of lower social status) is a very strong counterweight against the notion of <i>male</i> VD as "God's will" or "a punishment from God". </p>

<p>Albatross, #46: One of my all-time favorite quotes: <br />
<i>I used to think it was terrible that life was so unfair. But then I realized, wouldn't it be even more terrible if life WERE fair, and all the awful things that happen to us came because we actually deserved them? So now I take great comfort in the general hostility and unfairness of the Universe."</i> <br />
- Marcus Cole on <i>Babylon 5</i><br />
</p>
	 <p>Posted December 29, 2007  2:26 AM by Lee</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238868</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238868</guid>
         <pubDate>Sat, 29 Dec 2007 02:26:29 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #48 from Gar Lipow</title>
         <description>comment from Gar Lipow on 29.Dec.07</description>
         <content:encoded><p>Albatross #46</p>

<p>>There's also a bit of the New Testament that directly contradicts the idea that having some disaster befall you implies some special guilt on your part, which I wish had more effect on people running with this</p>

<p>I knew that is a major point of Job. So there is a part of the Christian testament that reiterates that lesson? </p>
	 <p>Posted December 29, 2007  3:22 AM by Gar Lipow</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238871</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238871</guid>
         <pubDate>Sat, 29 Dec 2007 03:22:17 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #49 from bryan</title>
         <description>comment from bryan on 29.Dec.07</description>
         <content:encoded><p>All this really depends on your definition of laziness. I could give counter examples of laziness that would take up quite a bit of time posting, but they were not the most efficient ways to do things. The obvious rejoinder is that they were not true examples of laziness because they were inefficient implementations of the task at hand. Maybe what is needed is laziness and intelligence at the same time. </p>
	 <p>Posted December 29, 2007  4:56 AM by bryan</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238872</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238872</guid>
         <pubDate>Sat, 29 Dec 2007 04:56:07 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #50 from abi</title>
         <description>comment from abi on 29.Dec.07</description>
         <content:encoded><p><strong>Jim @44:</strong><br />
<a href="http://www.geocaching.com/seek/cache_details.aspx?guid=5cefffb3-27ee-4f40-9e27-bca37faa3821" rel="nofollow">Aye, that's the one</a>.</p>
	 <p>Posted December 29, 2007  6:44 AM by abi</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238878</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238878</guid>
         <pubDate>Sat, 29 Dec 2007 06:44:13 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #51 from heresiarch</title>
         <description>comment from heresiarch on 29.Dec.07</description>
         <content:encoded><p>albatross @ 46: <i>"I think all kinds of beliefs evolved around the idea of making suffering somehow noble or restorative, during time when that suffering was simply unavoidable."</i></p>

<p>I struggle sometimes with the fact that, while following Buddhist principles of detachment and harmony have dramatically improved my happiness level, it's only the crazy, irrational struggle against "unchangeable" conditions that actually improves the world. It's hard to reconcile the two.</p>
	 <p>Posted December 29, 2007  8:01 AM by heresiarch</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238882</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238882</guid>
         <pubDate>Sat, 29 Dec 2007 08:01:43 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #52 from Manny Olds</title>
         <description>comment from Manny Olds on 29.Dec.07</description>
         <content:encoded><p>In "Cheaper by the Dozen", the author talks about his parents' efficiency business.  When they went into a plant, the first thing they did was ask to be shown to the laziest man.  He would have found ways to do things that required less effort.</p>

<p>(I read it when I kid but I still remember the method Mr Gilbreth taught his kids for efficient bathing.)</p>
	 <p>Posted December 29, 2007 10:40 AM by Manny Olds</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238894</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238894</guid>
         <pubDate>Sat, 29 Dec 2007 10:40:48 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #53 from Faren Miller</title>
         <description>comment from Faren Miller on 29.Dec.07</description>
         <content:encoded><p>For years I've been lazy (and miserly) enough to accept a slightly balky computer -- made slower online by dial-up -- but now I think my laziness requires something easier. Defrag has just stopped working, after being fine last week, the Scan Disk I'm told to use to fix this stalls while "checking file allocation tables", and the nice gentleman who used to make house calls and help with such problems is no longer available.</p>

<p>I'm not asking for diagnoses here, since what I really need is a new machine. Any recommendations on something relatively cheap (I still want to pinch pennies) and reliable?</p>

<p>By sometime in the coming year, I might even break down and get wireless, and then Serge will have to stop teasing me about the confounded thing! </p>
	 <p>Posted December 29, 2007 10:48 AM by Faren Miller</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238895</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238895</guid>
         <pubDate>Sat, 29 Dec 2007 10:48:03 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #54 from Faren Miller</title>
         <description>comment from Faren Miller on 29.Dec.07</description>
         <content:encoded><p>PS to my previous comment: I ran two anti-virus checks, the second with the very latest AVG update, and they found no virus. The problem is more likely to be an aging mechanism limping its way into entropy.</p>
	 <p>Posted December 29, 2007 11:12 AM by Faren Miller</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238899</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238899</guid>
         <pubDate>Sat, 29 Dec 2007 11:12:52 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #55 from Michael Turyn</title>
         <description>comment from Michael Turyn on 29.Dec.07</description>
         <content:encoded><p>Faren::53:</p>

<p>I won't recommend a computer beyond a standard "keep in mind for what use you're buying the machine, and don't bother getting one twice as powerful as that".  If you work for a large institution that allows its employees to piggyback their purchases on the corporate, it's a good idea to try; selection may be limited.</p>

<p>I will, however, strongly recommend that you back up what you've got as soon as possible; your drive _might_ be on its last legs, and it sounds like you've got a few years' work on the machine.  I'd recommend backing up everything on your machine, then exporting your registry (which might include product registration codes you'll need) to the disc and then backing that up.</p>

<p>The above stood me in good stead last summer; writing down registration codes by hand in a file would have been a good plus, since looking for them in the registry dump, or in ancient e-mail files, can be boring.  </p>

<p>I'm not sure about the board-specific netiquette about recommending specific brands and shops in this public forum, so I'll send such by another channel.</p>
	 <p>Posted December 29, 2007 11:22 AM by Michael Turyn</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238902</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238902</guid>
         <pubDate>Sat, 29 Dec 2007 11:22:52 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #56 from Xopher</title>
         <description>comment from Xopher on 29.Dec.07</description>
         <content:encoded><p>Gar 48: Yes, Luke 13:1-5. <blockquote>There were present at that season some that told him of the Galilaeans, whose blood Pilate had mingled with their sacrifices. 2 And Jesus answering said unto them, Suppose ye that these Galilaeans were sinners above all the Galilaeans, because they suffered such things? 3 I tell you, Nay: but, except ye repent, ye shall all likewise perish. 4 Or those eighteen, upon whom the tower in Siloam fell, and slew them, think ye that they were sinners above all men that dwelt in Jerusalem? 5 I tell you, Nay: but, except ye repent, ye shall all likewise perish. </blockquote>In other words, bad things don't happen to people because they're bad, but because they're bad AND unlucky.  It's weird to me that he seems to be promising that if they truly repent nothing bad will happen to them, but I don't think that's a correct interpretation.</p>
	 <p>Posted December 29, 2007 12:18 PM by Xopher</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238909</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238909</guid>
         <pubDate>Sat, 29 Dec 2007 12:18:57 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #57 from DaveL</title>
         <description>comment from DaveL on 29.Dec.07</description>
         <content:encoded><p>I'm reminded of a subsection of Heinlein's Lazarus Long book: "The Man Who Was Too Lazy To Fail."</p>

<p>It appeared semi-autobiographical at the time. I suspect Heinlein would have liked Perl.</p>

<p>(That's not a compliment, by the way.)</p>
	 <p>Posted December 29, 2007  1:07 PM by DaveL</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238918</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238918</guid>
         <pubDate>Sat, 29 Dec 2007 13:07:08 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #58 from Charlie Stross</title>
         <description>comment from Charlie Stross on 29.Dec.07</description>
         <content:encoded><p>DaveL, let me assure you, Perl does not reward excessive laziness. In fact, it bites you <em>hard</em> if you're excessively lazy.</p>

<p>On the other hand, if you make the effort to do it right, it's a delight and a joy (and it will take you approximately one-fifth as many lines of code to accomplish any given task as C/C++/Java or similar lower-level traditional languages).</p>
	 <p>Posted December 29, 2007  6:40 PM by Charlie Stross</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#238976</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#238976</guid>
         <pubDate>Sat, 29 Dec 2007 18:40:17 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #59 from Michael Turyn</title>
         <description>comment from Michael Turyn on 29.Dec.07</description>
         <content:encoded><p><i>Halting State</i>:  Mary-Sue Reed, the brightest young Python-hacker in the fleet....</p>

<p>O.K., Perl isn't Python, (...<br />
       http://xkcd.com/353/ <br />
...), but they're close enough in niche, different from Java or C++ or MSJava---excuse me, I meant "C#"---excuse me, I meant "protectors".</p>

<p>(I've done Python, but only for money, so it doesn't mean I'm really "that way". It was o.k., I didn't need and avoided the object bits, but....whitepace?  I've done a little Perl for fun; I liked it, but I have to wonder how much of the affection for it is rooted in how abusive it is at the beginning to you, as per the Marines, the Foreign Legion*, &c..)</p>

<p>(What I want in a language is very simple:  a great IDE, a good UI builder, and for it to be Smalltalk...o.k., I'll settle for something else, but in practice I find that making it easy to notice my typing mistakes and to quickly find APIs and old code to steal matters more than the particular grammar and reserved symbols...mind you, the less automagical stuff and alchemy [and I'm not talking about The Laundry here, Charles] the better.  Then again, I'm not a programmer:  I'm a physicist/problem-solver who programs when he can find work; note the query string in my URI.)</p>

<p></p>

<p>*An informant told me that his first day consisted  of loading 100kg cement bags into a ship in the middle of the summer; sixty years later he was still in some ways a Legionnaire.</p>
	 <p>Posted December 29, 2007 10:20 PM by Michael Turyn</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239015</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239015</guid>
         <pubDate>Sat, 29 Dec 2007 22:20:37 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #60 from Bruce Cohen (SpeakerToManagers)</title>
         <description>comment from Bruce Cohen (SpeakerToManagers) on 30.Dec.07</description>
         <content:encoded><p><b>Michael Turyn @ 59</b></p>

<p>I <i>am</i> a programmer, and I agree completely about Smalltalk.  For me, though, the object parts are the tastiest bits.  I started using Python recently, and, though I"m quite put out by the whitespace nonsense (I spent 2 hours chasing tabs around one of my modules the week before last), it's got a nice object model, and a very nice metaobject model.  But I agree, the simpler the lexical and syntactic model, the better.  And any language that's got a lambda is usable.</p>
	 <p>Posted December 30, 2007 12:07 AM by Bruce Cohen (SpeakerToManagers)</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239034</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239034</guid>
         <pubDate>Sun, 30 Dec 2007 00:07:41 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #61 from Christopher Davis</title>
         <description>comment from Christopher Davis on 30.Dec.07</description>
         <content:encoded><p>Like Charlie (#6) I have an original first-first of <i>Programming Perl</i>, though mine is signed (by Randal, but not by Larry); I also have a copy of the second edition (first printing) signed by Randal, Larry, and Tom.</p>

<p>I started with Perl in the days of 3.0.18 or thereabouts, and used it heavily for many years. I, too, looked at Python and wondered about its usability because of the whitespace issue.</p>

<p>Now I do as much as possible in Python (though I still fall back on Perl for the ++awk sort of tasks that are most easily done with a line or two using perl -p -e).</p>

<p>Since I use a syntax-aware <strike>operating system</strike> editor, I've never had the problems I feared I would with whitespace in Python. Given the number of times I had to use indent-region to figure out where my Perl was missing a closing curly brace, having whitespace meaningful in and of itself is actually an improvement!</p>
	 <p>Posted December 30, 2007  1:11 AM by Christopher Davis</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239047</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239047</guid>
         <pubDate>Sun, 30 Dec 2007 01:11:51 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #62 from xeger</title>
         <description>comment from xeger on 30.Dec.07</description>
         <content:encoded><p>I've been frustrated by python - I find myself repeatedly asking if the [awkward|backward|odd|annoying] way that I'm doing something is -really- the 'right' way to do things.  I won't claim that perl hasn't driven me around the bend in it's own, inimitable way, but at least  there's more than one way to do it!</p>

<p>Beyond that, python seems to suffer from the bootstrapping problem - the documentation[0] presumes that you already have a grasp of python, and is thus deeply unhelpful until you've passed the point of initial frustration.</p>

<p>All that aside (and I'm sorry - "syntax error" as the response for a whitespace problem is deeply poor HCI), python feels to me like a fledgling dancer, all awkward angles and misplaced limbs, with occasional flashes of potential[1].</p>

<p>[0] Which is available online, with the python distribution<br />
[1] Perl leads me to wonder about how many of the core perl developers are cthulhu, marine biologist, or hentai fans</p>
	 <p>Posted December 30, 2007  2:24 AM by xeger</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239052</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239052</guid>
         <pubDate>Sun, 30 Dec 2007 02:24:10 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #63 from xeger</title>
         <description>comment from xeger on 30.Dec.07</description>
         <content:encoded><p>I've been frustrated by python - I find myself repeatedly asking if the [awkward|backward|odd|annoying] way that I'm doing something is -really- the 'right' way to do things.  I won't claim that perl hasn't driven me around the bend in it's own, inimitable way, but at least  there's more than one way to do it!</p>

<p>Beyond that, python seems to suffer from the bootstrapping problem - the documentation[0] presumes that you already have a grasp of python, and is thus deeply unhelpful until you've passed the point of initial frustration.</p>

<p>All that aside (and I'm sorry - "syntax error" as the response for a whitespace problem is deeply poor HCI), python feels to me like a fledgling dancer, all awkward angles and misplaced limbs, with occasional flashes of potential[1].</p>

<p>[0] Which is available online, with the python distribution<br />
[1] Perl leads me to wonder about how many of the core perl developers are cthulhu, marine biologist, or hentai fans</p>
	 <p>Posted December 30, 2007  2:24 AM by xeger</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239053</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239053</guid>
         <pubDate>Sun, 30 Dec 2007 02:24:12 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #64 from Charlie Stross</title>
         <description>comment from Charlie Stross on 30.Dec.07</description>
         <content:encoded><p>If you're having trouble finding missing brackets in Perl, you're using the wrong editor. Just bounce on the percent key in vi and it'll show up soon enough. IDEs are for WIMPs (although I'll give you a pass for a source level debugger, as long as you don't overuse it).</p>

<p>Yes, you're right, I never got the hang of these new-fangled GUI things. But there's nothing like the fun of writing a Perl module where the only defined method is AUTOLOAD and it contains a case construct that figures out what to do based on the number and kind of arguments you feed it ...</p>
	 <p>Posted December 30, 2007  6:06 AM by Charlie Stross</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239062</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239062</guid>
         <pubDate>Sun, 30 Dec 2007 06:06:17 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #65 from Lance Weber</title>
         <description>comment from Lance Weber on 30.Dec.07</description>
         <content:encoded><p><i>IDEs are for WIMPs</i></p>

<p>I'd modify the sentiment slightly to say that someone who can only produce code using an IDE is a wimp. As an extremely lazy programmer, I like having features such as templating, code completion, refactoring, syntax highlighting, SCM, dependency graphing, reference mapping, etc all bundled into a GUI.</p>

<p>Yes, yes, I know you can do all of that in vi/emacs, and I grew up in a shell & prompt world...but I find that my overall effectiveness is higher in an IDE for complex projects.<br />
</p>
	 <p>Posted December 30, 2007  9:54 AM by Lance Weber</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239081</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239081</guid>
         <pubDate>Sun, 30 Dec 2007 09:54:59 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #66 from Erik Nelson</title>
         <description>comment from Erik Nelson on 30.Dec.07</description>
         <content:encoded><p>It is my theory that The Fool is the Tarot card of C programmers, because <br />
a) it's card # 0 and you start counting at 0.<br />
b) The fool is depicted walking off a cliff and this  signifies that if you don't check your own bounds you will crash.</p>

<p>#11: programming and Platonism:<br />
Don't you go all world-of-Forms and everything if you get into object-oriented stuff? In Python all objects are extensions of the featureless object, for example.</p>
	 <p>Posted December 30, 2007 11:14 AM by Erik Nelson</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239094</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239094</guid>
         <pubDate>Sun, 30 Dec 2007 11:14:35 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #67 from Michael R. Bernstein</title>
         <description>comment from Michael R. Bernstein on 30.Dec.07</description>
         <content:encoded><p>Ah, the conversation has turned to an area in which I am confident in my expertise.</p>

<p>Michael Turyn @ #59: Regarding IDEs, there are several available for Python, some free, some commercial: Boa Constructor, Dr. Python, Stani's Python Editor (SPE), Eric Python IDE, PyPE, Komodo, Wing IDE, and others. Your best bet is to try them all to see which strike the best balance for you between features and simplicity[1].</p>

<p>Bruce Cohen @ #60: One of the main advantages of Python's syntactic indentation is that it completely eliminates a whole class of argument about indentation style (of course, you can still have arguments about naming conventions: camelCase vs. CapWords vs. underscore_separated, etc.).</p>

<p>The mixed tabs and spaces problem is solved by using an editor that can be set to insert spaces (typically 4) when you hit the tab key, and has a function or menu option to convert tabs to spaces. Most decent editors can be configured to treat Python files in this way. </p>

<p>Xeger @ #62: The best way to figure out what the 'Pythonic' approach would be is to read other people's Python code[2]. Fortunately, the standardizing effect of the syntactic indentation makes reading other people's code easier.</p>

<p>Regarding the documentation, are you saying that the tutorial[3] at the beginning of the Python documentation wasn't a good introduction?</p>

<p>Charlie @ #64: If vi is your tool of choice, I've recently found a nice GUI wrapper for it called Cream[4] that provides a 'best of both worlds' experience for some folks. I recommended it to Cory recently, but he got hung up on the lack of a 'search-and-replace within the selection only' feature[5].</p>

<p>[1] http://wiki.python.org/moin/IntegratedDevelopmentEnvironments</p>

<p>[2] http://aspn.activestate.com/ASPN/Python/Cookbook/</p>

<p>[3] http://docs.python.org/tut/tut.html</p>

<p>[4] http://cream.sourceforge.net/</p>

<p>[5] http://www.boingboing.net/2007/11/16/droid-sans-mono-a-sw.html#comment-83162</p>
	 <p>Posted December 30, 2007 11:55 AM by Michael R. Bernstein</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239099</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239099</guid>
         <pubDate>Sun, 30 Dec 2007 11:55:18 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #68 from xeger</title>
         <description>comment from xeger on 30.Dec.07</description>
         <content:encoded><p>Michael R. Bernstein @ 67 ...</p>

<p>Ironically enough, the whole reason I was using python -was- reading other folks python code[0].  </p>

<p>Yes - that tutorial, which is filled with information, but not helpful :)  Strictly speaking, it reminds me of some comp sci textbooks...</p>

<p>Probably wandering too far into geekery for makinglight, but I still have some unease about python's memory management capabilities (and, iirc, global namespaces).  Python ate me out of house and home[1], due to only having ~1G of memory to serialize a 10Mb (or was it 1Mb?) file.  That was... annoying.</p>

<p>[0] Anaconda, the first time, which was enough to put me off python for years, and both debugging bits and pieces, and working with a colleague the most recent time.<br />
[1] Never did finish parsing the sucker, either - it simply couldn't figure out anything to swap out/around/whatever, in order to actually finish.</p>
	 <p>Posted December 30, 2007 12:37 PM by xeger</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239104</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239104</guid>
         <pubDate>Sun, 30 Dec 2007 12:37:59 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #69 from John A Arkansawyer</title>
         <description>comment from John A Arkansawyer on 30.Dec.07</description>
         <content:encoded><p>Christopher Davis @ 61: I can do better than that. I have a wrist cast signed by pretty much every Perl luminary at OSCON 2002 except Nat Torkington, who had to leave before this brilliant idea occurred to me. Perhaps it could be auctioned for charity.</p>

<p>Gawd, it was fun going back to work after that! It almost made up for the injury...but not the bill. No, not the bill.</p>

<p>Michael R. Bernstein @ 67:<br />
<blockquote>One of the main advantages of Python's syntactic indentation is that it completely eliminates a whole class of argument about indentation style</blockquote></p>

<p>Heh. I'd never seen that argument before. Heh. Heh heh heh. Heh heh ha ha ha Ha HA HA HA HA HA!</p>

<p>I'm stealing it.</p>
	 <p>Posted December 30, 2007  1:02 PM by John A Arkansawyer</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239108</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239108</guid>
         <pubDate>Sun, 30 Dec 2007 13:02:39 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #70 from Bruce Cohen (SpeakerToManagers)</title>
         <description>comment from Bruce Cohen (SpeakerToManagers) on 30.Dec.07</description>
         <content:encoded><p><b>Micheal R. Bernstein @ 67</b></p>

<p><i>it completely eliminates a whole class of argument about indentation style </i></p>

<p>That argument has had the major salutary effect of using up the energy of large numbers of highly combative debaters on a completely innocuous question.  Who cares what style someone uses if I can just convert it to my favorite style for reading, and convert it back on save, for writing?  One of the advantages of an IDE is that it can support a standard development workflow including formatting automatically.  For years I worked in an environment with very strict formatting styles that I found very difficult to read, but the "Save to version control command" automatically did a re-format, merge with head, build, and execute all unit tests, and refuse to commit a new version if any of the tests failed, usually indicating a bad merge. You have no idea how much work that saved me over the course of 4 years.</p>

<p><i>The mixed tabs and spaces problem is solved by using an editor that can be set to insert spaces</i></p>

<p>That was the problem: I use xemacs as an editor/basic IDE, and I <i>thought</i> I had set insert-tabs to nil, but a bug in my init file prevented that.  I'm still having trouble getting my mind wrapped around this dependence on indentation*, and it took me awhile to realize that's what the error message "syntax error" meant.  For one thing, I've spent a lot of time writing command parsers and file converters, and I understand the difference between lexical errors and syntactic ones; making whitespace syntactic is a major paradigm shift for me.</p>

<p>Hypothetically, is there anyone out there who would be willing to use XML if indentation was syntactic?</p>

<p><b>Erik Nelson @ 66</b></p>

<p>Every Object-Oriented Language I know except for C++** has at least one root base class, typically Object, because there's some fundamental behavior that all objects should implement in some default manner.  In Smalltalk, <i>all</i> values are objects, including hardware-dependent integers, stack frames, etc.  This has an unbelievably freeing and simplifying effect: I no longer have to worry about the difference between operater '+' and function add(), or, unless I'm writing numerical computing code for array machines, worry about the side-effects of adding two different numeric types; they're standardized by the fact that the basic virtual machine implements all of that.  And if I actually do need different semantics and designing a new class isn't the best way to do that, the VM is written in Smalltalk and I have the source, so changing it is easy.</p>

<p><b>Lance Weber @ 65</b></p>

<p>Yes, thank you.  I can, and have been for the last year, write C code in vi and emacs without an IDE, although it's more work, and somewhat offends my lazy programmer's soul. But I see no reason why, when the organizing principles of a high-level computing environment are available, I shouldn't use them to get more done sooner.</p>

<p>And, IMO, the most important one of that list of features is refactoring, since the evolution of my designs always involves refactoring from one version to another as I better understand the problemset, or as new requirements become known.</p>

<p>* I bet it makes automatic code generation annoyingly fragile.<br />
**  Which I'd call "object-like" rather than "object-oriented".</p>
	 <p>Posted December 30, 2007  1:22 PM by Bruce Cohen (SpeakerToManagers)</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239116</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239116</guid>
         <pubDate>Sun, 30 Dec 2007 13:22:11 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #71 from Charlie Stross</title>
         <description>comment from Charlie Stross on 30.Dec.07</description>
         <content:encoded><p>Bruce: apropos your comment to Eric Nelson, Perl doesn't have a base class. On the other hand, there are at least three different ways to do OOP in Perl, and if you use the <em>normal</em> one you get to traipse through a maze of twisty little modules in @INC until you end up bouncing on an autoload method (if there is one).</p>

<p>I haven't ever touched C++ -- the Stroustrup book gave me indigestion -- but I suspect Perl's OOP is descended from C++ by way of Shub-Niggurath.</p>

<p>Despite being a vi-head at heart, there were years when I would have killed for a perl-specific port of cscope.</p>
	 <p>Posted December 30, 2007  1:39 PM by Charlie Stross</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239123</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239123</guid>
         <pubDate>Sun, 30 Dec 2007 13:39:03 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #72 from Michael R. Bernstein</title>
         <description>comment from Michael R. Bernstein on 30.Dec.07</description>
         <content:encoded><p>Xeger @ #68: So, you're looking for a Python for non-programmers introduction? How about the ones listed here: http://wiki.python.org/moin/BeginnersGuide/NonProgrammers</p>

<p>If you're looking for a *different* programmers intro, try http://wiki.python.org/moin/BeginnersGuide/Programmers</p>

<p>As for your file serialization problem, it sounds as though your code required the entire file to be in memory (and possibly mutating it several times) before writing anything to disk (as opposed to appending chunks to an existing file). There is more than one way to skin that cat, but the first thing I would try would be StringIO.</p>

<p>John A Arkansawyer @ #69: It's not original. Steal away.</p>
	 <p>Posted December 30, 2007  1:48 PM by Michael R. Bernstein</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239127</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239127</guid>
         <pubDate>Sun, 30 Dec 2007 13:48:17 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #73 from Serge laughs at Faren's Computer</title>
         <description>comment from Serge laughs at Faren's Computer on 30.Dec.07</description>
         <content:encoded><p>Faren @ 53... <i>For years I've been lazy (and miserly) enough to accept a slightly balky computer -- made slower online by dial-up -- but now I think my laziness requires something easier. (...) Serge will have to stop teasing me about the confounded thing!</i></p>

<p>...must not... laugh... must control... bwww... <b>BWAHAHAHAH!!!</b> </p>
	 <p>Posted December 30, 2007  2:05 PM by Serge laughs at Faren's Computer</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239129</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239129</guid>
         <pubDate>Sun, 30 Dec 2007 14:05:03 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #74 from Michael R. Bernstein</title>
         <description>comment from Michael R. Bernstein on 30.Dec.07</description>
         <content:encoded><p>Bruce @ #70: It has not been my experience that the energy of highly combative debaters ever gets 'used up'.</p>

<p>Your point about transparent conversion to/from preferred formatting is well taken, but I'll note that imperfect round-tripping can result in spurious 'changes' that make reading diffs very hard.</p>

<p>"Hypothetically, is there anyone out there who would be willing to use XML if indentation was syntactic?"</p>

<p>Some, but probably not many. In any case, XML isn't intended to be used as a programming language (it *can* be used that way, obviously, but it shouldn't be). The affordances are different.</p>

<p>"I bet it makes automatic code generation annoyingly fragile."</p>

<p>Somewhat (or at least, your code generator can't just cut-n-paste nested bits). However, dynamic programming languages and their metaprogramming features tend to eliminate most of the need for code generation (and it's associated problems) anyway. In fact, I'd guess that Python is more often used to generate code in other languages (that lack those features) than in Python.</p>
	 <p>Posted December 30, 2007  3:07 PM by Michael R. Bernstein</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239150</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239150</guid>
         <pubDate>Sun, 30 Dec 2007 15:07:35 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #75 from Charlie Stross</title>
         <description>comment from Charlie Stross on 30.Dec.07</description>
         <content:encoded><p>And then again, there's always <a href="http://intercal.freeshell.org/" rel="nofollow">CLC-INTERCAL</a>.</p>
	 <p>Posted December 30, 2007  4:02 PM by Charlie Stross</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239160</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239160</guid>
         <pubDate>Sun, 30 Dec 2007 16:02:48 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #76 from DaveL</title>
         <description>comment from DaveL on 30.Dec.07</description>
         <content:encoded><p>#58 Charlie Stross: <i>DaveL, let me assure you, Perl does not reward excessive laziness. In fact, it bites you hard if you're excessively lazy.</i></p>

<p>I think Heinlein (and most pro-"laziness" coders) meant "lazy" in the same sense. That is, time-saving, helpful, fun to play with. Perl, once described as the "Swiss Army Chainsaw," can be all of those.</p>

<p>Having coded extensively in C, C++, Perl, Python, and any number of other languages, I find that Perl falls into the class called "write only" (along with APL and Teco). Python is better in that respect but I hate white-space-with-syntactic-significance. I find C++ with templates overly complex and annoying, C too prone to driving off the cliff, Java too in-groupy and insular, and C# too Microsoftian. I haven't really tried Ruby or Haskell seriously yet.</p>

<p>Ah, for the days of Lisp! Now, THAT was a language!</p>

<p>In any case, arguments about programming languages are in the same class as arguments about religions and sports teams: productive of strong opinions, vehement arguments, but few changed minds.</p>
	 <p>Posted December 30, 2007  4:07 PM by DaveL</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239161</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239161</guid>
         <pubDate>Sun, 30 Dec 2007 16:07:17 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #77 from John A Arkansawyer</title>
         <description>comment from John A Arkansawyer on 30.Dec.07</description>
         <content:encoded><p>DaveL @ 76:<br />
<blockquote>I haven't really tried Ruby or Haskell seriously yet.</blockquote></p>

<p>Ruby's pretty nice, but I'm not sure it's that much of an improvement over Perl modulo your "write only" objection.</p>

<p>I think this is why Ruby is doing so well:</p>

<p>CPAN:Perl::Rails:Ruby</p>

<p>Not so much the language itself, but the support mechanism around it.</p>
	 <p>Posted December 30, 2007  4:12 PM by John A Arkansawyer</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239164</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239164</guid>
         <pubDate>Sun, 30 Dec 2007 16:12:53 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #78 from bryan</title>
         <description>comment from bryan on 30.Dec.07</description>
         <content:encoded><p>you know, Serge has been laughing at Faren's computer since open thread 60. </p>
	 <p>Posted December 30, 2007  4:18 PM by bryan</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239167</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239167</guid>
         <pubDate>Sun, 30 Dec 2007 16:18:10 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #79 from Serge</title>
         <description>comment from Serge on 30.Dec.07</description>
         <content:encoded><p>bryan @ 78... It took THIRTY-EIGHT open threads? Faren is made of stern stuff - certainly sterner than her computer's.</p>
	 <p>Posted December 30, 2007  4:38 PM by Serge</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239169</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239169</guid>
         <pubDate>Sun, 30 Dec 2007 16:38:47 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #80 from Henry Troup</title>
         <description>comment from Henry Troup on 30.Dec.07</description>
         <content:encoded><p>#55 - let me give a plug for the <a href="http://www.magicaljellybean.com/keyfinder.shtml" rel="nofollow">Magical Jelly Bean Keyfinder</a> which does the donkey work for you.  Download it, run it, and print the results, keep in a safe place.</p>
	 <p>Posted December 30, 2007 11:48 PM by Henry Troup</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239283</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239283</guid>
         <pubDate>Sun, 30 Dec 2007 23:48:57 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #81 from Kevin Riggle</title>
         <description>comment from Kevin Riggle on 31.Dec.07</description>
         <content:encoded><p>DaveL @76: Having helped maintain a large (30+ kloc) piece of software written in Perl (Request Tracker), I feel that <i>well-written</i>, well-architected Perl code is <i>not</i> "write-once".  Perl provides the necessary frameworks for unit testing and encapsulation and all the other good software development practices that every shop should use and a lot of shops don't, and if you take advantage of those and write clean code, you'll have a pretty maintainable Perl program.  Perl does make it easy to write unmaintainable code, but that doesn't mean it makes the task impossible.</p>

<p>I'd agree, however, that the amount of skill and experience you need to have as a Perl hacker before you'll turn out maintainable code without having to think too hard about it is another question entirely.  (I'm not there yet.)</p>
	 <p>Posted December 31, 2007 12:26 AM by Kevin Riggle</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239292</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239292</guid>
         <pubDate>Mon, 31 Dec 2007 00:26:05 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #82 from Christopher Davis</title>
         <description>comment from Christopher Davis on 31.Dec.07</description>
         <content:encoded><p>Charlie Stross (#64):  I have {X,}Emacs set up to blink the opening brace/bracket/paren when I type the closing one; if I miss one while typing I'll get a "paren mismatch" error when I type "}" to close "(". It was still generally easier to see where things had gone wrong by re-indenting the whole chunk, though, especially when it'd been through a few rounds of cut/paste/rewrite/etc. (And yes, I use the debugger integration features of {X,}Emacs.)</p>

<p>Bruce Cohen (#70): Doesn't python-mode turn indent-tabs-mode off by default in the case where you're using the default settings of py-smart-indentation and py-indent-offset?<br />
</p>
	 <p>Posted December 31, 2007 12:29 AM by Christopher Davis</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239295</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239295</guid>
         <pubDate>Mon, 31 Dec 2007 00:29:00 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #83 from xeger</title>
         <description>comment from xeger on 31.Dec.07</description>
         <content:encoded><p>Michael R. Bernstein @ 72 ...<br />
<i>Xeger @ #68: So, you're looking for a Python for non-programmers introduction? How about the ones listed here: http://wiki.python.org/moin/BeginnersGuide/NonProgrammers</i></p>

<p>Er... you've got the wrong end of the stick there.  The problem has more to do with too much experience programming in too many languages, not a lack of programming experience.  The presumption is interesting though - Greg caught me in a similar faux pas a few open threads back :)</p>

<p><i>If you're looking for a *different* programmers intro, try http://wiki.python.org/moin/BeginnersGuide/Programmers</i></p>

<p>FWIW, I ended up at the <a href="http://docs.python.org/lib/" rel="nofollow">Python Library Reference</a> in the end - but sad as it sounds, I'm so very happy to have left python behind for java...</p>

<p><i>As for your file serialization problem, it sounds as though your code required the entire file to be in memory (and possibly mutating it several times) before writing anything to disk (as opposed to appending chunks to an existing file). There is more than one way to skin that cat, but the first thing I would try would be StringIO.</i></p>

<p>Er, no.  The essential problem boiled down to recursive descent parsing, for which python's built in functions appear to be miserably unsuited.  As I believe I'd mentioned, I don't have the specifics handy anymore, but it was very clearly a language issue, not a code issue[0].</p>

<p>[0] We did, ultimately, find two workarounds, the second being to change languages.</p>
	 <p>Posted December 31, 2007 12:55 AM by xeger</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239300</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239300</guid>
         <pubDate>Mon, 31 Dec 2007 00:55:48 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #84 from Adrian Smith</title>
         <description>comment from Adrian Smith on 31.Dec.07</description>
         <content:encoded><p><i>Perl does make it easy to write unmaintainable code, but that doesn't mean it makes the task impossible.</i></p>

<p>The thing Charlie mentioned about taking one-fifth the number of lines as any other language sounds like it could be a dangerous temptation for a certain type - compactness may be very elegant but I imagine some people are producing some pretty dense code that way. Hopefully they'll be looking after it themselves.<br />
</p>
	 <p>Posted December 31, 2007  2:54 AM by Adrian Smith</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239316</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239316</guid>
         <pubDate>Mon, 31 Dec 2007 02:54:49 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #85 from bryan</title>
         <description>comment from bryan on 31.Dec.07</description>
         <content:encoded><p>xeger at #83: "[0] We did, ultimately, find two workarounds, the second being to change languages."</p>

<p>Was the first one pyparsing? Personally I've found Python pretty useful for parsing, including recursive descent (although the occasions that I've had to use that are few, given that this is not my general job). </p>

<p> </p>
	 <p>Posted December 31, 2007  4:09 AM by bryan</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239319</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239319</guid>
         <pubDate>Mon, 31 Dec 2007 04:09:50 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #86 from Charlie Stross</title>
         <description>comment from Charlie Stross on 31.Dec.07</description>
         <content:encoded><p>Adrian: when I was writing my half of a 50kloc credit card processing application (I heard via a back-channel that the last of my initial code base was being retired late in 2007 -- I left the company in early 2000 -- and was handling up to a million credit card transactions per day on a couple of rackmount PC servers) I forced myself to avoid certain constructs and idioms. The complex bits were encapsulated in classes, all variables were strictly lexically scoped and declared with comments as to their purpose, any regular expressions used whitespace and comments to disambiguate them, and so on. In short, it <em>didn't</em> go for idiomatic code density ... </p>

<p>Because you can't hold something that big and gnarly in your brain (at least, in mine) in its entirety without your headmeat exploding. So you <em>rapidly</em> learn to use Perl the way you'd use C.</p>

<p>C lets you write incredibly dense code if you throw away the normal indentation styles and don't bother commenting and have multiple semi-colon separated clauses on every line, but only an idiot uses it that way. Ditto Perl. The only difference is that you can whip up a one-liner in Perl where in C you'd end up writing a shell script instead.</p>
	 <p>Posted December 31, 2007  7:34 AM by Charlie Stross</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239325</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239325</guid>
         <pubDate>Mon, 31 Dec 2007 07:34:14 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #87 from Bruce Cohen (SpeakerToManagers)</title>
         <description>comment from Bruce Cohen (SpeakerToManagers) on 31.Dec.07</description>
         <content:encoded><p><b>Christopher Davis @ 82</b></p>

<p><i>Bruce Cohen (#70): Doesn't python-mode turn indent-tabs-mode off by default in the case where you're using the default settings of py-smart-indentation and py-indent-offset?</i></p>

<p>I'm sure it does, but for some reason, indent-tabs-mode was on, and I was using a pretty bare init file.*  Part of the problem may have been some sort of leakage of settings from ECB, which I was running on C code in another frame.</p>

<p><b> DaveL @ 76</b></p>

<p><i>Ah, for the days of Lisp! Now, THAT was a language!</i></p>

<p>* Loud Applause *<br />
I was enthusiastic about Smalltalk upthread, I'll say similar things about Lisp here.  They're both in the minimalist school as far as syntax is concerned**</p>

<p><b>Charlie Stross @ 75</b></p>

<p>It may be a cultural thing, but when pointing off to higher planes like that (INTERCAL is clearly a work of the Greater Old Gods), I usually mention <a href="http://www.indwes.edu/Faculty/bcupp/things/computer/VALGOL.html" rel="nofollow">Valgol</a>. I've always thought of it as <a href="http://en.wikipedia.org/wiki/Glorificus" rel="nofollow">Glory's</a> computer language.</p>

<p><b>Michael R. Bernstein @ 74</b></p>

<p><i>However, dynamic programming languages and their metaprogramming features tend to eliminate most of the need for code generation</i></p>

<p>That's a good point, and proof of the fact that it's been way too long since I actually wrote any metaprogram code.  I've been spending too much time with languages that allow read-only reflection, or that make modifying at the meta level much too complex.  I have proved by example that it is possible to write useful metaprograms in C++; the same exercise was a proof that it's not worth the effort.</p>

<p>* most of my personal Unix scripts and customizations were lost with the dotbomb; it's amazing how rapidly management can move to destroy existing environments and product source code when  they feel like it.<br />
** If you ignore macro syntax, lisp is extremely simple; even including macros, lisp is still much less arcane than C++, for instance.</p>
	 <p>Posted December 31, 2007  8:10 AM by Bruce Cohen (SpeakerToManagers)</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239326</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239326</guid>
         <pubDate>Mon, 31 Dec 2007 08:10:19 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #88 from Adrian Smith</title>
         <description>comment from Adrian Smith on 31.Dec.07</description>
         <content:encoded><p>Charlie@86: Well, I'm glad that you're not the certain type referred to, though I hadn't meant to imply that you were or had been. But I have seen some stuff...</p>
	 <p>Posted December 31, 2007  8:46 AM by Adrian Smith</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239329</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239329</guid>
         <pubDate>Mon, 31 Dec 2007 08:46:25 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #89 from John A Arkansawyer</title>
         <description>comment from John A Arkansawyer on 31.Dec.07</description>
         <content:encoded><p>Kevin Riggle @ 81:<br />
<blockquote>Having helped maintain a large (30+ kloc) piece of software written in Perl (Request Tracker), I feel that well-written, well-architected Perl code is not "write-once"...Perl does make it easy to write unmaintainable code, but that doesn't mean it makes the task impossible.</blockquote></p>

<p>True. But do you think there may be cultural reasons that some Perl programmers resist the practices that make it maintainable?</p>
	 <p>Posted December 31, 2007 10:16 AM by John A Arkansawyer</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239342</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239342</guid>
         <pubDate>Mon, 31 Dec 2007 10:16:20 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #90 from Michael R. Bernstein</title>
         <description>comment from Michael R. Bernstein on 31.Dec.07</description>
         <content:encoded><p>xeger @ #83: But I didn't presume. I dealt with the ambiguity by giving two separate pointers.</p>

<p>Your statement that Python's built-in functions weren't conducing to recursive-descent parsing prompts me to note that anyone who limits themselves to Python's built-ins is missing the point of a language that has as one of it's main raisons d'être the extension of the language through libraries. Then, I'll second Bryan's recommendation of the pyparsing library. Were you trying to use regular expressions for the purpose?</p>

<p>As far as your being happy to have left Python behind for Java, well, that seems bizarre to me, but I am glad you found a language that suits you.</p>

<p>Bruce @ #87: I wasn't even thinking of anything as gnarly as run time *modification* of code (which Python can also do, of course), just run time generation. When a simple factory function can return a custom class at run time, why bother doing code-generation to accomplish the same task by writing out the equivalent source code to a file?</p>

<p>Apropos INTERCAL and Valgol and the attention we're giving to Python's syntactic indentation, I'll mention the Whitespace programming language: http://compsoc.dur.ac.uk/whitespace/</p>
	 <p>Posted December 31, 2007 10:38 AM by Michael R. Bernstein</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239346</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239346</guid>
         <pubDate>Mon, 31 Dec 2007 10:38:54 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #91 from Erik Nelson</title>
         <description>comment from Erik Nelson on 31.Dec.07</description>
         <content:encoded><p>Glory? I don't think the Glory from the Buffyworld is the same person as Glory the mysterious creature under the bed in Howard Cruse's comic strip Barefootz.</p>

<p>I hope not, anyway.</p>
	 <p>Posted December 31, 2007 11:10 AM by Erik Nelson</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239351</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239351</guid>
         <pubDate>Mon, 31 Dec 2007 11:10:46 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #92 from Faren Miller</title>
         <description>comment from Faren Miller on 31.Dec.07</description>
         <content:encoded><p>Serge, you are truly evil. </p>

<p>Everyone else here seems to be speaking in alien tongues, aside from the fellow who told me I should start making back-up disks. I'll try, though it mainly means figuring out how to save years' worth of emails (the equivalent of bundled up letters in olden times), since the Locus work really doesn't need keeping and a handful of stories and poems won't take up much space. Luckily, my next-door neighbor turns out to be much more computer-savvy than I am, and she's happy to give advice.</p>
	 <p>Posted December 31, 2007 12:17 PM by Faren Miller</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239368</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239368</guid>
         <pubDate>Mon, 31 Dec 2007 12:17:16 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #93 from Faren Miller</title>
         <description>comment from Faren Miller on 31.Dec.07</description>
         <content:encoded><p>Serge, you are truly evil. </p>

<p>Everyone else here seems to be speaking in alien tongues, aside from the fellow who told me I should start making back-up disks. I'll try, though it mainly means figuring out how to save years' worth of emails (the equivalent of bundled up letters in olden times), since the Locus work really doesn't need keeping and a handful of stories and poems won't take up much space. Luckily, my next-door neighbor turns out to be much more computer-savvy than I am, and she's happy to give advice.</p>
	 <p>Posted December 31, 2007 12:19 PM by Faren Miller</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239369</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239369</guid>
         <pubDate>Mon, 31 Dec 2007 12:19:50 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #94 from Serge</title>
         <description>comment from Serge on 31.Dec.07</description>
         <content:encoded><p>Faren... I take it that my EEEEEEVIL is such that it can't be contained in one copy of the same post, eh? Either that or Faren's Computer really needs to be retired to that same place where M5 now resides.</p>
	 <p>Posted December 31, 2007 12:24 PM by Serge</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239370</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239370</guid>
         <pubDate>Mon, 31 Dec 2007 12:24:01 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #95 from Michael Turyn</title>
         <description>comment from Michael Turyn on 31.Dec.07</description>
         <content:encoded><p>Faren:  Unless you are seriously out of money, or can't use a cheap external drive (don't have a USB port, or are using a pre-Windows 2000 operating system, or are using a Mac in which case there might be another solution) I would strongly recommend getting an external hard drive---it's much easier to back up the whole disc and sort things out later (though that might depend on how many of your files are Albigensian)....</p>

<p>Erik:  It was; "Don't make frogs at me, That Which Cannot Be Named!," wouldn't have fit in the panel...all the characters in that strip always seemed kind of mindless, now we know why (or at least now I do after consulting wikipedia; I couldn't stand very many episodes of "Buffy the Vampire Slayer" as time went on).</p>

<p>LISP:  I've a number of friends for whom LISP (and LMI specifically) were what the First International, or The Sixties, or The Anschluss for that matter, were for others---note that LISP is eminently suited to this sort of [dr]eification by virtue of being spelt entirely with capital letters straight out of the box.  I've long had the attitude toward using Object Common LISP as that the young Augustine held toward chastity.</p>

<p>Editors: generally I find myself drawn to using emacs for shell scripts, IDEs for GUIs.</p>
	 <p>Posted December 31, 2007  1:40 PM by Michael Turyn</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239396</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239396</guid>
         <pubDate>Mon, 31 Dec 2007 13:40:13 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #96 from P J Evans</title>
         <description>comment from P J Evans on 31.Dec.07</description>
         <content:encoded><p>On external hard drives: I was mildly boggled by the coupon in a collection from Costco for a 1TB external drive, less than US$300.</p>

<p>I have this mental picture of <em>all</em> of the computing power in the US in, say, 1948, sitting on my desk. What would they have thought, if someone told them that 60 years later it would be small enough to be moved from place to place in a duffelbag? And that there were millions more of them in the country?</p>
	 <p>Posted December 31, 2007  1:56 PM by P J Evans</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239401</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239401</guid>
         <pubDate>Mon, 31 Dec 2007 13:56:49 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #97 from xeger</title>
         <description>comment from xeger on 31.Dec.07</description>
         <content:encoded><p>Michael R. Bernstein @ 90 ...<br />
<i>Your statement that Python's built-in functions weren't conducing to recursive-descent parsing prompts me to note that anyone who limits themselves to Python's built-ins is missing the point of a language that has as one of it's main raisons d'être the extension of the language through libraries. Then, I'll second Bryan's recommendation of the pyparsing library. Were you trying to use regular expressions for the purpose?</i></p>

<p>... which amusingly enough brings me back full circle to "what is the best way to do $foo", and it being very hard to find that information ;)  I made the presumption, erroneously, perhaps, that the core language would include core libraries that were sufficient to many tasks.</p>

<p>I'll be damn'd if I can find the correct bit, still, despite a bit of poking around, but there's a python built-in that theoretically handles turning nested configs a la:</p>

<pre>foo {
   bar [
      baz ( bing )
          ]
   shproing
   }
</pre>

<p>into data structures that can be manipulated by python.  Unfortunately, it doesn't much like deep structures - as said, the problem wasn't with being able to process the structure once built - it was with being able to get the structure at all.</p>

<p><i>As far as your being happy to have left Python behind for Java, well, that seems bizarre to me, but I am glad you found a language that suits you.</i></p>

<p>It's pretty bizarre to me, too - and I wouldn't say that java suits me, as much as java suits me better than python.  LISP, OTOH has an inimitable elegance...</p>
	 <p>Posted December 31, 2007  2:43 PM by xeger</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239418</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239418</guid>
         <pubDate>Mon, 31 Dec 2007 14:43:16 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #98 from albatross</title>
         <description>comment from albatross on 31.Dec.07</description>
         <content:encoded><p>#96 PJ:</p>

<p>Yeah.  In college one year, my roommate had a credit-card-sized membrane-keypad solar-powered calculator.  I used to fantasize about inventing a time machine, dropping that on Leslie Groves' desk, and then (through some discrete bug left in the office) watching the whole massed scientific brainpower of the Manhattan Project go completely bugf-ck trying to figure it out.  I think the most reasonable guess for the source they could think of would be space aliens.</p>
	 <p>Posted December 31, 2007  2:49 PM by albatross</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239420</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239420</guid>
         <pubDate>Mon, 31 Dec 2007 14:49:10 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #99 from P J Evans</title>
         <description>comment from P J Evans on 31.Dec.07</description>
         <content:encoded><p>albatross @ 98</p>

<p>I still have one of those, somewhere. (It turns itself off, too.) The one I have in my purse is a solar-powered scientific, but it's a bit larger than a credit card.</p>

<p>(Come to think of it, they'd have a cow over credit and debit cards, too. And iPods and flashdrives - oh the hairpulling!)</p>
	 <p>Posted December 31, 2007  2:56 PM by P J Evans</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239421</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239421</guid>
         <pubDate>Mon, 31 Dec 2007 14:56:03 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #100 from Xopher</title>
         <description>comment from Xopher on 31.Dec.07</description>
         <content:encoded><p>albatross 98: <i>I think the most reasonable guess for the source they could think of would be space aliens.</i></p>

<p>Well, wouldn't that be more reasonable than a time-traveling prankster?  I should think it would.</p>
	 <p>Posted December 31, 2007  3:19 PM by Xopher</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239427</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239427</guid>
         <pubDate>Mon, 31 Dec 2007 15:19:21 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #101 from Fragano Ledgister</title>
         <description>comment from Fragano Ledgister on 31.Dec.07</description>
         <content:encoded><p>Space aliens using the same number and sign system as humans? </p>
	 <p>Posted December 31, 2007  3:24 PM by Fragano Ledgister</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239429</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239429</guid>
         <pubDate>Mon, 31 Dec 2007 15:24:58 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #102 from Xopher</title>
         <description>comment from Xopher on 31.Dec.07</description>
         <content:encoded><p>Compared to time travel?  Space aliens who observed our number and sign system and built a small device using their technology and our notation systems sound damned reasonable compared to time travel.</p>

<p>Actually, the Manhattan Project folks would have gone storming off in a rage to the highest-level military they can find and said "YOU!  You've been developing superminiaturized computers, and you won't let us use them to win the war?!?!?!?"</p>

<p>More likely than space aliens.  But space aliens still beat out time travel.</p>
	 <p>Posted December 31, 2007  3:41 PM by Xopher</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239431</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239431</guid>
         <pubDate>Mon, 31 Dec 2007 15:41:30 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #103 from Xopher</title>
         <description>comment from Xopher on 31.Dec.07</description>
         <content:encoded><p>could*</p>
	 <p>Posted December 31, 2007  3:45 PM by Xopher</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239432</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239432</guid>
         <pubDate>Mon, 31 Dec 2007 15:45:04 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #104 from P J Evans</title>
         <description>comment from P J Evans on 31.Dec.07</description>
         <content:encoded><p><em>Then</em> you pull up the pictures from the various space probes and show them Mars and Jupiter and Saturn, up close and in color, and convince them it's really space alien technology! (The Cassini mosaic of Saturn from the far side, for one, the Mars photos by Spirit and Opportunity, and some of those spectacular photos by Hubble, come to mind.)</p>
	 <p>Posted December 31, 2007  3:50 PM by P J Evans</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239434</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239434</guid>
         <pubDate>Mon, 31 Dec 2007 15:50:49 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #105 from Mary Dell</title>
         <description>comment from Mary Dell on 31.Dec.07</description>
         <content:encoded><p><i>But space aliens still beat out time travel.</i></p>

<p>Scissors cut space aliens</p>
	 <p>Posted December 31, 2007  3:54 PM by Mary Dell</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239436</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239436</guid>
         <pubDate>Mon, 31 Dec 2007 15:54:10 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #106 from Xopher</title>
         <description>comment from Xopher on 31.Dec.07</description>
         <content:encoded><p>Hmm, Mary, that implies that advanced scissor technology can't be brought back in time, if you think about it.</p>
	 <p>Posted December 31, 2007  3:57 PM by Xopher</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239437</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239437</guid>
         <pubDate>Mon, 31 Dec 2007 15:57:31 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #107 from Mary Dell</title>
         <description>comment from Mary Dell on 31.Dec.07</description>
         <content:encoded><p>Xopher @#106:  because space-time continuum wraps scissors?</p>
	 <p>Posted December 31, 2007  3:59 PM by Mary Dell</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239438</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239438</guid>
         <pubDate>Mon, 31 Dec 2007 15:59:12 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #108 from Xopher</title>
         <description>comment from Xopher on 31.Dec.07</description>
         <content:encoded><p>No, because time travel crushes them.</p>
	 <p>Posted December 31, 2007  4:14 PM by Xopher</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239443</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239443</guid>
         <pubDate>Mon, 31 Dec 2007 16:14:54 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #109 from Mary Dell</title>
         <description>comment from Mary Dell on 31.Dec.07</description>
         <content:encoded><p>Ah, of course.  I was getting my causality reversed. As one does, with time travel.</p>
	 <p>Posted December 31, 2007  4:17 PM by Mary Dell</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239445</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239445</guid>
         <pubDate>Mon, 31 Dec 2007 16:17:21 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #110 from ethan</title>
         <description>comment from ethan on 31.Dec.07</description>
         <content:encoded><p>Wait, I'm confused. I don't see aliens anywhere on either the <a href="http://upload.wikimedia.org/wikipedia/commons/e/e6/Rock_paper_scissors.jpg" rel="nofollow">standard diagram</a> or the <a href="http://thefuntimesguide.com/images/blogs/rockpaperscissors.jpg" rel="nofollow">expanded one</a>.</p>
	 <p>Posted December 31, 2007  4:20 PM by ethan</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239446</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239446</guid>
         <pubDate>Mon, 31 Dec 2007 16:20:35 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #111 from Xopher</title>
         <description>comment from Xopher on 31.Dec.07</description>
         <content:encoded><p>If the time travel crushes the scissors BEFORE they cut the space aliens, will the space aliens still beat time travel?  Because if they do, they don't, and if they don't, they do.</p>

<p>Oops.  We must have violated causality.  How else explain the black hole coming at us at .75<i>c</i>?</p>
	 <p>Posted December 31, 2007  4:21 PM by Xopher</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239447</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239447</guid>
         <pubDate>Mon, 31 Dec 2007 16:21:47 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #112 from Fragano Ledgister</title>
         <description>comment from Fragano Ledgister on 31.Dec.07</description>
         <content:encoded><p>No, no, the black hole blunts the scissors (extremely).</p>
	 <p>Posted December 31, 2007  4:25 PM by Fragano Ledgister</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239449</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239449</guid>
         <pubDate>Mon, 31 Dec 2007 16:25:22 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #113 from Xopher</title>
         <description>comment from Xopher on 31.Dec.07</description>
         <content:encoded><p>Fragano, what beats the black hole?  </p>
	 <p>Posted December 31, 2007  4:29 PM by Xopher</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239451</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239451</guid>
         <pubDate>Mon, 31 Dec 2007 16:29:17 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #114 from Michael R. Bernstein</title>
         <description>comment from Michael R. Bernstein on 31.Dec.07</description>
         <content:encoded><p>xeger @ #97:</p>

<p>"I made the presumption, erroneously, perhaps, that the core language would include core libraries that were sufficient to many tasks."</p>

<p>I don't think that's an erroneous presumption, but 'many' != 'all'.</p>

<p>It sounds as though you're talking about the built in ConfigParser module, except I don't think it does nesting at all. There are other 3rd-party libraries available such as cfgparse, ConfigObj, and iniparse, as well as much more elaborate frameworks such as ZConfig, that are suitable for various configuration purposes. Some people want simplicity, others want features, and everyone wants *their* library included in the standard library. A single library can't satisfy everyone, and a standard library shouldn't (generally) contain competing implementations. Python is a 'batteries included' language, not a 'and the kitchen sink' language.</p>

<p>Meanwhile, piecing together your various statements on the problem, I'm now somewhat bemused at the idea of describing any multi-megabyte file as a 'configuration file', so I still think you may just have been trying to use the wrong tool for the job.</p>

<p>Since the $foo problem description is still incomplete, at this point I am no longer sure what the right tool would be, but I think we've established that using a built-in library intended for parsing simple configuration files isn't it. ;-)</p>
	 <p>Posted December 31, 2007  4:32 PM by Michael R. Bernstein</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239453</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239453</guid>
         <pubDate>Mon, 31 Dec 2007 16:32:35 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #115 from Serge</title>
         <description>comment from Serge on 31.Dec.07</description>
         <content:encoded><p>Mary Dell @ 109... <i>I was getting my causality reversed.</i></p>

<p>?oot ytilausac ruoy ndA</p>
	 <p>Posted December 31, 2007  4:37 PM by Serge</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239454</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239454</guid>
         <pubDate>Mon, 31 Dec 2007 16:37:31 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #116 from Earl Cooley III</title>
         <description>comment from Earl Cooley III on 31.Dec.07</description>
         <content:encoded><p>Xopher #113: <em>Fragano, what beats the black hole?</em></p>

<p>Entropy evaporates the black hole. </p>
	 <p>Posted December 31, 2007  4:38 PM by Earl Cooley III</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239455</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239455</guid>
         <pubDate>Mon, 31 Dec 2007 16:38:16 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #117 from Michael R. Bernstein</title>
         <description>comment from Michael R. Bernstein on 31.Dec.07</description>
         <content:encoded><p>Xopher @ #113: <a href="http://en.wikipedia.org/wiki/The_Black_Hole" rel="nofollow"> A telepath</a>, of course.</p>
	 <p>Posted December 31, 2007  4:38 PM by Michael R. Bernstein</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239456</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239456</guid>
         <pubDate>Mon, 31 Dec 2007 16:38:59 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #118 from Joel Polowin</title>
         <description>comment from Joel Polowin on 31.Dec.07</description>
         <content:encoded><p>Fragano @ 112: I thought it was a <a href="http://en.wikipedia.org/wiki/Neutron_Tide" rel="nofollow">neutron star</a> warping an engineer's wrench..?<br />
</p>
	 <p>Posted December 31, 2007  4:53 PM by Joel Polowin</p></content:encoded>
         <link>http://nielsenhayden.com/makinglight/archives/009755.html#239463</link>
         <guid isPermaLink="true">http://nielsenhayden.com/makinglight/archives/009755.html#239463</guid>
         <pubDate>Mon, 31 Dec 2007 16:53:36 -0500</pubDate>
      </item>
      
                  <item>
         <title>The root of all evil -- comment #119 from xeger</title>
         <description>comment from xeger on 31.Dec.07</description>
         <content:encoded><p>Michael R. Bernstein @ 114 ...<br />
<i>Meanwhile, piecing together your various statements on the problem, I'm now somewhat bemused at the idea of describing any multi-megabyte file as a 'configuration file', so I still think you may just have been trying to use the wrong tool for the job.</i></p>

<p>I do have the some of config files in question handy, still - the largest two are 6.0Mb and 1.7Mb respectively.  I'm not about to claim that those aren't bloody huge (especially since they're plain text), but they're definitely what most people consider to be config files - files containing the rules that te