<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/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Technical</title>
        <link>http://geekswithblogs.net/dtotzke/category/487.aspx</link>
        <description>Posts that may contain valuable technical information.  I will post in this cateory when I have overcome some technical problem that requires some kind of undocumented mental gymnastics to get something to work.</description>
        <language>en-US</language>
        <copyright>David Totzke</copyright>
        <managingEditor>david@totzke.ca</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>The CORE</title>
            <link>http://geekswithblogs.net/dtotzke/archive/2009/05/01/131662.aspx</link>
            <description>&lt;p&gt;No.  Not &lt;a title="The CORE bitches!" href="http://www.oliverwillis.com/2007/08/03/the-real-fortress-of-solitude/" target="_blank"&gt;that one&lt;/a&gt;. Not &lt;a title="Unobtainium, my assium." href="http://www.imdb.com/title/tt0298814/" target="_blank"&gt;that one&lt;/a&gt; either.&lt;/p&gt;  &lt;p&gt;I’m actually talking about the CorFlags section in the header of a portable executable image.&lt;/p&gt;  &lt;p&gt;&lt;a title="Wil Peck" href="http://geekswithblogs.net/wpeck/archive/2009/04/30/quotthe-microsoft.jet.oledb.4.0-provider-is-not-registered-on-the-local-machine.quot.aspx" target="_blank"&gt;Wil Peck&lt;/a&gt; observed the following error when trying to use the Microsoft Jet OLEDB provider on an x64 machine:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The simple solution, as Wil points out, is to change the target of your project to x86 rather than Any CPU so that your build will produce a 32 bit executable.&lt;/p&gt;  &lt;p&gt;If you have a solution with 32 projects in it, that’s not a simple thing to do.  If all you need to be able to do is run your program locally for testing/debugging purposes, there is a better – well easier – way.  &lt;a title="Visual Studio Tools to the Rescue!" href="http://msdn.microsoft.com/en-us/library/ms164699.aspx" target="_blank"&gt;CorFlags.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;CorFlags allows you to set the 32BIT flag in the header so that the program will be loaded as a 32 bit process.  You can then attach the Visual Studio debugger to the running process and you’re all set.&lt;/p&gt;  &lt;p&gt;You can do this to a strong named executable using the /Force option but this will obviously break the signature.  You can re-sign it or not based on your need.  For my purposes, simply running the program was good enough.  You will also need to &lt;strong&gt;rebuild&lt;/strong&gt; the program in Visual Studio before you can push F5 to run it in the debugger.  Since you changed it behind VS’s back, it doesn’t know about the change and will complain that the file is corrupt when it tries to launch it.&lt;/p&gt;  &lt;p&gt;Oh, and Wil is also correct in that Microsoft have no plans to make a 64 bit version of the provider available.  Ever.&lt;/p&gt;  &lt;p&gt;Dave    &lt;br /&gt;Just because I can…&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ae887e49-dee3-42ff-af5d-8d10ee6bd9b1" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Jet" rel="tag"&gt;Jet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CorFlags" rel="tag"&gt;CorFlags&lt;/a&gt;,&lt;a href="http://technorati.com/tags/x64" rel="tag"&gt;x64&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=131662"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=131662" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dtotzke/aggbug/131662.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>David Totzke</dc:creator>
            <guid>http://geekswithblogs.net/dtotzke/archive/2009/05/01/131662.aspx</guid>
            <pubDate>Fri, 01 May 2009 21:47:51 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dtotzke/comments/131662.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dtotzke/archive/2009/05/01/131662.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/dtotzke/comments/commentRss/131662.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dtotzke/services/trackbacks/131662.aspx</trackback:ping>
        </item>
        <item>
            <title>Red Gate SQL Dependency Tracker 2</title>
            <link>http://geekswithblogs.net/dtotzke/archive/2009/04/30/131632.aspx</link>
            <description>&lt;p&gt;In a word – wonderful.&lt;/p&gt;  &lt;p&gt;I’m doing some work on a project where somebody had a bit of a fetish for nested views.  I’m not talking about one view inside another.  I’m talking about one view that joins a couple of other views that each join to other views as well.  &lt;/p&gt;  &lt;p&gt;I needed to add a value to the output of the outer-most view and before I added ~another~ join I wanted to know if the table in question was already joined in one of the nested views.  Drilling down into them would have taken time.  I remembered that I had SQL Dependency Tracker installed on my machine so I loaded up the database.&lt;/p&gt;  &lt;p&gt;It was &lt;strong&gt;very fast.  &lt;/strong&gt;In just a few seconds the entire database was mapped and I was looking at the view in question.  There is a great panel (Dependencies) that shows what the selected object uses as well as what it is used by in a tree view.  I just drilled down into the ~uses~ tree and in seconds I had my answer.  The table was already joined so all I had to do was bubble up the column that I needed at the top.&lt;/p&gt;  &lt;p&gt;The various views of your database objects and how they relate to each other are very cool as well.  There are five different layouts available:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Balloon Tree&lt;/strong&gt; groups objects together in balloon-like clusters       &lt;p&gt;This is a fast layout, which is good for grouping related objects together. It is suitable for diagrams that contain a large number of objects.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Hierarchic&lt;/strong&gt; organizes the objects in a hierarchical structure, from top to bottom&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Orthogonal&lt;/strong&gt; places objects so that the connections between the objects are straight lines that are as close to vertical and horizontal as possible       &lt;p&gt;The objects form small clusters. This is ideal for diagrams that contain a small number of objects.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Smart Organic&lt;/strong&gt; links objects into sets of clouds or lattices       &lt;p&gt;This layout is good for grouping related objects together.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Circular&lt;/strong&gt; lays the objects out to form the boundaries of circles, with connections that cross the centre of the circle &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I have a suspicion that this is done in WPF as the animation of the layouts is very fast and smooth.  Zooming is also very smooth and it’s obvious that the display is vector based as everything looks great at any zoom level.&lt;/p&gt;  &lt;p&gt;All in all, this saved me a bunch of time and hassle and allowed me to accomplish my task in a minimal amount of time.&lt;/p&gt;  &lt;p&gt;Dave    &lt;br /&gt;Just because I can…&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:001f4f23-47ac-4702-8550-0d5cb220599a" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SQL+Server" rel="tag"&gt;SQL Server&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Red+Gate" rel="tag"&gt;Red Gate&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SQL+Dependency+Tracker" rel="tag"&gt;SQL Dependency Tracker&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=131632"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=131632" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dtotzke/aggbug/131632.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>David Totzke</dc:creator>
            <guid>http://geekswithblogs.net/dtotzke/archive/2009/04/30/131632.aspx</guid>
            <pubDate>Thu, 30 Apr 2009 21:52:34 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dtotzke/comments/131632.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dtotzke/archive/2009/04/30/131632.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/dtotzke/comments/commentRss/131632.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dtotzke/services/trackbacks/131632.aspx</trackback:ping>
        </item>
        <item>
            <title>Hidden, Non-Present Devices in Windows</title>
            <link>http://geekswithblogs.net/dtotzke/archive/2007/09/06/115187.aspx</link>
            <description>&lt;p&gt;Normally this isn’t a problem because you install Windows on a machine and that’s it.&lt;/p&gt;
