<!-- for Emacs, this is a -*- html-fill -*- document -->
<!-- $Id: diary-jul2004.html,v 1.41 2005/02/27 22:03:21 grog Exp $ -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta name="description" content="Greg Lehey's online diary" />
    <meta name="keywords" content="diary, Lehey, AUUG, UNIX" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    <title>Greg's diary--July 2004</title>
<style type="text/css">
 div.c2 {font-size: 80%; text-align: center}
 div.c1 {text-align: center}
</style>
  </head>

  <body>
    <table summary="heading">
      <tr>
        <td><img src="/grog/grog-passport-thumbnail.jpeg" alt="Greg" /> </td>
        <td align="center" width="60%">
          <table summary="title">
            <tr>
              <td align="center"><a href="index.html"><font size="6"><b><a
              href="index.html">Greg</a>'s diary</b></font></a> </td>
            </tr>

            <tr>
              <td align="center"><font size="6"><b>July 2004</b></font></td>
            </tr>
          </table>
        </td>
        <td align="right" width="35%">
          <table summary="Links">
            <tr>
              <td align="right"><a href="diary.html">Today's diary entry</a></td>
            </tr>

            <tr>
              <td align="right"><a href="diary-about.html">About this diary</a></td>
            </tr>

            <tr>
              <td align="right"><a href="diary-jun2004.html">Previous month</a></td>
            </tr>

            <tr>
              <td align="right"><a href="diary-aug2004.html">Next month</a></td>
            </tr>

            <tr>
              <td align="right"><a href="/grog/photos.html">Greg's photos</a></td>
            </tr>

            <tr>
              <td align="right"><a href="/grog/index.html">Greg's home page</a></td>
            </tr>

            <tr>
              <td>
                <form method="get" action="http://www.google.com/search">
                  <table bgcolor="#ffffff" summary="Google search form">
                    <tbody>
                      <tr>
                        <td align="right" colspan="2"><input type="text" name="q" size="30"
                        maxlength="255" value="" /></td>
                      </tr>

                      <tr>
                        <td><a href="http://www.google.com/"><img
                        src="http://www.google.com/logos/Logo_40wht.gif" border="0"
                        alt="Google" /></a></td>
                        <td><input type="submit" name="btnG" value="Google Search" /> </td>
                      </tr>
                    </tbody>
                  </table>
                </form>
              </td>
            </tr>
          </table>
        </td>
      </tr>
    </table>

    <div align="justify">
      <h2><a name="1">Thursday, 1 July 2004</a></h2>
      Finally I'm getting back to normal, but it's not easy.  As I've said many times before,
      setting up a new machine is just too difficult.  At least I now have the feeling that I've
      found a better approach than before: basically, keep all mods to the system and ports
      configuration under RCS on a separate file system.  Then, along with a list of the <i>real</i>
      ports I've installed (not including the myriad dependent ports), I should be able to create a
      complete new system almost automatically.  At least now I have time to debug the procedure. 

      <p>
      Today it wasn't helped, however, by a couple of problems.  It seems that FreeBSD 5.2.1 runs
      really badly on the new MSI <a
      href="http://www.msi.com.tw/program/products/mainboard/mbd/pro_mbd_detail.php?UID=436">K7N2
      Delta motherboard</a> , but 5-CURRENT runs well, so ended up doing the installation with the
      system disk from <i>beeble</i>.  This is in fact probably the best way to do it, rather than
      installing from CD-ROM.  In this case, it was somewhat confused by the fact that somebody had
      broken world, and I had to re-<i>cvsup</i> to get a consistent source tree.
      </p>

      <p>
      All that was in the background; the good news is that I can get back to some kind of work
      on my program.
      </p>

      <h2><a name="2">Friday, 2 July 2004</a></h2>
      Still more work on the new system today.  It's falling into place, but it never fails to
      surprise me how long it takes.  Hopefully the work I'm doing now will pay off in the future. 

      <p>
      To <a href="http://www.grumpys.com.au/">Grumpy's</a> in the afternoon with a <a
      href="brewing/brew-30.html">couple</a> of <a href="brewing/brew-32.html">bottle</a> of beer
      for criticism.  To my surprise, both Andrew and Thomas liked them.  Damn.  Now I don't have any
      clear way to improve them.  Bought some English yeast for one of the next couple of brews,
      which will be roughly like <a href="brewing/brew-30.html">Brew 30</a>.  We'll see how much
      difference that makes.
      </p>

      <h2><a name="3">Saturday, 3 July 2004</a></h2>
      Back to working on <a href="http://www.auug.org.au/auugn/">AUUGN</a> today, in the process
      debugging some macros and working out an automatic way to build the <i>download</i> file that
      <i>groff</i> uses to decide which fonts to include in a PostScript document.  In FreeBSD, the
      file is called <i>/usr/share/groff_font/devps/download</i>, and it contains a lookup from
      font name to the file which contains the description: 
<pre>
# List of downloadable fonts
# PostScript-name   Filename

Symbol-Slanted              symbolsl.pfa
ZapfDingbats-Reverse        zapfdr.pfa
</pre>
      The second entry on each line is the name of a file in the same directory.  They start with a
      line like: <tt>%!PS-AdobeFont-1.0: Garamond-Bold 001.003</tt>, which gives the information
      needed for <i>download</i>.  The following single line script adds to it: 
<pre>
grep AdobeFont *.pfa | sed 's/:.*://'|awk '{print $2 "\t" $1}' &gt;&gt; download
</pre>

      <p>
      Apart from that, more work on the automatic system upgrade.  Some of the tools are not
      really laid out for this kind of work: the <tt>install</tt> target in <i>/usr/src/etc/</i>
      does nothing more than to build a couple of <i>whatis</i> files.  The real install target is
      called <tt>distribution</tt>, and if you invoke it without any special options, it overwrites
      your <i>/etc</i> file system, provided that all the subdirectories it expects are present:
      there's a target <tt>distrib-dirs</tt> to create them, but <tt>distribution</tt> doesn't
      (yet) depend on it.  Played around with that for a while and was able to install <i>/etc</i>
      on my virgin disk.
      </p>

      <p>
      Also working on how to build ports, somewhat confused by the fact that some of them don't
      appear to work correctly with <tt>DESTDIR</tt> set:
      </p>
