<?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>Gilluminate &#187; Developer Blog</title>
	<atom:link href="http://www.gilluminate.com/topic/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gilluminate.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 Jun 2010 02:50:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Marketing vs. IT</title>
		<link>http://www.gilluminate.com/2010/03/10/marketing-vs-it/</link>
		<comments>http://www.gilluminate.com/2010/03/10/marketing-vs-it/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 17:48:34 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>

		<guid isPermaLink="false">http://www.gilluminate.com/?p=5777</guid>
		<description><![CDATA[It seems that Marketing and IT departments are always at odds. Having worked for a substantial amount of time in each division, I have come to my own conclusions as to why this is the case. I believe there is a misperception as to the root cause to the problem and I believe that I [...]]]></description>
			<content:encoded><![CDATA[<p>It seems that Marketing and IT departments are always at odds. Having worked for a substantial amount of time in each division, I have come to my own conclusions as to why this is the case. I believe there is a misperception as to the root cause to the problem and I believe that I have a solution.</p>
<p>The common accusation is that Marketing is too right brained and doesn&#8217;t understand the technical side of things that IT must face every day. In reverse, the accusation is that IT is too left brained and has no creativity. I believe both to be false. Sure, they are true to a certain extent, but I do not believe this to be the root of the problem. I&#8217;ve known very analytical people working in Marketing and I&#8217;ve known very creative people who work in IT. Heck, we hired a back-end ruby programmer to work in our marketing department at one point. It didn&#8217;t &#8220;bridge the gap.&#8221;</p>
<p>The difference is this: Marketing wants things done fast, IT wants things done securely, and neither trusts the other because of it. Yep, it&#8217;s that simple. Marketing departments need to be more security minded, to the point that IT trusts them to have access to the stuff they need. IT needs to figure out how to deliver on the fly, to the point that Marketing trusts them to be tasked with something. If this were to happen on a global scale–if Marketing were security experts and IT were lightning fast–it would create <strong>world peace</strong>. I&#8217;m sure of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2010/03/10/marketing-vs-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Things I Depend On In FireFox As A Web Developer That Are Missing In Chrome</title>
		<link>http://www.gilluminate.com/2010/01/25/things-i-depend-on-in-firefox-as-a-web-developer-that-are-missing-in-chrome/</link>
		<comments>http://www.gilluminate.com/2010/01/25/things-i-depend-on-in-firefox-as-a-web-developer-that-are-missing-in-chrome/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 17:20:21 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Chrome]]></category>

		<guid isPermaLink="false">http://www.gilluminate.com/?p=5723</guid>
		<description><![CDATA[I&#8217;ve been using FireFox as my primary browser since version 0.9 and have admittedly grown quite attached to it. On the other hand, I&#8217;m quite fond of Google as well, so the prospect of making the switch to Chrome seemed almost inevitable as FF continues to grow into a resource heavy machine. The first deterrent [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-5738 alignnone" title="firefox-vs-chrome" src="http://www.gilluminate.com/wp-content/uploads/2010/01/firefox-vs-chrome.png" alt="" width="488" height="245" /></p>
<p>I&#8217;ve been using FireFox as my primary browser since version 0.9 and have admittedly grown quite attached to it. On the other hand, I&#8217;m quite fond of Google as well, so the prospect of making the switch to Chrome seemed almost inevitable as FF continues to grow into a resource heavy machine. The first deterrent however, was the lack of extension support in Chrome. The main reason I love FireFox (or so I though, as you&#8217;ll see in a moment) was for the extensions that make my day to day so much easier and that I cannot live without—such as Web Developer Toolbar, XMarks, AdBlocker Plus, pdfIt, and more.</p>
<p>Now that Chrome supports extensions, I really thought I was making the transition. I installed many extensions, and got Chrome to the point where I really felt like I could use it on a daily basis to accopmlish my tasks. It loads much, much faster and I thought I was in love! To my surprise, however, there are many nuances in Chrome itself that I feel make it lacking enough to the point that I cannot use it, in spite of extension support. In other words, I have complaints about the browser itself, not about the lack of extension support. These are things that extensions might possibly fix at some point, but I feel they belong as part of the browser&#8217;s base. Hopefully Chrome adopts many of these seemingly simple features as it graduates from Beta and beyond.</p>
<p>Here is my list of things I depend on in FireFox that are missing in Chrome:</p>
<ul>
<li>Several right click menu options
<ul>
<li>&#8220;View Background Image&#8221; &#8211; While Chrome does have support for viewing a forground image in a seperate tab, I need the ability to view a background image. It&#8217;s a feature I use a lot in FF.</li>
<li>&#8220;View Selection Source&#8221; &#8211; I understand the advantage of using the &#8220;Inspect Element&#8221; feature in Chrome, but the behavior is something quite different. I love that FireFox will show me only the code I&#8217;ve selected and highlights it in the popup window.</li>
<li>Minimal frame options &#8211; Chrome has a few options to aid you within frames, but Firefox&#8217;s options are so much richer and I find myself missing them quite a bit
<div id="attachment_5725" class="wp-caption alignnone" style="width: 298px"><img class="size-full wp-image-5725" title="Chrome Frame Options" src="http://www.gilluminate.com/wp-content/uploads/2010/01/frames_chrome.jpg" alt="Chrome Frame Options" width="288" height="225" /><p class="wp-caption-text">Chrome Frame Options</p></div>
<p><div id="attachment_5726" class="wp-caption alignnone" style="width: 281px"><img class="size-full wp-image-5726" title="Firefox Frame Options" src="http://www.gilluminate.com/wp-content/uploads/2010/01/frames_ff.jpg" alt="Firefox Frame Options" width="271" height="238" /><p class="wp-caption-text">Firefox Frame Options</p></div></li>
</ul>
</li>
<li>Customization support &#8211; Simply plugging &#8220;about:config&#8221; into the FF browser offers a vast amount of customization settings. Enough to let you really screw things up if you aren&#8217;t careful. As of yet, all I&#8217;ve seen in Chrome is the ability to <a title="The Power User's Guide to Google Chrome" href="http://lifehacker.com/5045904/the-power-users-guide-to-google-chrome">set a few startup switches</a>.</li>
<li>A perplexing inablility to use Google Bookmarks in a meaningful way &#8211; So I can synchronize bookmarks across browsers, fine&#8230;but where do they get stored if not in Google Bookmarks? Even extension support is weak at best.</li>
<li>Bookmark dividers &#8211; I&#8217;m an organization freak, what can I say?</li>
<li>Search as you type</li>
<li>Good visual representation when the word you are searching for cannot be found &#8211; Chrome simply says &#8220;0 of 0&#8243; where FF changes the box to red.</li>
</ul>
<p>I&#8217;m sure I&#8217;ll find more with time. These came about in a matter of a couple of days.</p>
<p>What about you? Have you found yourself having a hard time making the switch as you develop or use Chrome in your day to day? If you&#8217;ve found things in Chrome that you wish Firefox had, please share those as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2010/01/25/things-i-depend-on-in-firefox-as-a-web-developer-that-are-missing-in-chrome/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BB Moderation Hold plugin w/ BB Press version 1.0+</title>
		<link>http://www.gilluminate.com/2009/11/30/bb-moderation-hold-plugin-w-bb-press-version-1-0/</link>
		<comments>http://www.gilluminate.com/2009/11/30/bb-moderation-hold-plugin-w-bb-press-version-1-0/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 23:35:08 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[BB Press]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.gilluminate.com/?p=5659</guid>
		<description><![CDATA[It appears that the BB Moderation Hold plugin hasn&#8217;t updated for newer versions of BB Press. The moderation links are not appearing in the admin navigation and when you click &#8220;moderate&#8221; from within the post itself as a moderator it redirects to the homepage rather than taking you to the moderation pages. The fix for [...]]]></description>
			<content:encoded><![CDATA[<p>It appears that the BB Moderation Hold plugin hasn&#8217;t updated for newer versions of BB Press. The moderation links are not appearing in the admin navigation and when you click &#8220;moderate&#8221; from within the post itself as a moderator it redirects to the homepage rather than taking you to the moderation pages.</p>
<p>The fix for both issues is rather simple, but requires editing the php code in the plugin itself. Simply open up moderation.php and make the following tweaks:</p>
<p>Change:</p>

<div class="wp_codebox"><table><tr id="p56595"><td class="line_numbers"><pre>149
</pre></td><td class="code" id="p5659code5"><pre class="php" style="font-family:monospace;"> bb_admin_add_submenu<span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Topics for Moderation'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'moderate'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'bb_moderation_hold_topic_admin_page'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'content.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>To:</p>

<div class="wp_codebox"><table><tr id="p56596"><td class="line_numbers"><pre>149
</pre></td><td class="code" id="p5659code6"><pre class="php" style="font-family:monospace;"> bb_admin_add_submenu<span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Topics for Moderation'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'moderate'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'bb_moderation_hold_topic_admin_page'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'topics.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Change:</p>

<div class="wp_codebox"><table><tr id="p56597"><td class="line_numbers"><pre>150
</pre></td><td class="code" id="p5659code7"><pre class="php" style="font-family:monospace;"> bb_admin_add_submenu<span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Topics for Moderation'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'moderate'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'bb_moderation_hold_topic_admin_page'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'content.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>To:</p>

<div class="wp_codebox"><table><tr id="p56598"><td class="line_numbers"><pre>150
</pre></td><td class="code" id="p5659code8"><pre class="php" style="font-family:monospace;"> bb_admin_add_submenu<span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Topics for Moderation'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'moderate'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'bb_moderation_hold_topic_admin_page'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'posts.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>You are basically changing both instances of &#8216;content.php&#8217; to &#8216;topics.php&#8217; and &#8216;posts.php&#8217; respectively.</p>
<p>Now when you replace moderation.php on your server you should see extra links under the posts and topics sections and you should be taken to the appropriate pages when moderating.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2009/11/30/bb-moderation-hold-plugin-w-bb-press-version-1-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using JQuery to reveal using a slide up effect</title>
		<link>http://www.gilluminate.com/2009/09/09/using-jquery-to-reveal-using-a-slide-up-effect/</link>
		<comments>http://www.gilluminate.com/2009/09/09/using-jquery-to-reveal-using-a-slide-up-effect/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 05:35:46 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.gilluminate.com/?p=5519</guid>
		<description><![CDATA[The slideUp() method in JQuery is intended to hide the element rather than reveal it. It is basically the opposite of slideDown() which &#8220;unhides&#8221; your element by sliding it down. As you can see on this blog, I have an &#8220;About Jason Gill&#8221; tab in my heading. When clicked, this tab reveals information about who [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://docs.jquery.com/Effects/slideUp">slideUp()</a> method in <a href="http://jquery.com/">JQuery</a> is intended to hide the element rather than reveal it. It is basically the opposite of <a href="http://docs.jquery.com/Effects/slideDown">slideDown()</a> which &#8220;unhides&#8221; your element by sliding it down.</p>
<p>As you can see on this blog, I have an &#8220;About Jason Gill&#8221; tab in my heading. When clicked, this tab reveals information about who I am by sliding upward. In figuring out how to do this, I of course consulted the Google gods and came up with a lot of people asking how, but few people providing answers. So, I&#8217;ve decided to post the solution I finally came up with hoping it will benefit others.</p>
<p>Basically, I am using two different effects to create what looks like one effect. What you are seeing is essentially a slideDown() in conjunction with an <a href="http://docs.jquery.com/Effects/animate">animate()</a> effect. The animate() is literally moving the info box upward at the same speed it is sliding down (in my case, &#8220;slow&#8221;).  I just had to measure the height of the #about_me box and animate it upward exactly that many pixels (in my case it was 171 pixels). To close the box, I simply animate downward at the same rate I slideUp. Technically, I&#8217;m using animate in conjunction with <a href="http://docs.jquery.com/Effects/slideToggle">slideToggle()</a>, but you get the idea.</p>
<p>You can take a look at my source, but I&#8217;ll post the javascript here for your convenience:</p>

<div class="wp_codebox"><table><tr id="p551910"><td class="code" id="p5519code10"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><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>
	<span style="color: #003366; font-weight: bold;">var</span> opened <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#about_tab&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><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>
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>opened<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#about_me&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;top&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;+=171px&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000066; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#about_me&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;top&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;-=171px&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#about_content&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideToggle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#about_tab .close&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggle</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		opened <span style="color: #339933;">=</span> opened <span style="color: #339933;">?</span> <span style="color: #003366; font-weight: bold;">false</span> <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2009/09/09/using-jquery-to-reveal-using-a-slide-up-effect/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Force Rails Version When Creating a New App</title>
		<link>http://www.gilluminate.com/2009/06/05/force-rails-version-when-creating-a-new-app/</link>
		<comments>http://www.gilluminate.com/2009/06/05/force-rails-version-when-creating-a-new-app/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 21:27:58 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://blog.gilluminate.com/2009/06/05/force-rails-version-when-creating-a-new-app/</guid>
		<description><![CDATA[I have multiple versions of the Rails gem installed on my development server. We&#8217;ve been using Rails long enough now that we have many apps created for many versions. As I make changes to each app I need to test them in their specific version (the version listed in the environment.rb file) so having multiple [...]]]></description>
			<content:encoded><![CDATA[<p>I have multiple versions of the Rails gem installed on my development server. We&#8217;ve been using Rails long enough now that we have many apps created for many versions. As I make changes to each app I need to test them in their specific version (the version listed in the environment.rb file) so having multiple Rails versions installed is a necessity.</p>
<p>But if I try to spin up a new application using</p>

<div class="wp_codebox"><table><tr id="p540013"><td class="code" id="p5400code13"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">$rails</span> new_app</pre></td></tr></table></div>

<p>I get a rails app created specifically for the latest version of Rails installed.</p>
<p>But what if you need to create a new app for an older version of rails that is also installed? The following easy command does the trick:</p>

<div class="wp_codebox"><table><tr id="p540014"><td class="code" id="p5400code14"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">$rails</span> _1.2.3_ new_app</pre></td></tr></table></div>

<p>Where 1.2.3 is the desired version of Rails I want new_app to run. Note the underscores before and after the version.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2009/06/05/force-rails-version-when-creating-a-new-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Titleize an Array List in Rails</title>
		<link>http://www.gilluminate.com/2009/04/06/titleize-array-list-in-rails/</link>
		<comments>http://www.gilluminate.com/2009/04/06/titleize-array-list-in-rails/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 16:53:38 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://blog.gilluminate.com/?p=5338</guid>
		<description><![CDATA[First, a trick. If you want to display a comma separated list from an array all you need to do is multiply that array by a comma. &#8220;What&#8217;s that&#8221;, you say? You heard right. If you have an array in the variable @my_array you can simply place the following in your view: &#60;%= @my_array * [...]]]></description>
			<content:encoded><![CDATA[<p>First, a trick. If you want to display a comma separated list from an array all you need to do is multiply that array by a comma. &#8220;What&#8217;s that&#8221;, you say? You heard right. If you have an array in the variable @my_array you can simply place the following in your view:</p>

<div class="wp_codebox"><table><tr id="p533817"><td class="code" id="p5338code17"><pre class="ruby" style="font-family:monospace;"><span style="color:#006600; font-weight:bold;">&lt;%</span>= <span style="color:#0066ff; font-weight:bold;">@my_array</span> <span style="color:#006600; font-weight:bold;">*</span> <span style="color:#996600;">&quot;, &quot;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span></pre></td></tr></table></div>

<p>The comma and space in your string will be added to the end of every string in your array except for the last one. Beautiful! I love rails.</p>
<p>Now for the reason for my post. While I&#8217;ve known this little trick for a while, I came across the need to titleize the outcome because my array contained all lowercase strings and I wanted to diplay them as titles.</p>
<p>It took a little trial and error, but the solution is rather simple:</p>

<div class="wp_codebox"><table><tr id="p533818"><td class="code" id="p5338code18"><pre class="ruby" style="font-family:monospace;"><span style="color:#006600; font-weight:bold;">&lt;%</span>= <span style="color:#006600; font-weight:bold;">&#40;</span>@my_array <span style="color:#006600; font-weight:bold;">*</span> <span style="color:#996600;">&quot;, &quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">titleize</span> <span style="color:#006600; font-weight:bold;">%&gt;</span></pre></td></tr></table></div>

<p>To apply the titleize method, you simply wrap your multiplication is parenthesis and add the .titleize as you normally would.</p>
<p>(Note: I still have not upgraded to Rails 2.0, so I cannot guarantee any of this will work in newer versions)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2009/04/06/titleize-array-list-in-rails/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Print Better, Cleaner Reports from Omniture&#8217;s SiteCatalyst</title>
		<link>http://www.gilluminate.com/2009/03/06/print-better-cleaner-reports-from-omnitures-sitecatalyst/</link>
		<comments>http://www.gilluminate.com/2009/03/06/print-better-cleaner-reports-from-omnitures-sitecatalyst/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 22:14:59 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Omniture]]></category>

		<guid isPermaLink="false">http://blog.gilluminate.com/?p=5332</guid>
		<description><![CDATA[If you use the latest version of Omniture&#8217;s SiteCatalyst, you are probably aware of how poorly their nice pretty reports translate to PDF, Word, and Excel when you use the &#8220;save&#8221; tools available right there in the suite. Images get removed, text gets misaligned, and colors get skewed. Today I devised a nice, quick method [...]]]></description>
			<content:encoded><![CDATA[<p>If you use the latest version of Omniture&#8217;s SiteCatalyst, you are probably aware of how poorly their nice pretty reports translate to PDF, Word, and Excel when you use the &#8220;save&#8221; tools available right there in the suite. Images get removed, text gets misaligned, and colors get skewed.</p>
<p>Today I devised a nice, quick method for getting a printable report that looks identical to the report you see on your screen. The one downside, no selectable text for copy/paste later. But if that&#8217;s your concern, rather than printing, you probably aren&#8217;t worried about format as much anyway.</p>
<p>The solution I created involves downloading a FireFox extension called Pdf It! and Omniture&#8217;s own print feature.</p>
<p>Once you have Pdf It! installed and your report you wish to print is on the screen, simply click the print icon in SiteCatalyst&#8217;s toolbar at the top of your report. This will open a new window with limited browser chrome (toolbars, status bars, etc.) and will load your report without any of the extra navigation at top or left of your report. Basically a nice printable report. Only to print from this screen doesn&#8217;t always give the result you desire as browser to printer support isn&#8217;t always the greatest. You will still run into issues with missing images, cut off edges, etc.</p>
<p>So, the next thing to do is cancel the print job that automatically appears. Now you are left with just the print window. Right click somewhere in that print window and select Pdf It! > Save as PDF > Whole Page. Pdf It! will open a save dialogue and you can save that page to your desired directory. From here you can simply open that newly created PDF and print. Or if you prefer, attach it in an email to the people who care.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2009/03/06/print-better-cleaner-reports-from-omnitures-sitecatalyst/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>copy/paste deterrent no longer works in Flash Player 10</title>
		<link>http://www.gilluminate.com/2009/02/19/copypaste-deterrent-no-longer-works-in-flash-player-10/</link>
		<comments>http://www.gilluminate.com/2009/02/19/copypaste-deterrent-no-longer-works-in-flash-player-10/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 01:53:03 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.gilluminate.com/?p=5329</guid>
		<description><![CDATA[Thanks to Robert who gave me this bit of information. Apparently in Flash Player 10 the clipboard can only be invoked by user interaction. My copy/paste deterrent&#8212;that I previously blogged about and subsequently became my most popular and most frequently visited post&#8212;was based on the idea that the clipboard would be written to several times [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to Robert who gave me this bit of information.</p>
<p>Apparently in Flash Player 10 the clipboard can only be invoked by user interaction. My <a href="http://blog.gilluminate.com/2006/04/25/prevent-copy-paste-and-print-screen-online/">copy/paste deterrent</a>&mdash;that I previously blogged about and subsequently became my most popular and most frequently visited post&mdash;was based on the idea that the clipboard would be written to several times per second because it was fired in the EnterFrame event. So, needless to say, it will not work in the latest version of the Flash Player Plugin.</p>
<p>Here&#8217;s what Adobe has to say about it on <a href="http://www.adobe.com/devnet/flashplayer/articles/fplayer10_security_changes_02.html#head31">their website</a>:</p>
<blockquote><p>&#8220;In Flash Player 9, ActionScript could set data on the system Clipboard at any time. With Flash Player 10, the System.setClipboard() method may be successfully called only through ActionScript that originates from user interaction. This includes actions such as clicking the mouse or using the keyboard. This user interaction requirement also applies to the new ActionScript 3.0 Clipboard.generalClipboard.setData() and Clipboard.generalClipboard.setDataHandler() methods.&#8221;</p></blockquote>
<p>Maybe someone will be able to take my idea and figure out a way to detect &#8220;user interaction&#8221; outside the 1px by 1px flash file I was using to accomplish the task. Then maybe we can get it working again.</p>
<p>Oh well, it was fun while it lasted!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2009/02/19/copypaste-deterrent-no-longer-works-in-flash-player-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe CS4 Installation Fail</title>
		<link>http://www.gilluminate.com/2009/01/23/adobe-cs4-installation-fail/</link>
		<comments>http://www.gilluminate.com/2009/01/23/adobe-cs4-installation-fail/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 04:16:22 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.gilluminate.com/?p=5317</guid>
		<description><![CDATA[I&#8217;ve spent the past 3 days trying to install Adobe CS4 Web Premium on my home Windows XP computer (as the second install of my license at work). I kept getting an error before anything would install telling me something like &#8220;the following programs failed to install&#8221; (I forget the exact wording). Upon checking the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent the past 3 days trying to install Adobe CS4 Web Premium on my home Windows XP computer (as the second install of my license at work). I kept getting an error before anything would install telling me something like &#8220;the following programs failed to install&#8221; (I forget the exact wording).</p>
<p>Upon checking the Windows System Logs (Event Viewer -&gt; Application), all it would tell me was &#8220;Product: Adobe Anchor Service CS4 &#8212; Installation operation failed.&#8221; With no other explanation.</p>
<p>After spending a bunch of time trying to find the answer with Google and on Adobe&#8217;s website, I finally came across the solution. Part of the problem, as I see it, is that CS4 is so new there isn&#8217;t much help out there for it yet. In the end, the solution is for CS3 but works beautifully for CS4 as well.</p>
<p>Basically you need to complete 2 simple steps.</p>
<p>1) Download and install the Windows Installer CleanUp Utility here:</p>
<p>http://support.microsoft.com/kb/290301</p>
<p>2) Download, unzip, and run the Adobe Windows CS3 Cleanup Script (which relies on the Windows program mentioned above to run) here:</p>
<p>http://www.adobe.com/support/contact/cs3clean.html</p>
<p>I only had to run level 1 of the cleanup script to make it work.</p>
<p>As I said before, even though the Cleanup Script says it&#8217;s for CS3, it did work for me in installing CS4 as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2009/01/23/adobe-cs4-installation-fail/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Scriptaculous Autocomplete Page Jump Using Arrow Keys</title>
		<link>http://www.gilluminate.com/2009/01/20/scriptaculous-autocomplete-page-jump-using-arrow-keys/</link>
		<comments>http://www.gilluminate.com/2009/01/20/scriptaculous-autocomplete-page-jump-using-arrow-keys/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 21:02:30 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Scriptaculous]]></category>

		<guid isPermaLink="false">http://blog.gilluminate.com/?p=5306</guid>
		<description><![CDATA[When you use overflow:auto in your css in conjunction with Scriptaculous&#8217; Autocomplete, there is a bug that makes the entire page jump around when you use the arrow keys on your keyboard to navigate up and down through the suggestion list. This bug normally appears only when the page itself is long enough to require [...]]]></description>
			<content:encoded><![CDATA[<p>When you use overflow:auto in your css in conjunction with Scriptaculous&#8217; Autocomplete, there is a bug that makes the entire page jump around when you use the arrow keys on your keyboard to navigate up and down through the suggestion list. This bug normally appears only when the page itself is long enough to require a scroll bar.</p>
<p>I managed to come up with a very clean working solution by hacking the controls.js file that comes with scriptaculous. The solutions requires replacing the <em>markPrevious</em> and <em>markNext</em> functions and adding a small line of code to the <em>updateChoices</em> function.</p>
<p>Currently, <em>markPrevious</em> and <em>markNext</em> are telling the page to jump around like that, and I&#8217;m not sure why! As far as I can tell (please let me know otherwise) this solution could be included in the scriptaculous without breaking a thing (hint, hint to the scriptaculous team).</p>
<p>To implement the solution, replace:</p>

<div class="wp_codebox"><table><tr id="p530622"><td class="code" id="p5306code22"><pre class="javascript" style="font-family:monospace;">markPrevious<span style="color: #339933;">:</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>
 <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span> <span style="color: #339933;">&gt;</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span><span style="color: #339933;">--;</span>
  <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">entryCount</span><span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>
   <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">getEntry</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">scrollIntoView</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
&nbsp;
markNext<span style="color: #339933;">:</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>
 <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span> <span style="color: #339933;">&lt;</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">entryCount</span><span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span><span style="color: #339933;">++;</span>
  <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span> <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">getEntry</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">scrollIntoView</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span></pre></td></tr></table></div>

<p>With:</p>

<div class="wp_codebox"><table><tr id="p530623"><td class="code" id="p5306code23"><pre class="javascript" style="font-family:monospace;">markPrevious<span style="color: #339933;">:</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>
 <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span> <span style="color: #339933;">&gt;</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span><span style="color: #339933;">--;</span><span style="color: #009900;">&#125;</span>
 <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">entryCount</span><span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">update</span>.<span style="color: #660066;">scrollTop</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">update</span>.<span style="color: #660066;">scrollHeight</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 selection <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">getEntry</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 selection_top <span style="color: #339933;">=</span> selection.<span style="color: #660066;">offsetTop</span><span style="color: #339933;">;</span>
 <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>selection_top <span style="color: #339933;">&lt;</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">update</span>.<span style="color: #660066;">scrollTop</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">update</span>.<span style="color: #660066;">scrollTop</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">update</span>.<span style="color: #660066;">scrollTop</span><span style="color: #339933;">-</span>selection.<span style="color: #660066;">offsetHeight</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
&nbsp;
markNext<span style="color: #339933;">:</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>
 <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span> <span style="color: #339933;">&lt;</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">entryCount</span><span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span><span style="color: #339933;">++;</span><span style="color: #009900;">&#125;</span>
 <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span> <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">update</span>.<span style="color: #660066;">scrollTop</span> <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 selection <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">getEntry</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 selection_bottom <span style="color: #339933;">=</span> selection.<span style="color: #660066;">offsetTop</span><span style="color: #339933;">+</span>selection.<span style="color: #660066;">offsetHeight</span><span style="color: #339933;">;</span>
 <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>selection_bottom <span style="color: #339933;">&gt;</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">update</span>.<span style="color: #660066;">scrollTop</span><span style="color: #339933;">+</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">update</span>.<span style="color: #660066;">offsetHeight</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">update</span>.<span style="color: #660066;">scrollTop</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">update</span>.<span style="color: #660066;">scrollTop</span><span style="color: #339933;">+</span>selection.<span style="color: #660066;">offsetHeight</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span></pre></td></tr></table></div>

<p>Now find the <em>updateChoices</em> function and just after the code this.stopIndicator(); add this.update.scrollTop = 0; so that it looks like this:</p>

<div class="wp_codebox"><table><tr id="p530624"><td class="code" id="p5306code24"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">stopIndicator</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">update</span>.<span style="color: #660066;">scrollTop</span> <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">index</span> <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>I&#8217;ve tested in FF 2.0.0.4, FF 3.0.5, Chrome 1.0.154.43, Safari 3.2.1, Opera 9.5.1, IE 7.0.5730.13 and IE 6.0.2600 without problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2009/01/20/scriptaculous-autocomplete-page-jump-using-arrow-keys/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
	</channel>
</rss>
