<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>thoughts.  consciousness.   code.  art.</description><title>Scoping the lobe</title><generator>Tumblr (3.0; @jeremyx)</generator><link>http://jeremyx.tumblr.com/</link><item><title>The Amazing Blog : Your Web Service Might Not Be RESTful If…</title><description>&lt;a href="http://www.theamazingrando.com/blog/?p=107"&gt;The Amazing Blog : Your Web Service Might Not Be RESTful If…&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/145982288</link><guid>http://jeremyx.tumblr.com/post/145982288</guid><pubDate>Tue, 21 Jul 2009 06:16:52 -0400</pubDate></item><item><title>Adobe - RoboHelp : RoboHelp Packager for AIR</title><description>&lt;a href="http://www.adobe.com/products/robohelp/robohelp-packager-for-air/"&gt;Adobe - RoboHelp : RoboHelp Packager for AIR&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/45571953</link><guid>http://jeremyx.tumblr.com/post/45571953</guid><pubDate>Mon, 11 Aug 2008 15:02:26 -0400</pubDate></item><item><title>Ryan Stewart - Rich Internet Application Mountaineer » Blog Archive » Interview with Scott Petersen on the C/C++ in Flash Player Sneak</title><description>&lt;a href="http://blog.digitalbackcountry.com/?p=1095"&gt;Ryan Stewart - Rich Internet Application Mountaineer » Blog Archive » Interview with Scott Petersen on the C/C++ in Flash Player Sneak&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/41643666</link><guid>http://jeremyx.tumblr.com/post/41643666</guid><pubDate>Wed, 09 Jul 2008 14:38:09 -0400</pubDate></item><item><title>The Paradox of Choice - Why More Is Less</title><description>&lt;a href="http://video.google.com/videoplay?docid=6127548813950043200&amp;q=the+paradox+of+choice&amp;ei=IY5fSILdJYvA4ALxqby9Ag"&gt;The Paradox of Choice - Why More Is Less&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/39698165</link><guid>http://jeremyx.tumblr.com/post/39698165</guid><pubDate>Tue, 24 Jun 2008 17:12:46 -0400</pubDate></item><item><title>Day-to-day with Subversion - Fear and Loathing</title><description>&lt;a href="http://weblogs.asp.net/bsimser/archive/2008/05/06/day-to-day-with-subversion.aspx"&gt;Day-to-day with Subversion - Fear and Loathing&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/34044666</link><guid>http://jeremyx.tumblr.com/post/34044666</guid><pubDate>Wed, 07 May 2008 17:06:56 -0400</pubDate></item><item><title>Free Developer Icons | Developer Icon Sets | Web Design Icons | Outlaw Design Blog</title><description>&lt;a href="http://outlawdesignblog.com/2008/free-developer-icon-sets/"&gt;Free Developer Icons | Developer Icon Sets | Web Design Icons | Outlaw Design Blog&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/33446188</link><guid>http://jeremyx.tumblr.com/post/33446188</guid><pubDate>Thu, 01 May 2008 13:49:00 -0400</pubDate></item><item><title>[plt-scheme] The Lambda Calculus behind functional programming</title><description>&lt;a href="http://list.cs.brown.edu/pipermail/plt-scheme/2007-August/020302.html"&gt;[plt-scheme] The Lambda Calculus behind functional programming&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/32437824</link><guid>http://jeremyx.tumblr.com/post/32437824</guid><pubDate>Mon, 21 Apr 2008 14:05:18 -0400</pubDate></item><item><title>MIT OpenCourseWare | Electrical Engineering and Computer Science | 6.042J Mathematics for Computer Science (SMA 5512), Fall 2002 | Readings</title><description>&lt;a href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-042JMathematics-for-Computer-ScienceFall2002/Readings/index.htm"&gt;MIT OpenCourseWare | Electrical Engineering and Computer Science | 6.042J Mathematics for Computer Science (SMA 5512), Fall 2002 | Readings&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/28771190</link><guid>http://jeremyx.tumblr.com/post/28771190</guid><pubDate>Thu, 13 Mar 2008 14:29:33 -0400</pubDate></item><item><title>Functional Programming -- Eloquent JavaScript</title><description>&lt;a href="http://eloquentjavascript.net/chapter6.html"&gt;Functional Programming -- Eloquent JavaScript&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/24382031</link><guid>http://jeremyx.tumblr.com/post/24382031</guid><pubDate>Tue, 22 Jan 2008 14:21:10 -0500</pubDate></item><item><title>Did it with .NET - Why I Love F#: The Interactive Environment</title><description>&lt;a href="http://diditwith.net/2008/01/15/WhyILoveFTheInteractiveEnvironment.aspx"&gt;Did it with .NET - Why I Love F#: The Interactive Environment&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/23825686</link><guid>http://jeremyx.tumblr.com/post/23825686</guid><pubDate>Tue, 15 Jan 2008 15:46:03 -0500</pubDate></item><item><title>Analyzing the AI Bot Library from the Quake 3 Source Code — AiGameDev.com</title><description>&lt;a href="http://aigamedev.com/source/quake3-engine"&gt;Analyzing the AI Bot Library from the Quake 3 Source Code — AiGameDev.com&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/23825687</link><guid>http://jeremyx.tumblr.com/post/23825687</guid><pubDate>Tue, 15 Jan 2008 15:39:01 -0500</pubDate></item><item><title>On Seeing A's and Seeing As</title><description>&lt;a href="http://www.stanford.edu/group/SHR/4-2/text/hofstadter.html"&gt;On Seeing A's and Seeing As&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/23830067</link><guid>http://jeremyx.tumblr.com/post/23830067</guid><pubDate>Tue, 15 Jan 2008 12:27:11 -0500</pubDate></item><item><title>Alex’s Flex Closet: Flex and ScaleMode</title><description>&lt;a href="http://blogs.adobe.com/aharui/2008/01/flex_and_scalemodes.html"&gt;Alex’s Flex Closet: Flex and ScaleMode&lt;/a&gt;: &lt;p&gt;Application size scaling&lt;/p&gt;</description><link>http://jeremyx.tumblr.com/post/23201225</link><guid>http://jeremyx.tumblr.com/post/23201225</guid><pubDate>Mon, 07 Jan 2008 15:12:21 -0500</pubDate></item><item><title>visualflexunit - Google Code</title><description>&lt;a href="http://code.google.com/p/visualflexunit/"&gt;visualflexunit - Google Code&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/22207851</link><guid>http://jeremyx.tumblr.com/post/22207851</guid><pubDate>Sat, 22 Dec 2007 21:36:01 -0500</pubDate></item><item><title>Why closures are useful</title><description>&lt;p&gt;&lt;a href="http://notes-on-haskell.blogspot.com/2007/02/whats-wrong-with-for-loop.html?reposted" title="What's Wrong with the For Loop" target="_blank"&gt;Over here&lt;/a&gt;, there is some analysis of some crazy debate over adding closures to Java.  It’s funny how the posts focus on closures being a means to circumvent the for loop.  You could do that with good ole Functions as first class objects.&lt;/p&gt;
&lt;p&gt;Closures are cool for so many other reasons.  For example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt; private function main():void&lt;br/&gt;{&lt;br/&gt;    var errorLabel:Label = new Label();&lt;br/&gt;    var button:Button = new Button();&lt;br/&gt;    &lt;br/&gt;    button.addEventListener(MouseEvent.CLICK, function(evt:MouseEvent):void {&lt;br/&gt;        errorLabel.text = "ERROR == don't click this button!";&lt;br/&gt;    });&lt;br/&gt;}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Holy shit, I just tossed a in-line function in that addEventListener method call and was able to reach out of the event handler scope and grab the reference to the errorLabel defined in the parent scope!&lt;/p&gt;
&lt;p&gt;You could not do this without closures.  In fact, when your handler fired, you only get the event arg passed, so you’d need to do some lookup to get the errorLabel instance — walking the DOM or some such nonsense.   So this example shows how you can do something trivial but useful for fast development.&lt;/p&gt;
&lt;p&gt;Here is something that has a &lt;a href="http://www.dustindiaz.com/faster-ajax/" target="_blank"&gt;bit more teeth to it&lt;/a&gt;:&lt;/p&gt;
&lt;pre animheight="716"&gt;&lt;code&gt;var asyncRequest = function() {&lt;br/&gt;  function handleReadyState(o, callback) {&lt;br/&gt;    if (o &amp;&amp; o.readyState == 4 &amp;&amp; o.status == 200) {&lt;br/&gt;      if (callback) {&lt;br/&gt;        callback(o);&lt;br/&gt;      }&lt;br/&gt;    }&lt;br/&gt;  }&lt;br/&gt;  var getXHR = function() {&lt;br/&gt;    var http;&lt;br/&gt;    try {&lt;br/&gt;      http = new XMLHttpRequest;&lt;br/&gt;&lt;i&gt;getXHR = function() {&lt;/i&gt;&lt;br/&gt;&lt;i&gt;return new XMLHttpRequest;&lt;/i&gt;&lt;br/&gt;&lt;i&gt;};&lt;/i&gt;&lt;br/&gt;    }&lt;br/&gt;    catch(e) {&lt;br/&gt;      var msxml = [&lt;br/&gt;        ‘MSXML2.XMLHTTP.3.0′,&lt;br/&gt;        ‘MSXML2.XMLHTTP’,&lt;br/&gt;        ‘Microsoft.XMLHTTP’&lt;br/&gt;      ];&lt;br/&gt;      for (var i=0, len = msxml.length; i         try {&lt;br/&gt;          http = new ActiveXObject(msxml[i]);&lt;br/&gt;&lt;i&gt;getXHR = function() {&lt;/i&gt;&lt;br/&gt;&lt;i&gt;return new ActiveXObject(msxml[i]);&lt;/i&gt;&lt;br/&gt;&lt;i&gt;};&lt;/i&gt;&lt;br/&gt;          break;&lt;br/&gt;        }&lt;br/&gt;        catch(e) {}&lt;br/&gt;      }&lt;br/&gt;    }&lt;br/&gt;    return http;&lt;br/&gt;  };&lt;br/&gt;  return function(method, uri, callback, postData) {&lt;br/&gt;    var http = getXHR();&lt;br/&gt;    http.open(method, uri, true);&lt;br/&gt;    handleReadyState(http, callback);&lt;br/&gt;    http.send(postData || null);&lt;br/&gt;    return http;&lt;br/&gt;  };&lt;br/&gt;}();&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This awesome optimization is made possible via closures.&lt;/p&gt;</description><link>http://jeremyx.tumblr.com/post/21901378</link><guid>http://jeremyx.tumblr.com/post/21901378</guid><pubDate>Tue, 18 Dec 2007 14:28:10 -0500</pubDate></item><item><title>Arsdigita 02 (Discrete Mathematics) Lecture 1/20</title><description>&lt;a href="http://video.google.com/videoplay?docid=-2965569821331370765"&gt;Arsdigita 02 (Discrete Mathematics) Lecture 1/20&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/21320036</link><guid>http://jeremyx.tumblr.com/post/21320036</guid><pubDate>Tue, 11 Dec 2007 07:47:36 -0500</pubDate></item><item><title>Flex Camp</title><description>&lt;p&gt;Went to Flex Camp Boston yesterday.  Drive was terrible.  The sessions were mostly fluff and needed to be short to fit them all in.&lt;/p&gt;
&lt;p&gt;Did come away with a few things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Optimize by keeping a display list model of what is current showing and only update that.&lt;/li&gt;
&lt;li&gt;Only mock objects in a unit test if the consumer does not know they are mocked&lt;/li&gt;
&lt;li&gt;Do we need to be so granular with events when using Caringorm?  No, combine logical groupings into single event classes. &lt;/li&gt;
&lt;/ul&gt;</description><link>http://jeremyx.tumblr.com/post/21103925</link><guid>http://jeremyx.tumblr.com/post/21103925</guid><pubDate>Sat, 08 Dec 2007 07:18:37 -0500</pubDate></item><item><title>Eric Feminella: Solutions Architect, Rich Internet Applications » Blog Archive » IResponder and Cairngorm</title><description>&lt;a href="http://www.ericfeminella.com/blog/2007/11/21/iresponder-and-cairngorm/"&gt;Eric Feminella: Solutions Architect, Rich Internet Applications » Blog Archive » IResponder and Cairngorm&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/19939213</link><guid>http://jeremyx.tumblr.com/post/19939213</guid><pubDate>Wed, 21 Nov 2007 12:53:05 -0500</pubDate></item><item><title>ActionScript 3 Tutorials</title><description>&lt;a href="http://www.flashandmath.com/"&gt;ActionScript 3 Tutorials&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/19934473</link><guid>http://jeremyx.tumblr.com/post/19934473</guid><pubDate>Wed, 21 Nov 2007 11:12:46 -0500</pubDate></item><item><title>Amazon.com: The Universal Computer: The Road from Leibniz to Turing: Books: Martin Davis</title><description>&lt;a href="http://www.amazon.com/Universal-Computer-Road-Leibniz-Turing/dp/0393047857"&gt;Amazon.com: The Universal Computer: The Road from Leibniz to Turing: Books: Martin Davis&lt;/a&gt;</description><link>http://jeremyx.tumblr.com/post/18576348</link><guid>http://jeremyx.tumblr.com/post/18576348</guid><pubDate>Tue, 06 Nov 2007 15:03:49 -0500</pubDate></item></channel></rss>
