<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>atomicmike</title>
	
	<link>http://atomicmike.com</link>
	<description>Coffee is better than sleep.</description>
	<lastBuildDate>Wed, 10 Feb 2010 04:09:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
  <link>http://atomicmike.com</link>
  <url>http://atomicmike.com/wp-content/themes/atomic/images/favicon.ico</url>
  <title>atomicmike</title>
</image>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/atomicmike" /><feedburner:info uri="atomicmike" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Calendar confusion</title>
		<link>http://feedproxy.google.com/~r/atomicmike/~3/C6ettCIG7w4/calendar-confusion</link>
		<comments>http://atomicmike.com/2010/02/calendar-confusion#comments</comments>
		<pubDate>Wed, 10 Feb 2010 04:09:09 +0000</pubDate>
		<dc:creator>atomicmike</dc:creator>
				<category><![CDATA[Curmudgeonry]]></category>

		<guid isPermaLink="false">http://atomicmike.com/?p=166</guid>
		<description><![CDATA[
Apparently, Amazon has some difficulty telling the difference between 1 and 2.
]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://atomicmike.com/files/2010/02/Calendar-confusion.png" alt="" title="Calendar confusion" width="529" height="101" class="aligncenter size-full wp-image-167" /></center></p>
<p>Apparently, Amazon has some difficulty telling the difference between 1 and 2.</p>
<img src="http://feeds.feedburner.com/~r/atomicmike/~4/C6ettCIG7w4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://atomicmike.com/2010/02/calendar-confusion/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://atomicmike.com/2010/02/calendar-confusion</feedburner:origLink></item>
		<item>
		<title>Carpet prawn</title>
		<link>http://feedproxy.google.com/~r/atomicmike/~3/gxdXj3RG4sI/carpet-prawn</link>
		<comments>http://atomicmike.com/2009/06/carpet-prawn#comments</comments>
		<pubDate>Sat, 13 Jun 2009 17:08:02 +0000</pubDate>
		<dc:creator>atomicmike</dc:creator>
				<category><![CDATA[Various & Sundry]]></category>

		<guid isPermaLink="false">http://atomicmike.com/?p=156</guid>
		<description><![CDATA[I woke up this morning to find a surprise on the floor near my bed&#8230;


Carpet prawn
]]></description>
			<content:encoded><![CDATA[<p>I woke up this morning to find a surprise on the floor near my bed&#8230;</p>
<div class="g2image_centered">
<div class="wpg2tag-image"><a href="http://atomicmike.com/gallery?g2_itemId=517" title=""><img src="http://atomicmike.com/gallery2/atomicmike.com/main.php?g2_view=core.DownloadItem&amp;g2_itemId=520&amp;g2_serialNumber=2" width="400" height="267" id="IFid2" class="ImageFrame_none" alt="DSC01204.jpg"/></a></div>
<p>Carpet prawn</p></div>
<img src="http://feeds.feedburner.com/~r/atomicmike/~4/gxdXj3RG4sI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://atomicmike.com/2009/06/carpet-prawn/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://atomicmike.com/2009/06/carpet-prawn</feedburner:origLink></item>
		<item>
		<title>Delicious Library scanning: now extra delicious</title>
		<link>http://feedproxy.google.com/~r/atomicmike/~3/a36n4DN8dfQ/delicious-library-scanning-now-extra-delicious</link>
		<comments>http://atomicmike.com/2009/05/delicious-library-scanning-now-extra-delicious#comments</comments>
		<pubDate>Sat, 02 May 2009 22:19:16 +0000</pubDate>
		<dc:creator>atomicmike</dc:creator>
				<category><![CDATA[Various & Sundry]]></category>

		<guid isPermaLink="false">http://atomicmike.com/?p=151</guid>
		<description><![CDATA[As I started inventorying my gadgets, looking at all of the serial number barcodes gave me some ideas on how to improve my scanning process. I made a series of revisions to my AppleScript to let it handle serial numbers whenever possible.

Unfortunately, Delicious Library doesn&#8217;t provide any mechanism that I can find that lets a [...]]]></description>
			<content:encoded><![CDATA[<p>As I started inventorying my gadgets, looking at all of the serial number barcodes gave me some ideas on how to improve my scanning process. I made a series of revisions to my AppleScript to let it handle serial numbers whenever possible.<br />
<span id="more-151"></span></p>
<p>Unfortunately, Delicious Library doesn&#8217;t provide any mechanism that I can find that lets a script know that a lookup has been ignored. If it did, things would have been simple; we could just assume that ignored lookups aren&#8217;t valid product codes, so they&#8217;re likely to be serial numbers. Instead, I ended up making a number of tests on the scan data to try to figure out if it is a serial number or product code:</p>
<ol>
<li>Check to see if it starts with the letter &#8220;S&#8221;. Nicer vendors prefix their serial number barcodes in this way to make automated scanning easier.</li>
<li>Check the length of the code; UPCs, EANs, and ISBNs are generally 10, 12, or 13 numbers long. Anything that doesn&#8217;t match is probably a serial number.</li>
<li>Finally, we can check to see if the scanned code is all numeric or not; if it&#8217;s not, let&#8217;s make it a serial number.</li>
</ol>
<p>These checks aren&#8217;t 100% fool-proof. In an ideal world, I would pass the code through the checksum algorithms used by the various code standards to see if it is a valid product code or not. For my purposes, though, they seem to be accurate enough. I also made one small but helpful change; the script now launches Delicious Library if it&#8217;s not already running.</p>
<p>You can grab an updated copy of the <a href='http://atomicmike.com/files/2009/05/delicious-barcode-scanner.zip'>Delicious Barcode Scanner</a> script, and inventory &#8217;till your trigger finger is sore.</p>
<img src="http://feeds.feedburner.com/~r/atomicmike/~4/a36n4DN8dfQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://atomicmike.com/2009/05/delicious-library-scanning-now-extra-delicious/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://atomicmike.com/2009/05/delicious-library-scanning-now-extra-delicious</feedburner:origLink></item>
		<item>
		<title>Delicious Library scanning</title>
		<link>http://feedproxy.google.com/~r/atomicmike/~3/6VEoTcA5OcM/delicious-library-scanning</link>
		<comments>http://atomicmike.com/2009/04/delicious-library-scanning#comments</comments>
		<pubDate>Mon, 27 Apr 2009 19:57:42 +0000</pubDate>
		<dc:creator>atomicmike</dc:creator>
				<category><![CDATA[Various & Sundry]]></category>

		<guid isPermaLink="false">http://atomicmike.com/?p=146</guid>
		<description><![CDATA[I recently purchased a USB-based barcode scanner with the intention of using it with Delicious Library to do a home inventory (their Bluetooth scanner is just to pricey for me). Unfortunately, the scanner model I purchased &#8211; a Datalogic QuickScan QD2130 &#8211; has problems acting as a keyboard with OS X. It works fine under [...]]]></description>
			<content:encoded><![CDATA[<p>I recently purchased a USB-based barcode scanner with the intention of using it with Delicious Library to do a home inventory (their Bluetooth scanner is just to pricey for me). Unfortunately, the scanner model I purchased &#8211; a Datalogic QuickScan QD2130 &#8211; has problems acting as a keyboard with OS X. It works fine under Windows, but when connected to my Mac, it sits in a disabled mode and won&#8217;t scan any barcodes. Leafing through the manual, I noticed that it will also act as an RS-232 device over USB, and that gave me an idea&#8230;<br />
<span id="more-146"></span><br />
Use the scanner as a serial device, and add items to Delicious Library via AppleScript!</p>
<p>OS X doesn&#8217;t have drivers for USB/RS-232 bridges out of the box, but there are plenty of generic drivers out there. Following <a href="http://www.planet-rcs.de/article/mac_serial_port/">this example</a>, I used the <a href="http://www.prolific.com.tw/eng/downloads.asp?ID=31">2303 driver</a> from Prolific. To get the driver to work with the barcode scanner, it&#8217;s necessary to jump through a few hoops (specific to my model scanner, but others are most likely similar):</p>
<ol>
<li>Before installing the driver, connect the scanner to an available USB port, so we can configure it as a simulated RS-232 device.</li>
<li>Since the OS has disabled the scanner, press and hold the trigger for about 5 seconds, until it beeps.</li>
<li>Scan the programming barcode to place the scanner in &#8220;USB-COM-STD&#8221; mode. The scanner will then reinitialize in that mode.</li>
<li>Open System Profiler, and select USB from the Contents list. In the device tree, find the barcode scanner and select it.</li>
<li>Make a note of the values listed for Product ID and Vendor ID (in my case, they were 0&#215;4204 and 0&#215;05f9, respectively).</li>
<li>Edit the Info.plist file for the driver as detailed in the example; note that the IDs displayed by System Profiler are hexadecimal, and the plist requires decimal values, so you&#8217;ll have to convert them (mine worked out to be 16900 and 1529).</li>
<li>Reboot!</li>
</ol>
<p>The scanner should now be recognized as a serial device. To test this, I opened Terminal and ran <code>screen /dev/tty.usbmodem3d11</code> (your device name may be different). I then scanned a barcode and watched the results appear in Terminal. Magic! With that part working, I installed Art Coughlin&#8217;s <a href="http://mysite.verizon.net/vzenuoqe/MacSoft.html">SerialPort X</a> Scripting Addition, and put together an AppleScript to read data from the scanner&#8217;s serial port and send it to Delicious Library. If you&#8217;ve gone through the same steps, you can download <a href='http://atomicmike.com/files/2009/05/delicious-barcode-scanner.zip'>Delicious Barcode scanner</a> and run it for yourself. It will prompt you to select the relevant serial port, and will stay running until you quit Delicious Library.</p>
<p>Hopefully, someone will find this helpful. Feel free to ask any questions in the comments.</p>
<p><strong>UPDATE</strong><br />
Delicous Barcode Scanner is now <a href="http://atomicmike.com/2009/05/delicious-library-scanning-now-extra-delicious">extra delicious</a>.</p>
<img src="http://feeds.feedburner.com/~r/atomicmike/~4/6VEoTcA5OcM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://atomicmike.com/2009/04/delicious-library-scanning/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://atomicmike.com/2009/04/delicious-library-scanning</feedburner:origLink></item>
		<item>
		<title>Another dating ad</title>
		<link>http://feedproxy.google.com/~r/atomicmike/~3/anYJODzFQQI/another-dating-ad</link>
		<comments>http://atomicmike.com/2009/04/another-dating-ad#comments</comments>
		<pubDate>Fri, 10 Apr 2009 02:24:21 +0000</pubDate>
		<dc:creator>atomicmike</dc:creator>
				<category><![CDATA[Various & Sundry]]></category>

		<guid isPermaLink="false">http://atomicmike.com/?p=140</guid>
		<description><![CDATA[Some of you may remember the sinful dating ad I posted a while ago. Earlier this week, while talking to my un-boss on Messenger, I saw this ad at the bottom of the window:

What is this trying to say? If you start dating people you find on their site, all of your friends will give [...]]]></description>
			<content:encoded><![CDATA[<p>Some of you may remember the <a href="/2008/08/the-sin-that-never-was">sinful</a> dating ad I posted a while ago. Earlier this week, while talking to my un-boss on Messenger, I saw this ad at the bottom of the window:</p>
<p><img src="http://atomicmike.com/files/2009/04/matchstick.png" alt="singled out" title="singled out" width="373" height="18" class="size-full wp-image-142" align="center" /></p>
<p>What is this trying to say? If you start dating people you find on their site, all of your friends will give up on you? I can assure all of my friends: nothing will change; I gave up on you long ago.</p>
<img src="http://feeds.feedburner.com/~r/atomicmike/~4/anYJODzFQQI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://atomicmike.com/2009/04/another-dating-ad/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://atomicmike.com/2009/04/another-dating-ad</feedburner:origLink></item>
		<item>
		<title>Reading matters</title>
		<link>http://feedproxy.google.com/~r/atomicmike/~3/YN1ni-MvNCQ/reading-matters</link>
		<comments>http://atomicmike.com/2009/04/reading-matters#comments</comments>
		<pubDate>Fri, 03 Apr 2009 00:48:37 +0000</pubDate>
		<dc:creator>atomicmike</dc:creator>
				<category><![CDATA[Curmudgeonry]]></category>

		<guid isPermaLink="false">http://atomicmike.com/?p=134</guid>
		<description><![CDATA[I saw this at my local grocery a few weeks ago:



I can understand the importance of telling employees not to continue stocking recalled product, but shouldn&#8217;t they also remove it from the shelves?
]]></description>
			<content:encoded><![CDATA[<p>I saw this at my local grocery a few weeks ago:</p>
<div class="g2image_centered">
<div class="wpg2tag-image"><a href="http://atomicmike.com/gallery?g2_itemId=513" title=""><img src="http://atomicmike.com/gallery2/atomicmike.com/main.php?g2_view=core.DownloadItem&amp;g2_itemId=516&amp;g2_serialNumber=2" width="400" height="300" id="IFid4" class="ImageFrame_none" alt="DSC00062.jpg"/></a></div>
</div>
<p>I can understand the importance of telling employees not to continue stocking <a href="http://www.fda.gov/oc/po/firmrecalls/kellogg01_09.html">recalled product</a>, but shouldn&#8217;t they also remove it from the shelves?</p>
<img src="http://feeds.feedburner.com/~r/atomicmike/~4/YN1ni-MvNCQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://atomicmike.com/2009/04/reading-matters/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://atomicmike.com/2009/04/reading-matters</feedburner:origLink></item>
		<item>
		<title>Twitter welcomes me</title>
		<link>http://feedproxy.google.com/~r/atomicmike/~3/Mko7s8IXmDk/twitter-welcomes-me</link>
		<comments>http://atomicmike.com/2009/01/twitter-welcomes-me#comments</comments>
		<pubDate>Thu, 15 Jan 2009 23:26:33 +0000</pubDate>
		<dc:creator>atomicmike</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://atomicmike.com/?p=132</guid>
		<description><![CDATA[After a frustrating experience a few weeks ago discovering that someone had already registered my preferred username on Twitter, I finally signed up as JudgeOfCheese. And now I&#8217;ve just installed Alex King&#8217;s very neat Twitter Tools plugin for WordPress. I just have to figure out why the sidebar widget is missing the title, but that [...]]]></description>
			<content:encoded><![CDATA[<p>After a frustrating experience a few weeks ago discovering that someone had already registered my preferred username on Twitter, I finally signed up as <a href="http://twitter.com/JudgeOfCheese">JudgeOfCheese</a>. And now I&#8217;ve just installed Alex King&#8217;s very neat <a href="http://alexking.org/projects/wordpress">Twitter Tools</a> plugin for WordPress. I just have to figure out why the sidebar widget is missing the title, but that will wait until after dinner. mmmm&#8230; dinner</p>
<img src="http://feeds.feedburner.com/~r/atomicmike/~4/Mko7s8IXmDk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://atomicmike.com/2009/01/twitter-welcomes-me/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://atomicmike.com/2009/01/twitter-welcomes-me</feedburner:origLink></item>
		<item>
		<title>An update to the updater</title>
		<link>http://feedproxy.google.com/~r/atomicmike/~3/TcVsomXypuQ/an-update-to-the-updater</link>
		<comments>http://atomicmike.com/2008/11/an-update-to-the-updater#comments</comments>
		<pubDate>Sun, 30 Nov 2008 19:59:42 +0000</pubDate>
		<dc:creator>atomicmike</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://atomicmike.com/?p=126</guid>
		<description><![CDATA[Aaron gave me a great suggestion for the WordPress MU update script: pull the latest version directly from the download page. So I&#8217;ve added that as an alternative method. If no specific version is passed in, the script will pull down the latest, determine what version it is and check to see if it already [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.aaronadams.net/">Aaron</a> gave me a great suggestion for the WordPress MU <a href="/2008/11/simplifying-wordpress-mu-upgrades">update script</a>: pull the latest version directly from the <a href="http://mu.wordpress.org/download.php">download</a> page. So I&#8217;ve added that as an alternative method. If no specific version is passed in, the script will pull down the latest, determine what version it is and check to see if it already exists before continuing with the installation (<a href='/files/2008/11/upgrade-wordpress-mush1.txt'>upgrade-wordpress-mu.sh</a>).</p>
<p>I haven&#8217;t actually had the chance to fully run it through its paces yet, so we&#8217;ll see for sure when the next update is released.</p>
<img src="http://feeds.feedburner.com/~r/atomicmike/~4/TcVsomXypuQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://atomicmike.com/2008/11/an-update-to-the-updater/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://atomicmike.com/2008/11/an-update-to-the-updater</feedburner:origLink></item>
		<item>
		<title>I love upgrades</title>
		<link>http://feedproxy.google.com/~r/atomicmike/~3/B09foal_R9I/i-love-upgrades</link>
		<comments>http://atomicmike.com/2008/11/i-love-upgrades#comments</comments>
		<pubDate>Thu, 27 Nov 2008 01:08:12 +0000</pubDate>
		<dc:creator>atomicmike</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://atomicmike.com/?p=124</guid>
		<description><![CDATA[I&#8217;m happy to report that I just had the chance to test my WordPress MU upgrade script, and everything went off without a hitch! One simple command and all of my blogs got the update to 2.6.5. Glory be!
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy to report that I just had the chance to test my <a href="/2008/11/simplifying-wordpress-mu-upgrades">WordPress MU upgrade script</a>, and everything went off without a hitch! One simple command and all of my blogs got the update to 2.6.5. Glory be!</p>
<img src="http://feeds.feedburner.com/~r/atomicmike/~4/B09foal_R9I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://atomicmike.com/2008/11/i-love-upgrades/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://atomicmike.com/2008/11/i-love-upgrades</feedburner:origLink></item>
		<item>
		<title>Simplifying WordPress MU upgrades</title>
		<link>http://feedproxy.google.com/~r/atomicmike/~3/A7u0FdRsfUU/simplifying-wordpress-mu-upgrades</link>
		<comments>http://atomicmike.com/2008/11/simplifying-wordpress-mu-upgrades#comments</comments>
		<pubDate>Fri, 14 Nov 2008 05:13:27 +0000</pubDate>
		<dc:creator>atomicmike</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://atomicmike.com/?p=116</guid>
		<description><![CDATA[Okay, I&#8217;ll admit it. I&#8217;m really bad about upgrading my WordPress MU install in a timely manner. And that&#8217;s a pretty big disservice, especially for others (like my brother) hosted on the same install. So tonight, I put together a new directory structure for my WPMU installation, and with my brother&#8217;s help, wrote a wonderful [...]]]></description>
			<content:encoded><![CDATA[<p>Okay, I&#8217;ll admit it. I&#8217;m <em>really</em> bad about upgrading my <a href="http://mu.wordpress.org/">WordPress MU</a> install in a timely manner. And that&#8217;s a pretty big disservice, especially for others (like my <a href="http://facility9.com/">brother</a>) hosted on the same install. So tonight, I put together a new directory structure for my WPMU installation, and with my brother&#8217;s help, wrote a wonderful little shell script to handle future upgrades for me.</p>
<p>Originally, I had WordPress MU file sitting in a <code>WPMU</code> directory. With each upgrade, I&#8217;d have to make sure I didn&#8217;t disrupt the existing important files (like those in wp-content).</p>
<p>My new structure involves a version-specific directory within the <code>WPMU</code> folder (eg <code>wordpress-mu-2.6.3</code>). Alongside that is a directory named <code>const</code>, to hold all of the files that remain constant between upgrades. Finally, there&#8217;s a symlink named <code>current</code> that points to the current version-specific directory. I then create additional symlinks within this directory back to files and directories in <code>const</code>.</p>
<p>I&#8217;ve attached a sanitized copy of the final script (<a href='http://atomicmike.com/files/2008/11/upgrade-wordpress-mush.txt'>upgrade-wordpress-mu.sh</a>) for your pleasure. It first checks to make that it&#8217;s running as root &#8211; my WPMU installation is outside the scope of my home directory, so that&#8217;s a necessity. There&#8217;s a few more checks to make sure the user has specified a version, and that there&#8217;s an archive of the WordPress MU files for that version. Then it goes to town, extracting the files, and symlinking the relevant items in <code>const</code>. I won&#8217;t go into the nitty-gritty, since it&#8217;s all pretty self-evident from the script.</p>
<p>If you do choose to use this yourself, just be sure to change the path on line 27 (unless that really is where you want your files).</p>
<img src="http://feeds.feedburner.com/~r/atomicmike/~4/A7u0FdRsfUU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://atomicmike.com/2008/11/simplifying-wordpress-mu-upgrades/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://atomicmike.com/2008/11/simplifying-wordpress-mu-upgrades</feedburner:origLink></item>
	</channel>
</rss>