&lt;p&gt;Some IT shops will install Windows on a machine, seal it with Sysprep, and then create a ghost image of that machine, take that image and install it on a different model, ghost that; install it again on another model…well, you get the point. The net effect is that you can have a single image for many different configurations because the end installation of Windows has seen and loaded drivers for the hardware once before. IMNSHO* this is just lazy. Most large companies manage to cope with a machine and model specific image library. But that’s just me.&lt;/p&gt;
&lt;p&gt;Ghost devices can also show up if you don’t “uninstall” the device with device manager before you physically remove the device when replacing it with a new one or removing it altogether. Windows won’t find it when it boots up and will simply hide the entry in device manager because it is assuming that it might come back some day. An example of a legitimate ghost device would be a thumb drive or other external USB device that you simply don’t have plugged in right now.&lt;/p&gt;
&lt;p&gt;The downside of this is that all of the devices that are no longer present are still registered along with all of their settings in the registry. Windows is looking for those devices every time you start your computer. Aside from the startup issue, this shouldn’t really cause a problem however, I learned about this because I did have a problem with a network card on a system and left over settings were screwing it up. Until I learned about this and removed the non-present devices, nothing I did would make things work correctly.&lt;/p&gt;
&lt;p&gt;Here are the instructions in a Microsoft Knowledge base article on how to see the hidden, non-present devices on your machine. Give it a try. You can’t hurt anything and you might be amazed by what you see.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://support.microsoft.com/kb/315539"&gt;http://support.microsoft.com/kb/315539&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The good news is that once you can see them, you can uninstall them.  Right-click and choose unistall.  The usual caveats and disclaimers apply.  Somethings it won't let you unistall and there was at least one thing I tried to uninstall under System devices that caused me to freeze up.  A simple reboot fixes the problem.&lt;/p&gt;
&lt;p&gt;Dave&lt;br /&gt;
Just because I can...&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115187"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115187" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dtotzke/aggbug/115187.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>David Totzke</dc:creator>
            <guid>http://geekswithblogs.net/dtotzke/archive/2007/09/06/115187.aspx</guid>
            <pubDate>Thu, 06 Sep 2007 19:39:18 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dtotzke/comments/115187.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dtotzke/archive/2007/09/06/115187.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/dtotzke/comments/commentRss/115187.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dtotzke/services/trackbacks/115187.aspx</trackback:ping>
        </item>
        <item>
            <title>SSIS Lookup Transformation Case Sensitivity</title>
            <link>http://geekswithblogs.net/dtotzke/archive/2007/02/06/105585.aspx</link>
            <description>&lt;P&gt;Hey there,&lt;/P&gt;
