<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
    <channel>
        <title>SystemWidgets</title> 
        <link>http://systemwidgets.com</link> 
        <description>RSS feeds for SystemWidgets</description> 
        <ttl>60</ttl> <item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/322/Moving-this-website-to-my-own-servers.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=322</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=322&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>Moving this website to my own servers</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/322/Moving-this-website-to-my-own-servers.aspx</link> 
    <description>&lt;p&gt;&amp;#160;As a cost cutting measure, I will be moving this website from PowerDNN to my rack-mounted servers. I'm being forced to cut down on all unnecessary costs. Currently I pay $50/month to host this site and the &lt;a href=&quot;http://www.wheelmud.net&quot; target=&quot;_blank&quot;&gt;WheelMUD&lt;/a&gt; site. I can't afford that anymore.&lt;/p&gt;
&lt;p&gt;I wanted to give everybody a heads up that the site will be down intermittently in the next 5 days. The biggest hurdle will be the DNS servers. The DNS changes can take up to 72 hours for some people.&lt;/p&gt;
&lt;p&gt;Just remember, this site is not going away. Don't Panic!&amp;#160;&lt;img src=&quot;http://www.wheelmud.net/Providers/HtmlEditorProviders/Fck/fckeditor/editor/images/smiley/msn/shades_smile.gif&quot; alt=&quot;&quot; /&gt;&amp;#160;GANGNAM STYLE!&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Your invisible and friendly system administrator.&lt;/p&gt;</description> 
    <dc:creator>Administrator Account</dc:creator> 
    <pubDate>Sat, 27 Apr 2013 15:28:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:322</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/320/Twitter-account-changes.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=320</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=320&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>Twitter account changes</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/320/Twitter-account-changes.aspx</link> 
    <description>&lt;p&gt;&amp;#160;Just a heads up for everybody that follows me on Twitter. I will be winding down the @systemwidgets account. I'm moving away from software development as a career, and moving into SQL\Data Warehouse development.&amp;#160;&lt;/p&gt;
&lt;p&gt;The new Twitter account is @Datasome.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Wed, 24 Apr 2013 03:06:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:320</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/319/BIDS-2012--Disabled-tasks-are-not-distinguishable.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=319</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=319&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>BIDS 2012 - Disabled tasks are not distinguishable</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/319/BIDS-2012--Disabled-tasks-are-not-distinguishable.aspx</link> 
    <description>&lt;p&gt;&amp;#160;I was testing one small SSIS package in several different versions of BIDS. I discovered that Visual Studio 2012 (BIDS) does not do a good job of visually distinguising disabled objects.&lt;/p&gt;
&lt;p&gt;Here are screenshots for each version I tested:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BIDS 2008&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/Portals/0/images/blog/BIDS2008Disabled.png&quot; width=&quot;346&quot; height=&quot;475&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Clearly visible differences.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BIDS 2010&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/Portals/0/images/blog/BIDS2010Disabled.png&quot; width=&quot;347&quot; height=&quot;447&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Still distinguishable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BIDS 2012&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/Portals/0/images/blog/BIDS2012Disabled.png&quot; width=&quot;361&quot; height=&quot;446&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Uh-oh. Houston we have a problem!&lt;/p&gt;
&lt;p&gt;This issue has been reported over at Microsoft's Connect website. Here's the link:&amp;#160;&lt;a href=&quot;https://connect.microsoft.com/SQLServer/feedback/details/780973/ssis-in-vs2012-way-too-hard-to-distinguish-disabled-items-accessibility-issue&quot; target=&quot;_blank&quot;&gt;SSIS in VS2012 - Way too hard to distinguish disabled items - accessibility issue&lt;/a&gt;&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Sun, 21 Apr 2013 19:55:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:319</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/315/Review-for-the-Frontrunner-South-train-in-Utah.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=315</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=315&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>Review for the Frontrunner South train in Utah</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/315/Review-for-the-Frontrunner-South-train-in-Utah.aspx</link> 
    <description>&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;I rode the Frontrunner train to work today. I got to the Frontrunner station in Provo (700 South University, just before the bridge going north). I bought a round trip ticket. It cost me $10.20. The round ticket gives me the right to use all forms of transportation for the day. This includes Frontrunner, TRAX, and the bus system as part of the pass. The actual pass looks like a bigger movie ticket. Interestingly enough, nobody checked that I had actually purchased a ticket.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;I went to http://www.rideuta.com to check out what the itinerary looked like. The instructions there were fairly clear. The routes were clearly marked with numbers and colors for TRAX routes. The bus routes were marked with route numbers and addresses. The one confusing thing is that the routes do not say if they are TRAX or Bus. I had to click on the link in the web page, and even going to the second page, it was not clear which one was what.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;FRONTRUNNER:&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;The train shook a lot less than I expected. The only part that had a lot of vibration was the segment between South Jordan and Murray stations. I rode on the second floor of the train car. I sat at one places that had a table. There were quite a few people with laptops. The free WiFi was actually pretty good. I was able to browse my email and websites on my Samsung Galaxy Note 2 without any issues at all. The cabin was a bit cold at foot level. Make sure to stay way from doors, until you get to your destination. When the door opened at Murray station, I got hit with a freezing blast of cold air. I imagine that it would be miserable for those seating by the doors.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;The seats were not all that comfortable, but they were bearable for the time I was on the train. I felt that the seats were made with people smaller than me in mind. They were quite narrow. It felt like a coach seat in an airplane. There are pods of 4 seats, 2 facing the other seats. There were single seats in several nooks in the first floor of the car.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;The driver announces the stop clearly. The stop names matched what was on the UTA's website. The northbound route on Frontrunner is called &lt;strong&gt;Route 750 FRONTRUNNER, Provo&lt;/strong&gt;.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;TRAX:&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;I got off the Murray station, right behind the IHC hospital campus. I walked towards the campus, and was quickly on the island for the TRAX tram. I figured that was where the TRAX station would be. Indeed it was. I needed to get on the Blue line going southbound. It was marked clearly on the end of the island's roof. There were large red and blue dots with the destination printed out. There was also a digital display showing when the next 3 trains would come by. It was extremely cold on that platform. I ended up zipping up my coat, putting on my hat and gloves.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;The TRAX tram shoot violently at times. Reminded me a lot of metro cars I've ridden in the past. The ride to the Winchester St. stop took about 3 minutes. Nobody checked my that I had a ticket.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;The announcement for the station that I needed to get off was rather confusing. It is a good thing that I know the landmarks around where I work. I heard &quot;Fashion Place Stop&quot;. I was expecting Winchester Street.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;The marked route on the itnerary was &lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;&lt;strong&gt;Route 701 BLUE LINE, MURRAY&lt;/strong&gt;&lt;/span&gt;.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;BUS:&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;The buses where clearly marked and I was able to find it quickly when I got off the TRAX tram. The itinerary said that I needed to get on &lt;strong&gt;Route 209 EAST, Murray&lt;/strong&gt;. There were three 209 buses. I got on and asked the driver if this one would stop by the Fashion Place Mall. He told me yes. A few seconds later, he told me that the bus behind him was leaving right now. He signaled the other bus (don't know how he did it), and the other bus stopped paralell to the one I was in. I got off, and onto that one. I was impressed with the bus driver. That's dang good service!&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;The driver on the new bus was extremely cheerful and helpful. He cracked me up! I had forgotten that there was a stop right in front of Fashion Place Mall. The driver asked me, worriedly, if I was getting off, and I told him that I was getting off the next one. He smiled, and we were on our way. We got to my stop, and I wished everybody a Merry Christmas.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;I walked to my office, which was just about 3 to 4 minutes from the bus stop. The total time was around 1 hour and 15 minutes.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Times New Roman&quot; size=&quot;3&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;p&gt;Now to see how the return trip goes this evening...&amp;#160;&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Thu, 20 Dec 2012 16:36:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:315</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/314/FizzBuzz-in-T-SQL.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=314</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=314&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>FizzBuzz in T-SQL</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/314/FizzBuzz-in-T-SQL.aspx</link> 
    <description>&lt;p&gt;As a past developer, I got the now famous FizzBuzz question in interviews several times. I thought I play around a bit and do FizzBuzz in T-SQL.&lt;/p&gt;
