<?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>corey gilmore's blog &#187; Technology</title>
	<atom:link href="http://coreygilmore.com/blog/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://coreygilmore.com</link>
	<description></description>
	<lastBuildDate>Fri, 16 Jul 2010 16:51:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>VUVUZELA for BlackBerry</title>
		<link>http://coreygilmore.com/blog/2010/06/17/vuvuzela-for-blackberry/</link>
		<comments>http://coreygilmore.com/blog/2010/06/17/vuvuzela-for-blackberry/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 00:42:18 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[VUVUZELA]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1552</guid>
		<description><![CDATA[
The preferred noisemaker of the 2010 World Cup: the vuvuzela. For some reason these were distributed to fans attending World Cup matches, ruining the match for everyone watching at home.
When played by a stadium full of people the vuvuzela sounds like angry bees. I&#039;m always up for a small project to help improve (or build) my BlackBerry [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;" ><img border="1"  class="outline size-full wp-image-1556 aligncenter"  title="VUVUZELA"  src="http://coreygilmore.com/uploads/2010/06/vuvuzela2.jpg"  alt=""  width="300"  height="186"   style="border:1px solid black;"/></p>
<p>The preferred noisemaker of the 2010 World Cup: the <a href="http://en.wikipedia.org/wiki/Vuvuzela" >vuvuzela</a>. For some reason these were distributed to fans attending World Cup matches, ruining the match for everyone watching at home.</p>
<p>When played by a stadium full of people the vuvuzela sounds like angry bees. I&#039;m always up for a small project to help improve (or build) my BlackBerry development chops, and a vuvuzela app seemed like a perfect candidate. There are a slew of vuvuzela apps for the iPhone, but I only saw one other vuvuzela app for the BlackBerry, and that one only has a <em  style="font-style:italic;font-style:italic;">single</em> vuvuzela sound.</p>
<p>Mine? It has 7.</p>
<p>I built the app with the 5.0 JDE. I tested it on a Storm2 9550 and Bold 9700 both running OS 5 and an 8820 running 4.5 and it worked on all three. If it doesn&#039;t work for some ancient OS, get a new phone.</p>
<h2  style="font-size: 1.6em; margin: 20px 0 0;font-size: 1.6em; margin: 20px 0 0;">Usage</h2>
<p>Visit <a href="http://j.mp/cfg-vuvuzela" >http://j.mp/cfg-vuvuzela</a> using your BlackBerry to install the app. On newer devices the icon can be found in your Downloads folder.</p>
<p>Scroll and click a button to play the sound, or press the keys 1-7. You don&#039;t need to hold the ALT down; pressing W is the same as pressing 1. I haven&#039;t tested this on a SureType (Pearl) device.</p>
<h2  style="font-size: 1.6em; margin: 20px 0 0;font-size: 1.6em; margin: 20px 0 0;">Known Issues</h2>
<ul>
<li>Multiple audio threads &#8211; This is a J2ME limitation. I use <a href="http://www.blackberry.com/developers/docs/5.0.0api/javax/microedition/media/Player.html" >javax.microedition.media.Player</a> to play the audio, and you can only have one Player instance on CDMA devices and two on GSM. I read this on the <a href="http://supportforums.blackberry.com/t5/Java-Development/Play-2-sounds-in-one-time-Storm/td-p/228712" >BlackBerry support forums</a>, and confirmed with a member of RIM&#039;s media development team.</li>
<li>Initial launch &#8211; the first time you launch the app on OS 5 it can take up to two minutes before the screen displays. Oddly enough it launches immediately on an old 8820 running OS 4.5. I&#039;m looking into why this happens.</li>
<li>Volume control &#8211; I&#039;m actually not sure where the volume setting comes from, I just play the sound and it works, and it&#039;s loud. The way the VUVUZELA should be.</li>
<li>The folks over at <a href="http://www.sistman.es/" >SistMan Software</a> also have a vuvuzela app, and there is a conflict since both of our primary modules are named Vuvuzela (Vuvuzela.cod, etc). Until that&#039;s fixed, you can&#039;t have both apps installed. I like to think mine is better since it has more sounds, but they launched first and I&#039;ll publish a minor update with a unique module name.</li>
</ul>
<h2  style="font-size: 1.6em; margin: 20px 0 0;font-size: 1.6em; margin: 20px 0 0;">Download</h2>
<p><a href="http://j.mp/cfg-vuvuzela" >Download it OTA</a> &#8211; Please link to this page, and not the .jad directly.</p>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/06/17/vuvuzela-for-blackberry/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>AT&amp;T Downplays Critical ICCID Leak</title>
		<link>http://coreygilmore.com/blog/2010/06/14/att-downplays-critical-iccid-leak/</link>
		<comments>http://coreygilmore.com/blog/2010/06/14/att-downplays-critical-iccid-leak/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 17:13:59 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[AT&T]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1543</guid>
		<description><![CDATA[
Recently the email address and ICCID (SIM serial number) of at least 140,000 iPad 3G owners were left unprotected by AT&#38;T. AT&#38;T chose to blame &#034;hackers&#034; for stealing this information, but that is just deflection. AT&#38;T didn&#039;t adequately protect customer information, and as a result someone found it.
AT&#38;T also claims that it was only the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;" ><img border="1"  class="outline size-full wp-image-1546 aligncenter"  title="AT&amp;T"  src="http://coreygilmore.com/uploads/2010/06/att.jpg"  alt=""  width="270"  height="366"   style="border:1px solid black;"/></p>
<p>Recently the email address and <a href="Integrated Circuit Card ID" >ICCID</a> (SIM serial number) of at least 140,000 iPad 3G owners were left unprotected by AT&amp;T. AT&amp;T chose to blame &#034;hackers&#034; for stealing this information, but that is just deflection. AT&amp;T didn&#039;t adequately protect customer information, and as a result someone found it.</p>
<p>AT&amp;T also claims that it was only the email address and ICCID that leaked, which is another partial truth. A 2008 paper titled <a href="http://www.mfi-training.com/forum/paper/SIM&amp;Salsa.pdf" >SIMs and Salsa</a> (<a href="http://docs.google.com/viewer?a=v&amp;q=cache:Ap6RjMbT3ewJ:www.mfi-training.com/forum/paper/SIM%26Salsa.pdf+http://www.mfi-training.com/forum/paper/SIM%26Salsa.pdf&amp;hl=en&amp;gl=us&amp;pid=bl&amp;srcid=ADGEESjJvGhESvO5Qmkla0uZDGOLNYsazd3fhABp3AWpgWKLK1HNHBqtySIjY5pZsXd66Q_1W4CwMihAJ_o4KwKl2yB2btLNylArHrQSj7XT1reOwW4q1ZvOIy2wA23Ipksyng7-btE8&amp;sig=AHIEtbSx4iNgJRQaSvaE3PYEF-_lRjbtkQ" >quick view</a>) demonstrates how the ICCID is directly linked to the <a href="http://en.wikipedia.org/wiki/International_Mobile_Subscriber_Identity" >IMSI</a>.</p>
<p>AT&amp;T SIM cards have a 20-digit ICCID, and the IMSI is 15 digits long.</p>
<p>The iPad ICCIDs all seem to <a href="http://gawker.com/5559346/apples-worst-security-breach-114000-ipad-owners-exposed" >begin with 8901410424</a> and followed by 9 important digits and then a single checksum digit. For example <code  style="display:inline; font: 1.1em 'Courier New'display:inline; font: 1.1em 'Courier New'CourierCourierFixed; padding:0 1px;Fixed; padding:0 1px;">8901410424<strong><span style="text-decoration: underline;" >012345678</span></strong>1</code>.</p>
<p>An AT&amp;T IMSI is 15 digits, made up with the MCC (310), MNC (170) and the 9 underlined digits preceding the checksum in the ICCID. So if your ICCID was <code  style="display:inline; font: 1.1em 'Courier New'display:inline; font: 1.1em 'Courier New'CourierCourierFixed; padding:0 1px;Fixed; padding:0 1px;">8901410424<span style="text-decoration: underline;" >012345678</span>1</code> as in the example above, your IMSI would be <code  style="display:inline; font: 1.1em 'Courier New'display:inline; font: 1.1em 'Courier New'CourierCourierFixed; padding:0 1px;Fixed; padding:0 1px;">310170<span style="text-decoration: underline;" >012345678</span></code>.</p>
<p>You can <a href="http://support.apple.com/kb/HT4061" >find your ICCID</a> on your iPad by opening Settings, choosing General and then About.</p>
<h2  style="font-size: 1.6em; margin: 20px 0 0;font-size: 1.6em; margin: 20px 0 0;">Why is the IMSI Important?</h2>
<p>Each device has a unique IMSI, and the IMSI is considered sensitive enough that it&#039;s rarely sent over the wireless network. Even the name &#8211; International Mobile Subscriber Identity &#8211; implies that it is something that shouldn&#039;t be shared freely.</p>
<p>The IMSI is also one of two pieces of information needed to clone a SIM card, the other being the K<sup>i</sup>, or <a href="http://en.wikipedia.org/wiki/Subscriber_Identity_Module#Authentication_key_.28Ki.29" >subscriber authentication key</a>. Fortunately the K<sup>i</sup> can only be retrieved with physical access to the SIM card.</p>
<p>But, knowing who a specific IMSI belongs to, for instance someone at the <a href="http://www.washingtonpost.com/wp-dyn/content/article/2010/06/07/AR2010060701140.html" >White House</a>, allows an attacker target a specific user. Using technology like an <a href="http://en.wikipedia.org/wiki/IMSI-catcher" >IMSI catcher</a> an attacker can insert their own device between a target and the carrier network and monitor data or voice conversations. There are a number of flaws in GSM that I assume could also be exploited relatively easily by someone &#8211; like a foreign government &#8211; with the <a href="http://www.wired.com/threatlevel/2010/01/operation-aurora/" >proper resources and motivation</a>.</p>
<p>AT&amp;T is downplaying their own incompetence at securing customer information, and is putting customers at risk. Customers who are newsworthy in their own right. Even if the information on the iPad isn&#039;t sensitive, it can <a href="http://www.zdnet.com/blog/security/pwn2own-2010-iphone-hacked-sms-database-hijacked/5836" >easily be compromised</a> and used as an attack vector onto a previously inaccessible corporate wifi network.</p>
<p>Perhaps AT&amp;T feels that is not a real risk? The latest jailbreak is a userland jailbreak and it&#039;s not inconceivable that it could be adapted to work in Mobile Safari. The first iPhone was able to be jailbroken simply by visiting a special website. And <a href="http://en.wikipedia.org/wiki/Dave_Aitel" >Dave Aitel</a> has been selling <a href="http://www.immunityinc.com/products-silica.shtml" >Silica</a> since <a href="http://www.eweek.com/index2.php?option=content&amp;task=view&amp;id=15603&amp;pop=1&amp;hide_ads=1&amp;page=0&amp;hide_js=1" >2006</a>. One of the use cases Aitel would pitch for Silica was to mail it to a CEO and let it automatically hack anything it could find, beginning with wifi networks.</p>
<p>AT&amp;T needs to immediately and proactively issue all iPad 3G subscribers new SIM cards.</p>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/06/14/att-downplays-critical-iccid-leak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Things that are broken on search.twitter.com</title>
		<link>http://coreygilmore.com/blog/2010/05/22/things-that-are-broken-on-search-twitter-com/</link>
		<comments>http://coreygilmore.com/blog/2010/05/22/things-that-are-broken-on-search-twitter-com/#comments</comments>
		<pubDate>Sat, 22 May 2010 22:20:55 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1533</guid>
		<description><![CDATA[Searching.
To be specific:
#1: Searching and expecting to find any results older than 5 days
#2: Searching for with an until date more than 7 days ago &#8211; this is an option on the Advanced Search page, and has returned a HTTP/404 for at least a year now
#3: Partial matches &#8211; I can find this post (for [...]]]></description>
			<content:encoded><![CDATA[<p>Searching.</p>
<p>To be specific:</p>
<p>#1: Searching and expecting to find any results older than 5 days</p>
<p>#2: Searching for with an <strong>until</strong> date more than 7 days ago &#8211; this is an option on the Advanced Search page, and has returned a HTTP/404 for at least a year now</p>
<p>#3: Partial matches &#8211; I can find <a href="https://twitter.com/JimNorton/status/14449698494" >this post</a> (for the next 4 days) by searching for <em  style="font-style:italic;font-style:italic;">Ozzy</em> or <em  style="font-style:italic;font-style:italic;">fucking</em>, but not <em  style="font-style:italic;font-style:italic;">fuck</em></p>
<p><a href="https://twitter.com/JimNorton/status/14449698494" ><img border="1"  class="outline alignnone size-full wp-image-1534"  title="yimmy"  src="http://coreygilmore.com/uploads/2010/05/yimmy.png"  alt=""  width="498"  height="95"     style="border: none;border:1px solid black;"/></a></p>
<p>#4: <strong>source</strong> containing anything with a space. I can search for <strong>source:Tweetie</strong> but not <strong>source:&#034;Twitter for iPhone&#034;</strong></p>
<p>The site fails miserably at it&#039;s sole purpose &#8211; searching.</p>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/05/22/things-that-are-broken-on-search-twitter-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Never say Amazon doesn&#039;t hold a grudge</title>
		<link>http://coreygilmore.com/blog/2010/05/13/never-say-amazon-doesnt-hold-a-grudge/</link>
		<comments>http://coreygilmore.com/blog/2010/05/13/never-say-amazon-doesnt-hold-a-grudge/#comments</comments>
		<pubDate>Thu, 13 May 2010 20:32:16 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[Kindle]]></category>
		<category><![CDATA[Macmillan]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1503</guid>
		<description><![CDATA[I was never a fan of Amazon&#039;s skitzophrenic pricing for the Kindle version of books, but I think Macmillan is utterly retarded for thinking that consumers will be be fine paying more for books, and that people will understand the difference between a hardcover and paperback price &#8211; of an electronic book.

Amazon was taking a [...]]]></description>
			<content:encoded><![CDATA[<p>I was <a href="http://coreygilmore.com/blog/2009/07/03/amazons-kindle-pricing-sucks/" >never a fan</a> of Amazon&#039;s skitzophrenic pricing for the Kindle version of books, but I think <a href="http://blog.macmillanspeaks.com/macmillan-ceo-john-sargent-on-the-agency-model-availability-and-price/" >Macmillan is utterly retarded</a> for thinking that consumers will be be fine paying more for books, and that people will understand the difference between a <a href="http://blog.macmillanspeaks.com/answers-to-some-questions-from-the-comments/" >hardcover and paperback price</a> &#8211; of an electronic book.</p>
<p><a href="http://www.amazon.com/Die-Twice-David-Trevellyan-Thriller/dp/0312540272/" ><img border="1"  class="outline alignnone size-full wp-image-1504"  title="Amazon Kindle Pricing"  src="http://coreygilmore.com/uploads/2010/05/kindle-pricing.png"  alt=""  width="512"  height="361"     style="border: none;border:1px solid black;"/></a></p>
<p>Amazon was taking a loss on every $9.99 book they sold, because they wanted to further the ebook platform and not confuse people with <a href="http://www.fiercemobilecontent.com/story/itunes-variable-pricing-cited-slowing-wmg-music-sales/2010-02-10" >variable pricing</a>. Amazon is thinking long-term, whereas Macmillian is thinking like a 167-year old company that&#039;s run by people who are confused by and scared of the Internet.</p>
<p>If there is any doubt left about who has the reader&#039;s best interests in mind, try comparing pricing for a random book from <a href="http://us.macmillan.com/MacmillanSite/categories/General/Macmillan/TopSellers" >Macmillan&#039;s Top Sellers</a> page.</p>
<div id="attachment_1505"  class="wp-caption alignnone"     style="width: 605pxwidth: 605pxtext-align: center; padding-top: 4px; margin: 10px;text-align: center; padding-top: 4px; margin: 10px;"><a href="http://www.amazon.com/Eight-Days-Live-Forensics-Thrillers/dp/0312368151" ><img hspace="0"  vspace="0"  class="size-full wp-image-1505"  title="Eight Days to Live at Amazon"  src="http://coreygilmore.com/uploads/2010/05/8days-amazon.png"  alt=""  width="595"  height="169"     style="border: none;margin: 0; padding: 0; border: 0 none;"/></a><p class="wp-caption-text"   style="font: bold 11px/17px 'Lucida Grande'font: bold 11px/17px 'Lucida Grande''Lucida Sans Unicode''Lucida Sans Unicode'TahomaTahomaVerdanaVerdanasans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;sans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;">Eight Days to Live at Amazon</p></div>
<div id="attachment_1506"  class="wp-caption alignnone"     style="width: 364pxwidth: 364pxtext-align: center; padding-top: 4px; margin: 10px;text-align: center; padding-top: 4px; margin: 10px;"><a href="http://us.macmillan.com/eightdaystolive" ><img hspace="0"  vspace="0"  class="size-full wp-image-1506"  title="Eight Days to Live at Macmillan"  src="http://coreygilmore.com/uploads/2010/05/8days-douchebags.png"  alt=""  width="354"  height="189"     style="border: none;margin: 0; padding: 0; border: 0 none;"/></a><p class="wp-caption-text"   style="font: bold 11px/17px 'Lucida Grande'font: bold 11px/17px 'Lucida Grande''Lucida Sans Unicode''Lucida Sans Unicode'TahomaTahomaVerdanaVerdanasans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;sans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;">Eight Days to Live at Macmillan</p></div>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/05/13/never-say-amazon-doesnt-hold-a-grudge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Parallels Desktop for Mac&#8230;</title>
		<link>http://coreygilmore.com/blog/2010/05/10/on-parallels-desktop-for-mac/</link>
		<comments>http://coreygilmore.com/blog/2010/05/10/on-parallels-desktop-for-mac/#comments</comments>
		<pubDate>Mon, 10 May 2010 15:44:13 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Parallels]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1491</guid>
		<description><![CDATA[
Their uninstall icon sums up my feelings quite well. Their support is horrible, the forums are filled with people complaining and even their phone system is a joke; the IVR has a computer reading the name &#8211; Para-lel-ells &#8211; instead of a person.
The real deal breaker is the sticky keys bug.  Which ever the CMD key is [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1492"  title="Parallels Desktop for Mac - Uninstall Icon"  src="http://coreygilmore.com/uploads/2010/05/parallels.png"  alt=""  width="256"  height="256" /></p>
<p>Their uninstall icon sums up my feelings quite well. Their support is horrible, the forums are filled with people complaining and even their phone system is a joke; the IVR has a computer reading the name &#8211; Para-lel-ells &#8211; instead of a person.</p>
<p>The real deal breaker is the sticky keys bug.  Which ever the CMD key is mapped in a Windows VM doesn&#039;t work right. If you map CMD to ALT, Alt+Tab will &#039;stick&#039;.  If you map CMD to WIN, modifier keys like WIN+D don&#039;t work right.</p>
<p>This bug with sticky keys was introduced a couple years ago when Parallels Desktop 4 was released, and still exists with v5.</p>
<p>Maybe <a href="http://www.mactech.com/articles/special/1002-VirtualizationHeadToHead/index.html" >VMware Fusion is slower</a><sup>1</sup>, but VMware does virtualization right. I trust close to 90% of my servers to ESX/vSphere, and I&#039;ll continue to trust my desktop virtualization to Fusion. On a Windows desktop it&#039;s not even a question, VMware Workstation has no competition.</p>
<ol class="footnotes" ><li id="footnote_0_1491"  class="footnote" ><a href="http://communities.vmware.com/community/beta/fusion" >Fusion 3.1 RC</a> is in public beta, so the MacTech benchmarks are already outdated</li></ol>]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/05/10/on-parallels-desktop-for-mac/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Passing Multiple Automator Variables to a Shell Script</title>
		<link>http://coreygilmore.com/blog/2010/05/07/passing-multiple-automator-variables-to-a-shell-script/</link>
		<comments>http://coreygilmore.com/blog/2010/05/07/passing-multiple-automator-variables-to-a-shell-script/#comments</comments>
		<pubDate>Fri, 07 May 2010 20:30:13 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[AppleScript]]></category>
		<category><![CDATA[Automator]]></category>
		<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1481</guid>
		<description><![CDATA[Automator is incredibly powerful, but at the same time the most useless and semi-functional piece software I&#039;ve ever encountered. I recently built my first Automator Workflow to watermark a PDF. I wanted to load selected PDFs from the Finder, and for each PDF create a file in the same directory with a -watermark suffix appended. [...]]]></description>
			<content:encoded><![CDATA[<p>Automator is incredibly powerful, but at the same time the most useless and semi-functional piece software I&#039;ve ever encountered. I recently built my first Automator Workflow to watermark a PDF. I wanted to load selected PDFs from the Finder, and for each PDF create a file in the same directory with a -watermark suffix appended.  <strong>file1.pdf</strong> and <strong>file2.pdf</strong> would yield <strong>file1-watermark.pdf</strong> and <strong>file2-watermark.pdf</strong>.</p>
<p>It took me much too long to figure out that it wasn&#039;t easy (or maybe even possible) with Automator, even though it&#039;s simple to do from the command line.</p>
<p>Each Automator action returns a result. That result is passed to the next item in the chain, assuming the item is accepting input.  The key is to chain a series of <strong>Get Value of Variable</strong> calls together, which are passed to a shell script as <code  style="display:inline; font: 1.1em 'Courier New'display:inline; font: 1.1em 'Courier New'CourierCourierFixed; padding:0 1px;Fixed; padding:0 1px;">$1-$<em  style="font-style:italic;font-style:italic;">n</em></code> and the special <code  style="display:inline; font: 1.1em 'Courier New'display:inline; font: 1.1em 'Courier New'CourierCourierFixed; padding:0 1px;Fixed; padding:0 1px;">$@</code> variable.  I&#039;ve written a <a href="http://coreygilmore.com/blog/2010/05/07/bash-array-primer/" >short primer on using Arrays in Bash</a> that may be helpful.</p>
<p>A crappy picture is worth at least 68 words, so here is what a sample workflow looks like:<br/>
<img border="1"  src="http://coreygilmore.com/uploads/2010/05/automator-workflow.jpg"  alt=""  title="Automator Workflow"  width="630"  height="1040"  class="outline alignnone size-full wp-image-1482"   style="border:1px solid black;"/></p>
<p>You can download the <a href="http://coreygilmore.com/uploads/projects/automator-variables.zip" >sample workflow here</a>.</p>
<p>If you want to loop through selected Finder items one-at-a-time, the best way is to use Nyhthawk Productions&#039;s excellent <a href="http://automator.us/leopard/downloads/" >Dispense Items Incrementally action</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/05/07/passing-multiple-automator-variables-to-a-shell-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash &#8211; Array Primer</title>
		<link>http://coreygilmore.com/blog/2010/05/07/bash-array-primer/</link>
		<comments>http://coreygilmore.com/blog/2010/05/07/bash-array-primer/#comments</comments>
		<pubDate>Fri, 07 May 2010 16:53:30 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1476</guid>
		<description><![CDATA[Posted mostly for my own reference since I always forget the syntax, arrays are invaluable when writing moderately complex shell scripts.  If you&#039;re writing any serious shell scripts you&#039;ll want to refer The Linux Documentation Project&#039;s excellent primers: Bash Guide for Beginners and  Advanced Bash-Scripting Guide
array.sh

#!/bin/bash
&#160;
echo &#34;&#60;&#60;&#60; Load a file into an array&#34;
echo [...]]]></description>
			<content:encoded><![CDATA[<p>Posted mostly for my own reference since I always forget the syntax, arrays are invaluable when writing moderately complex shell scripts.  If you&#039;re writing any serious shell scripts you&#039;ll want to refer <a href="http://tldp.org/guides.html" >The Linux Documentation Project&#039;s</a> excellent primers: <a href="http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html" >Bash Guide for Beginners</a> and  <a href="http://tldp.org/LDP/abs/html/index.html" >Advanced Bash-Scripting Guide</a></p>
<h3  style="font-size: 1.3em; padding: 0; margin: 20px 0 0;font-size: 1.3em; padding: 0; margin: 20px 0 0;">array.sh</h3>

<div class="wp_syntax"   style="color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;"><div class="code" ><pre class="sh"     style="font-family:monospace;font-family:monospace;margin: 0; width: auto; float: none; clear: none; overflow: visible;margin: 0; width: auto; float: none; clear: none; overflow: visible;">#!/bin/bash
&nbsp;
echo &quot;&lt;&lt;&lt; Load a file into an array&quot;
echo &quot;# Set the IFS (Internal Field Separator) to a newline
IFS='
'
# Load file.txt from the current directory
arr=( \$( &lt; file.txt ) )
&quot;
&nbsp;
&nbsp;
IFS='
'
arr=( $( &lt; file.txt ) )
&nbsp;
&nbsp;
echo &quot;&lt;&lt;&lt; Addressing individual array elements&quot;
echo &quot;\${arr[0]} = ${arr[0]}&quot; # the first line of the file
echo &quot;\${arr[1]} = ${arr[1]}&quot; # the second line of the file
&nbsp;
&nbsp;
echo &quot;&quot;
echo &quot;&lt;&lt;&lt; \${#VARNAME[@]} will always return the number of elements in an array&quot;
echo &quot;\$arr contains ${#arr[@]} (\${#arr[@]}) items&quot;
&nbsp;
echo &quot;&quot;
echo &quot;&lt;&lt;&lt; Loop through the array (\${arr[@]}), loading each item as \$foo.&quot;
num=1
for foo in &quot;${arr[@]}&quot; ; do
	echo &quot;Loop iteration $num: $foo&quot;
	num=$((num+1))
done
&nbsp;
&nbsp;
echo &quot;&quot;
echo &quot;&lt;&lt;&lt; Loop through the array, addressing each item with an index&quot;
num=0
while [[ $num -lt ${#arr[@]} ]] ; do
	echo &quot;Array index $num (\${arr[$num]}): ${arr[$num]}&quot;
	num=$((num+1))
done</pre></div></div>

<h3  style="font-size: 1.3em; padding: 0; margin: 20px 0 0;font-size: 1.3em; padding: 0; margin: 20px 0 0;">file.txt</h3>

<div class="wp_syntax"   style="color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;"><div class="code" ><pre class="text"     style="font-family:monospace;font-family:monospace;margin: 0; width: auto; float: none; clear: none; overflow: visible;margin: 0; width: auto; float: none; clear: none; overflow: visible;">file line 1
file line 2
file line 3
file line 4</pre></div></div>

<p>Saving the two files above as array.sh and file.txt, and running array.sh yields:</p>

<div class="wp_syntax"   style="color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;"><div class="code" ><pre class="text"     style="font-family:monospace;font-family:monospace;margin: 0; width: auto; float: none; clear: none; overflow: visible;margin: 0; width: auto; float: none; clear: none; overflow: visible;">$./array.sh 
&lt;&lt;&lt; Load a file into an array
# Set the IFS (Internal Field Separator) to a newline
IFS='
'
# Load file.txt from the current directory
arr=( $( &lt; file.txt ) )
&nbsp;
&lt;&lt;&lt; Addressing individual array elements
${arr[0]} = file line 1
${arr[1]} = file line 2
&nbsp;
&lt;&lt;&lt; ${#VARNAME[@]} will always return the number of elements in an array
$arr contains 4 (${#arr[@]}) items
&nbsp;
&lt;&lt;&lt; Loop through the array (${arr[@]}), loading each item as $foo.
Loop iteration 1: file line 1
Loop iteration 2: file line 2
Loop iteration 3: file line 3
Loop iteration 4: file line 4
&nbsp;
&lt;&lt;&lt; Loop through the array, addressing each item with an index
Array index 0 (${arr[0]}): file line 1
Array index 1 (${arr[1]}): file line 2
Array index 2 (${arr[2]}): file line 3
Array index 3 (${arr[3]}): file line 4</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/05/07/bash-array-primer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Battery Showdown &#8211; BlackBerry vs iPhone</title>
		<link>http://coreygilmore.com/blog/2010/05/05/battery-showdown-blackberry-vs-iphone/</link>
		<comments>http://coreygilmore.com/blog/2010/05/05/battery-showdown-blackberry-vs-iphone/#comments</comments>
		<pubDate>Thu, 06 May 2010 04:59:49 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Please don't sue me Michael Buffer]]></category>
		<category><![CDATA[RIM]]></category>
		<category><![CDATA[RUMBLE]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1463</guid>
		<description><![CDATA[Fairly typical day, except that that I enabled phone service on the iPhone.  This test was conducted with my usual rigorous standards, which means I happened to glance at my iPhone data usage around lunch, and ballparked the data transfer.  The only thing I can be sure of is the quantity and duration [...]]]></description>
			<content:encoded><![CDATA[<p>Fairly typical day, except that that I enabled phone service on the iPhone.  This test was conducted with my usual rigorous standards, which means I happened to glance at my iPhone data usage around lunch, and ballparked the data transfer.  The only thing I can be sure of is the quantity and duration of the phone calls, and that I had them with me all day.  </p>
<p><strong>iPhone 3GS</strong>, brightness set to ~55%.  Wifi was enabled all day, 7:00 AM &#8211; 10:40 PM.  3G was enabled between 11:00 AM and 8:30 PM.  A single two-minute phone call was placed.  Roughly 11MB of data usage while on 3G (several web pages and Twitter using Tweetie).</p>
<p><strong>Final result: </strong>At 10:40 PM there was 26% remaining on the battery.</p>
<p><strong>BlackBerry Bold 9700</strong>, brightness set to auto. 3G and wifi enabled all day &#8211; 7:00 AM &#8211; 10:40 PM.  Multiple background apps &#8211; SocialScope (Twitter) and Twitter for BlackBerry, multiple web pages and push email for 5 different accounts (4 BIS, 1 BES). 5 phone calls were placed, lasting a total of around 70 minutes.</p>
<p><strong>Final result: </strong>At 10:40 PM there was 65% remaining on the battery.</p>
<blockquote  style="border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;"><p>Dear RIM,</p>
<p>Please shave 1-3mm off the thickness of my next device, I obviously don&#039;t need a replaceable battery<sup>1</sup>.</p>
<p>xoxo,<br/>
Corey</p></blockquote>
<p>Side note: I have replaceable batteries for the BlackBerry Tour/Storm/Storm2/8900, the BlackBerry Bold 9700, my Mifi, and the BlackBerry 8530.  I do not have any spare batteries for any of my Android devices, which would feel like trying to color coordinate my car with vehicles the rest of the highway.  The BlackBerry 9700 is the first device I&#039;ve ever owned where it takes significant effort to drain the battery (<20% remaining).  Enjoy the high caliber of writing I produce right before I fall asleep.</p>
<ol class="footnotes" ><li id="footnote_0_1463"  class="footnote" >Thanks to <a href="http://alexking.org/" >Alex</a> for planting this statement in my mind</li></ol>]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/05/05/battery-showdown-blackberry-vs-iphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Act fast&#8230;</title>
		<link>http://coreygilmore.com/blog/2010/05/03/act-fast/</link>
		<comments>http://coreygilmore.com/blog/2010/05/03/act-fast/#comments</comments>
		<pubDate>Tue, 04 May 2010 04:59:24 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1458</guid>
		<description><![CDATA[To avoid publicity and possible rival bids, Apple in some cases has offered a target only a three-hour period in which to accept the terms of a sale, according to one executive with knowledge of the situation. 
Once bitten, twice shy.
Also telling:
Counting long-term investments that the company can &#034;liquidate in a day,&#034; Apple had $41.7 [...]]]></description>
			<content:encoded><![CDATA[<blockquote  style="border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;"><p>To avoid publicity and possible rival bids, Apple in some cases has offered a target only a three-hour period in which to accept the terms of a sale, according to one executive with knowledge of the situation. </p></blockquote>
<p><a href="http://www.google.com/press/admob/" >Once bitten</a>, twice shy.</p>
<p>Also telling:</p>
<blockquote  style="border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;"><p>Counting long-term investments that the company can &#034;liquidate in a day,&#034; Apple had $41.7 billion in cash at the end of the last quarter, Broadpoint’s Marshall said. In comparison, Google had about $26.5 billion, he said.</p></blockquote>
<p>I doubt Apple will be letting Google walk away with one of their acquisition targets so easily in the future.</p>
<p>via <a href="http://www.bloomberg.com/apps/news?pid=20601109&#038;sid=amfzZ4HE_9fo&#038;pos=15" >Bloomberg</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/05/03/act-fast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert a SIM to Micro-SIM or a Micro-SIM to SIM</title>
		<link>http://coreygilmore.com/blog/2010/05/03/convert-a-sim-to-micro-sim-or-a-micro-sim-to-sim/</link>
		<comments>http://coreygilmore.com/blog/2010/05/03/convert-a-sim-to-micro-sim-or-a-micro-sim-to-sim/#comments</comments>
		<pubDate>Mon, 03 May 2010 17:00:50 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[AT&T]]></category>
		<category><![CDATA[Micro-SIM]]></category>
		<category><![CDATA[SIM]]></category>
		<category><![CDATA[T-Mobile]]></category>
		<category><![CDATA[TMO]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1446</guid>
		<description><![CDATA[Shortly after the iPad announced that it only took Micro-SIMs I commented it looks like you trim down a normal SIM with scissors, and have it fit into a Micro-SIM slot.

Looks like I was right, and TechRadar has a how-to guide for the SIM to Micro-SIM conversion. BGR has a few images of AT&#38;T&#039;s new [...]]]></description>
			<content:encoded><![CDATA[<p>Shortly after the iPad announced that it only took Micro-SIMs I commented it looks like you trim down a normal SIM with scissors, and have it fit into a Micro-SIM slot.</p>
<p><a href="http://twitter.com/coreygilmore/status/8295203142" ><img border="1"  class="alignnone outline size-medium wp-image-1447"  title="Micro-SIM Tweet"  src="http://coreygilmore.com/uploads/2010/05/microsim-300x156.png"  alt=""  width="300"  height="156"     style="border: none;border:1px solid black;"/></a></p>
<p>Looks like I was right, and TechRadar has a <a href="http://www.techradar.com/news/computing/apple/how-to-make-your-own-ipad-micro-sim-681020" >how-to guide for the SIM to Micro-SIM conversion</a>. <a href="http://www.boygeniusreport.com/2010/04/29/att-gets-ready-for-your-ipad-new-iphone-with-micro-sims/" >BGR</a> has a few images of <a href="http://www.boygeniusreport.com/2010/04/29/att-gets-ready-for-your-ipad-new-iphone-with-micro-sims/" >AT&amp;T&#039;s new combo-SIMs</a>, and although the AT&amp;T Micro-SIM is a one-way street, <a href="http://microsim-shop.com/" >MicroSim Shop</a> sells a Micro-SIM (Mini-UICC) to SIM adapter for €5.99.</p>
<div id="attachment_1448"  class="wp-caption alignnone"     style="width: 310pxwidth: 310pxtext-align: center; padding-top: 4px; margin: 10px;text-align: center; padding-top: 4px; margin: 10px;"><a href="http://www.boygeniusreport.com/2010/04/29/att-gets-ready-for-your-ipad-new-iphone-with-micro-sims/" ><img hspace="0"  vspace="0"  class="size-medium wp-image-1448"  title="AT&amp;T Micro-SIM"  src="http://coreygilmore.com/uploads/2010/05/att-micro-sim-2-300x225.jpg"  alt=""  width="300"  height="225"     style="border: none;margin: 0; padding: 0; border: 0 none;"/></a><p class="wp-caption-text"   style="font: bold 11px/17px 'Lucida Grande'font: bold 11px/17px 'Lucida Grande''Lucida Sans Unicode''Lucida Sans Unicode'TahomaTahomaVerdanaVerdanasans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;sans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;">AT&amp;T SIM/Micro-SIM Combo Card</p></div>
<p>MicroSim Shop also has a guide for <a href="http://microsim-shop.com/making-your-own-microsim.html" >cutting a SIM down to size</a>, and some shots of the final product being used in one of their adapters.</p>
<div id="attachment_1452"  class="wp-caption alignnone"     style="width: 427pxwidth: 427pxtext-align: center; padding-top: 4px; margin: 10px;text-align: center; padding-top: 4px; margin: 10px;"><a href="http://microsim-shop.com/making-your-own-microsim.html" ><img hspace="0"  vspace="0"  class="size-full wp-image-1452"  title="Micro-SIM Adapter"  src="http://coreygilmore.com/uploads/2010/05/microsim-adapter.jpg"  alt=""  width="417"  height="274"     style="border: none;margin: 0; padding: 0; border: 0 none;"/></a><p class="wp-caption-text"   style="font: bold 11px/17px 'Lucida Grande'font: bold 11px/17px 'Lucida Grande''Lucida Sans Unicode''Lucida Sans Unicode'TahomaTahomaVerdanaVerdanasans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;sans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;">Micro-SIM Adapter and DIY Micro-SIM</p></div>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/05/03/convert-a-sim-to-micro-sim-or-a-micro-sim-to-sim/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>TEXT MESSAGE</title>
		<link>http://coreygilmore.com/blog/2010/04/27/text-message/</link>
		<comments>http://coreygilmore.com/blog/2010/04/27/text-message/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 12:23:39 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Hotel]]></category>
		<category><![CDATA[India]]></category>
		<category><![CDATA[Juliet]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1441</guid>
		<description><![CDATA[I came back to my hotel room at the Marriott last night, and the voicemail light on the phone was blinking.  No surprise, I typically don&#039;t have my room made up, and housekeeping will call and leave a message to make sure I don&#039;t need clean towels, since it&#039;s normal to use 101 towels [...]]]></description>
			<content:encoded><![CDATA[<p>I came back to my hotel room at the Marriott last night, and the voicemail light on the phone was blinking.  No surprise, I typically don&#039;t have my room made up, and housekeeping will call and leave a message to make sure I don&#039;t need clean towels, since it&#039;s normal to use 10<sup>1</sup> towels a day.</p>
<p>I hit the big red flashing button, and was told I didn&#039;t have any voicemail messages. I did on the other hand, have a text message.  Press zero to hear your text messages.</p>
<p>I obligingly hit zero (anything to turn off that light), and I&#039;m transferred to someone at the front desk who proceeds to read me a note from housekeeping, about towels &#8211; and shampoo.  I get hints.</p>
<p>Note to Marriott &#8211; it&#039;s less of a text message and more of a live action voicemail.</p>
<ol class="footnotes" ><li id="footnote_0_1441"  class="footnote" >four full size towels, four medium towels and two washcloths.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/04/27/text-message/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apr_sockaddr_info_get() failed for example.com+</title>
		<link>http://coreygilmore.com/blog/2010/04/23/apr_sockaddr_info_get-failed-for-example-com/</link>
		<comments>http://coreygilmore.com/blog/2010/04/23/apr_sockaddr_info_get-failed-for-example-com/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 18:54:34 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[hostname]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1436</guid>
		<description><![CDATA[I&#039;ve had an issue on a server for a little while now where Apache works fine, but apachectl configtest throws a warning.
# apachectl configtest
httpd: apr_sockaddr_info_get() failed for foo.example.com+
httpd: Could not reliably determine the server&#039;s fully qualified domain name, using 127.0.0.1 for ServerName

Everything worked, so I never dug too deep, but each time I saw the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#039;ve had an issue on a server for a little while now where Apache works fine, but <code  style="display:inline; font: 1.1em 'Courier New'display:inline; font: 1.1em 'Courier New'CourierCourierFixed; padding:0 1px;Fixed; padding:0 1px;">apachectl configtest</code> throws a warning.</p>
<blockquote  style="border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;"><p># apachectl configtest<br/>
httpd: apr_sockaddr_info_get() failed for foo.example.com+<br/>
httpd: Could not reliably determine the server&#039;s fully qualified domain name, using 127.0.0.1 for ServerName
</p></blockquote>
<p>Everything worked, so I never dug too deep, but each time I saw the message I got a little more annoyed.  I thought there might be a hidden character in my httpd.conf file, but the actual issue wasn&#039;t related to Apache at all &#8211; it was the machine&#039;s hostname.  I never noticed it because with a machine named <strong>foo.example.com</strong> I&#039;d only see <strong>username@foo</strong> at a stock bash command prompt.</p>
<p>Running <code  style="display:inline; font: 1.1em 'Courier New'display:inline; font: 1.1em 'Courier New'CourierCourierFixed; padding:0 1px;Fixed; padding:0 1px;">hostname</code> showed that the the hostname had a trailing +</p>
<blockquote  style="border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;"><p># hostname<br/>
foo.example.com+</p></blockquote>
<p>It was easily fixed by running:</p>
<blockquote  style="border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;"><p># hostname foo.example.com</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/04/23/apr_sockaddr_info_get-failed-for-example-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ODBC Driver Manager &#8211; Data source name not found and no default driver specified</title>
		<link>http://coreygilmore.com/blog/2010/04/14/odbc-driver-manager-data-source-name-not-found-and-no-default-driver-specified/</link>
		<comments>http://coreygilmore.com/blog/2010/04/14/odbc-driver-manager-data-source-name-not-found-and-no-default-driver-specified/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 16:21:29 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[32-bit]]></category>
		<category><![CDATA[64-bit]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[ODBC]]></category>
		<category><![CDATA[Server 2003]]></category>
		<category><![CDATA[Server 2008]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[x64]]></category>
		<category><![CDATA[x86]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1428</guid>
		<description><![CDATA[While migrating an application from MSSQL 2005 and Server 2003 to MSSQL 2008 x64 and Server 2008 x64, I ran into an problem with the ODBC connection.  The application uses a System DSN to connect to my BlackBerry Enterprise Server, BESMgmt.  Settings were identical on both boxes, and verification within the ODBC manager [...]]]></description>
			<content:encoded><![CDATA[<p>While migrating an application from MSSQL 2005 and Server 2003 to MSSQL 2008 x64 and Server 2008 x64, I ran into an problem with the ODBC connection.  The application uses a System DSN to connect to my BlackBerry Enterprise Server, BESMgmt.  Settings were identical on both boxes, and verification within the ODBC manager worked.</p>
<p>When I tried to verify the DSN from within the app, I received the following error:</p>
<blockquote  style="border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;"><p>Can&#039;t connect, error [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified</p></blockquote>
<p>A variant of this error is:</p>
<blockquote  style="border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;border-color: #ddd; border-style: solid; border-width: 1px 1px 1px 5px; margin: 15px 30px 15px 10px; padding: 0pt 15px; color: #777;"><p>Microsoft OLE DB Provider for Microsoft OLE DB Provider for ODBC Drivers (0&#215;80004005)<br/>
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified</p></blockquote>
<p>Most of the search results for that error turned up permission problems, and recommended explicitly granting access to the Registry key at the <code  style="display:inline; font: 1.1em 'Courier New'display:inline; font: 1.1em 'Courier New'CourierCourierFixed; padding:0 1px;Fixed; padding:0 1px;">HKLM\SOFTWARE\ODBC\ODBC.INI</code>.  This wasn&#039;t my problem, and is also the reason that User DSNs exist.</p>
<p>It turns out that if you launch the ODBC Manager from the Start menu, you&#039;re getting the 64-bit version.  32-bit applications don&#039;t see DSNs created in the 64-bit ODBC Manager, and will fail one of the errors above.</p>
<p>The 32-bit ODBC Manager is located at <code  style="display:inline; font: 1.1em 'Courier New'display:inline; font: 1.1em 'Courier New'CourierCourierFixed; padding:0 1px;Fixed; padding:0 1px;">C:\Windows\SysWOW64\odbcad32.exe</code></p>
<p>Launch that to manage DSNs for 32-bit applications and resolve this error.</p>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/04/14/odbc-driver-manager-data-source-name-not-found-and-no-default-driver-specified/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use ffmpeg to encode a 3GP video to more portable formats</title>
		<link>http://coreygilmore.com/blog/2010/03/05/use-ffmpeg-to-encode-a-3gp-video-to-more-portable-formats/</link>
		<comments>http://coreygilmore.com/blog/2010/03/05/use-ffmpeg-to-encode-a-3gp-video-to-more-portable-formats/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 18:18:22 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[VLC]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1398</guid>
		<description><![CDATA[The BlackBerry records videos in 3GPP format (.3GP extension), which isn&#039;t the most portable format.  If you send a .3GP video to someone, the odds aren&#039;t great they&#039;ll be able to play it.  Xvid, with an encoding example below, isn&#039;t most portable either, but VLC will play it on all platforms, recent versions [...]]]></description>
			<content:encoded><![CDATA[<p>The BlackBerry records videos in <a href="http://en.wikipedia.org/wiki/3GP" >3GPP</a> format (.3GP extension), which isn&#039;t the most portable format.  If you send a .3GP video to someone, the odds aren&#039;t great they&#039;ll be able to play it.  Xvid, with an encoding example below, isn&#039;t most portable either, but <a href="http://www.videolan.org/vlc/" >VLC</a> will play it on all platforms, recent versions of Windows Media Player support it, and QuickTime on OS X will play it with the <a href="http://perian.org/" >Perian components</a> installed.</p>
<h2  style="font-size: 1.6em; margin: 20px 0 0;font-size: 1.6em; margin: 20px 0 0;">Get FFmpeg</h2>
<p><a href="http://www.ffmpeg.org/" >FFmpeg</a> is a fantastic cross-platform audio/video encoding solution.  In fact it&#039;s so good that many <a href="http://www.ffmpeg.org/shame.html" >commercial applications like to use it</a> without paying license fees to the appropriate patent holders.</p>
<p>Download Windows ffmpeg binaries from <a href="http://ffmpeg.arrozcru.org/autobuilds/" >http://ffmpeg.arrozcru.org/autobuilds/</a></p>
<p>On some Linux distros, like Ubuntu, you&#039;ll likely need <a href="https://wiki.ubuntu.com/ffmpeg" >the -unstripped builds</a>.</p>
<p>There aren&#039;t many binary releases of ffmpeg for OS X, but the Audacity Project has a <a href="http://audacity.homerow.net/index.php?dir=ffmpeg%2F&#038;download=FFmpeg_20090729_for_Audacity_on_OSX.dmg" >build from July, 2009 available</a>. You can also <a href="http://stephenjungels.com/jungels.net/articles/ffmpeg-howto.html" >compile it yourself</a>, or use <a href="http://www.macports.org/" >MacPorts</a>.</p>
<h2  style="font-size: 1.6em; margin: 20px 0 0;font-size: 1.6em; margin: 20px 0 0;">Conversions</h2>
<p>When quality is not a concern &#8211; and with such a low quality source, it isn&#039;t &#8211; you let ffmpeg use it&#039;s default settings without issue.  Codec names will vary based on the age/version of your ffmpeg build.  Run ffmpeg -codecs to see all the available codecs.  If you want to keep the video bitrate the same, pass the <strong>-sameq</strong> parameter to ffmpeg.</p>
<h3  style="font-size: 1.3em; padding: 0; margin: 20px 0 0;font-size: 1.3em; padding: 0; margin: 20px 0 0;">Convert .3GP to Xvid</h3>
<p> <strong>libxvid</strong> may just be <strong>xvid</strong>, and <strong>libmp3lame</strong> may be called <strong>mp3</strong> instead.</p>

<div class="wp_syntax"   style="color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;"><div class="code" ><pre class="text"     style="font-family:monospace;font-family:monospace;margin: 0; width: auto; float: none; clear: none; overflow: visible;margin: 0; width: auto; float: none; clear: none; overflow: visible;">ffmpeg -i MOVIE.3GP -f avi -vcodec libxvid -acodec libmp3lame MOVIE.AVI</pre></div></div>

<p>A 4.3 MB .3GP file was encoded to a 783 KB .avi, 82% reduction in size.</p>
<h3  style="font-size: 1.3em; padding: 0; margin: 20px 0 0;font-size: 1.3em; padding: 0; margin: 20px 0 0;">Convert .3GP to MPEG1</h3>

<div class="wp_syntax"   style="color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;"><div class="code" ><pre class="text"     style="font-family:monospace;font-family:monospace;margin: 0; width: auto; float: none; clear: none; overflow: visible;margin: 0; width: auto; float: none; clear: none; overflow: visible;">ffmpeg -i MOVIE.3GP MOVIE.MPG</pre></div></div>

<p>A 4.3 MB .3GP file was encoded to a 910 KB .mpg, 79% reduction in size.</p>
<h3  style="font-size: 1.3em; padding: 0; margin: 20px 0 0;font-size: 1.3em; padding: 0; margin: 20px 0 0;">Convert .3GP to standard MPEG4</h3>

<div class="wp_syntax"   style="color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;"><div class="code" ><pre class="text"     style="font-family:monospace;font-family:monospace;margin: 0; width: auto; float: none; clear: none; overflow: visible;margin: 0; width: auto; float: none; clear: none; overflow: visible;">ffmpeg -i MOVIE.3GP MOVIE.MP4</pre></div></div>

<p>A 4.3 MB .3GP file was encoded to an 825 KB .mp4, 81% reduction in size.</p>
<h3  style="font-size: 1.3em; padding: 0; margin: 20px 0 0;font-size: 1.3em; padding: 0; margin: 20px 0 0;">Convert .3GP to standard Windows Media 7</h3>

<div class="wp_syntax"   style="color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;"><div class="code" ><pre class="text"     style="font-family:monospace;font-family:monospace;margin: 0; width: auto; float: none; clear: none; overflow: visible;margin: 0; width: auto; float: none; clear: none; overflow: visible;">ffmpeg -i MOVIE.3GP -vcodec wmv2 -acodec wmav2 MOVIE.WMV</pre></div></div>

<p>A 4.3 MB .3GP file was encoded to an 885 KB .wmv, 80% reduction in size.</p>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/03/05/use-ffmpeg-to-encode-a-3gp-video-to-more-portable-formats/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Macmillan shot first &#8211; ebooks should cost more</title>
		<link>http://coreygilmore.com/blog/2010/02/14/macmillan-shot-first-ebooks-should-cost-more/</link>
		<comments>http://coreygilmore.com/blog/2010/02/14/macmillan-shot-first-ebooks-should-cost-more/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 19:59:31 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[Greed]]></category>
		<category><![CDATA[Kindle]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1384</guid>
		<description><![CDATA[Amazon was completely wrong, and obviously disregarded the effort that publishers like Macmillan put into producing high-quality ebooks.  It&#039;s apparent that the publishers truly are looking out for consumers, and being truthful about the high costs of producing quality electronic copies of books.
]]></description>
			<content:encoded><![CDATA[<p>Amazon was completely wrong, and obviously disregarded the effort that publishers like Macmillan put into producing high-quality ebooks.  It&#039;s apparent that the publishers truly are looking out for consumers, and being truthful about the high costs of producing quality electronic <em  style="font-style:italic;font-style:italic;">copies</em> of books.</p>
<div id="attachment_1386"  class="wp-caption alignnone"     style="width: 310pxwidth: 310pxtext-align: center; padding-top: 4px; margin: 10px;text-align: center; padding-top: 4px; margin: 10px;"><a href="http://coreygilmore.com/uploads/2010/02/bt-book.jpg"  rel="lightbox[1384]" ><img hspace="0"  vspace="0"  class="size-medium wp-image-1386"  title="Blood Ties - Hardcove"  src="http://coreygilmore.com/uploads/2010/02/bt-book-300x300.jpg"  alt=""  width="300"  height="300"     style="border: none;margin: 0; padding: 0; border: 0 none;"/></a><p class="wp-caption-text"   style="font: bold 11px/17px 'Lucida Grande'font: bold 11px/17px 'Lucida Grande''Lucida Sans Unicode''Lucida Sans Unicode'TahomaTahomaVerdanaVerdanasans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;sans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;">Blood Ties - Hardcover</p></div>
<div id="attachment_1385"  class="wp-caption alignnone"     style="width: 235pxwidth: 235pxtext-align: center; padding-top: 4px; margin: 10px;text-align: center; padding-top: 4px; margin: 10px;"><a href="http://coreygilmore.com/uploads/2010/02/bt.png"  rel="lightbox[1384]" ><img hspace="0"  vspace="0"  class="size-medium wp-image-1385"  title="Blood Ties - ebook"  src="http://coreygilmore.com/uploads/2010/02/bt-225x300.png"  alt=""  width="225"  height="300"     style="border: none;margin: 0; padding: 0; border: 0 none;"/></a><p class="wp-caption-text"   style="font: bold 11px/17px 'Lucida Grande'font: bold 11px/17px 'Lucida Grande''Lucida Sans Unicode''Lucida Sans Unicode'TahomaTahomaVerdanaVerdanasans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;sans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;">Blood Ties - ebook</p></div>
<div id="attachment_1388"  class="wp-caption alignnone"     style="width: 204pxwidth: 204pxtext-align: center; padding-top: 4px; margin: 10px;text-align: center; padding-top: 4px; margin: 10px;"><a href="http://coreygilmore.com/uploads/2010/02/tbb-book.jpg"  rel="lightbox[1384]" ><img hspace="0"  vspace="0"  class="size-medium wp-image-1388"  title="The Butcher's Boy - Hardcover"  src="http://coreygilmore.com/uploads/2010/02/tbb-book-194x300.jpg"  alt=""  width="194"  height="300"     style="border: none;margin: 0; padding: 0; border: 0 none;"/></a><p class="wp-caption-text"   style="font: bold 11px/17px 'Lucida Grande'font: bold 11px/17px 'Lucida Grande''Lucida Sans Unicode''Lucida Sans Unicode'TahomaTahomaVerdanaVerdanasans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;sans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;">The Butcher&#39;s Boy - Hardcover</p></div>
<div id="attachment_1387"  class="wp-caption alignnone"     style="width: 204pxwidth: 204pxtext-align: center; padding-top: 4px; margin: 10px;text-align: center; padding-top: 4px; margin: 10px;"><a href="http://coreygilmore.com/uploads/2010/02/tbb.png"  rel="lightbox[1384]" ><img hspace="0"  vspace="0"  class="size-medium wp-image-1387"  title="The Butcher's Boy - ebook"  src="http://coreygilmore.com/uploads/2010/02/tbb-194x300.png"  alt=""  width="194"  height="300"     style="border: none;margin: 0; padding: 0; border: 0 none;"/></a><p class="wp-caption-text"   style="font: bold 11px/17px 'Lucida Grande'font: bold 11px/17px 'Lucida Grande''Lucida Sans Unicode''Lucida Sans Unicode'TahomaTahomaVerdanaVerdanasans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;sans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;">The Butcher&#39;s Boy - ebook</p></div>
<div id="attachment_1393"  class="wp-caption alignnone"     style="width: 210pxwidth: 210pxtext-align: center; padding-top: 4px; margin: 10px;text-align: center; padding-top: 4px; margin: 10px;"><a href="http://coreygilmore.com/uploads/2010/02/tfotr-book.jpg"  rel="lightbox[1384]" ><img hspace="0"  vspace="0"  class="size-medium wp-image-1393"  title="The Fellowship of the Ring - Hardcover"  src="http://coreygilmore.com/uploads/2010/02/tfotr-book-200x300.jpg"  alt=""  width="200"  height="300"     style="border: none;margin: 0; padding: 0; border: 0 none;"/></a><p class="wp-caption-text"   style="font: bold 11px/17px 'Lucida Grande'font: bold 11px/17px 'Lucida Grande''Lucida Sans Unicode''Lucida Sans Unicode'TahomaTahomaVerdanaVerdanasans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;sans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;">The Fellowship of the Ring - Hardcover</p></div>
<div id="attachment_1392"  class="wp-caption alignnone"     style="width: 241pxwidth: 241pxtext-align: center; padding-top: 4px; margin: 10px;text-align: center; padding-top: 4px; margin: 10px;"><a href="http://coreygilmore.com/uploads/2010/02/tfotr.png"  rel="lightbox[1384]" ><img hspace="0"  vspace="0"  class="size-medium wp-image-1392"  title="The Fellowship of the Ring - ebook"  src="http://coreygilmore.com/uploads/2010/02/tfotr-231x300.png"  alt=""  width="231"  height="300"     style="border: none;margin: 0; padding: 0; border: 0 none;"/></a><p class="wp-caption-text"   style="font: bold 11px/17px 'Lucida Grande'font: bold 11px/17px 'Lucida Grande''Lucida Sans Unicode''Lucida Sans Unicode'TahomaTahomaVerdanaVerdanasans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;sans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;">The Fellowship of the Ring - ebook</p></div>
<div id="attachment_1390"  class="wp-caption alignnone"     style="width: 207pxwidth: 207pxtext-align: center; padding-top: 4px; margin: 10px;text-align: center; padding-top: 4px; margin: 10px;"><a href="http://coreygilmore.com/uploads/2010/02/tlf-book.jpg"  rel="lightbox[1384]" ><img hspace="0"  vspace="0"  class="size-medium wp-image-1390"  title="The Long Fall - Hardcover"  src="http://coreygilmore.com/uploads/2010/02/tlf-book-197x300.jpg"  alt=""  width="197"  height="300"     style="border: none;margin: 0; padding: 0; border: 0 none;"/></a><p class="wp-caption-text"   style="font: bold 11px/17px 'Lucida Grande'font: bold 11px/17px 'Lucida Grande''Lucida Sans Unicode''Lucida Sans Unicode'TahomaTahomaVerdanaVerdanasans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;sans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;">The Long Fall - Hardcover</p></div>
<div id="attachment_1389"  class="wp-caption alignnone"     style="width: 247pxwidth: 247pxtext-align: center; padding-top: 4px; margin: 10px;text-align: center; padding-top: 4px; margin: 10px;"><a href="http://coreygilmore.com/uploads/2010/02/tlf.png"  rel="lightbox[1384]" ><img hspace="0"  vspace="0"  class="size-medium wp-image-1389"  title="The Long Fall - ebook"  src="http://coreygilmore.com/uploads/2010/02/tlf-237x300.png"  alt=""  width="237"  height="300"     style="border: none;margin: 0; padding: 0; border: 0 none;"/></a><p class="wp-caption-text"   style="font: bold 11px/17px 'Lucida Grande'font: bold 11px/17px 'Lucida Grande''Lucida Sans Unicode''Lucida Sans Unicode'TahomaTahomaVerdanaVerdanasans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;sans-serif; font-weight:bold; color:#000; margin:0; padding:1px 4px 5px; font-style:italic;">The Long Fall - ebook</p></div>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/02/14/macmillan-shot-first-ebooks-should-cost-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kindle vs iPad &#8211; Quick Thoughts</title>
		<link>http://coreygilmore.com/blog/2010/02/04/kindle-vs-ipad-quick-thoughts/</link>
		<comments>http://coreygilmore.com/blog/2010/02/04/kindle-vs-ipad-quick-thoughts/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 02:57:13 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[UI/UX]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[Kindle]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1378</guid>
		<description><![CDATA[I just said to Tracy &#034;I&#039;m going to read my book&#034; and picked up my Kindle.
I don&#039;t think I&#039;d ever say that about an iPad &#8211; even if the reading experience was superior &#8211; because an iPad will always be a computer first; everything else is secondary.  The Kindle was designed to replace books, [...]]]></description>
			<content:encoded><![CDATA[<p>I just said to Tracy &#034;I&#039;m going to read my book&#034; and picked up my Kindle.</p>
<p>I don&#039;t think I&#039;d ever say that about an iPad &#8211; even if the reading experience was superior &#8211; because an iPad will always be a computer first; everything else is secondary.  The Kindle was designed to replace books, not let you read books, watch movies, listen to music, browse the web and play games.  </p>
<p>If you&#039;re building a single-purpose device there shouldn&#039;t be any compromises with the design, and the overall experience while using it for its sole task should always be more enjoyable than with a multipurpose competitor.</p>
<p>I don&#039;t want my Kindle to do more, I just want it to be better at what it already does.</p>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/02/04/kindle-vs-ipad-quick-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AppleScript to generate a SecurID token and automatically connect to a Cisco VPN</title>
		<link>http://coreygilmore.com/blog/2010/02/04/applescript-to-generate-a-securid-token-and-automatically-connect-to-a-cisco-vpn/</link>
		<comments>http://coreygilmore.com/blog/2010/02/04/applescript-to-generate-a-securid-token-and-automatically-connect-to-a-cisco-vpn/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 19:33:33 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[AppleScript]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[RSA]]></category>
		<category><![CDATA[SecurID]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1359</guid>
		<description><![CDATA[Apple obviously hates copy and paste. They didn&#039;t add it to the iPhone for years, and even when they did add it, they only briefly allowed users to paste into the VPN password field, removing it with one of the first incremental updates to OS 3.0.  Luckily there&#039;s an app for that &#8211; CopyPasteFix, [...]]]></description>
			<content:encoded><![CDATA[<p>Apple obviously hates copy and paste. They didn&#039;t add it to the iPhone for years, and even when they did add it, they only briefly allowed users to paste into the VPN password field, removing it with one of the first incremental updates to OS 3.0.  Luckily there&#039;s an app for that &#8211; <a href="http://modmyi.com/cydia/package.php?id=13960" >CopyPasteFix</a>, only for jailbroken iPhones.</p>
<p>And then came Snow Leopard, OS X 10.6. They included built-in IPSEC VPN, freeing users from the shackles of the <em  style="font-style:italic;font-style:italic;">horrible</em> Cisco IPSEC client. But yet again, Apple decided that users don&#039;t need to copy and paste text into the password field.</p>
<p>For anyone with a <abbr title="One time password" >OTP soft token (like a RSA SecurID), this is a pain in the ass. Half the benefits of generating a passcode on the same device that you&#039;re using it on, are not having to type it.</abbr></p>
<p>Enter AppleScript, everyone&#039;s favorite natural language that thinks it&#039;s acceptable to use apostrophes when referencing variables.  I&#039;ve never actually written an AppleScript longer than <code  style="display:inline; font: 1.1em 'Courier New'display:inline; font: 1.1em 'Courier New'CourierCourierFixed; padding:0 1px;Fixed; padding:0 1px;">tell application "iTunes" to playpause</code> so this was new ground for me. <a href="http://twitter.com/hildjj" >Joe</a> mentioned he has a similar script for junky non-RSA soft token solution he uses, but he left the country immediately after taunting me with the prospect of getting the code.</p>
<p>If you&#039;re doing <em  style="font-style:italic;font-style:italic;">any</em> moderately serious AppleScript development, I highly recommend <a href="http://www.latenightsw.com/sd4/index.html" >Script Debugger</a> from Late Night Software. It was invaluable to seeing what objects and properties were <em  style="font-style:italic;font-style:italic;">really</em> available, and troubleshooting errors.</p>
<h2  style="font-size: 1.6em; margin: 20px 0 0;font-size: 1.6em; margin: 20px 0 0;">What it does</h2>
<ul>
<li>Prompts for your SecurID PIN (you can save this in the script, I highly recommend you NOT do that)</li>
<li>Launches the <a href="http://www.rsa.com/node.aspx?id=3552" >SecurID application</a> (it if it&#039;s running it will quit it first), generates a token, stores the token in a variable, and then quits the SecurID application</li>
<li>Kicks off the VPN connection process, types in the generated passcode when the window is available, and logs in.</li>
</ul>
<p>If there&#039;s any type of a banner with terms to accept, it won&#039;t click OK there.</p>
<p>Download the script, view the source code and read more at the <a href="http://coreygilmore.com/projects/automated-securid-token-generation-and-vpn-login-applescript/" >project page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/02/04/applescript-to-generate-a-securid-token-and-automatically-connect-to-a-cisco-vpn/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Seagal-arific</title>
		<link>http://coreygilmore.com/blog/2010/02/01/seagal-arific/</link>
		<comments>http://coreygilmore.com/blog/2010/02/01/seagal-arific/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 23:19:05 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Packaging]]></category>
		<category><![CDATA[Steven Seagal]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1341</guid>
		<description><![CDATA[A couple weeks ago I announced my intent to codename all my future projects after Steven Seagal movies.
My first Seagal-themed project is off to a roaring start, and I built a custom DMG packaging script purely so I could force the beta testers to look at Seagal&#039;s (self described?) &#034;striking and somewhat boyishly handsome&#034; mug [...]]]></description>
			<content:encoded><![CDATA[<p>A couple weeks ago I <a href="http://twitter.com/coreygilmore/status/8017360598" >announced my intent</a> to codename all my future projects after <a href="http://www.imdb.com/name/nm0000219/" >Steven Seagal</a> movies.</p>
<p>My first Seagal-themed project is off to a roaring start, and I built a custom DMG packaging script purely so I could force the beta testers to look at Seagal&#039;s (self described?) <a href="http://www.imdb.com/name/nm0000219/bio" >&#034;striking and somewhat boyishly handsome&#034;</a> mug while they rush to install the latest build of my project.</p>
<p>Beta testers, this is what you have to look forward to for the next release!</p>
<p><img src="http://coreygilmore.com/uploads/2010/02/project-atl.jpg"  alt=""  title="Project ATL - custom DMG"  width="462"  height="401"  class="alignnone size-full wp-image-1342" /></p>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/02/01/seagal-arific/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manipulate a plist from the command line</title>
		<link>http://coreygilmore.com/blog/2010/01/28/manipulate-a-plist-from-the-command-line/</link>
		<comments>http://coreygilmore.com/blog/2010/01/28/manipulate-a-plist-from-the-command-line/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 16:43:23 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1338</guid>
		<description><![CDATA[Since OS X 10.5 a command called PlistBuddy has been available.
It&#039;s useful for things like extracting the version number out of your Info.plist during a Run Script Build Phase.
PlistBuddy wasn&#039;t in my existing path, I found it at /usr/libexec/PlistBuddy
Example Usage

/usr/libexec/PlistBuddy -c &#34;Print :CFBundleVersion&#34; Info.plist

Outputs: 0.14, or whatever the value of the CFBundleVersion key in Info.plist [...]]]></description>
			<content:encoded><![CDATA[<p>Since OS X 10.5 a command called <a href="http://developer.apple.com/mac/library/DOCUMENTATION/Darwin/Reference/ManPages/man8/PlistBuddy.8.html" >PlistBuddy</a> has been available.</p>
<p>It&#039;s useful for things like extracting the version number out of your Info.plist during a <a href="http://developer.apple.com/iphone/library/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/200-Build_Phases/bs_build_phases.html" >Run Script Build Phase</a>.</p>
<p>PlistBuddy wasn&#039;t in my existing path, I found it at <code  style="display:inline; font: 1.1em 'Courier New'display:inline; font: 1.1em 'Courier New'CourierCourierFixed; padding:0 1px;Fixed; padding:0 1px;">/usr/libexec/PlistBuddy</code></p>
<h3  style="font-size: 1.3em; padding: 0; margin: 20px 0 0;font-size: 1.3em; padding: 0; margin: 20px 0 0;">Example Usage</h3>

<div class="wp_syntax"   style="color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;color: #100; border: 1px solid #ccc; padding-bottom:16px; overflow-x: auto; overflow: auto; overflow-y: hidden; width:100%; margin: 0 0 1.5em 0; font-size:9.5pt; line-height:1.1em;"><div class="code" ><pre class="text"     style="font-family:monospace;font-family:monospace;margin: 0; width: auto; float: none; clear: none; overflow: visible;margin: 0; width: auto; float: none; clear: none; overflow: visible;">/usr/libexec/PlistBuddy -c &quot;Print :CFBundleVersion&quot; Info.plist</pre></div></div>

<p>Outputs: 0.14, or whatever the value of the <em  style="font-style:italic;font-style:italic;">CFBundleVersion</em> key in Info.plist is.</p>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/01/28/manipulate-a-plist-from-the-command-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Security and Convenience</title>
		<link>http://coreygilmore.com/blog/2010/01/27/security-and-convenience/</link>
		<comments>http://coreygilmore.com/blog/2010/01/27/security-and-convenience/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 17:48:27 +0000</pubDate>
		<dc:creator>Corey</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[UI/UX]]></category>

		<guid isPermaLink="false">http://coreygilmore.com/?p=1328</guid>
		<description><![CDATA[I received this on a form I submitted incorrectly today.

- Security is using HTTPS to encrypt traffic between my browser and the web server.
- Security would be to have the page automatically time out and redirect to a page without any of my personal information.
- Making me re-enter something I just typed because I forgot [...]]]></description>
			<content:encoded><![CDATA[<p>I received this on a form I submitted incorrectly today.<br/>
<img border="1"  src="http://coreygilmore.com/uploads/2010/01/for-your-security.png"  alt=""  title="For Your Security"  width="371"  height="57"  class="outline alignnone size-full wp-image-1329"   style="border:1px solid black;"/></p>
<p>- Security is using HTTPS to encrypt traffic between my browser and the web server.</p>
<p>- Security would be to have the page automatically time out and redirect to a page without any of my personal information.</p>
<p>- Making me re-enter something I <em  style="font-style:italic;font-style:italic;">just</em> typed because I forgot to fill out a form field is not added security, it&#039;s just inconvenient and annoying.</p>
<p>The same is true for sites that believe using fields with <code  style="display:inline; font: 1.1em 'Courier New'display:inline; font: 1.1em 'Courier New'CourierCourierFixed; padding:0 1px;Fixed; padding:0 1px;">TYPE="PASSWORD"</code> to mask the text somehow increases security.  I have no empirical evidence, but I&#039;m sure those forms are re-submitted significantly more than non-obscured counterparts.  At the very least it makes users want to <a href="http://itsalwayssunny.tumblr.com/post/300597178/barnumyay-santa-well-hello-and-merry" >bite your face</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://coreygilmore.com/blog/2010/01/27/security-and-convenience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
