<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Pipe3f's Weblog</title>
	<atom:link href="http://pipe3f.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pipe3f.wordpress.com</link>
	<description></description>
	<lastBuildDate>Wed, 09 Jul 2008 15:36:30 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='pipe3f.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/41778fbcfa4a94ce5ccbaee0aee8ba93?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Pipe3f's Weblog</title>
		<link>http://pipe3f.wordpress.com</link>
	</image>
			<item>
		<title>Don’t Cha Wish Your Methods Can Overload Like Mine?</title>
		<link>http://pipe3f.wordpress.com/2008/07/09/don%e2%80%99t-cha-wish-your-methods-can-overload-like-mine/</link>
		<comments>http://pipe3f.wordpress.com/2008/07/09/don%e2%80%99t-cha-wish-your-methods-can-overload-like-mine/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 00:19:11 +0000</pubDate>
		<dc:creator>Ming T. Chow</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pipe3f.wordpress.com/?p=14</guid>
		<description><![CDATA[ Yes, yes I do.
On my previous posts, I wasn’t exactly silent about my love towards the combination that is ActionScript 3.0 and Flex. However, just like a romantic relationship, after the initial flowery period is over, you start to see the ugly side of things.  
For our 3rd coding task, we are to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=14&subd=pipe3f&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal"><!--[if gte mso 9]&gt;  Normal 0     false false false  EN-CA X-NONE X-NONE              MicrosoftInternetExplorer4              &lt;![endif]--><!--[if gte mso 9]&gt;                                                                                                                                            &lt;![endif]--> Yes, yes I do.</p>
<p class="MsoNormal">On my previous posts, I wasn’t exactly silent about my love towards the combination that is ActionScript 3.0 and Flex.<span> </span>However, just like a romantic relationship, after the initial flowery period is over, you start to see the ugly side of things. <span> </span></p>
<p class="MsoNormal">For our 3rd coding task, we are to finally get down to business and start development on the SQL Builder application.<span> </span>The tentative goal is to reproduce the same user interface as the one we came up with for our paper prototype and user testing phase.<span> </span>Since this is a major step towards the final product, we are going to treat it as the final product which means we will need to design the code structure in a coherent manner to promote readability, reusability, and extensibility.<span> </span>We do not want another round of throwing away code because we feel we have enough practice already. It is time for the real thing.</p>
<p class="MsoNormal">After some deliberation, we decided to use the Model View Controller (MVC) architecture <span> </span>to separate our code into logical sections.<span> </span>As well, we noticed that in our previous demos the code in our main file looked like angel hair pasta from the mix of markup and javascript-ish code.<span> </span>To rectify that, we are using a code-behind approach to leave the main file purely as mxml markup and “behind” it is all the Actionscript logic.<span> </span>In addition, we are going to be placing the classes in packages.<span> </span>Aside from the main benefit of having class structures separated properly, having the fully-qualified names of all of our classes being prefixed with <strong>edu.toronto.cs.flareflow </strong>feels strangely gratifying (import statements look cool!).<span> </span>Lastly, we are going to be using interfaces and abstract classes in our design to take advantage of polymorphism.<span> </span>This is especially useful for the many types of “boxes” that share the same basic input/output functions.</p>
<p class="MsoNormal">Pretty exciting stuff no?<span> </span>We had our concerns in implementing everything we described above, but we did research into whether or not they are feasible before going ahead.<span> </span>So far we are able to accomplish the first three in a relatively clean fashion.<span> </span>The hiccups came in when trying to get the interfaces and abstract classes going.<span> </span></p>
<p class="MsoNormal">Having used abstract classes and interfaces from other more full-featured programming languages, when I read that it is <em>possible </em>to use these constructs in Actionscript, I took it for granted that they will work exactly the same way in Actionscript as they did in say, Java. I was flabbergasted when the compiler told me my classes + abstract classes + interfaces were illegal.<span> </span>After combing through reference manuals, I discovered these nuances about Actionscript:</p>
<p class="MsoNormal">1.<span> </span>No clean way of using singleton pattern &#8211; Constructors must be public. <span> </span>People online recommended throwing an exception when someone tries to instantiate the class using <strong>new</strong> <span> </span>and not the <strong>newInstance</strong> method &#8230; I don’t like this solution.</p>
<p class="MsoNormal">2. <span> </span>No <span> </span>method overloading – if I am trying to create another method of the same name with a different number of parameters in order to suit my specific class’ function better , it is not allowed.</p>
<p class="MsoNormal">3. No abstract classes, no abstract methods– Abstract classes in Actionscript can be “simulated” by writing them as concrete classes and then you either: A. Throw exceptions when instantiated or when unimplemented abstract methods are called.<span> </span>B. Write HUGE comments alerting the user to make sure to extend this class and not use it directly. <span> </span></p>
<p class="MsoNormal">There are many “hacks” floating around the web<span> </span>to work around the above problems.<span> </span>We are still deliberating on whether to use these hacks or change our design because the hacks do result in a bit of somewhat ugly code.<span> </span></p>
<p class="MsoNormal">The biggest problem I have with this is that it weakens the power of inheritance and encapsulation.<span> </span>I don’t see why I should be using inheritance when I can just encapsulate by composition. Aside from adding a bit more code per class and perhaps not making interface contracts as obvious, there doesn’t seem to be a significant downside. <span> </span>Hmmmmm&#8230; am I missing something?</p>
<p class="MsoNormal">In any case, the initial exciting period for Actionscript + Flex is over.<span> </span>Relationship authors call this <span> </span>“The Power Struggle Stage”.<span> </span>This is the stage when most breakups and divorces happen.<span> </span>Aside from noticing faults in the other party that were not apparent before, people in this stage also start to notice or seek out alternatives.<span> </span>So&#8230; I guess&#8230;. Hello Silverlight?</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pipe3f.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pipe3f.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pipe3f.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pipe3f.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pipe3f.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pipe3f.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pipe3f.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pipe3f.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pipe3f.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pipe3f.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pipe3f.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pipe3f.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=14&subd=pipe3f&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pipe3f.wordpress.com/2008/07/09/don%e2%80%99t-cha-wish-your-methods-can-overload-like-mine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c5f53e6871a5b350573aac8e729259b3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Ming T. Chow</media:title>
		</media:content>
	</item>
		<item>
		<title>Blasted Back to the Stone Ages.</title>
		<link>http://pipe3f.wordpress.com/2008/06/15/blasted-back-to-the-stone-ages/</link>
		<comments>http://pipe3f.wordpress.com/2008/06/15/blasted-back-to-the-stone-ages/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 00:17:29 +0000</pubDate>
		<dc:creator>Ming T. Chow</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pipe3f.wordpress.com/?p=12</guid>
		<description><![CDATA[My apologies for the lack of updates lately.  Just when I was about to ease into the weekly update interval, something terrible happened.
I remember I was 50 words or so into a new blog entry detailing my thoughts about our second demo. Before I could get to the part about how I managed to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=12&subd=pipe3f&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>My apologies for the lack of updates lately.  Just when I was about to ease into the weekly update interval, something terrible happened.</p>
<p>I remember I was 50 words or so into a new blog entry detailing my thoughts about our <a title="Second Demo" href="http://pipe3f.wordpress.com/2008/06/03/second-demo/" target="_blank">second demo</a>. Before I could get to the part about how I managed to &#8220;gently persuade&#8221; 11 people into posing for the pictures, my screen froze.  A reboot and a cup of hot chocolate later, I diagnosed my hard drive to be dead.  Even though I didn&#8217;t lose too much data (huzzah for backups + svn) and Lenovo&#8217;s warranty covered everything else, I still grieved over the loss of utility time and the eventual re-installation/reconfiguration of a load of software.  I was feeling very unmotivated and hence I did not finish the blog post.  Boo.</p>
<p>Fortunately, these past two weeks did not require too much coding work.  I have been using my dinky Asus EEE to tie me over until Lenovo ships me a new hard drive.  For fun, I installed Eclipse on it and discovered that I needed to scroll to complete the five lines necessary to print out &#8220;Hello World&#8221;.  I don&#8217;t want to imagine what Flex development would look like on it.</p>
<p>The next step in our project is to come up with a design for the SQL query building interface.  We will be expanding on the boxes and lines concept.  The approach is to let users who are unfamiliar with SQL and databases to be able to build meaningful SQL queries by simply dragging and dropping boxes and connecting them together.  The design we came up with was heavily graphical, verbose, and inefficient, but it might just do the trick at allowing our target audience to take baby steps towards building their desired query.  Of course, being computer scientists, we cannot trust our own judgment at determining the usability of this design because our needs are polar opposites of our target audience&#8217;s.  Hence, before we invest any more time in over-engineering features that probably won&#8217;t be utilized, Greg and Diane suggested that we get our hands dirty and get a paper prototype going and run some tests on our end-users.</p>
<p>For the last couple of days, Bing and I have been uncharacteristically doing arts and crafts in our office. Thanks to a little help (errr&#8230; a lot of help) from our arts and crafts consultants Victoria and Eva, we were able to complete a sparkly prototype by end-of-day yesterday.  Before people left for the day, we were able to capture Qi and &#8220;gently persuaded&#8221; him to try out our prototype.  We were surprised at the amount of user insights we can extract from testing with a paper prototype.  Perhaps more surprisingly, Qi was able to piece together all four of our test queries quite quickly.  We were expecting users to not be able to complete the last query since it required a non-obvious step if it was to be expressed in SQL. Qi was able to build the query by reasoning it out using our prototype&#8217;s interface. While it is tempting to conclude that we have created something truly magnificent, we choose to postpone the celebrations.  This is because even though Qi did not have any experience with  SQL and databases, he is still a computer science student so his brain may be too in-synced with ours.  We will have to wait until Monday to get a true assessment of the prototype&#8217;s usability when we try it out with two non-technical CS department faculty members.</p>
<p>Let&#8217;s hope my new hard drive arrives soon. The combination of the lack of a full-featured laptop and the arts &amp; crafts may soon be enough to drive me to find even more alternative ways to do activities that I used to do with a computer, like&#8230; errr&#8230; *gasp* read a book in non-pdf format?  Whoa.</p>
<p>Godspeed little hard drive, godspeed.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pipe3f.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pipe3f.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pipe3f.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pipe3f.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pipe3f.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pipe3f.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pipe3f.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pipe3f.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pipe3f.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pipe3f.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pipe3f.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pipe3f.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=12&subd=pipe3f&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pipe3f.wordpress.com/2008/06/15/blasted-back-to-the-stone-ages/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c5f53e6871a5b350573aac8e729259b3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Ming T. Chow</media:title>
		</media:content>
	</item>
		<item>
		<title>Second Demo</title>
		<link>http://pipe3f.wordpress.com/2008/06/03/second-demo/</link>
		<comments>http://pipe3f.wordpress.com/2008/06/03/second-demo/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 20:53:48 +0000</pubDate>
		<dc:creator>wenbing</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pipe3f.wordpress.com/?p=10</guid>
		<description><![CDATA[For our second demo, the goal was to implement an application that simulates dataflow between functions with different numbers of inputs and outputs.  We achieved this by extending our first demo and adding input and output points on each box. As well, we visualized the flow of data between boxes by having each box [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=10&subd=pipe3f&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>For our second demo, the goal was to implement an application that simulates dataflow between functions with different numbers of inputs and outputs.  We achieved this by extending our first demo and adding input and output points on each box. As well, we visualized the flow of data between boxes by having each box indicate when it receives input and when it sends along output.</p>
<p>Very brief instructions:<br />
1.    Drag boxes from the left panel to the right panel<br />
2.    Create connections between boxes by clicking on the red circles of two different boxes on different levels<br />
3.    Click on the “Layout Mode” button to switch to Dataflow mode<br />
4.    Double click on any box to simulate data flowing through that box to its children</p>
<p>For more detailed usage information, click on the Instructions button on the application.</p>
<p><a href="http://individual.utoronto.ca/ming/Demo2.swf">Click here to try out the demo  (Please be patient as sometimes it may take a while to load).</a></p>
<p>Tacked on message From Ming:</p>
<p>I just want to thank everyone who allowed me to take their pictures for this demo and more importantly, trust me enough to not post these pictures up on hotornot.  You guys rock.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pipe3f.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pipe3f.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pipe3f.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pipe3f.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pipe3f.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pipe3f.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pipe3f.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pipe3f.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pipe3f.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pipe3f.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pipe3f.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pipe3f.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=10&subd=pipe3f&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pipe3f.wordpress.com/2008/06/03/second-demo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fbe837f4e05f2c118c33b415e49103d0?s=96&#38;d=identicon" medium="image">
			<media:title type="html">wenbing</media:title>
		</media:content>
	</item>
		<item>
		<title>Dragging My Way To The Bank.</title>
		<link>http://pipe3f.wordpress.com/2008/05/24/dragging-my-way-to-the-bank/</link>
		<comments>http://pipe3f.wordpress.com/2008/05/24/dragging-my-way-to-the-bank/#comments</comments>
		<pubDate>Sat, 24 May 2008 15:38:46 +0000</pubDate>
		<dc:creator>Ming T. Chow</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pipe3f.wordpress.com/?p=9</guid>
		<description><![CDATA[While maybe not as important as listeners, dragging and  dropping is an action we all know and love.  Remember your bewilderment the first time you dragged a chunk of a spreadsheet into your word processor and watched as a neat little table was constructed before your eyes?  Do you not sometimes open [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=9&subd=pipe3f&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>While maybe not as important as listeners, dragging and  dropping is an action we all know and love.  Remember your bewilderment the first time you dragged a chunk of a spreadsheet into your word processor and watched as a neat little table was constructed before your eyes?  Do you not sometimes open up a bunch of unrelated programs and try to drag objects from one to the other in hopes that the little icon with the + sign on it will replace your mouse cursor as if to say, &#8220;Yes, you are welcomed here my friend&#8230;&#8221;?   Wouldn&#8217;t it be fantastic if we can experience this delightful sensation more often?  I certainly think so.</p>
<p>Snapping back to reality, our next task is to come up with a second demo that allows users to connect boxes together via multiple input/output points.  As well, users can insert different types of boxes into the main canvas by dragging and dropping from a toolbar.  There&#8217;s a lot more to it, but I&#8217;ll save that discussion for when we have completed more of the demo.</p>
<p>Even though the first demo did everything we wanted it to, I was still feeling a bit uneasy about advanced uses of listeners. Moreover, I needed to learn how to implement drag and drop.  After researching a bit about dragging and dropping, things are fuzzy when I try to visualize how all the handler functions work together.  Smartly, I decided to write a simple application to help me see it all in action&#8230;</p>
<p>OK, now phasing back into dreamland.</p>
<p>We are all drag and drop fanatics. However, most of us don&#8217;t get the chance to do it often enough.   So perhaps if we can integrate drag and drop with some of our more common computing tasks, we can rely on and appreciate dragging and dropping even more.  This is the need I set out to satisfy with my newest software innovation:</p>
<p><a href="http://individual.utoronto.ca/ming/test2.html">Click here to experience the latest breakthrough in HCI and productivity. (but it may take a while to load because UT&#8217;s webspace isn&#8217;t exactly optimized for serving webpages or handle web requests in general)</a></p>
<p>I think I will start calling up Microsoft about buying me out with some of that yummy Yahoo money&#8230; I don&#8217;t think they will want to risk dealing with a potential threat to their multi-billion dollar cash cow.  Now the question is, how many zeroes do I want on my cheque?  &#8230; Wish me luck!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pipe3f.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pipe3f.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pipe3f.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pipe3f.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pipe3f.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pipe3f.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pipe3f.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pipe3f.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pipe3f.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pipe3f.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pipe3f.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pipe3f.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=9&subd=pipe3f&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pipe3f.wordpress.com/2008/05/24/dragging-my-way-to-the-bank/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c5f53e6871a5b350573aac8e729259b3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Ming T. Chow</media:title>
		</media:content>
	</item>
		<item>
		<title>First Demo</title>
		<link>http://pipe3f.wordpress.com/2008/05/21/first-demo/</link>
		<comments>http://pipe3f.wordpress.com/2008/05/21/first-demo/#comments</comments>
		<pubDate>Wed, 21 May 2008 17:20:39 +0000</pubDate>
		<dc:creator>wenbing</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pipe3f.wordpress.com/?p=7</guid>
		<description><![CDATA[So, here is the first demo that we showed to Greg yesterday: Demo
The demo is just a basic app that allows boxes to be created, connected to each other via lines, and dragged around the canvas.  Developing this demo is the first step in moving towards the goal of our project which is to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=7&subd=pipe3f&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>So, here is the first demo that we showed to Greg yesterday: <a href="http://individual.utoronto.ca/wenbing/flareflow.swf">Demo</a></p>
<p>The demo is just a basic app that allows boxes to be created, connected to each other via lines, and dragged around the canvas.  Developing this demo is the first step in moving towards the goal of our project which is to create a pipe and filter interface that allows users to select columns and rows from SQL databases and perform transformations on the data by piping it through different filters without having to write any code.</p>
<p>Since we were not very experienced with ActionScript 3 and Flex, the initial design we used to develop our demo was not ideal so we have since thrown away the code.  We are now writing a new design document that will be used in developing the next step of our application.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pipe3f.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pipe3f.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pipe3f.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pipe3f.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pipe3f.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pipe3f.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pipe3f.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pipe3f.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pipe3f.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pipe3f.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pipe3f.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pipe3f.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=7&subd=pipe3f&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pipe3f.wordpress.com/2008/05/21/first-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fbe837f4e05f2c118c33b415e49103d0?s=96&#38;d=identicon" medium="image">
			<media:title type="html">wenbing</media:title>
		</media:content>
	</item>
		<item>
		<title>Listeners. More Fun Than Tijuana Bottle Rockets.</title>
		<link>http://pipe3f.wordpress.com/2008/05/19/listeners-more-fun-than-tijuana-bottle-rockets/</link>
		<comments>http://pipe3f.wordpress.com/2008/05/19/listeners-more-fun-than-tijuana-bottle-rockets/#comments</comments>
		<pubDate>Mon, 19 May 2008 19:47:40 +0000</pubDate>
		<dc:creator>Ming T. Chow</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pipe3f.wordpress.com/?p=6</guid>
		<description><![CDATA[Listening is a very important interpersonal skill.   It allows you to understand other people&#8217;s needs and motivations. As well, it prevents you from talking for five minutes straight before finding out she doesn&#8217;t understand English. *sigh*
In UI programming terms, listening is just as important.  Listeners and events allow an application to react [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=6&subd=pipe3f&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Listening is a very important interpersonal skill.   It allows you to understand other people&#8217;s needs and motivations. As well, it prevents you from talking for five minutes straight before finding out she doesn&#8217;t understand English. *sigh*</p>
<p>In UI programming terms, listening is just as important.  Listeners and events allow an application to react promptly to user input without having to continuously poll each component for change.  Without them, your flashy UI will be as useful and interactive as a jpeg.    Hence, we can think of listeners as the hyphen in &#8220;Human-Computer Interaction&#8221;.  Yes, listeners are just that important.</p>
<p>Now, what happens if your listeners develop hearing problems?  And what if they start eavesdropping on things they are not supposed to hear?  Those are the problems I experienced this week.  Some of the listeners I registered for basic events were behaving oddly.  Sometimes they would respond correctly, but sometimes they would not.  The friendly debugger informed me that the reason why they did not respond was because they were listening to another unassigned event instead.  While I am sure there&#8217;s a perfectly logical explanation for this buried within the Flash+Flex event model, I still dropped quite a few hours trying to figure it out.   After stepping through nearly every line in my code (it wasn&#8217;t that long) and still couldn&#8217;t find the problem, I was beginning to think it could be the fault of the Flash+Flex framework. As I was about to dive into the event dispatching code of the framework, I recalled the wise words of one of my mentors: <em>&#8220;If you find yourself placing breakpoints on the SDK&#8217;s code, you may end up finding the bug, but you will not find happiness.&#8221;</em> Agreeing with what he said, I stopped debugging and started rewriting a good chunk of the code.  To put it briefly, the code works now.</p>
<p>Coming from a Java/.NET background, having to cast doubt upon the correctness of the framework is a new sensation to me.  Logically, I do not believe it was the fault of Flash+Flex because listeners are the backbone of all that is interactive. If there are any problems with their listener code, I probably wouldn&#8217;t be the lucky first person to discover them.  Still, it irks me that I was not able to figure it out grrrr&#8230;.  On the upside though, I did learn a lot more about the listener/event model which may come in handy later.</p>
<p>Gonna celebrate this happy ending by blowing up some fireworks tonight.   Wee.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pipe3f.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pipe3f.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pipe3f.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pipe3f.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pipe3f.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pipe3f.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pipe3f.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pipe3f.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pipe3f.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pipe3f.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pipe3f.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pipe3f.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=6&subd=pipe3f&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pipe3f.wordpress.com/2008/05/19/listeners-more-fun-than-tijuana-bottle-rockets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c5f53e6871a5b350573aac8e729259b3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Ming T. Chow</media:title>
		</media:content>
	</item>
		<item>
		<title>Flash, Flex, Flare, Flaw?    (Say this 10 times fast)</title>
		<link>http://pipe3f.wordpress.com/2008/05/14/flash-flex-flare-flaw/</link>
		<comments>http://pipe3f.wordpress.com/2008/05/14/flash-flex-flare-flaw/#comments</comments>
		<pubDate>Wed, 14 May 2008 18:08:47 +0000</pubDate>
		<dc:creator>Ming T. Chow</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pipe3f.wordpress.com/?p=5</guid>
		<description><![CDATA[Starting this project armed with 5-year-old knowledge of Flash proved to be more of a challenge than starting fresh. Despite this, I am actually glad that Flash has changed so dramatically in the last few years because I was initially dreading developing with Actionscript on the IDE provided by Flash. Perhaps it was the concept [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=5&subd=pipe3f&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal">Starting this project armed with 5-year-old knowledge of Flash proved to be more of a challenge than starting fresh.<span> </span>Despite this, I am actually glad that Flash has changed so dramatically in the last few years because I was initially dreading developing with Actionscript on the IDE provided by Flash.<span> </span>Perhaps it was the concept of linking code to specific frames in animation and not having a coherent way of managing such code; or perhaps it was Actionscript being such a primitive and messy language that I couldn’t imagine how anyone could have built any serious applications with it.<span> </span>In either case, it seems I was not the only one who had these gripes because Actionscript 3.0 and Flex 3 were a quantum leap in allowing developers to build and maintain complex applications in Flash.<span> </span>Surely, this magnitude of change couldn’t have been possible without many angry emails and blog posts from disgruntled developers.<span> </span>As I was reading the books on the subject, I kept reminiscing about just how awkward some of the implementations were in the previous versions of Flash/Actionscript.<span> </span>Fortunately for me, this nostalgia only served as a minor distraction since I do agree with most of the changes and additions (unlike my generic journey from Java 1.4 to 1.5).<span> </span>Nevertheless, I would imagine someone with no prior Flash experience would have a slight advantage over me with learning this stuff.<span> </span><span> </span>Wenbing probably may want to comment on this.</p>
<p class="MsoNormal">With my newly restored faith in Flash+Flex development, I am looking forward to the finished product in a few months.  I am also excited about doing some nifty things with Flare, but too bad the first milestone of this project doesn’t require it. I am actually a tad bit concerned that Flare is still in alpha.<span> Call it a superstition, but </span>I haven’t had good experiences with early iterations of software with names beginning with “FL” (except maybe Flickr beta, but it wasn’t really a beta anyways).<span> For the sake of this project, </span>let’s hope this superstition has as much truth in it as my horoscopes.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pipe3f.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pipe3f.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pipe3f.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pipe3f.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pipe3f.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pipe3f.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pipe3f.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pipe3f.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pipe3f.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pipe3f.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pipe3f.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pipe3f.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=5&subd=pipe3f&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pipe3f.wordpress.com/2008/05/14/flash-flex-flare-flaw/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c5f53e6871a5b350573aac8e729259b3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Ming T. Chow</media:title>
		</media:content>
	</item>
		<item>
		<title>About the Project</title>
		<link>http://pipe3f.wordpress.com/2008/05/14/first-post/</link>
		<comments>http://pipe3f.wordpress.com/2008/05/14/first-post/#comments</comments>
		<pubDate>Wed, 14 May 2008 14:50:59 +0000</pubDate>
		<dc:creator>Ming T. Chow</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pipe3f.wordpress.com/?p=3</guid>
		<description><![CDATA[The aim of this project is to build a data connectivity layer for use with the Flare toolkit (http://flare.prefuse.org).  This toolkit will allow users to select tables and columns from a SQL database to feed into a transformation and visualization pipeline without writing any explicit code. This involves building a drag-and-drop pipe-and-filter interface modeled [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=3&subd=pipe3f&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The aim of this project is to build a data connectivity layer for use with the Flare toolkit (<a href="http://flare.prefuse.org/" target="_blank">http://flare.prefuse.org</a>).  This toolkit will allow users to select tables and columns from a SQL database to feed into a transformation and visualization pipeline without writing any explicit code. This involves building a drag-and-drop pipe-and-filter interface modeled on those of Houdini, Maya, and Yahoo! Pipes for use with the Flare toolkit.  Work will be done using Flash and Flex.</p>
<p>pipe3f is not an official name for this project (at least we hope not), but it sounded cool at the time when registering for an account for wordpress =p</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pipe3f.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pipe3f.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pipe3f.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pipe3f.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pipe3f.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pipe3f.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pipe3f.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pipe3f.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pipe3f.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pipe3f.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pipe3f.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pipe3f.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pipe3f.wordpress.com&blog=3725888&post=3&subd=pipe3f&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pipe3f.wordpress.com/2008/05/14/first-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c5f53e6871a5b350573aac8e729259b3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Ming T. Chow</media:title>
		</media:content>
	</item>
	</channel>
</rss>