<pre>
  /mnt/usr/local/man/man1/s2p.1
/usr/bin/strip: /mnt/usr/local/bin/perl5.8.4: No such file or directory
</pre>
      I'm also still running into various problems with the new motherboard, so since it's
      apparently as good as identical with the motherboard in <i>wantadilla</i>, which has been
      running reliably for months, decided to swap the systems around.  That was more work than I
      thought: apart from random issues like a monitor cable disconnecting itself from the monitor,
      old <i>wantadilla</i> didn't boot properly with the new <i>beeble</i> system: I got watchdog
      timeouts on both Realtek and a 3Com Ethernet boards, and they didn't go away until I disabled
      the APIC.  Clearly we have problems with recent -CURRENT. 

      <h2><a name="4">Sunday, 4 July 2004</a></h2>
      A whole day spent brewing beer! The first couple of times round it was fun, but now it's just
      looking like a lot of work.  Things went relatively smoothly, except that I forgot to read my
      notes from last time, and so made some minor mistakes (or &ldquo;suboptimal choices&rdquo;)
      which I could have avoided. 

      <p>
      In <a href="diary-mar2004.html#6">March</a> two of our video recorders died in rapid
      succession, and we sent them down to an el-cheapo place to have the symptoms (tape eating)
      fixed.  This turned out to be a bad idea; yes, it didn't cost much, but one still had such bad
      tracking that we can only use it as a tuner for the <a href="http://www.tivo.com/">TiVo</a>,
      and the other one died again with the same symptoms this evening.  It doesn't seem to be worth
      replacing it.  We bought a special offer video recorder from Coles last month for only $129,
      with 6 head technology and NTSC playback.  The firmware's a bit baroque, but we'll survive
      until I finally get my computer-based system together, so we'll look for another one.
      </p>

      <h2><a name="5">Monday, 5 July 2004</a></h2>
      Today I should have got on with my program, but I still hadn't finished the system upgrade,
      and decided that it would be more productive to finish that first.  Somehow it took up the
      whole day.  I wish I had a more accurate way of predicting the time things take. 

      <p>
      The new motherboard <i>does</i> seem to be defective.  Now it's in the old
      <i>wantadilla</i>, which has been stable for months, but today I had multiple problems: first
      <i>Netscape</i> crashed multiple times, not in itself such an uncommon occurrence, but it
      hasn't happened for a while; later I had two spontaneous system resets.  How I hate flaky
      hardware!
      </p>

      <h2>Tuesday, 6 July 2004</h2>
      Another hardware day.  Finally decided that the new motherboard was flaky enough to send back,
      even though I couldn't demonstrate obvious problems.  Also sent back the motherboard and disk
      from <i>echunga</i> that died <a href="diary-jun2004.html#28">last week</a>.  Of course they
      couldn't replace the motherboard imemediately&mdash;it's 9 months old and thus
      obsolete&mdash;so I'll have to wait a couple of weeks for a replacement. 

      <p>
      <a href="/yvonne/">Yvonne</a> came back with the new hardware and also a Samsung cordless
      mouse that I had enquired about but not ordered&mdash;not the first time that they've sent
      things that I haven't ordered.  Still, the reason I didn't order the mouse was because they
      said it only had two buttons and a roller; it turned out that it has &ldquo;five
      buttons&rdquo; and a roller, at least one on each side.  Unfortunately, I don't have
      documentation, so it'll be a while before I can use the thing.
      </p>

      <p>
      In addition, Yvonne brought back another video recorder, the same as the one she bought
      from Coles last month.  The last one cost $129; this one cost $99, probably less than the cost
      of repairing the old failed one.  Didn't have the time (or necessity) to install it today.
      </p>

      <p>
      More interesting than either was my new laptop, a <a
      href="http://www1.us.dell.com/content/products/productdetails.aspx/inspn_9100?c=us&amp;cs=19&amp;l=en&amp;s=dhs">
      Dell Inspiron 9100</a> that had been left me by somebody else in the company.  In general,
      hand-me-downs are less than successful, but in this case it was almost exactly what I want,
      especially since it was a top-end unit.  Somehow it's typical, though, that the one thing that
      interests me&mdash;the display resolution&mdash;wasn't top-end: only 1680x1050, barely more
      than 4-year-old <i>sydney</i>.  I suspect that the real issue is that Microsoft platforms
      can't use higher resolution.
      </p>

      <p>
      Put the new motherboard into new <i>wantadilla</i>, and no longer had the stability
      problems I had seen before.  Instead, I got an interrupt flood on the Ethernet cards.  I had
      seen this before on the previous motherboard, too, but there I could get rid of it by
      disabling the APIC.  This time, disabling the APIC didn't help.  I had to reallocate the IRQ to
      get rid of the problem.  Why does each motherboard have its own problems? And yes, of course I
      set the BIOS settings to the same values.
      </p>

      <p>
      Still, the system upgrade procedure is working well.  I think I've made enough progress now
      to start again from scratch and confirm that it works.
      </p>

      <p>
      Despite all this, also found some time to work on my program.  Things are now looking a lot
      more uniform, and I feel happier about it; but it'll still be a while before I finish ironing
      out the wrinkles.
      </p>

      <h2><a name="7">Wednesday, 7 July 2004</a></h2>
      How long these things take! The admin work, which I had hoped to have out of the way this
      time last week, is still with me.  To get the system update thing working properly, decided to
      start again, this time with the new 80 GB disk that I had got yesterday in exchange for the
      defective <i>/src</i>.  There's enough space on that to have two system partitions of 10 GB
      each and a separate <i>/home</i> partition.  That way future upgrades use the alternate system
      partition, and you don't have to worry about changing hardware around: just boot from the
      other partition.  If it doesn't work as expected, going back to the old version is as simple
      as rebooting from the other partition. 

      <p>
      Also accepted the fact that I had to do something about my mail.  My inbox was hitting the
      10,000 message mark, and more importantly coming towards the magic 48 MB after which
      <i>postfix</i> stops saving messages.  I thought I could get rid of 5,000 messages relatively
      quickly.  Maybe I did: interleaved with other work, it took me 4 hours, or about 4 seconds per
      message.  Still too long.  I should unsubscribe from some lists.
      </p>

      <p>
      Under those circumstances, it wasn't practical to work on my program, so turned my
      attention to the new <a
      href="http://www1.us.dell.com/content/products/productdetails.aspx/inspn_9100?c=us&amp;cs=19&amp;l=en&amp;s=dhs">
      Inspiron 9100</a>, which runs Microsoft &ldquo;XP Professional&rdquo;.  Getting that to run
      was quite an experience.  Though the machine had already installed all the software, I had to
      add myself as another user, which required reinstalling the software.  &ldquo;Outlook
      2003&rdquo; required remote product registration, either via the Internet or by phone.  I have
      no intention of taking the risk of connecting any Microsoft machine to the Internet, so I
      chose the phone method.  Type in <b>42</b> digits, and get another 42 digits back.  You'd think
      that people would make more of the advantage of Open Source software that you don't have to
      do this kind of nonsense.  It has nothing to do with the cost of the software, just the time
      and inconvenience it takes to install it.
      </p>

      <h2><a name="8">Thursday, 8 July 2004</a></h2>
      Still more admin work today, and got to understand the Microsoft box better; it's running a
      version called &ldquo;XP Professional&rdquo;, and although it's pretty much as painful as
      other versions of Microsoft, it has one good feature: I can access the &ldquo;desktop&rdquo;
      from another machine with the <i>rdesktop</i> program.  <i>rdesktop</i> has some
      strangenesses, and I couldn't get it to stop reversing the mouse buttons, but it means that I
      have almost a real keyboard and a reasonable sized display to work with. 

      <p>
      Also continued work on the upgrade to <i>wantadilla</i>&mdash;the machine paniced once in
      <tt>bzero</tt>, which doesn't make me very happy.  Maybe it's the memory after all.  I'll have
      to keep an eye on it.
      </p>

      <p>
      In the evening, the <a href="product-reviews/digitrex.html">Digitrex DVD recorder</a> hung
      itself up again.  It's been less frequent, but it's still there.  The only way to reset it is
      to pull the power plug and reinsert it: if ever a device needed a power switch, it's this
      one.  This time it caused enough of a surge to blow the residual current sensor, quite a feat
      for a device without a ground pin.  When I turned it back on again, the UPS continued to beep,
      although it had power.  Took the thing apart (&ldquo;no user-serviceable parts inside&rdquo;)
      and found, well, no user-serviceable parts.  After some investigation discovered that the
      power connector itself included a well hidden fuse:
      </p>

      <p>
      <a id="fuse" name="fuse" href="Photos-20040709.html#fuse"><img
      alt="Click on the picture to see a medium-size version in the index"
      src="Photos/20040709/tiny/fuse.jpeg" /></a>
      </p>

      <p>
      In case that's still not obvious, it's the black area between the connector and the
      inscription <b>INPUT</b>.  It even contained a replacement fuse, quite a nice idea.  Now if
      only that had been more obvious from the outset.
      </p>

      <h2><a name="9">Friday, 9 July 2004</a></h2>
      Finally things are almost back to normal again.  I'm continuing my upgrade of
      <i>wantadilla</i> in the background, and I managed to sort out my problems with the Microsoft
      box as well: it seems that <i>rdesktop</i> problems were due to a strange feature of
      &ldquo;XP Professional&rdquo; that turns the mouse buttons round for USB mice only (well,
      also for <i>rdesktop</i>, it would seem).  I wonder why anybody would want his buttons
      reversed only for specific mice.  Also managed to install a newer license manager for the <a
      href="http://www.oed.com/">Oxford English Dictionary</a>, which actually looks a lot better
      on <i>rdesktop</i> than it ever did on the machine itself. 

      <p>
      Back to work on my program, and I'm roughly where I was two weeks ago, before I decided to
      rewrite the endian layer, and before I had the hardware problems.  The difference is that
      things look so much clearer now.
      </p>

      <p>
      Having a Microsoft box on the network means opening yourself to many more vulnerabilities,
      and I've been working on tightening up my firewall.  Here's the most interesting output from
      <i>iptables</i> for a 24 hour period:
      </p>