&lt;p&gt;Here is a simple script that prints out the results:&amp;#160;&amp;#160;&lt;/p&gt;
&lt;pre style=&quot;font-family: Consolas; font-size: 13px; background-color: white; background-position: initial initial; background-repeat: initial initial;&quot;&gt;&lt;span style=&quot;color:blue;&quot;&gt;DECLARE&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@counter&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;INT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;DECLARE&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@output&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;VARCHAR&lt;/span&gt;&lt;span style=&quot;color:gray;&quot;&gt;(&lt;/span&gt;8&lt;span style=&quot;color:gray;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;SET&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@counter&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;1&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;WHILE&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@counter&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;&amp;lt;&lt;/span&gt;&amp;#160;101&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;SET&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@output&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:red;&quot;&gt;''&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;IF&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@counter&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;%&lt;/span&gt;&amp;#160;3&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;0&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;SET&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@output&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:red;&quot;&gt;'Fizz'&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;IF&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@counter&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;%&lt;/span&gt;&amp;#160;5&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;0&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;SET&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@output&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@output&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;+&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:red;&quot;&gt;'Buzz'&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;IF&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@output&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:red;&quot;&gt;''&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;SET&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@output&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@counter&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;PRINT&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@output&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;SET&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@counter&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;@counter&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;+&lt;/span&gt;&amp;#160;1&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;END&lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;p&gt;I formatted this a bit for easier reading. &lt;strong&gt;Source:&lt;/strong&gt; &lt;a href=&quot;http://blog.sqlauthority.com/2009/02/02/sql-server-t-sql-script-for-fizzbuzz-logic/&quot; target=&quot;_blank&quot;&gt;Pinal Dave&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here is a sample script if you want use native SQL Server features and a dataset result:&amp;#160;&lt;/p&gt;
&lt;pre style=&quot;font-family: Consolas; font-size: 13px; background-color: white; background-position: initial initial; background-repeat: initial initial;&quot;&gt;&lt;span style=&quot;color:blue;&quot;&gt;WITH&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;NumberRange&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color:gray;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:teal;&quot;&gt;CurrentNumber&lt;/span&gt;&lt;span style=&quot;color:gray;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;AS&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:gray;&quot;&gt;(&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;SELECT&lt;/span&gt;&amp;#160;1&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;AS&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;CurrentNumber&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;UNION&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;ALL&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;SELECT&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;CurrentNumber&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;+&lt;/span&gt;&amp;#160;1&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;FROM&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;NumberRange&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;WHERE&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;CurrentNumber&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;&amp;lt;&lt;/span&gt;&amp;#160;100&lt;br /&gt;
&lt;span style=&quot;color:gray;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;SELECT&lt;/span&gt;
&lt;span style=&quot;color:teal;&quot;&gt;CurrentNumber&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;AS&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;Number&lt;/span&gt;&lt;span style=&quot;color:gray;&quot;&gt;,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;CASE&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;WHEN&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;CurrentNumber&lt;/span&gt;&lt;span style=&quot;color:gray;&quot;&gt;%&lt;/span&gt;3&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;0&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;AND &lt;/span&gt;
&lt;span style=&quot;color:teal;&quot;&gt;CurrentNumber&lt;/span&gt;&lt;span style=&quot;color:gray;&quot;&gt;%&lt;/span&gt;5&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;0&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;THEN&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:red;&quot;&gt;'FizzBuzz'&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;WHEN&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;CurrentNumber&lt;/span&gt;&lt;span style=&quot;color:gray;&quot;&gt;%&lt;/span&gt;3&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;0&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;THEN&lt;/span&gt;&amp;#160;
&lt;span style=&quot;color:red;&quot;&gt;'Fizz'&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;WHEN&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;CurrentNumber&lt;/span&gt;&lt;span style=&quot;color:gray;&quot;&gt;%&lt;/span&gt;5&amp;#160;&lt;span style=&quot;color:gray;&quot;&gt;=&lt;/span&gt;&amp;#160;0&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;THEN&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:red;&quot;&gt;'Buzz'&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;ELSE&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:magenta;&quot;&gt;CONVERT&lt;/span&gt;&lt;span style=&quot;color:gray;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;VARCHAR&lt;/span&gt;&lt;span style=&quot;color:gray;&quot;&gt;(&lt;/span&gt;3&lt;span style=&quot;color:gray;&quot;&gt;),&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;CurrentNumber&lt;/span&gt;&lt;span style=&quot;color:gray;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;END&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;AS&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;Result&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:blue;&quot;&gt;FROM&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:teal;&quot;&gt;NumberRange&lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;p&gt;This uses a &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms190766(v=sql.105).aspx&quot; target=&quot;_blank&quot;&gt;Common Table Expression (CTE)&lt;/a&gt;. Hopefully, this helps the readers.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Mon, 17 Dec 2012 02:10:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:314</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/312/T-SQL-Duration-function.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=312</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=312&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>T-SQL Duration function</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/312/T-SQL-Duration-function.aspx</link> 
    <description>&lt;p&gt;I've tried a few textual duration functions that were floating around the Internet. I finally hit on something that is exactly what I want. Here's the T-SQL script to create a scalar function to use in your monitoring and admin scripts:&lt;/p&gt;
&lt;p&gt;CREATE FUNCTION [dbo].[GetDuration] &lt;br /&gt;
(&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; @startTime DATETIME, @endTime DATETIME&lt;br /&gt;
)&lt;br /&gt;
RETURNS VARCHAR(50)&lt;br /&gt;
AS&lt;br /&gt;
BEGIN&lt;br /&gt;
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; DECLARE @duration INT, @hours INT, @minutes INT, @seconds INT, @totalSeconds INT,&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; @stringdate VARCHAR(12),@durationText VARCHAR(200),@milliseconds INT&lt;br /&gt;
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; SET @durationText = ''&lt;br /&gt;
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; SELECT @stringdate = CONVERT(varchar(12), DATEADD(ms, DATEDIFF(ms, @startTime, @endTime), 0), 114)&lt;br /&gt;
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; SET @hours = substring(@stringdate,1,2)&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; SET @minutes = substring(@stringdate,4,2)&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; SET @seconds = substring(@stringdate,7,2)&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; SET @milliseconds = substring(@stringdate,10,3)&lt;br /&gt;
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; IF @hours &amp;gt; 0&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; BEGIN &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DECLARE @hourText VARCHAR(12)&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IF @hours = 1&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @hourText = ' hour '&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ELSE &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @hourText = ' hours '&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @durationText = cast(@hours AS VARCHAR(3)) + @hourText&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; END&lt;br /&gt;
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; IF @minutes &amp;gt; 0&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; BEGIN&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DECLARE @minuteText VARCHAR(12)&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IF @minutes = 1&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @minuteText = ' minute '&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ELSE &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @minuteText = ' minutes '&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @durationText = @durationText + cast(@minutes AS VARCHAR(3)) + @minuteText&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; END &lt;br /&gt;
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; IF @seconds &amp;gt; 0&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; BEGIN&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DECLARE @secondText VARCHAR(12)&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IF @seconds = 1&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @secondText = ' second '&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ELSE &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @secondText = ' seconds '&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @durationText = @durationText + cast(@seconds AS VARCHAR(3)) + @secondText&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; END &lt;br /&gt;
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; IF @milliseconds &amp;gt; 0&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; BEGIN&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -- Only show milliseconds if that's the only time unit&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -- that is not zero&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IF len(@durationText) &amp;lt; 3&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DECLARE @millsecText VARCHAR(25)&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IF @milliseconds = 1&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @millsecText = ' millisecond'&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ELSE &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @millsecText = ' milliseconds'&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @durationText = @durationText + cast(@milliseconds AS VARCHAR(3)) + @millsecText&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; END&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; RETURN @durationText&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;
END&lt;/p&gt;
&lt;p&gt;Comment if you use it. :)&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Wed, 24 Oct 2012 17:05:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:312</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/311/SSMS-2008--Resetting-keyboard-shortcuts.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=311</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=311&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>SSMS 2008 - Resetting keyboard shortcuts</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/311/SSMS-2008--Resetting-keyboard-shortcuts.aspx</link> 
    <description>&lt;p&gt;I just had a very unpleasant experience with a trial version of a SSMS addin. This addin reset my keyboard layout, and didn't restore it back to what I&amp;#160;had.&lt;/p&gt;
&lt;p&gt;I went the usual route of trying the different customization dialogs. However, I was miffed when I found this:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;615&quot; height=&quot;477&quot; src=&quot;/Portals/0/images/blog/CustomizeDialogForSSMS.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#160;can't change the shortcuts in SSMS! Arrrggghhh! So now I turned to Google to see if there was a non-UI way of doing this...&lt;/p&gt;
&lt;p&gt;This first article I&amp;#160;found, said to look for User.vsk in C:\ProgramData\Microsoft\Microsoft SQL Server\100\Tools\Shell. There was nothing there.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;184&quot; height=&quot;86&quot; src=&quot;/Portals/0/images/blog/OriginalVSK.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;SSMS keeps the key shortcuts in a file called User.vsk. Incidentally, when I did a global search on my hard drive, I noticed that Visual Studio uses a file with the same name, but in a different directory.&lt;/p&gt;
&lt;p&gt;I actually found it in C:\Users\YourUserName\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell. I deleted User.vsk from that file, and restarted SSMS. The mangled short-cuts are still there. &lt;img src=&quot;http://systemwidgets.com/Providers/HtmlEditorProviders/Fck/fckeditor/editor/images/smiley/msn/confused_smile.gif&quot; alt=&quot;&quot; /&gt;. So I&amp;#160;look at the contents of the directory again, and notice that there are 3 files with the *.vsk extension.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;509&quot; height=&quot;378&quot; src=&quot;/Portals/0/images/blog/UserVSK.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I delete Current.vsk and User.vsk, and TADA! The default shortcuts are back. Make sure that you have all copies of SSMS closed, before you delete these files. Otherwise, like zombies, they'll be back.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;388&quot; height=&quot;125&quot; src=&quot;/Portals/0/images/blog/ShortcutsAreBack.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Yes! Now I can stop being irritated by this. Whew! &lt;img src=&quot;http://systemwidgets.com/Providers/HtmlEditorProviders/Fck/fckeditor/editor/images/smiley/msn/tounge_smile.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Mon, 01 Oct 2012 16:57:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:311</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/310/DNNUserManager-is-now-MembershipUserManager.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=310</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=310&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>DNNUserManager is now MembershipUserManager</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/310/DNNUserManager-is-now-MembershipUserManager.aspx</link> 
    <description>&lt;p&gt;A while back, I created a little utility to edit ASP.NET membership services database. The instructions only talked about DotNetNuke. I've now added instructions on how to use it on regular ASP.NET membership databases.&lt;/p&gt;
&lt;p&gt;There previous blog post is &lt;a href=&quot;http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/138/DotNetNuke-user-manager--Winform-App.aspx&quot; target=&quot;_blank&quot;&gt;DotNetNuke user manager - Winform App&lt;/a&gt;. The new app is called MembershipUserManager. I've included, as usual, both the source and binaries. The source is now a Visual Studio 2010 solution. It actually uses .NET&amp;#160;2.0, so older versions of Visual Studio and SharpDevelop can use the source.&lt;/p&gt;
&lt;p&gt;The ReadMe.txt file, in the zip files, has instructions on how to setup regular ASP.NET membership and DotNetNuke.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Fri, 07 Sep 2012 15:01:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:310</guid> 
    <enclosure url="http://systemwidgets.com/Portals/0/MembershipUserManager_Binaries.zip" length="11987" type="application/octet-stream" />
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/309/SSIS--Operations-across-multiple-servers-in-one-package.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=309</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=309&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>SSIS - Operations across multiple servers in one package</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/309/SSIS--Operations-across-multiple-servers-in-one-package.aspx</link> 
    <description>&lt;p&gt;I've had one project where I&amp;#160;had to replace a WCF web service with a single package. This web service was running across something like 130 locations when I originally wrote it. It is up to 150 locations now.&lt;/p&gt;
&lt;p&gt;The package needed to reach out to different MS SQL servers across all locations and perform some tasks according to the state of the data in the remote server. I Googled this and looked at StackOverflow, but nobody had exactly what I&amp;#160;needed.&lt;/p&gt;
&lt;p&gt;I want to put the solution in this blog, because I can never remember how to do this. I end up firing BIDS with the solution that has this package.&lt;/p&gt;
&lt;p&gt;Here is the finished package:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;189&quot; height=&quot;377&quot; src=&quot;/Portals/0/images/blog/MultipleServersOverview.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The magenta overlay on the connection is from an AddIn called BIDS Helper. It is free and you can get it from &lt;a href=&quot;http://bidshelper.codeplex.com/&quot; target=&quot;_blank&quot;&gt;http://bidshelper.codeplex.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;First let's create a user variable called &quot;CurrentServer.&quot;&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;429&quot; height=&quot;107&quot; src=&quot;/Portals/0/images/blog/MultipleServers_2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The key for the whole is the connection. In BIDS, open the Properties window, then select the connection. It should look like this:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;334&quot; height=&quot;342&quot; src=&quot;/Portals/0/images/blog/MultipleServers_1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Click on the button with the ellipsis (the three dots), to bring up the Expressions Editor.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;446&quot; height=&quot;352&quot; src=&quot;/Portals/0/images/blog/MultipleServers_3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Click in the area below the label &quot;Property&quot;, to use the drop down control for properties, and select &quot;ConnectionString.&quot;&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;451&quot; height=&quot;357&quot; src=&quot;/Portals/0/images/blog/MultipleServers_4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Click on the ellipsis button to invoke the Expression Builder dialog.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;583&quot; height=&quot;520&quot; src=&quot;/Portals/0/images/blog/MultipleServers_5.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;You will enter your connection string in the Expression textbox. Here is a generic connection string to get you started:&lt;/p&gt;
&lt;p&gt;&quot;Data Source=&quot; + @[User::CurrentServer] + &quot;;Initial Catalog=YOURSERVER;Provider=SQLNCLI10.1;Uid=YOURUSER;Pwd=YOURPASSWORD&quot;&lt;/p&gt;
&lt;p&gt;This is assuming that all your servers are using the same user name and password. Replace YOURSERVER, YOURUSER, and YOURPASSWORD with the appropriate values. Click on the &quot;Evaluate Expression&quot; button to make sure you got this right.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;583&quot; height=&quot;520&quot; src=&quot;/Portals/0/images/blog/MultipleServers_6.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Click OK in the Expression Builder and the Expression Builder Editor to get back to your package. You should now see this property populated in the Properties window. You might need to expand the Expressions property to see it. Once expanded, it will look like this:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;336&quot; height=&quot;360&quot; src=&quot;/Portals/0/images/blog/MultipleServers_7.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Let's now prepare the data flow task to get our server names. First let's create a varible to hold the server name recordset, which we will use to look through the servers:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;471&quot; height=&quot;126&quot; src=&quot;/Portals/0/images/blog/MultipleServers_8.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Next, let's edit the &quot;Get list of server credentials&quot; task in the Control Flow tab. The data flow will look like this:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;155&quot; height=&quot;277&quot; src=&quot;/Portals/0/images/blog/MultipleServers_9.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Edit the &quot;Server Name Query&quot; OLE DB source. I put something simple just to get this going. You can use the UNION technique in the screenshot, or if you are lucky, there is a database somewhere in your company that contains all of this information.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;832&quot; height=&quot;721&quot; src=&quot;/Portals/0/images/blog/MultipleServers_10.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Click OK. Now, let's edit the recordset destination:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;799&quot; height=&quot;721&quot; src=&quot;/Portals/0/images/blog/MultipleServers_11.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Make sure that the VariableName is using the rsServers variable that we created earlier. I've highlighted it in red above. Select the &quot;Input Columns&quot; tab and make sure that the ServerName column is select like so:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;799&quot; height=&quot;721&quot; src=&quot;/Portals/0/images/blog/MultipleServers_12.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Next, let's edit the ForEach Loop task and configure it to use the recordset from the previous step:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;751&quot; height=&quot;637&quot; src=&quot;/Portals/0/images/blog/MultipleServers_13.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Click on &quot;Collection&quot; on the left, then select &quot;Foreach ADO Enumerator&quot; from the drop down. Next we will use the variable we setup earlier:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;751&quot; height=&quot;637&quot; src=&quot;/Portals/0/images/blog/MultipleServers_14.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Next, click on &quot;Variable Mappings.&quot; Click on the space below the &quot;Variable&quot;&amp;#160;label to activate the drop down. Now select the user variable that will hold the server names. In our case, this is the &quot;CurrentServer&quot; variable.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;751&quot; height=&quot;637&quot; src=&quot;/Portals/0/images/blog/MultipleServers_15.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We are done setting this up. Now anything that we setup inside the ForEach Loop task will work on all the servers we have used from the query that gets our server names.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;254&quot; height=&quot;398&quot; src=&quot;/Portals/0/images/blog/MultipleServers_16.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Now you can see why I forget how to do this. At least it is now in my blog. &lt;img src=&quot;http://systemwidgets.com/Providers/HtmlEditorProviders/Fck/fckeditor/editor/images/smiley/msn/shades_smile.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Mon, 27 Aug 2012 16:21:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:309</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/308/Icon-for-SQL-Server-Management-Studio-2012.aspx#Comments</comments> 
    <slash:comments>2</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=308</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=308&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>Icon for SQL Server Management Studio 2012</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/308/Icon-for-SQL-Server-Management-Studio-2012.aspx</link> 
    <description>&lt;p&gt;I got a bit peeved that SQL Server Management Studio 2012 did not come with a different icon than the one that comes with SSMS 2008. It was just driving me crazy not being able to tell them apart on the Windows 7 Task Bar.&lt;/p&gt;
&lt;p&gt;I created one myself. Here's what it looks like:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;118&quot; height=&quot;40&quot; src=&quot;/Portals/0/images/blog/SSMS2012Win7TaskBar.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;It's the one on the right. Here's the 128x128 pixel image turned into a PNG:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;128&quot; height=&quot;128&quot; alt=&quot;&quot; src=&quot;/Portals/0/images/blog/SSMS 2012.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I've attached the icon to this post.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Wed, 22 Aug 2012 04:26:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:308</guid> 
    <enclosure url="http://systemwidgets.com/Portals/0/SSMS 2012.ico" length="99678" type="application/octet-stream" />
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/307/Calling-the-NET-Membership-API-from-a-SSIS-Script-Task.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=307</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=307&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>Calling the .NET Membership API from a SSIS Script Task</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/307/Calling-the-NET-Membership-API-from-a-SSIS-Script-Task.aspx</link> 
    <description>&lt;p&gt;I was handed a SSIS package to maintain. What makes this package special, is that it uses the ASP.NET&amp;#160;Membership API to add users to the membership database.&lt;/p&gt;
&lt;p&gt;The Business Intelligence Development Studio (BIDS) uses DtsDebugHost to run SSIS packages. We put the connection string information in the DtsDebugHost.exe.config file. That works well while designing the package. Not so when it comes time for deploying to a production environment.&lt;/p&gt;
&lt;p&gt;Most SSIS tools are in the following folder:&lt;/p&gt;
&lt;p&gt;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn&lt;/p&gt;
&lt;p&gt;64-bit versions of these tools are in:&lt;/p&gt;
&lt;p&gt;C:\Program Files\Microsoft SQL Server\100\DTS\Binn&lt;/p&gt;
&lt;p&gt;I went and put the connection string information in the respective config files. Imagine my surprise when I test the package by running it manually from the Integration Services connection, and it fails.&lt;/p&gt;
&lt;p&gt;This method uses a totally different executable. It is called DTExecUI.exe and it is actually here:&lt;/p&gt;
&lt;p&gt;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE&lt;/p&gt;
&lt;p&gt;There are no 64-bit versions of this, as far as I can tell.&lt;/p&gt;
&lt;p&gt;So here are the actual package execution applications:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;DtsExec.exe - Command-line tool to run packages.&lt;/li&gt;
    &lt;li&gt;DTExecUI.exe - GUI to run packages&lt;/li&gt;
    &lt;li&gt;DtsDebugHost.exe - BIDS in debug mode&lt;/li&gt;
    &lt;li&gt;dthost.exe - BIDS in release mode?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I wanted to put this in my blog, so that I could find it later.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Tue, 19 Jun 2012 16:12:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:307</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/306/Regular-Expressions-and-batch-files.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=306</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=306&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>Regular Expressions and batch files</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/306/Regular-Expressions-and-batch-files.aspx</link> 
    <description>&lt;p&gt;&lt;span style=&quot;font-family: arial,sans-serif;&quot;&gt;I was helping a Text File Splitter user with an issue he was having with the split text file using regular expression strategy. The regular expression works fine from the GUI or if you use the console program on the command-line. However it wasn't working if the same command line parameters were used in a batch file.&lt;br /&gt;
&lt;br /&gt;
It turned out to be that regular expression was no being escaped when using it from the batch file. The solution is to enclose the regular expression in quotes. Here's a normal example:&lt;br /&gt;
&lt;br /&gt;
-splitstrategy:regex:^(---)(\+){2}[^!]&lt;br /&gt;
&lt;br /&gt;
In order to use this from a batch file, you would need to do this:&lt;br /&gt;
&lt;br /&gt;
-splitstrategy:regex:&quot;^(---)(\+){2}[^!]&quot;&lt;br /&gt;
&lt;br /&gt;
Just wanted to post this here, in case somebody else runs into this issue.&lt;/span&gt;&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Fri, 15 Jun 2012 15:14:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:306</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/305/Reached-burn-out.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=305</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=305&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>Reached burn out</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/305/Reached-burn-out.aspx</link> 
    <description>&lt;p&gt;Been limping along on the programming front. I've gotten to the point where I&amp;#160;have burnt out on programming. It took me a while, but I now understand what makes me tick, what makes me burn out.&lt;/p&gt;
&lt;p&gt;My main love in programing are desktop clients. The area I live around has basically moved to web applications. I really dislike web programming. I find it tedious and infuriating. It's just not my cup of tea.&lt;/p&gt;
&lt;p&gt;My last job search was pretty intense. I'm not in a postion to move (nor do I&amp;#160;have the energy at this stage in my life). So I did what any good Borg would do. I&amp;#160;adapted. I moved into the database world head first.&lt;/p&gt;
&lt;p&gt;I've been doing SSIS as my primary duties, and maintenance programming as my second duties. This has helped immensely. I feel like I want to program again, but not for a living.&lt;/p&gt;
&lt;p&gt;I have a lot of little projects that I'm in the process of updating. My current goal is to learn Caliburn.Micro with WPF.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Mon, 28 May 2012 16:19:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:305</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/300/Better-file-encoding-detection-for-Text-File-Splitter.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=300</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=300&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>Better file encoding detection for Text File Splitter</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/300/Better-file-encoding-detection-for-Text-File-Splitter.aspx</link> 
    <description>&lt;p&gt;A Text File Splitter user had a problem with the file encodings. This is a known issue, that I'm happy to report is almost resolved. He gave me a file for testing, and that has helped enormously. Thanks Zhou!&lt;/p&gt;
&lt;p&gt;Work on Text File Splitter 3.0 has crawled, but I&amp;#160;had already converted the code from 2.2.1 over to .NET 4.0. I decided to just finish this work, and release it as 2.5.0.&lt;/p&gt;
&lt;p&gt;Here's a screenshot of Text File Splitter detecting a UTF-8 file without the Byte Order Mark (BOM):&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;515&quot; height=&quot;222&quot; alt=&quot;&quot; src=&quot;/Portals/0/images/blog/TFSwithoutBOMDetection.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Here's a screenshot of a file with a BOM:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;514&quot; height=&quot;220&quot; alt=&quot;&quot; src=&quot;/Portals/0/images/blog/TFSwithBOMDetection.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I'm using a library called &quot;&lt;a target=&quot;_blank&quot; href=&quot;http://code.google.com/p/ude/&quot;&gt;ude&lt;/a&gt;&quot;, which is a C# port of the Mozilla Universal Charset Detector. I had to put a bug fix to deal with very large files. At least the file encoding detection, first half of this feature, is now done. Now I need to deal with the encoding on the file chunks. This has taken a lot more time and code than I expected. Hopefully, this will solve this nagging issue once and for all.&lt;/p&gt;
&lt;p&gt;I don't have a date for when this version will be released. I still need to update pages in the new wiki (http://docs.systemwidgets.com). You guys will be able to start creating your own splitting strategies, once I get all of this work done. The wiki talks about version 3.0, but you will be able to do this with version 2.5.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Sat, 21 Jan 2012 05:16:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:300</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/299/59-Gigs--A-new-record-for-Text-File-Splitter.aspx#Comments</comments> 
    <slash:comments>1</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=299</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=299&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>59 Gigs - A new record for Text File Splitter</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/299/59-Gigs--A-new-record-for-Text-File-Splitter.aspx</link> 
    <description>&lt;p&gt;I was cleaning unneeded files in one of my servers, when I noticed that PHP had a massive error log file. &lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;653&quot; height=&quot;148&quot; src=&quot;/Portals/0/images/blog/HugeFileChunksFor59gigFile.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;As you can see, I was able to break it into 10 Gig files. Here's a screenshot of the UI, right before I clicked the &quot;Split!&quot; button.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;520&quot; height=&quot;872&quot; src=&quot;/Portals/0/images/blog/59GigTextFileMarkedUp.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Sat, 21 Jan 2012 04:59:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:299</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/298/Changing-directions.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=298</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=298&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>Changing directions...</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/298/Changing-directions.aspx</link> 
    <description>&lt;p&gt;I'm getting out software development as a career. I still wanted to stay in Information Services. Fortunately, I&amp;#160;found my new home in Business Intelligence. Specifically, I'm working with SQL Server Integration Services (SSIS).&lt;/p&gt;
&lt;p&gt;Staying competitive in software development has become harder and harder each passing year. By competitive, I mean being able to have a job to practice the craft. My commute (45 minutes each way) and my energy levels have caught up with me, so I can't stay competitive (in the context of this post). The churn is crazy high, and requires even more increasing time outside of work to stay relevant. It used to be that you could concentrate on specific technologies, but that's no longer the case.&lt;/p&gt;
&lt;p&gt;I've found that Business Intelligence is a lot more sedate when it comes to technologies, and it's much easier to stay competitive. This means that my focus will be in data warehousing, and Microsoft technologies related to this. So far the main technologies are SSIS, SSRS, and SSAS. I can still use my development experience to deal with custom and edge cases.&lt;/p&gt;
&lt;p&gt;I'm much happier with this transition. I can truly feel that my work-life balance is back to where it needs to be.&lt;/p&gt;
&lt;p&gt;So effective immediately, I'm cutting back on my development pet projects. I'll update a few tools here as time permits. My main efforts will be directed at getting &lt;a href=&quot;http://www.wheelmud.net&quot;&gt;WheelMUD&lt;/a&gt; to version 1.0. Then, I will retire from development in the public eye.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Thu, 12 Jan 2012 17:45:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:298</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/294/TextFileSplitter-30-Update-2.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=294</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=294&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>TextFileSplitter 3.0 Update 2</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/294/TextFileSplitter-30-Update-2.aspx</link> 
    <description>&lt;p&gt;So my designer gave me another mockup. This one has a bit of styling.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;800&quot; height=&quot;500&quot; src=&quot;/Portals/0/images/blog/TFS_mockup_4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Wed, 28 Sep 2011 19:01:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:294</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/293/More-on-TextFileSplitter-30.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=293</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=293&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>More on TextFileSplitter 3.0</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/293/More-on-TextFileSplitter-30.aspx</link> 
    <description>&lt;p&gt;Here's an early mockup of TextFileSplitter's new GUI. It will be about 500x800, so this should fit on all netbooks out there. This is just an early design. Still working on it with my designer.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;800&quot; height=&quot;550&quot; title=&quot;TFS 3.0 early mockup&quot; alt=&quot;TFS 3.0 early mockup&quot; src=&quot;/Portals/0/images/blog/TFS_mockup_1.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-jsid=&quot;text&quot; class=&quot;commentBody&quot;&gt;This is a WPF UI. I will need  to redo the splitting strategies to use a WPF user control (for  configuration) instead of the Winform ones. This is what is holding up  the release of TextFileSplitter 3.0&lt;/span&gt;&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Wed, 28 Sep 2011 02:22:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:293</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/292/PainlessSVN-20-will-not-be-a-MMC-snapin.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=292</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=292&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>PainlessSVN 2.0 will not be a MMC snapin</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/292/PainlessSVN-20-will-not-be-a-MMC-snapin.aspx</link> 
    <description>&lt;p&gt;I have spent about a month doing whack-a-mole with bugs associated with snapins in MMC 3.0. On top of this, Microsoft has basically abandoned it. I haven't been able to get MMC 3.0 working with .NET&amp;#160;4.0 (developers have reported some workarounds, but none have worked for me). That's it, I had it!&lt;/p&gt;
&lt;p&gt;Been working really hard on PainlessSVN, as I&amp;#160;still use it to manage all my repositories. I've been trying to add a bunch of features that I want, as I&amp;#160;despise managing Subversion with the command-line. MMC just keeps getting in my way.&lt;/p&gt;
&lt;p&gt;I'm investigating moving PainlessSVN over to WPF, MVVM, and &lt;a target=&quot;_blank&quot; href=&quot;http://www.lhotka.net/cslanet/&quot;&gt;CSLA&lt;/a&gt;. &lt;a target=&quot;_blank&quot; href=&quot;http://www.lhotka.net/cslanet/&quot;&gt;CSLA&lt;/a&gt; is a business framework, and it has remote access baked in. It does a good job of hiding the complexities of WCF from the programmer.&lt;/p&gt;
&lt;p&gt;This means that PainlessSVN 2.0 will not be released this year, and it will not be a MMC 3.0 snapin.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Sun, 17 Jul 2011 02:31:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:292</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/290/DeleteDevCrumbs-05--First-Release.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=290</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=290&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>DeleteDevCrumbs 0.5 - First Release</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/290/DeleteDevCrumbs-05--First-Release.aspx</link> 
    <description>&lt;p&gt;I finally got the first working version of DeleteDevCrumbs. I decided to release this without a GUI, because I've found it so useful. The current release contains two (2) files; DeleteDevCrumbsConsole.exe and DeleteDevCrumbs.dll.&lt;/p&gt;
&lt;p&gt;Here is the commandline to handle &quot;crumbs&quot; from a typical Visual Studio setup:&lt;/p&gt;
&lt;pre style=&quot;font-family:Consolas;font-size:13;color:black;background:white;&quot;&gt;&lt;span style=&quot;color:#a31515;&quot;&gt;deletedevcrumbsconsole&amp;#160;root=C:\Projects&amp;#160;crumbfolderlist=bin,obj&amp;#160;crumbextensionlist=suo,user&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;You can just double-click on DeleteCrumbsConsole.exe to see its usage:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;677&quot; height=&quot;342&quot; src=&quot;/Portals/0/images/blog/DeleteDevCrumbsConsole_20110707.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I created this to solve the vexing issue of removing extra crap that IDEs create with the source code. I use this for code releases, and continuous integration. The two main programs that I use this with are FinalBuilder and CCNet. &lt;/p&gt;
&lt;p&gt;Please let me know if you use it for other things, and other programs. I'm very curious to see how this gets used. &lt;img src=&quot;http://www.systemwidgets.com/Providers/HtmlEditorProviders/Fck/fckeditor/editor/images/smiley/msn/teeth_smile.gif&quot; alt=&quot;&quot; /&gt; Leave a comment here or email me at hector AT systemwidgets DOT com.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Thu, 07 Jul 2011 17:00:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:290</guid> 
    <enclosure url="http://systemwidgets.com/Portals/0/DeleteDevCrumbsv0.5.zip" length="7937" type="application/octet-stream" />
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/289/TextFileSplitter-30-And-The-SDK.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=289</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=289&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>TextFileSplitter 3.0 And The SDK</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/289/TextFileSplitter-30-And-The-SDK.aspx</link> 
    <description>&lt;p&gt;I upgraded Text File Splitter to use .NET 4.0 and Visual Studio 2010. I have been testing different development setups to find the easiest one to get aspiring addins developers up and running quickly. The advantage with .NET 4.0 is that Management Extensability Framework (MEF) comes baked in, and I don't need external assemblies anymore. MEF is what makes it easy to load custom parts into Text File Splitter.&lt;/p&gt;
&lt;p&gt;I've copied the code for the SplitByLine splitting strategy and modified a bit, so that I can treat it as a custom splitting strategy. I named it SplitByLineCustom. Here is how I setup this project:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;157&quot; height=&quot;68&quot; src=&quot;/Portals/0/images/blog/TFSFolderSetup.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I unzipped Text File Splitter 3.0 (not out yet) into the Binaries folder. Then I put the custom project and code in SplitByLineCustom. Here's what the solution looks like:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;304&quot; height=&quot;331&quot; src=&quot;/Portals/0/images/blog/SplitByLineCustomProjectSetup.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Notice that I added a reference to the FileSplitStrategyEngine assembly.&lt;/p&gt;
&lt;p&gt;There's a couple things that need to be setup in the project's properties.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;510&quot; height=&quot;127&quot; src=&quot;/Portals/0/images/blog/TFSStartExternalProgram.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Set the start action to call the TextFileSplitterUI.exe program. This should be in the binaries forlder that we created in the beginning of this post.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;630&quot; height=&quot;202&quot; src=&quot;/Portals/0/images/blog/ProjectPropertiesForCompileOutputPath.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Point the outpout of your project to the Binaries folder where you unzipped Text File Splitter. Once this is setup, the UI will be able to automatically pick up your custom splitting strategy.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;355&quot; height=&quot;182&quot; src=&quot;/Portals/0/images/blog/TFSStategyPullDown.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Here you can see that the custom splitting strategy loaded into this drop down. Here is what it looks when selected:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;487&quot; height=&quot;315&quot; src=&quot;/Portals/0/images/blog/TFSSelectedCustomStrategy.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I'm fleshing out the SDK. I&amp;#160;will be including this solution as part of the SDK. I'm working on getting SandCastle to spit out MSDN like documentation. I'm hoping to have this done in the next couple weeks.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Tue, 28 Jun 2011 04:27:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:289</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/287/LINQ-and-IS-NULL.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=287</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=287&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>LINQ and IS NULL</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/287/LINQ-and-IS-NULL.aspx</link> 
    <description>&lt;p&gt;I've been working a lot more with LINQ2SQL and LINQ2Entities lately, and I ran into my first issue at the end of last week. I couldn't figure out why null parameters were causing the query to return strange results.&lt;/p&gt;
&lt;p&gt;The original query looked like this:&lt;/p&gt;
&lt;pre style=&quot;font-family:Consolas;font-size:13;color:black;background:white;&quot;&gt;
&amp;#160;&amp;#160; &lt;span style=&quot;color:#2b91af;&quot;&gt;List&lt;/span&gt;&amp;lt;&lt;span style=&quot;color:#2b91af;&quot;&gt;MenuLayoutDataEntity&lt;/span&gt;&amp;gt;&amp;#160;ret&amp;#160;=&amp;#160;(&lt;span style=&quot;color:blue;&quot;&gt;from&lt;/span&gt;&amp;#160;c&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;in&lt;/span&gt;&amp;#160;_Context.tblMenuLayouts
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color:blue;&quot;&gt;where&lt;/span&gt;&amp;#160;c.ConceptID&amp;#160;==&amp;#160;entity.ConceptID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;amp;&amp;amp;&amp;#160;c.ItemID&amp;#160;==&amp;#160;entity.ItemID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;amp;&amp;amp;&amp;#160;c.MarketID&amp;#160;==&amp;#160;entity.MarketID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;amp;&amp;amp;&amp;#160;c.DepartmentID&amp;#160;==&amp;#160;entity.DepartmentID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color:blue;&quot;&gt;orderby&lt;/span&gt;&amp;#160;c.SortOrder
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color:blue;&quot;&gt;select&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;new&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:#2b91af;&quot;&gt;MenuLayoutDataEntity&lt;/span&gt;()
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MenuID&amp;#160;=&amp;#160;c.MenuID,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ItemNamePOS&amp;#160;=&amp;#160;c.ItemNamePOS,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ItemID&amp;#160;=&amp;#160;c.ItemID.HasValue&amp;#160;?&amp;#160;c.ItemID.Value&amp;#160;:&amp;#160;-1
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }).ToList();&lt;/pre&gt;
&lt;p&gt;Sometimes, the MarketID and DepartmentID would be null, and that's what was causing the problem. After some Googling, I found that I need to enclose the equality using the Equals method in the object class. Here's the query using Equals:&lt;/p&gt;
&lt;pre style=&quot;font-family:Consolas;font-size:13;color:black;background:white;&quot;&gt;
 
