Wednesday, January 28, 2004

OK, I’ve decided to create a separate MSDN blog that will only have Microsoft-related postings.  Those of you that wish to enjoy my occasional tirade against bad movies, bad ideas, or bad politics can continue subscribing to my private blog, InkBlog.  Those that prefer the “Mom-approved*” version of InkBlog should subscribe to my blog at http://blogs.msdn.com/dweller.  Thanks for reading!

*and by Mom, I mean “lawyers” J

Hmm...small technical glitch -- NewsGator posted to my MSDN blog, but had an error with this blog...*sigh*

1/28/2004 6:37:15 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  |  Trackback
Tuesday, January 27, 2004

In case you havne't seen it yet.  Looks like the virus spreaders are doing their best to wreck your computer, and now they want to do it through ZIP files. 

Microsoft Consumer Virus Alert:

Why We Are Issuing This Alert

W32/Mydoom@MM spreads through e-mail. This worm can disguise the sender's address, a tactic known as spoofing, and may generate e-mails that appear to have been sent by Microsoft. Many of the addresses Mydoom uses are valid addresses that are being spoofed for malicious purposes.

 

Mydoom Virus Alert: What to Do

Treat all e-mail attachments with caution, particularly .zip files in the case of this virus, even if they appear to be from a trusted source. Learn what to do about virus infections. http://www.microsoft.com/security/antivirus/mydoom.asp

 

Complete Information: http://www.microsoft.com/security/antivirus/mydoom.asp

1/27/2004 1:38:44 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  |  Trackback
Monday, January 26, 2004

Well, I turned in the last chapter on my book last night, talk about a relief!  Now I can finally do things I've been ignoring for the last few months...updating my blog more often, paying bills, feeding my dogs :)

I'll be posting some additional news here later today or tomorrow about my new job at Microsoft.  Stay tuned!

And the obligatory cool link:  The CLR Performance and Diagnostics page -- everything you always wanted to know about making your .NET apps get up and dance! http://msdn.microsoft.com/vstudio/using/understand/perf/default.aspx

1/26/2004 10:23:27 AM (Pacific Standard Time, UTC-08:00)  #    Comments [2]  |  Trackback
Tuesday, January 13, 2004

Well, you've probably heard by now that theserverside.com has a new sister site, theserverside.net.  The new site is a great community site focused on enterprise-based .NET development.  It's headed up by my buddy and all around Java/.NET geek, Ted Neward.  Check it out, but, um, give them a couple of days to work out the user registration bugs...right now things don't seem to be working very smoothly in that area.  Other than that though, it looks really nice!

Speaking of new sites... I've used Yahoo as my home since 1996 or so, but this latest release of MSN has convinced me to switch over... the drag-and-drop web parts is really cool, and I like the email interface more.

ok, back to my book...I hope to be finished this weekend (crossing fingers!)

1/13/2004 12:39:26 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  |  Trackback
Saturday, January 03, 2004

Many Microsoft bloggers write small entries on their aniversary dates to reflect on their time at Microsoft.  Rather than doing that, I had decided to write one on my 500th day, which seemed like an interesting time to pause and reflect. Quite serendipitously, my 500th day at Microsoft landed on Jan 1st, 2004.  Of course, it's Jan 3rd right now, but I've been up to my elbows in book writing, and took some time off yesterday to enjoy the large volumes of snow the Puget Sound area has been enjoying this last week -- and promptly managed to injure my back on the slopes, so now I have plenty of time to reflect while a heating pad nurses my back :-).

Many of you know I'm an evangelist at Microsoft, but what most of you don't know right now is that I don't evangelize at the moment.  Instead, I'm the “bad news messenger” making sure customers and developers understand our overall situation with regards to the Microsoft Java Virtual Machine and how you can transition away from it.  Many people, in fact, are stunned to find that I'll even gladly talk to them about migrating their Java applications to Sun's JVM.  Why do I do that?  Because from the highest executive level down to me, we know need to do the right thing for the customer, and sometimes the right answer is helping the customer move to another JVM (there's limits on how much we can help because our support people aren't experts in Sun's current version of Java, nor can we fix things inside their JVM, but we will do the best we can to help).  Of course, we'd love to see people move to .NET, and we will continue to work hard to make sure that we offer the best  tools to help you migrate your applications to it.

I am looking forward to returning to evangelism in the true sense of the word this year.  Vic Gundotra, one of the GM's in my organization, points out that evangelists have six key responsibilities:

  • They help developers understand the value proposition of our tools and platform
  • They network with ISVs and key customers
  • They create communities that are excited about our technologies
  • They build prototypes to help partners and developers cut through the marketing hype and understand the true value of our approach (yes, that means Microsoft evangelists work hard to “pull back the curtains“ on the stuff that Microsoft marketing people sometimes try to cover :-) ). 
  • They listen to the needs of customers and developers to understand the correct evangelism strategy, and build a plan around it (rather than having each evangelist “go cowboy“, so to speak)
  • And most importantly: Have fun. 

