<?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>Zack of All Trades &#187; Technology</title>
	<atom:link href="http://zackofalltrades.com/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://zackofalltrades.com</link>
	<description>… and master of, um… let me get back to you on that…</description>
	<lastBuildDate>Sat, 13 Mar 2010 03:41:10 +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>bc</title>
		<link>http://zackofalltrades.com/2010/03/bc/</link>
		<comments>http://zackofalltrades.com/2010/03/bc/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 03:24:01 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/?p=162</guid>
		<description><![CDATA[This post is mainly inspired by <a href="http://www.marco.org/441168915">this post by Marco</a>, about <a href="http://www.acqualia.com/soulver/">Soulver</a>, which has, in their words, a "word processor style interface".   I view this as a way to avoid saying "Command Line", which it basically is. 

I'm kind of surprised at this veneration - the concept is nothing new, as there's already as similar calculator built into Mac OS X and other Unix operating systems, called <a href="http://www.gnu.org/software/bc/">bc</a>, which is pretty much identical in functionality, with a few quirks. 
]]></description>
			<content:encoded><![CDATA[<p>This post is mainly inspired by <a href="http://www.marco.org/441168915">this post by Marco</a>, about <a href="http://www.acqualia.com/soulver/">Soulver</a>, which has, in their words, a &#8220;word processor style interface&#8221;.   I view this as a way to avoid saying &#8220;Command Line&#8221;, which it basically is. </p>
<p>I&#8217;m kind of surprised at this veneration &#8211; the concept is nothing new, as there&#8217;s already as similar calculator built into Mac OS X and other Unix operating systems, called <a href="http://www.gnu.org/software/bc/">bc</a>, which is pretty much identical in functionality, with a few quirks. </p>
<p>The first time you load <code>bc</code> up and use it, you&#8217;ll probably find that it&#8217;s defaults aren&#8217;t the best &#8211; for example, when dividing a number, you get only the quotient back (the part in front of the decimal place), which isn&#8217;t too useful in most cases.  </p>
<pre>
10/3
3
</pre>
<p>If you set the &#8220;scale&#8221; variable it will return a proper float with that number of digits: </p>
<pre>
scale=5
10/3
3.33333
</pre>
<p>Also, the gnu version of <code>bc</code> prints a gnu advertisement at the front of every session:</p>
<pre>
$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
</pre>
<p>The fix for this is as follows &#8211; <code>bc</code> (at least the common gnu version) will take a set of arguments from an environmental variable (set in your <code>.profile</code> or similar shell init script) like so:</p>
<pre>
BC_ENV_ARGS='-q /Users/username/.bc'
</pre>
<p>The <code>-q</code> suppresses the advert, and the path to my <code>.bc</code> file is a set of commands that is executed before every session. Note that it needs a full path supplied &#8211; you can&#8217;t use ~ to specify your home folder, as <code>bc</code> doesn&#8217;t perform shell expansion on it&#8217;s arguments passed in this way.  My <code>.bc</code> file is simple &#8211; it just sets the scale variable:</p>
<pre>
scale=5
</pre>
<p>You could also predefine functions and variables as well in there if you cared to.  </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2010/03/bc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10.6 option key trick works on WWAN menu extra as well</title>
		<link>http://zackofalltrades.com/2009/12/10-6-option-key-trick-works-on-wwan-menu-extra-as-well/</link>
		<comments>http://zackofalltrades.com/2009/12/10-6-option-key-trick-works-on-wwan-menu-extra-as-well/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 21:29:26 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/?p=160</guid>
		<description><![CDATA[Under Mac OS X 10.6, holding down the option key on the keyboard when clicking on menu extras (the icons on the right side of the menu bar) often tells more information.  The Airpot menu, for example, expands to tell wifi channel,  signal strength, speed, etc. 
This also applies to the WWAN menu: [...]]]></description>
			<content:encoded><![CDATA[<p>Under Mac OS X 10.6, holding down the option key on the keyboard when clicking on menu extras (the icons on the right side of the menu bar) often tells more information.  The Airpot menu, for example, expands to tell wifi channel,  signal strength, speed, etc. </p>
<p>This also applies to the WWAN menu: </p>
<div style="text-align:center;"><img src="http://zackofalltrades.com/wp-content/uploads/2009/12/Screen-shot-2009-11-30-at-13.06.13-.png" alt="Screen shot 2009-11-30 at 13.06.13 .png" border="0" width="269" height="180" /></div>
<p>Not a whole lot of information, but better than nothing.  Also, the driver is built in for my Sprint card, which wasn&#8217;t the case in 10.5</p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2009/12/10-6-option-key-trick-works-on-wwan-menu-extra-as-well/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How slow is a floppy?</title>
		<link>http://zackofalltrades.com/2009/12/how-slow-is-a-floppy/</link>
		<comments>http://zackofalltrades.com/2009/12/how-slow-is-a-floppy/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 21:22:07 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/?p=157</guid>
		<description><![CDATA[This slow:

# dd if=dban-1.0.7_i386.ima of=/dev/disk3
2880+0 records in
2880+0 records out
1474560 bytes transferred in 192.277221 secs (7669 bytes/sec)

That&#8217;s over 3 minutes, using a USB floppy drive connected my MacBook Pro.  
(I needed a copy of DBAN on floppy so I could erase an ancient 60Mhz Pentium) 
]]></description>
			<content:encoded><![CDATA[<p>This slow:</p>
<pre>
# dd if=dban-1.0.7_i386.ima of=/dev/disk3
2880+0 records in
2880+0 records out
1474560 bytes transferred in 192.277221 secs (7669 bytes/sec)
</pre>
<p>That&#8217;s over 3 minutes, using a USB floppy drive connected my MacBook Pro.  </p>
<p>(I needed a copy of <a href="http://www.dban.org/">DBAN</a> on floppy so I could erase an ancient 60Mhz Pentium) </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2009/12/how-slow-is-a-floppy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I love my internet connection</title>
		<link>http://zackofalltrades.com/2009/11/i-love-my-internet-connection/</link>
		<comments>http://zackofalltrades.com/2009/11/i-love-my-internet-connection/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 00:40:18 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/?p=155</guid>
		<description><![CDATA[
Length: 527943510 (503M) [application/octet-stream]
Saving to: “MacOSXServerUpdCombo10.6.2.dmg”

100%[======================================>] 527,943,510 11.2M/s   in 75s     

2009-11-10 17:34:20 (6.70 MB/s) - “MacOSXServerUpdCombo10.6.2.dmg” saved [527943510/527943510]

]]></description>
			<content:encoded><![CDATA[<pre>
Length: 527943510 (503M) [application/octet-stream]
Saving to: “MacOSXServerUpdCombo10.6.2.dmg”

100%[======================================>] 527,943,510 11.2M/s   in 75s     

2009-11-10 17:34:20 (6.70 MB/s) - “MacOSXServerUpdCombo10.6.2.dmg” saved [527943510/527943510]
</pre>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2009/11/i-love-my-internet-connection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trying out Opensolaris 2008.11</title>
		<link>http://zackofalltrades.com/2008/11/trying-out-opensolaris-200811/</link>
		<comments>http://zackofalltrades.com/2008/11/trying-out-opensolaris-200811/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 16:40:21 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[opensolaris]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/?p=152</guid>
		<description><![CDATA[Notes on installing OpenSolaris from a sysadmin perspective. ]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m cycling through servers , and thought I&#8217;d try something new.  Previously, I&#8217;ve generally used <a href="http://centos.org">Centos</a> and other Redhat derivative systems as home server, as I&#8217;m used to the RPM package manager.  Recently there&#8217;s been a lot of buzz out there about <a href="http://www.opensolaris.com/">OpenSolaris</a>.  Most of this revolves around the <a href="http://www.sun.com/software/solaris/zfs.jsp">ZFS filesystem</a>, which has an amazing feature set, and can implement high end data integrity functionality in software without high end hardware RAID systems underneath it. </p>
<p>To facilitate this, I bought a <a href="http://dell.com/content/products/productdetails.aspx/pedge_sc440">Dell PowerEdge SC440</a> when they were really cheap ($199 base), and with a small processor and RAM bump, it&#8217;s actually a fairly solid server.  It uses the Intel <a href="http://www.intel.com/Products/chipsets/3000_3010/index.htm">3000 chipset</a>, with a <a href="http://www.intel.com/design/chipsets/datashts/307013.htm">ICH7</a> Southbridge which has 4x 3.0Gbit SATA connectors.  It should also be able to take 8GB of RAM, assuming Dell didn&#8217;t hobble the chipset &#8211; they claim a 4GB max.  If you&#8217;re looking for a server, this isn&#8217;t too bad a choice &#8211; if you&#8217;re an AMD fan the Dell T105, with it&#8217;s optional quad-core Barcelona (Phenom class) Opteron also looks pretty good. </p>
<p>I <a href="http://www.opensolaris.com/get/index.jsp">downloaded</a> a prerelease version (101, rc1b) version, which boots to a live CD and then allows you to install the base system.   It&#8217;s a very nice install process, and fairly painless.  I had no trouble installing on one disk, adding a mirror to the root ZFS pool, and  updating on the system, but beyond that I started running into walls. </p>
<p>Apparently, in this version, <code>zfs list</code> by default only shows filesystems and volumes, and <strong>not snapshots</strong>, unlike every other example I&#8217;ve seen from documentation or on the web.  To list snapshots as well, you have to use <code>zfs list -t all</code> for everything or <code>zfs list -t snapshots</code> for just the snapshots.  </p>
<p>Transferring a files from my Mac and Linux computers was easy via NFS with the <code>zfs set sharenfs=rw rpool/example</code>.  I was slightly perturbed that there were no firewall changes required to do this, as I&#8217;m used to secure by default systems like CentOS or OpenBSD.</p>
<p>I still don&#8217;t really get SMF as Sun&#8217;s replacement for init scripts.  It seems to only be implemented halfway in this release &#8211; you&#8217;d think they would go through the system and get rid of all their legacy boot scripts (as Apple did when they developed <code>launchd</code>), but apparently not.   </p>
<p>For being a company focused on Web 2.0 developers, I&#8217;ve had more trouble trying to get their website working than with any other vendor &#8211; here&#8217;s an error I got when trying to log into the <a href="http://forums.opensolaris.com">OpenSolaris Forums</a>. I also had to enter the same login information twice to get to the error: </p>
<p><img src="http://zackofalltrades.com/wp-content/uploads/2008/11/picture-5.png" alt="Picture 5.png" border="0" width="620" height="110" /></p>
<p>The <a href="http://dlc.sun.com/osol/docs/content/2008.11/getstart//index.html">OpensSolaris install documentation</a> is sufficient, but doesn&#8217;t go much beyond updating the system.  You really have to look around for documentation &#8211; here&#8217;s a few links I&#8217;ve found so far:  </p>
<ul>
<li><a href="http://www.genunix.org/wiki/index.php/OpenSolaris_New_User_FAQ">OpenSolaris New User FAQ</a></li>
<li><a href="http://opensolaris.org/os/community/documentation/docs-index/">Current Documentation at OpenSolaris.org</a></li>
</ul>
<p>That all said, it&#8217;s a well running, stable system.  I&#8217;ll post more as I work with it. </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/11/trying-out-opensolaris-200811/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Compiling for multiple processor architectures in Mac OS X 10.5 Leopard</title>
		<link>http://zackofalltrades.com/2008/11/compiling-for-multiple-processor-architectures-in-mac-os-x-105-leopard/</link>
		<comments>http://zackofalltrades.com/2008/11/compiling-for-multiple-processor-architectures-in-mac-os-x-105-leopard/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 06:45:26 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/?p=149</guid>
		<description><![CDATA[If you're compiling code on Mac OS X 10.5 Leopard from source with standard Unix tools like make, your resulting binary will usually be compiled only for the architecture you're currently running on.   Here's how to fix that. ]]></description>
			<content:encoded><![CDATA[<p>This is probably covered elsewhere in far greater detail, but I thought I&#8217;d drop a note here for my own reference more than anything. </p>
<p>If you&#8217;re compiling code on Mac OS X 10.5 Leopard from source with standard Unix tools like <code>make</code>, your resulting binary will usually be compiled only for the architecture you&#8217;re currently running on.   For example, when I first compiled a copy of <a href="http://sourceforge.net/projects/pwgen/">pwgen</a> for making sets of random passwords, the binary I got was i386 only: </p>
<pre>
$ file pwgen
pwgen: Mach-O executable i386
</pre>
<p>But, if you modify the Makefile to include the 4 architectures that Mac OS X (currently) supports: </p>
<pre>
CFLAGS = -arch i386 -arch x86_64 -arch ppc7400 -arch ppc64
LDFLAGS =  -arch i386 -arch x86_64 -arch ppc7400 -arch ppc64
</pre>
<p>GCC will be run with those options when compiling the code and creating the final binary, and you&#8217;ll get a &#8220;fat&#8221; binary that supports all the processor architectures: </p>
<pre>
$ file pwgen
pwgen: Mach-O universal binary with 4 architectures
pwgen (for architecture ppc7400):	Mach-O executable ppc
pwgen (for architecture ppc64):	Mach-O 64-bit executable ppc64
pwgen (for architecture i386):	Mach-O executable i386
pwgen (for architecture x86_64):	Mach-O 64-bit executable x86_64
</pre>
<p>Note that doing compiling anything on OS X will require that you install the Developer Tools, which you can download from the <a href="http://developer.apple.com/">Apple Developer Connection</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/11/compiling-for-multiple-processor-architectures-in-mac-os-x-105-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing Bluetooth and Optical dropouts on a Mac Mini</title>
		<link>http://zackofalltrades.com/2008/11/fixing-bluetooth-and-optical-dropouts-on-a-mac-mini/</link>
		<comments>http://zackofalltrades.com/2008/11/fixing-bluetooth-and-optical-dropouts-on-a-mac-mini/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 21:24:25 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[cd]]></category>
		<category><![CDATA[dvd]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[mac mini]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/?p=147</guid>
		<description><![CDATA[The Bluetooth and Optical Drive stopped working reliably on my Mac Mini a few days ago. Here's what I did to fix it.]]></description>
			<content:encoded><![CDATA[<p>Bluetooth stopped working reliably on my Mac Mini (2.0Ghz Intel Core2Duo) a few days ago.   It would work for a while, then nothing.  Finally I got a menu bar icon that looked like this: </p>
<p><img src="http://zackofalltrades.com/wp-content/uploads/2008/11/bt-menu-x.png" alt="bt_menu_x.png" border="0" width="208" height="53" /></p>
<p>Obviously that&#8217;s not correct, as the bluetooth card is built in, and should always be connected.  </p>
<p>At first I though I just had a bad bluetooth card, but then I started having issues reading CDs and DVD&#8217;s in the optical drive and the lightbulb went on in my head.  </p>
<p>Both these components are electrically connected via a mezzanine board inside the Mac Mini. There are some good pictures of this <a href="http://www.applefritter.com/Mac_Mini_Take_Apart_Guide">here at AppleFritter.com</a>.  Basically, to put memory into a Mini, you have to disconnect and lift off the subframe which contains the optical, hard disk, bluetooth, and a ribbon cable to the audio connectors, all of which connect via the mezzanine board.</p>
<p>To fix, I just popped open the Mini again, lifted the subframe and mezzanine board out then and plugged it back in, and everything was back to normal.  It must have worked it&#8217;s way loose when I installed it, or due to thermal expansion/contraction after using it for the last year. </p>
<p>Moral of the story? If your Mini is acting weird, try reseating the internal components.   </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/11/fixing-bluetooth-and-optical-dropouts-on-a-mac-mini/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extracting useful dates from bank CSV files</title>
		<link>http://zackofalltrades.com/2008/10/extracting-useful-dates-from-bank-csv-files/</link>
		<comments>http://zackofalltrades.com/2008/10/extracting-useful-dates-from-bank-csv-files/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 04:52:17 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bank]]></category>
		<category><![CDATA[csv]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[financial]]></category>
		<category><![CDATA[formatting]]></category>
		<category><![CDATA[spreadsheet]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/?p=142</guid>
		<description><![CDATA[I download activity from my bank in CSV format to work on it in a spreadsheet, which is pretty useful when you're reconciling accounts, etc.  Unfortunately, the date as given in the file isn't in a format recognizable by a spreadsheet. Here's how to change that. ]]></description>
			<content:encoded><![CDATA[<p>I download activity from my bank in CSV format to work on it in a spreadsheet, which is pretty useful when you&#8217;re reconciling accounts, etc.  Unfortunately, the date as given in the file isn&#8217;t in a format recognizable by a spreadsheet (Excel in this case, but most other spreadsheet programs use an identical formula language).  Here&#8217;s how to change that. </p>
<p>The date format as it comes from the bank looks like this:</p>
<pre>
20081009120000[0:GMT]
</pre>
<p>From a datestamp perspective, it&#8217;s pretty useful &#8211; gives the whole date and time, plus the timezone.  In my bank&#8217;s case, the time and timezone is always noon and GMT, so I&#8217;d much rather have just the date. </p>
<p>Assuming that the above value is in cell B1, this formula will extract a date in the considerably more useful YYYY-MM-DD format:</p>
<pre>
= LEFT(B1,4) &#038; "-" &#038; RIGHT(LEFT(B1,6),2) &#038; "-" &#038; RIGHT(LEFT(B1,8),2)
</pre>
<p>This formula prints 2008-10-09 for the above date string.  If you want to get rid of the original date column, copy the new column of dates, then do a &#8220;Paste Special&#8230;&#8221; selecting &#8220;Values&#8221;, and it will no longer be dependent on the original date column. </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/10/extracting-useful-dates-from-bank-csv-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing to a non-xen kernel in CentOS 5 (so you can run VMware Server)</title>
		<link>http://zackofalltrades.com/2008/09/changing-to-a-non-xen-kernel-in-centos-5-so-you-can-run-vmware-server/</link>
		<comments>http://zackofalltrades.com/2008/09/changing-to-a-non-xen-kernel-in-centos-5-so-you-can-run-vmware-server/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 01:11:02 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/?p=140</guid>
		<description><![CDATA[Quick instructions for changing your kernel out on CentOS 5 so you can run VMWare Server. ]]></description>
			<content:encoded><![CDATA[<p><a href="http://vmware.com/">VMware</a> conflicts with the <a href="http://www.xen.org/">Xen</a> hypervisor in the Linux kernel, making their use mutually exclusive.  This is because they both use the hardware assisted virtualization features of the processor. </p>
<p>Why would you want to do this, when Xen can offer better performance than VMware?  Portability &#8211; I can run a VMware virtual machine on Mac under VMware Fusion, on Windows under VMware Server, Workstation, or Player.  </p>
<p>In my office, I&#8217;ve got a Dell Poweredge 830 with 8GB RAM, but my desktop computer is a Mac Mini which maxes out at 2GB RAM. It&#8217;s a no brainer to use the Dell for setting up the VM&#8217;s and then moving them to other machines when the time comes. </p>
<p>If your CentOS 5 box is running the xen kernel and try to install <a href="http://vmware.com/beta/server/">VMware Server 2.0</a> (currently in beta), you&#8217;ll get the following error when trying to install the RPM:</p>
<pre> You cannot install VMware Server on a system running a xen kernel</pre>
<p>As a result, you need to switch to a non-xen kernel.</p>
<p>To do this, you first need to install the kernel. <code>yum</code> makes this easy:</p>
<pre>yum install kernel</pre>
<p>Then remove xen and the kernel-xen packages:</p>
<pre>yum remove xen kernel-xen</pre>
<p>Then you have to specify which kernel you want to run in <code>/boot/grub/grub.conf</code>. In that file there&#8217;s a list of kernels available to boot from:</p>
<pre>
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-92.1.10.el5)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.18-92.1.10.el5 ro root=LABEL=/1 rhgb quiet
        initrd /boot/initrd-2.6.18-92.1.10.el5.img
title CentOS (2.6.18-92.1.10.el5xen)
        root (hd0,0)
        kernel /boot/xen.gz-2.6.18-92.1.10.el5
        module /boot/vmlinuz-2.6.18-92.1.10.el5xen ro root=LABEL=/1 rhgb quiet
        module /boot/initrd-2.6.18-92.1.10.el5xen.img
</pre>
<p>The line that says <code>default=</code> specifies which kernel to load, where 0 is the first one listed in the file.  In my case, I had to change the line that says <code>default=1</code> to <code>default=0</code> to specify the non-xen kernel. </p>
<p>Reboot, and you&#8217;re good to go &#8211; the VMware RPM will install, and VMware server runs just fine. </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/09/changing-to-a-non-xen-kernel-in-centos-5-so-you-can-run-vmware-server/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>10 years of multiprocessor computing</title>
		<link>http://zackofalltrades.com/2008/07/10-years-of-multiprocessor-computing/</link>
		<comments>http://zackofalltrades.com/2008/07/10-years-of-multiprocessor-computing/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 15:09:19 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[smp]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/?p=139</guid>
		<description><![CDATA[In which I navel gaze about the first computer I built, share specs, and reminisce about multiprocessor computers]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been 10 years since I added a second processor to the computer I built for college, which was my first multiprocessor computer.    Now, almost every desktop or laptop computer you buy has a multicore processor, but back then it was a total rarity.   </p>
<p>The specs for my first machine seem quite mundane compared with what exists today, but this machine was totally awesome for the time.  As this was my college computer, my parents helped out with it some, but I also paid for a good deal of it from summer jobs and savings &#8211; at this time in my life, building a computer from scratch and having it work well was my pride and joy: </p>
<ul>
<li> Tyan Titan ATX S1668 motherboard</li>
<li> Pentium Pro 200Mhz, with 256kb onboard cache</li>
<li> 64MB of ECC EDO RAM</li>
<li> Mylex dual channel fast SCSI-2 card (2x 20MB/sec channels)</li>
<li> Micropolis 4GB Tomahawk 7200RPM hard disk</li>
<li> SCSI CD-ROM</li>
<li> Matrox Millenium 8MB video card</li>
<li> Iiyama 17&#8243; trinitron (Sony tube) monitor</li>
</ul>
<p>To give you an idea of what the computer options out there were in the summer of 1997, the Pentium II had just come out, and there were very few good multiprocessor motherboards available and it had a huge price premium because of it&#8217;s newness.  The PII also ran it&#8217;s cache at half the processor speed, whereas the Pentium Pro ran it at the full speed, so the PPro 200Mhz was often faster in cache-intensive tasks than a comparable PII 233Mhz. </p>
<p>I bought this machine for running Linux, and so the Pentium Pro&#8217;s poor 16 bit performance that pushed Windows 95/98 users away from it wasn&#8217;t a concern for me.   The original Pentium was still out there, but the price/performance ratio wasn&#8217;t as good as the Pentium Pro, and the motherboard chipsets<br />
that existed for it had tradeoffs in terms of supported memory or SMP capabilities.    </p>
<p>The peripheral devices I had were also a bit exotic.  When I bought it, I had no idea that Micropolis had just gone under, so the warranty on my hard disk was pretty much moot at time of purchase.  On the upside, I never had trouble with it, and it was very fast compared to the IDE disks on the market, which had generally horrible performance on a multitasking operating system. </p>
<p>The Matrox Millenium was probably the part I was most proud of.  It was fast, well supported by X11, and had 8MB of VRAM.  This was a time before 3D acceleration was common &#8211; the first functional 3D card, the 3dfx Voodoo 1 was available about this time, and only had 4MB of RAM split between framebuffer and texture storage (some manufacturers made 6MB Voodoo 1 cards with 4MB of texture storage &#8211; those were hot items).    The Millenium was able to run the Iiyama monitor at 1600&#215;1200 resolution, which frankly was fuzzy and tiny, but at the time I didn&#8217;t mind much &#8211; having a lot of pixels meant a lot of xterms on screen.  This card cost about $400 at the time, and was the most I&#8217;ve ever spent on a video card. </p>
<p>When I first assembled that machine, I only had enough money for one processor &#8211; back them a 200Mhz Pentium Pro ran about $500.  In the summer of 1998 (thus the 10 years in the title), I had enough money to buy another Pentium Pro &#8211; by this time the PII was established as the dominant processor architecture, and the prices on a PPro had dropped to more reasonable levels.    I was running Redhat Linux at the time, and if you compiled it from source, the 1.3 kernel series finally had somewhat decent SMP performance rather than single lock over all the kernel.  </p>
<p>Later on, when the Pentium Pro was nearly obsolete I bought two 1MB cache processors, which were a slight performance boost, and upgraded the RAM to 256MB. I still have most of the parts to this machine lying around somewhere. </p>
<p>The multiprocessor boost was much more noticeable back then &#8211; on a single processor system, you&#8217;d hit the &#8220;performance wall&#8221; when running more than one process.  This was mainly due to the fact that most systems would only interrupt the running process 100 times a second or so (see discussions of setting the &#8220;hertz&#8221; in the linux kernel), which resulted in a degradation perceived performance.  Having a second processor lessened this to a great deal &#8211; once you were running a few processes, it didn&#8217;t feel like you hit as much of a wall &#8211; performance tended to degrade more gracefully.  Things would get slower but they wouldn&#8217;t chug.  </p>
<p>This machine was my main machine for all of college &#8211; eventually I bought a laptop, but for the most part I didn&#8217;t really need more. Having that second processor extended the life of the machine to nearly 6 years.  For this reason, I&#8217;m thinking a lot of the current crop of multicore computers are going to easily last 5-7 years (especially the AMD64 processor architecture ones with 4+ GB of memory support), much longer than the 3-5 year lifecycle that their single processor predecessors had.  </p>
<p>That computer was a fun adventure, and a total joy to cut my computer building teeth on.   I kinda miss it. </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/07/10-years-of-multiprocessor-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tradenotes</title>
		<link>http://zackofalltrades.com/2008/05/tradenotes-9/</link>
		<comments>http://zackofalltrades.com/2008/05/tradenotes-9/#comments</comments>
		<pubDate>Mon, 19 May 2008 17:06:12 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Faith]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Lionel]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tradenotes]]></category>
		<category><![CDATA[aliens]]></category>
		<category><![CDATA[uptime]]></category>
		<category><![CDATA[videogames]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/?p=138</guid>
		<description><![CDATA[Another linkdump - I really should get a parallel link-only blog for these, but until then, enjoy. ]]></description>
			<content:encoded><![CDATA[<p>Belief in Aliens is now <a href="http://www.breitbart.com/article.php?id=D90KSE100">Vatican Approved</a>.</p>
<p>Head swapping fun over at <a href="http://manbabies.com/">Manbabies</a></p>
<p>Lionel want a half dozen of <a href="http://www.flickr.com/photos/-d/2474364518/">these</a> to go, with a selection of dipping sauces. </p>
<p>I logged into a server that I haven&#8217;t done work on in a while, but gets weekly use:</p>
<pre>
bash-2.05b# uptime
 6:17AM  up 1645 days,  2:05, 2 users, load averages: 1.13, 0.50, 0.24
</pre>
<p>Over 4.5 years without a reboot. That&#8217;s some good software. </p>
<p><a href="http://animalcrossingtragedy.ytmnd.com/">This story</a> is sad, but very poignant. I wish I had posted a link to it on Mothers Day. </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/05/tradenotes-9/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Extending your blog to Facebook</title>
		<link>http://zackofalltrades.com/2008/05/extending-your-blog-to-facebook/</link>
		<comments>http://zackofalltrades.com/2008/05/extending-your-blog-to-facebook/#comments</comments>
		<pubDate>Fri, 09 May 2008 14:00:05 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[facebook]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/?p=137</guid>
		<description><![CDATA[It's really easy to have Facebook post your blog's news feed to your Facebook Notes.  Here's how, with pictures!]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s really easy to have Facebook post your blog&#8217;s news feed to your Facebook Notes.  Here&#8217;s how, with pictures! This is a great way to let people who are just on Facebook and not active blog readers know about your blog and what&#8217;s going on with you. </p>
<p>First, you need to find your blog&#8217;s feed URL &#8211; it&#8217;s probably a link labeled something like &#8220;RSS&#8221; or &#8220;Atom&#8221; or &#8220;Feed&#8221; in the sidebar or at the bottom of each blog page.  You&#8217;ll want the one that has just your posts &#8211; some blogging entries will have multiple feeds &#8211; for example, one that is just comments other people have made.   Copy this URL &#8211; you&#8217;ll need it later. </p>
<p>Next, log into Facebook, and in the left hand navigation click on where it says &#8220;Notes&#8221; &#8211; you may have to click the &#8220;more&#8221; link to get it to show up:</p>
<p><img src="http://zackofalltrades.com/wp-content/uploads/2008/05/picture-1.png" alt="Picture 1.png" border="0" width="159" height="257" /></p>
<p>Once your notes have loaded, in the right column where it says &#8220;Notes Settings&#8221;, click &#8220;Import a Blog >>&#8221;:</p>
<p> <img src="http://zackofalltrades.com/wp-content/uploads/2008/05/picture-5.png" alt="Picture 5.png" border="0" width="185" height="95" /></p>
<p>In the next screen, paste the feed URL into where it says &#8220;Web URL:&#8221;, click the checkbox (after reading the copyright warning of course) and then press &#8220;Start Importing&#8221;:</p>
<p><img src="http://zackofalltrades.com/wp-content/uploads/2008/05/picture-7.png" alt="Picture 7.png" border="0" width="447" height="321" /></p>
<p>In a little bit, all the blog posts in your RSS feed should show up as Facebook Notes, with a link back to your blog. When you make a new post, it will be automatically added as soon as Facebook scrapes your RSS feed.  </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/05/extending-your-blog-to-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring Quicksilver as an iTunes controller</title>
		<link>http://zackofalltrades.com/2008/03/configuring-quicksilver-as-an-itunes-controller/</link>
		<comments>http://zackofalltrades.com/2008/03/configuring-quicksilver-as-an-itunes-controller/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 22:31:57 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[quicksilver]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/2008/03/configuring-quicksilver-as-an-itunes-controller/</guid>
		<description><![CDATA[<a href="http://blacktree.com/?quicksilver">Quicksilver</a> is a launcher/hotkey interface for Mac OS X that frankly I can't live without.   Here's how to make it control iTunes and rate your songs without having to switch away from your current program. ]]></description>
			<content:encoded><![CDATA[<p><a href="http://blacktree.com/?quicksilver">Quicksilver</a> is a launcher/hotkey interface for Mac OS X that frankly I can&#8217;t live without &#8211; hit the activation keystroke, start typing the name of the  program or document you want, hit return, and it opens.  </p>
<p>One of the nicest features is <a href="http://docs.blacktree.com/quicksilver/triggers?s=triggers">Triggers</a>, which let you run commands in programs using the same set of keystrokes no matter what program you&#8217;re in.   This comes in really handy when you want to control a background program like iTunes, and Quicksilver has a built in iTunes trigger module.   Here&#8217;s my setup, which you can get to in Quicksilver by going to the Triggers section, and clicking on iTunes:</p>
<p><img src="http://zackofalltrades.com/wp-content/uploads/2008/03/quicksilver-itunes-triggers.png" alt="quicksilver_itunes_triggers.png" border="0" width="624" height="615" /></p>
<p>Under OS X, command-space (command = &#x2318;) takes you into Spotlight, whereas Quicksilver&#8217;s default activation key is control-space (control = ^).  I picked the option key (&#x2325;) to control iTunes, as it&#8217;s not used as much.  &#x2325;-space starts and stops the music, &#x2325;-(0-5) applies a star rating, and the &#x2325;-arrow keys switch between songs and changes the iTunes volume.  </p>
<p>Previously I used 3rd party software like <a href="http://www.yellowmug.com/sk4it/">SizzlingKeys</a> to control iTunes, but it didn&#8217;t let me directly set a rating &#8211; I could only raise or lower an existing one.  For that purpose, Quicksilver works a whole lot better. </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/03/configuring-quicksilver-as-an-itunes-controller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tradenotes</title>
		<link>http://zackofalltrades.com/2008/03/tradenotes-8/</link>
		<comments>http://zackofalltrades.com/2008/03/tradenotes-8/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 15:17:15 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[elephant]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/2008/03/tradenotes-8/</guid>
		<description><![CDATA[A minimal review of El Güero Canelo, plus random links. ]]></description>
			<content:encoded><![CDATA[<p>Having eaten there twice, <a href="http://www.elguerocanelo.com/">El Güero Canelo</a>&#8217;s chicken is far better than their beef.  That&#8217;s saying a lot as I&#8217;m a red-meat kind of guy &#8211; the beef seems overcooked and dry, whereas the chicken is nicely seasoned and juicy.  (Their all-flash website is a total eyesore&#8230;)</p>
<p><a href="http://www.phoboslab.org/log/2008/03/asaph-microblog-beta">Asaph</a> looks pretty cool as a way to quickly reference and quote other pages/images on the web. I&#8217;ve been feeling like I should add it or something like it to this blog to replace all these Tradenotes posts, as  but most of what I do is links with commentary, similar to what Gruber does on <a href="http://daringfireball.net/">Daring Fireball</a>. </p>
<p><a href="http://news.bbc.co.uk/1/hi/world/europe/7309947.stm">Look into my eyes</a>.  Still got your pocketbook? </p>
<p>An elephant <a href="http://www.youtube.com/watch?v=_LHoyB81LnE">paints</a> an elephant.  I wonder how long it took to train it to do that. </p>
<p>The <a href="http://www.swissmade.ch/naefusa/produkt_detail.cfm?vShop=61&#038;vId=1&#038;spr=1">Gloggomobil</a> is a music box you can program yourself with little pegs.  It&#8217;s too bad that it costs $1000+. </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/03/tradenotes-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Statistical analysis of facebook profile pictures</title>
		<link>http://zackofalltrades.com/2008/03/statistical-analysis-of-facebook-profile-pictures/</link>
		<comments>http://zackofalltrades.com/2008/03/statistical-analysis-of-facebook-profile-pictures/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 16:40:03 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[social]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/2008/03/statistical-analysis-of-facebook-profile-pictures/</guid>
		<description><![CDATA[This is totally naval gazing, but I think it's kind of interesting what people use as their Facebook profile pictures.  ]]></description>
			<content:encoded><![CDATA[<p>This is totally naval gazing, but I think it&#8217;s kind of interesting what people use as their <a href="http://www.facebook.com/">Facebook</a> profile pictures.   So, in a fit of sociological curiosity, I decided to count em&#8217; up broken down by gender:</p>
<p><strong>Men</strong></p>
<ul>
<li>Just themselves: 9</li>
<li>In a public situation with others: 3</li>
<li>In formal wedding attire: 2</li>
<li>With spouse: 2</li>
<li>With pet: 1</li>
<li>&#8220;Artistic rendition&#8221;: 1</li>
</ul>
<p><strong>Women</strong> </p>
<ul>
<li>With spouse: 2</li>
<li>In formal wedding attire: 1</li>
<li>In formal wedding attire with spouse: 1</li>
<li>Just themselves: 1</li>
<li>With pet: 1</li>
<li>Obviously photoshopped: 1</li>
<li>Landscape photo with nobody in it: 1</li>
</ul>
<p>What I can gather from this is that if you&#8217;re male, you&#8217;re much more likely to put a picture of your manly bod or something that portrays you as being cool or social as your profile picture.  </p>
<p>If you&#8217;re female, you&#8217;re likely to put up a picture that indicates that you&#8217;re &#8220;taken&#8221; (if that&#8217;s the case).  On the whole the women put up more a more diverse, creative set of pictures. </p>
<p>This analysis is probably skewed by my particular data set, but it&#8217;s just interesting nonetheless. </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/03/statistical-analysis-of-facebook-profile-pictures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tradenotes</title>
		<link>http://zackofalltrades.com/2008/03/tradenotes-5/</link>
		<comments>http://zackofalltrades.com/2008/03/tradenotes-5/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 01:13:52 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[TV]]></category>
		<category><![CDATA[chair]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[last.fm]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[swimming]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/2008/03/tradenotes-5/</guid>
		<description><![CDATA[Linkdump for 2008-03-24]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I did a linkdump, so here goes:</p>
<p><a href="http://www.kk.org/cooltools/archives/002710.php">This swimming contraption</a> looks pretty neat &#8211; basically a rubber band that holds you back so you can swim in place.   For the price I&#8217;d definitely give it a shot &#8211; if we had a pool. </p>
<p>I bought a <a href="http://www.officemax.com/omax/catalog/sku.jsp?skuId=21101941">new chair</a> &#8211; it was a great deal after being on sale and having a 20% off coupon.  After a few days of use, I&#8217;m quite happy with it. </p>
<p>And now <a href="http://youtube.com/watch?v=Mfr7xG6smhU">a moment of surreal public television</a>.</p>
<p>An <a href="http://www.linein.org/media/screencleaner.swf">automatic screen cleaner</a> for your computer. Shows one of the only good uses of Flash outside of tower defense games and StrongBad. </p>
<p>Additionally, you&#8217;ll notice that I added <a href="http://www.last.fm/">last.fm</a> support to the blog.  The actual program (audioscrobber) is a bit buggy and sometimes crashes or goes into a processor sucking loop, and still won&#8217;t scrobble songs I play on my iPod, but other than that it works pretty well.   I&#8217;m in the middle of a multi-day random music binge, which should explain the eclectic nature of my playlist. </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/03/tradenotes-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why there&#8217;s no Flash on the iPhone</title>
		<link>http://zackofalltrades.com/2008/03/why-theres-no-flash-on-the-iphone/</link>
		<comments>http://zackofalltrades.com/2008/03/why-theres-no-flash-on-the-iphone/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 18:53:56 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/2008/03/why-theres-no-flash-on-the-iphone/</guid>
		<description><![CDATA[I think this screenshot says it all...]]></description>
			<content:encoded><![CDATA[<p>I think this screenshot says it all:</p>
<p><img src="http://zackofalltrades.com/wp-content/uploads/2008/03/picture-3.png" alt="Picture 3.png" border="0" width="531" height="289" /></p>
<p>Flash can and will crash your browser at times.   Watch your CPU usage spike whenever you load a page with flash &#8211; by running someone&#8217;s crappy code, there goes your battery life.   This is especially bad on some platforms (linux, PPC macs).  I can only imagine it would be much worse on the iPhone. </p>
<p>Used sparingly and for certain things where it&#8217;s the only option (games, video) it&#8217;s fine.  </p>
<p>Outside of that, flash breaks a whole lot of what is good about the web.  It&#8217;s not searchable &#8211; text you may want to show up in a search engine dissappears into a black hole if your site is all-flash. This also causes problems with accessibility for the blind. </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/03/why-theres-no-flash-on-the-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Big Jump</title>
		<link>http://zackofalltrades.com/2008/02/the-big-jump/</link>
		<comments>http://zackofalltrades.com/2008/02/the-big-jump/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 05:51:23 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[joyent]]></category>
		<category><![CDATA[pair.com]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/2008/02/the-big-jump/</guid>
		<description><![CDATA[Notes on moving this blog from <a href="http://pair.com">pair.com</a> to <a href="http://joyent.com">Joyent</a>]]></description>
			<content:encoded><![CDATA[<p>For the last few years, I&#8217;ve had this weblog hosted on <a href="http://pair.com">pair.com</a>, but in the last week or so, I switched it over to a shiny new Accelerator account at <a href="http://joyent.com">Joyent</a>.</p>
<p>A few years ago, I bought into one of their buy-once-have-forever (aka VC) account.   Eventually, they changed their servers from FreeBSD-based to Solaris-based, and I&#8217;ve been migrating a few of my hosts over. </p>
<p>A few little glitches ensued &#8211; for example, the <a href="http://warpspire.com/hemingway">hemingway theme</a> I use in modified form on this blog uses short php start tags, and as a result breaks with an error like this:</p>
<pre>PHP Parse error: syntax error, unexpected $end in /path/to/functions.php on line XX</pre>
<p>To fix, in the PHP Configuration section, under Other Setting, you need to set <strong>Allow PHP scripts starting with &lt;? </strong> to &#8220;yes&#8221;. </p>
<p>Additionally, if you want PHP logging to work a bit better, set the error_log variable in the php.ini file, to something like ~/domains/domain.name/logs/php_log . </p>
<p>Now, all I need to do is figure out how to rotate the PHP logs&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2008/02/the-big-jump/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android, another modern phone platform.</title>
		<link>http://zackofalltrades.com/2007/11/android-another-modern-phone-platform/</link>
		<comments>http://zackofalltrades.com/2007/11/android-another-modern-phone-platform/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 20:43:15 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/2007/11/android-another-modern-phone-platform/</guid>
		<description><![CDATA[Google recently announced their "Android" phone platform.  It's an interesting gambit - the market currently has several entrenched platforms (Palm, Symbian, Windows Mobile).  Is it an iPhone killer? ]]></description>
			<content:encoded><![CDATA[<p>Google recently announced their &#8220;Android&#8221; phone platform.  It&#8217;s an interesting gambit &#8211; the market currently has several entrenched platforms (Palm, Symbian, Windows Mobile).  Here&#8217;s a video describing the Android API: </p>
<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/Mm6Ju0xhUW8&#038;rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/Mm6Ju0xhUW8&#038;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<p>What&#8217;s interesting from my perspective is that it&#8217;s built on many technologies in common with Apple&#8217;s iPhone, such as a Unix-like kernel, WebKit for rendering web pages (also used by some Symbian-based Nokia phones), SQLite for data storage, and a GUI compositing library for rendering data to the screen.   Additionally, Android supports XMPP (aka &#8220;Jabber&#8221;) which is being used by both Apple and Google for interoperable chat &#8211; Apple has shipped a Jabber server in the last two revisions of Mac OS X Server.  I wouldn&#8217;t be surprised if a future version of the iPhone firmware supports chat via Jabber.   From Android&#8217;s API overview, it looks like they also intend to use XMPP for other device-to-device communications (for interactive games, location notification, etc.). </p>
<p>Where Android differes from the iPhone is that Android&#8217;s applications are written in Java and processed into a special bytecode (i.e. not Sun&#8217;s default java bytecode) made to work well on the Dalvik Virtual Machine, which supposedly runs better on slower mobile CPU&#8217;s.  This sounds, to me at least, like a way to allow compatibility between phones, as opposed to the &#8220;write once run everywhere&#8221; idea that Java was designed for. From the design, I wouldn&#8217;t be surprised if someone develops an &#8220;Android Environment&#8221; for the iPhone, but I&#8217;d expect that most applications would look like crud, as they wouldn&#8217;t fit with the iPhone UI style. </p>
<p>So where does this fit in with the larger phone market?  It really depends on hardware support &#8211; if the hardware looks good, the UI looks good, and, more importantly, works really well, Android will be a winner.   Is this likely?  </p>
<p>Looking at the current crop of phones beyond the iPhone, I don&#8217;t think so.   </p>
<p>It&#8217;s a good effort, and I hope it succeeds, but decentralized development in the Linux community hasn&#8217;t come up with a consistent, polished UI as of yet.  From a UI perspective the ideal would be that the default applications from a small team at Google are solid and well designed, to the point that they don&#8217;t get reinvented ever time.  If not&#8230; good luck Android users. </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2007/11/android-another-modern-phone-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tradenotes, way too late at night edition</title>
		<link>http://zackofalltrades.com/2007/09/tradenotes-way-too-late-at-night-edition/</link>
		<comments>http://zackofalltrades.com/2007/09/tradenotes-way-too-late-at-night-edition/#comments</comments>
		<pubDate>Wed, 26 Sep 2007 07:54:52 +0000</pubDate>
		<dc:creator>Zack Williams</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tradenotes]]></category>

		<guid isPermaLink="false">http://zackofalltrades.com/2007/09/tradenotes-way-too-late-at-night-edition/</guid>
		<description><![CDATA[I'm awake after midnight (feeling cruddy), so here comes bits of random fluff]]></description>
			<content:encoded><![CDATA[<p>Politics always brings the best out in industry, like the &#8216;04 presidential campaign&#8217;s <a href="http://www.wketchup.com/">W Ketchup</a>.  This time around, it&#8217;s the Hillary Clinton <a href="http://store.teptronics.com/hcn1.html?gclid=CP3TuYza1I4CFVB1OAodB2-MDA">nutcracker</a>. </p>
<p>Here&#8217;s a <a href="http://m3.bestpicever.com/piles/?s=1gb">visual comparison</a> of data storage then and now. I remember having a 10MB (that&#8217;s Megabyte) hard disk about 20 years ago&#8230; </p>
<p>Oh, and that Mint 3 Musketeers bar with the wacky LOTR style TV ads?  When you actually get one, it&#8217;s smaller than a standard 3 Musketeers, doesn&#8217;t taste as minty or chocolaty as a peppermint patty or Andes mint.  In true movie reviewer style, this gets two thumbs down from me and Amy. </p>
<p>Oh, and for those of you having pre-marital anxeity, at least your <a href="http://apnews.myway.com//article/20070925/D8RS5QG80.html">proposal didn&#8217;t go like this</a>! </p>
]]></content:encoded>
			<wfw:commentRss>http://zackofalltrades.com/2007/09/tradenotes-way-too-late-at-night-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.269 seconds -->