&amp;#160;&amp;#160; &lt;span style=&quot;color:#2b91af;&quot;&gt;List&lt;/span&gt;&amp;lt;&lt;span style=&quot;color:#2b91af;&quot;&gt;MenuLayoutDataEntity&lt;/span&gt;&amp;gt;&amp;#160;ret&amp;#160;=&amp;#160;(&lt;span style=&quot;color:blue;&quot;&gt;from&lt;/span&gt;&amp;#160;c&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;in&lt;/span&gt;&amp;#160;_Context.tblMenuLayouts
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color:blue;&quot;&gt;where&lt;/span&gt;&amp;#160;c.ConceptID&amp;#160;==&amp;#160;entity.ConceptID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;amp;&amp;amp;&amp;#160;c.ItemID&amp;#160;==&amp;#160;entity.ItemID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;amp;&amp;amp;&amp;#160;Equals(c.MarketID,&amp;#160;entity.MarketID)
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;amp;&amp;amp;&amp;#160;Equals(c.DepartmentID,&amp;#160;entity.DepartmentID)
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color:blue;&quot;&gt;orderby&lt;/span&gt;&amp;#160;c.SortOrder
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color:blue;&quot;&gt;select&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;new&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:#2b91af;&quot;&gt;MenuLayoutDataEntity&lt;/span&gt;()
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MenuID&amp;#160;=&amp;#160;c.MenuID,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ItemNamePOS&amp;#160;=&amp;#160;c.ItemNamePOS,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ItemID&amp;#160;=&amp;#160;c.ItemID.HasValue&amp;#160;?&amp;#160;c.ItemID.Value&amp;#160;:&amp;#160;-1
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }).ToList();&lt;/pre&gt;
&lt;p&gt;Unfortunately, this only works for LINQ2SQL, and this query is actually a LINQ2Entities query. So back to Googling. I finally found a hint in a &lt;a target=&quot;_blank&quot; href=&quot;http://stackoverflow.com/questions/4953399/linq-returns-0-results-if-using-nullable-int-variable-accurate-results-if-using&quot;&gt;post over at StackOverflow&lt;/a&gt;. Apparently, there's is a bug in the LINQ2Entities parser when trying to use IS NULL functionality in the where clause. The solution was to check the value on the entity class, and then select a specific query. Here's the results that actually gave me the results that I&amp;#160;wanted:&lt;/p&gt;
&lt;pre style=&quot;font-family:Consolas;font-size:13;color:black;background:white;&quot;&gt;
 
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:#2b91af;&quot;&gt;List&lt;/span&gt;&amp;lt;&lt;span style=&quot;color:#2b91af;&quot;&gt;MenuLayoutDataEntity&lt;/span&gt;&amp;gt;&amp;#160;ret&amp;#160;=&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;null&lt;/span&gt;;
 
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:green;&quot;&gt;//&amp;#160;Check&amp;#160;if&amp;#160;this&amp;#160;is&amp;#160;a&amp;#160;store&amp;#160;item,&amp;#160;i.e.&amp;#160;Departmental&lt;/span&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;if&lt;/span&gt;&amp;#160;(entity.MarketID.HasValue&amp;#160;&amp;amp;&amp;amp;&amp;#160;entity.DepartmentID.HasValue)
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ret&amp;#160;=&amp;#160;(&lt;span style=&quot;color:blue;&quot;&gt;from&lt;/span&gt;&amp;#160;c&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;in&lt;/span&gt;&amp;#160;_Context.tblMenuLayouts
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;where&lt;/span&gt;&amp;#160;c.ConceptID&amp;#160;==&amp;#160;entity.ConceptID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;amp;&amp;amp;&amp;#160;c.ItemID&amp;#160;==&amp;#160;entity.ItemID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;amp;&amp;amp;&amp;#160;c.MarketID&amp;#160;==&amp;#160;entity.MarketID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;amp;&amp;amp;&amp;#160;c.DepartmentID&amp;#160;==&amp;#160;entity.DepartmentID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;orderby&lt;/span&gt;&amp;#160;c.SortOrder
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;select&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;new&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:#2b91af;&quot;&gt;MenuLayoutDataEntity&lt;/span&gt;()
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;MenuID&amp;#160;=&amp;#160;c.MenuID,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ItemNamePOS&amp;#160;=&amp;#160;c.ItemNamePOS,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ItemID&amp;#160;=&amp;#160;c.ItemID.HasValue&amp;#160;?&amp;#160;c.ItemID.Value&amp;#160;:&amp;#160;-1
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}).Distinct().ToList();
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}
 
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:green;&quot;&gt;//&amp;#160;Check&amp;#160;if&amp;#160;this&amp;#160;is&amp;#160;a&amp;#160;market&amp;#160;item,&amp;#160;i.e.&amp;#160;MarketID&amp;#160;is&amp;#160;not&amp;#160;null&lt;/span&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;if&lt;/span&gt;&amp;#160;(entity.MarketID.HasValue&amp;#160;&amp;amp;&amp;amp;&amp;#160;!entity.DepartmentID.HasValue)
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ret&amp;#160;=&amp;#160;(&lt;span style=&quot;color:blue;&quot;&gt;from&lt;/span&gt;&amp;#160;c&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;in&lt;/span&gt;&amp;#160;_Context.tblMenuLayouts
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;where&lt;/span&gt;&amp;#160;c.ConceptID&amp;#160;==&amp;#160;entity.ConceptID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;amp;&amp;amp;&amp;#160;c.ItemID&amp;#160;==&amp;#160;entity.ItemID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;amp;&amp;amp;&amp;#160;c.MarketID&amp;#160;==&amp;#160;entity.MarketID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;amp;&amp;amp;&amp;#160;c.DepartmentID&amp;#160;==&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;null&lt;/span&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;orderby&lt;/span&gt;&amp;#160;c.SortOrder
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;select&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;new&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:#2b91af;&quot;&gt;MenuLayoutDataEntity&lt;/span&gt;()
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;MenuID&amp;#160;=&amp;#160;c.MenuID,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ItemNamePOS&amp;#160;=&amp;#160;c.ItemNamePOS,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ItemID&amp;#160;=&amp;#160;c.ItemID.HasValue&amp;#160;?&amp;#160;c.ItemID.Value&amp;#160;:&amp;#160;-1
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}).Distinct().ToList();
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}
 
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:green;&quot;&gt;//&amp;#160;Check&amp;#160;if&amp;#160;this&amp;#160;is&amp;#160;a&amp;#160;global&amp;#160;item,&amp;#160;i.e.&amp;#160;both&amp;#160;MarketID&amp;#160;and&amp;#160;DepartmentID&amp;#160;are&amp;#160;null&lt;/span&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;if&lt;/span&gt;&amp;#160;(!entity.MarketID.HasValue&amp;#160;&amp;amp;&amp;amp;&amp;#160;!entity.DepartmentID.HasValue)
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ret&amp;#160;=&amp;#160;(&lt;span style=&quot;color:blue;&quot;&gt;from&lt;/span&gt;&amp;#160;c&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;in&lt;/span&gt;&amp;#160;_Context.tblMenuLayouts
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;where&lt;/span&gt;&amp;#160;c.ConceptID&amp;#160;==&amp;#160;entity.ConceptID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;amp;&amp;amp;&amp;#160;c.ItemID&amp;#160;==&amp;#160;entity.ItemID
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;amp;&amp;amp;&amp;#160;c.MarketID&amp;#160;==&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;null&lt;/span&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;amp;&amp;amp;&amp;#160;c.DepartmentID&amp;#160;==&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;null&lt;/span&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;orderby&lt;/span&gt;&amp;#160;c.SortOrder
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;select&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:blue;&quot;&gt;new&lt;/span&gt;&amp;#160;&lt;span style=&quot;color:#2b91af;&quot;&gt;MenuLayoutDataEntity&lt;/span&gt;()
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;MenuID&amp;#160;=&amp;#160;c.MenuID,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ItemNamePOS&amp;#160;=&amp;#160;c.ItemNamePOS,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ItemID&amp;#160;=&amp;#160;c.ItemID.HasValue&amp;#160;?&amp;#160;c.ItemID.Value&amp;#160;:&amp;#160;-1
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}).Distinct().ToList();
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/pre&gt;
&lt;p&gt;Very annoying, but at least I know how to handle this. Hopefully this will help another soul out there.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Wed, 27 Apr 2011 16:15:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:287</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/286/VS2010-debugger-broken-for-pluginsaddinssnapins.aspx#Comments</comments> 
    <slash:comments>6</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=286</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=286&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>VS2010 debugger broken for plugins/addins/snapins</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/286/VS2010-debugger-broken-for-pluginsaddinssnapins.aspx</link> 
    <description>&lt;p&gt;I was in the process of updating both PainlessSVN Professional and Console to version 1.2.1, when I found a bug in Visual Studio 2010 debugger. The solutions for both projects were in VS2008. My OS recently died, so I&amp;#160;had to re-install it from scratch. I only installed VS2010, because I wanted to move away from VS2008.&lt;/p&gt;
&lt;p&gt;My first hint that something was wrong was when I needed to modify the About dll to include the new version numbers and years in the copyright. This project is a C++ resource dll. This simple project would not compile on the VS2010 compiler when I converted it. I ended up firing one of my VMWare images that has VS2008 to get this done.&lt;/p&gt;
&lt;p&gt;The next thing that happened was that none of the breakpoints I&amp;#160;set worked, while trying to track down an unhandled exception. I went to Google and found that this is a known bug. The report is over here:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://connect.microsoft.com/VisualStudio/feedback/details/551449/debugging-an-mmc-snapin-does-not-attach-correctly-to-mmc-exe&quot; target=&quot;_blank&quot;&gt;Debugging an MMC snapin does not attach correctly to mmc.exe&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The suggested work around is here:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/debugger/archive/2010/04/30/can-t-hit-breakpoints-in-a-plug-in-or-can-t-debug-net-2-0-3-0-3-5-from-a-mixed-mode-exe-project-with-visual-studio-2010.aspx&quot; target=&quot;_blank&quot;&gt;Can’t hit breakpoints in a plug-in or can’t debug .NET 2.0/3.0/3.5 from a mixed mode .exe project with Visual Studio 2010?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Unfortunately, that didn't work for me. What did work was to change the mmc.exe instance from the C:\Windows\SysWow64 to the one in C:\Windows\System32, then attach the debugger manually. The debugger will not attach to instances of the mmc.exe program in the SysWow64 directory. I am running VS2010 on Windows 7 Ultimate x64, and that's why I was using the 64 bit version of mmc.exe.&lt;/p&gt;
&lt;p&gt;Anyways, hope this helps somebody else.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Mon, 11 Apr 2011 03:04:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:286</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/285/TextFileSplitter-220--New-Version.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=285</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=285&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>TextFileSplitter 2.2.0 - New Version</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/285/TextFileSplitter-220--New-Version.aspx</link> 
    <description>&lt;p&gt;A TextFileSplitter user commented that the UI is too big on his screen. I added accelerators to the Split! and Get Command Line buttons. Not sure why I didn't add these before.&lt;/p&gt;
