<?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>mikemurko.com</title>
	<atom:link href="http://mikemurko.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mikemurko.com</link>
	<description></description>
	<lastBuildDate>Tue, 03 Jan 2012 18:22:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Ajax variables in Atlassian Bonfire for JIRA to access session state</title>
		<link>http://mikemurko.com/general/ajax-variables-in-atlassian-bonfire-for-jira-to-access-session-state/</link>
		<comments>http://mikemurko.com/general/ajax-variables-in-atlassian-bonfire-for-jira-to-access-session-state/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 18:46:07 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[atlassian]]></category>
		<category><![CDATA[bonfire]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[xmlhttp]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=1062</guid>
		<description><![CDATA[If you didn&#8217;t know already, you can insert variables into your issues with Bonfire. It comes with four default variables: cookies, useragent, title, url. You insert them into your issue summary like so {useragent}, and Bonfire will replace it with something like this: Mozilla/5.0 (Windows NT 6.1; WOW64)&#8230;. Or for the pictorially inclined: You can [...]]]></description>
			<content:encoded><![CDATA[<p>If you didn&#8217;t know already, you can insert variables into your issues with Bonfire. It comes with four default variables: cookies, useragent, title, url. You insert them into your issue summary like so {useragent}, and Bonfire will replace it with something like this:</p>

<p><em>Mozilla/5.0 (Windows NT 6.1; WOW64)&#8230;.</em></p>

<p>Or for the pictorially inclined:</p>

<p><img src="http://mikemurko.com/wp-content/uploads/2011/12/variable_resolution.png" title="Bonfire" width="500px" /></p>

<p>You can read more about it <a href="http://confluence.atlassian.com/display/BONFIRE/Templates+and+Variables">here</a>. What I&#8217;m more interested in is creating custom variables. These vanilla variables are fine indeed, but often you need more debugging information before you can proceed to fix the issue. After the break I will show you how to create your own Ajax requests <em>in Bonfire</em> to get more complex information about your users (in particular <strong>session</strong> variables!)</p>

<p><span id="more-1062"></span></p>

<p>The first bit of useful information is that Bonfire lets us write Javascript to generate content in these variables. To create a variable start up Bonfire in whatever browser you like, go to the Templates tab, open up <em>Variables</em>, and click &#8220;Add variable&#8221;. We can create a variable called &#8220;activeMenuItem&#8221; and assign it the following Javascript: <code>document.getElementById('activeMenuItem').innerHTML</code>. I know &#8230; ugly old Javascript and no access to beautiful jQuery selectors. The reason the developers left out jQuery is because they don&#8217;t want it interfering with actual page execution. So in Chrome you are without a paddle going up you-know-what creek. In Firefox and IE because they don&#8217;t isolate extensions, you can just include jQuery in your executing page and it will be available to Bonfire. However you can&#8217;t trust yourself to be consistent all the time, so I really want a solution that uses plain Javascript. What is a boy to do?</p>

<p><img src="http://mikemurko.com/wp-content/uploads/2011/12/bonfireajax1.png" alt="Bonfire custom variables" /></p>

<p>Now I could just output the session variables server-side to a div at the bottom of the page and then just use the aforementioned example to get the content. We would be done, but the application would be incredibly insecure (&#8220;Does my DOM look fat to you?&#8221;) &#8230; well, you know what I mean. So I wanted to request the data from an AJAX request. To be honest, I had to do a Google to figure out how to write an Ajax request in plain Javascript. Once that was done I realized I had to wrap the whole request and return it as a string/literal so that Bonfire didn&#8217;t throw a fit. I used a self-executing anonymous function (essentially it declares itself and automatically runs itself where the return value will get sent to Bonfire). Here is the code:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	xmlhttp<span style="color: #339933;">=</span><span style="color: #003366; font-weight: bold;">new</span> XMLHttpRequest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	xmlhttp.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;GET&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;http://YourDomainName.com/ajax_get_session.php&quot;</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	xmlhttp.<span style="color: #660066;">send</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">return</span> xmlhttp.<span style="color: #660066;">responseText</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>


<p>Going through this line by line:</p>

<ol>
<li><p>Declares the self-executing anonymous function (SEAF)</p></li>
<li><p>Creates XMLHttp (ajax) object</p></li>
<li><p>Opens a <strong>synchronous</strong> GET request to some page. The last parameter &#8220;false&#8221; makes it synchronous. Otherwise Bonfire won&#8217;t stop to wait for your AJAX to come back with your pretty little session variables.</p></li>
<li><p>Obvious. Not sure if the null is needed. Keep it for good measure.</p></li>
<li><p>Waits and gets for the response text and returns it to the SEAF, and therefore will be sent to Bonfire</p></li>
<li><p>Closes off the function, and then the last two () are really important because that&#8217;s what makes the function execute itself. Omit these at your own peril!</p></li>
</ol>

<p>Copy that code and paste it as the &#8220;selector&#8221; from the image above. Give your variable a name and you should be good to go. Obviously you need to code that requesting page. In this case ajax_get_Session.php. If you&#8217;ve gotten this far I will assume you know how to print out your session variables (or whatever else you want to use this for). The only other caveat I would add is that you should put some security on that AJAX request such as a querystring that only gets sent from Bonfire (i.e. <em>xmlhttp.open(&#8220;GET&#8221;,&#8221;http://localhost/ajax_get_session.php?secret=key&#8221;,false);</em> ). That way other users can&#8217;t happen upon this useful little script.</p>

<p>I hope this will help some other development team, as I find it really valuable. Now quit reading and go fix some bugs.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/ajax-variables-in-atlassian-bonfire-for-jira-to-access-session-state/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wincache vs APC Data Performance</title>
		<link>http://mikemurko.com/general/wincache-vs-apc-data-performance/</link>
		<comments>http://mikemurko.com/general/wincache-vs-apc-data-performance/#comments</comments>
		<pubDate>Sat, 10 Dec 2011 07:28:59 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=1054</guid>
		<description><![CDATA[I was interested in the performance of PHP&#8217;s APC cache vs the new Wincache touted by Microsoft. Essentially Wincache is APC for Windows (no duh!). I am only interested in their performance at storing variables and arrays in memory, and not any of the OPCODE stuff. Part of the reason is because I think they [...]]]></description>
			<content:encoded><![CDATA[<p>I was interested in the performance of PHP&#8217;s APC cache vs the new Wincache touted by Microsoft. Essentially Wincache is APC for Windows (no duh!). I am only interested in their performance at storing variables and arrays in memory, and not any of the OPCODE stuff. Part of the reason is because I think they would be equally performant, and another part is that I have no f&#8217;ing idea about OPCODEs. Another thing is that I am not testing on server farms, so I was only evaluating single-server solutions (i.e. ignoring memcache) Enough with the hors d&#8217;oeuvres, let&#8217;s get to the meat of it.</p>

<p><span id="more-1054"></span></p>

<p>My setup:</p>

<ul>
<li><p>Windows 7 SP1 running IIS 7.5</p></li>
<li><p>Intel Macbook Pro Core 2 Duo 2.6 Ghz</p></li>
<li><p>4GB RAM</p></li>
<li><p>PHP 5.3 with php_apc installed (VC6 I think, non threadsafe) and Wincache from <a href="http://www.iis.net/download/wincacheforphp">here</a>.</p></li>
</ul>

<p>I wrote a result script that created 20,000 variables with random strings inside each cache. Then read those items out into a variable. Pretty simple, not much to it. The results:</p>

<p>APC: 0.61s</p>

<p>WinCache: <strong>0.59s</strong></p>

<p>They are basically identical. Not much more to say here. Wincache beats it by a slight amount, but not much that you&#8217;d notice. For me, I think going with APC gives you the benefit of being platform independent. On the other side Wincache seems to be better built for a Windows environment and has an automatic way to handle sessions in memory (rather than cumbersome filesystem).</p>

<p>They are both really easy to install as well, so it&#8217;s a tossup there. Personally I am sticking with APC due to platform independence, and the fact that CodeIgniter has a <strong>very</strong> nice caching library that already has APC code written. Maybe I&#8217;ll stop being lazy and write a Wincache library for CI&#8217;s cache class.</p>

<p>I am a PHP-Windows geek, and I approve this message.
-Mike</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/wincache-vs-apc-data-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jColourStrip: A jQuery Gradient Colour Bar</title>
		<link>http://mikemurko.com/general/jcolourstrip-a-jquery-gradient-colour-bar/</link>
		<comments>http://mikemurko.com/general/jcolourstrip-a-jquery-gradient-colour-bar/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 19:30:35 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=968</guid>
		<description><![CDATA[Here’s a fun little plugin I wrote. I wanted some really neat syntax to display little coloured bars that go from 0% to 100% width and as they grow they change colour from say red to green. It’s very tiny, and easy to use. Demo Download .js Download .zip Here’s all the syntax you need [...]]]></description>
			<content:encoded><![CDATA[<p>Here’s a fun little plugin I wrote. I wanted some really neat syntax to display little coloured bars that go from 0% to 100% width and as they grow they change colour from say red to green.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/12/jcolourstrip.png" rel="lightbox[968]"><img class="aligncenter size-full wp-image-1038" title="jcolourstrip" src="http://mikemurko.com/wp-content/uploads/2011/12/jcolourstrip.png" alt="" width="342" height="54" /></a></p>

<p>It’s very tiny, and easy to use.</p>

<ul>
<li><a href="http://mikemurko.com/demos/jColourStrip/demo.html">Demo</a></li>
<li><a href="http://mikemurko.com/demos/jColourStrip/jColourStrip.js">Download .js</a></li>
<li><a href="http://mikemurko.com/demos/jColourStrip/jColourStrip.zip">Download .zip</a></li>
</ul>

<p>Here’s all the syntax you need on your page to make it work (Note <strong>0.2</strong> is the percentage of the bar that is complete):</p>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'.default'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>jColourStrip<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;default&quot;</span> title<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;0.2&quot;</span><span style="color: #339933;">&gt;&lt;/</span>div<span style="color: #339933;">&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/jcolourstrip-a-jquery-gradient-colour-bar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Site updates!</title>
		<link>http://mikemurko.com/general/site-updates/</link>
		<comments>http://mikemurko.com/general/site-updates/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 23:18:53 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=958</guid>
		<description><![CDATA[I&#39;ve done a fair bit of changes here at mikemurko.com. Visual refresh: Darker theme fits more with the winter I think. New comment engine: powered by Disqus. Should allow easier commenting and make the comments more portable to other platforms More focused on coding/server stuff namely: codeigniter, jquery, classic ASP, ubuntu server maintenance, and windows [...]]]></description>
			<content:encoded><![CDATA[<p>I&#39;ve done a fair bit of changes here at mikemurko.com.</p>

<ul>
    <li>Visual refresh: Darker theme fits more with the winter I think.</li>
    <li>New comment engine: powered by Disqus. Should allow easier commenting and make the comments more portable to other platforms</li>
    <li>More focused on coding/server stuff namely: codeigniter, jquery, classic ASP, ubuntu server maintenance, and windows server as well</li>
</ul>

<p>Hope you like it!</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/site-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Of tablets, e-readers, and shady nomenclature</title>
		<link>http://mikemurko.com/general/of-tablets-ereaders-and-shady-nomenclature/</link>
		<comments>http://mikemurko.com/general/of-tablets-ereaders-and-shady-nomenclature/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 01:29:59 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[e-reader]]></category>
		<category><![CDATA[fire]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[kobo]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[tablet]]></category>
		<category><![CDATA[vox]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=938</guid>
		<description><![CDATA[The market for tablets, e-readers, and mobile devices is booming and the lines separating once discrete devices is becoming blurry. When there&#39;s any explosion of technological devices there is always a struggle to find appropriate names for the devices that will inform customers what they are purchasing, and ensure their product &#34;fits in&#34; with other [...]]]></description>
			<content:encoded><![CDATA[<p>The market for tablets, e-readers, and mobile devices is booming and the lines separating once discrete devices is becoming blurry. When there&#39;s any explosion of technological devices there is always a struggle to find appropriate names for the devices that will inform customers what they are purchasing, and ensure their product &quot;fits in&quot; with other devices in the market.</p>

<p>The latest release of the Kobo Vox here in Canada is hailed as a &quot;colour e-reader&quot; and that&#39;s what got me off my ass to write this article. The Vox is not an e-reader. Under my nomenclature it is a Android-based tablet device with a (power hungry) LCD screen and custom applications to talk to an Indigo online store. I guess that&#39;s a mouthful &#8230; but it most definitely is not an &quot;e-reader&quot;!</p>

<p>Let me try and clear some air and hopefully someone at one of these companies will take heed and call their devices what they actually are and stop confusing customers!</p>

<p><span id="more-938"></span></p>

<p><strong>Tablet computer</strong></p>

<p>To me, the original &quot;tablet computer&quot; is a computing device that allowed pen or touch based input. Here is an example of a Lenovo x41t. I had this laptop and I thought it was great. I took notes on it, drew on it, flicked around the internet a bit. It was pen-based, but there was a touch model available as well. The touch was capacitive so it was sensitive and had near perfect precision.&nbsp;A &quot;tablet&quot; was also a simple input device that allowed pen and finger based input, primarily for graphic work. See the Wacom Intuos 3 on the right. It had no screen and no processor or &quot;brain&quot;. Just a simple, intuitive input device.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/10/lenovotablet1-291x300.jpg" rel="lightbox[938]"><img alt="" class="aligncenter size-full wp-image-939" height="300" src="http://mikemurko.com/wp-content/uploads/2011/10/lenovotablet1-291x300.jpg" title="lenovotablet1-291x300" width="291" /></a><a href="http://mikemurko.com/wp-content/uploads/2011/10/wacom_intuos_tablet2.jpg" rel="lightbox[938]"><img alt="" class="aligncenter size-medium wp-image-940" height="225" src="http://mikemurko.com/wp-content/uploads/2011/10/wacom_intuos_tablet2-300x225.jpg" title="wacom_intuos_tablet2" width="300" /></a></p>

<p>On a cold blistery day in January 2010, Apple decided to eschew a long history of tablet devices and re-define what we thought of as &quot;tablet&quot;. The unveiling of an iPad when compared to a Lenovo x41t, to me was laughable. No one would buy this shit, would they? How wrong I was &#8230;. but you can&#39;t blame me. The Lenovo is a couple of&nbsp;<em>year</em>&nbsp;older than the iPad and it still rocked in specifications &nbsp;mean, check out this comparison.</p>

<table border="1" cellpadding="1" cellspacing="1" style="width: 500px; ">
    <tbody>
        <tr>
            <td>&nbsp;</td>
            <td>Lenovo x41t</td>
            <td>iPad (January 2010)</td>
        </tr>
        <tr>
            <td>Processor</td>
            <td><strong>1.5Ghz</strong></td>
            <td>1Ghz A4</td>
        </tr>
        <tr>
            <td>Memory</td>
            <td><strong>2GB</strong></td>
            <td>256mb</td>
        </tr>
        <tr>
            <td>Storage</td>
            <td><strong>120GB HDD + any amount of flash</strong></td>
            <td>16-64 GB flash</td>
        </tr>
        <tr>
            <td>Display</td>
            <td><strong>1280&#215;1024 LCD</strong></td>
            <td>1024&#215;768 LCD</td>
        </tr>
        <tr>
            <td>Camera</td>
            <td><strong>Yes</strong></td>
            <td>No</td>
        </tr>
        <tr>
            <td>Wireless</td>
            <td><strong>Yes</strong></td>
            <td>Yes</td>
        </tr>
        <tr>
            <td>Pen input</td>
            <td><strong>Yes</strong></td>
            <td>No</td>
        </tr>
        <tr>
            <td>Keyboard</td>
            <td><strong>Yes</strong></td>
            <td>No</td>
        </tr>
        <tr>
            <td>Cost</td>
            <td>$1500</td>
            <td><strong>>$600*</strong></td>
        </tr>
    </tbody>
</table>

<p><em>*Couldn&#39;t find a reliable source for the original price of the wifi model, this is as close as I could get</em></p>

<p>So the iPad beat on cost, but on every other factor was significantly worse than a 2 year old tablet. I found it hilarious that the first after market accessories for the iPad was a plug-in keyboard. I lol&#39;d and cried, &quot;Just buy a laptop people!!!&quot;. And unless all you&#39;re going for is &quot;status-symbol&quot;, &nbsp;this device is completely useless in a medical, academic, or professional setting because you&nbsp;<strong>can&#39;t write on it with a pen-based input</strong>.</p>

<p>In any case, what&#39;s done is done, and Apple&#39;s iPad clearly became popular and redefined the word &quot;tablet&quot; for better or worse.</p>

<p><strong>E-reader</strong></p>

<p>E-reader is short for e-book reader.&nbsp;<em>Typically</em> these devices use something called e-ink. I feel that this is where the &quot;e&quot; moniker has truly derived, but I could be wrong. The first e-reader was the Sony LIBRIe for release in Japan and using a Philips e-ink display. Here are the important features of an e-ink display over traditional LCD:</p>

<ol>
    <li>Black and white. The ink has two states, on and off &#8230; with varying levels represented by shades of gray. There is no colour and unless <a href="http://en.wikipedia.org/wiki/Electrochromism">electrochromic devices</a> take lift &#8230; there probably won&#39;t be.</li>
    <li>Reflective display (vs emission on LCD). It doesn&#39;t generate it&#39;s own light source, but allows incredible contrast and readability outdoors and in bright light.</li>
    <li>Only uses power when switching. This means the battery life is&nbsp;<em>enormous</em> because you don&#39;t have to constantly power the device. The downside is that page-switches are slow. We&#39;re talking about a<b>&nbsp;</b><strong>month&nbsp;of battery life</strong>.</li>
    <li>More comfortable to read and a better viewing angle.</li>
</ol>

<p>The first&nbsp;<em>popular</em>&nbsp;e-reader was the Kindle by Amazon.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/10/miranda-main-hero._V189854680_.jpg" rel="lightbox[938]"><img alt="" class="aligncenter size-medium wp-image-945" height="300" src="http://mikemurko.com/wp-content/uploads/2011/10/miranda-main-hero._V189854680_-264x300.jpg" title="miranda-main-hero._V189854680_" width="264" /></a></p>

<p><strong>Hybrid, bastard-child of the two (a.k.a. iPad, Kindle Fire and Vox)</strong></p>

<p>Now because everyone and their grandma wants to say they make an e-reader nowadays &#8230; device manufacturers have been branding all of their devices as e-book readers. This is&nbsp;<em>simply false</em>. The Vox, Kindle Fire, and iPad are&nbsp;<strong>not e-readers</strong>, unless you want to count the most liberal definition of &quot;electronic book reader&quot; &#8230; in which case I have conceived of my own implementation. I present to you &#8230; my 22 inch <em>e-book reader*</em>!</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/11/IMG_4748-Medium.jpg" rel="lightbox[938]"><img alt="" class="aligncenter size-medium wp-image-956" height="225" src="http://mikemurko.com/wp-content/uploads/2011/11/IMG_4748-Medium-300x225.jpg" title="IMG_4748 (Medium)" width="300" /></a></p>

<p><em>*Not an e-book reader</em></p>

<p>The <em>battery life on the Vox is 7 hours</em> people! Don&#39;t be fooled. You are adults, you do not read picture books anymore &#8211; just get a black and white e-reader. The colour e-readers are not magic, they have not been gifted by advanced alien technology. They are using the same old LCD screen that you&#39;re probably reading this on right now on your laptop or monitor and just packaging it in a tinier, less-useful package.</p>

<p>I mostly blame this one on the corporations, but I also feel Apple has successfully hypnotised it&#39;s latte drinking audience into believing whatever it wants &#8211; so I can&#39;t quite leave the blame off the average consumer who doesn&#39;t understand what they&#39;re buying.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/10/BookBurning.jpg" rel="lightbox[938]"><img alt="" class="aligncenter size-medium wp-image-946" height="265" src="http://mikemurko.com/wp-content/uploads/2011/10/BookBurning-300x265.jpg" title="BookBurning" width="300" /></a></p>

<p>If your book went blank every 7 hours and you had to plug it in to read, you would be forgiven for wanting to burn it. So why put up with that on your expensive new gadget?&nbsp; <</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/of-tablets-ereaders-and-shady-nomenclature/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Make the new Gmail look more compact</title>
		<link>http://mikemurko.com/general/make-the-new-gmail-look-more-compact/</link>
		<comments>http://mikemurko.com/general/make-the-new-gmail-look-more-compact/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 17:04:17 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[cozy]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=950</guid>
		<description><![CDATA[I was instantly frustrated by the amount of padding on the new Gmail look (released to me on Nov 2nd, 2011). Turns out it&#39;s quite easy to fix. Just click the &#34;Gear&#34; button (the lower one, not the top right corner). And choose from the fuzzily named&#160;Comfortable, Cozy, or Compact. Personally I prefer Cozy or [...]]]></description>
			<content:encoded><![CDATA[<p>I was instantly frustrated by the amount of padding on the new Gmail look (released to me on Nov 2nd, 2011). Turns out it&#39;s quite easy to fix. Just click the &quot;Gear&quot; button (the lower one, not the top right corner). And choose from the fuzzily named&nbsp;<em>Comfortable, Cozy, or Compact</em>. Personally I prefer Cozy or Compact, but Comfortable is probably only suited if you either have a 40 inch monitor or are legally blind.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/11/CozyGmail.png" rel="lightbox[950]"><img alt="" class="aligncenter size-medium wp-image-951" height="296" src="http://mikemurko.com/wp-content/uploads/2011/11/CozyGmail-300x296.png" title="CozyGmail" width="300" /></a></p>

<p>Remember to check out my post about <a href="http://mikemurko.com/blog/favourite-google-shortcuts/">cool shortcuts in Gmail and Google</a>!</p>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/make-the-new-gmail-look-more-compact/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android Disable Ads Hack</title>
		<link>http://mikemurko.com/general/android-disable-ads-hack/</link>
		<comments>http://mikemurko.com/general/android-disable-ads-hack/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 19:12:33 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[angry birds]]></category>
		<category><![CDATA[disable]]></category>
		<category><![CDATA[moonchaser]]></category>
		<category><![CDATA[openfeint]]></category>
		<category><![CDATA[yooninja]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=911</guid>
		<description><![CDATA[Tired of ads? After a little experimenting I found I could easily disable ads in all games that I downloaded. This isn&#8217;t as useful in actual apps that need the internet to function, but works perfectly well for things like Angry Birds, Moonchaser, Yooninja, and more. Obviously you won&#8217;t be able to upload scores and [...]]]></description>
			<content:encoded><![CDATA[<p>Tired of ads? After a little experimenting I found I could easily disable ads in all games that I downloaded. This isn&#8217;t as useful in actual apps that need the internet to function, but works perfectly well for things like Angry Birds, Moonchaser, Yooninja, and more. Obviously you won&#8217;t be able to upload scores and such using Feint, but you&#8217;ll be happy and ad-free!</p>

<p style="text-align: center;"><a href="http://mikemurko.com/wp-content/uploads/2011/09/SC20110930-145706.png" rel="lightbox[911]"><img class="aligncenter size-full wp-image-913" title="SC20110930-145706" src="http://mikemurko.com/wp-content/uploads/2011/09/SC20110930-145706.png" alt="" width="512" height="307" /></a></p>

<p><span id="more-911"></span></p>

<p>It&#8217;s simple! Just turn off your phone&#8217;s internet! On my Android Galaxy S I just hold the right-trigger down, when it comes up with the menu I just turn off data-mode, or put it in Airplane Mode where no internet/wifi will work. Load up the game and bam &#8211; no ads!</p>

<p><img class="aligncenter" src="https://lh4.googleusercontent.com/-NsbnQrkhywc/ToYTY03C6HI/AAAAAAAAB4Y/1MA91dAl4wk/s400/SC20110930-145239.png" alt="" width="240" height="400" /></p>

<p>The generic way on Android is to go to Settings&gt;Wireless and network&gt;Check &#8220;Flight mode&#8221;. Back out and go to your games and you&#8217;re done.</p>

<p style="text-align: center;"><a href="http://mikemurko.com/wp-content/uploads/2011/09/SC20110930-145639.png" rel="lightbox[911]"><img class="aligncenter size-full wp-image-914" title="SC20110930-145639" src="http://mikemurko.com/wp-content/uploads/2011/09/SC20110930-145639.png" alt="" width="450" height="307" /></a></p>

<p>Don&#8217;t forget to turn off Flight mode when you&#8217;re done because you won&#8217;t be able to receive calls, texts, or anything.</p>

<p>Finally, I don&#8217;t fully support doing this as advertising revenue is pretty much the only way we get free apps, so I tend to use it sparingly or not at all on some of my favourite free games.</p>

<p>Happy app&#8217;ing,</p>

<p>Mike</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/android-disable-ads-hack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keurig Reusable K-Cup</title>
		<link>http://mikemurko.com/general/keurig-reusable-k-cup/</link>
		<comments>http://mikemurko.com/general/keurig-reusable-k-cup/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 19:55:46 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[caffeine]]></category>
		<category><![CDATA[coffee]]></category>
		<category><![CDATA[earth]]></category>
		<category><![CDATA[green]]></category>
		<category><![CDATA[kcup]]></category>
		<category><![CDATA[keurig]]></category>
		<category><![CDATA[single cup coffee]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=894</guid>
		<description><![CDATA[I generally see K-cups as the anti-earth with their devilishly tempting ease-of-use and really wasteful and non-degradeable plastic packaging, all for just a single cup of coffee. I do however really enjoy the concept of a single cup coffee maker, so imagine my caffeinated joy when I saw the &#8220;My K-Cup Reusable Coffee Filter&#8220;! Read [...]]]></description>
			<content:encoded><![CDATA[<p>I generally see K-cups as the anti-earth with their devilishly tempting ease-of-use and really wasteful and non-degradeable plastic packaging, all for just a single cup of coffee. I do however really enjoy the concept of a single cup coffee maker, so imagine my caffeinated joy when I saw the &#8220;<a href="http://www.amazon.com/Keurig-K-Cup-Reusable-Coffee-Filter/dp/B000DLB2FI">My K-Cup Reusable Coffee Filter</a>&#8220;! Read more after the break!
<img title="Keurig" src="https://lh6.googleusercontent.com/-mu8y1KHdhZ8/Tl6QsvexORI/AAAAAAAAB3Q/cgy7W8MHHVU/s400/2011-08-31%25252015.07.38.jpg" alt="" width="192" height="256" /><a href="http://mikemurko.com/wp-content/uploads/2011/08/resusable-filter.jpg" rel="lightbox[894]"><img class="size-medium wp-image-895" title="resusable filter" src="http://mikemurko.com/wp-content/uploads/2011/08/resusable-filter-300x300.jpg" alt="" width="240" height="240" /></a>
<span id="more-894"></span>
I found the reusable filter in one of those gadgety, home style, sharper-image type stores in the mall. It cost $20 but the link I posted on Amazon is a tad cheaper but you have to ship it. $20 well spent I say. Basically you can buy any brand of coffee you&#8217;d like, grind em up (or buy them ground), and just drop 2 and a half tablespoons into the filter, screw on the cap and you&#8217;re away with a single cup of coffee with no waste at all!</p>

<p>Here&#8217;s a comparison. On the left you see the reusable kcup filter with some old coffee in it, the container, and the lid &#8230; and on the right you use the black container and a disposable kcup.</p>

<p><img class="aligncenter" title="KCup" src="https://lh5.googleusercontent.com/-NZP4KQfLQCI/Tl6Qn6EbkbI/AAAAAAAAB3M/q_PxZSIGmMI/s400/2011-08-31%25252015.08.36-1.jpg" alt="" width="400" height="336" /></p>

<p>I also like that I can adjust the amount of coffee, as well as pack it a bit tighter for a stronger brew. Truth be told I&#8217;ve had a few mishaps where I didn&#8217;t put the lid on and coffee water sprayed out of the Keurig like a caffeine breathing dragon. That is mostly due to my stupidity, so your results may vary.</p>

<p>Here&#8217;s a quick ROI (return on investment) calculation for whether it&#8217;s worth it to buy one of these suckers:</p>

<p style="padding-left: 30px;">Reusable: $20 initial, $0.20 per cup</p>

<p style="padding-left: 30px;">K-cup: $0 initial, $0.58 per cup</p>

<p style="padding-left: 30px;"><strong># days before ROI: 18 days</strong></p>

<p style="padding-left: 30px;"><strong>Cost savings per year: $395</strong></p>

<p><strong> </strong><strong>Assumptions:</strong></p>

<p>3 cups of coffee per day (my intake, but about double if you include the whole family), K-cups from Timothys at $14 for 24, Reusable from Tim Hortons $7 for 343g and using 10g per cup</p>

<p>What I&#8217;ve discovered through this process is the best savings can be realized when &#8230;. I decrease my coffee intake to 1 cup per day! Doh!</p>

<p>Happy brewin&#8217;,</p>

<p>-Mike</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/keurig-reusable-k-cup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Favourite Google Shortcuts</title>
		<link>http://mikemurko.com/general/favourite-google-shortcuts/</link>
		<comments>http://mikemurko.com/general/favourite-google-shortcuts/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 20:28:37 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[instant]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[plus]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[reader]]></category>
		<category><![CDATA[shortcut]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=883</guid>
		<description><![CDATA[On almost all Google products my favourite keyboard shortcuts: &#8216;j&#8217; to progress forward and &#8216;k&#8217; to go backward in a list. It&#8217;s fantastic, saves you time, and stops you from cumbersomely grasping at the mouse. Long live the Home Row! Read more for one awesome voice activated shortcut. Gmail I use this in Gmail to [...]]]></description>
			<content:encoded><![CDATA[<p>On almost all Google products my favourite keyboard shortcuts: &#8216;j&#8217; to progress forward and &#8216;k&#8217; to go backward in a list. It&#8217;s fantastic, saves you time, and stops you from cumbersomely grasping at the mouse. Long live the Home Row! Read more for one awesome voice activated shortcut.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/08/keys.png" rel="lightbox[883]"><img class="aligncenter size-full wp-image-889" title="keys" src="http://mikemurko.com/wp-content/uploads/2011/08/keys.png" alt="" width="376" height="336" /></a>
<span id="more-883"></span></p>

<p><strong>Gmail</strong></p>

<p>I use this in Gmail to sort through my inbox with just my keyboard. Pressing <em><strong>j</strong></em> and <strong><em>k</em></strong> to go down my inbox and hitting <em><strong>x</strong></em> on each entry I want to do something with. At the end I&#8217;ll have a list of 10 or so emails, and then I&#8217;ll either apply some labels to them, or simply archive them by pressing the <em><strong>e</strong></em> key. You can enable this feature by going to the little &#8220;cog&#8221; icon in the top right, Mail Settings, and on the first page set &#8220;Keyboard shortcuts on&#8221;.</p>

<p><strong>Google</strong></p>

<p>If you turn on <a href="http://www.google.com/preferences?hl=en">Instant Search</a> here you can search for something and then use your arrow keys (not as cool as &#8216;j&#8217; and &#8216;k&#8217;, but there you go).</p>

<p><strong>Also:</strong> I also found this <a href="http://www.google.com/experimental/#BetaShortcuts">http://www.google.com/experimental/#BetaShortcuts</a> site which lets you enable j and k on your Google searches (just click &#8220;Join this experiment&#8221; on the Keyboard Shortcuts). I couldn&#8217;t get it to work with Google.ca (which google seems to force me to use since I&#8217;m in Canada), so make sure that you click the link at the bottom of the search home page that says &#8220;Go to Google.com&#8221;. Doing this also allows you one other cool feature which is <span style="color: #ff9900;">v</span><span style="color: #ff0000;">o</span><span style="color: #99cc00;">i</span><span style="color: #00ffff;">c</span><span style="color: #0000ff;">e</span> <span style="color: #ff00ff;">s</span><span style="color: #00ff00;">e</span><span style="color: #ff6600;">a</span><span style="color: #00ccff;">r</span><span style="color: #993366;">c</span><span style="color: #339966;">h</span>! It really works. Click the microphone thing and if you computer/laptop has a mic (most do) then just say what you want to search for. I guess .com has had this for a while. No .ca love I guess.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/08/speaknow.png" rel="lightbox[883]"><img class="aligncenter size-full wp-image-885" title="speaknow" src="http://mikemurko.com/wp-content/uploads/2011/08/speaknow.png" alt="" width="372" height="151" /></a></p>

<p><strong>Google Plus </strong>and <strong>Google Reader</strong></p>

<p>You can use the same <strong>j</strong> and <strong>k</strong> shortcuts in these two apps to quickly navigate up and down posts. Works like a charm. On Google Plus you see a thin blue bar beside your current entry. You may have to click in some blank space of a single post before this starts working.</p>

<p>That&#8217;s all and I hope this is news to someone because I thoroughly enjoy these shortcuts.</p>

<p>Keep typin&#8217;</p>

<p>-Mike</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/favourite-google-shortcuts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Blowing smoke up someone&#8217;s ass</title>
		<link>http://mikemurko.com/general/blowing-smoke-up-someones-ass/</link>
		<comments>http://mikemurko.com/general/blowing-smoke-up-someones-ass/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 06:04:16 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[1984]]></category>
		<category><![CDATA[big brother]]></category>
		<category><![CDATA[jedi]]></category>
		<category><![CDATA[nanny state]]></category>
		<category><![CDATA[smoking]]></category>
		<category><![CDATA[USA]]></category>
		<category><![CDATA[waterloo]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=861</guid>
		<description><![CDATA[Five tobacco companies in America are suing the FDA over a new law that forces them to slap graphic warnings on their cigarette packages. The companies state this law is in direct contraction of their first amendment right to free speech because, &#8220;they can&#8217;t require a cigarette pack to serve as a mini-billboard for the [...]]]></description>
			<content:encoded><![CDATA[<p>Five tobacco companies in America are suing the FDA over a new law that forces them to slap graphic warnings on their cigarette packages. The companies state this law is in direct contraction of their first amendment right to free speech because, &#8220;they can&#8217;t require a cigarette pack to serve as a mini-billboard for the government&#8217;s anti-smoking campaign&#8221; [Floyd Abrams, lawyer]. The opposing side states that &#8220;the new labels could deter young people from starting to smoke and give adult smokers a new incentive to quit.&#8221; [Kathleen Sebelius, Health Secretary]. The question I had was: do these labels have <strong>proven, scientific efficacy</strong> in stopping smoking or detering it? I set to find just what the link is between pictures of gnarly medical abominations and people not sucking on a stick all day.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/08/cigarette-warning-label-baby1.jpg" rel="lightbox[861]"><img class="aligncenter size-full wp-image-880" title="cigarette-warning-label-baby" src="http://mikemurko.com/wp-content/uploads/2011/08/cigarette-warning-label-baby1.jpg" alt="" width="537" height="333" /></a></p>

<p><span id="more-861"></span></p>

<p>Given that smoking is extremely unhealthy, I don&#8217;t begrudge global governments for trying to stop people smoking. I can, however, sympathize with the tobacco companies&#8217; right to sell products <span style="text-decoration: underline;">which are not illegal</span> without government pushing propaganda on the actual product themselves. A law that makes more sense to me is to require all locations selling cigarettes to have a poster beside the cabinet with some graphic disease ridden lung, but labels on the products themselves seems to go against my gut feeling that the government really doesn&#8217;t have a place in the marketing of private corporations. Make smoking illegal before doing this.</p>

<p>That rant out of the way, here&#8217;s what scientists and researchers have to say about whether or not these labels are even effective in stopping people from smoking:</p>

<p>Graphic labels are &#8230; probably &#8230; effective<strong>.</strong></p>

<p>Well that was a lame answer. A lot of research done at the University of Waterloo in Canada (my alma mater) by David Hammond, probably because Canada was the first country in the world to slap these repulsive images onto cigarette boxes. The research states that by being exposed to these labels, smokers are more aware of the risks and think more critically about them. This translates to a direct increase in the number of candidates attempting and successfully quitting. The results were statistically significant, but IMO marginally. I quote,</p>

<blockquote>Smokers who had read, thought about, and discussed the new labels at baseline were more likely to have quit, made a quit attempt, or reduced their smoking three months later, after adjusting for intentions to quit and smoking status at baseline (OR 1.07, 95% CI 1.03 to 1.12; p &lt; 0.001). [<span style="text-decoration: underline;">Impact of the graphic Canadian warning labels on adult smoking behaviour</span>, D. Hammond, Tob Control 2003]</blockquote>

<p>This isn&#8217;t a dramatic increase in people wanting to quit. Odds ratio of 1.07 means (correct me if I&#8217;m wrong) that 1.07x more people wanted to quit after thinking about these labels. The correlation between thinking about the labels and the labels being gory medical images is very high &#8230; so you can make the link that graphic images lead to slightly more smoker quitting. Read more about it <a href="http://www.sciencedaily.com/releases/2007/02/070206100625.htm">here</a> and <a href="http://www.who.int/bulletin/volumes/87/8/09-069575/en/">here</a> and <a href="http://tobaccocontrol.bmj.com/content/12/4/391">here</a>.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/08/Smoking-can-kill-you-label.jpg" rel="lightbox[861]"><img class="aligncenter size-full wp-image-868" title="Smoking-can-kill-you-label" src="http://mikemurko.com/wp-content/uploads/2011/08/Smoking-can-kill-you-label.jpg" alt="" width="400" height="304" /></a></p>

<p>I find this approach to stopping smoking to be quite interesting. Obviously the negative effects of smoking are so immense and proven that there is no way a product would be deemed legal if it came to market with this body of medical evidence behind it. However, there has been little talk about banning cigarettes entirely. This is probably because it would just drive it into a black market, purchased online and in other countries. This has the chance of increasing smoking and causing more organized (and disorganized) crime. We all know <a href="http://en.wikipedia.org/wiki/Prohibition">how that worked out before</a>. By basically performing elaborate Jedi mind-tricks on the population &#8230;. governments are convincing us that <em>we don&#8217;t want cigarettes</em> &#8211; so there&#8217;s no need to make them illegal. Well played, Uncle Sam, well played.</p>

<p>Keep on breathin&#8217;,</p>

<p>Mike</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/blowing-smoke-up-someones-ass/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing JIRA on Ubuntu</title>
		<link>http://mikemurko.com/general/installing-jira-on-ubuntu/</link>
		<comments>http://mikemurko.com/general/installing-jira-on-ubuntu/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 19:19:13 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jdk]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[tracking]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=856</guid>
		<description><![CDATA[Just walking through some of the steps as the JIRA documentation is a little too skimpy in parts for my liking. First &#8230; go get the Linux version of JIRA. IMPORTANT: Make sure you click &#8220;Show All&#8221; and download the 32-bit version if you&#8217;re unsure. I tried this whole nonsense with the 64-bit version and [...]]]></description>
			<content:encoded><![CDATA[<p>Just walking through some of the steps as the JIRA documentation is a little too skimpy in parts for my liking. First &#8230; go get the <a href="http://www.atlassian.com/software/jira/JIRADownloadCenter.jspa">Linux version of JIRA</a>. <strong>IMPORTANT</strong>: Make sure you click &#8220;Show All&#8221; and download the 32-bit version if you&#8217;re unsure. I tried this whole nonsense with the 64-bit version and got a mind-boggling error (<em>Syntax error: &#8220;(&#8221; unexpected</em>) <a href="https://jira.atlassian.com/browse/JRA-25279">More here</a>. I&#8217;d say this whole process can be done in 15-20 minutes including all the Googlin&#8217; and head scratching.</p>

<p><span id="more-856"></span></p>

<ol>
    <li>Download the Linux distribution (.bin file) from above. Place it in /home/Mike/ directory. <em>Obviously you will have your own username folder.</em></li>
    <li>You can&#8217;t follow the normal install procedures because Ubuntu comes with OpenJDK for Java, replace this with Sun (Oracle) JDK. Otherwise I think the install will fail (not sure, but this is a safe bet and it <em>definitely works</em>). I found the solution on <a href="http://thilina.gunarathne.org/2011/02/installing-sun-oracle-jdk-6-on-ubuntu.html">this link</a>. But changes are summarized here, so no need to open a new tab.
<ol>
    <li>Check version by doing: java -version. If you read some stuff about OpenJDK, you gotta follow this.</li>
    <li><span style="color: #008000;">sudo add-apt-repository ppa:sun-java-community-team/sun-java6</span></li>
    <li><span style="color: #008000;">sudo apt-get  update</span></li>
    <li><span style="color: #008000;">sudo apt-get  install sun-java6-jdk </span>
<ol>
    <li>Weird. Go through License and press &#8220;right arrow&#8221; key to click OK. Probably because it&#8217;s closed source. Takes a while to download and install. Sit tight.</li>
</ol>
</li>
    <li><span style="color: #008000;">sudo apt-get  install sun-java6-plugin</span></li>
    <li>Set default version: <span style="color: #008000;">sudo update-java-alternatives -s java-6-sun</span></li>
    <li>Check version by doing: java -version. Ahhhh bask in the Sun. I read:
<ol>
    <li>
<div id="_mcePaste"><em><span style="color: #808080;">Java(TM) SE Runtime Environment (build 1.6.0_21-b06)</span></em></div>
<div id="_mcePaste"><em><span style="color: #808080;">Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)</span></em></div>
<em><span style="color: #808080;">Java(TM) SE Runtime Environment (build 1.6.0_21-b06)Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)</span></em></li>
</ol>
</li>
</ol>
</li>
    <li>In terminal navigate to /home/Mike and run: <em><span style="color: #008000;">sudo chmod 777 [your downloaded version].bin</span></em>. This gives everyone execute rights on this bin file (not a big deal because you can delete it afterwards)</li>
    <li>Enter your password</li>
    <li>Run <em><span style="color: #008000;">sudo ./[your downloaded version].bin</span>. </em>Make sure you have the &#8220;./&#8221; in front. This executes the bin rather than tries to read it.
<ol>
    <li>Go through all of the options. Nothing too freaky. I chose a new installation. Only thing I changed was the ports &#8230; from 8080 to 9090 and from 8005 to 9005.</li>
    <li>I chose to run it as a service.</li>
</ol>
</li>
</ol>

<h2><strong>Set up</strong></h2>

<p>Next I went to http://localhost:9090 in my browser and started the set up. I chose External database.</p>

<p>Before continuing I went to MySQL (I use the MySQL Workbench GUI) and make a new schema (database) with the default name. Made a new user as well and gave full rights to this schema. <a href="http://confluence.atlassian.com/display/JIRA/Connecting+JIRA+to+MySQL#ConnectingJIRAtoMySQL-createandconfiguredb">Read more here</a>. Followed through the rest of it without much of a hitch. Couldn&#8217;t get the mail server set up but I&#8217;ll do that another day. The rest is easy as pie!</p>

<h2>Final Notes</h2>

<p>JIRA has been in place for a couple of days now and our developers, testing staff, and support desk are in LOVE! The software is fantastic-ly simple to use, the functionality is spot on and exactly what we need out of a bug and project tracking system. Combining JIRA with <a href="http://blogs.atlassian.com/jira/bonfire/">Bonfire</a> was one of the best decisions we made. Basically you have a browser plugin which when you click on it takes a screenshot which can be annotated and automatically fills in a bug report with your URL, user agent. A picture is worth a thousand lines of code!</p>

<p>Happy trackin&#8217;</p>

<p>-Mike</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/installing-jira-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP 2.0 Plugin Webroot URL Rewrite on IIS 7</title>
		<link>http://mikemurko.com/general/cakephp-2-0-plugin-webroot-url-rewrite-on-iis-7/</link>
		<comments>http://mikemurko.com/general/cakephp-2-0-plugin-webroot-url-rewrite-on-iis-7/#comments</comments>
		<pubDate>Sun, 14 Aug 2011 23:22:58 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=847</guid>
		<description><![CDATA[After trying my hand at CakePHP and falling in techno-geek love with it, I ran into a problem with how CakePHP 2.0 Beta runs it&#8217;s plugins&#8217; webroot content. Just so we&#8217;re on the same page, the 2.0 documentation hasn&#8217;t been updated as of writing (Aug 14, 2011) to include any changes to how plugin&#8217;s webroot [...]]]></description>
			<content:encoded><![CDATA[<p>After trying my hand at CakePHP and falling in techno-geek love with it, I ran into a problem with how CakePHP 2.0 Beta runs it&#8217;s plugins&#8217; webroot content. Just so we&#8217;re on the same page, the 2.0 documentation hasn&#8217;t been updated as of writing (Aug 14, 2011) to include any changes to how plugin&#8217;s webroot work &#8230; so I&#8217;m assuming it&#8217;s pretty much the same as 1.3. The docs for 1.3 state:</p>

<blockquote>The urls to plugin assets remains the same. In the past you used <tt>/debug_kit/js/my_file.js</tt> to link to<tt>app/plugins/debug_kit/vendors/js/my_file.js</tt>. It now links to <tt>app/plugins/debug_kit/webroot/js/my_file.js</tt></blockquote>

<p>Perhaps this works in Apache, but I&#8217;m running IIS7 and it does not work for me. In my layout (or view, whichever) I tried inserting the following code:</p>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Html</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">css</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/manager/css/menu.css'</span><span style="color: #009900;">&#41;</span></pre></div></div>


<p><span id="more-847"></span>
The file was not found and generated a URL exactly as it was written above, which caused a &#8220;Controller Manager not found&#8221; error. After some digging I found <a href="http://cakephp.lighthouseapp.com/projects/42648/tickets/500-plugin-css-directories-bug">this issue</a> which seemed to point that the problem was related to URL rewriting. If the person disabled mod_rewrite on Apache things started to break down. So I took a look at the web.config file obtained from <a href="http://book.cakephp.org/view/1636/URL-Rewrites-on-IIS7-Windows-hosts">the Cake docs</a> and lo-and-behold it didn&#8217;t really cater towards Plugins.</p>

<p>So I updated my web.config file in the root directory to read as follows:</p>


<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rules<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rule</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Redirect plugin resources&quot;</span> <span style="color: #000066;">stopProcessing</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;match</span> <span style="color: #000066;">url</span>=<span style="color: #ff0000;">&quot;^(.*)/(ico|img|css|files|js)(.*)$&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;action</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Rewrite&quot;</span> <span style="color: #000066;">url</span>=<span style="color: #ff0000;">&quot;app/plugin/{R:1}/webroot/{R:2}{R:3}&quot;</span> <span style="color: #000066;">appendQueryString</span>=<span style="color: #ff0000;">&quot;false&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/rule<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rule</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Redirect static resources&quot;</span> <span style="color: #000066;">stopProcessing</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;match</span> <span style="color: #000066;">url</span>=<span style="color: #ff0000;">&quot;^(ico|img|css|files|js)(.*)$&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;action</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Rewrite&quot;</span> <span style="color: #000066;">url</span>=<span style="color: #ff0000;">&quot;app/webroot/{R:1}{R:2}&quot;</span> <span style="color: #000066;">appendQueryString</span>=<span style="color: #ff0000;">&quot;false&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/rule<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
....</pre></div></div>


<p>The rule &#8220;Redirect plugin resources&#8221; is new, the other one is there for reference. Basically I said that if there is any URL containing ico/img/css/files/js that also has a prefix (like &#8216;/manager/&#8217;) redirect this request to /app/plugin/{PLUGIN NAME GETS PUT HERE}/webroot/{ico/css/whatever}/{filenamehere}.</p>

<p>Works like a charm and doesn&#8217;t break the other functionality for other webroot files. Give it a try and hopefully this will help you out!</p>

<p>Happy baking,
Mike</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/cakephp-2-0-plugin-webroot-url-rewrite-on-iis-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>United States of Apple</title>
		<link>http://mikemurko.com/general/united-states-of-apple/</link>
		<comments>http://mikemurko.com/general/united-states-of-apple/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 18:41:04 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=827</guid>
		<description><![CDATA[After reading a news article on the BBC titled &#8220;Apple holding more cash than USA&#8221; it got me thinking about the talks in Washington regarding the debt ceiling, possible tax increases, and program cuts and how this all ties into consumer culture and Apple. By and large Apple creates products solely to feed consumer frenzy. [...]]]></description>
			<content:encoded><![CDATA[<p>After reading a news article on the BBC titled &#8220;<a href="http://www.bbc.co.uk/news/technology-14340470">Apple holding more cash than USA</a>&#8221; it got me thinking about the talks in Washington regarding the debt ceiling, possible tax increases, and program cuts and how this all ties into consumer culture and Apple.<span id="more-827"></span></p>

<p>By and large Apple creates products solely to feed consumer frenzy. An iPad does not build roads, it does not cure disease, it is simply a tool for either a) increasing status, b) consuming (content, purchases, music, movies).<sup>1</sup> Sure, it might increase happiness superficially until buyers&#8217;-regret sinks in and Apple releases a new iPad next year. What this says to me is that American&#8217;s value their consumerism more than they value a stable government and prosperous economy. It&#8217;s saying that citizens are paying more money into Apples pockets than they are into the government.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/07/United-States-of-Apple.png" rel="lightbox[827]"><img class="aligncenter size-full wp-image-828" title="United-States-of-Apple" src="http://mikemurko.com/wp-content/uploads/2011/07/United-States-of-Apple.png" alt="" width="500" height="222" /></a></p>

<p>Republicans in the House, and particularly those voted in on a &#8220;tea party&#8221; banner to not increase taxes or raise the debt ceiling, are completely deluded when they think that keeping taxes low is a good way to stimulate the economy. <a href="http://zfacts.com/p/318.html">Reagonomics and the trickle-down effect were shown to be ineffective</a> and Reagan increased the debt dramatically during his term as president. The argument made was that by decreasing taxes on the rich, they will start more businesses, employ more people, and all around have a good jolly time. <strong>This does not work!</strong></p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/07/US-National-Debt-GDP.gif" rel="lightbox[827]"><img class="aligncenter size-full wp-image-831" title="US-National-Debt-GDP" src="http://mikemurko.com/wp-content/uploads/2011/07/US-National-Debt-GDP.gif" alt="" width="514" height="365" /></a></p>

<p>What you get when you decrease taxes on the rich, is that we buy more iPads for ourselves, our sons and daughters as gifts because we can&#8217;t think of anything else to get them that would be meaningful, and FEED into our consumer culture. And what does Apple do with all this money? They stick it in their coffers where it is OF NO USE TO ANYONE &#8211; hoping one day to buy out all competing forms of technology so they can keep up their stranglehold of media and consumption. That&#8217;s $74,000,000,000 that is going to be used to make the iPhone 7 or the iPad 15. It is the perfect counter-point to the insistence that lower taxes help increase jobs and boost the economy.</p>

<p>I guess if you define economy by how much money Apple has in it&#8217;s current account, then yes, lowering taxes does boost the economy.</p>

<p>Increase taxes on the rich, reduce the likelihood of them buying the next piece of iShit that Apple puts out each year, and use that money to a) pay off the national debt, b) keep some critical social services.</p>

<p>If you&#8217;re reading this on your iPad then you are part of the problem.</p>

<p><span style="font-size: 0.8em;"><strong>Footnotes</strong>
[1] It isn&#8217;t even a decent computing device (computing, I firmly believe is a major benefit to humanity). What I have always found notably missing is a pen based input &#8211; it&#8217;s as if they don&#8217;t <em>want</em> you to detail your own ideas/thoughts.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/united-states-of-apple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hockey Players Union</title>
		<link>http://mikemurko.com/webdesign/hockey-players-union/</link>
		<comments>http://mikemurko.com/webdesign/hockey-players-union/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 05:22:19 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=823</guid>
		<description><![CDATA[I helped Jason set up the the hockeyplayersunion.com and .ca domain name and at first a simple WordPress blog so he could get the word out about his new hockey lace bracelet product. I set him up with email addresses, a quick tutorial on how to edit the site and he was away. Jason and [...]]]></description>
			<content:encoded><![CDATA[<p>I helped Jason set up the the <a href="http://hockeyplayersunion.com/">hockeyplayersunion.com</a> and .ca domain name and at first a simple WordPress blog so he could get the word out about his new hockey lace bracelet product. I set him up with email addresses, a quick tutorial on how to edit the site and he was away. Jason and I have evolved the site quite a bit over the last year or so and it looks pretty different to how it began. I&#8217;m happy with it and I hope he is as well!</p>

<p style="text-align: center;"><a href="http://hockeyplayersunion.com/"><img class="aligncenter size-full wp-image-824" title="HPUBanner" src="http://mikemurko.com/wp-content/uploads/2011/07/HPUBanner.png" alt="" width="658" height="168" /></a></p>

<p style="text-align: left;">We also got Paypal set up on there so he can start accepting payments for his products and then ship them out as soon as he receives the email order confirmation. Check it out and hopefully you&#8217;ll find one of those bracelets to be a great stocking stuffer! Some of the proceeds go to a good causes as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/webdesign/hockey-players-union/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE9, FF4, Chrome &#8211; The Battle of Sameness</title>
		<link>http://mikemurko.com/general/ie9-ff4-chrome-the-battle-of-sameness/</link>
		<comments>http://mikemurko.com/general/ie9-ff4-chrome-the-battle-of-sameness/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 14:47:56 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ie9]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=755</guid>
		<description><![CDATA[The great browser debate is about to get about as trivial as a choice between toothpastes. I say this because with the latest release of Internet Explorer 9 and Firefox 4 &#8211; all of our browsers are starting to look, well, exactly the same! I&#8217;m not saying that is a bad thing. Browsers are all [...]]]></description>
			<content:encoded><![CDATA[<p>The great browser debate is about to get about as trivial as a choice between toothpastes. I say this because with the latest release of Internet Explorer 9 and Firefox 4 &#8211; all of our browsers are starting to look, well, <em>exactly the same</em>!</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/03/browser-comparison.png" rel="lightbox[755]"><img class="aligncenter size-medium wp-image-760" title="browser-comparison" src="http://mikemurko.com/wp-content/uploads/2011/03/browser-comparison-300x100.png" alt="" width="300" height="100" /></a></p>

<p><span id="more-755"></span>I&#8217;m not saying that is a bad thing. Browsers are all starting to co-evolve to some ideal browsing experience where the browser takes a back seat to content. Back when IE was competing against Netscape and Mozilla there was a great deal of variety in how various web tasks were accomplished. Now everyone is seeming to agree on a sort of same-y browser user interface. I&#8217;m not looking at Opera here because they seem to be on their own warpath, and while I sometimes feel like Opera has a lot going for it &#8211; I never seem to catch and stick with it (nor do many).</p>

<p><strong>Tabs</strong></p>

<p>Browsers have had tabs for a while now (IE7 being the first Microsoft browser with tabs), but it seems they are mostly agreeing to have tabs be placed on the traditional Windows title bar. IE9 does it slightly differently and puts the tabs on the same row at the URL bar, saving some pixels in the process &#8211; but leaving a suspiciously large amount of blank space at the top of the browser. That said, the navigation bar in FF and Chrome is unnecessarily long, so I think these two balance out. Having the tabs on the very top is ideal because it previously would display the name of the webpage you were currently looking at &#8230; so why not use it to display tabs which already have the title in it.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/04/emptyspaceie9.png" rel="lightbox[755]"><img class="aligncenter size-full wp-image-808" title="emptyspaceie9" src="http://mikemurko.com/wp-content/uploads/2011/04/emptyspaceie9.png" alt="" width="309" height="73" /></a></p>

<p>This is where Firefox goes disco on us and throws <strong>Panorama</strong> into the mix. Basically you can press Ctrl-shift-E or click a button and you can view all your tabs as little windows and you can group them into bunches. That way you can separate work from your news stuff you were reading, from that search on the mating habits of great white sharks &#8211; all in little bins. I can&#8217;t describe it, it&#8217;s magic. Here&#8217;s a picture. Look at it. With your eyes.</p>

<p style="text-align: center;"><a href="http://mikemurko.com/wp-content/uploads/2011/04/ff-panorama.png" rel="lightbox[755]"><img class="aligncenter size-full wp-image-809" title="ff-panorama" src="http://mikemurko.com/wp-content/uploads/2011/04/ff-panorama.png" alt="" width="440" height="272" /></a></p>

<p><strong>URL Bar</strong></p>

<p>The URL bar is becoming the predominant way of navigation and interaction with the web &#8211; with it doing searches, bookmarking, historical list of searches, as well as &#8216;old fashioned&#8217; URL handling. Firefox goes so far as to call it their &#8220;Awesome-bar&#8221;. <em>Note: in my first picture I removed the &#8220;Search bar&#8221; in Firefox because it serves zero purpose &#8211; my homepage is Google and the Awesome-bar works wonders for search anyways.</em></p>

<p>The height of the main bar of each browser is as follows:</p>

<table style="font-size: 18px;" border="1">
<tbody>
<tr>
<td><strong>Chrome</strong></td>
<td>61px</td>
</tr>
<tr>
<td><strong>FF</strong></td>
<td>63px</td>
</tr>
<tr>
<td><strong>IE9</strong></td>
<td>55px</td>
</tr>
</tbody>
</table>

<p>But really &#8230; who cares. I did however look at it for a few minutes and IE9 could literally take up about 20 pixels and keep all it&#8217;s functionality. Just by moving everything up to that wasted black space above it. My photoshop hack of what it could look like. Click to enlarge (not a Viagra ad)</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/03/ie9-redesign.png" rel="lightbox[755]"><img class="aligncenter size-medium wp-image-771" title="ie9-redesign" src="http://mikemurko.com/wp-content/uploads/2011/03/ie9-redesign-300x22.png" alt="" width="300" height="22" /></a></p>

<p><strong>Button Placement</strong></p>

<p>I must say I prefer Chrome&#8217;s placement of the home button and refresh on the left hand side. It&#8217;s where you do your navigation (back and forward) so why wouldn&#8217;t you want to do Home and Refresh there as well. Annnnd that&#8217;s all I have to say about that.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/04/homebutton-placement.png" rel="lightbox[755]"><img class="aligncenter size-full wp-image-807" title="homebutton placement" src="http://mikemurko.com/wp-content/uploads/2011/04/homebutton-placement.png" alt="" width="212" height="112" /></a></p>

<p><strong>Speed</strong></p>

<p>I&#8217;m not about to do a benchmark test here, others have done so and <a href="http://www.tomshardware.com/reviews/internet-explorer-9-chrome-10-opera-11,2897-8.html">I&#8217;m more than happy to just link it up</a>. Everyone is focusing on a couple of main things: &#8220;GPU enhance-iness&#8221; and Javascript. GPU for WebGL and HTML5 graphics so that the web is going to basically turn into the virtual reality you always dreamed of &#8230;. and Javascript because it.is.the.shit! Javascript is pretty much running the internet these days and browsers are really based on how well they can execute and even compile JS.</p>

<p style="text-align: center;"><img class="aligncenter" title="Javascript performance" src="http://media.bestofmicro.com/9/0/285444/original/wbgp3jsbenchmark.jpg" alt="" width="352" height="332" />
<img class="aligncenter" title="Youtube loading speed" src="http://media.bestofmicro.com/9/8/285452/original/wbgp3youtube.jpg" alt="" width="352" height="332" /></p>

<p>I&#8217;ve always been in the camp that said Chrome is the fastest thing since my 486 &#8230; and I still sort of hold that as true. Apparently some sites say FF is much faster than Chrome and this may be true &#8211; but it&#8217;s not only the web page rendering that has to be fast. Chrome is lightweight on the <em>operating system</em>. Firefox has to reboot and restart and start up and start down about 10 times per session and it&#8217;s incredibly clunky in comparison.</p>

<p>That said &#8211; IE9 is fast. I mean &#8230; really fast. I can&#8217;t believe I said that &#8211; because I have literally taken part in satanic rituals in hopes of banishing Internet Explorer 5,6,7,8 from this plane of existence &#8230;. but it&#8217;s true. Apart from the 5 minute install where it basically bricks your computer and says, &#8220;<em>Hand off &#8230; I&#8217;m having my way with your hard-drive</em>,&#8221; the browser runs extremely quickly. I&#8217;m running on a Macbook Pro that&#8217;s pretty beefy so maybe that&#8217;s some of the &#8220;hardware acceleration&#8221; kicking in &#8230; but whatever it is, I don&#8217;t care &#8211; it&#8217;s fast. <strong>Note: IE9 is Windows 7 and Vista only. Bye-bye XP, we&#8217;ll miss you!</strong></p>

<h2><strong>My Recommendation</strong></h2>

<p>I&#8217;m writing this article in Firefox 4 right now, but it&#8217;s having some serious issues with Flash. The panorama feature is amazing and the addons are more polished than Chrome&#8217;s plugins. IE still has <span style="color: #800000;">bad blood</span> with me, but I&#8217;m trying my gosh-darned hardest to like it.</p>

<p><strong>Chrome is still the outright winner with it&#8217;s rapid boot-up, minimalist interface, and good selections of plugins. FF4 in a close second with open-source goodness, panorama view, and enough plugins to keep your chubby fingers browsing away for years to come. IE9 &#8230;. well, it showed up late for the party but at least it&#8217;s here.</strong></p>

<h6>Also, go install IE9 for your mom and bring her back to 2011.<strong>
</strong></h6>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/ie9-ff4-chrome-the-battle-of-sameness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up CVS on Ubuntu 10.10</title>
		<link>http://mikemurko.com/general/setting-up-cvs-on-ubuntu-10-10/</link>
		<comments>http://mikemurko.com/general/setting-up-cvs-on-ubuntu-10-10/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 05:22:07 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[cvsd]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[maverick]]></category>
		<category><![CDATA[meerkat]]></category>
		<category><![CDATA[pserver]]></category>
		<category><![CDATA[smartgit]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xinetd]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=787</guid>
		<description><![CDATA[The instructions on the Ubuntu Help site had some errors. I come from a Windows background so a lot of this stuff is so endlessly confusing &#8230; but I tried to make the most of it. Here&#39;s what I did to get CVS working with pserver on Ubuntu 10.10 (Maverick Meerkat). Just to summarize: cvs [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="https://help.ubuntu.com/10.10/serverguide/C/cvs-server.html">instructions on the Ubuntu Help</a> site had some errors. I come from a Windows background so a lot of this stuff is so endlessly confusing &#8230; but I tried to make the most of it. Here&#39;s what I did to get CVS working with pserver on Ubuntu 10.10 (Maverick Meerkat).</p>

<p><span id="more-787"></span>Just to summarize: <strong>cvs</strong> is the version control system itself (server or client I&#39;m not sure?), <strong>xinetd</strong> is some sort of service (daemon) that starts and stops cvs. Some people use <strong>cvsd</strong> which is a pserver-only type server, but I didn&#39;t want to get intertwined with that. We&#39;re using pserver on a private firewall LAN, so nothing public therefore the low security of pserver isn&#39;t a big deal. Anything in italics is something you type into the console ok? Let&#39;s get started.</p>

<ol>
    <li>Applications > Accessories > Terminal to get a command prompt</li>
    <li><span style="color: #008000;"><em>sudo apt-get install cvs</em></span> (Then enter your password and wait for install to download and install)</li>
    <li><em><span style="color: #008000;">sudo apt-get install xinetd</span> </em>(Should just download and install without asking for a password &#8230; last command is &quot;Starting internet superserver xinetd [OK]&quot;)</li>
    <li>Now the Ubuntu documentation states &quot;Once you install cvs, the repository will be automatically initialized. By default, the repository resides under the <strong>/var/lib/cvs</strong> directory.&quot;. This is <strong>NOT TRUE</strong>! I found my default repository in <strong>/srv/cvs/</strong>. The file structure you should see something like this <a href="http://mikemurko.com/wp-content/uploads/2011/04/Screenshot.png" rel="lightbox[787]"><img alt="" class="aligncenter size-medium wp-image-788" height="162" src="http://mikemurko.com/wp-content/uploads/2011/04/Screenshot-300x162.png" title="Screenshot" width="300" /></a></li>
    <li>I wanted to change this default location so I created a new directory called <strong>source</strong> in var. Just using the GUI, nothing fancy. Right-click and add new directory. Then I typed <span style="color: #008000;"><em>sudo cvs -d /var/source init</em></span>. That should do it.</li>
    <li>Next I went to /etc/xinetd.d/cvspserver file (just create it if it doesn&#39;t exist &#8230; no file extension) and changed the code to look like this:
        <pre>service cvspserver
{
    port = 2401
    socket_type = stream
    protocol = tcp
    user = root
    wait = no
    type = UNLISTED
    server = /usr/bin/cvs
    server_args = -f --allow-root /var/source pserver
    disable = no
}</pre>
        <p>Keeping in mind the line server_args with &quot;/var/source&quot; should be changed to whatever you did in step 5 (i.e. &quot;/var/cvs&quot; or whatever)</p>
    </li>
    <li>In command line run <span style="color: #008000;"><em>sudo /etc/init.d/xinetd restart</em></span> to restart this xinetd server thingy-ma-bob.</li>
    <li>The original Ubuntu Help file says you can run <span style="color: #008000;"><em>sudo netstat -tap | grep cvs</em></span> and you should be able to tell that the CVS server is working. My output was something like this: <em>tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 *:cvspserver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&#8211;9/xinetd</em>. I&#39;m assuming that&#39;s good.</li>
    <li>Now for usernames and password I made some Ubuntu system accounts for my developers. This link is pretty valuable (from the CVS manual) <a href="http://ximbiot.com/cvs/manual/cvs-1.11.23/cvs_2.html#SEC9">http://ximbiot.com/cvs/manual/cvs-1.11.23/cvs_2.html#SEC9</a> Basically what it says is that using pserver either you can create a file inside /srv/cvs/CVSROOT/ called <strong>passwd</strong> which will contain your usernames and password. Unfortunately they have to be encrypted using the UNIX crypt() method. Not sure how the hell to do this, so I just don&#39;t have a passwd file. They say you can copy it from /etc/passwd &#8230; but that file just has &quot;x&quot;s for the passwords. <strong>Whatever</strong> &#8211; the end result is that if CVS doesn&#39;t find a passwd file it reverts to using your Ubuntu users specified under System>Administration>Users and Groups. I think this is effectively using the /etc/passwd file anyways. I did find <a href="http://durak.org/sean/pubs/software/cvsbook/The-Password_002dAuthenticating-Server.html#The-Password_002dAuthenticating-Server">this link</a> which had a cool perl script for creating passwords if you want to use the passwd file approach. I didn&#39;t end up using it though.</li>
    <li>The Ubuntu Help page then goes on about &quot;Projects&quot; and how to make them. I really have no clue what Projects are because in Windows I&#39;m used to Modules. Modules are different blocks of code that you can check out into various sandboxes. Maybe they are one and the same. At this point I think so. So follow that approach if you want to make a new module.</li>
    <li>In my case I&#39;m moving an old CVSNT repository into Ubuntu cvs, so I just copied my module (simply a folder with code in it) into the new folder (at the same level as the CVSROOT folder). That&#39;s it, I was able to check out that repository now.</li>
    <li>In the console I did <span style="color: #008000;"><em>cvs -d :pserver:mike@localhost:/var/source login</em></span>. Then it asks you for a password, enter that and then you&#39;re &quot;logged in&quot; for some amount of time (I don&#39;t really know how that works). Now you can run a command like this: <span style="color: #008000;"><em>sudo cvs -d /var/source checkout MYCODE</em></span> &#8211; where MYCODE is the folder name of your repository.</li>
    <li>To copy the repository history over I just copied and replaced the files <strong>history </strong>and <strong>val-tags</strong> in the CVSROOT folder. Didn&#39;t seem to cause any hiccups so I think it&#39;s safe to do.</li>
</ol>

<p>Finally &#8230; now I can get my ass over to Windows and use TortoiseCVS and a beautiful nice GUI.</p>

<p>Edit: Damnit, needed to come back to Ubuntu and change file permissions up. On the &quot;root&quot; directory (so in my instance /var/source) I changed the group ownership of the <strong>source</strong> top level directory to a cvsusers group I made in the Users and Groups control panel (under System>Administration). I did this by entering: <span style="color: #008000;"><em>sudo chgrp cvsusers -R source</em></span> . I also gave those group users read, write, and execute privileges with the following command <span style="color: #008000;"><em>sudo chmod 775 -R source</em></span><em>. </em>Always the bloody permissions!</p>

<h2>To remove</h2>

<ol>
    <li><em>sudo apt-get remove xinetd</em></li>
    <li><em>sudo apt-get remove cvs</em></li>
    <li>Manually delete the srv/cvs folder.</li>
    <li>Delete etc/xinetd.d folder (it has your cvspserver file in it). That&#39;s about it.</li>
</ol>

<h2><strong>Update &#8211; Git</strong></h2>

<p>If you&#39;re reading this, I am happy to let you know that I have successfully migrated our project to Git. This was one of the biggest leaps in productivity and source control since I installed CVS after using FTP and manually emailing files back and forth. If you&#39;re still using CVS, I&nbsp;<strong>compel</strong>&nbsp;you to please try set up Git for your project. It takes a bit of work to get into at first, but it will really be worth it in the not-so-long run. As with CVS, Git is just a tool and there are plenty of workflows to follow once you get started, so here are some links that I found useful. I plan on doing a blog post in the future about how I set up Git for my project.</p>

<ul>
    <li><a href="http://nvie.com/posts/a-successful-git-branching-model/">A successful Git branching model</a></li>
    <li><a href="http://nathanj.github.com/gitguide/tour.html">Guide to Git on Windows</a> (useful to understand the concepts and how it all fits together, but realistically I would use <a href="http://www.syntevo.com/smartgit/index.html">SmartGit</a>&nbsp;as your GUI tool &#8230; think TortoiseCVS replacement)</li>
    <li><a href="http://tumblr.intranation.com/post/766290565/how-set-up-your-own-private-git-server-linux">Set up a private Git server on Linux</a> (I instead signed up with <a href="http://help.github.com/win-set-up-git/">Github </a>and paid $12/mo for their hosting &#8230; it was worth it to reduce the headaches)</li>
</ul>

<p>I tried TortoiseGit and found it really lacking so I wouldn&#39;t even bother going down that path if you ask me. Right now on a Windows box I use a combination of SmartGit and commandline git commands for any hairy stuff.</p>

<p>The important point is that you can use Git&nbsp;<em>exactly the same</em>&nbsp;as you use CVS. In a linear path, you have a series of commits by various authors. For every CVS command there is a Git analog. One major difference is that Git commits apply to the entire sandbox, whereas in CVS they were file-by-file based. However where Git really shines is&nbsp;<em>branching and merging</em>. You can have several alternate realities of your code going at the same time. Eventually you start to think of your code as a single unit in various versions rather than worrying about the commits on a single file. It really is mind-boggling at times and can make you feel stupid, but I&#39;m telling you from a long-time CVS user &#8230; stick with it, you won&#39;t regret it!</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/setting-up-cvs-on-ubuntu-10-10/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Libya: What happens if we&#8217;re successful</title>
		<link>http://mikemurko.com/general/libya-what-happens-if-were-successful/</link>
		<comments>http://mikemurko.com/general/libya-what-happens-if-were-successful/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 02:31:07 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[gaddafi]]></category>
		<category><![CDATA[libya]]></category>
		<category><![CDATA[operation odyssey dawn]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=776</guid>
		<description><![CDATA[I&#8217;m not claiming to be an expert and have only read my fair share of articles on what&#8217;s going down in Libya right now &#8211; but something came to mind and I needed to write it and see what other people think. Everyone knows the situation: The US with France, Britain, Canada, and other European nations [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not claiming to be an expert and have only read my fair share of articles on what&#8217;s going down in Libya right now &#8211; but something came to mind and I needed to write it and see what other people think.</p>

<p>Everyone knows the situation: The US with France, Britain, Canada, and other European nations are enforcing air strikes on Libya with this action being placed more on NATO lately. All of this to stop Gaddafi and his military from performing their own air strikes on civilians. The job seems to be widely regarded as a success and I&#8217;m fairly confident that lives of protestors, civilians, and rebels were saved by our actions. The West&#8217;s language has been &#8220;Gaddafi out&#8221; but while they haven&#8217;t committed to a total overthrow of his power, it seems they are being a guiding hand in the rebellion.</p>

<p><span id="more-776"></span></p>

<p>What worries me is that this rag-tag group of rebels (who knows if there are factions, rivalries, or budding Colonel Gaddafi Jrs in their fray) manage to finally storm Tripoli, summarily execute Gaddafi, and do who-knows-what with all of the pro-government supporters. From what some of the television broadcasts show, there are a lot of green-flag waving civilians  lining up the squares there. Women, kids, and middle class men it looks like. No one with rifles or bazookas.</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/03/640962251.jpg" rel="lightbox[776]"><img class="size-full wp-image-781 alignnone" title="640962251" src="http://mikemurko.com/wp-content/uploads/2011/03/640962251.jpg" alt="" width="300" height="225" /></a><a href="http://mikemurko.com/wp-content/uploads/2011/03/gaddafi-supporters-rally-300x198.jpg" rel="lightbox[776]"><img class="size-full wp-image-779 alignnone" title="gaddafi-supporters-rally-300x198" src="http://mikemurko.com/wp-content/uploads/2011/03/gaddafi-supporters-rally-300x198.jpg" alt="" width="300" height="198" /></a></p>

<p>The West went into a frenzy (and rightly so) when Gaddafi said he would rain down all hell on protestors &#8230; but what happens if this rebellion we essentially backed starts doing the same thing to pro-government supporters? In the power vacuum that would be left behind, I wouldn&#8217;t be surprised to see such things could happen. And then who is then accountable? With Gaddafi there is a person, a government, a military who you can hold accountable for crimes. When it&#8217;s a revolution, a rebellious coup &#8211; what do you do then? And what do you do if you put them there to start with?</p>

<p>Anyways it&#8217;s just a concern I had that I didn&#8217;t see addressed anywhere and I&#8217;m worried that we just haven&#8217;t thought enough moves ahead.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/libya-what-happens-if-were-successful/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jQuery Keycode Cheatsheet</title>
		<link>http://mikemurko.com/general/jquery-keycode-cheatsheet/</link>
		<comments>http://mikemurko.com/general/jquery-keycode-cheatsheet/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 02:31:23 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[cheatsheet]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[keycode]]></category>
		<category><![CDATA[keydown]]></category>
		<category><![CDATA[keypress]]></category>
		<category><![CDATA[keyup]]></category>
		<category><![CDATA[list]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=762</guid>
		<description><![CDATA[These are just Javascript keycodes, but when I searched originally I typed in &#8220;jQuery keycodes&#8221; and didn&#8217;t get much. This should be of help to someone in any case. Cheat away! It&#8217;s useful for when you&#8217;re using the keydown, keypress, and keyup functions in jQuery. You&#8217;d use them in a way like this: $&#40;'#textbox'&#41;.keyup&#40;function &#40;e&#41; [...]]]></description>
			<content:encoded><![CDATA[<p>These are just Javascript keycodes, but when I searched originally I typed in &#8220;jQuery keycodes&#8221; and didn&#8217;t get much. This should be of help to someone in any case. Cheat away!</p>

<p>It&#8217;s useful for when you&#8217;re using the keydown, keypress, and keyup functions in jQuery. You&#8217;d use them in a way like this:</p>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#textbox'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">keyup</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>e.<span style="color: #660066;">keyCode</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">13</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Enter key pressed!'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>


<p><span id="more-762"></span></p>

<table style="height: 433px; border: solid 1px black;" border="1" cellspacing="0" cellpadding="0" width="223" align="center">
<tbody>
<tr>
<td width="319" valign="top"><strong>Key</strong></td>
<td width="319" valign="top"><strong>Keycode</strong></td>
</tr>
<tr>
<td width="319" valign="top">Enter</td>
<td width="319" valign="top">13</td>
</tr>
<tr>
<td width="319" valign="top">Up arrow</td>
<td width="319" valign="top">38</td>
</tr>
<tr>
<td width="319" valign="top">Down arrow</td>
<td width="319" valign="top">40</td>
</tr>
<tr>
<td width="319" valign="top">Left arrow</td>
<td width="319" valign="top">37</td>
</tr>
<tr>
<td width="319" valign="top">Right arrow</td>
<td width="319" valign="top">39</td>
</tr>
<tr>
<td width="319" valign="top">Escape</td>
<td width="319" valign="top">27</td>
</tr>
<tr>
<td width="319" valign="top">Spacebar</td>
<td width="319" valign="top">32</td>
</tr>
<tr>
<td width="319" valign="top">Ctrl</td>
<td width="319" valign="top">17</td>
</tr>
<tr>
<td width="319" valign="top">Alt</td>
<td width="319" valign="top">18</td>
</tr>
<tr>
<td width="319" valign="top">Tab</td>
<td width="319" valign="top">9</td>
</tr>
<tr>
<td width="319" valign="top">Shift</td>
<td width="319" valign="top">16</td>
</tr>
<tr>
<td width="319" valign="top">Caps-lock</td>
<td width="319" valign="top">20</td>
</tr>
<tr>
<td width="319" valign="top">Windows key</td>
<td width="319" valign="top">91</td>
</tr>
<tr>
<td width="319" valign="top">Windows option key</td>
<td width="319" valign="top">93</td>
</tr>
<tr>
<td width="319" valign="top">Backspace</td>
<td width="319" valign="top">8</td>
</tr>
<tr>
<td width="319" valign="top">Home</td>
<td width="319" valign="top">36</td>
</tr>
<tr>
<td width="319" valign="top">End</td>
<td width="319" valign="top">35</td>
</tr>
<tr>
<td width="319" valign="top">Insert</td>
<td width="319" valign="top">45</td>
</tr>
<tr>
<td width="319" valign="top">Delete</td>
<td width="319" valign="top">46</td>
</tr>
<tr>
<td width="319" valign="top">Page Up</td>
<td width="319" valign="top">33</td>
</tr>
<tr>
<td width="319" valign="top">Page Down</td>
<td width="319" valign="top">34</td>
</tr>
<tr>
<td width="319" valign="top">Numlock</td>
<td width="319" valign="top">144</td>
</tr>
<tr>
<td width="319" valign="top">F1-F12</td>
<td width="319" valign="top">112-123</td>
</tr>
<tr>
<td width="319" valign="top">Print-screen</td>
<td width="319" valign="top">??</td>
</tr>
<tr>
<td width="319" valign="top">Scroll-lock</td>
<td width="319" valign="top">145</td>
</tr>
<tr>
<td width="319" valign="top">Pause-break</td>
<td width="319" valign="top">19</td>
</tr>
</tbody>
</table>

<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/jquery-keycode-cheatsheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer 9 Download Problems with Chrome</title>
		<link>http://mikemurko.com/general/internet-explorer-9-download-problems-with-chrome/</link>
		<comments>http://mikemurko.com/general/internet-explorer-9-download-problems-with-chrome/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 16:16:57 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[ie9]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=748</guid>
		<description><![CDATA[It turns out that my previous download troubles with IE9 were as a result of using the Google Chrome browser. When I view the site ie.microsoft.com/testdrive and try to download IE9 in Chrome I get an error message saying that my operating system is not supported. Viewing the site in any other browser (IE8 shown below, [...]]]></description>
			<content:encoded><![CDATA[<p>It turns out that <a href="http://mikemurko.com/blog/ie9-bad-to-the-bone/">my previous download troubles</a> with IE9 were as a result of using the Google Chrome browser. When I view the site <em><a href="http://ie.microsoft.com/testdrive">ie.microsoft.com/testdrive</a> </em>and try to download IE9 in Chrome I get an error message saying that my operating system is not supported. Viewing the site in any other browser (IE8 shown below, but Safari and Firefox work as well) then you get the proper download screen. Maybe this is an ActiveX thing that Chrome is blocking? Maybe it&#8217;s one of my Chrome extensions (I don&#8217;t use Adblock)? Anyone else have these problems?</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/03/ie9-download-problems.png" rel="lightbox[748]"><img class="aligncenter size-medium wp-image-749" title="ie9 download problems" src="http://mikemurko.com/wp-content/uploads/2011/03/ie9-download-problems-300x149.png" alt="" width="300" height="149" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/internet-explorer-9-download-problems-with-chrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP IIS7 Web Platform Installer 3.0 Unsupported OS Error!</title>
		<link>http://mikemurko.com/general/php-iis7-wpi-unsupported-os-error/</link>
		<comments>http://mikemurko.com/general/php-iis7-wpi-unsupported-os-error/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 06:51:03 +0000</pubDate>
		<dc:creator>MikeMurko</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[windows 7]]></category>
		<category><![CDATA[WPI]]></category>

		<guid isPermaLink="false">http://mikemurko.com/?p=736</guid>
		<description><![CDATA[OK, so while trying to install PHP 5.3 on IIS7.5 from this page I kept getting an error message saying that I was not using a supported operating system. The issue is that I was using Windows 7 (and later Windows Server 2008) which are both supported operating systems. I don&#8217;t have a screenshot of [...]]]></description>
			<content:encoded><![CDATA[<p>OK, so while trying to install PHP 5.3 on IIS7.5 from <a href="http://php.iis.net/">this page</a> I kept getting an error message saying that I was not using a supported operating system. The issue is that I was using <strong>Windows 7</strong> (and later <strong>Windows Server 2008</strong>) which are both supported operating systems. I don&#8217;t have a screenshot of the error, but if you&#8217;re reading this &#8211; you probably know what I mean. This can&#8217;t be an isolated issue and maybe reveals a deeper issue with Microsoft&#8217;s bad OS detection mechanism.</p>

<p>How did I fix it? Pretty simple actually. It turns out that I had Web Platform Installer 2.0 installed. The PHP IIS site uses WPI 3.0, so maybe there is a version incompatibility. To get around it I went to <strong>Internet Information Services (IIS) Manager</strong>, and double clicked &#8220;Web Platform Installer&#8221; under Management. This did a quick upgrade to 3.0, and then I was able to download PHP 5.3.5 in a snap from the Window that comes up!</p>

<p><a href="http://mikemurko.com/wp-content/uploads/2011/03/wpi-installer.png" rel="lightbox[736]"><img class="aligncenter size-full wp-image-738" title="wpi installer" src="http://mikemurko.com/wp-content/uploads/2011/03/wpi-installer.png" alt="" width="325" height="122" /></a>Basically &#8211; don&#8217;t use the website to install it.</p>

<p>Note: Another useful product to install with WPI is &#8220;<strong>Microsoft SQL Driver v2.0 for PHP v5.3 in IIS</strong>&#8221; found under &#8220;Products&#8221;&gt;&#8221;Database&#8221;. This allows you to easily connect PHP to a SQL Server database using PDO.</p>

<p>God almighty that was a lot of acronyms. I count 6.</p>

<p>Chow,
-Mike</p>
]]></content:encoded>
			<wfw:commentRss>http://mikemurko.com/general/php-iis7-wpi-unsupported-os-error/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