<pre>
  463 74104 DROP       all  --  sm200d *       0.0.0.0/0            10.0.0.0/8         
  147  7136 DROP       tcp  --  sm200d *       0.0.0.0/0            0.0.0.0/0          tcp dpt:80 
 1304 63588 DROP       tcp  --  sm200d *       0.0.0.0/0            0.0.0.0/0          
   85  6630 DROP       udp  --  sm200d *       0.0.0.0/0            0.0.0.0/0          udp dpt:137 
  139 25449 DROP       udp  --  sm200d *       0.0.0.0/0            0.0.0.0/0          
  681 43968 DROP       all  --  sm200d *       0.0.0.0/0            192.109.197.95     
30454 1470K DROP       tcp  --  sm200d *       0.0.0.0/0            0.0.0.0/0          tcp dpt:135 
 5015  243K DROP       tcp  --  sm200d *       0.0.0.0/0            0.0.0.0/0          tcp dpt:139 
77563 3746K DROP       tcp  --  sm200d *       0.0.0.0/0            0.0.0.0/0          tcp dpt:445 
25889 1261K DROP       tcp  --  sm200d *       0.0.0.0/0            0.0.0.0/0          tcp dpt:80 
  203 23656 DROP       all  --  *      *       0.0.0.0/0            192.109.197.169    
 1129 54992 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          tcp dpt:25 
67572 3269K DROP       tcp  --  sm200d *       0.0.0.0/0            0.0.0.0/0          tcp flags:0x0212/0x022 
 9738  760K DROP       udp  --  sm200d *       0.0.0.0/0            0.0.0.0/0          udp dpt:137 
 4405 2177K DROP       udp  --  sm200d *       0.0.0.0/0            0.0.0.0/0          
   21   840 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0          