Personally, I don't think we've done a good job of creating an organized Java strategy.  Many Java developers don't know, for instance, that we have a comprehensive pattern repository, refactoring coming in our next version of Visual Studio, or detailed articles on how to migrate  technologies  from  Java  to  .NET, or that we have a complete guide on interoperability with J2EE and .NET.

So, my “new year's resolution” is to fix this.  I promise every Java developer that wants to migrate to .NET (or is being forced to) that I will do everything I can to help make the road easier in 2004.  As one who was a hard-core Microsoft-hating J2EE developer over 2 years ago, I remember the frustration I had trying to learn .NET, and it was because I was trying VERY hard to shoehorn my Java thinking into .NET (with little success).  That frustration is still fresh in my mind (although my J2EE knowledge is now getting more and more rusty).  I will list the steps I intend to take next week here, but I would love to hear suggestions from any of you on how we can make the road smoother for Java developers (besides the old, “Why don't you just adopt J2EE and be done with it?” question :-) )

Thanks for reading my ramblings!

1/3/2004 10:39:13 AM (Pacific Standard Time, UTC-08:00)  #    Comments [1]  |  Trackback
Friday, December 12, 2003

For those of you that didn't know, Ward Cunningham has joined Microsoft.  I consider Ward one of my foremonst mentors, and he's an all-around fascinating guy to hang out with.  Aside from creating the Wiki concept and being the wellspring of what we call “Extreme Programming”, what makes Ward so wonderful is his incredibly simple view of the world.  He seems to have a keen sense of “just right” when it comes to tackling problems, and I think that shows in all the past work he's done.

I'm definitely looking forward to what he can contribute to our developer community, and more importantly, to the software development community in general.  Watch for his work in Microsoft's Patterns and Practices area.

12/12/2003 10:49:26 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  |  Trackback
Wednesday, December 03, 2003

Most of you know I'm writing a book on .NET game programming.  It has some GDI+ programming and a lot of Managed DirectX programming.  If you want to buy only one book to help you with Managed DirectX, my book is not it.

Huh?

You heard me right.  If you are only going to buy one book, I recommend you buy Tom Miller's excellent “Managed DirectX 9 Kick Start: Graphics and Game Programming”.  Tom was the brains behind the Managed DirectX code anyway, so this is a nice gem that's straight from the source!  What I really like about it is that it nicely covers all the details in an introductory way.  Some chapters left me wanting more details, but I think it does a great job of hitting on all the cool essentials you should know about Managed DirectX.

Oh, if you have the money to buy two books on Managed DirectX, _then_ I recommend mine as the second :-)

12/3/2003 10:40:49 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  |  Trackback
Thursday, November 13, 2003

Ok, time to confess:  I hate the Command Prompt that Microsoft gives you.  Ok, "hate" is too strong of a word, but as an old Unix guy (ok, not THAT old -- my first time I write C code on a Unix system was in 1982), I miss all the conveniences I had with the Unix shells and their utilities.  Of course, there's several ways to get around that, but none are quite as interesting as Microsoft's own "Services for Unix".  What's really cool about it is that you have a complete Unix environment running on top of the Windows kernel.  It's not a funky "interpreter", but the real thing (ah, the delight of setting up "cron" jobs). 

Even better:  Right now, it's free (well, the 3.5 beta is)

Even more better: You can find a ton of extra software for it at the Interop Systems Tools site.

Go have fun! :-)

11/13/2003 9:57:14 PM (Pacific Standard Time, UTC-08:00)  #    Comments [2]  |  Trackback
Wednesday, November 05, 2003

(Post edited in deference to a comment from a reader)

I don't think it sucked as much as critics said it did.  In fact, I liked it more than the 2nd movie. 

*spoiler alert*

 

Trinity dies.  So does Neo.

