Monday, March 17, 2008

Dell, Broadcom & Scalable Networking Pack - Relief is in sight!

I've written before about features of the Scalable Networking Pack, specifically TCP Chimney Offloading / TOE, and the problems it has caused me with a number of Dell Servers and workstations equipped with Broadcom network adapters.  I thought I was the only one having this problem, surely Dell's claims to have never heard about the problem didn't help, but it seems enough users were bickering that Microsoft has released a hotfix for the issue.

The full article can be found at http://support.microsoft.com/kb/948496 and as for downloads:

x86: http://www.microsoft.com/downloads/details.aspx?FamilyId=062E954C-FDEC-45AF-A09C-5A05B8F010A5

x64: http://www.microsoft.com/downloads/details.aspx?FamilyId=38E66572-5D47-4219-82D7-DB0C57478950

Itanium: http://www.microsoft.com/downloads/details.aspx?FamilyId=A4D3905C-DD7D-4B3B-96DF-38B7256C26D2

The quick and dirty summary: "This update turns off default SNP features."

There are also a number of other symptoms listed that can be caused by SNP:

  • When you try to connect to the server by using a VPN connection, you receive the following error message:

    Error 800: Unable to establish connection.

  • You cannot create a Remote Desktop Protocol (RDP) connection to the server.
  • You cannot connect to shares on the server from a computer on the local area network.
  • You cannot join a client computer to the domain.
  • You cannot connect to the Exchange server from a computer that is running Microsoft Outlook.
  • Inactive Outlook connections to the Exchange server may not be cleaned up.
  • You experience slow network performance.
  • You may experience slow network performance when you communicate with a Windows Vista-based computer.
  • You cannot create an outgoing FTP connection from the server.
  • The Dynamic Host Configuration Protocol (DHCP) server service crashes.
  • You experience slow performance when you log on to the domain.
  • Network Address Translation (NAT) clients that are located behind Windows Small Business Server 2003 or Internet Security and Acceleration (ISA) Server experience intermittent connection failures.
  • You experience intermittent RPC communications failures.
  • The server stops responding.
  • The server runs low on nonpaged pool memory

Whether or not this update will make it down to Windows Update remains unknown, but I can tell you for sure, I will be applying this fix liberally - and yes, I will "opt-in" when needed!
Correction - It is on Windows Update, as a high-priority update!

Handling long strings with CLR SQL Stored Procedures

I've been banging my head on this one for a while now, though only now did I finally sit down to figure out to solve it.  I have (inherited from another dev) a CRL SQL Stored Procedure which outputs a long string.  The signature looks like:

public static void DoSomething(SqlString input,out SqlString output)

When output was long, an exception would be thrown similar to:

System.Data.SqlServer.TruncationException: Trying to convert return value or output parameter of size 28726 bytes to a T-SQL type with a smaller size limit of 8000 bytes.

Now you'd think that SqlString would map to varchar(max), if possible, but this is not the case. (I should also mention that the output is limited to 4000 bytes when using nvarchar).

The solution is to use SqlChars instead of SqlString - somewhere behind the scenes, this will get translated back to nvarchar, so the following will work:

DECLARE @output varchar(max)
EXEC DoSomething 'Loren Ipsum Dolar', @output output
SELECT @output

Of course you will have to convert your string to the SqlChars type before returning:

char[] chars = "Some String".ToCharArray();
output = new SqlChars(chars);       

Hope this helps!

Wednesday, March 05, 2008

Internet Explorer "Operation Aborted" - No more in Internet Explorer 8

If you do any amount of DHTML scripting you have most likely come across the dreaded "Operation Aborted" error that plagued Internet Explorer 5, 6 and 7. Sure, in some simple situations it's easy to resolve, but with complex controls tracing the problem can be next to impossible.  I caught up with Chris Wilson, Platform Architect of the Internet Explorer Platform team at Microsoft to ask him about this behavior and see if anything had been done in Internet Explorer 8.  I was pleasantly surprised to hear that as of IE8 Beta 1, IE will now show a standard script error complete with line number instead of wiping out the page and showing the "Operation Aborted Error".  As he explained, the when the parser encountered this particular problem it would completely abort parsing and throw up the error.  Now you'll get the same behavior as any other script error - a completely rendered page (albeit maybe incorrectly).

I'm quite excited to try out IE8, now if only the Internet connection at the Venetian didn't suck so badly...

Tuesday, March 04, 2008

Microsoft Surface at MIX08

As you may or may not know, I'm out at MIX08 (if you're here and are looking for something to do, drop me a line: steven@mbccs.com) and something that I was surprised to stumble upon was a Microsoft Surface. I spent about 20 minutes playing with it and drilling the presenter and I have one word to describe it: COOL!.

What's actually amazing is the photo downloading via bluetooth/wireless that Microsoft has shown off in some promotional videos is real, and it does work.  Snap a picture, put the device (complete with a surface-like barcode on it) on the table and wala - picture on Surface, ready to be manipulated.

I did inquire about public availability and I was told that they won't be commercially available for about 3-4 years.  Right now, they are limited to some "select" partners. Also, the cost of the units right now is anywhere from $5,000 to $10,000

Something that might not be well known is that Surface in its present form recognizes devices and objects via a bar-code like sticker on the device that is made up of large white dots on a black background - this allows Surface's IR sensors to pick up the signature and identify the device.  They say that RFID identification will likely be available by the time the device is mainstream.

Anyway's, they are indeed very cool and if you get a chance to interact with one I highly recommend you give it a try!