<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pervasive Code &#187; photos</title>
	<atom:link href="http://www.pervasivecode.com/blog/category/photos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pervasivecode.com/blog</link>
	<description>Jamie Flournoy's Software Development Blog</description>
	<lastBuildDate>Mon, 26 Jul 2010 05:29:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Athlon64 3500+ to Opteron 175 upgrade notes</title>
		<link>http://www.pervasivecode.com/blog/2008/03/01/athlon64-3500-to-opteron-175-upgrade-notes/</link>
		<comments>http://www.pervasivecode.com/blog/2008/03/01/athlon64-3500-to-opteron-175-upgrade-notes/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 00:36:42 +0000</pubDate>
		<dc:creator>Jamie Flournoy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://www.pervasivecode.com/blog/2008/03/01/athlon64-3500-to-opteron-175-upgrade-notes/</guid>
		<description><![CDATA[In short, gain with minimal pain, a couple of small hitches. I went single-core to dual-core with a drop-in replacement CPU and it was almost as easy as replacing the batteries in a flashlight.

My main home server is getting old. It was bought in September of 2004, and featured an Athlon64 3500+ processor, 1GB of [...]]]></description>
			<content:encoded><![CDATA[<p>In short, gain with minimal pain, a couple of small hitches. I went single-core to dual-core with a drop-in replacement CPU and it was almost as easy as replacing the batteries in a flashlight.</p>
<p><span id="more-61"></span></p>
<p>My main home server is getting old. It was bought in September of 2004, and featured an Athlon64 3500+ processor, 1GB of RAM, and a heap of hard disks. It&#8217;s still very fast as a file server, and has 3GB RAM now, so other responsibilities (backups, virus and spam filtering of email, etc.) are handled quite quickly too. However, I&#8217;m starting to do more server virtualization for work purposes (test environments with various OS and app configurations) on this server, so I figured it&#8217;d be nice to catch up to a more recent CPU that had multiple cores.</p>
<p>The Socket 939 processor line from AMD is almost phased out now. Upgrading to a new Socket AM2 CPU would mean a new motherboard, and based on the churn in the PC industry, that might lead to some serious cascading upgrades.</p>
<p>For example, the motherboard in this system died a couple of years ago, and it turned out that the PC industry switched to a new type of power connector, so I ended up having to also buy a new power supply also. At the same time, I had to rearrange hard disks because some were attached via a pair of PCI ATA-133 cards, but there were only 3 PCI slots on the new motherboard, and I also had a 3ware 8006-LP (SATA RAID) card, and a video card, fighting for room in those 3 slots. Fun!</p>
<p>The PC enthusiast solution to this sort of problem is apparently to buy a shiny new computer every year, full of brand new parts that match. That would be simple, but would cost about five times as much as what I&#8217;ve done. I was keen to keep the cascade of surprise upgrades to a minimum, which meant trying to stay with Socket 939, and maintaining the same clock rate.</p>
<p>Luckily the Opteron 175 fit the bill exactly: 2.2GHz, Socket 939, dual core, and about $150. That&#8217;s right in my price range for a non-critical but noticeable speed upgrade.</p>
<p>I bought it from Newegg, who by the way rock utterly. It showed up promptly and I opened it up, and&#8230; ugh. A new style of plug for the heatsink fan? Hmm, can I use the old heatsink? Maybe&#8230; but the new one looks much fancier. (The new one is on the left and the old one is on the right.)</p>
<p><img src="/images/socket939/new_and_old_heatsinks.jpg" width="492" height="369" /></p>
<p>Note the <a href="http://en.wikipedia.org/wiki/Heat_pipe">heat pipe</a>:</p>
<p><img src="/images/socket939/new_heatsink_side.jpg" width="256" height="192" /></p>
<p>It was pretty obvious what the copper tubing was for, but I didn&#8217;t know about the cool capillary circulation aspect (no pump!) nor that this had become mainstream technology for low-end coolers. Nifty.</p>
<p>Also notice that the new one (in the first photo alongside the old one) has pre-applied thermal paste. It&#8217;s the light gray square in the middle. I wiped most of the paste off of the old one, in anticipation of maybe needing to re-apply new paste and use it again due to the 3 vs. 4 pin problem.</p>
<p>Some reading about this plug switchover led me to believe that the 4th pin was optional and that the new plug was designed to fit into old-style plugs as needed. I tried it and it worked fine.</p>
<p>Here&#8217;s the socket with no CPU in it; you can see the white 3-pin connector labeled &#8220;CPU FAN&#8221; in the upper right corner.</p>
<p><img src="/images/socket939/socket_939_empty.jpg" width="433" height="569" /></p>
<p>And here is a close-up of the 4-pin cable plugged into the 3-pin connector, overhanging a large screw. Note that the right side of the plug has two plastic ridges designed to force you to plug it in the right way. Clever!</p>
<p><img src="/images/socket939/after_installation.jpg" width="333" height="457" /></p>
<p>Still, if you fail to plug the CPU fan in and the CPU overheats and dies, you void your warranty, so I&#8217;m glad I checked before just plugging it in and hoping it&#8217;d work.</p>
<p>I thought about the conventional wisdom, which is first that &#8220;box coolers&#8221; (the CPU coolers that come in the box with CPUs from the manufacturer) are lame, and second that overclocking an Opteron 175 works well. Given that I have no intention of overclocking this thing, I figured that the box cooler would be fine.</p>
<p>After I put the server back together, I ran two instances of <code>burnK7</code> (from the <a href="http://packages.ubuntu.com/gutsy/cpuburn">cpuburn package</a>) for a little over an hour, to keep both cores super busy. <code>burnK7</code>&#8217;s mission in life is to make your CPU temperature as hot as possible. The temperature never exceeded 57C for either core, compared to an idle temperature of 37C. The ambient temperature was 69F, and the case is not particularly fancy (2 fans in, 1 out, plus one in the power supply), so I&#8217;d have to say that the box cooler and preinstalled thermal paste are fine.</p>
<p>Overclockers may disagree and favor fancier coolers, but from experience I know that in this server, the hard disks are more likely to overheat on a hot day. I added an external desk fan to this server&#8217;s rack last year to resolve that problem, which was caused mainly by poor external air circulation.</p>
<p>A couple of things went more easily than I had expected. First, when researching this upgrade I found that (at least for Ubuntu Gutsy, possibly for other Linux releases or distros) there regular AMD64 kernel has SMP support. So, no OS tweaking was required to support the Opteron 175&#8217;s dual cores. Second, VMware Server recognized the second CPU and used both CPUs when I ran some tests on two uniprocessor virtual servers. Interestingly, <code>/proc/cpuinfo</code> on a virtualized Linux server shows the right CPU name for what is a dual-core CPU, but only lists one core, which matches the VMware configuration for that virtual server.</p>
<p>VMware did complain in a couple of cases about the different CPU feature set, when resuming suspended VMs. You can dismiss the message and run the VM, and that works, but it warns each time in my case because they are set up as locked snapshots (always restoring from the point where it was originally suspended, before the CPU upgrade).</p>
<p>This is minor, and the fix to make the warnings go away is quick: resume the VM from the old snapshot (dismissing the warning message), unlock the snapshot, make a new snapshot, lock that, and suspend (or power off) the VM. Now when you resume it in the future the warning will not appear. That&#8217;s simple to do, but it wasn&#8217;t 100% seamless, so I thought I&#8217;d mention it. I am glad that there was a warning, though; that would have helped if there had been an actual problem caused by the CPU change. In my opinion VMware does exactly the right thing.</p>
<p>So, all in all this was a very pleasant upgrade; quick, cheap, and effective (for server workloads which parallelize easily, this server is almost twice as fast as before).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pervasivecode.com/blog/2008/03/01/athlon64-3500-to-opteron-175-upgrade-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Leopard Upgrade Report: Mo&#8217; Features, Mo&#8217; Problems</title>
		<link>http://www.pervasivecode.com/blog/2007/12/27/leopard-upgrade-report-many-new-features-many-new-bugs/</link>
		<comments>http://www.pervasivecode.com/blog/2007/12/27/leopard-upgrade-report-many-new-features-many-new-bugs/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 20:01:40 +0000</pubDate>
		<dc:creator>Jamie Flournoy</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://www.pervasivecode.com/blog/2007/12/27/leopard-upgrade-report-many-new-features-many-new-bugs/</guid>
		<description><![CDATA[(Apologies to The Notorious B.I.G. for the title.)
I upgraded to Mac OS X 10.5 &#8220;Leopard&#8221; recently. In short, it&#8217;s not ready for mainstream use. There are a few nice improvements, but these are balanced by numerous problems that make me wish I had waited until, say, June 2008 or so. If you haven&#8217;t upgraded and [...]]]></description>
			<content:encoded><![CDATA[<p>(Apologies to <a href="http://en.wikipedia.org/wiki/Mo_Money_Mo_Problems">The Notorious B.I.G.</a> for the title.)</p>
<p>I upgraded to Mac OS X 10.5 &#8220;Leopard&#8221; recently. In short, it&#8217;s not ready for mainstream use. There are a few nice improvements, but these are balanced by numerous problems that make me wish I had waited until, say, June 2008 or so. If you haven&#8217;t upgraded and aren&#8217;t sure that you need to, I suggest that you wait a few months, until some of the bugs have been worked out.<br />
<span id="more-53"></span><br />
<b>The Good Stuff:</b></p>
<p>Terminal.app now allows tabbed terminals in one window. Terminal also allows window background transparency, which wouldn&#8217;t normally be a feature I would care about, except that it makes it quite easy to set transparency at about 85-90% and put a DVD window behind it. This setup is more readable than the arrangement that <a href="http://www.translucy.com/">Trans Lucy</a> provides (it overlays a transparent movie window instead). If you&#8217;re like me, sometimes you work better with something busy going on in the background, and this does a good job of leaving text legible while making the movie kinda visible in the background.</p>
<p>Terminal and Safari now allow tabs to be dragged downward off of the tab bar to create a new window for that tab. It looks pretty cool and can be useful at times, mostly in Safari when you&#8217;re browsing a bunch of sites and want to pick one and background-load a bunch of links off of that page.</p>
<p>The new Finder fixes some of the old Finder bugs, though it brings new ones. (More about that below.) Basic problems like window resizing not shrinking to fit only the icons that were there, scroll bars displaying even when they are not needed, etc. are now gone. Desktop icons for volumes remember where you left them instead of being automatically placed every time they are mounted. They also position themselves so as to avoid being under the Dock if hiding is off (they don&#8217;t reposition themselves automatically as soon as the Dock position changes, but they are aware of where the Dock overhangs when they are choosing where to align).</p>
<p>Similarly, the window manager is smarter about being aware of where the Dock is, and will try to avoid resizing or zooming windows in ways that put part of them under the Dock.</p>
<p>Preview.app is a bit nicer: you can open a bunch of windows at once, even in one-window-per-file mode, and it stacks the windows in sorted order based on filename. The previous version (bundled with Mac OS X 10.4) opened them in essentially random order and would only open a maximum of 20 windows at once, forcing photos 20 and up into a single window with an image list in the sidebar. I don&#8217;t know about you but I take a lot more than 20 photos at any given event and it&#8217;s annoying to have to keep track of how many Preview windows I have open in order to keep it from merging the excess ones together into a single window. The new Preview fixes that.</p>
<p>My complex development environment worked fine, with one exception (details below). Ruby on Rails, Mongrel, PostreSQL via <a href="http://www.macports.org/">MacPorts</a>, and autotest all worked fine. That was a big relief.</p>
<p><b>The Bad Stuff:</b></p>
<p>There are some incompatibilities that caused me problems early on. Most notably, Application Enhancer (used by the handy Instant Hijack feature of the excellent <a href="http://rogueamoeba.com/audiohijackpro/">Audio Hijack Pro</a>) causes a blue screen on boot! Here are the <a href="http://docs.info.apple.com/article.html?artnum=306857">removal instructions</a>. Fortunately I did a backup before installing (really it was just my nightly full backup) or I would have been a lot more freaked out about this.</p>
<p>I experienced seriously poor wireless networking performance. By that I mean very erratic ping times and latency even when sitting right next to the base station. <a href="http://discussions.apple.com/thread.jspa?messageID=5938541#5938541">Here are the details and fix</a>; basically it&#8217;s a preferences file problem, which can be fixed by deleting the old 10.4-era preferences file. I&#8217;m not sure how Apple QA missed this one; I&#8217;d think that 100% of Tiger-to-Leopard upgrade cases would experience this problem.</p>
<p>GNU Screen, which I use like crazy, changed somehow, and I can&#8217;t figure out what they changed from the documentation. My super slick Screen running shell script, which sets up my whole development environment like a character mode IDE, broke. PATH somehow gets stomped and reset to the standard login-shell PATH, but no other environment variables get touched. I was not able to figure out why Screen was doing this in Leopard but not in Tiger, and eventually punted and put a hack in my .screenrc to re-set the PATH the way I wanted it in each screen. (Previously I had set it before creating any screens and it was inherited by each of them.)</p>
<p>There are UI issues that make existing applications not work right. <a href="http://www.omnigroup.com/applications/omnigraffle/">OmniGraffle</a>, which is a truly fabulous drawing program, had some strange input problems with mouse clicks that made it display error messages. A small point release fixed the problem, and the new OmniGraffle 5.0 beta releases have no issues. Unfortunately, OmniGraffle 5 is Leopard-only, and has a new file format that causes version 4 to warn you about possible unknown incompatibility upon opening the file. Given my current attitude of &#8220;don&#8217;t upgrade until later&#8221; about Leopard for other people, I don&#8217;t want to trap my drawings in a new Leopard-only format. So I&#8217;m still using 4.2.2 and it&#8217;s fine.</p>
<p>Other applications are not so fine. Microsoft Excel has some input issues that cause the keyboard input to suddenly go into limbo for no apparent reason. Clicking onto another application&#8217;s window and then back onto Excel fixes it; there is no current fix from Microsoft for this. You just have to accept that sometimes your keyboard input goes away and you have to fiddle for a minute to get it back. I think I&#8217;ve figured out that it has something to do with AutoFill and the popup menu of possible completions, so it may be possible to train oneself to not ever do whatever it is that causes the keyboard input to go nuts. But I&#8217;d rather just upgrade to Office 2008 whenever it comes out.</p>
<p>Adobe Photoshop CS3 has input problems as well. Most notably, the little numeric text input boxes for various tools work once and then go dead. For example, try transforming a selection and specifying, say, 66% width. Then do the same thing again &#8211; can&#8217;t do it; the typing goes into nowhere and the resizing never happens. The text is even drawn incorrectly in the little text box. This is a well known problem and <a href="http://www.isights.org/2007/11/leopards-photos.html">according to this guy quoting an Adobe spokesperson, it will be fixed soon</a>. As far as I can tell there is no workaround for this.</p>
<p><a href="http://www.bombich.com/software/ccc.html">Carbon Copy Cloner</a> 3.0.1, which I use for backups, doesn&#8217;t work properly on Leopard. Its only function in my world is to sync my whole hard disk every night to an external hard disk. It doesn&#8217;t do this correctly, unless you run the program and uncheck/recheck the checkbox next to the scheduled task every time you reboot. Supposedly the 3.0.2 update will fix this, so that the scheduled task properly installs itself without user intervention. For now I have a text file that reminds me to do this in my home directory, and I dragged that icon into my account&#8217;s Login Items list in System Preferences so I don&#8217;t forget to do it.</p>
<p>There are some race conditions apparent with opening items from Samba valumes. I have a home server with lots of files on it, and some aliases to folders on that server are on my laptop. So, when I log in, I can just open the folder and it mounts the server volume and goes right there. In Leopard, if I open more than one such folder alias, all of them fail, the volume fails to mount, and a stack of error dialog boxes piles up in the middle of my screen. Upon dismissing the last such error dialog box, the Finder crashes. The workaround is to mount the server volume first, or to open only one server-based folder alias first, and then open the rest.</p>
<p>Worse, if you have aliases to .dmg (disk images) on the server, and you try to mount more than one .dmg from a server at the same time (select more than one and open them simultaneously), all of them will fail and the <code>diskimages-helper</code> processes will all get stuck. At that point you must reboot in order to un-wedge the situation; kill -9 kills the processes but any future disk images will get stuck trying to mount in the same fashion. The workaround is to never try and open more than one alias to a disk image from a server at once. You can keep a bunch mounted, but you have to open and mount each one separately.</p>
<p>There are also a lot of cosmetic problems, mostly with the new Finder. The translucent menu bar makes it hard to read things on the menu bar, and just plain looks sloppy with any background other than a white one. I didn&#8217;t like the stripes in list view in the finder and <a href="http://www.macosxhints.com/article.php?story=20071101062430328">using this hint</a>  turned that display option off with <code>defaults write com.apple.finder FXListViewStripes -bool FALSE</code> at a command line.</p>
<p>The Finder seems to have completely lost its ability to remember what view type (list, icons, or columns) you wanted for each window; I have frequently found that I&#8217;ll set a window to list view and navigate around and when I re-open that folder it&#8217;s in icon view, or vice versa. I&#8217;m pretty good at detecting patterns of UI behavior so I think I would have grasped any new system Apple has devised for deciding what view a window should have. Whatever the new one is, it sucks.</p>
<p>The Finder still has problems displaying image previews in icon mode. That&#8217;s one of my favorite OS X features: the ability to just open a folder full of photos and see previews of all of them at 128&#215;128 pixel size, without using iPhoto or some other photo gallery app. Sadly, the Finder sometimes just stops building previews of the currently displayed set of icons, and you have to scroll around or &#8220;select all&#8221; and then &#8220;select none&#8221; to kick it so it notices that it still has some preview-building work to do. I do wish it would cache previews on disk, too; it&#8217;s silly that almost every time I visit a folder full of photos, it has to rebuild the previews from scratch. It does cache the previews in memory, but I have digital camera photos from ten years ago, and I don&#8217;t understand why the Finder needs to keep rebuilding the previews over and over.</p>
<p>The Finder still resizes the window so that it is partially offscreen when displaying the Toolbar. If you want to search within the current folder, you need to show the Toolbar and enter text in the search box. Okay, but that means that the Sidebar (with all the volumes, on the left side of the window) appears, and for some reason the whole window resizes to preserve the size of the content area, which means that the window grows, substantially. It also preserves the position of the content area, so the window grows on all three sides except the top. If your Finder window was close to being as big as the screen, the new size will be off screen in every direction. You can&#8217;t zoom the window without moving it first so that the zoom button is on screen, because the zoom button is now off the left side of the screen. It&#8217;s really not very slick, and becomes annoying if you use the Finder very much.</p>
<p>Also, when searching in the Finder using the in-window search function, the scope is always reset to &#8220;This Mac&#8221; instead of the current folder. Given that there&#8217;s a separate Find function, that doesn&#8217;t make a lot of sense. Since the search scope controls don&#8217;t appear until after you&#8217;ve started typing a search string, your only option is to start searching the whole computer and then click the scope button you wanted, which responds slowly since the Finder is busily carrying out the global search you didn&#8217;t want. Eventually it throws away the first partially-completed result set and starts over from the current window. Again, it&#8217;s frustrating if you search the current folder and its contents very often.</p>
<p>To be honest, though, a lot of these Finder gripes are new UI annoyances exchanged for old Finder UI annoyances. The new Finder is marginally better, except for all that mounting-multiple-disk-image or opening-multiple-folder stuff.</p>
<p><b>Conclusion:</b></p>
<p>Wait before upgrading, to give Adobe and Microsoft and Apple time to release some updates. I would say maybe March or June would be a good time to check on these things and see if it&#8217;s safe to upgrade. Until then, keep using Tiger; it&#8217;s really quite good and doesn&#8217;t have these issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pervasivecode.com/blog/2007/12/27/leopard-upgrade-report-many-new-features-many-new-bugs/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Ugly Data Centers</title>
		<link>http://www.pervasivecode.com/blog/2007/01/07/ugly-data-centers/</link>
		<comments>http://www.pervasivecode.com/blog/2007/01/07/ugly-data-centers/#comments</comments>
		<pubDate>Sun, 07 Jan 2007 22:03:16 +0000</pubDate>
		<dc:creator>Jamie Flournoy</dc:creator>
				<category><![CDATA[humor]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[servers]]></category>

		<guid isPermaLink="false">http://www.pervasivecode.com/blog/?p=10</guid>
		<description><![CDATA[
Pink walls, no cases. Nice!
Where&#8217;s the marinara?

]]></description>
			<content:encoded><![CDATA[<ol>
<li><a href="http://img169.exs.cx/img169/4413/135gp2mo.jpg">Pink walls, no cases.</a> Nice!</li>
<li><a href="http://img224.imageshack.us/img224/8913/datacenterondrugswx2.jpg">Where&#8217;s the marinara?</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.pervasivecode.com/blog/2007/01/07/ugly-data-centers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