11/5/2003 6:03:36 PM (Pacific Standard Time, UTC-08:00)  #    Comments [7]  |  Trackback
Wednesday, October 29, 2003

I was doing a little book research on Sprites in DirectX when I came across Kevin Harris' CodeSampler.com website.  He has a TON of samples in C++ there, the DirectX 9 samples being located here.  On that page, you will find a sample titled "Creating 2D Sprites with D3DXSprite"  It's one of those simple DX samples that gets right to the point, but still gives you something "meaty" to tinker with (as are most of his samples).  Anyway, the challenge is that none of his samples use Managed DirectX.  I took a few hours last night (plus 30 minutes today to have Tom Miller correct my errors :-) ) to rewrite the app in Managed DirectX and C#.  You can get the code here (csd3dxsprite.zip (44.07 KB) all set up for VS 2003).  There's a few points to keep in mind:

  • The code was rewritten to heavily leverage the event model in .NET windows forms.  Overall, it should be very understandable, but you can clearly see the difference between the C++ and C# version in this area.
  • The code is about 1/3 smaller than the C++ version.
  • The code is not an example of stellar "defensive programming".  I just wanted to do a fast conversion.  Feel free to criticize, fix it, make it prettier, etc. 
  • Finally, those of you familiar with DX will notice two things:
    • The "main loop" lingers inside the OnPaint event, triggering a "this.Invalidate()" at the end, effectively forcing OnPaint to be raised again.  Tom Miller claims that this is a more effective mechanism to work inside the eventing model but still follow the basics of a "game loop".  He wrote the Managed DirectX code, so who am I to argue? :-)
    • The code uses the new DX9 Sprite class, which is unrelated to DirectDraw sprites (they are basically textured quads).

Anyway...enjoy!

10/29/2003 8:14:43 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [3]  |  Trackback

In case you're missing out on the big events at PDC, don't worry!  Most of the presentations can be found here.  Keep an eye out for webcasts and extra things coming over the next couple of weeks.  There's a LOT of stuff coming from Microsoft now regarding our next revision of our developer tools and languages (Whidbey), our next gen database (Yukon), and our next major platform (Longhorn and the supporting API, WinFx).

As a guy who used to do a lot of Ada programming, I've always missed the "generics" that were found in that language.  One really cool thing is that the next version of C# will incorporate a strongly-typed generic mechanism.  While not as complex as Ada generics (thankfully!), it will definitely lead up to some higher-performance applications.  The nice thing about generics in C# is that they provide stronger type binding, eliminating (or reducing) the need for Object casting and boxing/unboxing, which is an expensive operation during execution.

Ironically, this is almost the opposite effect that you will get in Java generics (coming in the 1.5 release), which appears to force boxing in many cases when using generics (in fact, I heard one Sun person at JavaOne mention that boxing was introduced specifically to "make generics work right").  This potentially means the performance gap between Java and C# virtual machines will get wider.  Only time will tell, but I've clearly made my bets.  Of course, the big advantage of Java still remains: You can make an application run slowly and not take advantage of the underlying platform anywhere at anytime :-)

P.S. -- Peter Drayton is back!  Let's hope it's for good this time!  I always enjoyed reading his blog.  Much easier than walking down two flights of stairs to just talk to him :-)

10/29/2003 12:07:45 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [3]  |  Trackback
Saturday, October 25, 2003

I had the chance to read both Al Franken's "Lies and the Lying Liars Who Tell Them: A Fair and Balanced Look at the Right" as well as Michael Moore's "Dude, Where's My Country?"  as I was winging back from NY to Seattle.  I enjoyed them both, but found Al's book more enjoyable.  I have always enjoyed Michael's biting attacks on Corporate America and our Government, but felt he was trying too hard in this book to state the obvious: That the people running our country right now are lying to us on multiple levels, EXCEPT about who they have sex with.  Of course, you can disagree with me (that's what the comments section is for), and I don't mind.  Hell, sometimes I find myself disagreeing with myself :-)  And I must admit that I don't agree with everything Michael says (he sometimes seems overly eager to stretch facts to make a point)... but you have to admire his principles.  Most folks, for instance, are only familiar with his controversial acceptance speech at the 75th Academy Awards, but I would encourage you to watch his Red Carpet Q&A session (click on "Documentary Feature") that was done immediately after his award.  It's quite interesting (even if you disagree with his viewpoints).

