<?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 Math Is Easy</title>
	<atom:link href="http://themathiseasy.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://themathiseasy.com/blog</link>
	<description>I have $300 and a slide rule. I will walk on the moon. Easy.</description>
	<lastBuildDate>Sat, 27 Aug 2011 09:26:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Apple Push Notifications and Ad Hoc</title>
		<link>http://themathiseasy.com/blog/2011/03/apple-push-notifications-and-ad-hoc/</link>
		<comments>http://themathiseasy.com/blog/2011/03/apple-push-notifications-and-ad-hoc/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 05:23:48 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://themathiseasy.com/blog/?p=243</guid>
		<description><![CDATA[This will be very short. I learned something the hard way today. When you&#8217;re developing an iOS app, and you&#8217;re sending it out to testers as an Ad Hoc app, to use push notifications you have to use a Production certificate, not a Development certificate. If you don&#8217;t do this, you&#8217;re going to find yourself, [...]]]></description>
			<content:encoded><![CDATA[<p>This will be very short. I learned something the hard way today. When you&#8217;re developing an iOS app, and you&#8217;re sending it out to testers as an Ad Hoc app, to use push notifications you <em>have to</em> use a Production certificate, not a Development certificate. If you don&#8217;t do this, you&#8217;re going to find yourself, the developer, the only person able to receive push notifications to your device. Everyone else on the Ad Hoc team will be left wondering what you&#8217;re doing wrong.</p>
<p>I&#8217;d been using Boxed Ice&#8217;s <a href="http://blog.boxedice.com/2009/07/10/how-to-build-an-apple-push-notification-provider-server-tutorial/">excellent guide</a> on the subject, and they mention the developer identity instead of the production one. That guide is still tremendously useful, just make sure to go through the process of creating certs twice&#8211;once for Dev and once for Production!</p>
]]></content:encoded>
			<wfw:commentRss>http://themathiseasy.com/blog/2011/03/apple-push-notifications-and-ad-hoc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I gave a talk!</title>
		<link>http://themathiseasy.com/blog/2010/03/i-gave-a-talk/</link>
		<comments>http://themathiseasy.com/blog/2010/03/i-gave-a-talk/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 00:23:56 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Beyond Scifi]]></category>
		<category><![CDATA[communal computing]]></category>
		<category><![CDATA[NUI]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[sxsw]]></category>

		<guid isPermaLink="false">http://themathiseasy.com/blog/2010/03/i-gave-a-talk/</guid>
		<description><![CDATA[Wow. Someone trusted me with a microphone. Just gave a talk at SXSWi called Beyond Scifi, a look at high level natural user interaction concepts, then narrowed down to discuss communal computing. I gave the talk with Colombene Jenner, a fellow Schematic co-worker out in our LA office, and I think it went all right! [...]]]></description>
			<content:encoded><![CDATA[<p>Wow. Someone trusted me with a microphone. Just gave a talk at SXSWi called Beyond Scifi, a look at high level natural user interaction concepts, then narrowed down to discuss communal computing. I gave the talk with <a href="http://beneluxe.net/">Colombene Jenner</a>, a fellow Schematic co-worker out in our LA office, and I think it went all right!<br />
I&#8217;m going to work on getting the slides and supporting material posted, so keep an eye out for that.<br />
So glad it&#8217;s over! I had a great time at SXSW this week, and I&#8217;m not looking forward to taking that flight back into the real world tomorrow. But until then, it&#8217;s off to the next party!</p>
]]></content:encoded>
			<wfw:commentRss>http://themathiseasy.com/blog/2010/03/i-gave-a-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expelled: No Intelligence Present</title>
		<link>http://themathiseasy.com/blog/2009/08/expelled/</link>
		<comments>http://themathiseasy.com/blog/2009/08/expelled/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 10:33:17 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Film]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Science]]></category>

		<guid isPermaLink="false">http://themathiseasy.com/blog/?p=52</guid>
		<description><![CDATA[Wherein I copy and paste my Netflix review of the horrible "documentary" Expelled, because it is way, way, way too long for Netflix to accept.]]></description>
			<content:encoded><![CDATA[<p>Because I apparently hate myself, I just spent an hour finishing up watching Ben Stein&#8217;s contemptible excuse for a documentary, Expelled: No Intelligence Allowed. It is a pathetic film told by a vile, dishonest weasel, all about this fabricated &#8220;war&#8221; between the &#8220;science establishment&#8221; versus the open minded researchers that are innocently interested in intelligent design. He randomly hops the fence on whether or not ID is about god or not, which he is free to do, I suppose, because he&#8217;s fascinatingly incapable of really even <em>trying</em> to define what ID is.</p>
<p>But I digress. After I wasted a part of my life watching this slop, I spent about an hour crafted a review (review, rant, whatever) to post up on Netflix, only to discover upon hitting Send that Netflix has a 2,000 character limit. This is most certainly longer than that. So instead of contain my rage to those bright red pages, I&#8217;ll share with my general readership instead. All two of you.</p>
<p>One star is an undeserved compliment to this filthy excuse for a documentary. Ben Stein is a dishonest, plodding, parody of a man seeking any sort of truthful understanding. I say this not to attack Ben Stein personally and baselessly, but to inform any potential viewer of the habits and intent of the film as propped up by the man placing himself in front of the camera and telling the story.</p>
<p>Defying his ridiculous claim to remain logical when Darwinian scientists cannot, Stein frequently relies purely on an appeal to emotion. Hell gleefully make a very strong connection between Darwin and Hitler, never wasting an opportunity to display Nazi footage when he speaks of the atrocities of Darwin&#8217;s successors. He questions what the world would be like if PZ Myers world of without religion were to occur. His immediate response is to remind us that it was Darwin that led directly to Hitler, heavily implying that it is Darwin&#8217;s (and by natural extension, all of science&#8217;s) fault that six million jews were exterminated by one man. The intent is to force the ignorant viewer into believing that Hitler was the puppet of the real &#8220;one man&#8221; that started it all, Charles Darwin. Let us not forget that religion has led directly to countless atrocities throughout all human history, and shows no sign of slowing down. (This isn&#8217;t the same ridiculously dishonest speculation in which Stein engages. Read your history. Read your religion! It&#8217;s pretty bloody! Good luck finding any of that in this unbiased documentary.) Yes, humans are violent, territorial, xenophobic things. Guess what? So are apes! So are most other animals! Evolution at work, giving the world better and better killing machines that are better and better at surviving! Its an ugly truth, sure, but there&#8217;s hardly any doubting it if one is able to take a real, honest look at the world.</p>
<p>It&#8217;s hard to discuss Ben Steins vile attempt at an unbiased portrayal  of this one-sided, woe-is-the-creationist war between &#8220;Darwinians&#8221; and the open-minded in a calm and composed way because he so cheerfully ignores his own demand that we be logical and above the &#8220;establishment&#8217;s&#8221; bias. He appears utterly incapable of this, and he proves it time and time and time again. What he is capable of is making purely emotional claims, backed by his confidence that you will be frightened by what you see, because you are so stupid, so brainless that you will see all that Nazi imagery, see his forced tears, hear all about his &#8220;needing time to think,&#8221; hear all his holocaust tales, that you will forget the blatant logical inconsistencies of his argument (or never realize they&#8217;re there in the first place) and be convinced that science is some world-wide old boys network that will bar any sort of open minded inquiry. This also requires a willful ignorance of both the process and the history of science, a method of understanding nature that is steeped in self-doubt. That&#8217;s quite simply how science works, no matter what Stein&#8217;s monotone droning insists. It&#8217;s hard to discuss this logically because Stein so brazenly refuses to be logical. His arguments are rarely anything but emotional, so that is what he threatens to reduce me to. I&#8217;ll save that for another review, but take this from my ranting: If you are looking for a movie that takes an honest, balanced look at the idea of &#8220;intelligent design&#8221; and especially at Darwin&#8217;s theory of evolution (a theory that has itself continued to mature and evolve since it first hit the science scene), this is absolutely, one hundred percent, NOT your documentary. It&#8217;s offensive to even label it a documentary. This film is only good for the hopelessly religious, because it will certainly galvanize them in their institutional ignorance, and the logical-minded masochist (like myself apparently) who feels like watching something so shockingly evil that you&#8217;ll feel inspired to write your first-ever movie review.</p>
<p>Hopefully there aren&#8217;t many like the latter, because I feel filthy just adding one to the count of fools duped into watching this whole thing. Please, Ben Stein, stop doing what you&#8217;re doing. No more religious films dishonestly disguised as documentaries, and no more implying that a scientist is a closet Nazi. This film is an embarrassment.</p>
]]></content:encoded>
			<wfw:commentRss>http://themathiseasy.com/blog/2009/08/expelled/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>VideoDisplay Improvements</title>
		<link>http://themathiseasy.com/blog/2009/04/videodisplay-improvements/</link>
		<comments>http://themathiseasy.com/blog/2009/04/videodisplay-improvements/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 06:55:55 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://themathiseasy.com/blog/?p=36</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>2290</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3242</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3306</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>2290</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3242</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3306</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>2290</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3242</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3306</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
VideoDisplay has no doubt been the source of many headaches and much wasted time for any developer that has touched it. A lot has been written about it, and here&#8217;s my contribution, which is an evolutionary improvement over others&#8217; work. It&#8217;s a fix that adds video smoothing and a source propert setter that doesn&#8217;t break [...]]]></description>
			<content:encoded><![CDATA[<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>2290</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3242</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3306</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>2290</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3242</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3306</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>2290</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3242</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3306</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<p>VideoDisplay has no doubt been the source of many headaches and much wasted time for any developer that has touched it. A lot has been written about it, and here&#8217;s my contribution, which is an evolutionary improvement over others&#8217; work. It&#8217;s a fix that adds video smoothing and a source propert setter that doesn&#8217;t break the component and still allow you to set <tt>autoPlay</tt>. (This will all make sense in a minute.)</p>
<p><span id="more-36"></span>
<p>First I watched my friend Justin Stander (appallingly lacking a website to point to) do what I&#8217;ve known has been happening for a while by adding smoothing to VideoDisplay, which for some odd reason is absent from Adobe&#8217;s code. Then <a href="http://boostworthy.com/" title="Boostworthy">Ryan Taylor</a> goes and writes about his <a href="http://www.boostworthy.com/blog/?p=274" title="Flex VideoDisplay Tweaks">VideoDisplay tweaks</a>, adding in the ability to use a playlist without rendering VideoDisplay useless. This was a great improvement that would have saved me more time than I&#8217;d care to admit, had I paid attention to that post a month ago. Basically, the problem with Adobe&#8217;s class is that when you change the source, it calls a private method <tt>autoPlaying()</tt>, which immediately tries seeking the video. During this process, chaos ensues and the VideoDisplay instance gets stuck in an unresponsive state, metadata breaks, video controls rebel, and your girlfriend leaves you. Ryan&#8217;s code prevents all of that, but forces you to ditch the ability to turn <tt>autoPlay</tt> off. And here we are now, ready to add autoPlay back in.</p>
<p>Let&#8217;s take a look at the code.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title=""><div class="devcodeoverflow"><ol><li>package com.themathiseasy.ui.video</li><li><span class="br0">&#123;</span></li><li>	import flash.events.Event;</li><li>&nbsp;</li><li>	import mx.controls.VideoDisplay;</li><li>	import mx.core.mx_internal;</li><li>&nbsp;</li><li>	use namespace mx_internal;</li><li>&nbsp;</li><li>	/**</li><li>	 * Dispatched when the &amp;lt;code&amp;gt;smoothing&amp;lt;/code&amp;gt; property</li><li>	 * changes.</li><li>	 */	</li><li>	<span class="br0">&#91;</span>Event<span class="br0">&#40;</span>name=&quot;smoothingChanged&quot;,type=&quot;flash.events.Event&quot;<span class="br0">&#41;</span><span class="br0">&#93;</span></li><li>&nbsp;</li><li>	/**</li><li>	 * VideoDisplay mutation that fixes some of the original components flaws.</li><li>	 * @author danielwilliams</li><li>	 * </li><li>	 */	</li><li>	public class CustomVideoDisplay extends VideoDisplay</li><li>	<span class="br0">&#123;</span></li><li>		/**</li><li>		 * @private</li><li>		 * </li><li>		 * A workaround for the weird VideoDisplay bug, this replaces</li><li>		 * VideoDisplay's _autoPlay property.</li><li>		 */		</li><li>		private var _customAutoPlay:Boolean = true;</li><li>&nbsp;</li><li>		/**</li><li>		 * @private</li><li>		 * </li><li>		 * Internal storage for &amp;lt;code&gt;smoothing&amp;lt;/code&amp;gt; to be applied on the</li><li>		 * instance of &amp;lt;code&amp;gt;VideoPlayer&amp;lt;/code&amp;gt;. </li><li>		 */		</li><li>		private var _smoothing:Boolean;</li><li>&nbsp;</li><li>		/**</li><li>		 * @private</li><li>		 * </li><li>		 * Flag indicating that the &amp;lt;code&amp;gt;smoothing&amp;lt;/code&amp;gt; property has changed.</li><li>		 */</li><li>		private var smoothingChanged:Boolean;</li><li>&nbsp;</li><li>		/**</li><li>		 * Constructor </li><li>		 * </li><li>		 */		</li><li>		public function CustomVideoDisplay<span class="br0">&#40;</span><span class="br0">&#41;</span></li><li>		<span class="br0">&#123;</span></li><li>			super<span class="br0">&#40;</span><span class="br0">&#41;</span>;</li><li>&nbsp;</li><li>			// damn you, broken autoplay.</li><li>			super.autoPlay = false;</li><li>		<span class="br0">&#125;</span></li><li>&nbsp;</li><li>		<span class="br0">&#91;</span>Inspectable<span class="br0">&#93;</span></li><li>		<span class="br0">&#91;</span>Bindable<span class="br0">&#40;</span>&quot;smoothingChanged&quot;<span class="br0">&#41;</span><span class="br0">&#93;</span></li><li>		/**</li><li>		 * Allows you to choose between performance and the pretty.</li><li>		 * @return Boolean</li><li>		 * </li><li>		 */		</li><li>		public function get smoothing<span class="br0">&#40;</span><span class="br0">&#41;</span>:Boolean<span class="br0">&#123;</span> return _smoothing; <span class="br0">&#125;</span></li><li>		public function set smoothing<span class="br0">&#40;</span> value:Boolean <span class="br0">&#41;</span>:void</li><li>		<span class="br0">&#123;</span></li><li>			if<span class="br0">&#40;</span> _smoothing != value <span class="br0">&#41;</span></li><li>			<span class="br0">&#123;</span></li><li>				_smoothing = value ;</li><li>				smoothingChanged = true;</li><li>				invalidateProperties<span class="br0">&#40;</span><span class="br0">&#41;</span>;</li><li>				dispatchEvent<span class="br0">&#40;</span> new Event<span class="br0">&#40;</span>&quot;smoothingChanged&quot;<span class="br0">&#41;</span> <span class="br0">&#41;</span>;</li><li>			<span class="br0">&#125;</span></li><li>		<span class="br0">&#125;</span></li><li>&nbsp;</li><li>		<span class="br0">&#91;</span>Bindable<span class="br0">&#93;</span></li><li>		/**</li><li>		 * @inheritDoc</li><li>		 * @return </li><li>		 * </li><li>		 */		</li><li>		override public function get source<span class="br0">&#40;</span><span class="br0">&#41;</span>:String</li><li>		<span class="br0">&#123;</span></li><li>			return super.source;</li><li>		<span class="br0">&#125;</span></li><li>&nbsp;</li><li>		override public function set source<span class="br0">&#40;</span>value:String<span class="br0">&#41;</span>:void</li><li>		<span class="br0">&#123;</span></li><li>			super.source = value;</li><li>			if<span class="br0">&#40;</span> _customAutoPlay <span class="br0">&#41;</span> play<span class="br0">&#40;</span><span class="br0">&#41;</span>;</li><li>		<span class="br0">&#125;</span></li><li>&nbsp;</li><li>		<span class="br0">&#91;</span>Inspectable<span class="br0">&#40;</span>category=&quot;General&quot;, defaultValue=&quot;true&quot;<span class="br0">&#41;</span><span class="br0">&#93;</span></li><li>		/**</li><li>		 * @inheritDoc</li><li>		 * </li><li>		 */		</li><li>		override public function get autoPlay<span class="br0">&#40;</span><span class="br0">&#41;</span>:Boolean</li><li>		<span class="br0">&#123;</span></li><li>			return _customAutoPlay;</li><li>		<span class="br0">&#125;</span></li><li>&nbsp;</li><li>		override public function set autoPlay<span class="br0">&#40;</span>value:Boolean<span class="br0">&#41;</span>:void</li><li>		<span class="br0">&#123;</span></li><li>			_customAutoPlay = value;</li><li>		<span class="br0">&#125;</span></li><li>&nbsp;</li><li>		/**</li><li>		 * @inheritDoc </li><li>		 * </li><li>		 */		</li><li>		override protected function commitProperties<span class="br0">&#40;</span><span class="br0">&#41;</span>:void</li><li>		<span class="br0">&#123;</span></li><li>			super.commitProperties<span class="br0">&#40;</span><span class="br0">&#41;</span>;</li><li>&nbsp;</li><li>			if<span class="br0">&#40;</span> smoothingChanged <span class="br0">&#41;</span></li><li>			<span class="br0">&#123;</span></li><li>				if<span class="br0">&#40;</span> mx_internal::videoPlayer != null <span class="br0">&#41;</span></li><li>				<span class="br0">&#123;</span></li><li>					smoothingChanged = false ;</li><li>					mx_internal::videoPlayer.smoothing = _smoothing ;</li><li>				<span class="br0">&#125;</span></li><li>			<span class="br0">&#125;</span></li><li>		<span class="br0">&#125;</span></li><li>	<span class="br0">&#125;</span></li><li>&nbsp;</li><li><span class="br0">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Most of this is lifted almost directly from Ryan&#8217;s custom video class, so let&#8217;s take a look at the one real addition:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title=""><div class="devcodeoverflow"><ol><li>/**</li><li> * @private</li><li> * </li><li> * A workaround for the weird VideoDisplay bug, this replaces</li><li> * VideoDisplay's _autoPlay property.</li><li> */		</li><li>private var _customAutoPlay:Boolean = false;</li><li>&nbsp;</li><li><span class="br0">&#91;</span>Inspectable<span class="br0">&#40;</span>category=&quot;General&quot;, defaultValue=&quot;true&quot;<span class="br0">&#41;</span><span class="br0">&#93;</span></li><li>/**</li><li> * @inheritDoc</li><li> * </li><li> */		</li><li>override public function get autoPlay<span class="br0">&#40;</span><span class="br0">&#41;</span>:Boolean</li><li><span class="br0">&#123;</span></li><li>	return _customAutoPlay;</li><li><span class="br0">&#125;</span></li><li>&nbsp;</li><li>override public function set autoPlay<span class="br0">&#40;</span>value:Boolean<span class="br0">&#41;</span>:void</li><li><span class="br0">&#123;</span></li><li>	_customAutoPlay = value;</li><li><span class="br0">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>In VideoDisplay, <tt>autoPlay</tt> is the essentially the culprit in the playlisting bug, so here I handle <tt>autoPlay</tt> on my own by leaving <tt>_autoPlay</tt> alone once I set that value (via <tt>super.autoplay = false</tt> in my constructor) so that <tt>super.source</tt> doesn&#8217;t bother calling <tt>autoPlaying()</tt>. The last thing to do is make use of our <tt>autoPlay</tt> in source&#8217;s method like so:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title=""><div class="devcodeoverflow"><ol><li>override public function set source<span class="br0">&#40;</span>value:String<span class="br0">&#41;</span>:void</li><li><span class="br0">&#123;</span></li><li>	super.source = value;</li><li>	if<span class="br0">&#40;</span> _customAutoPlay <span class="br0">&#41;</span> play<span class="br0">&#40;</span><span class="br0">&#41;</span>;</li><li><span class="br0">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>And that&#8217;s it. Now, on top of smoothing and correcting VideoDisplay&#8217;s faulty source/autoPlay logic, we now have a video component that can run through a playlist and look good doing it. And your girlfriend will take you back, too.<sup title="If she left you due to race conditions, do you even Want her back?">*</sup></p>
]]></content:encoded>
			<wfw:commentRss>http://themathiseasy.com/blog/2009/04/videodisplay-improvements/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Note on VideoDisplay in Flex</title>
		<link>http://themathiseasy.com/blog/2009/03/a-note-on-videodisplay-in-flex/</link>
		<comments>http://themathiseasy.com/blog/2009/03/a-note-on-videodisplay-in-flex/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 23:04:09 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://themathiseasy.com/blog/?p=20</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>2290</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3242</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3306</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>2290</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3242</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3306</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
I just wasted an hour trying to track down the cause of a VideoDisplay-related bug, and I&#8217;m posting the very simple solution here to hopefully save one or two people (including future Daniel) some headaches. I&#8217;m throwing together a very quick performance demo in which I&#8217;m throwing many videos on a very, very large display, [...]]]></description>
			<content:encoded><![CDATA[<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>2290</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3242</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3306</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>2290</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3242</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3306</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<p>I just wasted an hour trying to track down the cause of a VideoDisplay-related bug, and I&#8217;m posting the very simple solution here to hopefully save one or two people (including future Daniel) some headaches.</p>
<p><span id="more-20"></span></p>
<p>I&#8217;m throwing together a very quick performance demo in which I&#8217;m throwing many videos on a very, very large display, programmatically, and delivering as an AIR app. The problem that I&#8217;m experiencing is this:</p>
<p><tt>"Error: 1000: Unable to make connection to server or to find FLV on server."</tt></p>
<p>No matter what I did, no matter what file type I used (H.264 or anything older), this was happening. The problem, quite simply, is the order of commands.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title=""><div class="devcodeoverflow"><ol><li>currentVideo.source = videoSource;</li><li>currentVideo.play<span class="br0">&#40;</span><span class="br0">&#41;</span>;</li><li>videoContainer.addChild<span class="br0">&#40;</span> currentVideo <span class="br0">&#41;</span>;</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>That breaks Flash. This does not:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title=""><div class="devcodeoverflow"><ol><li>videoContainer.addChild<span class="br0">&#40;</span> currentVideo <span class="br0">&#41;</span>;</li><li>currentVideo.source = videoSource;</li><li>currentVideo.play<span class="br0">&#40;</span><span class="br0">&#41;</span>;</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>So there you have it. When you&#8217;re dealing with VideoDisplay programmatically, make sure the VideoDisplay instance is part of your displaylist before giving it a source and playing it!</p>
]]></content:encoded>
			<wfw:commentRss>http://themathiseasy.com/blog/2009/03/a-note-on-videodisplay-in-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customizing FLVPlayback</title>
		<link>http://themathiseasy.com/blog/2009/03/customizing-flvplayback/</link>
		<comments>http://themathiseasy.com/blog/2009/03/customizing-flvplayback/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 16:40:29 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[FLVPlayback]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://themathiseasy.com/blog/?p=18</guid>
		<description><![CDATA[Here&#8217;s a quick tutorial showing you how to beef up FLVPlayback&#8217;s SeekBar, adding in a play progress bar and a full-bar hit area to make scrubbing quite a lot easier than finding that little tiny arrow Adobe seems to think is enough. A long time ago, I had another blog under the monicker Daniel Does [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick tutorial showing you how to beef up FLVPlayback&#8217;s SeekBar, adding in a play progress bar and a full-bar hit area to make scrubbing quite a lot easier than finding that little tiny arrow Adobe seems to think is enough.</p>
<p><span id="more-18"></span></p>
<p>A long time ago, I had another blog under the monicker Daniel Does Dallas. Like this blog, I didn&#8217;t do much with it and eventually a fiasco with 1&amp;1 caused me to lose the domain altogether. Because 1&amp;1 is a terrible, terrible company. But I digress. The only post that generated any interest was this one, so I&#8217;m reposting it here.</p>
<p>My job lately has been a whole lot of dealing with FLVPlayback, reskinning it, adding functionality, etc. It has been something very short of a nightmare, not counting those two nights where there really <em>were</em> nightmares.</p>
<p>I could easily spend ages writing about the things I&#8217;ve learned, but for now I&#8217;m going to restrict myself to just one component: the SeekBar. In Flash CS3, open the components dialog and drag a SeekBar component onto the stage. If you also drag an FLVPlayback component on the stage and give it a source and set its &#8220;skin&#8221; parameter to &#8220;none,&#8221; you should have a working SeekBar complete with a load progress bar (which happens too fast if you&#8217;re testing locally) and a little moving handle icon that lets you scrub through the video by dragging it.</p>
<p>Well, it&#8217;s not quite complete then, is it? What video player doesn&#8217;t have a play progress bar? And when scrubbing, why not allow a user to press anywhere on the entire bar as opposed to just that tiny little handle icon? It&#8217;s insane, I tell you! My only guess is that, while these things are extremely common these days, the AS3 FLVPlayback component is little more than a straightforward port from the old old AS2 version. You know, the old days when Flash players were more rugged and it was a wild and uncharted land.</p>
<p>Anyway, let&#8217;s add these features in.</p>
<p>First, we&#8217;ll add the play progress bar. Double click the SeekBar instance on the stage. You&#8217;re going to see four layers: <tt>script</tt>, <tt>assets</tt>, <tt>progress</tt>, and <tt>outline</tt>. Create a layer in between <tt>assets</tt> and <tt>progress</tt> and call it something like <tt>play progress</tt>. In here, create a movieclip symbol similar to the progress bar, but maybe a different color. The documentation is kind of vague here, but there&#8217;s something called Fullness for FLVPlayback controls. It&#8217;s intended to be used for the Volume control, and what it does is sort of has a bar follow the location of the control&#8217;s handle. So for volume Fullness is filled to the player&#8217;s volume. Simple enough, right? Well it can do the same sort of thing inside SeekBar, too, and since the handle&#8217;s job here is to indicate current play progress, Fullness becomes a play progress bar. To hook your new movieclip instance into FLVPlayback, just give your new symbol the instance name &#8220;fullness_mc&#8221; and that&#8217;s it! The one thing you&#8217;ll want to be careful of here when implementing this solution is that no matter what, you <em>need</em> that SeekBarHandle instance in frame 2 of the <tt>assets</tt> layer. Fullness depends on that being there, and without it everything breaks.</p>
<p>Next is the full-bar hit area. This is also something that isn&#8217;t very well documented, but also really easy to implement. Above your new <tt>play progress</tt> layer, create a new layer called <tt>hit area</tt>. Place a new movieclip instance that covers the entire area of the SeekBar component and give it the instance name &#8220;hit_mc&#8221;. Easy as that.</p>
<p>So there you have it, a super-simple solution to expanding the stock SeekBar component&#8217;s capabilities. Things will inevitably get trickier when you start connecting Flash&#8217;s video components to custom classes, but with these tricks in mind, things&#8217;ll probably go a lot smoother. I have no idea why all this information wasn&#8217;t laid out clearly somewhere before (and maybe it is and I was just never able to find it), but there you have it. Go knock yourself out.</p>
<p>I&#8217;ve uploaded a couple example files. One <a href="http://themathiseasy.com/exp/FLVPlayback/CustomSeekBar.zip">with an included FLV</a> (990kb) for testing, and one <a href="http://themathiseasy.com/exp/FLVPlayback/CustomSeekBarNoFLV.zip">without</a> (328kb).</p>
]]></content:encoded>
			<wfw:commentRss>http://themathiseasy.com/blog/2009/03/customizing-flvplayback/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>JVM and Flex Don&#8217;t Play Nice</title>
		<link>http://themathiseasy.com/blog/2008/08/jvm-and-flex-dont-play-nice/</link>
		<comments>http://themathiseasy.com/blog/2008/08/jvm-and-flex-dont-play-nice/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 22:16:33 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://themathiseasy.com/blog/?p=17</guid>
		<description><![CDATA[I ran across an interesting problem today. I tried to create a new workspace with the intent of cleaning up my Flex environment. It&#8217;s getting pretty cluttered between client work and personal projects and random experiments. So I hit Switch Workspace / Other and type in the name of a location that doesn&#8217;t exist yet, [...]]]></description>
			<content:encoded><![CDATA[<p>I ran across an interesting problem today. I tried to create a new workspace with the intent of cleaning up my Flex environment. It&#8217;s getting pretty cluttered between client work and personal projects and random experiments. So I hit Switch Workspace / Other and type in the name of a location that doesn&#8217;t exist yet, assuming it would go ahead and create that Experiments folder for me. Which it did, right as Flex went down in flames.</p>
<p>Every time I try opening Flex Builder up again, I was immediately met with a daunting <a href="http://flickr.com/photos/danielwilliams/2787489684/sizes/o/" title="JVM TERMINATED! FLEX FAIL">error</a>. JVM Terminated! All from switching my workspace? Obviously this isn&#8217;t normal behavior. A week ago, I was required to change my machine&#8217;s version of Java SDK to work with a simulator required for my current project. The computer was using what seemed to be a special version of 1.5, and the simulator app required 1.6. In OS X, there is a sym link at <tt>/System/Library/Frameworks/JavaVM.framework/Versions</tt> called <tt>Current</tt>. Originally, that was pointing at something called <tt>A</tt>, and I don&#8217;t know what that means, because in the same directory there&#8217;s also the 1.5 sdk, and they look pretty much the same. That was switched to 1.6.0 and the simulator worked. I switched (and when I say &#8220;I&#8221; here, I mean our resident Java guy) that sym link from 1.6 back to 1.5, still getting the error. Then I switched it back to A, and all is well.</p>
<p>So! Lesson learned. Flex Builder will give me problems if I mess with Java. Seems like kind of a bad thing, though, if ever I want to do any Java programming, right?</p>
]]></content:encoded>
			<wfw:commentRss>http://themathiseasy.com/blog/2008/08/jvm-and-flex-dont-play-nice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing With Perspective.</title>
		<link>http://themathiseasy.com/blog/2008/08/playing-with-perspective/</link>
		<comments>http://themathiseasy.com/blog/2008/08/playing-with-perspective/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 06:38:09 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Geekery]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[perspective]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[seizures]]></category>
		<category><![CDATA[stereoscopy]]></category>
		<category><![CDATA[wiggle]]></category>

		<guid isPermaLink="false">http://themathiseasy.com/blog/?p=16</guid>
		<description><![CDATA[Browsing through some old photos, I noticed that there was a pair taken centimeters apart from one another, and flipping through them rapidly created that pseudo-3d effect (turns out that&#8217;s called wiggle stereoscopy). Which got me thinking about perspective, which got me thinking about stereoscopy, which got me to open Photoshop and start putzing around. [...]]]></description>
			<content:encoded><![CDATA[<p>Browsing through some old photos, I noticed that there was a pair taken centimeters apart from one another, and flipping through them rapidly created that pseudo-3d effect (turns out that&#8217;s called wiggle stereoscopy). Which got me thinking about perspective, which got me thinking about <a title="Stereoscopy at Wikipedia" href="http://en.wikipedia.org/wiki/Stereoscopy">stereoscopy</a>, which got me to open Photoshop and start putzing around.</p>
<p>So here&#8217;s my first perspective test:</p>
<p><img src="http://www.themathiseasy.com/assets/img/PerspectiveTest01.jpg" alt="My first perspective test." width="400" height="300" /></p>
<p>The cluster of two circles at the top is pretty straightforward. The two more subtle and uncertain things I spent more time playing with were the background and the sphere at the bottom. The background cloud has a bit of distortion that Should make the bottom clouds seem closer, but I&#8217;m not really sure if that&#8217;s happening. And for the sphere, I&#8217;m trying to play with lighting to make it seem like you&#8217;re looking at the same object from the perspective of each individual eyeball. Because the lighting is on the left side of the ball, your right eye should be seeing a little less of it. Playing with this has been weird, as the further I take the light from the same spot, the more confused the image gets. I&#8217;m not sure what I&#8217;m doing wrong yet.</p>
<p>Ok, so I got all into the wiggle stereoscopy idea after typing all this up, so I decided to go ahead and learn a little more about Photoshop. Yes, folks, I have clearly caught up with the rest of the internet. I&#8217;m coding like it&#8217;s 1997, and here I present you with my first ever animated .gif. Enjoy.</p>
<p><img src="http://www.themathiseasy.com/assets/img/wiggle01.gif" alt="My desk! In wigglevision!" width="360" height="270" /></p>
]]></content:encoded>
			<wfw:commentRss>http://themathiseasy.com/blog/2008/08/playing-with-perspective/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hallelujah</title>
		<link>http://themathiseasy.com/blog/2008/07/hallelujah/</link>
		<comments>http://themathiseasy.com/blog/2008/07/hallelujah/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 05:01:01 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://themathiseasy.com/blog/2008/07/23/hallelujah/</guid>
		<description><![CDATA[Painfully good song. And that is my emo moment for the month.]]></description>
			<content:encoded><![CDATA[<p>Painfully good song.</p>
<p>And that is my emo moment for the month.  </p>
]]></content:encoded>
			<wfw:commentRss>http://themathiseasy.com/blog/2008/07/hallelujah/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resizing ViewStack</title>
		<link>http://themathiseasy.com/blog/2008/06/resizing-viewstack/</link>
		<comments>http://themathiseasy.com/blog/2008/06/resizing-viewstack/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 15:58:46 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[ViewStack]]></category>

		<guid isPermaLink="false">http://themathiseasy.com/blog/?p=13</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>2290</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3242</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3306</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
This is simply a really quick note, and a reminder that whenever you&#8217;re starting to jump through hoops with code in Flex to accomplish something that should already be there, it probably is. Check the documentation. So ViewStack lets you switch between different containers visually. By default, the ViewStack takes on the height of the [...]]]></description>
			<content:encoded><![CDATA[<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3643</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3651</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3654</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>1925</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>2290</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3242</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3265</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3306</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3357</b><br />
<br />
<b>Warning</b>:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/nfs/c01/h13/mnt/12290/domains/themathiseasy.com/html/blog/wp-content/plugins/devformatter/geshi/geshi.php</b> on line <b>3502</b><br />
<p>This is simply a really quick note, and a reminder that whenever you&#8217;re starting to jump through hoops with code in Flex to accomplish something that <em>should</em> already be there, it probably is. Check the documentation.</p>
<p>So ViewStack lets you switch between different containers visually. By default, the ViewStack takes on the height of the first container within it and does not adjust height when it changes what it&#8217;s showing. Why this is the default behavior, I have no idea. But there&#8217;s a property that address this.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title=""><div class="devcodeoverflow"><ol><li>resizeToContent = &quot;true&quot;</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Done. And duh.</p>
]]></content:encoded>
			<wfw:commentRss>http://themathiseasy.com/blog/2008/06/resizing-viewstack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