&lt;P&gt;In one of my data loads I have NULLs creeping into a foreign key column.&amp;nbsp; I am looking up a domain name and getting an integer Id number back.&amp;nbsp; The column is populated during the load by a Lookup Transformation in SSIS.&amp;nbsp; A previous step in the process populates the lookup table with any values that don’t exist so it should be impossible for the subsequent lookups to fail.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;These null values had only recently appeared and coincided with some data back-filling we were doing.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;First issue&lt;/STRONG&gt;: &lt;BR&gt;I had the Lookup set to ignore failed lookups and simply return null.&amp;nbsp; This prevented me from seeing the error.&amp;nbsp; Because the lookup table gets pre-populated, a failed lookup should have been impossible.&amp;nbsp; I changed this to redirect the row upon failed lookup and put the failed rows into a separate table for examination.&amp;nbsp; Our database is set to use case insensitive collation.&amp;nbsp; Running a T-SQL query joining the failed rows to the lookup table in management studio confirms that all of the records have a match.&amp;nbsp; Arrrgh.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Second issue&lt;/STRONG&gt;: Further examination of the data showed that the only difference in the joined columns was case.&amp;nbsp; i.e. &lt;A href="http://www.somedomain.com/"&gt;www.SomeDomain.com&lt;/A&gt; and &lt;A href="http://www.somedomain.com/"&gt;www.somedomain.com&lt;/A&gt; .&amp;nbsp; There is no setting on the Lookup Transformation to ignore case.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Root cause&lt;/STRONG&gt;:&lt;BR&gt;Many of the failing rows were happening when looking up values that had been in the database for months.&amp;nbsp; They had worked in the past.&amp;nbsp; Somebody was touching the data.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The domain name value being used to do the lookup is used at the source for display to the end user.&amp;nbsp; Somebody was making them pretty by adding a little Pascal casing to them.&amp;nbsp; (another example reinforcing the importance of the separation of data from its presentation and formatting.&amp;nbsp; This explains why what once worked, now doesn’t.&lt;/P&gt;
&lt;P&gt;The SSIS Lookup Transformation uses full caching by default.&amp;nbsp; It pre-loads all of the lookup table data into memory at the start of the process.&amp;nbsp; In full cache mode, the lookup relies on the LocaleId for string comparison rules.&amp;nbsp; It picks up the locale of its parent container or from the package if not contained within something such as a foreach container.&amp;nbsp; This brings case and accent sensitivity into play.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;What had me fooled is that when configuring the lookup you JOIN the columns in the editor the same way you would visually join columns in a query builder.&amp;nbsp; In fact, the documentation lists the Lookup under “Split and Join Transformations” and states that it “performs lookups by joining data in input columns with columns in a reference dataset”.&amp;nbsp; One would think that since the source of its data is SQL Server, it would pick up the collation setting of the database.&amp;nbsp; You’d think that; and you’d be wrong. &lt;/P&gt;
&lt;P&gt;Of course, had I RTFM, I would have learned that the “lookups performed by the Lookup transformation are case sensitive” and been happier for the experience.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Resolution&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;There are a few solutions to this problem depending on the size of your data loads and lookup tables. &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Set the Lookup Transformation caching option to Partial or None.&lt;BR&gt;Setting the cache mode to partial or none causes comparisons to be done by SQL Server.&amp;nbsp;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Full cache with pre-formatted data.&lt;BR&gt;Update the lookup column using the T-SQL LOWER() or UPPER() functions so that subsequent lookups done by the Lookup Transformation will succeed.&lt;/LI&gt;
&lt;LI&gt;Full caching and T-SQL queries instead of tables as your data sources.&lt;BR&gt;Use the LOWER() or UPPER() functions on the columns to be compared.&amp;nbsp; This is likely the best of both worlds.&amp;nbsp; Gives you the performance of&amp;nbsp; full caching as well as simplifies your data flow by removing the extra steps needed for option 2.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;BR&gt;Dave &lt;BR&gt;Just because I can...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105585"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105585" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dtotzke/aggbug/105585.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>David Totzke</dc:creator>
            <guid>http://geekswithblogs.net/dtotzke/archive/2007/02/06/105585.aspx</guid>
            <pubDate>Tue, 06 Feb 2007 16:34:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dtotzke/comments/105585.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dtotzke/archive/2007/02/06/105585.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/dtotzke/comments/commentRss/105585.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dtotzke/services/trackbacks/105585.aspx</trackback:ping>
        </item>
        <item>
            <title>SQL Query Performance And Data Types</title>
            <link>http://geekswithblogs.net/dtotzke/archive/2006/08/17/88291.aspx</link>
            <description>&lt;P&gt;Bruce Johnson&amp;nbsp;of Object Sharp &lt;A href="http://objectsharp.com/blogs/bruce/archive/2006/07/20/5529.aspx"&gt;writes about a puzzling performance issue&lt;/A&gt; that took a little head-scratching to solve.&amp;nbsp; In the end it came down to a data type mismatch between the parameter variable and the field definition.&amp;nbsp; The parameter was nvarchar(40) and the field was defined as char(36).&amp;nbsp; SQL was converting the field values to nvarchar(40) instead of converting the single parameter value to char(36).&lt;/P&gt;
&lt;P&gt;It makes sense that it would convert the char(36) to nvarchar(40) because converting the other way would mean a loss of information not only due to the shorter field length but aslo in the conversion from unicode to single byte character data.&lt;/P&gt;
&lt;P&gt;I faced a similar situation some time ago with a join.&amp;nbsp; The join fields were both indexed and of the same data type and yet a query involving the join was very slow. Show plan (it was SQL 6.5) confirmed my suspicion that iterative table scans were happening but coulnd't figure out why.&amp;nbsp; For some reason SQL Server was ignoring the index on the fields.&amp;nbsp; We rebuilt the indexes, removed and re-added the indexes, did an update statistics (again a 6.5 thing) restarted the SQL service to clear caches, removed and recreated the join etc... Nothing had an effect.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;After much head banging and hair pulling I discovered that the join fields were indeed of the same data type but of different precision and scale.&amp;nbsp; e.g. FieldA was decimal(8, 4) and FieldB was decimal(8, 2).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Once we corrected the mismatch, the query sprung to life.&lt;/P&gt;
&lt;P&gt;Dave&lt;BR&gt;Just because I can...&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=88291"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=88291" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dtotzke/aggbug/88291.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>David Totzke</dc:creator>
            <guid>http://geekswithblogs.net/dtotzke/archive/2006/08/17/88291.aspx</guid>
            <pubDate>Thu, 17 Aug 2006 16:44:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dtotzke/comments/88291.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dtotzke/archive/2006/08/17/88291.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/dtotzke/comments/commentRss/88291.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dtotzke/services/trackbacks/88291.aspx</trackback:ping>
        </item>
        <item>
            <title>Virtual PC Is Now Free</title>
            <link>http://geekswithblogs.net/dtotzke/archive/2006/08/03/87068.aspx</link>
            <description>&lt;P&gt;Virtual PC and Virtual Server &amp;#8220;virtualize&amp;#8220; (who'd a thunk it?) your PC's hardware and the virtual hard disks simply become a file on the file system.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I use Microsoft Virtual Server R2 extensively for development work.&amp;nbsp; Right now I'm using it while learning about VS Team System and Team Foundation Server.&amp;nbsp; I have a Windows 2003 R2 domain controller, a W2K3 Application Server, and a W2K3 database server all running in a virtual environment on my PC. (ok, so it's a server class machine but I deserve it)&lt;/P&gt;
&lt;P&gt;There are a couple of features of VPC/VSR2 that are really handy.&amp;nbsp; The first is Undo Disks.&amp;nbsp; With undo disks enabled, all changes made to the system are written to a separate file.&amp;nbsp; They can be saved between sessions if you like but if you are experimenting, you can simple abandon the undo file when you shut down the virtual PC instance.&amp;nbsp; Now you are effortlessly back to your baseline.&amp;nbsp; When you get things right, you can choose to merge the undo disk into the main image to retain your modifications.&lt;/P&gt;
&lt;P&gt;The second handy feature is Differencing Disks.&amp;nbsp; It is similar in function to undo disks except that the difference disk becomes a completely new instance of the OS.&amp;nbsp; The base image remains untouched and should be marked read-only as any change made to the base image will invalidate all images for which it serves as the base.&lt;/P&gt;
&lt;P&gt;So, in the case of my team system environment, I have a single base image of Windows Server 2003 R2 Enterprise&amp;nbsp;marked read only and then three difference disks that are used for the DC, app server and database server.&amp;nbsp; I only had to install Windows once!&amp;nbsp; &lt;/P&gt;
&lt;P&gt;There was a case recently when I needed to have Visual Basic Embedded installed to take a look at a mobile app.&amp;nbsp; Not something I wanted to do on my production workstation.&amp;nbsp; I fire up Virtual PC, create a new instance based on my base XPSP2 image and then install VB Embedded.&amp;nbsp; Nice and clean.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Even when you had to pay ninety-nine bucks for it, you saved that much the first time you used it.&amp;nbsp; Now that it's free...&lt;/P&gt;
&lt;P&gt;Dave&lt;BR&gt;Just because I can...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=87068"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=87068" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dtotzke/aggbug/87068.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>David Totzke</dc:creator>
            <guid>http://geekswithblogs.net/dtotzke/archive/2006/08/03/87068.aspx</guid>
            <pubDate>Fri, 04 Aug 2006 01:08:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dtotzke/comments/87068.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dtotzke/archive/2006/08/03/87068.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dtotzke/comments/commentRss/87068.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dtotzke/services/trackbacks/87068.aspx</trackback:ping>
        </item>
        <item>
            <title>ATI Catalyst Drivers for Vista Build 5308 Now Available</title>
            <link>http://geekswithblogs.net/dtotzke/archive/2006/03/14/72284.aspx</link>
            <description>&lt;P&gt;If you've tried the 5270 build drivers in this release of Vista then you know that they don't exactly work and I've not been able to remove them and fall back to the ones provided in the Vista distribution that at least function fairly well.&amp;nbsp; You mileage, as always, may vary.&lt;/P&gt;
&lt;P&gt;ATI yesterday released updated drivers for the 5308 build.&amp;nbsp; You can get them &lt;A href="https://support.ati.com/ics/support/default.asp?deptID=894&amp;amp;task=knowledge&amp;amp;folderID=5712"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;[Update] - and they actually work pretty good.&amp;nbsp; One thing is that the Catalyst Control Centre has none of the controls available to adjust anything.&amp;nbsp; Just a blue box where the tree-view should be.&amp;nbsp; Wacky.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Dave&lt;BR&gt;Just because I can...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=72284"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=72284" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dtotzke/aggbug/72284.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>David Totzke</dc:creator>
            <guid>http://geekswithblogs.net/dtotzke/archive/2006/03/14/72284.aspx</guid>
            <pubDate>Tue, 14 Mar 2006 13:17:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dtotzke/comments/72284.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dtotzke/archive/2006/03/14/72284.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/dtotzke/comments/commentRss/72284.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dtotzke/services/trackbacks/72284.aspx</trackback:ping>
        </item>
        <item>
            <title>DOS, Printing and USB Printers</title>
            <link>http://geekswithblogs.net/dtotzke/archive/2006/01/20/66512.aspx</link>
            <description>&lt;P&gt;I wrote an article on &lt;A href="http://geekswithblogs.net/dtotzke/articles/26204.aspx"&gt;printing to a USB printer from DOS&lt;/A&gt; on a stand-alone PC more to document it for my own reference than anything else but it's getting hammered by google searchers.&amp;nbsp; It seems that DOS based programs are far from gone and as printers move away from parallel interfaces to USB people are faced with the problem of how to get it to print.&lt;/P&gt;
&lt;P&gt;Jonathan just dropped by to say thanks for the tips and left some exellent additional pointers to help out so I thought I would put them up front here so that they are not overlooked.&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;Thanks so much for posting this information! This was tremendously useful to me. &lt;BR&gt;&lt;BR&gt;I have some tips to add that may help people who've had some difficulty with this. &lt;BR&gt;&lt;BR&gt;1) Adding the loopback adapter is not necessary if the PC is on any sort of network... even a non-Internet connected LAN. In the case of networked machines, you can merely share the printer, and attach to the printer over 127.0.0.1, as someone else mentioned. For standalone machines, or ones that use dialup, you can either add the loopback adapter exactly as Dave describes, or you can wait until you're dialed into your ISP to print. Standalone machines may give "system error 1231" when you try the "net use lpt1 ..." command, if you're not networked. &lt;BR&gt;&lt;BR&gt;2) Setting the shared printer's driver to "TEXT" mode is only required if the application you are using is "dumb" and does not know about specific printers. If your application can be configured for the printer you have, you can leave the setting at "RAW", since the DOS program will have the correct escape codes for the printer. &lt;BR&gt;&lt;BR&gt;3) Most personal firewalls will block printer sharing. You need to allow for printer sharing over 127.0.0.1. For Norton Personal Firewall (part of Norton Internet Security), open the configuration window for the firewall. In the "Networking" tab, first choose the proper settings (Home, Away, Office, or Default). Click the "Trusted" tab below, then "Add...". In the window that comes up, make sure "Individually" is selected, and enter "127.0.0.1" as the host to allow. Click "OK" in this window, and "OK" again to leave the Firewall configuration. If you want to allow sharing under different locations, change "Settings for:" in the pull-down menu to and repeat the steps to add 127.0.0.1 as a trusted host. I was getting "system error 66" when trying the "net use lpt1 ..." command until I completed this step. &lt;BR&gt;Other firewalls probably have similar settings to change. &lt;BR&gt;&lt;BR&gt;Hope this helps answer a few lingering issues for folks. &lt;BR&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Thanks Jonathan!&amp;nbsp; I'm sure that people will find this information invaluable.&lt;/P&gt;
&lt;P&gt;Dave&lt;BR&gt;Just because I can...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=66512"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=66512" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dtotzke/aggbug/66512.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>David Totzke</dc:creator>
            <guid>http://geekswithblogs.net/dtotzke/archive/2006/01/20/66512.aspx</guid>
            <pubDate>Fri, 20 Jan 2006 13:52:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dtotzke/comments/66512.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dtotzke/archive/2006/01/20/66512.aspx#feedback</comments>
            <slash:comments>21</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dtotzke/comments/commentRss/66512.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dtotzke/services/trackbacks/66512.aspx</trackback:ping>
        </item>
        <item>
            <title>DirectX 9 In The 2.0 Framework</title>
            <link>http://geekswithblogs.net/dtotzke/archive/2005/12/24/64071.aspx</link>
            <description>&lt;P&gt;Over on MSDN Coding4Fun there is an article on &lt;A href="http://msdn.microsoft.com/coding4fun/gamedevelopment/beginning/default.aspx"&gt;beginning DirectX development &lt;/A&gt;and they use the old (circa 1980) arcade game&amp;nbsp;&lt;A href="http://en.wikipedia.org/wiki/Battle_Zone"&gt;Battlezone&lt;/A&gt; as the basis for the game.&amp;nbsp; In its time, Battlezone pushed the limits of 3D graphical processing.&amp;nbsp; So much so that the environment was rendered in wire-frame.&amp;nbsp; It is generally considered the first true virtual reality game.&amp;nbsp; These days, you could run it on your phone.&lt;/P&gt;
