<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>dotnet</title><link>http://blog.debreuil.com/category/2.aspx</link><description>dotnet</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>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><item><dc:creator>Robin Debreuil</dc:creator><title>Japan, Petzold, and Triangles</title><link>http://blog.debreuil.com/archive/2007/10/03/6091.aspx</link><pubDate>Wed, 03 Oct 2007 01:12:00 GMT</pubDate><guid>http://blog.debreuil.com/archive/2007/10/03/6091.aspx</guid><wfw:comment>http://blog.debreuil.com/comments/6091.aspx</wfw:comment><comments>http://blog.debreuil.com/archive/2007/10/03/6091.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.debreuil.com/comments/commentRss/6091.aspx</wfw:commentRss><trackback:ping>http://blog.debreuil.com/services/trackbacks/6091.aspx</trackback:ping><description>&lt;p&gt;
It has been a busy summer! We were in Japan for August (and man was that nice or what!), then we spent most of September moving and settling in to the &lt;a href="http://debreuil.com/pics/newFarm2007.htm"&gt;new farm&lt;/a&gt; (and man is this nice or what!). That being that, it has been a bad summer for blogging, I have a number of posts I hope to make in the next little while. Hopefully it will be like when &lt;a href="http://www.mitchhedberg.net/"&gt;Mitch Hedberg&lt;/a&gt; pinches the microphone cord -- he lets go and a whole bunch of jokes come out... 
&lt;/p&gt;
&lt;p&gt;
I've been reading a great book by &lt;a href="http://www.charlespetzold.com/blog/blog.xml"&gt;Charles Petzold&lt;/a&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.charlespetzold.com/3D/index.html"&gt;3D Programming for Windows: Three-Dimensional Graphics Programming for the Windows Presentation Foundation&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I'll post a fuller review once I'm fully through it, but the great thing about all his xaml books is he starts using code and builds from there to markup. Imo Xaml is 99% useless, but at its heart it is at least the new GDI. If you know your way around it in code, you can either ignore the markup, or use it and not be pissed off every time you 'compile'. So this is what makes his Xaml book not just good, but actually essential.
&lt;/p&gt;
&lt;p&gt;
The man has a friggin Windows tattoo. That was a shock. And still a great book.
&lt;/p&gt;
&lt;p&gt;
But first up, in Japan I was working on and off on triangulation to display vectors in directX. It was intensely hot. The long and short of it is A) Converting that stuff efficiently is fairly tedious, but interesting (is that even possible, to be both?), and B) there are a lot of triangles in a typical Flash vector drawing. Like 4 tons of triangles per square inch. I don't think it will even work for the default approach, where curves are 'curve fitted' using lots of little triangles. &lt;a href="http://www.thezbuffer.com/"&gt;ZMan&lt;/a&gt; was kind enough to send me a link to &lt;a href="http://research.microsoft.com/~cloop/LoopBlinn05.pdf"&gt;a very interesting approach&lt;/a&gt; from MS Research I've done a few tests, tried a few ideas that didn't work, and this seems like the best approach I've seen so far.
&lt;/p&gt;
&lt;p&gt;
Also while in Japan, I found a body... I guess not everyone is happy. I'm not sure why that is so surprising, but there it is. I'm really sorry that is true.
&lt;/p&gt;
&lt;p&gt;
Here is the code. The code really looks like it bubbled up during a one month on and off sloppy experimentation extravaganza in 40 degree humidity. In fact it is. Worse, it isn't even finished. But it really is almost finished (just need one more segment add routine, but I'm all busy doing swf action code stuff. Oh and need to clean up, aka start over -- but it is the thought that counts right?). That being said, here it is:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.debreuil.com/images/MeshTest.zip"&gt;Le Code&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Zoom in and out with the A-Z keys, arrows for direction. To get the other xaml files to run (in Game1.cs), you have to disable hull removal (the part that isn't finished). That is the RemoveToSegment method, on line 243 of Delauany.cs. I'll try to finish it up, and convert it to something useable, and post again. Did I mention it is messy?
&lt;/p&gt;
&lt;p&gt;
Btw, if you are interested in this stuff, there is but one starting point on the web, and that is this page:
&lt;a href="http://www.cs.berkeley.edu/~jrs/"&gt;Jonathan Shewchuk is the guy&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Ok, who can resist a screen shot? The mighty letter R.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://blog.debreuil.com/images/letterR.jpg" width="303" height="313" /&gt;
&lt;/p&gt;
&lt;p&gt;
Ok, what were you expecting then?
&lt;/p&gt;&lt;img src ="http://blog.debreuil.com/aggbug/6091.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>