Ingo Rammer Technology Consulting
» IngoRammer.com
» My Books
» Conferences
» Consulting & Services
» Newsletter
 
 
 
» Contact
 

Advanced .NET Remoting
April 10, 2003 06:00 PM | Comments (1) | TrackBack (0)

Advanced .NET Remoting is up on .NET DJ's Reader's Choice Award. That's your chance to tell the world that you really like this book ;-). Thanks for voting.
What's in a Type's Name?
April 07, 2003 06:43 PM | Comments (0) | TrackBack (0)

Sam is heavily in favor of using the BCL’s type names versus C#’s names. I absolutely second this for the very reason he states.

At the end of the day, nobody wants to end up with code like this, right?

static void MyMessagebox(HWND hWnd,
      LPCTSTR lpText,
      LPCTSTR lpCaption,
      UINT uType,
      WORD wLanguageId)
{
  System.Windows.Forms.MessageBox.Show(lpText,lpCaption);
}

Scary? Well ... it’s in fact completely legal C# code taken from the following program:

using System; 


using WORD = System.Int16;
using HWND = System.Int32;
using LPCTSTR = System.String;
using UINT = System.UInt32;

class ScaryThing
{
  static void MyMessagebox(HWND hWnd,
   
LPCTSTR lpText,
   
LPCTSTR lpCaption,
   
UINT uType,
   
WORD wLanguageId)
  
{
   
System.Windows.Forms.MessageBox.Show(lpText,lpCaption);
 
}

[STAThread]
  static void Main(string[] args)
 
{
   
LPCTSTR foo = "Foo";
   
LPCTSTR bar = "Bar";
   
MyMessagebox(0,foo,bar,0,0);
 
}
}

But you wouldn't want to, would you? So why does the use of LPCTSTR feel wrong, whereas the use of string instead of System.String doesn't? All three are equally right or wrong, but believe me - only the BCL name System.String is universally understood.

Lesson's learnt:

  • Use the BCL type names
  • Don't redefine your type's names to match your old habits ;-)
Sharpreader rocks!
April 06, 2003 07:30 PM | Comments (0) | TrackBack (0)

Sharpreader rocks. 'nuff said.

Hardware Woes
April 01, 2003 11:41 AM | Comments (0) | TrackBack (0)

I don't normally rant about hardware issues but I guess at this time my experiences of the past three days might actually save someone else some time.

It all started out with my decision to buy a (lowest price) iiyama 19" TFT providing me with 1600x1200 which I planned to operate as my main screen in a dualhead setup.

Unfortunately, when used with my Matrox G450, the display was way too blurry (at least by my standards, which are quite high. I sat there with a magnifying glass comparing the display with my Vaio's built-in TFT). I therefore decided to switch to DVI and shell out some bucks for a digital dual head card.

I somehow ended up with buying an Asus V8420 which is based on a GeForce4 Ti4200 and which somehow is a pretty weird card for a non-gamer like me. However, the result was brilliant. Don't ever try to run 1600x1200 on analog output as your combination of display adapter, cable and LCD panel might not be able to sync correctly. (I tried three different analog display adapters and two cables.). 

But now, the problems really started: I've been running W2K3 Server Enterprise Edition for some days and, to say the least, it doesn't seem as if this operating system is about to become the main platform for games. It seems as if Asus therefore decided not to provide too much support for it at the given time. After installing the WXP drivers (and well after confirming a hundred "not supported. not digitally signed."-message boxes) strange things happend:

Windows greated me with about five "Invalid instruction in RunDll.exe" message boxes after each reboot. And, strangely enough, when right-clicking on the desktop and hovering over "Arrange Icons By ... " or "New..." my system locked up for exactly 10 seconds with CSRSS.EXE taking up 99% CPU. I used Filemon, Regmon and Ethereal but couldn't get anywhere near the source of this problem. The only thing absolutely consistent was the wait time of exactly 10 seconds. I guess one has to be Mark Russinovich to know what's going on here.

As I'm neither Mark nor did I know what has been going on here, I instead decided to try and install the original NVidia drivers. Great wonders: it works. I only get one more "Invalid instruction" when trying to use NVidia's tray icon about which I don't care too much. No more 10 second delays ...

Lessons learnt in the past week:

  • When running TFTs in 1600x1200 use DVI. Don't use analog - it sucks.
  • When running an Asus display adapter on W2K3, use the Nvidia drivers.
Biztalk and W2K3 -> wait for BTS SP1
March 31, 2003 09:51 AM | Comments (0) | TrackBack (0)

Thanks to MikeG

See http://www.microsoft.com/biztalk/evaluation/sysreqs/default.asp : "BizTalk Server 2002 will run on the upcoming production versions of Windows Server 2003 with the application of Service Pack 1 for BizTalk Server 2002. SP1 is scheduled for availability within 90 days of the Windows Server 2003 release to manufacturing."

So that's why it didn't work. Thanks. I should have checked myself.

This is a great list of .NET tools and resources...
March 31, 2003 09:33 AM | Comments (0) | TrackBack (0)
This is a great list of .NET tools and resources... [Darren]
Biztalk on W2K3
March 31, 2003 12:14 AM | Comments (0) | TrackBack (0)

Anyone had success installing Biztalk 2002 on W2003? On my system the progress bar stops at about 85% without any further indication of what it's about to do ...

Thanks folks!
March 30, 2003 11:54 PM | Comments (0) | TrackBack (0)
Thanks to y'all for sending congrats: Craig, Don, John, Kent, Nils, Sam, Samer, Tomas, and of course, to all of you who sent me private emails.
Thanks!

Congrats from my side fly out to the Mindreef team and Sam who (independently) won two Jolt Awards. Wow. This really rocks!

Make my day!
March 28, 2003 08:16 PM | Comments (0) | TrackBack (0)
Emails like this can really make my day (hyperlinks inserted by me)
Congratulations on passing the test teach with flying colors.
[...]
Welcome aboard Ingo!
Woohoo!
Did it ...
March 27, 2003 02:20 PM | Comments (0) | TrackBack (0)

I don't have to be silent.

 






© 2002, 2003 by Ingo Rammer (ingo@ingorammer.com). Information is provided as-is and is subject to heavy changes due to its pre-release character.