&lt;P&gt;Now, the sample tutorial suggests you use C# Express which targets the 2.0 Framework but they use the version of Managed DirectX for the 1.1 Framework.&amp;nbsp; This isn't a problem as it will all run just fine under 2.0 and MDX for 2.0 is still in Beta.&amp;nbsp; I decided to just use the 2.0 MDX and just convert the code where needed 'cause I'm cool like dat.&amp;nbsp; :)&lt;/P&gt;
&lt;P&gt;How hard could it be?&amp;nbsp; Oh.&amp;nbsp; Did I mention I don't know the first thing about DirectX?&lt;/P&gt;
&lt;P&gt;One of the first speed bumps you run into is the fact that when you go to reference the two dlls referred to in the tutorial, Microsoft.Directx.dll and Microsoft.Directx.Direct3D.dll, you find that only one of them has a 2.0 Version number.&amp;nbsp; A little investigation soon uncovers the fact that all of the MDX functionality has been consolidated into a single dll.&amp;nbsp; Microsoft.Directx.dll.&amp;nbsp; That's cool.&lt;/P&gt;
&lt;P&gt;The next speed bump to appear is that while consolidating they are also cleaning up the namespace.&amp;nbsp; Doing away with overly complex overloads and renaming methods with more explicit names.&amp;nbsp; This is a Good Thing &lt;SUP&gt;&lt;FONT size=1&gt;TM&lt;/FONT&gt;&lt;/SUP&gt;.&amp;nbsp; A method such as Matrix.PerspectiveFovLH becomes Matrix.PerspectiveFieldOfViewLeftHanded and Caps become Capabilities.&amp;nbsp; Much nicer and a cinch to figure out.&lt;/P&gt;
&lt;P&gt;Others require a little more spelunking such as the change from:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;int adapterOrdinal = Manager.Adapters.Default;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;to:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;int adapterOrdinal = AdapterCollection.Default.Adapter;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Then there's this one:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;device.DrawUserPrimitives(PrimitiveType.LineStrip, 6, CreateCrossHairVertexArrayTop());&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The CreateCrossHairVertexArrayTop function returns a Microsoft.DirectX.Direct3D.CustomVertex.PositionColored[] err...thing and the 2.0 DrawUserPrimitives wants a GraphicsBuffer ummm...do-dad.&lt;/P&gt;
&lt;P&gt;I am so screwed.&lt;/P&gt;
&lt;P&gt;The MDX documentation for 2.0 is sparse and digging into it often leads you to what is obviously 1.1 documentation.&amp;nbsp; After a little searching I found a link to Glenn Wilson over at &lt;A href="http://mdx.ircomm.net"&gt;Inner Realm&lt;/A&gt;&amp;nbsp;who posted &lt;A href="http://mdx.ircomm.net/Resources/ManagedDirectXResources/tabid/65/Default.aspx"&gt;this little gem&lt;/A&gt;.&amp;nbsp; It's a base application employing the Microsoft provided framework&amp;nbsp;for MDX that he's packaged up into a Visual Studio Community Content Installer File.&amp;nbsp; Uzip it, run it and then you're only a File --&amp;gt; New -- Project away from MDX goodness.&lt;/P&gt;
&lt;P&gt;THANKS Glenn with two n's!!&lt;/P&gt;
&lt;P&gt;Dave&lt;BR&gt;Just because I can...(thanks to Glenn that is)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=64071"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=64071" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dtotzke/aggbug/64071.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>David Totzke</dc:creator>
            <guid>http://geekswithblogs.net/dtotzke/archive/2005/12/24/64071.aspx</guid>
            <pubDate>Sun, 25 Dec 2005 00:01:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dtotzke/comments/64071.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dtotzke/archive/2005/12/24/64071.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dtotzke/comments/commentRss/64071.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dtotzke/services/trackbacks/64071.aspx</trackback:ping>
        </item>
        <item>
            <title>PowerPoint, Multiple Monitors, And Movie Files</title>
            <link>http://geekswithblogs.net/dtotzke/archive/2005/11/13/59953.aspx</link>
            <description>&lt;P&gt;Sometimes when playing an embedded movie file in a PowerPoint presentation, the movie will look fine on the primary monitor but you will only see a black &lt;A title="Don Box's Spoutlet" href="http://pluralsight.com/blogs/dbox/" target=_blank&gt;Don Box&lt;/A&gt; on a secondary monitor or projector.&amp;nbsp; I've only seen this myself when there are two movies on the same slide that you are trying to play at the same time.&amp;nbsp; One of them plays, the other is a black hole.&lt;/P&gt;
&lt;P&gt;There are several things that may cause this and a few different ways to address the issue.&amp;nbsp; Thanks to Scott Cate and the &lt;A href="http://www.kbAlertz.com/"&gt;kbAlertz&lt;/A&gt; service I&amp;nbsp;noticed this just published Microsoft &lt;A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;906313"&gt;knowledge base article&lt;/A&gt; on the matter that consolidates all of the different fixes in a single place.&lt;/P&gt;
&lt;P&gt;Dave&lt;BR&gt;Just because I can...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=59953"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=59953" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dtotzke/aggbug/59953.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>David Totzke</dc:creator>
            <guid>http://geekswithblogs.net/dtotzke/archive/2005/11/13/59953.aspx</guid>
            <pubDate>Sun, 13 Nov 2005 11:31:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dtotzke/comments/59953.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dtotzke/archive/2005/11/13/59953.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/dtotzke/comments/commentRss/59953.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dtotzke/services/trackbacks/59953.aspx</trackback:ping>
        </item>
    </channel>
</rss>