<?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>Form As Function &#187; javascript</title>
	<atom:link href="http://blog.formasfunction.com/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.formasfunction.com</link>
	<description>Form As Function is home to Greg Leppert, a curious thinker and tinkerer in Austin TX.</description>
	<lastBuildDate>Thu, 22 Jul 2010 17:02:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>jQuery Masonry</title>
		<link>http://blog.formasfunction.com/2010/07/jquery-masonry/</link>
		<comments>http://blog.formasfunction.com/2010/07/jquery-masonry/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 15:28:29 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Ephemera]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://blog.formasfunction.com/?p=718</guid>
		<description><![CDATA[Currently using this plugin for a work in progress and I can&#8217;t help but think of the NP-hard &#8220;bin packing problem&#8221; every time I see it.]]></description>
			<content:encoded><![CDATA[<p>Currently using this plugin for a work in progress and I can&#8217;t help but think of the <a href="http://en.wikipedia.org/wiki/NP-hard">NP-hard</a> &#8220;<a href="http://en.wikipedia.org/wiki/Bin_packing_problem">bin packing problem</a>&#8221; every time I see it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.formasfunction.com/2010/07/jquery-masonry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smokescreen &#8211; another Javascript / SVG based Flash player</title>
		<link>http://blog.formasfunction.com/2010/06/smokescreen-another-javascript-svg-based-flash-player/</link>
		<comments>http://blog.formasfunction.com/2010/06/smokescreen-another-javascript-svg-based-flash-player/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 18:47:36 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Long Form]]></category>
		<category><![CDATA[The Internet]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://blog.formasfunction.com/?p=669</guid>
		<description><![CDATA[In the vein of, but seemingly much more advanced than, Gordon. The post on Slashdot seems to miss the point of Steve Jobs&#8217; &#8220;Thoughts on Flash&#8221;. Jobs encouraged Adobe to &#8220;focus more on creating great HTML5 tools for the future&#8221; which, given the right runtime and touch oriented toolset, could be Flash itself; I&#8217;d love [...]]]></description>
			<content:encoded><![CDATA[<p>In the vein of, but seemingly much more advanced than, <a href="http://github.com/tobeytailor/gordon/">Gordon</a>. <a href="http://apple.slashdot.org/story/10/06/01/1748200/Smokescreen-a-JavaScript-Based-Flash-Player?from=rss&amp;utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+Slashdot/slashdot+(Slashdot)">The post on Slashdot</a> seems to miss the point of Steve Jobs&#8217; <a href="http://www.apple.com/hotnews/thoughts-on-flash/">&#8220;Thoughts on Flash&#8221;</a>. Jobs encouraged Adobe to &#8220;focus more on creating great HTML5 tools for the future&#8221; which, given the right runtime and touch oriented toolset, could be Flash itself; I&#8217;d love to see Adobe create an official HTML5 / Javascript based Flash runtime. Apple doesn&#8217;t blindly hate anything named &#8220;Flash&#8221; but rather the current confines surrounding Flash today. Change those confines and you might actually see Apple promoting its use one day.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.formasfunction.com/2010/06/smokescreen-another-javascript-svg-based-flash-player/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Browser based audio experiments using a custom build of Firefox</title>
		<link>http://blog.formasfunction.com/2010/05/browser-based-audio-experiments-using-a-custom-build-of-firefox/</link>
		<comments>http://blog.formasfunction.com/2010/05/browser-based-audio-experiments-using-a-custom-build-of-firefox/#comments</comments>
		<pubDate>Thu, 27 May 2010 16:32:23 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Ephemera]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Processing.js]]></category>
		<category><![CDATA[PureData]]></category>

		<guid isPermaLink="false">http://blog.formasfunction.com/?p=652</guid>
		<description><![CDATA[The thought of a JS implementation of PureData is exciting; the other examples are equally worth a look. The W3C has started the Audio Incubator Working Group as a means to begin standardization.]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="600" height="713" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=12050606&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="600" height="713" src="http://vimeo.com/moogaloop.swf?clip_id=12050606&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The thought of a JS implementation of <a href="http://puredata.info/">PureData</a> is exciting; the other examples are equally worth a look. The W3C has started the <a href="http://www.w3.org/2005/Incubator/audio/">Audio Incubator Working Group</a> as a means to begin standardization.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.formasfunction.com/2010/05/browser-based-audio-experiments-using-a-custom-build-of-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSNES &#8211; a Nintendo NES emulator written in javascript, rendered with HTML canvas</title>
		<link>http://blog.formasfunction.com/2010/05/jsnes-a-nintendo-nes-emulator-written-in-javascript-rendered-with-html-canvas/</link>
		<comments>http://blog.formasfunction.com/2010/05/jsnes-a-nintendo-nes-emulator-written-in-javascript-rendered-with-html-canvas/#comments</comments>
		<pubDate>Tue, 18 May 2010 15:34:18 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Ephemera]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[vintage]]></category>

		<guid isPermaLink="false">http://blog.formasfunction.com/?p=575</guid>
		<description><![CDATA[As Github points out, it&#8217;s worth taking a look at the CPU emulation component.]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-579" title="contra" src="http://blog.formasfunction.com/wp-content/uploads/2010/05/contra.gif" alt="" width="240" height="224" /><img class="alignnone size-full wp-image-578" title="mario" src="http://blog.formasfunction.com/wp-content/uploads/2010/05/mario.gif" alt="" width="240" height="224" /><img class="alignnone size-full wp-image-577" title="zelda" src="http://blog.formasfunction.com/wp-content/uploads/2010/05/zelda.gif" alt="" width="240" height="224" /><img class="alignnone size-full wp-image-576" title="drmario" src="http://blog.formasfunction.com/wp-content/uploads/2010/05/drmario.gif" alt="" width="240" height="224" /></p>
<p>As Github points out, it&#8217;s worth taking a look at the <a href="http://github.com/bfirsh/jsnes/blob/master/js/cpu.js">CPU emulation component</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.formasfunction.com/2010/05/jsnes-a-nintendo-nes-emulator-written-in-javascript-rendered-with-html-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby vs Javascript</title>
		<link>http://blog.formasfunction.com/2010/01/ruby-vs-javascript/</link>
		<comments>http://blog.formasfunction.com/2010/01/ruby-vs-javascript/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 09:31:49 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Ephemera]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[web technologies]]></category>

		<guid isPermaLink="false">http://blog.formasfunction.com/ephemera/?p=328</guid>
		<description><![CDATA[Comparisons of Ruby vs Javascript. A great primer if you&#8217;re familiar with one of the languages but not the other.]]></description>
			<content:encoded><![CDATA[<p><a href="http://fingernailsinoatmeal.com/post/292301859/metaprogramming-ruby-vs-javascript">Comparisons of Ruby vs Javascript</a>. A great primer if you&#8217;re familiar with one of the languages but not the other.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.formasfunction.com/2010/01/ruby-vs-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Leave me be, I&#8217;m Processing at the moment.</title>
		<link>http://blog.formasfunction.com/2009/05/leave-me-be-im-processing-at-the-moment/</link>
		<comments>http://blog.formasfunction.com/2009/05/leave-me-be-im-processing-at-the-moment/#comments</comments>
		<pubDate>Tue, 26 May 2009 11:00:17 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Long Form]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[bundle]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Processing.js]]></category>
		<category><![CDATA[TextMate]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.formasfunction.com/?p=67</guid>
		<description><![CDATA[It&#8217;s been exciting to see web oriented technologies evolve, especially since Javascript started shaking off its rap as the hackery of the web and began the arduous transformation into one of its driving forces. Javascript hasn&#8217;t been the only focus, though. A while back Ben Fry and Casey Reas introduced the versatile Java based Processing language [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been exciting to see web oriented technologies evolve, especially since <a title="The Wikipedia entry for Javascript." href="http://en.wikipedia.org/wiki/JavaScript" target="_blank">Javascript</a> started shaking off its rap as the hackery of the web and began the arduous transformation into one of its driving forces. Javascript hasn&#8217;t been the only focus, though. A while back <a title="Ben Fry's home page." href="http://benfry.com/" target="_blank">Ben Fry</a> and <a title="Casey Reas' home page." href="http://reas.com/" target="_blank">Casey Reas</a> introduced the versatile <a title="Wikipedia entry for the Java programming language." href="http://en.wikipedia.org/wiki/Java_(programming_language)" target="_blank">Java</a> based <a title="The Processing project." href="http://processing.org/" target="_blank">Processing</a> <a title="The Processing API." href="http://processing.org/reference/" target="_blank">language</a> and <a title="The Processing IDE." href="http://processing.org/reference/environment/" target="_blank">environmen</a>t and the art world, among others, has never been the same. That&#8217;s why when I heard about <a title="John Resig's home page." href="http://ejohn.org/" target="_blank">John Resig&#8217;s</a> port of <a title="The Processing.js home page." href="http://processingjs.org/" target="_blank">Processing to Javascript (Processing.js)</a>, utilizing the <a title="Mozilla's developer reference for the HTML canvas." href="https://developer.mozilla.org/en/Canvas_tutorial" target="_blank">HTML canvas</a> for rendering, I knew I needed to set aside some time to get my feet wet. This Memorial Day weekend was intended to be just that but when I sat down with my favorite code editor, <a title="Macromates, the makers of TextMate." href="http://macromates.com/" target="_blank">TextMate</a>, I found that there wasn&#8217;t yet a <a title="An explanation of TextMate's bundles." href="http://manual.macromates.com/en/bundles" target="_blank">bundle</a> that specifically addressed this new melding of Javascript and Processing. So, instead of digging into Processing.js itself, I dug into the <a title="The language guide for TextMate bundles." href="http://manual.macromates.com/en/language_grammars" target="_blank">TextMate bundle framework</a> and now, with the extended weekend passed, I&#8217;d like to introduce my Processing.js bundle for TextMate. It&#8217;s a simple bundle, really, and at it&#8217;s core it ties together two existing bundles &#8211; the <a title="The svn location for the Javascript bundle." href="http://svn.textmate.org/trunk/Bundles/JavaScript.tmbundle/" target="_blank">Javascript bundle</a> that ships with TextMate and the <a title="The SVN location for the Processing bundle." href="http://svn.textmate.org/trunk/Bundles/Processing.tmbundle/" target="_blank">Processing bundle</a>, made for the Java incarnation, that can be downloaded from the official TextMate repository, and you&#8217;ll need both of them installed for the Processing.js bundle to work properly. It&#8217;s not perfect by any means (I&#8217;m certain there&#8217;s some conflicting language overlap between the Javascript and Processing bundles) but, with my love for TextMate and my excitement for Processing.js, I&#8217;m hoping it&#8217;ll get the ball rolling so that developing quick sketches can be as painless as possible. Given that goal, one of the main features is a hot-key triggered preview that allows you to write a pure Processing.js sketch with no wrapper HTML and preview it instantly in your open browsers. There&#8217;s a small amount of configuration that will make that preview much quicker so make sure to read the help section in the bundle menu after you&#8217;ve installed it. In the near future I&#8217;ll <a title="The submission process for TextMate bundles." href="http://wiki.macromates.com/Bundles/StyleGuide" target="_blank">submit the bundle</a> to Macromates for inclusion in their repository but for now you can <a title="A zip of the current build of the Processing.js TextMate bundle." href="http://blog.formasfunction.com/wp-content/uploads/2009/05/processing_jstmbundle.zip">download a zip of the current build here</a> or check it out from my SVN repository here: <a title="The SVN repository for the Processing.js TextMate bundle" href="http://svn.formasfunction.com/Processing_js.tmbundle">http://svn.formasfunction.com/Processing_js.tmbundle</a>. My hope is that others will chime in with revisions and help make TextMate a fun environment in which to write Processing.js sketches, so <a class="email" rel="moc/noitcnufsamrof//gerg" href="#">contact me</a> if you&#8217;re interested in helping out.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.formasfunction.com/2009/05/leave-me-be-im-processing-at-the-moment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>That rice costs too much rice.</title>
		<link>http://blog.formasfunction.com/2009/05/that-rice-costs-too-much-rice/</link>
		<comments>http://blog.formasfunction.com/2009/05/that-rice-costs-too-much-rice/#comments</comments>
		<pubDate>Fri, 15 May 2009 20:33:01 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Long Form]]></category>
		<category><![CDATA[The Internet]]></category>
		<category><![CDATA[bookmarklet]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[lens]]></category>
		<category><![CDATA[philanthropy]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.formasfunction.com/?p=42</guid>
		<description><![CDATA[One of the things I love about digital content is it&#8217;s malleability. There was a time not too long ago when we were forced to see content from the perspective provided us by the content creator, but things are rapidly changing and that&#8217;s exciting. As we progress further into a digital society I think we&#8217;ll start [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things I love about digital content is it&#8217;s malleability. There was a time not too long ago when we were forced to see content from the perspective provided us by the content creator, but things are rapidly changing and that&#8217;s exciting. As we progress further into a digital society I think we&#8217;ll start to see new developments in &#8220;lenses&#8221; through which to view this mass of content we&#8217;re inundated with on a daily basis. For instance, a while back I wrote a <a title="What Wikipedia thinks a bookmarklet is." href="http://en.wikipedia.org/wiki/Bookmarklet" target="_blank">bookmarklet</a> that converts any U.S. currency on a web page into the equivalent number of bags of rice that you could buy for someone in a 3rd world country. In fact, you can try it out now. Take this quote from William Jennings Bryan for instance: <em><strong>“No one can earn $1,000,000 honest</strong></em><em><strong>ly.”</strong></em> If you <a title="A bookmarklet for converting U.S. $ into bags of rice." href="//blog.formasfunction.com/wp-content/uploads/2009/05/rice.js');document.body.appendChild(s);})();" target="_self">click here</a>, the page should refresh and you&#8217;ll see what I mean. And you can bookmark <a title="Add me to your bookmarks bar." href="//blog.formasfunction.com/wp-content/uploads/2009/05/rice.js');document.body.appendChild(s);})();" target="_self">that link</a> to use it on any webpage you visit &#8211; once the page has loaded just click on your bookmark-let (hence the term) and watch the magic.</p>
<div id="attachment_55" class="wp-caption alignright" style="width: 182px"><a href="http://blog.formasfunction.com/wp-content/uploads/2009/05/gold_watch.jpg"><img class="size-full wp-image-55" src="http://blog.formasfunction.com/wp-content/uploads/2009/05/gold_watch.jpg" alt="Bling bling!" width="172" height="197" /></a><p class="wp-caption-text">Bling bling!</p></div>
<p>Now imagine going to <a title="Bling on Amazon.com" href="http://www.amazon.com/s/ref=nb_ss_gw?url=search-alias%3Daps&amp;field-keywords=gold+watch&amp;x=0&amp;y=0" target="_blank">Amazon</a> or <a title="Cook'n rice on Ebay.com" href="http://shop.ebay.com/items/?_nkw=rice+cooker&amp;_sacat=0&amp;_trksid=p3286.m270.l1313&amp;_odkw=speed+boat&amp;_osacat=0" target="_blank">Ebay</a> and instead of seeing a list of items you could spend money on you see a list of items that let you know how easy it would be to change someone&#8217;s life in a 3rd world country, that tell you for what you spent on your watch you could have bought two bags of rice that would have lasted a family for months. Imagine these online retailers actually lending a perspective on how opulent we are compared to our neighbors in need and how the ability to influence the world for the better really is within reach of the individual. Pretty cool huh? And this is just the beginning. The first phase of the web has been about the access of information &#8211; putting at our finger tips what previously only resided in libraries and as stories told among friends. I imagine that the second phase is going to be about processing that information &#8211; about using it in ways that the content creators never imagined and even in ways counter to their intended purpose, as might be the case with the <a title="Bling on Amazon." href="http://www.amazon.com/s/ref=nb_ss_gw?url=search-alias%3Daps&amp;field-keywords=gold+watch&amp;x=0&amp;y=0" target="_blank">Amazon</a> and <a title="Rice cookers on Ebay." href="http://shop.ebay.com/items/?_nkw=rice+cooker&amp;_sacat=0&amp;_trksid=p3286.m270.l1313&amp;_odkw=speed+boat&amp;_osacat=0" target="_blank">Ebay</a> examples. And as those lenses mature in the digital space they&#8217;ll start to spill over into the physical space as well, shifting our perspectives on people and objects and all of the other interesting things we encounter every day, in real time. Suddenly walking a mile in another man&#8217;s shoes won&#8217;t be so hard and in fact might be as enlightening as the old adage would lead us to believe.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.formasfunction.com/2009/05/that-rice-costs-too-much-rice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
