<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Disqus - Latest Comments for djhalon</title><link xmlns="http://www.w3.org/2005/Atom" rel="http://api.friendfeed.com/2008/03#sup" href="http://disqus.com/sup/all.sup#usercomments-848295a2" type="application/json"/><link>http://disqus.com/people/djhalon/</link><description></description><language>en</language><lastBuildDate>Mon, 13 Jul 2009 13:09:22 -0000</lastBuildDate><item><title>Re: Inversion of Control and Dependency Injection in Flex using the Parsley Application Framework &amp;#8211; Part 1</title><link>http://joelhooks.com/2009/07/12/inversion-of-control-and-dependency-injection-in-flex-using-the-parsley-application-framework-part-1/#comment-12584920</link><description>Thanks for taking the time to write up the IoC/DI intro, this is a nice clear and simple explanation.  Looking forward to the future parts!</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Mon, 13 Jul 2009 13:09:22 -0000</pubDate></item><item><title>Re: Flash Internals: Just-in-time (JIT) compilation (part four)</title><link>http://blog.vivisectingmedia.com/2007/11/flash-internals-jit-and-garbage-collection-part-four/#comment-9211479</link><description>You where correct in calling the AS3 to ByteCode process, compilation.  The issue semantical issue that we face is that there is technically two compilation passes in the new Flash Player world.  The first compilation pass is creating the SWF (which wraps the ByteCode) the second is when the AVM+ takes the ByteCode and compiles it to machine code for the specific platform the Player is running on.&lt;br&gt;&lt;br&gt;When the first SWF compilation is being run there are optimization being applied, but they are limited to what the ByteCode can represent.  I don't know exactly what optimizations are being made during this phase, but essentially all the Classes, objects, functions, properties, etc are being boiled down into commands that are executed by the AVM at run-time.  The AVM is then responsible for converting these commands into machine code (second compilation) that the specific OS can understand.  The reason we use the ByteCode interim step is that we want the same SWF to run on multiple OSs.  This is why the Flash Player is still considered an interpreter because the SWF is not an OS native compiled application.&lt;br&gt;&lt;br&gt;I feel your description is really close, what you are describing is the benefit of sealed classes versus dynamic classes.  MovieClip is marked as a dynamic class, which means that you can attach new properties to it at run-time.  Looking back at your first example, _nestedMovieClip is not a defined property on the MovieClip class, you have added this property.  To access this property the AVM has to lookup the property on the instance to first see if it exists and if so then it can access it.  This process is similar to using "for in" on an object, you have to loop over all the properties trying to see if it has the one you want.  This is a time consuming process as you have found out through your testing.&lt;br&gt;&lt;br&gt;More then likely, you are seeing the performance benefit by making a reference to the property and then accessing the reference because the lookup no longer has to occur every time you access the property.  This is the same principle of using a pre-calculated length value when looping over an array instead of accessing the ".length" property each time.  The act of accessing the property, i.e. "myArray.length" requires the lookup and calculation of the length to occur every time we perform a loop.  If we crate a variable before we start the loop and set it to "myArray.length" then the loop will no longer call the length getter during every pass, making our loop run a lot faster. If we apply this to your example, then we can avoid the lookup by storing the instance in a reference variable and therefore the AVM only has to lookup the value once, to set the reference and then can access it faster from there.&lt;br&gt;&lt;br&gt;We can actually take this one step further.  If you read or see most peoples articles/presentations on Flash performance they always start with "use strong typing".  The reason behind using strong typing is the same as making a reference, it helps mitigate AVM lookup time.  If we take your BlueSquare example we want to make sure that BlueSquare has _nestedMovieClip declared as a property of the Class and that it is typed to MovieClip.  By having this reference on the BlueSquare Class the AVM will not have to do full scanning lookup (ex: for in) on the BlueSquare instance to see if _nestedMoveiClip is both declared and has a value and that the value "x" also exists on the _nesteMovieClip instance.&lt;br&gt;&lt;br&gt;By explicitly declaring _nestedMovieClip we have defined BlueSquare as a sealed class, which will give us a lot of performance gains at run-time.  Dynamic Classes are great (Classes that can have properties added at runtime) but they come with a huge cost.  I always recommend avoiding dynamic classes unless you absolutely have to and even then, try not to use them.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Mon, 11 May 2009 14:34:50 -0000</pubDate></item><item><title>Re: Flash Internals: Just-in-time (JIT) compilation (part four)</title><link>http://blog.vivisectingmedia.com/2007/11/flash-internals-jit-and-garbage-collection-part-four/#comment-9119117</link><description>Alan,&lt;br&gt;I assume by "compile time" you mean the Flash Player's compilation of the byte code to machine code so that it can be executed, not the Flash compiler you use to create the SWF.&lt;br&gt;&lt;br&gt;It depends upon when the construction of the nested clip occurs. By the time the Player gets to the your x value change the nested clip has had to be constructed and therefore the player will know about the instance.&lt;br&gt;&lt;br&gt;The bigger question is if the method will be compiled by the JIT or not.  JIT'ing doesn't occur on an Object or Class level, but on a bytecode level. Its possible that setting the x value may be JIT'ed but the MovieClip will not be compiled down entirely.&lt;br&gt;&lt;br&gt;What is not clear to me, is when the actual JIT and MIR process is applied.  Is it a look ahead process examines the entire app stack, or does it interpret every bytecode stack as its processed and on second execution does it apply the JIT?  I have a feeling that the MIR is built on the first pass of the bytecode execution and the next time the code is called JIT is applied.&lt;br&gt;&lt;br&gt;If that is the case, then your reference to the x value is not JIT'ed the first time you make the call, but the second time you do it will be JIT'ed.  This is a really interesting topic, because at DevelopmentArc we have begun looking at performance increases around JIT optimization and knowing this could really help.&lt;br&gt;&lt;br&gt;I hope this answered your question, or at least pointed you in the right direction.&lt;br&gt;&lt;br&gt;J.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Fri, 08 May 2009 00:41:18 -0000</pubDate></item><item><title>Re: Where are our mid-level developers?</title><link>http://blog.vivisectingmedia.com/2008/01/where-are-our-mid-level-developers/#comment-3906403</link><description>Thanks Tristan... I am glad that my thoughts jive with others out there in the community.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Wed, 19 Nov 2008 21:42:50 -0000</pubDate></item><item><title>Re: How do I mark as spam?</title><link>http://disqus.disqus.com/how_do_i_mark_as_spam/#comment-3576209</link><description>I am starting to see the same issue on my blog.  Spam is getting in and I can't mark it from the Disqus Admin panel or at least flag it.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Thu, 06 Nov 2008 16:32:07 -0000</pubDate></item><item><title>Re: Adobe Edge Article: Coding Standards</title><link>http://blog.vivisectingmedia.com/2008/06/adobe-edge-article-coding-standards/#comment-1903147</link><description>Samuel,&lt;br&gt;I am glad you liked the post!  I am bummed I missed 360|Flex in SJ.  Being in San Francisco I should have hit both that and FlashForward.  Unfortunately my schedule has been slammed recently.  I have been checking out the sessions in AMP and I am doubly upset now.  I hope you session went well!!</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Thu, 28 Aug 2008 19:26:18 -0000</pubDate></item><item><title>Re: Disqus 2.0 WordPress plugin broken?</title><link>http://disqus.disqus.com/disqus_20_wordpress_plugin_broken/#comment-1175285</link><description>cool... Thanks!</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Tue, 12 Aug 2008 17:55:34 -0000</pubDate></item><item><title>Re: Disqus 2.0 WordPress plugin broken?</title><link>http://disqus.disqus.com/disqus_20_wordpress_plugin_broken/#comment-1174554</link><description>Daniel,&lt;br&gt;I am getting WP Database errors.  I am running WP 2.6 with the new plugin.  The plugin seems to be running correctly once I configured it but all posts now show the DB errors above the comment section:&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.vivisectingmedia.com/2008/07/vivmedia-code-selection-controller/#disqus_thread" rel="nofollow"&gt;http://blog.vivisectingmedia.com/2008/07/vivmed...&lt;/a&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Tue, 12 Aug 2008 17:13:01 -0000</pubDate></item><item><title>Re: Installing PyDev on OS X 10.5.2</title><link>http://blog.vivisectingmedia.com/2008/04/installing-pydev-on-os-x-1052/#comment-978371</link><description>Thanks Gabriel, I have updated the post to reflect this path.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Wed, 23 Jul 2008 13:30:19 -0000</pubDate></item><item><title>Re: VivMedia Code: Selection Controller</title><link>http://blog.vivisectingmedia.com/2008/07/vivmedia-code-selection-controller/#comment-933202</link><description>The example code above is Flex but the SelectionController does work with CS3.  I whipped up a quick example for you and posted it here:&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.vivisectingmedia.com/examples/SelectionContollerExampleCS3.zip" rel="nofollow"&gt;http://blog.vivisectingmedia.com/examples/Selec...&lt;/a&gt;&lt;br&gt;&lt;br&gt;I didn't get a chance to comment the code since this is a quick and dirty example.  What is going on is that you have a Document class that generates two SelectableItems, places the items on the stage and then adds them to the SelectionController.&lt;br&gt;&lt;br&gt;The items themselves are responsible for tracking their own click event and updating their selection.  Check out the code and let me know if this helps explain how to use the SelectionController in CS3.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Fri, 18 Jul 2008 11:43:37 -0000</pubDate></item><item><title>Re: Run and Debug Config for PyDev w/ Google Apps Engine</title><link>http://blog.vivisectingmedia.com/2008/05/run-and-debug-config-for-pydev-w-google-apps-engine/#comment-811106</link><description>Awesome!  I am glad I could help!&lt;br&gt;&lt;br&gt;James</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Thu, 03 Jul 2008 20:31:05 -0000</pubDate></item><item><title>Re: Run and Debug Config for PyDev w/ Google Apps Engine</title><link>http://blog.vivisectingmedia.com/2008/05/run-and-debug-config-for-pydev-w-google-apps-engine/#comment-807612</link><description>Ah, okay.  The engine PY files are there to allow you to run the server command from anywhere but the source for me is located at /usr/local/googleapp_engine/&lt;br&gt;&lt;br&gt;I can't recall if that was the default for the install, but I think it is.  That is where I pointed my Eclipse to and it worked for me.  Let me  know if your path is the same or not.  If not, do a search for dev_appserver.py since this file is also located with the source.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Thu, 03 Jul 2008 12:10:01 -0000</pubDate></item><item><title>Re: Run and Debug Config for PyDev w/ Google Apps Engine</title><link>http://blog.vivisectingmedia.com/2008/05/run-and-debug-config-for-pydev-w-google-apps-engine/#comment-804451</link><description>Jim,&lt;br&gt;Which steps in is post are throwing you?  If it is the aspect of getting PyDev to recognize your Python in OS X, check out my post here:&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.vivisectingmedia.com/2008/04/installing-pydev-on-os-x-1052/#solution" rel="nofollow"&gt;http://blog.vivisectingmedia.com/2008/04/instal...&lt;/a&gt;&lt;br&gt;&lt;br&gt;My post above is pretty much about step 5, setting up your Python Interpreter.  If there are other steps that are causing confusion, let me know.  Most of the Windows Eclipse steps translate to OS X, more or less.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Wed, 02 Jul 2008 23:59:01 -0000</pubDate></item><item><title>Re: Adobe kuler Desktop Sneak Peek</title><link>http://blog.vivisectingmedia.com/2008/06/adobe-kuler-desktop-sneak-peek/#comment-759689</link><description>Yeah, we are really stoked by SwitchBoard and how we could leverage it in kuler.  The team behind the technology is brilliant and it was totally fun being the first test pilot (all though my constant barrage of "is this how its supposed to work?" emails in the beginning must have drove them batty).  There are a lot of crazy possibilities with this kind of integration and I know that a few of my designers friends can not wait to get one click import.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Thu, 26 Jun 2008 23:22:53 -0000</pubDate></item><item><title>Re: Installing PyDev on OS X 10.5.2</title><link>http://blog.vivisectingmedia.com/2008/04/installing-pydev-on-os-x-1052/#comment-404989</link><description>Thanks Matt!  I just made a new post that talks about the best way to configure PyDev for the Google App Engine: &lt;br&gt;&lt;br&gt;&lt;a href="http://blog.vivisectingmedia.com/2008/05/run-and-debug-config-for-pydev-w-google-apps-engine/" rel="nofollow"&gt;http://blog.vivisectingmedia.com/2008/05/run-an...&lt;/a&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Thu, 01 May 2008 20:04:26 -0000</pubDate></item><item><title>Re: The Flex Code-Behind Pattern</title><link>http://blog.vivisectingmedia.com/2008/04/the-flex-code-behind-pattern/#comment-392425</link><description>I am glad this helped clear up some of the pitfalls.  When we first adopted this pattern on the project Webnesto is referring to in his comment, we would definitely had some challenges with the initial implementation.  I have a feeling I missed a few other less common pitfalls we stumbled upon during the that project and other ones I have have used it on.   At this point it has become more second nature, so what was once an "workaround" is now just how I code. If you, or anyone else, has some issues or questions about the pattern please let me know and I will reply and/or update the post with recommendations.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Tue, 29 Apr 2008 12:11:09 -0000</pubDate></item><item><title>Re: Installing PyDev on OS X 10.5.2</title><link>http://blog.vivisectingmedia.com/2008/04/installing-pydev-on-os-x-1052/#comment-391042</link><description>Y yo sae me spelle ungood?&lt;br&gt;&lt;br&gt;Seriously, I need to get a copy editor to review my rapidly written rants before I hit the post button.  Of course now that you have "commented" on my "typo's" I have to leave them in with a strike, forever showing my poor writing abilities.   Still, they are pretty funny typos...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Tue, 29 Apr 2008 04:33:57 -0000</pubDate></item><item><title>Re: Adobe Kuler 2.0 is live!</title><link>http://blog.vivisectingmedia.com/2008/03/adobe-kuler-20-is-live/#comment-329187</link><description>For people like you, Kuler is a place to help share your talent with people like me.  I have a decent eye for color and I can pick things that work but often there is a wall of the 3rd or 4th color that you need and it is hard to break through it to find a color that really works.&lt;br&gt;&lt;br&gt;What kuler does is enables the less design-y people to look at color pre-designed themes and potentially apply them in the website, application and or other aspects of design they are currently facing.  I feel kuler also helps in the inspiration aspect by providing tools to help designers quickly create the theme they want and then save it as an ASE file (Adobe Swatch Exchange) which they can then saved for future use; both on and offline.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Sat, 12 Apr 2008 15:31:05 -0000</pubDate></item><item><title>Re: ActionScript 3.0: Named Loops</title><link>http://blog.vivisectingmedia.com/2008/04/actionscript-30-named-loops/#comment-329174</link><description>Its one of those things that you wish you knew back when you needed it but luckily this is not too common of a problem.  Next time it comes up then I know how to solve it.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Sat, 12 Apr 2008 15:24:30 -0000</pubDate></item><item><title>Re: Moved domains and new layout&amp;#8230;</title><link>http://blog.vivisectingmedia.com/2008/04/moved-domains-and-new-layout/#comment-329171</link><description>Thanks... of course 99% is the pre-built theme but I did spend a lot of time looking for the right one!!  But, when the time comes to CSS dis shit I will be looking you up :)</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Sat, 12 Apr 2008 15:22:43 -0000</pubDate></item><item><title>Re: SXSW 2008: Day Four Recap (finale)</title><link>http://blog.vivisectingmedia.com/2008/03/sxsw-2008-day-four-recap-finale/#comment-237030</link><description>That's pretty much exactly what happened to us.  We got to the venue a few minutes after Devotchka set started and they were only doing 1-in-1-out by then.  We caught most of the set at the back of the shade tent.  We were worried that everyone there was waiting for Kate Nash and that it was not going to clear out, but as soon as Devotchka was done we got to the front without a problem.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Mon, 17 Mar 2008 13:28:10 -0000</pubDate></item><item><title>Re: SXSW 2008: Connection issues&amp;#8230;</title><link>http://blog.vivisectingmedia.com/2008/03/sxsw-2008-connection-issues/#comment-229038</link><description>I assume you mean a Verizon or Sprint network card, since my MacBook Pro has built in wireless.  The network is a lot better now... it actually works like you would expect it to in a hotel.  Uploading the first set of today's pics went a LOT faster.  Maybe because most people are gone right now...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Thu, 13 Mar 2008 20:11:47 -0000</pubDate></item><item><title>Re: SXSW 2008 is almost here!</title><link>http://blog.vivisectingmedia.com/2008/03/sxsw-2008-is-almost-here/#comment-205291</link><description>Cool... I am in the midst of planning out the feature list and release plan for 0.2 - 0.5 right now.  I will be interested to see what ideas you have for sure!</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Thu, 06 Mar 2008 14:04:36 -0000</pubDate></item><item><title>Re: SXSW 2008 is almost here!</title><link>http://blog.vivisectingmedia.com/2008/03/sxsw-2008-is-almost-here/#comment-203296</link><description>Ahhhh blogger.  I started looking into this last night and it looks like blogger uses Google Gadgets to do embedding.  The first issue I see (with my very, very little research) is that Gadgets require you to host content.  What that means is that any gadget user that wants to use Photoslider will have to host the SWF somewhere.  I probably won't be able to host the SWF for people because if people start adopting it then my server will get creamed.&lt;br&gt;&lt;br&gt;I am looking into options to see what other Gadget devs are doing, if they are using SWF content, if so how are they hosting.  Otherwise I may have to look into hosting options and/or hosting fees (blarg!!).&lt;br&gt;&lt;br&gt;The nice thing about Wordpress and/or Moveable Type is that most users are hosting on their own server and adding a plugin contains the SWF and required code.  Its not all lost yet, this is very very early research.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Wed, 05 Mar 2008 18:24:05 -0000</pubDate></item><item><title>Re: Aggressive &amp;#8220;Direct&amp;#8221; Recruiting</title><link>http://james.fakescience.com/blog/?p=83#comment-111206</link><description>I think you hit it right on the head with the dynamite example.  That is exactly what they are trying to do.  Slam anyone that is out there that may come close to what they need and see what floats to the top.  I just posted a new article that sort of ties into this issue.  I think the new strategies have a lot to do with current state of the tech workforce.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">djhalon</dc:creator><pubDate>Wed, 30 Jan 2008 02:35:56 -0000</pubDate></item></channel></rss>