<?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>The Original Jelani Harris</title>
	<atom:link href="http://jelaniharris.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jelaniharris.com</link>
	<description>The original website of Jelani Harris the original of course</description>
	<lastBuildDate>Fri, 16 Jul 2010 18:45:06 +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>Using Jquery to disable the enter key</title>
		<link>http://jelaniharris.com/2010/using-jquery-to-disable-the-enter-key/</link>
		<comments>http://jelaniharris.com/2010/using-jquery-to-disable-the-enter-key/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 18:45:06 +0000</pubDate>
		<dc:creator>Jelani Harris</dc:creator>
				<category><![CDATA[Code Gems]]></category>

		<guid isPermaLink="false">http://jelaniharris.com/?p=38</guid>
		<description><![CDATA[There are times that you do not want a form to automatically submit when a user hits the enter key. Or if you want to do some validation via javascript before you allow the submit to go through. //Bind this keypress function to all of the input tags $&#40;&#34;input&#34;&#41;.keypress&#40;function &#40;evt&#41; &#123; //Deterime where our character [...]]]></description>
			<content:encoded><![CDATA[<p>There are times that you do not want a form to automatically submit when a user hits the enter key. Or if you want to do some validation via javascript before you allow the submit to go through.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//Bind this keypress function to all of the input tags</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;input&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">keypress</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>evt<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #006600; font-style: italic;">//Deterime where our character code is coming from within the event</span>
<span style="color: #003366; font-weight: bold;">var</span> charCode <span style="color: #339933;">=</span> evt.<span style="color: #660066;">charCode</span> <span style="color: #339933;">||</span> evt.<span style="color: #660066;">keyCode</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>charCode  <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: #006600; font-style: italic;">//Enter key's keycode</span>
<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</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>By returning false in the keypress function it tells the browser not to allow the enter key event.</p>
]]></content:encoded>
			<wfw:commentRss>http://jelaniharris.com/2010/using-jquery-to-disable-the-enter-key/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Removing empty elements from an array</title>
		<link>http://jelaniharris.com/2010/removing-empty-elements-from-an-array/</link>
		<comments>http://jelaniharris.com/2010/removing-empty-elements-from-an-array/#comments</comments>
		<pubDate>Tue, 04 May 2010 22:10:08 +0000</pubDate>
		<dc:creator>Jelani Harris</dc:creator>
				<category><![CDATA[Code Gems]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Php]]></category>

		<guid isPermaLink="false">http://jelaniharris.com/?p=90</guid>
		<description><![CDATA[When dealing with tag inputs from users, I find myself having to make sure they they don&#8217;t enter in any blank or empty tags. Then I realized that I needed to find out how to remove undesirable elements not only from the Php side, but also from the Javascript side as well. Thus, here are [...]]]></description>
			<content:encoded><![CDATA[<p>When dealing with tag inputs from users, I find myself having to make sure they they don&#8217;t enter in any blank or empty tags. Then I realized that I needed to find out how to remove undesirable elements not only from the Php side, but also from the Javascript side as well. Thus, here are some functions that may help some other people out if they&#8217;re searching for similar functionality.</p>
<p><strong>In PHP</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$my_array</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #666666; font-style: italic;">//We check to make sure that the value is either null or just an empty string</span>
      <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_null</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$value</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$my_array</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

<p>An easier way to clean arrays is to use php&#8217;s <a href="http://us.php.net/manual/en/function.array-filter.php">array_filter</a> function without a callback parameter. By default that function is set to remove elements that contain a false (or a 0), null or a &#8220;&#8221;. I mean <em>seriously</em>, look at how much cleaner it is:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">   <span style="color: #666666; font-style: italic;">//This prunes out 'false', '0', 'null' or ''</span>
   <span style="color: #000088;">$my_array</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_filter</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$my_array</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>In JavaScript</strong></p>
<p>We can mimic the functionality of Php&#8217;s array_filter in Javascript by using the Array.filter function.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">   <span style="color: #003366; font-weight: bold;">var</span> my_array <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #339933;">,</span><span style="color: #CC0000;">2</span><span style="color: #339933;">,</span><span style="color: #CC0000;">3</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'4'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">''</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'false'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
   <span style="color: #003366; font-weight: bold;">function</span> emptyElement<span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #006600; font-style: italic;">//Removes nulls, zeros (also falses), text version of false, and blank element</span>
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>element <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">null</span> <span style="color: #339933;">||</span> element <span style="color: #339933;">==</span> <span style="color: #CC0000;">0</span> <span style="color: #339933;">||</span> element.<span style="color: #660066;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toLowerCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'false'</span> <span style="color: #339933;">||</span> element <span style="color: #339933;">==</span> <span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #003366; font-weight: bold;">var</span> my_array <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'false'</span><span style="color: #339933;">,</span><span style="color: #CC0000;">1</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">2</span><span style="color: #339933;">,</span><span style="color: #3366CC;">''</span><span style="color: #339933;">,</span><span style="color: #CC0000;">3</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'4'</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	my_array <span style="color: #339933;">=</span> my_array.<span style="color: #660066;">filter</span><span style="color: #009900;">&#40;</span>emptyElement<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span></pre></div></div>

<p>Then my_array will include 1,2,3,4.</p>
<p>I hope this was somewhat useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://jelaniharris.com/2010/removing-empty-elements-from-an-array/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Increasing performance of Adobe CS3 Flash in Vista</title>
		<link>http://jelaniharris.com/2009/increasing-performance-of-adobe-cs3-flash-in-vista/</link>
		<comments>http://jelaniharris.com/2009/increasing-performance-of-adobe-cs3-flash-in-vista/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 22:47:30 +0000</pubDate>
		<dc:creator>Jelani Harris</dc:creator>
				<category><![CDATA[Code Gems]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[cs3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[vista]]></category>

		<guid isPermaLink="false">http://jelaniharris.com/?p=42</guid>
		<description><![CDATA[When I first started to use Flash CS3 in Vista I noticed that all of my flash movies were performing very very slowly. Honestly .. I&#8217;m not sure why. But, here&#8217;s how you can make it perform better. Navigate to your Program Files -&#62; Adobe folder(s) -&#62; Adobe Flash CS3 and find the Flash.exe. Right [...]]]></description>
			<content:encoded><![CDATA[<p>When I first started to use Flash CS3 in Vista I noticed that all of my flash movies were performing very very slowly.</p>
<p>Honestly .. I&#8217;m not sure why. But, here&#8217;s how you can make it perform better.</p>
<div id="attachment_77" class="wp-caption aligncenter" style="width: 550px"><img class="size-full wp-image-77" title="speeding-up-flash-for-vista" src="http://jelaniharris.com/blog/wp-content/uploads/2009/09/speeding-up-flash-for-vista.jpg" alt="Here's how to speed up flash CS3 for vista" width="540" height="399" /><p class="wp-caption-text">Here&#39;s how to speed up flash CS3 for vista</p></div>
<ol>
<li>Navigate to your Program Files -&gt; Adobe  folder(s) -&gt; Adobe Flash CS3 and find the Flash.exe.</li>
<li>Right click on that file and goto the Compatibility tab.</li>
<li>Check &#8220;run this program in compatibility mode&#8221;, and voila, suddenly it&#8217;s running as fast as it did on XP. Happy coding!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://jelaniharris.com/2009/increasing-performance-of-adobe-cs3-flash-in-vista/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Case-insensitive replaceAll in Java</title>
		<link>http://jelaniharris.com/2009/case-insensitive-replaceall-in-java/</link>
		<comments>http://jelaniharris.com/2009/case-insensitive-replaceall-in-java/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 17:54:11 +0000</pubDate>
		<dc:creator>Jelani Harris</dc:creator>
				<category><![CDATA[Code Gems]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[regex]]></category>

		<guid isPermaLink="false">http://jelaniharris.com/?p=67</guid>
		<description><![CDATA[The replaceAll function in the java.lang.String class replaces each substring found in that matches the regular expression to replace. String sentence = &#34;The sly brown fox jumped over the lazy fox.&#34;; String result = sentence.replaceAll&#40;&#34;fox&#34;, &#34;doggie&#34;&#41;; System.out.println&#40;&#34;Input: &#34; + sentence&#41;; System.out.println&#40;&#34;Output: &#34; + result&#41;; Would output: Input: The sly brown fox jumped over the lazy [...]]]></description>
			<content:encoded><![CDATA[<p>The replaceAll function in the java.lang.String class replaces each substring found in that matches the regular expression to replace.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">String</span> sentence <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;The sly brown fox jumped over the lazy fox.&quot;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">String</span> result <span style="color: #339933;">=</span> sentence.<span style="color: #006633;">replaceAll</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;fox&quot;</span>, <span style="color: #0000ff;">&quot;doggie&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Input: &quot;</span> <span style="color: #339933;">+</span> sentence<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Output: &quot;</span> <span style="color: #339933;">+</span> result<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Would output:</p>
<p><code>Input: The sly brown fox jumped over the lazy fox.<br />
Output: The sly brown doggie jumped over the lazy doggie.</code></p>
<p>However there are cases where we want to replaceall substrings and ignore the case, or make it case insensitive.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">String</span> sentence <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;The sly brown Fox jumped over the lazy foX.&quot;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">String</span> result <span style="color: #339933;">=</span> sentence.<span style="color: #006633;">replaceAll</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;fox&quot;</span>, <span style="color: #0000ff;">&quot;dog&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Input: &quot;</span> <span style="color: #339933;">+</span> sentence<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Output: &quot;</span> <span style="color: #339933;">+</span> result<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><code>Input: The sly brown Fox jumped over the lazy foX.<br />
Output: The sly brown Fox jumped over the lazy foX.</code></p>
<p>To create the case sensitive version of replaceAll we do not need to create a new wrapper function or create a utility class somewhere. All we need to do is prepend the Case-insensitve pattern modifier (?i) before our regex to indicate that we don&#8217;t care about the case sensitivity of the regex.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">String</span> sentence <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;The sly brown Fox jumped over the lazy foX.&quot;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">String</span> result <span style="color: #339933;">=</span> sentence.<span style="color: #006633;">replaceAll</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;(?i)fox&quot;</span>, <span style="color: #0000ff;">&quot;dog&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Input: &quot;</span> <span style="color: #339933;">+</span> sentence<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Output: &quot;</span> <span style="color: #339933;">+</span> result<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><code>Input: The sly brown Fox jumped over the lazy foX.<br />
Output: The sly brown dog jumped over the lazy dog.</code></p>
]]></content:encoded>
			<wfw:commentRss>http://jelaniharris.com/2009/case-insensitive-replaceall-in-java/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>No more updates to Google Notebook</title>
		<link>http://jelaniharris.com/2009/no-more-updates-to-google-notebook/</link>
		<comments>http://jelaniharris.com/2009/no-more-updates-to-google-notebook/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 19:17:37 +0000</pubDate>
		<dc:creator>Jelani Harris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jelaniharris.com/?p=34</guid>
		<description><![CDATA[One of the only Google app (apart from Gmail) that I use the most Google Notebook will have no more updates. Before I signed up to Google I used to keep all of the websites that I thought were useful in my bookmarks and that became really messy really quickly. Also with the useful firefox [...]]]></description>
			<content:encoded><![CDATA[<p>One of the only Google app (apart from Gmail) that I use the most <a title="Google Notebook stops updates" href="http://www.informationweek.com/news/internet/google/showArticle.jhtml?articleID=212900775">Google Notebook will have no more updates</a>. Before I signed up to Google I used to keep all of the websites that I thought were useful in my bookmarks and that became really messy really quickly. Also with the useful firefox extension I can now just right click and add to notebook if I ever run across a website that I want to return to later.</p>
<p>Google notebook isn&#8217;t perfect. I just wish they would continue making it a better product. But now that I think about it, Google is an company that makes most of it&#8217;s revenue selling advertisements online (that I hardly see due to <a title="Adblock - the only way to use the internet" href="https://addons.mozilla.org/en-US/firefox/addon/1865">AdBlock</a>) and I don&#8217;t see how they could&#8217;ve made their Notebook app a profitable endeavor. I know that I wouldn&#8217;t pay for a &#8220;pro&#8221; version, and that their ads  would be <a href="https://addons.mozilla.org/firefox/addon/748">GreaseMonkey</a>&#8216;d out or plain ignored &#8211; all I want is a list of bookmarks not solicitations!</p>
<p>Now I&#8217;m going to search online for other alternatives to replace and to transfer all of my bookmarks to. I&#8217;m looking at delicious right now &#8211; I just don&#8217;t like sharing my bookmarks with the world too much. But maybe I&#8217;ll let it go once I get my lifestream properly set up on here.</p>
]]></content:encoded>
			<wfw:commentRss>http://jelaniharris.com/2009/no-more-updates-to-google-notebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.7 is slick</title>
		<link>http://jelaniharris.com/2009/wordpress-27-is-slick/</link>
		<comments>http://jelaniharris.com/2009/wordpress-27-is-slick/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 04:21:32 +0000</pubDate>
		<dc:creator>Jelani Harris</dc:creator>
				<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jelaniharris.com/?p=28</guid>
		<description><![CDATA[I just have to say that the newest version of WordPress is really, really slick.  My favorite part is that now WordPress can upgrade itself and I don&#8217;t have to rely on a plugin to automatically upgrade my wordpress pages for me. At first it really disturbed me at how fast wordpress would push out [...]]]></description>
			<content:encoded><![CDATA[<p>I just have to say that the newest version of WordPress is really, really slick.  My favorite part is that now WordPress can upgrade itself and I don&#8217;t have to rely on a plugin to automatically upgrade my wordpress pages for me.</p>
<p>At first it really disturbed me at how fast wordpress would push out updates, but now I really don&#8217;t need to worry about it anymore. WordPress has now become it&#8217;s own little platform. It&#8217;s almost like SaaS (Software as a Service), but it&#8217;s running locally on your server.</p>
<p>Now I just need to make some plugins.</p>
]]></content:encoded>
			<wfw:commentRss>http://jelaniharris.com/2009/wordpress-27-is-slick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using overflow:auto for a tbody tag in IE 6.0</title>
		<link>http://jelaniharris.com/2008/using-overflowauto-for-a-tbody-tag-in-ie-60/</link>
		<comments>http://jelaniharris.com/2008/using-overflowauto-for-a-tbody-tag-in-ie-60/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 16:44:53 +0000</pubDate>
		<dc:creator>Jelani Harris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Internet Explorer]]></category>

		<guid isPermaLink="false">http://jelaniharris.com/?p=24</guid>
		<description><![CDATA[Guess what? It&#8217;s not possible! in Opera 7.20, IE 5.5 or IE 6.0. Instead what happens is that it&#8217;s treated like a regular table without the scrollbars. Also, the styling specified for the tbody is applied to every tr row. How lame. Another reason why we all should just stop supporting IE 6.0.]]></description>
			<content:encoded><![CDATA[<p>Guess what? <strong>It&#8217;s not possible!</strong> in Opera 7.20, IE 5.5 or IE 6.0. Instead what happens is that it&#8217;s treated like a regular table without the scrollbars. Also, the styling specified for the tbody is applied to every tr row. How lame.</p>
<p>Another reason why we all should just stop supporting IE 6.0.</p>
]]></content:encoded>
			<wfw:commentRss>http://jelaniharris.com/2008/using-overflowauto-for-a-tbody-tag-in-ie-60/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remove Anchors from a Url in Javascript</title>
		<link>http://jelaniharris.com/2008/remove-anchors-from-a-url-in-javascript/</link>
		<comments>http://jelaniharris.com/2008/remove-anchors-from-a-url-in-javascript/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 06:25:31 +0000</pubDate>
		<dc:creator>Jelani Harris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jelaniharris.com/?p=22</guid>
		<description><![CDATA[Here is something useful that I discovered in my programming for the Apparatus Complex. I needed to strip out the anchor portion of a link and leave the rest of the url intact. For example I wanted: http://www.jelaniharris.com/blog/I-love-apple-pies#comments To look like: http://www.jelaniharris.com/blog/I-love-apple-pies Here&#8217;s the ideal way to do this with Javascript: 1 2 3 4 [...]]]></description>
			<content:encoded><![CDATA[<p>Here is something useful that I discovered in my programming for the <a title="Apparatus Complex" href="http://apparatuscomplex.com">Apparatus Complex</a>. I needed to strip out the anchor portion of a link and leave the rest of the url intact. For example I wanted:</p>
<p>http://www.jelaniharris.com/blog/I-love-apple-pies#comments</p>
<p>To look like:</p>
<p>http://www.jelaniharris.com/blog/I-love-apple-pies</p>
<p>Here&#8217;s the ideal way to do this with Javascript:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">	<span style="color: #006600; font-style: italic;">//Grab our current Url</span>
	<span style="color: #003366; font-weight: bold;">var</span> url <span style="color: #339933;">=</span> window.<span style="color: #660066;">location</span>.<span style="color: #660066;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #006600; font-style: italic;">//Remove anchor from url</span>
	<span style="color: #003366; font-weight: bold;">var</span> anchor_index <span style="color: #339933;">=</span> url.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>anchor_index <span style="color: #339933;">!=</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    	url <span style="color: #339933;">=</span> url.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> anchor_index<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>It doesn&#8217;t get any easier than that. What this code does is that it grabs the URL from the current window, and then finds the index into the string where the &#8216;#&#8217; is. Then if it exists, it truncates the string up to the &#8216;#&#8217;.</p>
]]></content:encoded>
			<wfw:commentRss>http://jelaniharris.com/2008/remove-anchors-from-a-url-in-javascript/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>JQuery is the best javascript library out there</title>
		<link>http://jelaniharris.com/2008/jquery-is-the-best-javascript-library-out-there/</link>
		<comments>http://jelaniharris.com/2008/jquery-is-the-best-javascript-library-out-there/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 01:43:31 +0000</pubDate>
		<dc:creator>Jelani Harris</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[apparatus complex]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://jelaniharris.com/?p=17</guid>
		<description><![CDATA[I officially declare JQuery to be the best javascript library out there. So much documentation, so many plugins, so many interesting things you can DO with that library. I just lost 7-8 hours, implementing a prototype of a feature for my discussion site, Apparatus Complex. In particular it&#8217;s a meta-game that I&#8217;m developing so that [...]]]></description>
			<content:encoded><![CDATA[<p><strong>I officially declare</strong> JQuery to be the best javascript library out there. So much documentation, so many plugins, so many interesting things you can DO with that library. I just lost 7-8 hours, implementing a prototype of a feature for my discussion site, <a title="Apparatus Complex" href="http://www.apparatuscomplex.com">Apparatus Complex</a>. In particular it&#8217;s a meta-game that I&#8217;m developing so that users can compete with each other in a role-playing game  while they wait for the site to update itself with content from other people.</p>
<p><a href="http://jelaniharris.com/blog/wp-content/uploads/2008/07/grauz.jpg"><img class="alignnone size-medium wp-image-18" title="grauz" src="http://jelaniharris.com/blog/wp-content/uploads/2008/07/grauz-300x214.jpg" alt="" width="300" height="214" /></a></p>
<p>So I had a crazy idea of using jquery and ajax to let people drag and drop equipment into slots, and then dynamically update what that piece of equipment would do to their statistics. Doing this in flash is really easy, I first got the drag and drop implemented (so easy with the <a href="http://ui.jquery.com/">Jquery UI</a>), then I set the restrictions on which column each orb could belong in, and then I added the automatic update of the statistics just moments later. It was simply brilliant and it was pretty darn efficient. If you want to play around with this, it&#8217;s <a href="http://www.apparatuscomplex.com/grauz/">located right here</a>. The equipment orbs are generated randomly and so are the names.</p>
<p>By the way, <a href="http://www.mootools.net">MooTools </a>and <a href="http://www.prototypejs.org/">Prototype </a>and <a href="http://script.aculo.us/">Scriptalicious</a> are okay as well. I&#8217;m just <em>really </em>impressed with JQuery right now.</p>
]]></content:encoded>
			<wfw:commentRss>http://jelaniharris.com/2008/jquery-is-the-best-javascript-library-out-there/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adding a delay to JQuery Functions</title>
		<link>http://jelaniharris.com/2008/adding-a-delay-to-jquery-functions/</link>
		<comments>http://jelaniharris.com/2008/adding-a-delay-to-jquery-functions/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 01:19:48 +0000</pubDate>
		<dc:creator>Jelani Harris</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://jelaniharris.com/?p=14</guid>
		<description><![CDATA[Recently I was working on a few functions that I didn&#8217;t want to have activated immediately after hovered over a div. I neededthe functions to activate after a half a second of hovering by the user. To do this I created this this piece of code. 1 2 3 4 5 6 7 8 9 [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was working on a few functions that I didn&#8217;t want to have activated immediately after hovered over a div. I neededthe functions to activate after a half a second of hovering by the user. To do this I created this this piece of code.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> display_timeout <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.orb_space&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hover</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>
&nbsp;
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>display_timeout <span style="color: #339933;">!=</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				clearTimeout<span style="color: #009900;">&#40;</span>display_timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
                <span style="color: #006600; font-style: italic;">// save a reference to 'this' so we can use it in timeout function</span>
		<span style="color: #003366; font-weight: bold;">var</span> this_element <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span><span style="color: #339933;">;</span>
                display_timeout <span style="color: #339933;">=</span> setTimeout<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>
				display_timeout <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
				<span style="color: #006600; font-style: italic;">// perform things with this_element here buy referencing it like $(this_element)</span>
				<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>$<span style="color: #009900;">&#40;</span>this_element<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hasClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'magic'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					performRollinMagic<span style="color: #009900;">&#40;</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: #339933;">,</span> <span style="color: #CC0000;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span><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>display_timeout <span style="color: #339933;">!=</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				clearTimeout<span style="color: #009900;">&#40;</span>display_timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			performRolloutStuff<span style="color: #009900;">&#40;</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>

<p>Let&#8217;s go through line by line to see what&#8217;s happening here.</p>
<p><strong>Lines 2: </strong>The <a href="http://docs.jquery.com/Events/hover">JQuery hover</a> function has two parameters. The first parameter is for the function to call when the user hovers onto the element, and the second one is for when the user hovers out. Lines 4-16 consist of the first function and lines 19-24 consist of the second.</p>
<p><strong>Lines 4-6:</strong> So if we happen to flash our mouse over the element very fast twice, this will make sure that we only have one timeout function happening.</p>
<p><strong>Line 9:</strong> When we in the <a href="http://www.w3schools.com/js/js_timing.asp">setTimeout</a> function we need to remember a reference to our current element so that we don&#8217;t have to do some tricky DOM navigation to get the hover activated element with the setTimeout event. It&#8217;s just easier to just make a variable to remember the element.</p>
<p><strong>Lines 11-15:</strong> First we reset the display_timeout variable, and then we can perform our necessary hover actions in this setTimeout function. The 500 indicates that we want this function to occur after 500ms.</p>
<p><strong>Lines 20-23:</strong> This looks very familiar doesn&#8217;t it? It&#8217;s the same thing from lines 4-6. This is so that if the user rolls out of the hover element, the timer countdown will immediately stop and the hoverin functions will not occur.</p>
]]></content:encoded>
			<wfw:commentRss>http://jelaniharris.com/2008/adding-a-delay-to-jquery-functions/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
