<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>swf</title><link>http://blog.debreuil.com/category/1.aspx</link><description>swf</description><managingEditor>Robin Debreuil</managingEditor><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Robin Debreuil</dc:creator><title>Horrible IDE experience with otherwise reasonable IntelliJ</title><link>http://blog.debreuil.com/archive/2008/03/30/7189.aspx</link><pubDate>Sun, 30 Mar 2008 07:43:00 GMT</pubDate><guid>http://blog.debreuil.com/archive/2008/03/30/7189.aspx</guid><wfw:comment>http://blog.debreuil.com/comments/7189.aspx</wfw:comment><comments>http://blog.debreuil.com/archive/2008/03/30/7189.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.debreuil.com/comments/commentRss/7189.aspx</wfw:commentRss><trackback:ping>http://blog.debreuil.com/services/trackbacks/7189.aspx</trackback:ping><description>&lt;p&gt;
I've been looking for something good to edit JSFL with, and tried out IntelliJ. Firstly the IDE is pretty nice, no question. You can't alt select columns, and dragging text is very flakey (my two favorite things), but other than that is seems very solid. Tons of refactoring for Java in there if that is what you are doing. The Javascript support is reasonable, as far as JS goes anyway (code sense is a hard problem in JS - I helped with that at Aptana so I'm pretty lenient there : ).
&lt;/p&gt;
&lt;p&gt;
The bad thing is actually from a combo of 'enhanced' behaviours. First, Redo is ctrl/shift/Z rather than the more standard on Windows ctrl Y (Adobe, MS..). I'm a long time Corel IDE fan (also ctrl/shift/Z), so that isn't a problem. The problem is ctrl Y is mapped to something destructive -- delete current line! Once in a while I will want to copy something from an hour ago, so I will hold down Ctrl Z until I'm sure I'm at a point where the old version has the code I'm interested in, then *carefully* find it and maybe copy it. Then I hold down Ctrl Y until I'm all the way back. I'm sure you can guess what happened - went back over a lot of hard earned JSFL code, then held down ctrl Y, which is delete line (an edit). The text flickers in this mode, so it took me a minute to figure out what was up.
&lt;/p&gt;
&lt;p&gt;
Ok, at this point your doc is seriously screwed up, you are afraid, and you are wondering what best to do. I gingerly closed the document (after all I hadn't saved), and got the hell out of IntelliJ. When you meet a bear in the woods, just drop your pack and back away slowly. To my very big surprise when I opened the 16k file in TextPad (hmm, wasn't that 20k? well whatever), I realize intelliJ saves your file on every single edit. Well isn't that fucking clever. I'm all for thinking outside the box, but rule one of an IDE is don't pooch the user data. If something as common as redo is remapped, the old default shouldn't be the total opposite of what you wanted there. And if you save every keystroke, you should make a backup somewhere between regular saves, that is obvious to find. 
&lt;/p&gt;
&lt;p&gt;
It is a good IDE, but Javascript isn't so much fun that I'd pay $250 to have it destroyed by my muscle memory.
&lt;/p&gt;
&lt;p&gt;
(And for the record, I haven't worked at Aptana for a while -- I was using intelliJ because it seems Aptana didn't get near the code completion I remember it getting. So this isn't a ra ra thing, it is just a big hairy complaint).
&lt;/p&gt;
&lt;img src ="http://blog.debreuil.com/aggbug/7189.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Robin Debreuil</dc:creator><title>reading and writing bitmap fills in JSFL - a solution</title><link>http://blog.debreuil.com/archive/2008/03/29/7158.aspx</link><pubDate>Sat, 29 Mar 2008 06:28:00 GMT</pubDate><guid>http://blog.debreuil.com/archive/2008/03/29/7158.aspx</guid><wfw:comment>http://blog.debreuil.com/comments/7158.aspx</wfw:comment><comments>http://blog.debreuil.com/archive/2008/03/29/7158.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.debreuil.com/comments/commentRss/7158.aspx</wfw:commentRss><trackback:ping>http://blog.debreuil.com/services/trackbacks/7158.aspx</trackback:ping><description>&lt;p&gt;
I've been doing a boat load of JSFL recently for this Sesame project (50,000 assets will drive anyone to JSFL). One of the things that always bothered me in JSFL though, was the inability to manipulate bitmap fills. That may not seem like a big deal, however it is *the one thing* that prevents accurate document transformation/recreation. I made a tool 'sel2Draw' a few years back for a devnet cd, where you could select an object on the stage, and it would convert it all to code. It could do everything *but* bitmap fills. So it worked ok, but if you wanted to use it for anything automated you couldn't trust it. Yes, a toy.
&lt;/p&gt;
&lt;p&gt;
Completeness is really important for this current side project, so I decided to do the dirty. I was about half way through hooking up the swfParser/Generator lib (from theConverted) to get the info from an exported swf (yuck). Getting that and matching it up, even with the tools, is tricky -- and you end up with a lot of new problems. Besides, it is just ugly, and I mean that  in the bad sense of the word. About half way through though, I realized there was enough info to get bitmap fills from JSFL alone! It is actually pretty straight forward in the end, not sure why I didn't get this last time. I did hook it all up to sel2Draw, and sure enough it worked : ).
&lt;/p&gt;
&lt;p&gt;
By paragraph three, you really need to get to the point. The way sel2Draw gets colors, is it converts the vectors into closed rings, and then tests the inside of those rings by making a small selection. You can then call getCustomFill on the selection (not to trivialize, getting the rings and knowing where to sample is actually a fairly hard problem). So if this sample is a bitmapFill, you will get back 'red solid fill' from JSFL (bitmap fills are red underneath, as you can see when you accidentally delete a bitmap from the library). So solid red color is the flag that tells you when you need to test for a bitmap fill. All you have to do here is paste your little selection in a new document, then check that doc's library. It will either be empty (which means it was an actual red fill), or the new library will have a single bitmap, which will have the same name as the bitmap fill used in your fill! The original solid red fill will still have a matrix, and that is the bmpFill matrix. 
&lt;/p&gt;
&lt;p&gt;
To recreate that fill, place the bitmap of the same name somewhere on to a blank peice of stage. Then apply the matrix to it, and break it apart (in that order). Sample this the same way (selection, getCustomFill), delete this temp object, and then fill your real object with the current fill (make sure the fill is locked).  And that is all there is to do : ).
&lt;/p&gt;
&lt;p&gt;
Here is some temp code I was using, it assumes a single unicolor selection. Obviously you could make it more efficient, eg, I use a single scratch doc that keeps getting cleaned out for this for the whole parse, etc... In any case, this is the jist...
&lt;/p&gt;

&lt;style type="text/css"&gt;&lt;!--
.TPtext { color: #000000; background-color: #EAEFF3; }
.TPkeyword1 { color: #0000FF; background-color: #EAEFF3; }
.TPkeyword3 { color: #000080; background-color: #EAEFF3; }
.TPkeyword4 { color: #000080; background-color: #EAEFF3; }
.TPkeyword5 { color: #000080; background-color: #EAEFF3; }
.TPkeyword6 { color: #000080; background-color: #EAEFF3; }
.TPcomment { color: #008000; background-color: #EAEFF3; }
.TPnumber { color: #000000; background-color: #EAEFF3; }
.TPstring { color: #008080; background-color: #EAEFF3; }
.TPbracket { color: #FF0000; background-color: #EAEFF3; }
.TPoperator { color: #000000; background-color: #EAEFF3; }
--&gt;&lt;/style&gt;
&lt;pre&gt;
    &lt;span class="TPkeyword1"&gt;else if&lt;/span&gt;&lt;span class="TPbracket"&gt;(&lt;/span&gt;foundFill.&lt;span class="TPkeyword6"&gt;style &lt;/span&gt;&lt;span class="TPoperator"&gt;== &lt;/span&gt;&lt;span class="TPstring"&gt;"solid"&lt;/span&gt;&lt;span class="TPbracket"&gt;)&lt;/span&gt;
    &lt;span class="TPbracket"&gt;{   &lt;/span&gt;
        &lt;span class="TPkeyword5"&gt;var &lt;/span&gt;colString &lt;span class="TPoperator"&gt;= &lt;/span&gt;foundFill.&lt;span class="TPkeyword6"&gt;color&lt;/span&gt;.&lt;span class="TPkeyword3"&gt;substring&lt;/span&gt;&lt;span class="TPbracket"&gt;(&lt;/span&gt;&lt;span class="TPnumber"&gt;1&lt;/span&gt;,&lt;span class="TPnumber"&gt;8&lt;/span&gt;&lt;span class="TPbracket"&gt;);&lt;/span&gt;
        foundString &lt;span class="TPoperator"&gt;= &lt;/span&gt;&lt;span class="TPstring"&gt;"[0x" &lt;/span&gt;&lt;span class="TPoperator"&gt;+ &lt;/span&gt;colString &lt;span class="TPoperator"&gt;+ &lt;/span&gt;&lt;span class="TPstring"&gt;"]"&lt;/span&gt;&lt;span class="TPbracket"&gt;;&lt;/span&gt;
        &lt;span class="TPkeyword5"&gt;var &lt;/span&gt;bmpFill &lt;span class="TPoperator"&gt;= &lt;/span&gt;&lt;span class="TPstring"&gt;""&lt;/span&gt;&lt;span class="TPbracket"&gt;;&lt;/span&gt;
        &lt;span class="TPkeyword1"&gt;if&lt;/span&gt;&lt;span class="TPbracket"&gt;(&lt;/span&gt;colString.&lt;span class="TPkeyword3"&gt;toLowerCase&lt;/span&gt;&lt;span class="TPbracket"&gt;() &lt;/span&gt;&lt;span class="TPoperator"&gt;== &lt;/span&gt;&lt;span class="TPstring"&gt;"ff0000"&lt;/span&gt;&lt;span class="TPbracket"&gt;)&lt;/span&gt;
        &lt;span class="TPbracket"&gt;{&lt;/span&gt;
            &lt;span class="TPcomment"&gt;// might be bitmap fill&lt;/span&gt;
            curDoc.clipCopy&lt;span class="TPbracket"&gt;();&lt;/span&gt;
            &lt;span class="TPkeyword5"&gt;var &lt;/span&gt;testDoc &lt;span class="TPoperator"&gt;= &lt;/span&gt;fl.createDocument&lt;span class="TPbracket"&gt;();&lt;/span&gt;
            testDoc.clipPaste&lt;span class="TPbracket"&gt;();&lt;/span&gt;
            
            &lt;span class="TPkeyword1"&gt;for &lt;/span&gt;&lt;span class="TPbracket"&gt;(&lt;/span&gt;&lt;span class="TPkeyword5"&gt;var i &lt;/span&gt;&lt;span class="TPoperator"&gt;= &lt;/span&gt;&lt;span class="TPnumber"&gt;0&lt;/span&gt;&lt;span class="TPbracket"&gt;; &lt;/span&gt;&lt;span class="TPkeyword5"&gt;i &lt;/span&gt;&lt;span class="TPoperator"&gt;&amp;lt; &lt;/span&gt;testDoc.library.items.&lt;span class="TPkeyword4"&gt;length&lt;/span&gt;&lt;span class="TPbracket"&gt;; &lt;/span&gt;&lt;span class="TPkeyword5"&gt;i&lt;/span&gt;&lt;span class="TPoperator"&gt;++&lt;/span&gt;&lt;span class="TPbracket"&gt;) &lt;/span&gt;
            &lt;span class="TPbracket"&gt;{&lt;/span&gt;
                &lt;span class="TPkeyword5"&gt;var &lt;/span&gt;itm &lt;span class="TPoperator"&gt;= &lt;/span&gt;testDoc.library.items&lt;span class="TPbracket"&gt;[&lt;/span&gt;&lt;span class="TPkeyword5"&gt;i&lt;/span&gt;&lt;span class="TPbracket"&gt;];&lt;/span&gt;
                &lt;span class="TPkeyword1"&gt;if &lt;/span&gt;&lt;span class="TPbracket"&gt;(&lt;/span&gt;itm.itemType &lt;span class="TPoperator"&gt;== &lt;/span&gt;&lt;span class="TPstring"&gt;"bitmap"&lt;/span&gt;&lt;span class="TPbracket"&gt;) &lt;/span&gt;
                &lt;span class="TPbracket"&gt;{           &lt;/span&gt;
                    bmpFill &lt;span class="TPoperator"&gt;= &lt;/span&gt;itm.&lt;span class="TPkeyword6"&gt;name&lt;/span&gt;&lt;span class="TPbracket"&gt;;&lt;/span&gt;
                    &lt;span class="TPkeyword1"&gt;break&lt;/span&gt;&lt;span class="TPbracket"&gt;;&lt;/span&gt;
                &lt;span class="TPbracket"&gt;}&lt;/span&gt;
            &lt;span class="TPbracket"&gt;}&lt;/span&gt;
            fl.closeDocument&lt;span class="TPbracket"&gt;(&lt;/span&gt;testDoc, &lt;span class="TPkeyword4"&gt;false&lt;/span&gt;&lt;span class="TPbracket"&gt;);&lt;/span&gt;
            trace&lt;span class="TPbracket"&gt;(&lt;/span&gt;&lt;span class="TPstring"&gt;"bmpFill: " &lt;/span&gt;&lt;span class="TPoperator"&gt;+ &lt;/span&gt;bmpFill&lt;span class="TPbracket"&gt;);&lt;/span&gt;
        &lt;span class="TPbracket"&gt;}&lt;/span&gt;
    &lt;span class="TPbracket"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;img src ="http://blog.debreuil.com/aggbug/7158.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Robin Debreuil</dc:creator><title>Weirdest VS2008/.Net3.0 bug...</title><link>http://blog.debreuil.com/archive/2008/03/26/7077.aspx</link><pubDate>Wed, 26 Mar 2008 01:16:00 GMT</pubDate><guid>http://blog.debreuil.com/archive/2008/03/26/7077.aspx</guid><wfw:comment>http://blog.debreuil.com/comments/7077.aspx</wfw:comment><comments>http://blog.debreuil.com/archive/2008/03/26/7077.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.debreuil.com/comments/commentRss/7077.aspx</wfw:commentRss><trackback:ping>http://blog.debreuil.com/services/trackbacks/7077.aspx</trackback:ping><description>&lt;p&gt;
I'm running a dll from .net 2.0, and it runs fine. I load it into a .Net 3.0 program, and boom it fails --- on a basic switch statement it takes the wrong branch. I can set breakpoints, verify values/equality in the immediate window, all is fine. It just chooses to run the wrong branch. Very disturbing.
&lt;/p&gt;
&lt;p&gt;
For the record here is the code that is failing, maybe I'm just not spotting something obvious.
&lt;/p&gt;
&lt;pre&gt;
switch (curTag) // value is TagType.RemoveObject2
{
	case TagType.RemoveObject: // *** takes this branch
		ControlTags.Add(new RemoveObjectTag(r)); 
		break;

	case TagType.RemoveObject2:
		ControlTags.Add(new RemoveObject2Tag(r));
		break;
		
// from the immediate window:

curTag == TagType.RemoveObject
false
(int)curTag
28
(int)TagType.RemoveObject2
28
(int)TagType.RemoveObject
5
curTag == TagType.RemoveObject2
true
&lt;/pre&gt;

&lt;p&gt;
Not sure what to say here, I keep thinking it is something stupid, but it is the same dll both times (runs fine from a .net 2.0 program that refs the same dll, and parses the same swf file, and even uses the same code to do that). Maybe they just aren't meant to run together? Hmm...
&lt;/p&gt;&lt;img src ="http://blog.debreuil.com/aggbug/7077.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Robin Debreuil</dc:creator><title>PhillipK explains why you might need different technolgies in a nice non technical way</title><link>http://blog.debreuil.com/archive/2008/02/23/6996.aspx</link><pubDate>Sat, 23 Feb 2008 12:05:00 GMT</pubDate><guid>http://blog.debreuil.com/archive/2008/02/23/6996.aspx</guid><wfw:comment>http://blog.debreuil.com/comments/6996.aspx</wfw:comment><comments>http://blog.debreuil.com/archive/2008/02/23/6996.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.debreuil.com/comments/commentRss/6996.aspx</wfw:commentRss><trackback:ping>http://blog.debreuil.com/services/trackbacks/6996.aspx</trackback:ping><description>http://www.youtube.com/profile_videos?user=phillipk&amp;search_query=30onair&amp;search=Search&lt;img src ="http://blog.debreuil.com/aggbug/6996.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Robin Debreuil</dc:creator><title>Sky and Free's awesome XNA game - YouTube video</title><link>http://blog.debreuil.com/archive/2008/02/21/6993.aspx</link><pubDate>Thu, 21 Feb 2008 17:31:00 GMT</pubDate><guid>http://blog.debreuil.com/archive/2008/02/21/6993.aspx</guid><wfw:comment>http://blog.debreuil.com/comments/6993.aspx</wfw:comment><comments>http://blog.debreuil.com/archive/2008/02/21/6993.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.debreuil.com/comments/commentRss/6993.aspx</wfw:commentRss><trackback:ping>http://blog.debreuil.com/services/trackbacks/6993.aspx</trackback:ping><description>&lt;p&gt;
Sometimes people ask me if I helped - I didn't, and quite honestly I couldn't do a lot of that shader madness even if they wanted help : ). My Grandma bought me my first computer (a Vic-20) when I was exactly 15, so I guess they have a head start.  Still...
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.youtube.com/watch?v=nTj-Q5i9yuM"&gt;http://www.youtube.com/watch?v=nTj-Q5i9yuM&lt;/a&gt;
&lt;/p&gt;
&lt;img src ="http://blog.debreuil.com/aggbug/6993.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Robin Debreuil</dc:creator><title>Fix for Annoying Mac (Flash) Projector Bug</title><link>http://blog.debreuil.com/archive/2008/01/07/6947.aspx</link><pubDate>Mon, 07 Jan 2008 00:21:00 GMT</pubDate><guid>http://blog.debreuil.com/archive/2008/01/07/6947.aspx</guid><wfw:comment>http://blog.debreuil.com/comments/6947.aspx</wfw:comment><comments>http://blog.debreuil.com/archive/2008/01/07/6947.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.debreuil.com/comments/commentRss/6947.aspx</wfw:commentRss><trackback:ping>http://blog.debreuil.com/services/trackbacks/6947.aspx</trackback:ping><description>&lt;p&gt;
This bug has been a big problem in a project I'm currently on (Kid's game CD's), and I haven't seen a fix online so I thought I should post this (at least for myself as I'll forget : ).
&lt;/p&gt;
&lt;p&gt;
When creating a custom cursor, you need to hide the existing arrow cursor -- Mouse.hide() works fine. However, in projectors (mac and win), when you right click and get the dialog, the cursor reappears. Ok, this is probably a bug, but you can just listen for a mouse up, and rehide the arrow cursor. However, on that Mac projector, this doesn't work. If you call hide again, even a million times in a row, the arrow is still visible, and exists over top whatever custom cursor you've made.
&lt;/p&gt;
&lt;p&gt;
It ends up it will work if you call show again before calling hide. I suspect that there is something in there trying to be too smart - checking some internally set state that keeps track of cursor visibility, seeing that it is already invisible, and not bothering to make it invisible. That is probably out of whack due to the bug on right click. As a general rule I always try to run things like that anyway (when running them twice has no effect). If that isn't possible, then at least I try to check the state as close to home as possible (which in this case would be asking the OS). Of course that may well not be possible in this case, who knows.
&lt;/p&gt;
&lt;p&gt;
I can't believe I've gotten this far without cursing the stupid mandatory right click dialog, that is my all time most hated thing about Flash. I don't care if it is hard, or even costly, sometimes you really really don't want to have that. At very least, it shouldn't also cause extra bugs, yuck.
&lt;/p&gt;
&lt;p&gt;
Anyway, got my rant in, here is some code. The updateAfterEvent probably isn't needed, I was just being superstitious (it does cause an occasional slight arrow flicker - my mac is in the house or I'd test).
&lt;/p&gt;

&lt;pre&gt;
Mouse.hide();
var rcListener:Object = {};
rcListener.onMouseUp = function()
{
   Mouse.show();
   updateAfterEvent();
   Mouse.hide();
}
Mouse.addListener(rcListener);
&lt;/pre&gt;&lt;img src ="http://blog.debreuil.com/aggbug/6947.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Robin Debreuil</dc:creator><title>Adobe copying MS!</title><link>http://blog.debreuil.com/archive/2007/11/25/6564.aspx</link><pubDate>Sun, 25 Nov 2007 13:59:00 GMT</pubDate><guid>http://blog.debreuil.com/archive/2007/11/25/6564.aspx</guid><wfw:comment>http://blog.debreuil.com/comments/6564.aspx</wfw:comment><comments>http://blog.debreuil.com/archive/2007/11/25/6564.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.debreuil.com/comments/commentRss/6564.aspx</wfw:commentRss><trackback:ping>http://blog.debreuil.com/services/trackbacks/6564.aspx</trackback:ping><description>&lt;p&gt;
I can't believe Adobe would so blatantly copy MS on this (ok this is a joke, my last post said the opposite, I was wrong, and just trying to be fair and balanced here!):
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/presspass/press/2004/oct04/10-05msacrossamericapr.mspx"&gt;http://www.microsoft.com/presspass/press/2004/oct04/10-05msacrossamericapr.mspx&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://onair.adobe.com/blogs/onair/category/onair2007/"&gt;http://onair.adobe.com/blogs/onair/category/onair2007/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
For the record, MS has done the road trip before : ).
&lt;/p&gt;&lt;img src ="http://blog.debreuil.com/aggbug/6564.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Robin Debreuil</dc:creator><title>One good road trip deserves another, I guess</title><link>http://blog.debreuil.com/archive/2007/11/09/6492.aspx</link><pubDate>Fri, 09 Nov 2007 02:40:00 GMT</pubDate><guid>http://blog.debreuil.com/archive/2007/11/09/6492.aspx</guid><wfw:comment>http://blog.debreuil.com/comments/6492.aspx</wfw:comment><comments>http://blog.debreuil.com/archive/2007/11/09/6492.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.debreuil.com/comments/commentRss/6492.aspx</wfw:commentRss><trackback:ping>http://blog.debreuil.com/services/trackbacks/6492.aspx</trackback:ping><description>&lt;p&gt;
&lt;strong&gt;Edit: Oops, one more link:&lt;/strong&gt;
&lt;a href="http://www.microsoft.com/presspass/press/2004/oct04/10-05msacrossamericapr.mspx"&gt;http://www.microsoft.com/presspass/press/2004/oct04/10-05msacrossamericapr.mspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Ok, I'm an idiot, ignore this post : )
&lt;/p&gt;

&lt;p&gt;
1) &lt;a href="http://onair.adobe.com/blogs/onair/category/onair2007/"&gt;http://onair.adobe.com/blogs/onair/category/onair2007/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
2) &lt;a href="http://thecodetrip.com/"&gt;http://thecodetrip.com/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
So is this something software companies do a lot? The first I heard of it was the Adobe one, but maybe it this has been happening over and over, and the buses never make it to Manitoba... If it is just a straight copy, man, first they have &lt;href="http://www.asvguy.com/2007/11/where-to-get-ad.html"&gt;PDF Envy&lt;/a&gt; with XPS (I looked that name up btw), then Flash envy with Silverlight, and now it seems even bus trip envy. So what is next, hairstyles? Finding out what these people name their pets?
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;"Man, if we only had a public faced tech guy with a little grey streak on the front of his hair, oh and a blogger named John that sometimes wore a cowboy-ish hat... What else, well looky here, we need to rename fluffy to BlingThing-- doh, that is it -- now Silverlight will take off like a rocket!"&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
Ok, or more likely someone wanted a good road trip, and who can question pure heart motivation like that... PS, Mantioba is up from North Dakota, stop by for all the hot chocolate you can hold : ).
&lt;/p&gt; 
&lt;img src ="http://blog.debreuil.com/aggbug/6492.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Robin Debreuil</dc:creator><title>StandOut public beta from Electric Rain - you have to try this!</title><link>http://blog.debreuil.com/archive/2007/10/15/6237.aspx</link><pubDate>Mon, 15 Oct 2007 15:03:00 GMT</pubDate><guid>http://blog.debreuil.com/archive/2007/10/15/6237.aspx</guid><wfw:comment>http://blog.debreuil.com/comments/6237.aspx</wfw:comment><comments>http://blog.debreuil.com/archive/2007/10/15/6237.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.debreuil.com/comments/commentRss/6237.aspx</wfw:commentRss><trackback:ping>http://blog.debreuil.com/services/trackbacks/6237.aspx</trackback:ping><description>&lt;p&gt;
I was lucky enough to get a demo of this, and be on the beta list. It is from the good folks at &lt;a href="http://www.erain.com"&gt;Electric Rain&lt;/a&gt;, the makers of Swfit3D and more.
&lt;/p&gt;
&lt;p&gt;
People complain there isn't enough innovation in software, and frankly they are right. &lt;strong&gt;But!&lt;/strong&gt; But StandOut is packed with new ideas, it really makes you rethink things. One example is "flypaper" - you know that space that wasted background grey space when you have two or three windows opened. You have to check out what they've done with it, not just used, but very cleverly. I'm looking around for wasted pixels all the time now : ).
&lt;/p&gt;
&lt;p&gt;
Lots more in there, cool UI, what can I say, check it out! Oh, and expect presentations to be a little less boring in the future : ).
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.erain.com/products/standout/publicbeta/"&gt;http://www.erain.com/products/standout/publicbeta/&lt;/a&gt;
&lt;/p&gt;&lt;img src ="http://blog.debreuil.com/aggbug/6237.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Robin Debreuil</dc:creator><title>Free swf dump tool available for download</title><link>http://blog.debreuil.com/archive/2007/10/05/6118.aspx</link><pubDate>Fri, 05 Oct 2007 02:19:00 GMT</pubDate><guid>http://blog.debreuil.com/archive/2007/10/05/6118.aspx</guid><wfw:comment>http://blog.debreuil.com/comments/6118.aspx</wfw:comment><comments>http://blog.debreuil.com/archive/2007/10/05/6118.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.debreuil.com/comments/commentRss/6118.aspx</wfw:commentRss><trackback:ping>http://blog.debreuil.com/services/trackbacks/6118.aspx</trackback:ping><description>&lt;p&gt;
Ever wanted to see the guts of a swf file? There have been a few very nice swf dump tools released over the years, here is another one : ). This supports up to v8 (for now), and the actions are dumped as &lt;a href="http://www.nowrap.de/flasm.html"&gt;flasm&lt;/a&gt; code.
&lt;/p&gt;
&lt;p&gt;
I didn't bother putting switches in, so it is pretty verbose. If there is *any* interest at all I'd be happy to add them. I've been using it 'as is' for the last while -- too lazy to do it right for just myself I guess : ).
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.debreuil.com/Images/SwfDump.zip"&gt;swfdump (82k)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
usage:
&lt;/p&gt;
&lt;p&gt;
swfdump filename
&lt;/p&gt;
&lt;p&gt;
There are a few things I'm not fully dumping yet, I'll update when they are added. In spite of that though, if you see a bug, I'd be happy to know about it : ).
&lt;/p&gt;&lt;img src ="http://blog.debreuil.com/aggbug/6118.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>