OK, enough politics, this is also supposed to be a little technical.  For those of you wanting to learn more about Managed DirectX, I would encourage you to look at Craig Andera's tutorials on the managed (.NET) verison of Direct3D.  If you want to get a quick overview of some the features of Managed DirectX and why you might want to consider using it, have a peek at this slide deck, primarily written by Tom Miller, Managed DirectX - IGDA.ppt (1.16 MB).  And for those of you wanting to see a simple deck on what it takes to be a Game Programmer, check this one out: Game Development.ppt (73 KB) (It needs some updating, but I need to finish my book first).

Oh, stay tuned for really cool posts this coming week on all sorts of new technologies coming from Microsoft.  PDC kicks off tomorrow and we will FINALLY be able to start talking about some of the new innovation we've been working on over the last few years!

10/25/2003 1:53:04 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [2]  |  Trackback
Sunday, October 19, 2003

Well, I'm heading to NYC for a one week trip to explain the New and Improved MSJVM Gospel.  If you see a disheveled, 6'1 guy in a rumpled suit and a war-torn look on his face: that's me (come to think of it, that could be any guy in the financial section of Manhattan at 4pm).  Speaking of the MSJVM, I gotta give credit to Sun, they're doing a pretty decent job of trying to help people move from the MSJVM to the Sun JRE.  They even have an "upgrade site" aimed at helping people move from the MSJVM to the Sun JRE.  Of course, many of the remaining MSJVM-dependent applications use Microsoft-specific libraries, which won't run inside Sun's (or BEA's, or IBM's) JRE.  Sun is promising an upgrade tool that will detect (but apparently not automatically correct) dependencies on Microsoft-specific libraries.  Microsoft already has a tool that will convert many of the dependencies, the Java Language Conversion Assistant (JLCA).  Of course, die-hard Java advocates will point out that the JLCA only converts to C#, but if you're already wanting to take advantage of Microsoft-specific libraries, and you want to avoid the performance and development problems of Swing, the JLCA is the best way to go.

Doug Purdy introduced me to The Gospel of Supply-Side Jesus.  I'm looking forward to reading Al Franken's book on the flight to NY.  I should be writing my own book, but it's tough to write a book when you're packed into the middle seat in the coach section.  Speaking of my book, the Amazon link to it is now down.  I think they put it up too early (and considering the delays I'm having because of work-related trips like this to NYC, maybe that was the right thing to do :-( ).  For a while, I've been worried that I've been so buried in my book writing that I would miss out on some major, incredible peice of news.  Then I heard that the Cubs really were NOT going to to the world series, so I guess everything is normal.

Time to sign off, I gotta go buy a vacuum cleaner.  The one I have sucks.  Well, technically, that's what it's NOT doing :-)

10/19/2003 11:13:25 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]  |  Trackback
Tuesday, October 14, 2003

Amazon has finally listed my book, Beginning .NET Game Programming in C#.  Of course, they have just about everything except the ISBN and author names wrong :)  In any case, I'm really excited about getting this thing done!

Oh, Kill Bill rocked.  I wish it hadn't been split in two though.

10/14/2003 9:01:38 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [5]  |  Trackback
Monday, October 06, 2003

CNET is reporting the Jan 2, 2004 deadline for the Microsoft Java Virtual Machine has been extended to Sept 30, 2004.  That should give everybody plenty of time to migrate to .NET now :-)

10/6/2003 10:50:30 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]  |  Trackback

What fun.  Time for everybody to change their web pages if you use Applets or ActiveX controls.  More details here.

 

10/6/2003 6:43:58 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]  |  Trackback
Sunday, October 05, 2003

Almost two months since my last post. No, I'm not dead.  Just reborn.

No, I didn't suddenly discover religion (Not likely -- proud member of the Skeptic's Society :-) ).  I've made a huge number of changes in my life, some personal and some professional.  Since the beginning of August, I've pretty much been knee-deep in writing a book, which has devoured all my personal time.  I know I'm going to be one of those authors that will constantly haunt the review pages on Amazon to see what people think of the hard work I've done (correction, "am doing").  I'll probably be scarred for life at the first "1 star review", so be gentle on me  :-)

Oh, the book will be an entry level book about game programming with C# published by Apress.  Should be out in time to put under the Christmas tree (hint hint).

As you can clearly see, I've also switched ISPs and blogging tools.  I'm now chugging along with DasBlog and hosted at webhost4life.

Anyway, I promise to post more often now!

10/5/2003 5:19:29 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [1]  |  Trackback

Theme design by Jelle Druyts

Pick a theme: