<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/1.5.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
>

<channel>
	<title>fdiv.net</title>
	<link>http://fdiv.net</link>
	<description>the floating point divide</description>
	<pubDate>Wed, 30 Jul 2008 17:51:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=1.5.2</generator>
	<language>en</language>

		<item>
		<title>Some Crazy MacBook Pro Checkerboard Graphics Corruption / Crash</title>
		<link>http://fdiv.net/2008/02/15/some-crazy-macbook-pro-checkerboard-graphics-corruption-crash/</link>
		<comments>http://fdiv.net/2008/02/15/some-crazy-macbook-pro-checkerboard-graphics-corruption-crash/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 18:34:40 +0000</pubDate>
		<dc:creator>smokris</dc:creator>
		
	<category>Antisocial Story</category>
	<category>Yon Reptile Campaign</category>
	<category>Apple</category>
		<guid>http://fdiv.net/2008/02/15/some-crazy-macbook-pro-checkerboard-graphics-corruption-crash/</guid>
		<description><![CDATA[	Last summer Kosada purchased a MacBook Pro for the president of Yon Reptile Campaign.  It&#8217;s been a great improvement over the old Dell laptop he was formerly using, and, though he was initially worried about whether he&#8217;d be able to grasp the new UI, he seems to have picked it up quickly, and he [...]]]></description>
			<content:encoded><![CDATA[	<p><img align="right" src="http://img.b33p.net/pub/zE14cdTlco08Nid8arNNAJAUuDvmyWl3/thumbnail-256"/>Last summer <a href="http://kosada.com/">Kosada</a> purchased a MacBook Pro for the president of Yon Reptile Campaign.  It&#8217;s been a great improvement over the old Dell laptop he was formerly using, and, though he was initially worried about whether he&#8217;d be able to grasp the new UI, he seems to have picked it up quickly, and he reports that he&#8217;s been loving it.</p>
	<p>But this morning he called me with a rather odd problem:</p>
	<blockquote><p>&#8220;I hooked up my Treo and started syncing it, then walked away for a few minutes.  When I returned, the screen was covered with a bunch of squares, and I can&#8217;t do anything.&#8221;</blockquote>
<a id="more-119"></a></p>
	<p>He took a few photos with his cellphone camera and emailed them to me (click for full-size):<br />
<a target="_new" href="http://img.b33p.net/pub/8l3SZ4dJ8jbUXqjU4jB0O5RnfDph8_bV"><img src="http://img.b33p.net/pub/8l3SZ4dJ8jbUXqjU4jB0O5RnfDph8_bV/thumbnail-256"/></a><a target="_new" href="http://img.b33p.net/pub/bG1i2Tz8SJg39EoEtsm7_48rrHKin1wg"><img src="http://img.b33p.net/pub/bG1i2Tz8SJg39EoEtsm7_48rrHKin1wg/thumbnail-256"/></a><a target="_new" href="http://img.b33p.net/pub/zE14cdTlco08Nid8arNNAJAUuDvmyWl3"><img src="http://img.b33p.net/pub/zE14cdTlco08Nid8arNNAJAUuDvmyWl3/thumbnail-256"/></a></p>
	<p>(You can see bits of the menu-bar scattered around the screen, and it looks like <a href="http://www.markspace.com/missingsync_palmos.php">Missing Sync</a> had launched iPhoto.  Possibly related?)</p>
	<p>I talked him through a few tests.  He was able to see the mouse cursor and move the mouse, but clicking didn&#8217;t cause any apparent response.  He could activate Dashboard &#8212; Dashboard itself looked fine, and the checkerboard showed through in the background.  He then tapped the power button, and the &#8220;Are you sure you want to shut down your computer now?&#8221; dialog appeared, but it was scrambled and the buttons didn&#8217;t work.</p>
	<p>I instructed him to power it off by holding the power button down.  Since rebooting, it&#8217;s been working fine.</p>
	<p><em>*Confused.*</em></p>
	<p>I googled it a bit but wasn&#8217;t able to find any clear reports of this happening to other people.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://fdiv.net/2008/02/15/some-crazy-macbook-pro-checkerboard-graphics-corruption-crash/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Who was that MAC&#8217;d man anyway?</title>
		<link>http://fdiv.net/2007/06/25/who-was-that-macd-man-anyway/</link>
		<comments>http://fdiv.net/2007/06/25/who-was-that-macd-man-anyway/#comments</comments>
		<pubDate>Mon, 25 Jun 2007 05:21:44 +0000</pubDate>
		<dc:creator>cwright</dc:creator>
		
	<category>Antisocial Story</category>
	<category>Yon Reptile Campaign</category>
		<guid>http://fdiv.net/2007/06/25/who-was-that-macd-man-anyway/</guid>
		<description><![CDATA[	For those that deal with complex networking, having a device&#8217;s MAC address can be very helpful in diagnostics, configuration, and firewalling.  Often just using a device&#8217;s IP address is enough, but what about DHCP?  Unless you can control the device&#8217;s IP range, this can cause many hours of troubleshooting.  This is where [...]]]></description>
			<content:encoded><![CDATA[	<p><img align="right" src="http://img.b33p.net/pub/seFUtnCie-QhsND6YY0bYQ-RODZrFmbt/thumbnail-256" alt="A3 20/60 1/6 CCB" />For those that deal with complex networking, having a device&#8217;s <acronym title="Media Access Control">MAC</acronym> address can be very helpful in diagnostics, configuration, and firewalling.  Often just using a device&#8217;s <acronym title="Internet Protocol">IP</acronym> address is enough, but what about <acronym title="Dynamic Host Configuration Protocol">DHCP</acronym>?  Unless you can control the device&#8217;s IP range, this can cause many hours of troubleshooting.  This is where having a MAC address helps.</p>
	<p><a id="more-93"></a></p>
	<p>So, how do we get this elusive MAC address anyway?  For many devices, it&#8217;s printed right on the device.  This is by far the easiest and fastest way to get it.  But some devices hide this information, and have no interface for figuring it out.  For cases like this, we can whip out a handy utility called <code>arp</code> and some network-jutsu, and purloin these delicious octets with reckless abandon.<!--more--></p>
	<p><code>arp</code> is a program that manipulates the <acronym title="Address Resolution Protocol">ARP</acronym> cache on a system.  The ARP cache translates an IP address into a hardware, or MAC, address.  So, by pulling data out of this cache, we can find out which MAC address our system uses when we speak to a specific IP address.</p>
	<p>Using <code>arp</code> is very simple for what we&#8217;re looking to do.  <code>arp [ip address]</code> will tell us what a given IP or hostname&#8217;s MAC address is.  This usage looks like this on linux:</p>
	<p><code>cwright@leikata:~>arp 10.1.1.7<br />
Address                  HWtype  HWaddress           Flags Mask            Iface<br />
vaeltaja.softpixel.com   ether   00:11:24:E9:92:AC   C                     eth0</code></p>
	<p>or this on OS X:</p>
	<p><code>cwright@phendrana:~>arp 192.168.255.5<br />
server.example.com (192.168.255.5) at 0:30:6e:29:b2:55 on en1 [ethernet]<br />
</code></p>
	<p>So far, so good.  We can pull data out of the cache, and the MAC address is right there.  Is there a catch?  Of course there is.</p>
	<p>Not having an address in the cache will, of course, make a cache query useless.  This is what such a condition looks like on linux:</p>
	<p><code>cwright@leikata:~>arp google.com<br />
google.com (64.233.187.99) -- no entry</code></p>
	<p>or this on OS X:</p>
	<p><code>cwright@phendrana:~>arp 35.42.42.42<br />
35.42.42.42 (35.42.42.42) -- no entry</code></p>
	<p>No entry!?  How can this be?  In this example, we&#8217;re trying to get the MAC address from an address that isn&#8217;t on our local network.  Since we only use MAC address for communication on the same <acronym title="Local Area Network">LAN</acronym>, we don&#8217;t cache, and thus cannot acquire, MAC addresses from non-local addresses.</p>
	<p>Sometimes, however, we&#8217;ll receive that error for a machine that <em>is</em> on the network.  This happens because we haven&#8217;t communicated with the destination machine.  To solve this, we simply need to initiate some communication so that we&#8217;ll cache the MAC address.  I like to use the ping utility, like this:</p>
	<p><code>cwright@phendrana:~&gt;arp 192.168.255.11<br />
  192.168.255.11 (192.168.255.11) -- no entry</code></p>
	<p><code>cwright@phendrana:~&gt;ping 192.168.255.11<br />
  PING 192.168.255.11 (192.168.255.11): 56 data bytes<br />
  64 bytes from 192.168.255.11: icmp_seq=0 ttl=30 time=2.612 ms<br />
  ^C<br />
  --- 192.168.255.11 ping statistics ---<br />
  1 packets transmitted, 1 packets received, 0% packet loss<br />
  round-trip min/avg/max/stddev = 2.612/2.612/2.612/0.000 ms</code></p>
	<p><code>cwright@phendrana:~&gt;arp 192.168.255.11<br />
  ? (192.168.255.11) at 0:d0:d9:2:f7:6 on en1 [ethernet]</code></p>
	<p>In the first <code>arp</code>, we have no data in the cache.  So, we ping the destination, causing some communication, and thus some cached data.  After that, we can query again, and we have our MAC address ready and waiting.  That wasn&#8217;t so hard, now was it?
</p>
]]></content:encoded>
			<wfw:commentRSS>http://fdiv.net/2007/06/25/who-was-that-macd-man-anyway/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Somebody set up us the Beowulf</title>
		<link>http://fdiv.net/2007/06/11/somebody-set-up-us-the-beowulf/</link>
		<comments>http://fdiv.net/2007/06/11/somebody-set-up-us-the-beowulf/#comments</comments>
		<pubDate>Mon, 11 Jun 2007 15:06:16 +0000</pubDate>
		<dc:creator>cwright</dc:creator>
		
	<category>Antisocial Story</category>
	<category>Yon Reptile Campaign</category>
		<guid>http://fdiv.net/2007/06/11/somebody-set-up-us-the-beowulf/</guid>
		<description><![CDATA[	Recently we had an interesting opportunity to deploy 7 identical customized machines for Yon Reptile Campaign.  We&#8217;ve been working on disk images to make this quick and painless, and have more or less succeeded.  However, getting an archived image onto the machines has a few different methods, depending on circumstance.  We also [...]]]></description>
			<content:encoded><![CDATA[	<p><img align="right" src="http://img.b33p.net/pub/GPXk2-E7aOLLet4b25SqT5ikB40-wxOv/thumbnail-256" alt="emergency shower" />Recently we had an interesting opportunity to deploy 7 identical customized machines for Yon Reptile Campaign.  We&#8217;ve been working on disk images to make this quick and painless, and have more or less succeeded.  However, getting an archived image onto the machines has a few different methods, depending on circumstance.  We also get to pay a penalty every time the underlying hardware changes, since the image bundles in specific drivers.  Usually we&#8217;re able to work around this with minimal pain.</p>
	<p>Excitingly, these new machines broke the mold (they&#8217;re slightly older, considerably cheaper machines), so we had to tweak the image a bit.  <a id="more-80"></a>  This was thankfully quite painless.  In a burst of excitement, we also decided that on the morrow we would take our working image, and use that as the source for the other machines, rather than using an archive from the e-mail/intranet server.  By doing this, we could completely uncap transfer speeds on a tiny network (which we have up until now been heavily capping because saturating the network makes all the other network services shut down).</p>
	<p>The reason why this is at all interesting or important?  <a href="http://folding.stanford.edu/">Folding@Home</a>.<!--more--></p>
	<p>The expected deployment date for these new machines is not in the immediate future.  Up until now we&#8217;ve usually just put undeployed machines under a desk to bide their time until they go live.  With this new batch of machines though, we&#8217;d be crazy to not utilize this block of unused computing power for something altruistic.</p>
	<p>The only tool kit we used is the <a href="http://www.sysresccd.org/">SystemRescueCD</a>.</p>
	<p>First, we configured the network settings.  This is easily accomplished using the well known tool <code>ifconfig</code>.  Nothing fancy there.</p>
	<p>Next, we configured the root password.  Since this was a completely private network, we chose a weak password.  Not a big deal.  <code>passwd</code> is your friend.</p>
	<p>Then, we started actually trying sftp, ftp, and ssh, and found that they&#8217;re all not running out of the box.  A quick <code>/usr/sbin/sshd</code> reveals an interesting error:  no key in <code>/etc/ssh/ssh_host_rsa_key</code> or <code>/etc/ssh/ssh_host_dsa_key</code>.  To generate the keys, we did this: <code>ssh-keygen -b 768 -f /etc/ssh/ssh_host_rsa_key -N ''</code> and then <code>ssh-keygen -b 768 -f /etc/ssh/ssh_host_dsa_key -N ''</code>.  Then a quick <code>/usr/sbin/sshd</code> and the image master was in business.</p>
	<p>This revealed yet another problem, this time a conservative bug in sftp: you can&#8217;t <code>get /dev/hda</code> because it&#8217;s &#8220;not a regular file.&#8221;  This posed quite a problem.  However, we found that by repeating the steps above on each machine, we could have the image master &#8220;push&#8221; the image onto the others in this fashion: <code>cat /dev/hda | ssh root@[ip address] cat \> /dev/hda</code>.  This caused the image master to dump the harddrive, and then tunnel it to the others over ssh, where they would take the tunneled data and place it on /dev/hda, which is the harddrive.</p>
	<p><img align="right" src="http://img.b33p.net/pub/28_cMwCf8mLKzvD76-E2zP-KGNQu6Ism/thumbnail-256" alt="CAUTION!  This machine uses style 20k punches only!" />In the process of imaging each of these machines, we were also able to test the efficacy of ssh&#8217;s <code>-C</code> compression switch.  We discovered that while uncompressed machines ran at about 10-11 Megabytes per second (100Mbps limit), compressed streams ran at only 100 Kilobytes per second.  We couldn&#8217;t really measure how much the data was compressed, but we were pretty sure compressed streams were being soundly outpaced by the uncompressed ones.  We eventually threw our hands up in disgust and restarted the compressed stream test machine so that it would use uncompressed streams and finish before it was time to go retire.</p>
	<p>This worked pretty well.  It made our Linksys switches want to retire.  No time profiling was done.  We learned that this isn&#8217;t too useful out of the box without some tweaks, since intervention was required on every machine.  But for a small cluster like this, it wasn&#8217;t a problem at all.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://fdiv.net/2007/06/11/somebody-set-up-us-the-beowulf/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>The Secret Life Of a Patch</title>
		<link>http://fdiv.net/2007/05/15/the-secret-life-of-a-thunderbird-patch/</link>
		<comments>http://fdiv.net/2007/05/15/the-secret-life-of-a-thunderbird-patch/#comments</comments>
		<pubDate>Tue, 15 May 2007 23:38:57 +0000</pubDate>
		<dc:creator>cwright</dc:creator>
		
	<category>Antisocial Story</category>
	<category>Yon Reptile Campaign</category>
	<category>Software Development</category>
		<guid>http://fdiv.net/2007/05/15/the-secret-life-of-a-thunderbird-patch/</guid>
		<description><![CDATA[	Mozilla is an open source project that produces some widely used software.  Their most noteworthy product to date is Firefox, a standards-compliant web browser.
	Being open source, their projects and products are often enhanced by the contributions of others.  These contributions often come in the form of a &#8220;patch&#8221; &#8212; a file that tells [...]]]></description>
			<content:encoded><![CDATA[	<p><img align="right" width="123" height="96" src="http://img.b33p.net/pub/Ds64KB-NVNLm4tgm7lhspEsR3jTl6wAh/png-indexed-64" alt="Thunderbird.app" /><a href="http://mozilla.org/">Mozilla</a> is an open source project that produces some widely used software.  Their most noteworthy product to date is <a href="http://www.mozilla.com/en-US/firefox/">Firefox</a>, a standards-compliant web browser.</p>
	<p>Being open source, their projects and products are often enhanced by the contributions of others.  These contributions often come in the form of a &#8220;patch&#8221; &#8212; a file that tells the computer what to change in the source code to add the contribution.<a id="more-74"></a>  Each organization has their own policy for submitting patches, and their own rules for who gets to apply patches, what to do if one of them breaks something, etc.</p>
	<p>On the Mozilla site, there is a huge corpus of documentation describing all the rules, regulations, and policies regarding path submission, application, and review.  They also document how to create patches.  The source of information is completely staggering.  This is a mixed bag of blessing (all the information you need is available &#8230;) and curse (&#8230; if you&#8217;re patient enough to find it)&#8230;  I&#8217;m more of a visual-step-by-step kind of learner, so I&#8217;m going to cover some of their basic patch creation and submission policies here.  Note that just about all of this can be gleaned by reading all their documentation.  But I found that this method was more intuitive to me, and perhaps a bit snappier (even if it did break their protocol a few times).</p>
	<p>This is the process and timeline that I have experienced with my first patch &#8212; a simple modification to Mozilla Thunderbird to add a new &#8220;Add to Bcc:&#8221; button to the message composition window.  </p>
	<p><strong>2007.04.02</strong> &#8212; I complete the initial (alpha) version of the patch, and do some personal testing.  Testing is very important.</p>
	<p><strong>2007.04.03 11:17:52 PDT</strong> &#8212; I revise my patch.  This includes some layout changes, and some public testing.  At this point, I create a patch for submission to Mozilla.  The command I used: <code># diff -Naur mozilla.orig mozilla</code>.  When submitting a patch, they have several drop-down checkboxes with archaic options.  This meant little to me, but I figured <code>+</code> was the best-looking option I had.  I check that, and submitted the patch.</p>
	<p><img src="http://softpixel.com/~cwright/images/mozilla.options.png" alt="Mozilla Patch Option set" height="411" width="626" /> <img src="http://softpixel.com/~cwright/images/mozilla.options.2.png" alt="Mozilla's Archaic Patch Selection Choices" height="190" width="335" /></p>
	<p><strong>2007.04.03 14:18:39 PDT</strong> &#8212; My first submission feedback arrives: I didn&#8217;t diff against the correct original source branch, and I missed a few preferred diff parameters.  Suggested command: <code># diff -pu8 </code>.  Also, the <code>+</code> option was apparently special, and I wasn&#8217;t supposed to check that (<code>+</code> means the patch has been reviewed by a module owner, and has been found acceptable for superreview.)  I do some testing, and find that <code>-pu8</code> seems inappropriate; <code>-p</code> is for C function names (my patch was to some XML), and <code>-u8</code> is deprecated.  Correct usage is <code># diff -U 8 </code> for the desired result.</p>
	<p><strong>2007.04.03 20:11:08 PDT</strong> &#8212; At this point, I contact the feedback guy for more information, asking what I should do to create a more acceptable patch.  I create a patch against the current CVS, using similar commands to the above.  Submitted a new patch to obsolete the old one.</p>
	<p><strong>2007.04.03 09:25:14 +0200</strong> &#8212; He responds with some very helpful feedback regarding things a patch must include.  It must be versioned against the current CVS, and it must also include index lines for revision information.  I quickly form an appropriate patch with the correct format.  The correct command isn&#8217;t diff at all, but this: <code># cvs diff -p -u -8</code>.  This makes a patch that can be applied to the source in-place.  It also indexes which files are modified, and marks their revision number in CVS.  This makes backing-out the patch &#8212; if necessary &#8212; easier.<br />
<strong><br />
2007.04.04 02:03:03 PDT</strong> &#8212; I generate the correct form of patch, and submit again (3rd patch, obsoleting the previous two).  I also request review from bienvenu.  It&#8217;s a long wait, so I go do other things, like work on other patches.<br />
<strong><br />
2007.04.05 08:19:43 PDT</strong> &#8212; The patch is granted review (it gets that <code>+</code> that I mistakenly set on the first one), and automatically gets promoted to superreview from mscott.  However, there is a question attached that indicates a lack of actual testing.  The reviewer asks about the aesthetics of the new widget.</p>
	<p>Then, the standard Open Source Controversy takes control&#8230;<br />
<strong>2007.04.05 13:37:10 PDT</strong> &#8212; concerned-user</p>
	<blockquote><p>
> looks reasonable to me - one question - does the contacts siderbar initially<br />
> come up wide enough to see all three buttons?</p>
	<p>No, definitely not. For all major platforms it&#8217;s too narrow. The &#8216;To&#8217; and &#8216;CC&#8217;<br />
buttons already fills up the complete width. If the new hbox doesn&#8217;t wrap we<br />
get an ugly scrollbar. On the other hand we shouldn&#8217;t enlarge the contact<br />
sidebar anymore. It has still the correct width. IMO the &#8216;BCC&#8217; button has to<br />
wrap into the next line.
</p></blockquote>
	<p>Frustrating as it is, I gather my composure and read the whole set of exchanges that have gone on in my absence.  The whole &#8220;Wrap into the next line&#8221; thing really pushed my buttons since it <em>does</em> wrap, as designed.  I specifically revised the patch before ever even posting it to include this behaviour, because, as noted, it&#8217;s ugly/unusable if it doesn&#8217;t wrap.  I know this from testing, something that obviously isn&#8217;t happening anywhere else yet&#8230;</p>
	<p>At this point, the bug officially gets assigned to me (since I&#8217;m working on the patch), and I post a reply indicating tested behavior of the patch (which no one else seems to have done thus far&#8230;):</p>
	<p><strong>2007.04.05 14:24:06 PDT</strong> &#8212; cwright</p>
	<blockquote><p>
Woah, woah, calm down :)  I&#8217;ll try to explain.  In the contacts side bar, we<br />
have the address book selector, the directory pane, and then the add-to and<br />
add-cc button hbox.  With the additional hbox for the add-bcc button, it simply<br />
takes space from the directory listing.  It does _Not_ change the width of the<br />
side bar.  It does _Not_ change the height of the side bar.  It does _Not_<br />
change the window dimensions in any way.  Its modifications to the user<br />
interface are just about the same as the ones for the extension that was<br />
mentioned in Comment #22.  Nothing radical.</p>
	<p>I developed it and tested it on OS X, surely one of the &#8220;Major Platforms&#8221; you<br />
reference.  Normal window size is perfectly usable.  Maximizing the window does<br />
not wrap.  Maximizing the window and then dragging the side-bar resizer all the<br />
way to the right still doesn&#8217;t wrap.  That&#8217;s what the spring tags are for I<br />
believe (they&#8217;re in both hboxes, just in case).</p>
	<p>Would it be more helpful to just fling up some before/after screenshots?
</p></blockquote>
	<p>Hopefully someone will actually test the patch before it gets included in the release branch.  Empirical evidence suggests that this won&#8217;t be the case though.</p>
	<p><strong>2007-04-09 05:36:22 PDT</strong> &#8212; (apparently, open source developers don&#8217;t work over Easter.) I get my first positive feedback:  Any chance to get this into TB 2?</p>
	<p>Don&#8217;t get your hopes up yet though.  This school of thought is shot down in short order.</p>
	<p><strong>2007-04-09 09:14:32 PDT</strong></p>
	<blockquote><p>
(In reply to comment #40)<br />
> add-cc button hbox.  With the additional hbox for the add-bcc button, it simply<br />
> takes space from the directory listing.  It does _Not_ change the width of the<br />
> side bar.  It does _Not_ change the height of the side bar.  It does _Not_</p>
	<p>Especially on Mac OS X the default width of the sidebar is still too narrow.<br />
The  right side of the CC-Button is still cut-off. Can you provide a screenshot<br />
after this changes were applied? Are the To and CC buttons smaller with that<br />
patch? </p>
	<p>> Would it be more helpful to just fling up some before/after screenshots?</p>
	<p>Indeed. It would be. </p>
	<p>(In reply to comment #41)<br />
> Any chance to get this into TB 2?</p>
	<p>No, it is too late for TB2.0 bcause we also have <abbr title="Localization">l10n</abbr> changes here.
</p></blockquote>
	<p>Once again, did anyone bother to test the patch?  I upload a screen shot, and hope that gets around the &#8220;actually-build-and-look-at-the-screen&#8221; bug that these people are suffering from.</p>
	<p><img src="http://softpixel.com/~cwright/images/BCCButton.jpg" alt="Screenshot to save others from having to test my patch." width="260" height="514"/></p>
	<p>Four days pass, and all is silent.  Is someone testing the patch?  Did they fall asleep?  Finally, someone chimes in.  And, they tested and patch.  <em>And</em> they have more to gripe about&#8230;</p>
	<p><strong>2007-04-13 23:52:22 PDT</strong></p>
	<blockquote><p>Thank you Christopher. Meanwhile I got my Mac OS X to build my own builds.<br />
After integrating your patch all looks fine. But there is one thing what I<br />
would prefer. IMO putting the CC and BCC button on one line would make a bit<br />
more sense due to both sending copies to given recipients. David what&#8217;s your<br />
opinion?</p></blockquote>
	<p>It took 9 days to get someone else to test this patch.  And verify it&#8217;s ok-fullness.  But it only took 1 day to get review, and there&#8217;s still no word on superreview.  It is now no wonder why there are so many stupidly trivial extensions out there;  It seems to be the only way to actually change Thunderbird&#8217;s behavior.</p>
	<p>The distinction between &#8220;copy&#8221; and &#8220;actual&#8221; seems very arbitrary.  The only reason a To: field exists in E-mail is to mess around with reply versus reply-to-all scenarios.  While BCC and CC have similar operation in this way, I feel that To: and CC: are better grouped together because both are published information, while those in the BCC field are unpublished. I don&#8217;t know that there&#8217;s a right answer to this, but I have a feeling there&#8217;s going to be some debate about it anyway.</p>
	<p>I figured there would be some kind of discussion or suggestion period at this point.  However, I was quite mistaken.  Instead the list remained silent for another 7 days, and then there was another request for help applying the patch.</p>
	<p><strong>2007-04-20 11:01:25 PDT</strong> &#8212;                                    </p>
	<blockquote><p>How do I apply the patch on comment #30?  When I click on the link, I see the<br />
code.</p></blockquote>
	<p>So basically, we can group our responses into two categories:</p>
	<ul>
	<li>People who want the patch applied, and have little or no experience with programming or patching</li>
	<li>People who like to drag their feet without qualified statements</li>
	</ul>
	<p><strong>2007-04-30 11:01:37 PDT</strong> &#8212;<br />
Some more administrative action takes place: The <acronym title="Quality Assurance">QA</acronym> Contact is changed from undefined to message-compose@thunderbird.bugs, a bogus-looking e-mail address.</p>
	<p><strong>2007.05.13</strong> &#8212; When I initially started this entry over 40 days ago, I figured it&#8217;d be 4 or 5 weeks from start to finish.  This would work out to be about 1 week per line of code, which is more than fair.  After all, at that rate it would take thousands of years for the bigger patches that regularly make it in somehow.</p>
	<p>This, unfortunately, is not the case.  We&#8217;ll be pushing 6 weeks now, which is ridiculous for a non-branching, cosmetic patch.  I can understand the volume of show-stopping bugs, the ones that crash Thunderbird, the &#8220;important&#8221; bugs and all that.  I really do.  But at rates like this, I can also see why nothing has changed significantly with the Thunderbird project in several years.  Why the 1.5, 2.0, and 3.0alpha are all the same program, with minor alterations.  And, most importantly, why the amount of contribution to this project leave a lot to be desired.  I&#8217;ll continue another entry when/if this ever wraps up, but in the meantime, I think we may be better off switching to <a href="http://horde.org/">Horde</a>.</p>
	<p>Man, sometimes I hate open source&#8230;
</p>
]]></content:encoded>
			<wfw:commentRSS>http://fdiv.net/2007/05/15/the-secret-life-of-a-thunderbird-patch/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Divining Oracle&#8217;s TCO</title>
		<link>http://fdiv.net/2007/04/13/divining-oracles-tco/</link>
		<comments>http://fdiv.net/2007/04/13/divining-oracles-tco/#comments</comments>
		<pubDate>Fri, 13 Apr 2007 05:29:19 +0000</pubDate>
		<dc:creator>cwright</dc:creator>
		
	<category>Antisocial Story</category>
	<category>Yon Reptile Campaign</category>
		<guid>http://fdiv.net/2007/04/13/divining-oracles-tco/</guid>
		<description><![CDATA[	There are many options in the database world.  Many solutions for all kinds of work loads, and solutions for all kinds of financing models.
	Oracle, a database vendor, is pretty tight-lipped about its financing.  Nowhere on the website is price listed.  Today, we managed to breach this obfuscation.  We had to call [...]]]></description>
			<content:encoded><![CDATA[	<p><img align="right" src="http://img.b33p.net/pub/Udk7dwCbqu9U2GJZnMSgmjECK_eQdAnm/thumbnail-256" />There are many options in the database world.  Many solutions for all kinds of work loads, and solutions for all kinds of financing models.</p>
	<p><a href="http://oracle.com/database/">Oracle</a>, a database vendor, is pretty tight-lipped about its financing.  Nowhere on the website is price listed.  Today, we managed to breach this obfuscation.  We had to call them.</p>
	<p>Licensing for Oracle is offered on a per-CPU basis for the database servers, and on a per-machine basis for the user clients.  They weren&#8217;t clear as to what constitutes a CPU &#8212; does Hyperthreading count as 2 CPUs?  does Dual-Core?</p>
	<p>Either way, the price per CPU is $40,000.</p>
	<p>Per client machine, the license cost is $800.</p>
	<p>Plus a support contract.</p>
	<p>So, instead of spending well over $200,000 on this&#8230;</p>
	<p>We&#8217;re replacing Yon Reptile Campaign&#8217;s ancient Oracle server with one running <a href="http://postgresql.org/">PostgreSQL</a>.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://fdiv.net/2007/04/13/divining-oracles-tco/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Opteron Meltdown?</title>
		<link>http://fdiv.net/2007/03/20/amd-opteron-dual-core-meltdown/</link>
		<comments>http://fdiv.net/2007/03/20/amd-opteron-dual-core-meltdown/#comments</comments>
		<pubDate>Tue, 20 Mar 2007 15:38:14 +0000</pubDate>
		<dc:creator>cwright</dc:creator>
		
	<category>Antisocial Story</category>
	<category>Yon Reptile Campaign</category>
		<guid>http://fdiv.net/2007/03/20/amd-opteron-dual-core-meltdown/</guid>
		<description><![CDATA[	At Yon Reptile Campaign, we&#8217;ve set up this dual-core AMD Opteron server.  Normally it runs all happy-like and does what it needs to.  We take care of its basic needs, and it takes care of the rest.
	
	However, Tyan &#8212; the motherboard manufacturer &#8212; saw fit to include only 1 of the typical 3 [...]]]></description>
			<content:encoded><![CDATA[	<p>At Yon Reptile Campaign, we&#8217;ve set up this dual-core AMD <a href="http://en.wikipedia.org/wiki/Opteron">Opteron</a> server.  Normally it runs all happy-like and does what it needs to.  We take care of its basic needs, and it takes care of the rest.</p>
	<p><img src="http://img.b33p.net/pub/8ZKeClJszqB7R3xm2v3eWbIVOS8svNAz/thumbnail-512" alt="Opteron after meltdown" title="Opteron after meltdown" /></p>
	<p>However, <a href="http://www.tyan.com/">Tyan</a> &#8212; the motherboard manufacturer &#8212; saw fit to include only 1 of the typical 3 heat sink mounting tabs.  Somehow, this 1 tab managed to <strong>suddenly break</strong> on Sunday, March 18, at about 4:45pm.</p>
	<p>And now the processor has <strong>Opteron Cancer</strong>.</p>
	<p><a id="more-71"></a></p>
	<p>Opterons are not designed to run without a heat sink, so of course this lead to an almost instantaneous overheat &#8212; and the <acronym title="Basic Input/Output System">BIOS</acronym> is configured such that the machine does a hard-power-off under high temperature conditions, so as to avoid thermal damage.</p>
	<p>On the plus side, we were able to be on-site within a few hours of when this all happened, so we could assess the situation and make appropriate repairs.  We replaced the mounting bracket with a spare, and continued on our way.</p>
	<p>As the day progressed, our <a href="http://munin.projects.linpro.no/">monitoring software</a> showed some interesting behavior though.</p>
	<p><img src="http://img.b33p.net/pub/-do8Vo0Qv3ST2LZOh4OB0P9-mwBxvlvR/thumbnail-512" alt="Munin Temperature Graph demonstrating erratic behavior after heatsink break" title="Munin Temperature Graph demonstrating erratic behavior after heatsink break"/></p>
	<p>The <acronym title="Central Processing Unit">CPU</acronym> temperature was abnormally high for mostly-idle conditions.  In fact, it was as hot now as it used to be under <a href="http://vspx27.stanford.edu/cgi-bin/main.py?qtype=userpage&#038;teamnum=36214&#038;username=johtaa">full load</a>.  And to make it worse, the temperature wasn&#8217;t even stable, but instead erratically went up and down between about 50 and 70 degrees Celsius.  We decided to replace the thermal paste, which binds the heat sink to the CPU, in the hopes that &#8212; because the heatsink&#8217;s been removed and replaced a few times &#8212; it was no longer operating at its optimum efficacy.</p>
	<p>This thermal-paste-replacement procedure revealed an even more shocking discovery, however!</p>
	<p><strong>On the top of the CPU was some form of malignant cancerous tumor!</strong></p>
	<p>Opteron during server installation:</p>
	<p><img src="http://img.b33p.net/pub/CFrudlOV0h_RmeC-A3az0GKS7tHjOpLz/thumbnail-512" alt="Opteron during server installation" title="Opteron during server installation" /></p>
	<p>Opteron meltdown, after thermal paste was removed:</p>
	<p><img src="http://img.b33p.net/pub/wbP-yAlFRSYzNXObbtlfOQKIog_U1MN7/thumbnail-512" alt="Opteron meltdown, after thermal paste was removed" title="Opteron meltdown, after thermal paste was removed" /></p>
	<p>This tiny addition to the CPU adversely affects the transfer of thermal energy from the CPU to the heat sink.  Because of this interruption, the temperature is now considerably higher, and more erratic.  Basic attempts to pry the addition off, as if it were foreign-based, were to no avail.</p>
	<p>Wherever this meltdown-bubble came from, and whatever it is, it is here to stay.</p>
	<p>At least until we get that replacement CPU.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://fdiv.net/2007/03/20/amd-opteron-dual-core-meltdown/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Download of the Internet: $42.39</title>
		<link>http://fdiv.net/2006/11/02/download-of-the-internet-4239/</link>
		<comments>http://fdiv.net/2006/11/02/download-of-the-internet-4239/#comments</comments>
		<pubDate>Fri, 03 Nov 2006 01:11:10 +0000</pubDate>
		<dc:creator>smokris</dc:creator>
		
	<category>Antisocial Story</category>
	<category>Yon Reptile Campaign</category>
		<guid>http://fdiv.net/2006/11/02/download-of-the-internet-4239/</guid>
		<description><![CDATA[	Robert and I have been doing some consulting for an out-of-state mid-sized business recently.  For the purposes of this discussion, we&#8217;ll call the business Yon Reptile Campaign.
	We were analyzing Yon Reptile Campaign&#8217;s IT budget, and discovered this expenditure:
	
	This was probably a pretty big job, even compared to the task of getting this business&#8217;s IT [...]]]></description>
			<content:encoded><![CDATA[	<p>Robert and I have been doing some consulting for an out-of-state mid-sized business recently.  For the purposes of this discussion, we&#8217;ll call the business Yon Reptile Campaign.</p>
	<p>We were analyzing Yon Reptile Campaign&#8217;s IT budget, and discovered this expenditure:</p>
	<p><a href="http://img.b33p.net/pub/5i1LpP3H5SDdsF5KNozEhPwx97kV6yMz/thumbnail-1024"><img src="http://img.b33p.net/pub/5i1LpP3H5SDdsF5KNozEhPwx97kV6yMz/thumbnail-448" alt="DOWNLOAD OF THE INTERNET . . . $42.39" /></a></p>
	<p>This was probably a pretty big job, even compared to the task of getting this business&#8217;s IT situation under control&#8230;
</p>
]]></content:encoded>
			<wfw:commentRSS>http://fdiv.net/2006/11/02/download-of-the-internet-4239/feed/</wfw:commentRSS>
	</item>
	</channel>
</rss>
