<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Caffeine Induced</title>
	<atom:link href="http://caffeineinduced.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://caffeineinduced.wordpress.com</link>
	<description>Thoughts on Technology, by Lance Hankins</description>
	<lastBuildDate>Tue, 24 Jan 2012 16:01:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='caffeineinduced.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/b4cfc4370e62b8de0080e368877a3579?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Caffeine Induced</title>
		<link>http://caffeineinduced.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://caffeineinduced.wordpress.com/osd.xml" title="Caffeine Induced" />
	<atom:link rel='hub' href='http://caffeineinduced.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Auto Create Quartz Tables at Startup</title>
		<link>http://caffeineinduced.wordpress.com/2010/04/05/auto-create-quartz-tables-at-startup/</link>
		<comments>http://caffeineinduced.wordpress.com/2010/04/05/auto-create-quartz-tables-at-startup/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 03:57:14 +0000</pubDate>
		<dc:creator>lhankins</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://caffeineinduced.wordpress.com/?p=199</guid>
		<description><![CDATA[I recently needed to add Quartz support to a Spring project, along with a mechanism for automatically creating the Quartz tables at application startup. I did a bit of googling on how to get Quartz to auto-create its tables, but didn&#8217;t find anything. Here&#8217;s what I ended up doing to solve the problem. First, lets [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=199&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I recently needed to add Quartz support to a Spring project, along with a mechanism for automatically creating the Quartz tables at application startup.   I did a bit of googling on how to get Quartz to auto-create its tables, but didn&#8217;t find anything.  Here&#8217;s what I ended up doing to solve the problem.</p>
<p>First, lets consider the basic configuration of a Quartz Scheduler in Spring. If you&#8217;re planning on storing Jobs in a relational database, then your entry will look something like this :<br />
<pre class="brush: xml;">
   &lt;bean id=&quot;quartzScheduler&quot; class=&quot;org.springframework.scheduling.quartz.SchedulerFactoryBean&quot;&gt;
      &lt;property name=&quot;dataSource&quot;&gt;
         &lt;ref bean=&quot;dataSource&quot;/&gt;
      &lt;/property&gt;
      &lt;property name=&quot;transactionManager&quot;&gt;
         &lt;ref bean=&quot;transactionManager&quot;/&gt;
      &lt;/property&gt;
      &lt;property name=&quot;quartzProperties&quot;&gt;
         &lt;props&gt;
            &lt;prop key=&quot;org.quartz.jobStore.tablePrefix&quot;&gt;QRTZ_&lt;/prop&gt;
            &lt;prop key=&quot;org.quartz.jobStore.selectWithLockSQL&quot;&gt;SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?&lt;/prop&gt;
         &lt;/props&gt;
      &lt;/property&gt;
   &lt;/bean&gt;
</pre></p>
<p>At this point, you could start up the application, but you&#8217;d get JDBC errors when Quartz tries to access its tables.  You could pop out to a SQL console and manually create these tables, but you&#8217;d be faced with the same problem each time you deployed to a new environment.</p>
<p>To remedy this,  we&#8217;ll make use of Spring&#8217;s DataSourceInitializer class, which will run designated SQL scripts when deployed : </p>
<p><pre class="brush: xml;">
&lt;!--
   This will execute SQL scripts to recreate the quartz tables at 
   appserver boot time. 
--&gt;
&lt;bean id=&quot;quartzDbInitializer&quot; class=&quot;org.springframework.jdbc.datasource.init.DataSourceInitializer&quot;&gt;
  &lt;property name=&quot;dataSource&quot; ref=&quot;dataSource&quot;/&gt;
  &lt;property name=&quot;enabled&quot; value=&quot;true&quot;/&gt;
  &lt;property name=&quot;databasePopulator&quot;&gt;
    &lt;bean class=&quot;org.springframework.jdbc.datasource.init.ResourceDatabasePopulator&quot;&gt;
      &lt;property name=&quot;continueOnError&quot; value=&quot;true&quot;/&gt;
      &lt;property name=&quot;ignoreFailedDrops&quot; value=&quot;true&quot;/&gt;
      &lt;property name=&quot;sqlScriptEncoding&quot; value=&quot;UTF-8&quot;/&gt;
      &lt;property name=&quot;scripts&quot;&gt;
        &lt;array&gt;
          &lt;value type=&quot;org.springframework.core.io.Resource&quot;&gt;
            classpath:META-INF/quartz/oracle/drop-quartz-tables.sql
          &lt;/value&gt;
          &lt;value type=&quot;org.springframework.core.io.Resource&quot;&gt;
            classpath:META-INF/quartz/oracle/create-quartz-tables.sql
          &lt;/value&gt;
        &lt;/array&gt;
      &lt;/property&gt;
    &lt;/bean&gt;
  &lt;/property&gt;
&lt;/bean&gt;
</pre><br />
The above will execute two sql scripts each time the application is started : </p>
<ul>
<li>META-INF/quartz/oracle/drop-quartz-tables.sql</li>
<li>META-INF/quartz/oracle/create-quartz-tables.sql</li>
</ul>
<p>Note &#8211; you&#8217;ll probably want to remove / comment out the drop-quartz-tables.sql eventually (it will drop your quartz tables each time you restart the application &#8211; ok for kicking off development, but not viable long term). </p>
<p>Just one more small thing left to do :  we need to add a dependency between our quartzScheduler bean and the quartzDbInitializer bean (so that the quartzDbInitializer bean will be instantiated BEFORE the quartzScheduler bean).  To do this, simply add a &#8220;depends-on&#8221; attribute to the quartzScheduler bean (as shown below) :</p>
<p><pre class="brush: xml;">
   &lt;bean id=&quot;quartzScheduler&quot; class=&quot;org.springframework.scheduling.quartz.SchedulerFactoryBean&quot; depends-on=&quot;quartzDbInitializer&quot;&gt;
      &lt;property name=&quot;dataSource&quot;&gt;
         &lt;ref bean=&quot;dataSource&quot;/&gt;
      &lt;/property&gt;
      &lt;property name=&quot;transactionManager&quot;&gt;
         &lt;ref bean=&quot;transactionManager&quot;/&gt;
      &lt;/property&gt;
      &lt;property name=&quot;quartzProperties&quot;&gt;
         &lt;props&gt;
            &lt;prop key=&quot;org.quartz.jobStore.tablePrefix&quot;&gt;QRTZ_&lt;/prop&gt;
            &lt;prop key=&quot;org.quartz.jobStore.selectWithLockSQL&quot;&gt;SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?&lt;/prop&gt;
         &lt;/props&gt;
      &lt;/property&gt;
   &lt;/bean&gt;
</pre><br />
That&#8217;s it.    </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/caffeineinduced.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/caffeineinduced.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/caffeineinduced.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/caffeineinduced.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/caffeineinduced.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/caffeineinduced.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/caffeineinduced.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/caffeineinduced.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/caffeineinduced.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/caffeineinduced.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/caffeineinduced.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/caffeineinduced.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/caffeineinduced.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/caffeineinduced.wordpress.com/199/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=199&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://caffeineinduced.wordpress.com/2010/04/05/auto-create-quartz-tables-at-startup/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2666bbf8d4245508e8204ba3fa1a9d05?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lhankins</media:title>
		</media:content>
	</item>
		<item>
		<title>FlipShare MinoHD &#8220;Camcorder Full&#8221; and &#8220;Camcorder Empty&#8221; Problem</title>
		<link>http://caffeineinduced.wordpress.com/2010/02/20/flipshare-minohd-camcorder-full-and-camcorder-empty-problem/</link>
		<comments>http://caffeineinduced.wordpress.com/2010/02/20/flipshare-minohd-camcorder-full-and-camcorder-empty-problem/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 16:13:54 +0000</pubDate>
		<dc:creator>lhankins</dc:creator>
				<category><![CDATA[gadgets]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://caffeineinduced.wordpress.com/?p=187</guid>
		<description><![CDATA[We purchased one of those FlipShare MinoHD camcorders about a year ago, and I must say its a really nice little device. Very affordable, very small, easy to use, and makes great videos. My wife was cleaning off some old videos the other day and somehow managed to get the device into an odd state [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=187&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We purchased one of those <a href="http://www.theflip.com/en-us/Products/mino.aspx">FlipShare MinoHD</a> camcorders about a year ago, and I must say its a really nice little device.  Very affordable, very small, easy to use, and makes great videos.</p>
<p>My wife was cleaning off some old videos the other day and somehow managed to get the device into an odd state in which its totally unusable.   Here are the symptoms:</p>
<ul>
<li>If you press the record button, you get a message saying &#8220;Camcorder full&#8221;.</li>
<li>If you press the trash button, you get a message saying &#8220;Camcorder empty&#8221;</li>
</ul>
<p>So basically &#8211; you can&#8217;t record anything (because the MinoHD thinks its full), and you can&#8217;t empty the trash (because the MinoHD thinks its already empty).   Awesome!</p>
<p>After a few minutes of debugging, I came to the following conclusion.   When you plugin the MinoHD to your computer, it basically acts like a little hard drive (formatted as FAT32).   It appears, that when in this unusable state, all of the videos that you <em>thought</em> you deleted are actually still on the drive, in its recycle bin.  </p>
<p>On an XP Professional laptop with hidden files / folders turned on, you&#8217;ll see something like this (note all the large MP4 files still hanging out under the .Trash folder) :</p>
<p><img style="margin:6px 0 6px 30px;" src="http://caffeineinduced.files.wordpress.com/2010/02/flipvideoproblem.png" alt="FlipVideo Camcorder Full / Camcorder Empty problem" /></p>
<p>I simply deleted all the MP4 files that were still in this trash folder, then ejected the flipshare, and things went back to working fine for me.</p>
<p>Note &#8211; I was expecting to find an &#8220;empty recycle bin&#8221; type context option when right clicking on the drive or the .Trash folder, but didn&#8217;t see one.  </p>
<p>To turn on hidden files / folders in windows explorer, you&#8217;d go to Tools | Folder Options, then press the View Tab.  Make sure the &#8220;Show hidden files and folders&#8221; radio button is selected (this is one of the first thing I do anytime I&#8217;m dealing with a new Windows install). </p>
<p><img style="margin:6px 0 6px 30px;" src="http://caffeineinduced.files.wordpress.com/2010/02/windowsexplorer-showhiddenfilesandfolders.png" alt="Windows Explorer - Show Hidden Files and Folders" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/caffeineinduced.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/caffeineinduced.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/caffeineinduced.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/caffeineinduced.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/caffeineinduced.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/caffeineinduced.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/caffeineinduced.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/caffeineinduced.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/caffeineinduced.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/caffeineinduced.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/caffeineinduced.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/caffeineinduced.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/caffeineinduced.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/caffeineinduced.wordpress.com/187/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=187&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://caffeineinduced.wordpress.com/2010/02/20/flipshare-minohd-camcorder-full-and-camcorder-empty-problem/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2666bbf8d4245508e8204ba3fa1a9d05?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lhankins</media:title>
		</media:content>

		<media:content url="http://caffeineinduced.files.wordpress.com/2010/02/flipvideoproblem.png" medium="image">
			<media:title type="html">FlipVideo Camcorder Full / Camcorder Empty problem</media:title>
		</media:content>

		<media:content url="http://caffeineinduced.files.wordpress.com/2010/02/windowsexplorer-showhiddenfilesandfolders.png" medium="image">
			<media:title type="html">Windows Explorer - Show Hidden Files and Folders</media:title>
		</media:content>
	</item>
		<item>
		<title>Confused by Cognos 8.4.1 Install Files&#8230;? This page can help.</title>
		<link>http://caffeineinduced.wordpress.com/2009/12/11/confused-by-cognos-8-4-1-install-files-this-page-can-help/</link>
		<comments>http://caffeineinduced.wordpress.com/2009/12/11/confused-by-cognos-8-4-1-install-files-this-page-can-help/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 17:03:12 +0000</pubDate>
		<dc:creator>lhankins</dc:creator>
				<category><![CDATA[cognos]]></category>

		<guid isPermaLink="false">http://caffeineinduced.wordpress.com/?p=170</guid>
		<description><![CDATA[It seems like in the last 9 months, the IBM acquisition of Cognos has really changed a lot of the way things are done for partners and customers. For example, the manner in which you get support and downloads has changed dramatically. Maybe its just me, but finding the downloads for the Cognos product you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=170&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It seems like in the last 9 months, the IBM acquisition of Cognos has really changed a lot of the way things are done for partners and customers.   For example, the manner in which you get support and downloads has changed dramatically.  </p>
<p>Maybe its just me, but finding the downloads for the Cognos product you want from the IBM support site seems much harder than it used to be, and when you do finally locate it, you now use &#8220;download director&#8221; to pull down all of the associated &#8220;assemblies&#8221;.</p>
<p>With Cognos 8.4.1, it seems like the actual installables have also changed quite a bit.  Yesterday I pulled down 8.4.1 from the IBM support site, and once download director was done doing its thing, I was a bit taken aback by the number and names of files it pulled down (screenshot below).</p>
<div style="margin:20px 0 0 20px;">
<img src="http://caffeineinduced.files.wordpress.com/2009/12/screenshot-c8-4-1-downloads.png?w=736"></img>
</div>
<p>At first glance, I&#8217;m guessing most will have no idea which of these files corresponds to the component, platform and version of the Cognos product they&#8217;re after.  For example &#8211; its not immediately apparent that &#8220;CZA86ML.tar.gz&#8221; actually contains the install for &#8220;IBM Cognos 8 Business Intelligence Server 32-bit 8.4.1 Windows Multilingual&#8221;.    </p>
<p>Eventually I found <a href="http://www-01.ibm.com/support/docview.wss?rs=3442&amp;uid=swg24024254">this page on IBM&#8217;s site</a> which helped clear up the confusion (partial screenshot below).</p>
<div style="margin:20px 0 0 20px;">
<img src="http://caffeineinduced.files.wordpress.com/2009/12/screenshot-cognos-8-4-1-filenamekey-cropped.png?w=724"></img>
</div>
<p></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/caffeineinduced.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/caffeineinduced.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/caffeineinduced.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/caffeineinduced.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/caffeineinduced.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/caffeineinduced.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/caffeineinduced.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/caffeineinduced.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/caffeineinduced.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/caffeineinduced.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/caffeineinduced.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/caffeineinduced.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/caffeineinduced.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/caffeineinduced.wordpress.com/170/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=170&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://caffeineinduced.wordpress.com/2009/12/11/confused-by-cognos-8-4-1-install-files-this-page-can-help/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2666bbf8d4245508e8204ba3fa1a9d05?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lhankins</media:title>
		</media:content>

		<media:content url="http://caffeineinduced.files.wordpress.com/2009/12/screenshot-c8-4-1-downloads.png?w=736" medium="image" />

		<media:content url="http://caffeineinduced.files.wordpress.com/2009/12/screenshot-cognos-8-4-1-filenamekey-cropped.png?w=724" medium="image" />
	</item>
		<item>
		<title>I think Google is going to take a serious bite out of Apple&#8230;</title>
		<link>http://caffeineinduced.wordpress.com/2009/10/23/i-think-google-is-going-to-take-a-serious-bite-out-of-apple/</link>
		<comments>http://caffeineinduced.wordpress.com/2009/10/23/i-think-google-is-going-to-take-a-serious-bite-out-of-apple/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 17:16:47 +0000</pubDate>
		<dc:creator>lhankins</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://caffeineinduced.wordpress.com/?p=118</guid>
		<description><![CDATA[Part of me wonders if we&#8217;ve seen a &#8220;local maximum&#8221; on Apple. I think their escalating rivalry with Google is going to really hurt them in the long run. Here are some of the key fronts in my opinion. The Android Platform : Google&#8217;s Android mobile operating system is the open source platform behind many [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=118&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Part of me wonders if we&#8217;ve seen a &#8220;local maximum&#8221; on Apple.</p>
<p>I think their <a href="http://www.businessinsider.com/google-apple-rivalry-2009-9">escalating rivalry with Google</a> is going to really hurt them in the long run.   Here are some of the key fronts in my opinion.</p>
<p><span style="font-weight:bold;">The Android Platform</span> : Google&#8217;s <a href="http://en.wikipedia.org/wiki/Android_%28operating_system%29">Android</a> mobile operating system is the open source platform behind <a href="http://wiseandroid.com/NewsItem.aspx?category=News&amp;path=October&amp;itemid=14">many smart phone competitors</a> to the iPhone.   It&#8217;s also starting to show up in other non-phone devices like netbooks and the Barnes and Nobles <a href="http://www.barnesandnoble.com/nook/compare/">Nook</a> (E-Reader).  </p>
<p>Android is an open platform, being used on a wide variety of devices, with backing from a diverse ecosystem of contributors.  Apple&#8217;s iPhone is a closed and tightly controlled platform being developed by one company (some might throw out a Linux vs. Windows analogy).   </p>
<p>One perspective which I find a bit ironic : By giving smart phone providers a rich, stable core to build upon, Android should free them up to focus more on consumer oriented features (rather than expending huge amounts of effort on OS level plumbing).   From the smart phone provider perspective, isn&#8217;t this kind of similar to how Apple leveraged a solid BSD Unix based core to build the very consumer friendly OS X&#8230;?    </p>
<p>It will be interesting to watch the evolution of these two platforms in the coming years.  One might speculate that the diverse ecosystem leveraging Android may drive more innovation.</p>
<p><span style="font-weight:bold;">Google&#8217;s Online Music Service</span> : There&#8217;s widespread speculation that Google is launching an <a href="http://www.thestreet.com/_yahoo/story/10614686/1/google-audio-launch-imminent-report.html?cm_ven=YAHOO&amp;cm_cat=FREE&amp;cm_ite=NA">Online Music Service</a> which will <a href="http://www.nme.com/news/itunes/47977">compete with iTunes</a>.</p>
<p>Maybe its just me, but it seems like consumers have a lot of pent up animosity at Apple over iTunes.   iTunes has pissed off users for years (try googling for <a href="http://www.google.com/#hl=en&amp;source=hp&amp;q=i+hate+itunes&amp;aq=f&amp;aqi=&amp;oq=&amp;fp=b8148470ea1f7ec2">I hate iTunes</a> and marvel at the number of results). </p>
<p>Personally &#8211; iTunes drives me nuts, but I&#8217;m stuck with it (I have an iPhone).  Over the years, it has lost  my music, made it difficult for me to share music I purchased across multiple devices, refused to read metadata on music I imported via non-iTunes software, etc.</p>
<p>iTunes is at <strong>version 9</strong>.  Its been around for years and has a huge user base.  There&#8217;s no reason why Apple shouldn&#8217;t have fixed many (if not all) of these issues. Certainly there&#8217;s been lots of feedback &#8211; maybe its fallen on deaf ears. </p>
<p>Apple will no doubt continue to be the <a href="http://www.thestreet.com/story/10581185/itunes-wal-mart-dominate-music-sales.html">dominant player in online music sales</a>, but it can&#8217;t be good that a company with Google&#8217;s clout and reputation is getting ready to compete with them in this space.  I think their window for easy money in digital media distribution is shrinking.  </p>
<p><span style="font-weight:bold;">Public Opinion</span> : Maybe its just me, but it seems tide of public opinion regarding Apple is starting to turn a bit.   For years they have been the cool, innovative underdog.  At times they now seem more like a condescending incumbent.   </p>
<p>For example &#8211; consider their draconian rejection policies for third party applications submitted to the iTunes App Store.   As a developer, I can tell you I would be absolutely done with Apple if I worked my tail off on an iPhone App for months only to have them reject it with basically a <a href="http://www.theiphoneblog.com/2009/06/12/apples-latest-app-store-rejection-policy/">&#8220;because we said so&#8221;</a> response.  This will most certainly drive innovative app developers away from Apple (and to a more open model).</p>
<p>From a PR perspective, this sort of thing is a certainly a black eye for Apple. </p>
<p>Contrast this with the current <a href="http://arstechnica.com/old/content/2008/04/google-tops-brand-ranking-for-second-year-in-a-row.ars">public love affair with Google</a> and their &#8220;Do No Evil&#8221; branding, and I think Google is poised score points vs. Apple in the court of public opinion.</p>
<pre>
------
</pre>
<p>Since the above is largely opinion &#8211; I thought I&#8217;d add a bit about myself :  I am not an Apple fanboy or an Apple hater.  I own machines with OSX (macbook), XP (netbook) and Ubuntu (primarly laptop) on them. I&#8217;m now on my second iPhone (I&#8217;ve had a first gen and a 3GS), and I&#8217;ve not yet owned an Android based phone.   I have yet to develop any iPhone or Android based apps.   I don&#8217;t own any Google or Apple stock.   In short &#8211; I have no bones to pick with Apple, these are just observations.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/caffeineinduced.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/caffeineinduced.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/caffeineinduced.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/caffeineinduced.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/caffeineinduced.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/caffeineinduced.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/caffeineinduced.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/caffeineinduced.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/caffeineinduced.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/caffeineinduced.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/caffeineinduced.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/caffeineinduced.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/caffeineinduced.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/caffeineinduced.wordpress.com/118/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=118&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://caffeineinduced.wordpress.com/2009/10/23/i-think-google-is-going-to-take-a-serious-bite-out-of-apple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2666bbf8d4245508e8204ba3fa1a9d05?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lhankins</media:title>
		</media:content>
	</item>
		<item>
		<title>Nice Consolidated HTML Version of All Cognos 8.4 Docs&#8230;</title>
		<link>http://caffeineinduced.wordpress.com/2009/08/21/nice-consolidated-html-version-of-all-cognos-8-4-docs/</link>
		<comments>http://caffeineinduced.wordpress.com/2009/08/21/nice-consolidated-html-version-of-all-cognos-8-4-docs/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 15:29:39 +0000</pubDate>
		<dc:creator>lhankins</dc:creator>
				<category><![CDATA[cognos]]></category>

		<guid isPermaLink="false">http://caffeineinduced.wordpress.com/?p=85</guid>
		<description><![CDATA[Here&#8217;s a nice, consolidated HTML version of all of the Cognos 8.4 docs. It seems to span all of the PDFs (Installation, Administration, Authoring, Modeling, etc), has a great, navigable table of contents on the left, and is searchable : http://publib.boulder.ibm.com/infocenter/c8bi/v8r4m0/index.jsp I like this far better than hopping between 15 PDF&#8217;s.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=85&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a nice, consolidated HTML version of all of the Cognos 8.4 docs.  It seems to span all of the PDFs (Installation, Administration, Authoring, Modeling, etc), has a great, navigable table of contents on the left, and is searchable : </p>
<p><a target="cognosDocs" href="http://publib.boulder.ibm.com/infocenter/c8bi/v8r4m0/index.jsp">http://publib.boulder.ibm.com/infocenter/c8bi/v8r4m0/index.jsp</a></p>
<p>I like this far better than hopping between 15 PDF&#8217;s.</p>
<p><a target="blogImage" href="http://caffeineinduced.files.wordpress.com/2009/08/cognosdocsviahtml2.png"><br />
<img style="border:none;width:600px;" src="http://caffeineinduced.files.wordpress.com/2009/08/cognosdocsviahtml2.png" alt="All Cognos Docs via HTML" /><br />
</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/caffeineinduced.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/caffeineinduced.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/caffeineinduced.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/caffeineinduced.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/caffeineinduced.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/caffeineinduced.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/caffeineinduced.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/caffeineinduced.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/caffeineinduced.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/caffeineinduced.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/caffeineinduced.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/caffeineinduced.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/caffeineinduced.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/caffeineinduced.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=85&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://caffeineinduced.wordpress.com/2009/08/21/nice-consolidated-html-version-of-all-cognos-8-4-docs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2666bbf8d4245508e8204ba3fa1a9d05?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lhankins</media:title>
		</media:content>

		<media:content url="http://caffeineinduced.files.wordpress.com/2009/08/cognosdocsviahtml2.png" medium="image">
			<media:title type="html">All Cognos Docs via HTML</media:title>
		</media:content>
	</item>
		<item>
		<title>Launching Previously Run Webstart Apps Via The Java Control Panel</title>
		<link>http://caffeineinduced.wordpress.com/2009/05/20/launching-previously-run-webstart-apps-via-the-java-control-panel/</link>
		<comments>http://caffeineinduced.wordpress.com/2009/05/20/launching-previously-run-webstart-apps-via-the-java-control-panel/#comments</comments>
		<pubDate>Wed, 20 May 2009 05:29:13 +0000</pubDate>
		<dc:creator>lhankins</dc:creator>
				<category><![CDATA[cognos]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[MotioPI]]></category>

		<guid isPermaLink="false">http://caffeineinduced.wordpress.com/?p=67</guid>
		<description><![CDATA[I&#8217;m a huge fan of Java WebStart. Most people generally launch WebStart based apps by simply hitting a URL which pulls down a JNLP file. A JNLP file is simply an XML descriptor which describes the jars that make up the application, the main class, etc. Once the JNLP file is pulled in, Java takes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=67&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a huge fan of <a href="http://java.sun.com/javase/technologies/desktop/javawebstart/index.jsp">Java WebStart</a>.</p>
<p>Most people generally launch WebStart based apps by simply hitting a URL which pulls down a <a href="http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/syntax.html">JNLP file</a>.   A JNLP file is simply an XML descriptor which describes the jars that  make up the application, the main class, etc.    Once the JNLP file is pulled in, Java takes over and will retrieve the specified jars and then launch the Java application.</p>
<p>To re-launch the app in the future, you can simply bookmark the original JNLP URL in your browser (note to <a href="http://www.inmotio.com/investigator/home.do">MotioPI</a> users &#8211; you can simply bookmark the original URL sent via email and do this with MotioPI).</p>
<p>But suppose you&#8217;re in disconnected mode (perhaps waiting in the airport, or on a plane).  You can still launch previously executed WebStart based applications by using the Java Control Panel.</p>
<p>If you&#8217;re using Windows XP, you can get to this via Start | Control Panel, then double click on the &#8220;Java&#8221; icon.</p>
<p><a href="http://caffeineinduced.files.wordpress.com/2009/05/01-webstart-offline.png" target="blogImageWs1"><br />
<img style="border:none;width:600px;" src="http://caffeineinduced.files.wordpress.com/2009/05/01-webstart-offline.png" alt="Step 1 - Launch Java Control Panel" /><br />
</a></p>
<p>This will launch the Java Control Panel.    From there, select the &#8220;View&#8221; button  (bottom right).</p>
<p><a href="http://caffeineinduced.files.wordpress.com/2009/05/02-webstart-offline.png" target="blogImageWs2"><br />
<img style="border:none;" src="http://caffeineinduced.files.wordpress.com/2009/05/02-webstart-offline.png" alt="Step 2 - Select the View Button" /><br />
</a></p>
<p>This will open the Java Cache Viewer.   You should have an entry for each WebStart app that you&#8217;ve previously run (screenshot below):</p>
<p><a href="http://caffeineinduced.files.wordpress.com/2009/05/03-webstart-offline.png" target="blogImageWs3"><br />
<img style="border:none;width:600px;" src="http://caffeineinduced.files.wordpress.com/2009/05/03-webstart-offline.png" alt="Step 3 - Java Cache Viewer" /><br />
</a></p>
<p>From here, you can right click on any of the cached WebStart apps and do things such as :</p>
<ul>
<li>Run the application</li>
<li>Create a shortcut on your desktop to launch the app (so it behaves like a typical client side app)</li>
<li>Show the JNLP File</li>
<li>Delete the App</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/caffeineinduced.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/caffeineinduced.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/caffeineinduced.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/caffeineinduced.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/caffeineinduced.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/caffeineinduced.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/caffeineinduced.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/caffeineinduced.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/caffeineinduced.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/caffeineinduced.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/caffeineinduced.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/caffeineinduced.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/caffeineinduced.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/caffeineinduced.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=67&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://caffeineinduced.wordpress.com/2009/05/20/launching-previously-run-webstart-apps-via-the-java-control-panel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2666bbf8d4245508e8204ba3fa1a9d05?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lhankins</media:title>
		</media:content>

		<media:content url="http://caffeineinduced.files.wordpress.com/2009/05/01-webstart-offline.png" medium="image">
			<media:title type="html">Step 1 - Launch Java Control Panel</media:title>
		</media:content>

		<media:content url="http://caffeineinduced.files.wordpress.com/2009/05/02-webstart-offline.png" medium="image">
			<media:title type="html">Step 2 - Select the View Button</media:title>
		</media:content>

		<media:content url="http://caffeineinduced.files.wordpress.com/2009/05/03-webstart-offline.png" medium="image">
			<media:title type="html">Step 3 - Java Cache Viewer</media:title>
		</media:content>
	</item>
		<item>
		<title>An Easy Way to Test against Multiple Versions of IE&#8230;</title>
		<link>http://caffeineinduced.wordpress.com/2009/04/10/an-easy-way-to-test-against-multiple-versions-of-ie/</link>
		<comments>http://caffeineinduced.wordpress.com/2009/04/10/an-easy-way-to-test-against-multiple-versions-of-ie/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 04:21:31 +0000</pubDate>
		<dc:creator>lhankins</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://caffeineinduced.wordpress.com/?p=61</guid>
		<description><![CDATA[Most web developers have felt the pain of having to test their webapp in N different browsers (and having to work around the quirks in each). I just spent the better part of the afternoon testing some fluid resize logic in IE7, Chrome and Firefox. I got everything working between those three, but I knew [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=61&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Most web developers have felt the pain of having to test their webapp in N different browsers (and having to work around the quirks in each).</p>
<p>I just spent the better part of the afternoon testing some fluid resize logic in IE7, Chrome and Firefox.    I got everything working between those three, but I knew IE6 was probably going to bite me.     I only have IE7 installed locally, so I was kind of resigned to testing it later, from a separate machine.</p>
<p>Then a friend pointed me at <a href="http://tredosoft.com/Multiple_IE?page=4">the following utility</a> which will let you run multiple prior versions of IE, side by side with your existing IE7.   Its a breeze to install and works great.     You can actually have IE6 and IE7 up at the same time (sweet!). </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/caffeineinduced.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/caffeineinduced.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/caffeineinduced.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/caffeineinduced.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/caffeineinduced.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/caffeineinduced.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/caffeineinduced.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/caffeineinduced.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/caffeineinduced.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/caffeineinduced.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/caffeineinduced.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/caffeineinduced.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/caffeineinduced.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/caffeineinduced.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=61&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://caffeineinduced.wordpress.com/2009/04/10/an-easy-way-to-test-against-multiple-versions-of-ie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2666bbf8d4245508e8204ba3fa1a9d05?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lhankins</media:title>
		</media:content>
	</item>
		<item>
		<title>A 1 minute overview of JSON</title>
		<link>http://caffeineinduced.wordpress.com/2009/04/04/a-1-minute-overview-of-json/</link>
		<comments>http://caffeineinduced.wordpress.com/2009/04/04/a-1-minute-overview-of-json/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 17:16:06 +0000</pubDate>
		<dc:creator>lhankins</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[json]]></category>

		<guid isPermaLink="false">http://caffeineinduced.wordpress.com/?p=51</guid>
		<description><![CDATA[JSON is (for the most part) perfectly legal JavaScript syntax, that has been around for quite a while. Think of it as shortcut literal syntax for quickly building a JavaScript object graph. Every Object in JavaScript is an associative array (think Map in Java, a set of key -&#62; value pairs). In JavaScript, the curly [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=51&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>JSON is (for the most part) perfectly legal JavaScript syntax, that has been around for quite a while.    Think of it as shortcut literal syntax for quickly building a JavaScript object graph.  </p>
<ul>
<li>Every Object in JavaScript is an associative array (think Map in Java, a set of key -&gt; value pairs).</li>
<li>In JavaScript, the curly braces {} are shorthand for &#8220;new Object()&#8221;</li>
<li>In JavaScript, the square brackets [] are shorthand for &#8220;new Array()&#8221;</li>
</ul>
<p>So the following two snippets will build the exact same JS Object graph : </p>
<p><pre class="brush: jscript;">
      // In JSON syntax 
      var contact = {
         'name': {
            'first': 'Lance',
            'last': 'Hankins'
         },
         'phone': {
            'mobile': '214.555.5555',
            'work': '972.555.5555'
         },
         'email':  {
            'work':'lhankins@work.com',
            'personal':'lhankins.hankins@home.com'
         }
      };
</pre></p>
<p>A non-JSON equivalent  : </p>
<p><pre class="brush: jscript;">
      // The more traditional NON-JSON way to do the same thing :
      var contact2 = new Object();

      contact2.name = new Object();
      contact2.name.first = 'Lance';
      contact2.name.last = 'Hankins';

      contact2.phone = new Object();
      contact2.phone.mobile = '214.555.5555';
      contact2.phone.work = '972.555.5555';

      contact2.email = new Object();
      contact2.email.work = 'lhankins@work.com';
      contact2.email.personal = 'lance.hankins@home.com';

</pre></p>
<p>Since JSON is so good at letting you concisely describe an object graph (hierarchical data), its often a great choice as the output format for server side responses to AJAX calls.   On the client side, you can simply &#8220;eval&#8221; the response text to create the resultant JS object graph. </p>
<p>Here&#8217;s <a href="http://www.secretgeek.net/json_3mins.asp">another link</a> which also describes JSON in a concise form &#8211; and has a funny picture <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />    Also, <a href="http://seattlesoftware.wordpress.com/2008/01/08/javascript-vs-json/">this post</a> describes some of the exception cases where JSON is not actually legal  JS (JS is a little more restrictive on the allowed characters for property names).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/caffeineinduced.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/caffeineinduced.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/caffeineinduced.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/caffeineinduced.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/caffeineinduced.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/caffeineinduced.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/caffeineinduced.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/caffeineinduced.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/caffeineinduced.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/caffeineinduced.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/caffeineinduced.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/caffeineinduced.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/caffeineinduced.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/caffeineinduced.wordpress.com/51/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=51&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://caffeineinduced.wordpress.com/2009/04/04/a-1-minute-overview-of-json/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2666bbf8d4245508e8204ba3fa1a9d05?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lhankins</media:title>
		</media:content>
	</item>
		<item>
		<title>A way to get true Symbolic Links on Windows&#8230;</title>
		<link>http://caffeineinduced.wordpress.com/2009/03/28/a-way-to-get-true-symbolic-links-on-windows/</link>
		<comments>http://caffeineinduced.wordpress.com/2009/03/28/a-way-to-get-true-symbolic-links-on-windows/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 07:11:48 +0000</pubDate>
		<dc:creator>lhankins</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://caffeineinduced.wordpress.com/?p=34</guid>
		<description><![CDATA[Its always really annoyed me that Windows &#8220;shortcuts&#8221; to folders don&#8217;t truly behave like Unix / Linux symbolic links. I&#8217;ve been especially annoyed by this recently, since I&#8217;ve been forced to use Outlook Web Access for one of my clients, and when you try to attach a file to an email message in OWA, if [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=34&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Its always <strong>really </strong>annoyed me that Windows &#8220;shortcuts&#8221; to folders don&#8217;t truly behave like Unix / Linux symbolic links. I&#8217;ve been especially annoyed by this recently, since I&#8217;ve been forced to use Outlook Web Access for one of my clients, and when you try to attach a file to an email message in OWA, if you try to navigate through a shortcut to a folder, rather than actually navigate to the target folder it will &#8220;attach&#8221; the shortcut to the message. Sigh&#8230;</p>
<p>I just realized that the <a href="http://technet.microsoft.com/en-us/sysinternals/0e18b180-9b7a-4c49-8120-c47c5a693683.aspx">sysinternals suite</a> has a utility called <a href="http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx">Junction</a> which will let you create a true symbolic link to a directory on Windows. <strong>Sweet!</strong></p>
<p>I have always been very fond of the sysinternals tools&#8230; <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a> and <a href="http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx">Tcpview</a> are probably the ones I&#8217;ve gotten the most mileage out of. Many thanks to Mark Russinovich for this excellent suite of utilities.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/caffeineinduced.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/caffeineinduced.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/caffeineinduced.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/caffeineinduced.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/caffeineinduced.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/caffeineinduced.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/caffeineinduced.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/caffeineinduced.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/caffeineinduced.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/caffeineinduced.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/caffeineinduced.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/caffeineinduced.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/caffeineinduced.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/caffeineinduced.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=34&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://caffeineinduced.wordpress.com/2009/03/28/a-way-to-get-true-symbolic-links-on-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2666bbf8d4245508e8204ba3fa1a9d05?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lhankins</media:title>
		</media:content>
	</item>
		<item>
		<title>IPhone Software Update Hangs after installing AT&amp;T Wireless Card&#8230;? This reghack may fix it&#8230;</title>
		<link>http://caffeineinduced.wordpress.com/2009/02/16/iphone-software-update-hangs-after-installing-att-wireless-card-this-reghack-may-fix-it/</link>
		<comments>http://caffeineinduced.wordpress.com/2009/02/16/iphone-software-update-hangs-after-installing-att-wireless-card-this-reghack-may-fix-it/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 17:01:37 +0000</pubDate>
		<dc:creator>lhankins</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://caffeineinduced.wordpress.com/?p=30</guid>
		<description><![CDATA[I tried to sync my iPhone this morning (heading out of town later today). ITunes asked me if it could apply a software update, and I mistakenly said yes&#8230; About half way through it just hung, and ended up totally hosing my iPhone. When it hangs like this during a software update, the iPhone will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=30&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I tried to sync my iPhone this morning (heading out of town later today). ITunes asked me if it could apply a software update, and I mistakenly said yes&#8230; About half way through it just hung, and ended up totally hosing my iPhone.</p>
<p>When it hangs like this during a software update, the iPhone will go back into &#8220;factory restore mode&#8221; (basically it looks like it did when you first purchased it, it will do nothing save for tell you to plug it into ITunes). When you plug it back into ITunes, it will ask you if you want to restore it to its initial state (which you must do before you can then restore a backup).</p>
<p>Regardless of how many times I tried (I wasted hours), during the restore, the process would hang on the &#8220;verifying iPhone software&#8221; task (eventually the iPhone would restart and the cycle would start again).</p>
<p>After much googling (and cursing), it turns out this was due to a registry setting that was added by the software for my new AT&amp;T wireless card (I did the free upgrade to AT&amp;T&#8217;s latest wireless card a few weeks back, and this came with new software).</p>
<p>Apparently AT&amp;T&#8217;s software sets a TCP registry setting (on XP) which causes this problem.</p>
<p>Many thanks to jgkurz for his post on <a href="http://discussions.apple.com/thread.jspa?messageID=8109238">the following thread in the apple support forums</a>.</p>
<p>Here&#8217;s a copy-paste of the post :</p>
<blockquote><p>
I had the &#8220;Verifying iPhone Software&#8221; issue on both the 2.2 and 2.2.1 upgrade. I just got off the phone with Apple support and they had me delete the WinXP registry key &#8220;TcpWindowSize&#8221; located here:</p>
<p>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters</p>
<p>Apparently this setting was added by my AT&amp;T Aircard and is known to cause the &#8220;Verifying iPhone Software&#8221; issue. I had to do a restore on my same PC and not a second iTunes but all seems to work properly now.</p>
<p>I hope this helps.
</p></blockquote>
<p>I removed the offending registry entry, rebooted, and the problem went away. Here&#8217;s a screenshot of the offending registry key : </p>
<p><a target="blogPostIphoneReg" href="http://caffeineinduced.files.wordpress.com/2009/03/reg-screenshot.png"><br />
<img style="border:none;width:650px;" src="http://caffeineinduced.files.wordpress.com/2009/03/reg-screenshot.png" alt="screenshot of registry entry" /><br />
</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/caffeineinduced.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/caffeineinduced.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/caffeineinduced.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/caffeineinduced.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/caffeineinduced.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/caffeineinduced.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/caffeineinduced.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/caffeineinduced.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/caffeineinduced.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/caffeineinduced.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/caffeineinduced.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/caffeineinduced.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/caffeineinduced.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/caffeineinduced.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=caffeineinduced.wordpress.com&amp;blog=7136856&amp;post=30&amp;subd=caffeineinduced&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://caffeineinduced.wordpress.com/2009/02/16/iphone-software-update-hangs-after-installing-att-wireless-card-this-reghack-may-fix-it/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2666bbf8d4245508e8204ba3fa1a9d05?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lhankins</media:title>
		</media:content>

		<media:content url="http://caffeineinduced.files.wordpress.com/2009/03/reg-screenshot.png" medium="image">
			<media:title type="html">screenshot of registry entry</media:title>
		</media:content>
	</item>
	</channel>
</rss>