&lt;p&gt;NEW - Added accelerator to the Split! button. It is ALT-S.&lt;br /&gt;
NEW - Added accelerator to the Get Command Line button. It is ALT-G.&lt;/p&gt;
&lt;p&gt;You can download it &lt;a target=&quot;_blank&quot; href=&quot;http://www.systemwidgets.com/Downloads/FreewareDownloads/TextFileSplitter/tabid/120/Default.aspx&quot;&gt;HERE&lt;/a&gt;.&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Sat, 09 Apr 2011 19:56:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:285</guid> 
    
</item>
<item>
    <comments>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/283/PainlessSVN-Console--Released.aspx#Comments</comments> 
    <slash:comments>2</slash:comments> 
    <wfw:commentRss>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=61&amp;ModuleID=397&amp;ArticleID=283</wfw:commentRss> 
    <trackback:ping>http://systemwidgets.com/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=283&amp;PortalID=0&amp;TabID=61</trackback:ping> 
    <title>PainlessSVN Console - Released!</title> 
    <link>http://systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/283/PainlessSVN-Console--Released.aspx</link> 
    <description>&lt;p&gt;I finally tracked down and quashed some bugs that were happening on Windows XP. PainlessSVN Console 1.2.0 is now up for download. This version includes Subversion 1.6.15 as part of the installation package.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.systemwidgets.com/Downloads/PainlessSVN/tabid/76/Default.aspx&quot;&gt;Download it here.&lt;/a&gt;&lt;/p&gt;</description> 
    <dc:creator>Hector Sosa, Jr</dc:creator> 
    <pubDate>Fri, 25 Feb 2011 02:13:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:283</guid> 
    
</item>

    </channel>
</rss>