</pre>
      There are other rules there too, but they're not as effective.  This shows that in the course
      of 24 hours I have bounced in the order of 12 MB of traffic&mdash;not only unwanted, but
      indiscriminate.  That's about a third of my total traffic.  It's about time that this kind of
      abuse were made illegal, world-wide.  I suppose it will be one day, but first the legislators
      need to understand what it's all about.  And yes, probably most of the traffic comes from
      innocently affected Microsoft boxes.  That's not an excuse, any more than driving an
      unroadworthy car is an excuse for having an accident. 

      <h2><a name="10">Saturday, 10 July 2004</a></h2>
      Back to working on <a href="http://www.auug.org.au/auugn/">AUUGN</a> today, and again made
      relatively good progress.  If this continues, I may be able to continue to edit it.  But it
      would be a whole lot better if I could get more people to participate. 

      <p>
      In the afternoon, Gareth Andrews came around with a computer on which he wanted to run my
      <a href="brewing/temperature-control.html">temperature control software</a>.  Installed
      FreeBSD 4.10 on it (and, as I later discovered, left the CD in the drive when he took it
      home), and then the temperature control software.  That was worthwhile: I found numerous
      buglets which needed correcting.  Still, all told, including installing FreeBSD, the hardware
      and the temperature control software, not to mention a bit of beer tasting, we were done in
      three hours.  Gareth knows nothing about FreeBSD, though, and I fear he might have a bit of
      difficulty coming to terms with different concepts.
      </p>

      <h2><a name="11">Sunday, 11 July 2004</a></h2>
      Somehow another day where nothing much happened.  Chris Yeardley showed up to pick up a laptop
      I had got for her, and spent some time looking at that; it's a hot-off-the-press Asus W1000.
      It has lots of multimedia stuff on it, including a remote control, and I was left wondering
      whether it was a computer or a TV.  Spent some time playing with the multimedia stuff, and in
      the process brought out my new <a
      href="http://www1.us.dell.com/content/products/productdetails.aspx/inspn_9100?c=us&amp;cs=19&amp;l=en&amp;s=dhs">
      Inspiron 9100</a> and discovered it had much of the same stuff on it.  I can't help
      marvelling, though, how bad all this stuff is.  It has a thing called &ldquo;Dell Media
      Experience&trade;&rdquo; which claims to have &ldquo;the features and controls of a normal
      living-room DVD player&rdquo;.  I suppose that depends on your definition of
      &ldquo;normal&rdquo;, but I'd expect at least slow motion and search functions, all of which
      are missing.  Comparing with Chris' machine, it appears that the &ldquo;Dell Media
      Experience&trade;&rdquo; is really a front end to the equally emetic &ldquo;Windows Media
      Player&rdquo;, though I can't see where the interface is.  About the only thing that the
      latter has in common with the living-room DVD player is the stupid button panel at the bottom
      of the window: 

      <p>
      <img src="Images/20040711/wmp.gif" alt="Toy interface, part 1" />
      </p>

      <p>
      It looks like a toy, but if the &ldquo;toy&rdquo; impression isn't strong enough, it's
      relatively trivial to convert this stupid window into an even more stupid-looking
      &ldquo;skin&rdquo;:
      </p>

      <p>
      <img src="Images/20040711/skin.gif" alt="Toy interface, part 2" />
      </p>

      <p>
      On the other hand, I haven't found out how to display a DVD with it.  I put a DVD in the
      drive, but it didn't find it.  When I tried navigating the windows that Microsoft makes you
      use for finding files, they were there:
      </p>

      <p>
      <img src="Images/20040711/wmp-menu.gif" alt="Toy interface, part 3" />
      </p>

      <p>
      I can also display them if I go via the &ldquo;Dell Media Experience&trade;&rdquo;, so
      it's obviously just a matter of pressing the right mouse buttons.  What a pain!
      </p>

      <p>
      After that, to complete the joy of Microsoft, we tried to set up satellite networking with
      another machine that Chris had brought.  We finally succeeded, but like with so many things
      about Microsoft, we don't know why.  Very frustrating.
      </p>

      <p>
      In the evening, worked on a new <a href="recipes/chicken-curry.html">chicken curry
      recipe</a> to cater to <a href="/yvonne/">Yvonne</a>'s taste.  With a bit of work, it won't be
      bad.
      </p>

      <h2><a name="12">Monday, 12 July 2004</a></h2>
      Up bright and early this morning to get back to work on my program.  First, noticed that one
      of my nightly backups had failed because of lack of space, so decided to put in the new 200
      GB drive that I had bought for that purpose.  A couple of minutes into the backup, the system
      panicked with a divide fault.  Tried to take a processor dump, but it didn't work.  On
      rebooting, the system panicked again, this time with a different problem.  Still no dump
      possible.  Tried to do remote debugging and discovered that the sources were on the same
      system.  But I didn't want to move them to where they belonged, because that was the file
      system I wanted to back up. 

      <p>
      Tried a number of different things and established that it was definitely a software bug,
      presumably somewhere in UFS, triggered by the somewhat unusual parameters I set up for the
      drive, possibly the <tt>-g 1000000000</tt> (&ldquo;average file size is 1 GB&rdquo;).  Gave up
      on it for now; the backup is more important.  Hopefully I'll be able to reproduce the bug when
      I have time; it could be an interesting one for my debug tutorial.
      </p>

      <p>
      After that, thoroughly exhausted, back to work on my program.  Didn't get very far.  I'm
      coming to the conclusion that programming is like running: you can sprint for a short
      distance, but you can't keep that pace up for very long, and you need to find a (slower)
      sustainable pace.
      </p>

      <p>
      In the afternoon received a parcel in the mail, apparently containing a dead rat:
      </p>

      <p>
      <a id="dead-rat" name="dead-rat" href="Photos/20040712/big/dead-rat.jpeg"><img
      alt="Click on the picture for an enlarged version (384 kB)"
      src="Photos/20040712/tiny/dead-rat.jpeg" /></a>
      </p>

      <p>
      Further investigation showed that it was more harmless: a <a
      href="Thumbnails-20040712.html#dead-rat-2">hop plant</a> that I had ordered a week or two
      ago.  It would have been nice for them to have identified it better.
      </p>

      <h2><a name="13">Tuesday, 13 July 2004</a></h2>
      More stability problems; <i>zaphod</i> hung up during a level 0 dump shortly after 9 pm last
      night, presumably the old NFS deadlock.  I've been trying to do a dump for 24 hours now.  Grrr.
      

      <p>
      More work on my program today, and finally got back on track with what I had been doing
      before my current spate of hardware problems.  Things are looking good again.
      </p>

      <p>
      In the afternoon, another dump failure, this time caused by <i>kondoparinga</i> panicking.
      I wish I knew why I can't get a dump on this machine.  Started the dump Yet Again.
      </p>

      <p>
      Later in the afternoon into town for a normal and a special general meeting of the <a
      href="http://www.itcouncil.asn.au/">IT Council of South Australia</a>.  The latter was to
      approve a new constitution, which limited the number of people on the board of directors to 9
      (isn't that a popular number?), and elected new members, one of whom was me.  It'll be
      interesting to see how things go now.
      </p>

      <p>
      In the evening, <i>zaphod</i> hung again.  Still no dumps!
      </p>

      <h2><a name="14">Wednesday, 14 July 2004</a></h2>
      My dump failed again! Only half an hour after I started it, <i>kondoparinga</i> (provisional
      name for new <i>wantadilla</i>) panicked in the <tt>rl</tt> Ethernet driver with a VM fault.
      That's certainly nothing to do with the disk system, but I still couldn't get a dump.  I
      suspect a conspiracy of hardware and software.  Addressed the <tt>rl</tt> problem by replacing
      the Realtek card with a 3Com, though it's not clear that it's a problem with the card or the
      driver. 

      <p>
      One thing is becoming clear: <i>dump</i> is not the tool to use.  It has a number of great
      disadvantages:
      </p>

      <ol>
        <li>
        It only works on real file systems.
        </li>

        <li>
        As a result, you can't make dumps of individual directories.
        </li>

        <li>
        You also can't dump a network mounted file system.
        </li>

        <li>
        <i>dump</i> has different formats on almost every system.  Even in FreeBSD,
        <i>restore</i> on release 4 can't read dumps from release 5.
        </li>
      </ol>

      <p>
      Years ago I recommended <i>tar</i> for these reasons; it has none of these disadvantages
      (well, there are still some minor format differences, but there are solutions to them).  Time
      to return to <i>tar</i>.  Today I started doing a backup of the top-level directories in
      <i>/src</i>, which took at least as long.  It's possible that <i>dump</i> has a slight
      performance edge.  Also, <i>bzip2</i> must be one of the most CPU-intensive programs I know.
      It took over 2 hours of CPU time on <i>kondoparinga</i> (currently running as an Athlon XP
      2500+) to compress a 17 GB tar archive.  At least&mdash;by the evening&mdash;I completed the
      dump.
      </p>

      <p>
      On with my program, and made good progress.
      </p>

      <h2><a name="15">Thursday, 15 July 2004</a></h2>
      On with my program today, and finally reached the first milestone: I can now store and
      retrieve data.  Now to work on the details of storage. 

      <p>
      More work with the air conditioner today, which has been icing up continually.  Took the
      thing apart and put the sensor in the coolest part of the coil; hopefully we'll have some
      peace now.
      </p>

      <h2><a name="16">Friday, 16 July 2004</a></h2>
      Spent most of today looking through some code to add to my program, and finally decided that
      the easiest way to find out how it worked would be to look at it in action with other code
      that used it, not made any easier by the fact that my tree was out of date, and that I had
      unwittingly added updates since.  Managed to get that sorted out and found another 5 levels
      beyond where I had got in the documentation.  Debuggers are really useful, especially since
      the documentation can't say <i>which</i> parser is used.  Spent the rest of the day analysing
      what I had found. 

      <p>
      Another <a href="product-reviews/Canon-breakage.html#16-July-2004">letter from Canon</a>
      today, relating to my scanner.  They're not prepared to do anything beyond refund the money
      for the scanner.  I'll probably do that in the end, but I'm left with a bad taste in my mouth.
      It's clear that this scanner was brought to the market with inadequate software, and since
      they refuse to release the specs&mdash;by no means typical of the industry&mdash;they're
      effectively releasing non-functional products and just putting up with the not-too-frequent
      complaint.  That's not the behaviour of a reputable company.  I had in the past toyed with
      buying a Canon camera.  They've certainly ensured that I won't buy anything else from them
      until I see evidence in a change of attitude.
      </p>

      <p>
      My hopes to have fixed the air conditioner proved to be premature, as I came out and found
      the de-icing sensor probe covered in ice.  Decided that it was obviously defective, so removed
      it from the machine for <a href="/yvonne/">Yvonne</a> to take and get a replacement.  When I
      had done so, I saw the underside of the switch (where the contacts are) for the first
      time:
      </p>

      <p>
      <a id="switch-top-1" name="switch-top-1" href="Photos-20040716.html#switch-top-1"><img
      alt="Click on the picture to see a medium-size version in the index"
      src="Photos/20040716/tiny/switch-top-1.jpeg" /></a>
      </p>

      <p>
      The third contact (between the other two) is unused; it's normally open.  But what's that
      screw in the middle? It looked like an adjusting screw, and some experiments with the deep
      freeze and some iced water proved it was.  Put it back in the air conditioner, this time with
      the screw facing upwards, and was able to adjust the thing so that it de-iced properly.  What
      a surprise! It's been <a href="airtech/index.html#7-May-1998">over six years</a> since we
      first reported this problem, and it's all a documentation problem, one that obviously no air
      conditioner technicians know about.  Spent some time adjusting the screw, which is
      surprisingly sensitive.
      </p>

      <p>
      I'm also left with the question: should I turn on early, which results in a de-icing cycle
      of only a few seconds, but which happens relatively frequently, or turn off late, which can
      take up to 30 seconds to de-ice, but which doesn't happen very often?
      </p>

      <h2><a name="17">Saturday, 17 July 2004</a></h2>
      Quiet day.  I had intended to finish my work on <a
      href="http://www.auug.org.au/auugn/">AUUGN</a> today, but didn't make much progress.  Bottled
      <a href="brewing/brew-33.html">some beer</a> in the morning, and spent repeated short periods
      of time adjusting the de-icing switch on the air conditioner. 

      <p>
      I'm beginning to think that the de-icing switch sensor is still in the wrong place.  First,
      some background about the machine and how it works: like all air conditioners and
      refrigerators, it compresses refrigerant, which heats it up, and then allows it to expand,
      which cools it down significantly.  The trick is maintaining reference temperatures.
      </p>

      <p>
      Normally, fridges and air conditioners first pass the heated refrigerant through a coil
      (think: &ldquo;radiator&rdquo;) to cool it down to ambient temperature; after further cooling
      through expansion, the refrigerant is used for cooling something, such as a room or the
      interior of a fridge.
      </p>

      <p>
      It can also work in the other direction: after cooling, the refrigerant is warmed up to
      ambient temperature, again through a coil.  Then it's compressed and gets a lot hotter, and
      that's used to warm things.  This is the way we use it in winter.
      </p>

      <p>
      There are two problems with heating:
      </p>

      <ol>
        <li>
        The cooled refrigerant enters the coil at temperatures below 0 C, which causes
        atmospheric humidity to condense and freeze.  That's why we need de-icing.  In a completely
        dry atmosphere, it wouldn't be necessary, and the coil temperature could easily drop far
        below 0.
        </li>

        <li>
          <p>
          The switch measures temperature, not icing, and the temperature curve is very
          non-linear.  It drops rapidly to 0, but if enough ice forms, it then stays there:
          freezing water creates a lot of heat.  I can adjust the temperature to just about anything
          I want, but it needs to be very exact.
          </p>
        
       </li>
      </ol>

      <p>
      All this makes me think that maybe the sensor is mounted in the wrong place, or mounted
      incorrectly.  I can think of two ways to take advantage of the physical situation:
      </p>

      <ol>
        <li>
        Mount the sensor less closely in contact with the coil.  It won't cool down until some
        ice forms, creating better thermal contact.
        </li>

        <li>
        Mount the sensor higher up the coil, where the temperature is also higher (the
        refrigerant enters at the bottom and leaves at the top), and wait for the ice to form there
        before de-icing.
        </li>
      </ol>
      The sensor <i>was</i> originally mounted higher up, so maybe I should do something about
      that. 

      <h2><a name="18">Sunday, 18 July 2004</a></h2>
      Spent most of the day working on AUUGN, and more or less got finished.  A large part of the
      job was just getting a framework together; next time round should be a lot easier, but I
      suspect if anybody else takes over editorship, he'll change the tools again, and it'll all be
      a throwaway implementation.  Still, since I'm using my <a href="tmac.G">standard macros</a>,
      it gives me a chance to fine-tune them, particularly the macros for generating the table of
      contents. 

      <h2><a name="19">Monday, 19 July 2004</a></h2>
      Back to normal work today, researching some existing code that I have to put into my program.
      The main issue is that it's part of a library, and I need to disentangle it.  Made reasonable
      progress with that. 

      <p>
      Also paid some attention to mail; I've now passed the 10,000 message mark, and I'm coming
      dangerously close to the 48 MB above which <i>postfix</i> refuses to store messages.
      </p>

      <p>
      Also spent more time working on the new system installation stuff.  It's getting better,
      but it's still not done.  This is a real pain.
      </p>

      <h2><a name="20">Tuesday, 20 July 2004</a></h2>
      More work on my program today.  Incorporating the existing code into my program turned out to
      be easier than expected.  I had planned for the rest of the week to do it, but by midday I had
      the first half finished, the half that I thought would be more difficult.  That probably means
      that the other half will be a pig and will keep me busy until the end of next week... 

      <h2><a name="21">Wednesday, 21 July 2004</a></h2>
      Today spent most of the morning looking at the second half of this week's work, a library
      function in our library which I needed to extricate from the functions with which it's bound.
      Then I discovered that both FreeBSD and Linux have the same functionality in the library.  By
      that time I was just about done with the extraction, so I wrote a test program with both
      versions and confirmed that they both did the same thing.  That's the rest of this week's work
      done already. 

      <h2><a name="22">Thursday, 22 July 2004</a></h2>
      More tidying up work today; it's about time I finally cut over <i>kondoparinga</i> as the new
      <i>wantadilla</i>.  Installing <a href="http://www.openoffice.org/">OpenOffice</a> still
      proves to be a pain, not made any easier by some Ethernet problems: yesterday a card died on
      me, and today one started reporting ridiculously long packets (over 32 kB).  This caused a
      panic in <tt>bcopy</tt>, called from <tt>rl_rxeof</tt>, presumably because the interrupt
      handler hadn't checked the length before calling it.  Unfortunately, I still can't dump the
      system, so wasn't able to do much except put in another card. 

      <p>
      Some performance measurements on the work side of things, with interesting results.
      </p>

      <h2><a name="23">Friday, 23 July 2004</a></h2>
      Spent some time debugging today, most of it spent debugging the debugging macros.  Didn't find
      the main bug I was looking for. 

      <p>
      Apart from that, decided that I should finally complete the transition to the new
      <i>wantadilla</i>.  <a href="/yvonne/">Yvonne</a> brought back some hardware today, notably a
      new hard disk for my laptop, so I can now install FreeBSD on the Inspiron 9100.  A surprising
      amount of preparation is necessary for that.  Managed to install Microsoft &ldquo;XP
      Professional&rdquo; on the new disk&mdash;hopefully moving to a new disk doesn't constitute
      breach of their EULA&mdash;which will free up the big disk for a real operating system or
      three.  Installation was surprisingly easy, and it didn't even overwrite my FreeBSD partition,
      but at the end of it the only network interface it could find was firewire.
      </p>

      <h2><a name="24">Saturday, 24 July 2004</a></h2>
      Spent most of today playing around with hardware.  We've decided that we can't use the <a
      href="product-reviews/digitrex.html">Digitrex</a> DVD player any more, so spent some time
      looking for alternatives involving our <a href="http://www.Tivo.com/">TiVo</a>, but beyond
      finding a <i>vserver</i> already installed on the machine, didn't make much progress. 

      <p>
      Most of the time was taking up building software on laptops.  On the <a
      href="http://www.Microsoft.com/">Microsoft</a> front, discovered that none of the
      Dell-specific drivers had been installed.  The Microsoft install procedure doesn't cater for
      installing vendor-specific drivers; considering that Microsoft itself is only half an
      operating system (native hardware support is minimal), that's particularly bad.  At the end of
      the install, I had to install each driver individually from the Dell CD-ROM, requiring
      multiple key clicks per driver, with almost no help as to whether I really needed the driver
      or not.
      </p>

      <p>
      At the end, rebooted and discovered that, although I had asked Microsoft to install in
      &ldquo;Drive <tt>D:</tt>&rdquo; (the second partition on the disk), it had installed in the
      first two partitions; the first is a Dell diagnostic partition, only 39 MB in size.  There
      seemed to be no way past that.  In the end, deleted the partition (isn't it nice to have a
      <i>dd</i> backup of the partitions?) and got it to work.  In the process, discovered that
      FreeBSD's <i>fdisk</i> can also work on copies of MBRs:
      </p>
<pre>
<font color="blue">=== root@kondoparinga (/dev/ttyp0)</font> <font
color="red">/home/Sysconfig</font> <font
color="blue">27</font> -&gt; fdisk /dumpb/adelaide/bootsector 
fdisk: device /dumpb/adelaide/bootsector is not character special
******* Working on device /dumpb/adelaide/bootsector *******
parameters extracted from in-core disklabel are:
cylinders=0 heads=255 sectors/track=63 (16065 blks/cyl)

parameters to be used for BIOS calculations are:
cylinders=0 heads=255 sectors/track=63 (16065 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 7 (0x07),(OS/2 HPFS, NTFS, QNX-2 (16 bit) or Advanced UNIX)
    start 80325, size 30678795 (14979 Meg), flag 80 (active)
        beg: cyl 5/ head 0/ sector 1;
        end: cyl 1023/ head 169/ sector 63
The data for partition 2 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 30759120, size 27846000 (13596 Meg), flag 0
        beg: cyl 1023/ head 170/ sector 1;
        end: cyl 1023/ head 254/ sector 63
The data for partition 3 is:
&lt;UNUSED&gt;
The data for partition 4 is:
&lt;UNUSED&gt;
</pre>

      <p>
      In the meantime, also installed FreeBSD on the new disk on the other laptop
      (<i>eucla</i>), using the system upgrade procedure I'm working on.  Had a few additional
      hiccoughs, but it seems to work.
      </p>

      <h2><a name="25">Sunday, 25 July 2004</a></h2>
      Somehow got nothing done today.  Continued installing FreeBSD on <i>eucla</i>, which went a
      little better than yesterday, and by the evening had the machine pretty much the way I wanted
      it.  The big success story was the <a href="http://www.x.org/">new X system from X.org</a>,
      which installed without problem and started without a configuration file&mdash;this on a
      machine with a 1680x1050 wide screen display.  Very impressive. 

      <p>
      Spent some time burning CD-Rs for <a href="http://www.auug.org.au/auugn/">AUUGN</a>.  Given
      the failures we have had in the past, made two copies of each on different burners and
      checked that the other burner could read the results.  They could, but there seems to be
      something strange about the way they're burnt: I can use <i>dd</i> to read in a CD-R, and it
      reads in correctly, but then it gets an I/O error trying to read beyond the end:
      </p>
<pre>
<font color="blue">=== root@eucla (/dev/ttyp2)</font> <font color="red">/var/tmp</font> <font
color="blue">14</font> -&gt;  dd if=/dev/acd0 of=fedora2.iso bs=128k
dd: /dev/acd0: Input/output error
5093+0 records in
5093+0 records out
667549696 bytes transferred in 241.148143 secs (2768214 bytes/sec)
</pre>
      The same thing doesn't happen with CD-Rs burnt on other systems.  I wonder what causes it. 

      <p>
      Today was the 22nd anniversary of the day I met <a href="/yvonne/">Yvonne</a>&mdash;also a
      Sunday.  A lot of water has flowed under the bridge in that time.  Off to <a
      href="http://www.maximilians.com.au/">Maximilians</a> in Verdun to celebrate.
      </p>

      <h2><a name="26">Monday, 26 July 2004</a></h2>
      Somehow didn't get much done again today.  Spent some time debugging allocation problems on my
      program, and found a couple of bugs, but they weren't the cause of the problem.  Maana. 

      <h2><a name="27">Tuesday, 27 July 2004</a></h2>
      More work on my program today, and found a number of bugs, including the one I was looking
      for.  Using <i>gdb</i> macros certainly makes things easier, but it also has its down side: at
      least one of the incidences of corruption that I thought I saw was in fact due to a macro
      misinterpreting data.  Still, got past all the current problems and moved on to the next bug. 

      <h2><a name="28">Wednesday, 28 July 2004</a></h2>
      Still more debugging, and discovered more supposed bugs which were in fact due to bugs in the
      debugging macros.  If only the <i>gdb</i> macro language weren't so obscure! Found all bugs
      and fixed all but one: there's one remaining endian issue in the index pointers.  That's going
      to have to wait until tomorrow. 

      <p>
      Creating the CD-Rs for <a href="http://www.auug.org.au/auugn/">AUUGN</a> proves to be more
      of a headache than I expected: this quarter, amongst other things, we're supplying a CD-R of
      <a href="http://www.fedora.us/">Fedora Core 2</a>.  In the past, we've always only supplied
      one the first CD of sets, and things have worked well.  Not so this time: the first CD
      apparently doesn't even contain the base X window system.  Looks like we'll have to supply CD
      2 as well, which makes it look silly that we're not also doing CD 3.  Grrr.
      </p>

      <h2><a name="29">Thursday, 29 July 2004</a></h2>
      Finally finished download disk 2 of the <a href="http://www.fedora.us/">Fedora Core 2</a>
      CD-Rs today, so burnt one and tried to install it on <i>eucla</i>.  The installation failed in
      the middle: the installed system couldn't read the second CD-R, which I had burnt and tested
      on the same drive.  The same thing happened with one burnt on <i>adelaide</i>.  Spent a lot of
      time checking, without coming to any firm conclusion, but it looks as if there might be
      something about the way FreeBSD burns CD-Rs that doesn't appeal to Fedora's kernel.  An
      installation of Red Hat 9, almost the same system, worked fine and was able to read the CDs.
      It looks as if both Fedora and FreeBSD have to share the blame here: Fedora should be able to
      read CD-Rs that other systems can read, and FreeBSD should not burn CDs that are less
      readable than the ISOs from which they were derived.  Grrr.  David Newall came to the rescue
      with the CDs he used to install Fedora, and sent them off to the replicators. 

      <p>
      In the process, took a cursory look at Red Hat 9.  I hate it! This is a Microsoft
      lookalike.  It took me several minutes just to find a way to start an <i>xterm</i>.  When is
      the computer industry going to get out of sign language mode?
      </p>

      <p>
      Off to Melbourne in the evening for an <a href="http://www.auug.org.au/">AUUG</a> board
      meeting.  Stayed at the <a href="http://www.duxton.com/melb.htm">Duxton Hotel</a>, not for the
      first time, but today had great trouble with the air conditioning, which seems to be a
      problem with the system: the temperature control is as good as useless.  Why do people have so
      much trouble with thermostats?
      </p>

      <h2><a name="30">Friday, 30 July 2004</a></h2>
      Up at the crack of dawn today, helped by the inclement temperature in the room, to start the
      board meeting at an atypical 8 am.  As Immediate Past President, I'm taking a back seat this
      year.  Things don't look good: David Purdue, the new President, only intends to stay in the
      position for one year, and there's talk of winding up AUUG due to lack of interest.  Our
      membership has dropped 50% since November 2000, and there's no evidence (as we thought we had
      two years ago) that the rate of decline is slowing.  One thing that was agreed on (somewhat
      against my will) was that <a href="http://www.auug.org.au/auugn/">AUUGN</a> will cease
      publication as a paper magazine, though we'll continue with some electronic form at least for
      a while. 

      <p>
      Back home in the evening with a feeling that I hadn't really achieved anything
      worthwhile.
      </p>

      <blockquote>
        <i>On 10 August 2004, Abby Dinham of ZDNet Australia wrote <a
        href="http://www.zdnet.com.au/news/software/0,2000061733,39155827,00.htm">an article</a>
        based on these statements.  She (he?) didn't contact me first, and as a result she got the
        wrong end of the stick.  For example, she quoted the statement:</i> &ldquo;there's talk of
        winding up AUUG due to lack of interest.&rdquo; <i>Yes, that's true.  There's been such talk
        for at least three years.  We'll probably continue to have such discussions for the next few
        years; it's part of our duty to consider this kind of eventuality and to gauge whether it's
        going to pose a real threat.</i> 

        <p>
        <i>Without the kind of background that regular readers of this diary have, it's easy to
        misinterpret such statements.  Abby seems to have thought that the issue is immediate.  I
        obviously need to be careful what I say in this diary.</i>
        </p>

        <p>
        <i>As if that wasn't enough, on 13 August, Iain Ferguson, another <a
        href="http://www.zdnet.com.au/">ZDNet</a> reporter has smelt blood and <a
        href="http://www.zdnet.com.au/news/business/0,39023166,39156198,00.htm">reinforced Abby's
        behaviour</a>, performing no further investigation and deliberately ignoring the context or
        my request to contact me first.  It's not surprising that he got things wrong.  But then, he
        couldn't even read what I had written.  Reluctantly, I'm going to have to put a copyright on
        this diary to minimize the number of people quoting me out of context.  I don't want to stop
        people quoting me, but it doesn't help anybody if people go and invent things because
        they're too lazy to do their research.  I wonder if this sloppy reporting is the kind of
        image that ZDNet intends to project.</i>
        </p>
      </blockquote>

      <h2><a name="31">Saturday, 31 July 2004</a></h2>
      Another &ldquo;new weekend&rdquo; day, where I did no real work.  Did spend some time looking
      for video software; it seems that most software is more concerned about silly-looking
      &ldquo;skins&rdquo; than functionality.  <i>mplayer</i> seems to be the most popular one, but
      it doesn't have slow motion play, let alone reverse or slow reverse.  After a while started
      installing <i>xine</i>, which at least promises slow motion, but I have this horrible
      premonition that I'm going to have to hack <i>mplayer</i> to do what I want.  Somehow the free
      software scene is drifting off-topic.
    </div>

    <p>
    <!-- ====== Footings ================================================================== -->
    
   </p>
    <hr />
    <a id="bottom" name="bottom"></a> 

    <table summary="footings" width="100%">
      <tr>
        <td width="20%"><a href="diary-jun2004.html">Previous month</a></td>
        <td width="20%"><a href="index.html">Greg's home page</a></td>
        <td width="20%"><a href="diary.html">Today's diary entry</a></td>
        <td width="20%"><a href="diary-aug2004.html">Next month</a></td>
        <td width="20%"><a href="photos.html">Greg's photos</a></td>
      </tr>

      <tr>
        <td>
        </td>
      </tr>

      <tr>
        <td><a href="http://validator.w3.org/check/referer"><img
        src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31"
        width="88" /></a> </td>
        <td colspan="4" align="center"><font size="-1">$Id: diary-jul2004.html,v 1.41 2005/02/27 22:03:21 grog Exp $</font> </td>
      </tr>
    </table>
  </body>
</html>

