World Cup 2010 In Glorious 3D
3DTV is here! This message shows up on my DirecTV receiver/DVR yesterday:
Wow! 25 World cup soccer games in 3D! Wait a minute, I think I see some dead pixels on my current HDTV.
3DTV is here! This message shows up on my DirecTV receiver/DVR yesterday:
Wow! 25 World cup soccer games in 3D! Wait a minute, I think I see some dead pixels on my current HDTV.
It’s my first open source project! I’ve gone open source with my Transactional File Manager. Check out the CodePlex link here.
Use any file system as a transactional file system! Transactional File Manager is a .NET API that supports including file system operations such as file copy, move, delete in a transaction. It’s an implementation of System.Transaction.IEnlistmentNotification (works with System.Transactions.TransactionScope).
More on Transactional File Manager in my original blog post on it. If you are interested in contributing to the project, let me know.
If you get one of these errors starting MSMQ Server or installing MSMQ on Windows (Server 2008), this article describes a potential solution:
For me, the solution was to delete the Registry key KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ, then try the installation again.
Your house is haunted. You can’t stand living with the ghosts anymore and decide to call in the professional, a ghost hunter. The ghost hunter comes, nicely equipped with all kinds of shiny ghost hunting equipment, and proceeds to immediately pass out and fall to to the floor with a loud thud at first sight of the ghosts.
Well, in a nutshell, that is the story of the new Event Viewer in Windows Vista and Windows Server 2008. The new Event Viewer looks very nice and all. Trouble is, it now won’t work when there is a syntax error in machine.config or other .NET Framework problems. Apparently, in Windows Vista and Windows 2008, someone at Microsoft decided to rewrite the Event Viewer utility (a perfectly usable and solid utility in previous versions of Windows) in .NET.
So, the lesson I learned from this is: don’t hire ghost hunters who are afraid of ghosts. Or, don’t write a utility designed to view monitoring and troubleshooting messages that can fail due to unnecessary dependencies. A critical system troubleshooting utility such as Event Viewer should be the last thing that fails.
If you get the following error:
MMC could not create the snap-in. The snap-in might now have been installed correctly. Name: Event Viewer. CLSID: FX:{b05566ad-fe9c-4363-be05-7a4cbb7cb510}
Try the following:
If you are getting this error in your SQL Server T-SQL script:, you may be running into an issue with implicit string conversion in SQL Server:
declare @xml varchar(max), @doc XML, @stringVariable varchar(256)
set @stringVariable = 'a string value'
-- @doc is set by concatenating multiple string literals
-- and string variables, with all the variables having less than
-- or equal to 8000 characters
set @xml = '<root>' +
... + @stringVariable +
...
'</root>'
print len(@xml)
set @doc = @xml
Output
8000
Msg 9400, Level 16, State 1, Line 4
XML parsing: line 64, character 74, unexpected end of input
As you can see in the output, the @xml variable was truncated to 8000 characters, resulting in an invalid XML. This is due to the way SQL Server performs implicit string conversions when concatenating strings. When all the string literals/variables involved in the concatenation are 8000 characters or less, the resulting string will be exactly 8000 characters.
The same issue occurs with NVARCHAR data type. Instead of the 8000-character limit, it’s 4000 characters.
A simple fix is to make sure at least one of the string variables is of type VARCHAR(MAX):
declare @xml varchar(max), @doc XML, @stringVariable varchar(256)
declare @x varchar(max)
set @stringVariable = 'a string value'
set @x = ''
set @xml = @x + '<root>' +
... + @stringVariable +
...
'</root>'
print len(@xml)
set @doc = @xml