<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3085584185733587935</id><updated>2012-02-16T21:31:33.273+02:00</updated><category term='Windows XP'/><category term='knoppmyth'/><category term='Google Mail'/><category term='ASP .Net Security'/><category term='Network Cable'/><category term='ASP .Net Windows Authentication'/><category term='codepage'/><category term='RAID'/><category term='Hibernate'/><category term='TV Out'/><category term='Windows Server 2008'/><category term='CLR Procedure'/><category term='NAS'/><category term='Web filtering'/><category term='Visual Studio 2010 Team System'/><category term='Worker Process'/><category term='Visual Studio 2008'/><category term='Eventlog'/><category term='SQL Server Azure'/><category term='RowCount'/><category term='TZ'/><category term='Parental Control'/><category term='RSI'/><category term='MOSS'/><category term='mythtv player'/><category term='ASP .Net'/><category term='FireFox'/><category term='NUnit'/><category term='Rounded Corners'/><category term='Autorun'/><category term='Team Build'/><category term='CSS'/><category term='Javascript'/><category term='Web Debugging Proxy'/><category term='FlatCompress'/><category term='cifs'/><category term='floppy drive'/><category term='BugNET'/><category term='FreeBSD'/><category term='Out of Office'/><category term='Perl'/><category term='USB drive'/><category term='IIS'/><category term='Word'/><category term='TechEd'/><category term='FreeNAS'/><category term='Media Centre'/><category term='Conficker'/><category term='HTML'/><category term='Default html editor'/><category term='Internet Explorer'/><category term='Illegal Cassette Config'/><category term='procmail'/><category term='alsamixer'/><category term='hauppauge'/><category term='Entity Framework'/><category term='Dashboards'/><category term='WebServiceStudio'/><category term='Google Maps'/><category term='Video Recording'/><category term='bttv'/><category term='IIS 7'/><category term='Team Foundation Server'/><category term='Architecture'/><category term='cache'/><category term='modprobe'/><category term='Captcha'/><category term='SQL Server'/><category term='postfix'/><category term='Web Testing'/><category term='Common Table Expression'/><category term='Spatial'/><category term='Visual Studio 2010'/><category term='Sony TSL 300C'/><category term='rt'/><category term='bulk insert'/><category term='Intel Atom'/><category term='PowerShell'/><category term='NOLOCK'/><category term='Component Services'/><category term='btaudio'/><category term='Flushmaster'/><category term='nfs'/><category term='Timestamp'/><category term='Code Snippets'/><category term='HTTP Compression'/><category term='nVidia'/><category term='IR Blaster'/><category term='Generics'/><category term='mythtv'/><category term='Forced Break'/><category term='Web Service'/><category term='Functions'/><category term='C#'/><category term='Online Bookmarks'/><category term='PHP'/><category term='Google Chrome'/><category term='genie wonder pro'/><category term='Plumbing'/><category term='Active Directory'/><category term='mythbuntu'/><category term='Linux'/><category term='Timezone'/><category term='OpenDNS'/><category term='Ubuntu'/><category term='spurl.net'/><title type='text'>Jasman se blog</title><subtitle type='html'>A blog about things technical, things general. Anything that I get to do and wish to share knowledge about.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>80</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-2172907205934491777</id><published>2012-01-17T19:36:00.000+02:00</published><updated>2012-01-17T19:36:10.680+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Authorization Manager check failed - FIX - for real this time!</title><content type='html'>We finally managed to find a fix for the above PowerShell error that pops up from time to time: restart the Windows Management Instrumentation (WMI) service!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-2172907205934491777?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/2172907205934491777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2012/01/authorization-manager-check-failed-fix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/2172907205934491777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/2172907205934491777'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2012/01/authorization-manager-check-failed-fix.html' title='Authorization Manager check failed - FIX - for real this time!'/><author><name>Nicki de Wet</name><uri>https://profiles.google.com/104316502329577183994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-fZlLV1FUaB4/AAAAAAAAAAI/AAAAAAAAAZo/Wyw6uVm9r7c/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-1137757823378315857</id><published>2011-06-27T18:51:00.001+02:00</published><updated>2011-06-27T18:52:21.259+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>SQL in the Wild » Blog Archive » Are all updates split into delete-insert?</title><content type='html'>&lt;a href="http://sqlinthewild.co.za/index.php/2011/06/21/are-all-updates-split-into-delete-insert/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+SqlInTheWild+%28SQL+in+the+Wild%29"&gt;SQL in the Wild » Blog Archive » Are all updates split into delete-insert?&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Interesting post that debunks the myth that ALL updates are split into delete-insert pair.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-1137757823378315857?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/1137757823378315857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2011/06/sql-in-wild-blog-archive-are-all.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1137757823378315857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1137757823378315857'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2011/06/sql-in-wild-blog-archive-are-all.html' title='SQL in the Wild » Blog Archive » Are all updates split into delete-insert?'/><author><name>Nicki de Wet</name><uri>https://profiles.google.com/104316502329577183994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-fZlLV1FUaB4/AAAAAAAAAAI/AAAAAAAAAZo/Wyw6uVm9r7c/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-7403890495103763168</id><published>2011-06-09T10:04:00.002+02:00</published><updated>2011-06-09T10:10:52.701+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net'/><title type='text'>Changing your culture</title><content type='html'>I recently noticed that the same ASP.Net application behaves differently in terms of formatting between Windows Server 2003 and Windows Server 2008/Windows 7 for culture en-ZA.&lt;br /&gt;&lt;br /&gt;Our application has functionality that exports a gridview to a CSV file, and this is where I picked up something is wrong, the digit separator showed as a Â character, which is a unicode character which Excel does not handle well in CSV files.&lt;br /&gt;&lt;br /&gt;On Windows Server 2003, the digit grouping symbol is a comma (,), whereas on Server 2008 and Windows 7 it is a unicode space. Apparently someone decided that change was necessary, I found a reference here: &lt;a href="http://forums.asp.net/t/1424752.aspx/1"&gt;http://forums.asp.net/t/1424752.aspx/1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-7403890495103763168?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/7403890495103763168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2011/06/changing-your-culture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/7403890495103763168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/7403890495103763168'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2011/06/changing-your-culture.html' title='Changing your culture'/><author><name>Nicki de Wet</name><uri>https://profiles.google.com/104316502329577183994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-fZlLV1FUaB4/AAAAAAAAAAI/AAAAAAAAAZo/Wyw6uVm9r7c/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-8730236864433225942</id><published>2011-06-07T15:09:00.001+02:00</published><updated>2011-06-07T15:14:44.052+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Closed a SQL query by accident? There is help</title><content type='html'>&lt;div&gt;Have a look at this post: &lt;a href="http://www.scarydba.com/2011/05/25/oh/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+HomeOfTheScaryDba+%28Home+of+the+Scary+DBA%29"&gt;Oh ****! | Home Of The Scary DBA&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And this one: &lt;/div&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2010/07/19/recover-backed-up-query-files-in-sql-server-management-studio.aspx"&gt;Recover Backed-up query files in SQL Server Management Studio&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-8730236864433225942?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/8730236864433225942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2011/06/closed-sql-query-by-accident-there-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8730236864433225942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8730236864433225942'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2011/06/closed-sql-query-by-accident-there-is.html' title='Closed a SQL query by accident? There is help'/><author><name>Nicki de Wet</name><uri>https://profiles.google.com/104316502329577183994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-fZlLV1FUaB4/AAAAAAAAAAI/AAAAAAAAAZo/Wyw6uVm9r7c/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-8869882295998121459</id><published>2011-02-17T20:14:00.002+02:00</published><updated>2012-01-26T15:43:38.658+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>AuthorizationManager check failed - SOLUTION!</title><content type='html'>&lt;strike&gt;I found  a solution to the above problem first mentioned &lt;a href="http://jasmanseblog.blogspot.com/2010/06/powershell-takes-dive.html"&gt;here&lt;/a&gt; today by pure chance. Since PowerShell is part of SQL Server 2008 (I think!), I decided to restart SQL Server 2008 on my machine when the error surfaced yet again today, as I was not in the mood for a reboot (too many open files &amp;amp; sessions).&lt;/strike&gt;&lt;br /&gt;&lt;div&gt;&lt;strike&gt;&lt;br /&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;Guess what, the error disappeared! So there must be some tight integration between SQL Server and PowerShell for this to be the solution.&amp;nbsp;&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;Please see &lt;a href="http://jasmanseblog.blogspot.com/2012/01/authorization-manager-check-failed-fix.html" target=""&gt;this&lt;/a&gt;&amp;nbsp;post for a repeatable solution.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-8869882295998121459?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/8869882295998121459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2011/02/authorizationmanager-check-failed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8869882295998121459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8869882295998121459'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2011/02/authorizationmanager-check-failed.html' title='AuthorizationManager check failed - SOLUTION!'/><author><name>Nicki de Wet</name><uri>https://profiles.google.com/104316502329577183994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-fZlLV1FUaB4/AAAAAAAAAAI/AAAAAAAAAZo/Wyw6uVm9r7c/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-8259534039281801352</id><published>2010-10-13T12:32:00.002+02:00</published><updated>2010-10-13T12:42:54.800+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS 7'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2008'/><title type='text'>Giving IIS 7 AppPoolIdentity account access to SQL Server</title><content type='html'>IIS 7 has a nifty new feature whereby you can set the identity of the application pool to ApplicationPoolIdentity. It then creates a virtual user with the same name as the name of the application pool, i.e. if you named your application pool Bozo, it will create a virtual user called Bozo, to which you can assign rights.&lt;br /&gt;&lt;br /&gt;To allow the virtual user access to SQL Server, do the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In SQL Server Management Studio, open the &lt;i&gt;Security &lt;/i&gt;folder, right-click the &lt;i&gt;Logins &lt;/i&gt;folder, and click &lt;span style="font-style:italic;"&gt;New Login...&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Enter IIS AppPool\{apppoolname}, replacing {apppoolname} with the name of your application pool - DO NOT USE THE SEARCH FUNCTIONALITY&lt;/li&gt;&lt;li&gt;Assign the necessary database level privledges and click Ok&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;This has been tested on SQL Server 2005, I would imagine it works in SQL2008 too.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Source: &lt;a href="http://efreedom.com/Question/1-1933134/Add-IIS-AppPool-Identities-SQL-Server-Logons" target="_blank"&gt;http://efreedom.com/Question/1-1933134/Add-IIS-AppPool-Identities-SQL-Server-Logons&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-8259534039281801352?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/8259534039281801352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/10/giving-iis-7-apppoolidentity-account.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8259534039281801352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8259534039281801352'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/10/giving-iis-7-apppoolidentity-account.html' title='Giving IIS 7 AppPoolIdentity account access to SQL Server'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-6824611363054723297</id><published>2010-08-22T13:36:00.003+02:00</published><updated>2010-08-22T13:45:55.545+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RSI'/><category scheme='http://www.blogger.com/atom/ns#' term='Forced Break'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Forced breaks - a good thing</title><content type='html'>All of us that work with computers are guilty of one thing: we don't take enough breaks to give our eyes a break, leading to fatigue at the end of the day. Ubuntu 10.04 has functionality built-in to help you manage not working for too long at a time. You can set the duration of the work interval as well as of the break, and you can postpone breaks. I'm definitely going to use this, and also look for a similar app for Windows.&lt;br /&gt;&lt;br /&gt;You can find the Typing break configuration under &lt;span style="font-style:italic;"&gt;System/Preferences/Keyboard&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt; on the &lt;span style="font-style:italic;"&gt;Typing Break&lt;/span&gt; tab&lt;br /&gt;&lt;br /&gt;Here is a screenshot of the functionality.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_VLF4xaT4fbY/THENPMnyuTI/AAAAAAAACUk/CtVKEsxSC_0/s1600/Screenshot-Keyboard+Preferences.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 372px;" src="http://2.bp.blogspot.com/_VLF4xaT4fbY/THENPMnyuTI/AAAAAAAACUk/CtVKEsxSC_0/s400/Screenshot-Keyboard+Preferences.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5508198373988153650" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-6824611363054723297?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/6824611363054723297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/08/forced-breaks-good-thing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/6824611363054723297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/6824611363054723297'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/08/forced-breaks-good-thing.html' title='Forced breaks - a good thing'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_VLF4xaT4fbY/THENPMnyuTI/AAAAAAAACUk/CtVKEsxSC_0/s72-c/Screenshot-Keyboard+Preferences.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3791477057383214209</id><published>2010-08-17T09:13:00.002+02:00</published><updated>2010-08-17T09:25:19.344+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='codepage'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='bulk insert'/><title type='text'>To umlaut or not</title><content type='html'>A recent project required the bulk insert of data into a table in SQL Server. The file contained data with umlaut (ü) and accent (É) characters.&lt;br /&gt;&lt;br /&gt;The vanilla BULK INSERT did not work very well with this, changing it to other characters. After quite a bit of googling, I found the solution was to add &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;WITH (codepage = '1252')&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;to the BULK INSERT statement. The default codepage on most Windows computers appear to be 437. The lowercase umlaut's code is 252 in the ANSI table. Character 252 in codepage 437 is 'n', so that's what you'll end up with in your data rather than the umlaut.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3791477057383214209?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3791477057383214209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/08/to-umlaut-or-not.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3791477057383214209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3791477057383214209'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/08/to-umlaut-or-not.html' title='To umlaut or not'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-7204984449179114542</id><published>2010-08-15T21:11:00.003+02:00</published><updated>2010-08-15T21:15:37.631+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='alsamixer'/><title type='text'>Ubuntu - speakers not muted when inserting earphone jack - SOLUTION</title><content type='html'>I recently installed ubuntu 10.04 on a laptop, and found that the built-in speakers are not muted when inserting the earphone jack. After I googled a bit, I found the solution:&lt;br /&gt;&lt;br /&gt;run alsamixer&lt;br /&gt;use the left and right arrow keys to move between items, look for the Headphone Jack Sense item, it should say [Off] at the end, and MM in the box.&lt;br /&gt;Press m to change it to 00. &lt;br /&gt;&lt;br /&gt;From now on the built-in speakers should be muted when inserting the earphone jack.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-7204984449179114542?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/7204984449179114542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/08/ubuntu-speakers-not-muted-when.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/7204984449179114542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/7204984449179114542'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/08/ubuntu-speakers-not-muted-when.html' title='Ubuntu - speakers not muted when inserting earphone jack - SOLUTION'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3532789931503811220</id><published>2010-07-15T11:43:00.002+02:00</published><updated>2010-07-15T11:49:06.292+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebServiceStudio'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><title type='text'>Webservice Studio 2.0.2 patch</title><content type='html'>Recently a colleague needed to connect to a webservice using Client Certificate authentication. Webservice Studio 2.0.2 does not cater for this, so I did some digging and managed to get it working.&lt;br /&gt;&lt;br /&gt;I tried contacting the coordinator listed on http://webservicestudio.codeplex.com/team/view but got no response. I do however want to give it back to the community, so here is the patch you need to apply to 2.0.2.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;--- Wsdl.cs Thu Jan 15 11:13:00 1970&lt;br /&gt;+++ Wsdl.cs Thu Jan 15 11:13:00 1970&lt;br /&gt;@@ -19,6 +19,8 @@&lt;br /&gt;     using System.Xml.Schema;&lt;br /&gt;     using System.Xml.Serialization;&lt;br /&gt; &lt;br /&gt;+    using System.Security.Cryptography.X509Certificates;&lt;br /&gt;+&lt;br /&gt;     internal class Wsdl&lt;br /&gt;     {&lt;br /&gt;         private bool cancelled = false;&lt;br /&gt;@@ -292,6 +294,17 @@&lt;br /&gt;             {&lt;br /&gt;                 protocol.Credentials = CredentialCache.DefaultCredentials;&lt;br /&gt;             }&lt;br /&gt;+&lt;br /&gt;+            if (this.WsdlProperties.UseClientCert)&lt;br /&gt;+            {&lt;br /&gt;+                X509Certificate2 cert = GetClientCert();&lt;br /&gt;+&lt;br /&gt;+                if (cert != null)&lt;br /&gt;+                {&lt;br /&gt;+                    protocol.ClientCertificates.Add(cert);&lt;br /&gt;+                }&lt;br /&gt;+            }&lt;br /&gt;+&lt;br /&gt;             if ((this.WsdlProperties.ProxyServer != null) &amp;&amp; (this.WsdlProperties.ProxyServer.Length != 0))&lt;br /&gt;             {&lt;br /&gt;                 IWebProxy proxy = null;&lt;br /&gt;@@ -300,6 +313,21 @@&lt;br /&gt;                 protocol.Proxy = proxy;&lt;br /&gt;             }&lt;br /&gt;             return protocol;&lt;br /&gt;+        }&lt;br /&gt;+&lt;br /&gt;+        private X509Certificate2 GetClientCert()&lt;br /&gt;+        {&lt;br /&gt;+            X509Store certStore = new X509Store(StoreLocation.CurrentUser);&lt;br /&gt;+            certStore.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);&lt;br /&gt;+            X509Certificate2Collection selectedCerts = X509Certificate2UI.SelectFromCollection(certStore.Certificates, "Select a certificate", "Please select the client certificate you would like to use", X509SelectionFlag.SingleSelection);&lt;br /&gt;+            &lt;br /&gt;+            certStore.Close();&lt;br /&gt;+&lt;br /&gt;+            if (selectedCerts.Count &gt; 0)&lt;br /&gt;+            {&lt;br /&gt;+                return selectedCerts[0];&lt;br /&gt;+            }&lt;br /&gt;+            return null;&lt;br /&gt;         }&lt;br /&gt; &lt;br /&gt;         private static XmlSchema CreateFakeSoapEncodingSchema(string ns, string name)&lt;br /&gt;--- WsdlProperties.cs Thu Jan 15 11:13:00 1970&lt;br /&gt;+++ WsdlProperties.cs Thu Jan 15 11:13:00 1970&lt;br /&gt;@@ -18,6 +18,14 @@&lt;br /&gt;         private string proxyPassword;&lt;br /&gt;         private string proxyUserName;&lt;br /&gt;         private string userName;&lt;br /&gt;+        private bool useClientCert;&lt;br /&gt;+&lt;br /&gt;+        [XmlAttribute]&lt;br /&gt;+        public bool UseClientCert&lt;br /&gt;+        {&lt;br /&gt;+            get { return useClientCert; }&lt;br /&gt;+            set { useClientCert = value; }&lt;br /&gt;+        }&lt;br /&gt; &lt;br /&gt;         public string[] GetProxyBaseTypeList()&lt;br /&gt;         {&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3532789931503811220?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3532789931503811220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/07/webservice-studio-202-patch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3532789931503811220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3532789931503811220'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/07/webservice-studio-202-patch.html' title='Webservice Studio 2.0.2 patch'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-4656765162606762669</id><published>2010-06-30T09:48:00.002+02:00</published><updated>2010-06-30T11:16:35.750+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Powershell takes a dive</title><content type='html'>Yesterday I was happily running some PowerShell scripts as part of our build process, when suddenly PowerShell took a dive for the worse.&lt;br /&gt;&lt;br /&gt;All attempts to run PowerShell scripts returned the following error:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;AuthorizationManager check failed&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;After a lot of fiddling and checking the Group Policy settings for PowerShell, I decided to reboot. Guess what, problem solved!&lt;br /&gt;&lt;br /&gt;Let that be a reminder of MS std support action #1: reboot&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-4656765162606762669?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/4656765162606762669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/06/powershell-takes-dive.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4656765162606762669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4656765162606762669'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/06/powershell-takes-dive.html' title='Powershell takes a dive'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-1940867416805197839</id><published>2010-06-22T15:27:00.003+02:00</published><updated>2010-06-22T15:40:35.720+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Locked out of SQL Server</title><content type='html'>Our active directory was recently migrated to a new domain, and because of this, I could not log in to SQL Server with my new user account. Problem is, I also forgot my sa password, so I could not add my new user account.&lt;br /&gt;&lt;br /&gt;This is where single user mode comes in. You restart SQL Server in single-user mode, add the new user or reset the sa password, and then restart it in normal mode.&lt;br /&gt;&lt;br /&gt;What do you need to do to start it in single user mode?&lt;br /&gt;&lt;br /&gt;Open SQL Server Configuration Manager and click SQL Server Services&lt;br /&gt;Right-click on the instance and click Properties.&lt;br /&gt;Click the Advanced tab, and type the startup parameters into the Startup Parameters box (the parameters are semi-colon delimited, so add -m; to the front.&lt;br /&gt;Click OK&lt;br /&gt;Restart the database engine.&lt;br /&gt;&lt;br /&gt;Remember to remove the single user startup option and restart the database after resetting the password or adding the user!&lt;br /&gt;&lt;br /&gt;Reference: &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms345416.aspx"&gt;MSDN&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-1940867416805197839?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/1940867416805197839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/06/locked-out-of-sql-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1940867416805197839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1940867416805197839'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/06/locked-out-of-sql-server.html' title='Locked out of SQL Server'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-5407981708218966651</id><published>2010-06-10T20:03:00.004+02:00</published><updated>2010-06-10T20:32:10.768+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Functions'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>SQL: Back to basics</title><content type='html'>Today's lesson might be common knowledge for you, but for me it was a good back to basics again. It concerns the calling of scalar functions from the WHERE clause of a SELECT statement.&lt;br /&gt;&lt;br /&gt;One could expect the following statement to execute the function only once, but, then, you'd be wrong.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;select * from sys.objects&lt;br /&gt;where dbo.myfunc(1) &gt; 1&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;SQL server executes the function once for every row in sys.objects, even though it is called with a constant parameter and will never return a different result. Typically this is something you would not pick up in development with a small dataset, but performance will decrease dramatically as the dataset size increases.&lt;br /&gt;&lt;br /&gt;So, the right way to write the above SQL statement would be something like&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;declare @num int&lt;br /&gt;set @num=dbo.myfunc(1)&lt;br /&gt;select * from sys.objects&lt;br /&gt;where @num &gt; 1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Be aware, be very aware!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-5407981708218966651?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/5407981708218966651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/06/sql-back-to-basics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5407981708218966651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5407981708218966651'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/06/sql-back-to-basics.html' title='SQL: Back to basics'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-8612442815689827394</id><published>2010-05-20T09:25:00.004+02:00</published><updated>2010-05-20T09:38:48.456+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Rounded Corners'/><title type='text'>Rounding those corners</title><content type='html'>A client recently requested a web-based wallboard/dashboard for their one callcentre, and I wanted to give it a nice smooth look, this is where rounded corners come into play.&lt;br /&gt;&lt;br /&gt;I had a look at various solutions available, some using images and some scripting. In the end I settled on a non-image Javascript solution called &lt;a href="http://www.html.it/articoli/niftycube/index.html" target="_blank"&gt;Nifty Corners&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It really is easy to add to your existing design.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&amp;lt;script type="text/javascript" src="niftycube.js"&gt;&amp;lt;/script&gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&gt;&lt;br /&gt;window.onload=function(){&lt;br /&gt;Nifty("div#box","big");&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I had some issues with alignment and sizing due to the CSS layout with floating divs used, but those issues have nothing to do with Nifty Corners itself.&lt;br /&gt;&lt;br /&gt;Here is a part of a screenshot of the final product. I think most people will agree it looks better than the normal sharp corners if you don't apply styling.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_VLF4xaT4fbY/S_Tl5byJzAI/AAAAAAAACLI/J3AfQGTLFSE/s1600/nifty.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 170px;" src="http://1.bp.blogspot.com/_VLF4xaT4fbY/S_Tl5byJzAI/AAAAAAAACLI/J3AfQGTLFSE/s400/nifty.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5473252222035414018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Nifty Corners Cube are released under the GNU GPL licence, so you can use it freely in your sites.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-8612442815689827394?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/8612442815689827394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/05/rounding-those-corners.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8612442815689827394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8612442815689827394'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/05/rounding-those-corners.html' title='Rounding those corners'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_VLF4xaT4fbY/S_Tl5byJzAI/AAAAAAAACLI/J3AfQGTLFSE/s72-c/nifty.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-5487085016218831706</id><published>2010-04-22T10:14:00.001+02:00</published><updated>2010-04-22T10:16:09.312+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Chrome'/><title type='text'>Browser resizing extension for Chrome</title><content type='html'>I found a nice extension for Chrome to resize the browser window to test your web app in different resolutions, and thought I'll share it.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://chrome.google.com/extensions/detail/idhfcdbheobinplaamokffboaccidbal"&gt;https://chrome.google.com/extensions/detail/idhfcdbheobinplaamokffboaccidbal&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-5487085016218831706?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/5487085016218831706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/04/browser-resizing-extension-for-chrome.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5487085016218831706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5487085016218831706'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/04/browser-resizing-extension-for-chrome.html' title='Browser resizing extension for Chrome'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3986503865029831114</id><published>2010-04-22T10:11:00.002+02:00</published><updated>2010-04-22T10:14:00.883+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Floating div solved</title><content type='html'>In a &lt;a href="http://jasmanseblog.blogspot.com/2010/04/have-i-gone-mad.html"&gt;previous post&lt;/a&gt; I had some issues with floating divs. I asked a CSS guru, and all that I had to do was set the height attribute on the floating divs to get it behaving as expected.&lt;br /&gt;&lt;br /&gt;Thanks darkelf!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3986503865029831114?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3986503865029831114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/04/floating-div-solved.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3986503865029831114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3986503865029831114'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/04/floating-div-solved.html' title='Floating div solved'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3286340966558640844</id><published>2010-04-21T13:21:00.004+02:00</published><updated>2010-04-21T13:33:41.759+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Have I gone mad?</title><content type='html'>I'm busy putting together a web-based wallboard for a callcentre, and suddenly my prototype started going crazy. I'm doing all the layout with CSS, and it worked very well, until suddenly, it went crazy.&lt;br /&gt;&lt;br /&gt;Before:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_VLF4xaT4fbY/S87gPb-_5UI/AAAAAAAACHg/itxwcLo0-EI/s1600/Arial.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 129px;" src="http://1.bp.blogspot.com/_VLF4xaT4fbY/S87gPb-_5UI/AAAAAAAACHg/itxwcLo0-EI/s320/Arial.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5462549953861641538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VLF4xaT4fbY/S87ggaxOwgI/AAAAAAAACHo/nq_nIOVn6rc/s1600/verdana.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 129px;" src="http://4.bp.blogspot.com/_VLF4xaT4fbY/S87ggaxOwgI/AAAAAAAACHo/nq_nIOVn6rc/s320/verdana.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5462550245593235970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As you can see, the floating divs are going horribly wrong. What did I change? The only change was to add a font-family attribute to the body class in the stylesheet, like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;body&lt;br /&gt;{&lt;br /&gt;    font-family: Verdana, Arial;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Can any CSS or HTML guru explain to me why this happens? If I take away Verdana and leave Arial, it works in Chrome, I have to remove the whole font-family line for it to work in IE7.&lt;br /&gt;&lt;br /&gt;Awaiting your comments...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3286340966558640844?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3286340966558640844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/04/have-i-gone-mad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3286340966558640844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3286340966558640844'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/04/have-i-gone-mad.html' title='Have I gone mad?'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_VLF4xaT4fbY/S87gPb-_5UI/AAAAAAAACHg/itxwcLo0-EI/s72-c/Arial.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-4238776660589055763</id><published>2010-03-18T16:24:00.002+02:00</published><updated>2010-03-18T16:32:17.197+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventlog'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP'/><title type='text'>Create new event log source</title><content type='html'>Normally ASP.Net does not have the required privileges to create an event log source, so you have to create one manually, or execute the creation code with the required privileges.&lt;br /&gt;&lt;br /&gt;To sort out this little problem, there is a command line utility included in Windows called &lt;span style="font-style:italic;"&gt;eventcreate&lt;/span&gt;. I've NEVER heard of this before, but apparently it has existed for a long time. It actually creates an event, but will create the specified event log source if called with the correct priviliges, like the Administrator account.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;eventcreate /SO "MyApp" /D "MyMessage" /L Application /T ERROR /ID 999&lt;br /&gt;&lt;br /&gt;SUCCESS: A 'ERROR' type event is created in the 'MyApp' log/source.&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-4238776660589055763?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/4238776660589055763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2010/03/create-new-event-log-source.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4238776660589055763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4238776660589055763'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2010/03/create-new-event-log-source.html' title='Create new event log source'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-772716452013121922</id><published>2009-12-17T12:17:00.003+02:00</published><updated>2009-12-17T12:30:26.607+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='procmail'/><category scheme='http://www.blogger.com/atom/ns#' term='rt'/><category scheme='http://www.blogger.com/atom/ns#' term='Out of Office'/><category scheme='http://www.blogger.com/atom/ns#' term='postfix'/><title type='text'>Filtering Out of Office notifications from rt (Request Tracker)</title><content type='html'>It's that time of the year again, where everyone has Out of Office replies set. One of our systems send out daily reports of files processed, and the Reply To address is set to the rt Queue address. This causes unnecessary requests being opened in rt for the Out of Office replies. What can one do?&lt;br /&gt;&lt;br /&gt;Well, that's what I love about open source, &lt;span style="font-style:italic;"&gt;procmail &lt;/span&gt;is your friend.&lt;br /&gt;&lt;br /&gt;I found some references where people had exactly the same problem, so here is the solution I used based on those references.&lt;br /&gt;&lt;br /&gt;Create/modify the procmailrc file (in my case it sits in /usr/local/etc/procmailrc).&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;QUEUE="$1"&lt;br /&gt;ACTION="$2"&lt;br /&gt;&lt;br /&gt;# Trash Outlook autoreplies&lt;br /&gt; :0 w&lt;br /&gt; * ^subject:.*Out of Office AutoReply&lt;br /&gt; /dev/null&lt;br /&gt;&lt;br /&gt; # Pass to rt&lt;br /&gt; :0 w&lt;br /&gt; |/usr/local/bin/rt-mailgate --queue $QUEUE --action $ACTION --url http://xx.yyy.zz/rt&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The $1 and $2 variables are arguments passed to procmail, see the arguments after the -a command line switch below. These are stored in $QUEUE and $ACTION and passed to rt-mailgate in turn to make the solution more generic and reuseable.&lt;br /&gt;&lt;br /&gt;Then I modified the postfix &lt;span style="font-style:italic;"&gt;aliases&lt;/span&gt; file to pass all mail for the queue to procmail:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;raxas-request: "|/usr/local/bin/procmail -a Raxas -a correspond"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then remember to execute &lt;span style="font-style:italic;"&gt;newaliases&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;postfix reload&lt;/span&gt;, and send some test mails.&lt;br /&gt;&lt;br /&gt;Source links: &lt;br /&gt;&lt;a href="http://lists.bestpractical.com/pipermail/rt-users/2005-June/031855.html" target="_blank"&gt;http://lists.bestpractical.com/pipermail/rt-users/2005-June/031855.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.beedub.com/cgi-bin/wiki.cgi/27" target="_blank"&gt;http://www.beedub.com/cgi-bin/wiki.cgi/27&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-772716452013121922?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/772716452013121922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/12/filtering-out-of-office-notifications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/772716452013121922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/772716452013121922'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/12/filtering-out-of-office-notifications.html' title='Filtering Out of Office notifications from rt (Request Tracker)'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-6964223725537649999</id><published>2009-11-18T23:23:00.002+02:00</published><updated>2009-11-18T23:29:29.573+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mythbuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='floppy drive'/><category scheme='http://www.blogger.com/atom/ns#' term='modprobe'/><title type='text'>Ubuntu and 1.44mb floppy drive</title><content type='html'>A neighbour recently had a computer crash, and needed to get some files off floppy disks for her school. Luckily my old Athlon700 serving as a mythbuntu PVR still had a floppy drive.&lt;br /&gt;&lt;br /&gt;I inserted the disk, and tried to mount it. It said the device did not exist. Huh? Then it dawned on me that the driver was possibly not loaded. I did some googling, and found out that you have to do a sudo modprobe floppy to load the driver before trying to mount it.&lt;br /&gt;&lt;br /&gt;After I did that I was able to get all the files off the 3 disks and burned them onto CD. It was quite a trip down memory lane, I can't remember how many years it has been since I last used a floppy drive. Just the sound of the thing copying the files was almost foreign. And the speed, wow. We have become so used to USB flash drives. This was portable data back in the days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-6964223725537649999?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/6964223725537649999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/11/ubuntu-and-144mb-floppy-drive.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/6964223725537649999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/6964223725537649999'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/11/ubuntu-and-144mb-floppy-drive.html' title='Ubuntu and 1.44mb floppy drive'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3452305320104373107</id><published>2009-11-15T19:36:00.003+02:00</published><updated>2009-11-15T19:44:43.686+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='USB drive'/><category scheme='http://www.blogger.com/atom/ns#' term='Conficker'/><category scheme='http://www.blogger.com/atom/ns#' term='Autorun'/><title type='text'>Sidestepping those AutoRun USB viruses</title><content type='html'>I've had far too many people recently that got one of the AutoRun variants such as Conficker on their computers. Here is a tip on how to disable AutoRun (normally that window that pops up when you plug in a USB drive, but abused by Conficker and others to launch the viral code).&lt;br /&gt;&lt;br /&gt;Click on Start / Run, type &lt;span style="font-style:italic;"&gt;gpedit.msc&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt; and press Enter,&lt;br /&gt;&lt;br /&gt;Then double-click &lt;span style="font-style:italic;"&gt;Administrative Template&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;s under &lt;span style="font-style:italic;"&gt;Computer Configuration&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;. Click on the &lt;span style="font-weight:bold;"&gt;System&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt; folder. In the right-hand side pane you should see &lt;span style="font-style:italic;"&gt;Turn off AutoPlay&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;. Double-click it, click on &lt;span style="font-style:italic;"&gt;Enabled&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt; and make sure that &lt;span style="font-style:italic;"&gt;All Drives&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt; is selected. Click Ok and close the Group Policy application.&lt;br /&gt;&lt;br /&gt;Now whenever you plug in an infected USB drive it won't try to infect your PC right away.&lt;br /&gt;&lt;br /&gt;Credit: http://www.howtogeek.com/howto/windows/disable-autoplay-of-audio-cds-and-usb-drives/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3452305320104373107?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3452305320104373107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/11/sidestepping-those-autorun-usb-viruses.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3452305320104373107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3452305320104373107'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/11/sidestepping-those-autorun-usb-viruses.html' title='Sidestepping those AutoRun USB viruses'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-4476893583712719986</id><published>2009-11-09T10:52:00.004+02:00</published><updated>2009-11-09T14:43:10.253+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CLR Procedure'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>CLR Procedure, next iteration</title><content type='html'>We have code that uses an old Extended Stored Procedure written in Delphi that is giving some problems, so I decided to rewrite the procedure in C# as a CLR procedure.&lt;br /&gt;&lt;br /&gt;The code has to download emails from a POP mailbox and process the attachments. For the POP code I found a nice POP library: &lt;a href="http://dotnetctrlext.sourceforge.net/smtpop.htm" target="_blank"&gt;http://dotnetctrlext.sourceforge.net/smtpop.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I had to exclude the MessageBuilder class from being compiled, as it was referencing System.Drawing, with which SQL Server has some issues, and I did not want to delve into them forever.&lt;br /&gt;&lt;br /&gt;The first challenge was to register the CLR procedures. The database needs TRUSTWORTHY property set to ON, because the CLR procedure needs to be created with UNSAFE permissions as it accesses the network for the POP mail download.&lt;br /&gt;&lt;br /&gt;This is the error it gives:&lt;br /&gt;&lt;pre&gt;CREATE ASSEMBLY for assembly 'IntRegPopUtil' failed because assembly 'IntRegPopUtil' is not authorized for PERMISSION_SET = UNSAFE.  &lt;br /&gt;The assembly is authorized when either of the following is true: the database owner (DBO) has UNSAFE ASSEMBLY permission and the database has the &lt;br /&gt;TRUSTWORTHY database property on; or the assembly is signed with a certificate or an asymmetric key that has a corresponding login with UNSAFE ASSEMBLY permission. &lt;br /&gt;If you have restored or attached this database, make sure the database owner is mapped to the correct login on this server. &lt;br /&gt;If not, use sp_changedbowner to fix the problem.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This is the change necessary:&lt;br /&gt;&lt;pre&gt;ALTER DATABASE dbname SET TRUSTWORTHY ON&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Next is creating the assembly:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;create assembly IntRegPopUtil from 'C:\work\sandbox\IntRegPopUtil\bin\Debug\IntRegPopUtil.dll' with permission_set = UNSAFE&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And the CLR Procedure:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;create procedure IntRegPopProcessMail as external name IntRegPopUtil.[IntRegPopUtil.IntRegBulkMail].ProcessMail&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now we are ready to execute the procedure.&lt;br /&gt;&lt;br /&gt;If you get an error like the following when executing your procedure, you need to create the assembly with UNSAFE permissions, as above.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;A .NET Framework error occurred during execution of user-defined routine or aggregate "IntRegPopProcessMail": &lt;br /&gt;System.Security.SecurityException: Request for the permission of type 'System.Net.DnsPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.&lt;br /&gt;System.Security.SecurityException: &lt;br /&gt;   at SmtPop.POP3Client.Open(String pop3host, Int32 port, String user, String pwd)&lt;br /&gt;   at IntRegPopUtil.IntRegBulkMail.ProcessMail()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The next challenge was to get my code to be able to read its appSettings from sqlservr.exe.config in the SQL Server Binn folder. &lt;br /&gt;&lt;br /&gt;You have to restart SQL after creating the sqlservr.exe.config in the same folder as sqlservr.exe. Then the fun starts.&lt;br /&gt;&lt;br /&gt;It kept on giving error like the following:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;"The value of the property 'key' cannot be parsed.&lt;br /&gt;* The error is: Request failed. (sqlservr.exe.Config line X)".&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This seems to be a bug from SQL2005 beta days, the solution is to add a dummy call to the ConnectionStrings property, this causes it to initialize properly. I found the solution &lt;a href="http://geekswithblogs.net/cicorias/archive/2006/05/01/76835.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;int i = ConfigurationManager.ConnectionStrings.Count;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;That's it, now the procedure can connect to the POP server to download the mail, and it can use settings from the &amp;lt;appSettings&amp;gt; section in the sqlservr.exe.config.&lt;br /&gt;&lt;br /&gt;To update the assembly when you've made changes to the dll, use the following syntax:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;alter assembly IntRegPopUtil from 'C:\work\sandbox\IntRegPopUtil\bin\Debug\IntRegPopUtil.dll'&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-4476893583712719986?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/4476893583712719986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/11/clr-procedure-next-iteration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4476893583712719986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4476893583712719986'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/11/clr-procedure-next-iteration.html' title='CLR Procedure, next iteration'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-5851051325625210068</id><published>2009-10-27T11:32:00.002+02:00</published><updated>2009-10-27T11:35:50.893+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Testing'/><title type='text'>Web application testing with Selenium</title><content type='html'>Someone told me about this wonderfull FireFox plugin called Selenium that one can use to record and automate web application testing. You can record, change and playback tests, and also use recorded tests to do load balancing.&lt;br /&gt;&lt;br /&gt;For more details, see &lt;a href="http://seleniumhq.org/" target="_blank"&gt;SeleniumHQ&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-5851051325625210068?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/5851051325625210068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/10/web-application-testing-with-selenium.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5851051325625210068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5851051325625210068'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/10/web-application-testing-with-selenium.html' title='Web application testing with Selenium'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-4685808997231516593</id><published>2009-10-05T11:43:00.004+02:00</published><updated>2009-10-22T00:23:05.361+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet Explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net'/><title type='text'>ASP.Net 1.1 form not submitting on IE</title><content type='html'>We had this stubborn form that did not ant to submit when entering a value in the 1 textbox and pressing Enter. This is supposed to work! &lt;br /&gt;&lt;br /&gt;After Googling a bit, I found the solution: just add another hidden HTML textbox to the page. This issue only occurs in IE when there is only 1 textbox control in the form.&lt;br /&gt;&lt;br /&gt;You can confirm this behaviour by using Fiddler. &lt;br /&gt;&lt;br /&gt;Credit to &lt;a href="http://aspnet.4guysfromrolla.com/articles/060805-1.aspx" target="_blank"&gt;4guysfromrolla&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-4685808997231516593?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/4685808997231516593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/10/aspnet-11-forum-not-submitting-on-ie.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4685808997231516593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4685808997231516593'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/10/aspnet-11-forum-not-submitting-on-ie.html' title='ASP.Net 1.1 form not submitting on IE'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-9128939534951535196</id><published>2009-09-30T14:33:00.002+02:00</published><updated>2009-09-30T14:45:25.406+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Repeated conversion of Web project file</title><content type='html'>I had the dubious honour of converting a VB Web app from Visual Studio 1.1 to VS 2008.&lt;br /&gt;&lt;br /&gt;Every time I opened the converted (or so I thought) project, it gave the following message:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;The following Web projects must be converted to the new Web Site format. The conversion process will remove all source control bindings and the project will not be under source control after migration.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;After the 3rd attempt it was not funny, so I googled it and found this fix:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;1. For the project that's causing you the issue, backup your solution file, your project file, and the "hint" file associated with your project file (the .vspscc file sitting in the same directory as your project) to some other location.&lt;br /&gt;2. Check out your solution file and the project file and close VS&lt;br /&gt;3. Open the project hint file (.vspscc) in notepad, change the ENLISTMENT_CHOICE from COMPULSORY to "ENLISTMENT_CHOICE" = "NEVER"&lt;br /&gt;4. Open your solution file in notepad, remove that line SccProjectEnlistmentChoiceX = 2 (X is the number that corresponds to your project that is causing you the problem). Also, if you see the line "SccWebProjectX=true" (x is again the number of the project in your solution), remove that as well.&lt;br /&gt;5. Open everything in VS again, and assuming everything works now, check in your files.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Link to original article &lt;a href="http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=334842" target="_blank"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-9128939534951535196?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/9128939534951535196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/repeated-conversion-of-web-project-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/9128939534951535196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/9128939534951535196'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/repeated-conversion-of-web-project-file.html' title='Repeated conversion of Web project file'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-4850528114219695766</id><published>2009-09-29T09:22:00.003+02:00</published><updated>2009-09-29T09:25:15.005+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Worker Process'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net'/><title type='text'>IIS App pools and process ids</title><content type='html'>Have you ever needed to know which application pool is which process id? It turns out there is a script installed with Windows Server 2003 that can give you that information.&lt;br /&gt;&lt;br /&gt;Just execute iisapp.vbs to list the app pools and the process id of the worker process.&lt;br /&gt;&lt;br /&gt;More information &lt;a href="http://technet.microsoft.com/en-us/library/cc755905(WS.10).aspx" target="_blank"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-4850528114219695766?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/4850528114219695766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/iis-app-pools-and-process-ids.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4850528114219695766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4850528114219695766'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/iis-app-pools-and-process-ids.html' title='IIS App pools and process ids'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3794627676652996270</id><published>2009-09-23T10:57:00.003+02:00</published><updated>2009-09-23T11:01:13.112+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web filtering'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenDNS'/><category scheme='http://www.blogger.com/atom/ns#' term='Parental Control'/><title type='text'>OpenDNS for web filtering</title><content type='html'>If you have kids, or you manage the company firewall/proxy server, this service can be of great assistance to block unwanted sites. It is DNS based, and managed from a browser, so you have little (possibly in the case of dynamic ip) or no software to install to start using the service. All you have to do is change the DNS servers on your firewall/proxy.&lt;br /&gt;&lt;br /&gt;For more info, go to to their &lt;a href="http://www.opendns.com" target="_blank"&gt;site.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3794627676652996270?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3794627676652996270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/opendns-for-web-filtering.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3794627676652996270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3794627676652996270'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/opendns-for-web-filtering.html' title='OpenDNS for web filtering'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-5923842648569747084</id><published>2009-09-22T23:28:00.002+02:00</published><updated>2009-09-22T23:39:15.151+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cifs'/><category scheme='http://www.blogger.com/atom/ns#' term='mythbuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='FreeNAS'/><category scheme='http://www.blogger.com/atom/ns#' term='mythtv'/><category scheme='http://www.blogger.com/atom/ns#' term='nfs'/><title type='text'>mythtv and cifs (samba)</title><content type='html'>Due to some error in the linux NFS client, I had to use CIFS to mount the storage from FreeNAS on my mythbuntu box. This seems to have created a new issue, whereby recordings do not get deleted by the backend due to "&lt;i&gt;Text file busy&lt;/i&gt;" errors.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Because my storage was eventually going to fill up, I wrote a script to delete the recordings from the database and filesystem, and scheduled it in cron. It only deletes recordings that have been watched and with autoexpire on older than 14 days, plus LiveTV recordings with autoexpire on older than 7 days.&lt;br /&gt;&lt;br /&gt;The &lt;i&gt;myth.find_orphans.pl&lt;/i&gt; script was in a .gz in the referenced directory, so I had to uncompress and chmod it.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;mysql -u mythtv -ppassword mythconverg -e "delete from recorded where autoexpire=1 and watched=1 and endtime &lt; curdate() - 14;"&lt;br /&gt;mysql -u mythtv -ppassword mythconverg -e "delete from recorded where storagegroup='LiveTV' and autoexpire &gt; 0 and endtime &lt; curdate() - 7;"&lt;br /&gt;/usr/share/doc/mythtv-backend/contrib/myth.find_orphans.pl --dodelete&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-5923842648569747084?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/5923842648569747084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/mythtv-and-cifs-samba.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5923842648569747084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5923842648569747084'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/mythtv-and-cifs-samba.html' title='mythtv and cifs (samba)'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-1858608462198789997</id><published>2009-09-16T19:45:00.004+02:00</published><updated>2009-09-16T19:50:12.753+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='Captcha'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net'/><title type='text'>Add CAPTCHA to your site, free</title><content type='html'>Google announced today that it has acquired reCAPTCHA, so I had a look at what reCAPTCHA offers. Turns out they have an API that lets you add CAPTCHA to your site. They have plugins for ASP.Net, PHP, Java, etc.&lt;br /&gt;&lt;br /&gt;Have a look &lt;a href="http://recaptcha.net/" target="_blank"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-1858608462198789997?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/1858608462198789997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/add-captcha-to-your-site-free.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1858608462198789997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1858608462198789997'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/add-captcha-to-your-site-free.html' title='Add CAPTCHA to your site, free'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3162255214443864575</id><published>2009-09-03T15:36:00.004+02:00</published><updated>2009-09-03T15:43:25.646+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BugNET'/><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='HTTP Compression'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net'/><category scheme='http://www.blogger.com/atom/ns#' term='FlatCompress'/><title type='text'>ASP.Net AJAX Toolkit and 'AjaxControlToolkit' is undefined</title><content type='html'>If your site uses AJAX, and you receive the dreaded &lt;span style="font-style:italic;"&gt;'AjaxControlToolkit' is undefined&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt; error, this might help you.&lt;br /&gt;&lt;br /&gt;After some troubleshooting with Fiddler, I found out that I installed the FlatCompress ISAPI filter a while ago to test HTTP compression. It turns out this causes some problems with the ASP.Net AJAX toolkit. After I disabled it and restarted IIS, the error went away. Great. Now I can continue testing BugNET...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3162255214443864575?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3162255214443864575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/aspnet-ajax-toolkit-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3162255214443864575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3162255214443864575'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/aspnet-ajax-toolkit-and.html' title='ASP.Net AJAX Toolkit and &apos;AjaxControlToolkit&apos; is undefined'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-5599951425198637432</id><published>2009-09-02T16:44:00.002+02:00</published><updated>2009-09-02T16:44:00.344+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>MyTechEd #Closing and final impressions</title><content type='html'>The closing presentation was informational as to what is coming down the line in terms of next generation user interfaces, etc. The insert by Arthur Goldstuck on broadband was very interesting.&lt;br /&gt;&lt;br /&gt;Unfortunately I did not win the MVix PVR, or any other goodies for that matter. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.worldwideworx.com" target="_blank"&gt;http://www.worldwideworx.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-5599951425198637432?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/5599951425198637432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-closing-and-final-impressions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5599951425198637432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5599951425198637432'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-closing-and-final-impressions.html' title='MyTechEd #Closing and final impressions'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-4080328613380942762</id><published>2009-09-02T16:43:00.005+02:00</published><updated>2009-09-02T16:43:00.532+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Testing'/><title type='text'>MyTechEd #17 - Practical Web Testing</title><content type='html'>This was a very valuable presentation with lots of practical examples. Great to know some things are already available in Visual Studio 2008.&lt;br /&gt;&lt;br /&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/DTL303_Practical_Web_Testing_Anton_Delsink.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-4080328613380942762?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/4080328613380942762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-17-practical-web-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4080328613380942762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4080328613380942762'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-17-practical-web-testing.html' title='MyTechEd #17 - Practical Web Testing'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3273462155180122834</id><published>2009-09-02T16:43:00.003+02:00</published><updated>2009-09-02T16:43:01.554+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>MyTechEd #16 -  Inside T-SQL: Enhancements, Techniques, Tips &amp; Tricks</title><content type='html'>This was a very informative session.&lt;br /&gt;&lt;br /&gt;Keyword from the session: Insert statement multiple values, Common Table Expression, Using Hierarchy functionality for sorting, Inline functions, OUTPUT clause for INSERT, UPDATE, DELETE.&lt;br /&gt;&lt;br /&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/DAT306_TSQL_enhancements_Stevens_Baytopp_Loots.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3273462155180122834?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3273462155180122834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-16-inside-t-sql-enhancements.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3273462155180122834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3273462155180122834'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-16-inside-t-sql-enhancements.html' title='MyTechEd #16 -  Inside T-SQL: Enhancements, Techniques, Tips &amp; Tricks'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-4139324147594900227</id><published>2009-09-02T16:43:00.001+02:00</published><updated>2009-09-02T16:43:00.732+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net'/><title type='text'>MyTechEd #15 - Understanding Microsoft ASP.NET Under the Covers</title><content type='html'>This was a VERY interesting session by a very knowledgeable presenter, Nic Goossens.&lt;br /&gt;&lt;br /&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/WUX302_MS_ASP_NET_Goossens.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-4139324147594900227?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/4139324147594900227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-15-understanding-microsoft.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4139324147594900227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4139324147594900227'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-15-understanding-microsoft.html' title='MyTechEd #15 - Understanding Microsoft ASP.NET Under the Covers'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-4028628859546917684</id><published>2009-09-02T16:42:00.001+02:00</published><updated>2009-09-02T16:42:00.104+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010 Team System'/><title type='text'>MyTechEd #14 - Team System 2010 Development Essentials</title><content type='html'>Some keywords from the session: Code Analysis,Extensions, Check-In policy, Work Items&lt;br /&gt;&lt;br /&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/DTL202_Team_System_2010_Development_Essentials_Anton_Delsink.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-4028628859546917684?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/4028628859546917684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-14-team-system-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4028628859546917684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4028628859546917684'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-14-team-system-2010.html' title='MyTechEd #14 - Team System 2010 Development Essentials'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-5194342575853194611</id><published>2009-09-02T15:42:00.005+02:00</published><updated>2009-09-02T15:44:14.763+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><title type='text'>MyTechEd #12 - Microsoft Visual Studio 2010 Overview for the Business Application Developer</title><content type='html'>An overview session with some demos.&lt;br /&gt;&lt;br /&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/DTL309_VS2010_for_LOB_deKlerk.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-5194342575853194611?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/5194342575853194611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-12-microsoft-visual-studio.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5194342575853194611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5194342575853194611'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-12-microsoft-visual-studio.html' title='MyTechEd #12 - Microsoft Visual Studio 2010 Overview for the Business Application Developer'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-642965394193518812</id><published>2009-09-02T15:42:00.004+02:00</published><updated>2009-09-02T15:43:53.276+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Foundation Server'/><title type='text'>MyTechEd #13 - How Microsoft and Others Use Team Foundation Server</title><content type='html'>This was a whiteboard session with some good panelists. &lt;br /&gt;&lt;br /&gt;Some keywords from the session: Code Coverage, TFS Branching Guide&lt;br /&gt;&lt;br /&gt;Links: &lt;a href="http://blogs.msdn.com/bharry/" target="_blank"&gt;http://blogs.msdn.com/bharry/&lt;/a&gt;, &lt;a href="http://www.codeplex.com/TFSBranchingGuideII" target="_blank"&gt;http://www.codeplex.com/TFSBranchingGuideII&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-642965394193518812?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/642965394193518812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-13-how-microsoft-and-others.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/642965394193518812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/642965394193518812'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-13-how-microsoft-and-others.html' title='MyTechEd #13 - How Microsoft and Others Use Team Foundation Server'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-8553492936714407941</id><published>2009-09-02T15:41:00.009+02:00</published><updated>2009-09-02T15:44:25.167+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Build'/><title type='text'>MyTechEd #11 -  Using Virtualization to Improve Application Quality with Team System - Lab Management</title><content type='html'>This was a very interesting session to see some of the features that will be available in VS 2010 with regards to testing. Large software projects can definitely benefit from this. It just seems complex to set up and get going.&lt;br /&gt;&lt;br /&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/DTL313_Team_system_lab_Menegay.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-8553492936714407941?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/8553492936714407941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/myteched-11-using-virtualization-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8553492936714407941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8553492936714407941'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/myteched-11-using-virtualization-to.html' title='MyTechEd #11 -  Using Virtualization to Improve Application Quality with Team System - Lab Management'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-6844117674715113127</id><published>2009-09-02T15:41:00.005+02:00</published><updated>2009-09-02T15:41:00.479+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net'/><title type='text'>MyTechEd #10 -  A Lap around Microsoft ASP.NET 4.0 and Microsoft Visual Studio 2010</title><content type='html'>Another most useful session by Mike Palermo.&lt;br /&gt;&lt;br /&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/WUX203_ASP4_VS10_Palermo.pptx" target="_blank"&gt;Download here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-6844117674715113127?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/6844117674715113127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/myteched-10-lap-around-microsoft-aspnet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/6844117674715113127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/6844117674715113127'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/myteched-10-lap-around-microsoft-aspnet.html' title='MyTechEd #10 -  A Lap around Microsoft ASP.NET 4.0 and Microsoft Visual Studio 2010'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-1272649336157192002</id><published>2009-09-02T15:41:00.000+02:00</published><updated>2009-09-02T15:41:01.486+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Build'/><title type='text'>MyTechEd #9 - Team Build Tips and Tricks</title><content type='html'>This session showed amongst other things how you can customize the build process to automate versioning, etc. Quite useful. And I had information overload, I don't think there is a human that can consume all the words the presenter spoke in 1 hour.&lt;br /&gt;&lt;br /&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/DTL306_TeamBuild_Menegay.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-1272649336157192002?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/1272649336157192002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-9-team-build-tips-and-tricks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1272649336157192002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1272649336157192002'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-9-team-build-tips-and-tricks.html' title='MyTechEd #9 - Team Build Tips and Tricks'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-4168433691972631727</id><published>2009-09-02T15:20:00.000+02:00</published><updated>2009-09-02T15:21:12.615+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>MyTechEd #8 - A Strategic Comparison of Data Access Technologies from Microsoft</title><content type='html'>This was a whiteboard session, so there are no slides available. My personal opinion is that I will leave the Entity Framework, etc. to still mature a bit. Seems like Linq to SQL is just about dead, glad I did not jump on that bandwagon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-4168433691972631727?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/4168433691972631727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-8-strategic-comparison-of-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4168433691972631727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4168433691972631727'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-8-strategic-comparison-of-data.html' title='MyTechEd #8 - A Strategic Comparison of Data Access Technologies from Microsoft'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-7808768404422914261</id><published>2009-09-02T14:39:00.001+02:00</published><updated>2009-09-02T14:39:00.857+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>MyTechEd #7 - Guiding Your Query Plans in Microsoft SQL Server for Improved Query Performance</title><content type='html'>This was a VERY informative session. The presenter knows her stuff. This is also where I picked up on the NOLOCK issue I posted about previously. &lt;br /&gt;&lt;br /&gt;With SQL2008 you can now give hints via SQL Management Studio, instead of having to code them into your SQL. This allows for easier application tuning, as no build-test-deploy of the application is needed.&lt;br /&gt;&lt;br /&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/DAT305_Query_performance_SQL_server_Shaw.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-7808768404422914261?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/7808768404422914261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-7-guiding-your-query-plans-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/7808768404422914261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/7808768404422914261'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-7-guiding-your-query-plans-in.html' title='MyTechEd #7 - Guiding Your Query Plans in Microsoft SQL Server for Improved Query Performance'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3051444251556858228</id><published>2009-09-02T14:39:00.000+02:00</published><updated>2009-09-02T14:39:00.464+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>MyTechEd #6 - What's new in SQL Azure</title><content type='html'>The starting pitch was "Everything you can do with SQL Server you can do with SQL Azure". The longer the session carried on, the more limitations came to light. Granted, they are not necessarily show stoppers, but could be depending on the application you might want to deploy.&lt;br /&gt;&lt;br /&gt;Link to presentation: not available&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3051444251556858228?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3051444251556858228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-6-whats-new-in-sql-azure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3051444251556858228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3051444251556858228'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-6-whats-new-in-sql-azure.html' title='MyTechEd #6 - What&apos;s new in SQL Azure'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-9103062379544250355</id><published>2009-09-02T14:38:00.000+02:00</published><updated>2009-09-02T14:38:00.326+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>MyTechEd #5 - SQL 2008: Best Practices and lessons learned</title><content type='html'>The presentation/presenter was a bit boring. There might be some value in the slides though.&lt;br /&gt;&lt;br /&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/DAT201_SQL_server_post_release_%20Blake.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-9103062379544250355?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/9103062379544250355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-5-sql-2008-best-practices-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/9103062379544250355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/9103062379544250355'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/myteched-5-sql-2008-best-practices-and.html' title='MyTechEd #5 - SQL 2008: Best Practices and lessons learned'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-499178422368526936</id><published>2009-09-02T13:56:00.000+02:00</published><updated>2009-09-02T13:57:49.857+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>MyTechEd #4 - Entity Framework Tips and Tricks</title><content type='html'>This session shared some tips and tricks on Entity Framework&lt;br /&gt;&lt;br /&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/DTL312_The_ADO_NET_Entity_Framework_Tips_and_Tricks_Shyam_Pather.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-499178422368526936?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/499178422368526936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/myteched-4-entity-framework-tips-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/499178422368526936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/499178422368526936'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/myteched-4-entity-framework-tips-and.html' title='MyTechEd #4 - Entity Framework Tips and Tricks'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-101356853349850130</id><published>2009-09-02T13:54:00.000+02:00</published><updated>2009-09-02T13:54:55.439+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><title type='text'>MyTechEd #3 - Architectures: The good, the bad &amp; the Ugly</title><content type='html'>A presentation about good and bad architectures.&lt;br /&gt;&lt;br /&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/ARC201_Architechtures_Mocke.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-101356853349850130?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/101356853349850130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/myteched-3-architectures-good-bad-ugly.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/101356853349850130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/101356853349850130'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/myteched-3-architectures-good-bad-ugly.html' title='MyTechEd #3 - Architectures: The good, the bad &amp; the Ugly'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-5042864991016441264</id><published>2009-09-01T20:07:00.003+02:00</published><updated>2009-09-01T20:19:19.505+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TV Out'/><category scheme='http://www.blogger.com/atom/ns#' term='nVidia'/><category scheme='http://www.blogger.com/atom/ns#' term='mythbuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='mythtv'/><title type='text'>nVidia TV Out on mythbuntu</title><content type='html'>I finally put in the LAN cable from my study/lab/network centre to the lounge so the mediacentre was moved to its final location close to the tv. Next up was getting the TV out to work to my tv. I used &lt;a href="http://en.wikibooks.org/wiki/NVidia/TV-OUT" target="_blank"&gt;this site&lt;/a&gt; to get it working. Initally I thought I only had only black and white output, and struggled for 2 hours to try to get it working. I even went to far as to buy an S-Video - RCA cable, because a lot of references I found pointed to the fact that the RCA output on nVidia cards sometimes does not work correctly.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well, after putting the new cable in, it still gave the same black &amp;amp; white results, but I now it works, because I just tested it on the DVD player. I used xclock to test, and it turns out I tried an incorrect/ignored command line option. After using the correct option, I have color! As they say: if it takes longer than 5 minutes it is probably a stupid mistake.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next up is configuring the TV output to be the default/only display, and getting the remote blaster and my MNet decoder talking.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are the portions I had to add to /etc/X11/xorg.conf to get TV output working.&lt;/div&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Section "Device"&lt;br /&gt;  Identifier     "Device_tv"&lt;br /&gt;  Driver         "nvidia"&lt;br /&gt;  VendorName     "NVIDIA Corporation"&lt;br /&gt;  BoardName      "GeForce2 MX 100/200"&lt;br /&gt;  Option         "TVStandard" "PAL-I"&lt;br /&gt;  Option         "TVOutFormat" "SVIDEO"&lt;br /&gt;  Option         "ConnectedMonitor" "TV"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Monitor"&lt;br /&gt;  Identifier     "TV"&lt;br /&gt;  HorizSync       30-50&lt;br /&gt;  VertRefresh     50.0&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Screen"&lt;br /&gt;      Identifier "Screen_tv"&lt;br /&gt;      Device "Device_tv"&lt;br /&gt;      Monitor "TV"&lt;br /&gt;      DefaultDepth 16&lt;br /&gt;      Subsection "Display"&lt;br /&gt;              Modes "720x576" "720x480"&lt;br /&gt;      EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "ServerLayout"&lt;br /&gt;  Identifier     "Layout_tv"&lt;br /&gt;  Screen      0  "Screen_tv" 0 0&lt;br /&gt;  InputDevice    "Keyboard0" "CoreKeyboard"&lt;br /&gt;  InputDevice    "Mouse0" "CorePointer"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-5042864991016441264?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/5042864991016441264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/nvidia-tv-out-on-mythbuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5042864991016441264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5042864991016441264'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/09/nvidia-tv-out-on-mythbuntu.html' title='nVidia TV Out on mythbuntu'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3244977116339824783</id><published>2009-08-26T09:40:00.007+02:00</published><updated>2009-08-26T09:59:49.584+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Debugging Proxy'/><title type='text'>Debugging web application requests</title><content type='html'>Have you ever needed to debug a web application request for an application for which you do not have the source? There is a neat little application that can do it transparently, without needing you to reconfigure anything. It's called Fiddler, and you can download it &lt;a href="http://www.fiddler2.com/" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Some screenshots:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.fiddler2.com/fiddler2/images/sshot-3.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 600px; height: 450px;" src="http://www.fiddler2.com/fiddler2/images/sshot-3.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.fiddler2.com/fiddler2/images/sshot-1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 600px; height: 450px;" src="http://www.fiddler2.com/fiddler2/images/sshot-1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.fiddler2.com/fiddler2/images/tamper.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 600px; height: 450px;" src="http://www.fiddler2.com/fiddler2/images/tamper.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3244977116339824783?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3244977116339824783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/debugging-web-application-requests.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3244977116339824783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3244977116339824783'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/debugging-web-application-requests.html' title='Debugging web application requests'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-8502014464808663511</id><published>2009-08-24T10:18:00.004+02:00</published><updated>2009-08-24T10:23:03.424+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video Recording'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP'/><title type='text'>How to make video recordings of screen activity on your computer</title><content type='html'>A colleague found a nice tool for creating videos from activity on your computer, like when you show someone how to navigate your website, etc. It's called CamStudio, and is free. Get it &lt;a href="http://camstudio.org/" target="_blank"&gt;here&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks fish.man.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-8502014464808663511?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/8502014464808663511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/how-to-make-video-recordings-of-screen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8502014464808663511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8502014464808663511'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/how-to-make-video-recordings-of-screen.html' title='How to make video recordings of screen activity on your computer'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-8102200799087958354</id><published>2009-08-18T10:15:00.004+02:00</published><updated>2009-08-18T10:35:49.724+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Common Table Expression'/><title type='text'>Common Table Expression (CTE)</title><content type='html'>Do you know what a Common Table Expression is? It is a temporary named result set that can make your SQL easier to read and maintain.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Where can I use it? Often one encounters a summary screen that has some basic information, along with a sum or count. One example is for instance details about an employee, plus a count of the number of people reporting to him. This can lead to some nasty SQL if you write it all in one statement. This is where CTE steps in. You can create a CTE for the number of people reporting to an employee, and join that with the employees table like it was a normal table.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the example below the CTE is a result set with a ManagerID and the number of people reporting to that manager. It is then joined to the Employee table. Do you think it makes the SQL cleaner and easier to read?&lt;/div&gt;&lt;div&gt;&lt;pre&gt;USE AdventureWorks;&lt;br /&gt;GO&lt;br /&gt;WITH DirReps(ManagerID, DirectReports) AS&lt;br /&gt;(&lt;br /&gt; SELECT ManagerID, COUNT(*)&lt;br /&gt; FROM HumanResources.Employee AS e&lt;br /&gt; WHERE ManagerID IS NOT NULL&lt;br /&gt; GROUP BY ManagerID&lt;br /&gt;)&lt;br /&gt;SELECT e.EmployeeID, e.BirthDate, ISNULL(DirectReports, 0) as DirectReports&lt;br /&gt;FROM DirReps as d right outer join HumanResources.Employee as e on d.ManagerID = e.EmployeeID&lt;br /&gt;ORDER BY e.EmployeeID;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;You can find some additional info &lt;a href="http://msdn.microsoft.com/en-us/library/ms190766.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-8102200799087958354?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/8102200799087958354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/common-table-expression-cte.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8102200799087958354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8102200799087958354'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/common-table-expression-cte.html' title='Common Table Expression (CTE)'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-8790341529787604627</id><published>2009-08-16T10:00:00.004+02:00</published><updated>2009-08-16T10:23:32.722+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mythbuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='FreeNAS'/><category scheme='http://www.blogger.com/atom/ns#' term='RAID'/><category scheme='http://www.blogger.com/atom/ns#' term='NAS'/><category scheme='http://www.blogger.com/atom/ns#' term='Intel Atom'/><title type='text'>Adding more storage for mythbuntu (and other uses)</title><content type='html'>Since my mythbuntu box is old and does not have onboard SATA support, I deciced to build a storage server with new hardware and record from the mythbuntu box to an NFS share on the storage server.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The hardware of choice was an Intel Atom motherboard, &lt;a href="http://www.intel.com/products/desktop/motherboards/D945GCLF2-D945GCLF2D/D945GCLF2-D945GCLF2D-overview.htm" target="_blank"&gt;D945GCLF2D&lt;/a&gt;, due to the low processing power required. It has a 1.6GHz dual core processor, but is very quiet due to no fan on the processor (although the chipset has one!). Since I don't want to have problems later on, and RAM is so cheap nowadays I decided to get the max 2GB that the board supports, even though it is a huge overkill. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For storage I got 2 500GB SATA drives, which is going to be used in a RAID mirroring configuration to provide some form of protection from failure. Since I don't have hardware RAID capability, I needed another disk to install the base OS on, because the RAID volume would not be available until after boot. I also wanted a cost effective (read cheap!) solution, so I opted to get a USB drive to install the base OS on, since the motherboard supports USB booting. This meant I did not have to get an optical drive, which was only going to be used once for installation. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The software of choice for the storage server is &lt;a href="http://www.freenas.org/" target="_blank"&gt;FreeNAS&lt;/a&gt;, a free Network Attached Storage server based on FreeBSD. It has software RAID capability, and can exposes the storage in lots of different ways. It can also notify you via email in case something goes wrong with your server, so you can really hide the box in a corner and almost forget about it. Administration is via a web interface once you have it up and running and connected to a network.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I installed the embedded image from the downloaded ISO onto a USB drive using &lt;a href="http://m0n0.ch/wall/physdiskwrite.php" target="_blank"&gt;physdiskwrite&lt;/a&gt;, booted the new box with it, configured the disks, and shared the RAID volume via NFS. The next step was mounting the NFS share from my mythbuntu box, which was trivial as well, I only had to install the &lt;i&gt;nfs-common&lt;/i&gt; package. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Initially I had a stability issue on mythbuntu with the NFS share, it kept hanging up after a period of inactivity, but installing all available updates seems to have cured that problem, I'm happily watching a recording as I'm typing this.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-8790341529787604627?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/8790341529787604627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/adding-more-storage-for-mythbuntu-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8790341529787604627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8790341529787604627'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/adding-more-storage-for-mythbuntu-and.html' title='Adding more storage for mythbuntu (and other uses)'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-2264167933618124803</id><published>2009-08-14T14:37:00.001+02:00</published><updated>2009-09-02T13:51:51.285+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code Snippets'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>MyTechEd #2 - Visual Studio Tips and Tricks</title><content type='html'>Presenter: Mike Palermo&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The session started off a bit rocky due to the fact that Mike's laptop and the projector did not want to go to a higher resolution than 640x480 or800x600, can't remember, all I know it was big and not a lot fitted on the screen. It was really unfortunate, as it was a great session.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the nice things we were shown was how to create your own code snippets. &lt;/div&gt;&lt;div&gt;Snippets are XML documents, so they can be created/edited easily. The standard code snippets are stored in &lt;i&gt;&lt;b&gt;Program Files\Microsoft Visual Studio 9.0\VC#\Snippets\1033\Visual C#&lt;/b&gt; &lt;/i&gt;for C#, so you can copy one from there to &lt;i&gt;&lt;b&gt;My Documents\Visual Studio 2008\Code Snippets\Visual C#\My Code Snippets&lt;/b&gt;&lt;/i&gt; and edit it to your liking, obviously changing the &lt;i&gt;&lt;b&gt;Title &lt;/b&gt;&lt;/i&gt;and &lt;i&gt;&lt;b&gt;Shortcut&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; value&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;s&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Look &lt;a href="http://blogs.msdn.com/gusperez/articles/93681.aspx" target="_blank"&gt;here &lt;/a&gt;for a snippet editor.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Other usefull tips were &lt;b&gt;Prevent Copy on Blank Line&lt;/b&gt; and &lt;b&gt;Toggle Clipboard&lt;/b&gt;. I'm not going to post every tip here, so please see Mike's speaker notes &lt;a href="http://www.palermo4.com/post/Visual-Studio-Tips-DTL209.aspx" target="_blank"&gt;here&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Link to presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/DTL209_MVS_TipsTricks_Palermo.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-2264167933618124803?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/2264167933618124803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/myteched-2-visual-studio-tips-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/2264167933618124803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/2264167933618124803'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/myteched-2-visual-studio-tips-and.html' title='MyTechEd #2 - Visual Studio Tips and Tricks'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-1960515295570625386</id><published>2009-08-14T14:36:00.001+02:00</published><updated>2009-09-02T13:50:34.013+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Dashboards'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>My TechEd #1 - Dashboards &amp; Scorecards</title><content type='html'>Presenter: Gavin Russell-Rockliff&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This was an overview session to introduce the dashboarding and scorecarding capabilities available in the Microsoft platform.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The central component is PerformancePoint Server 2007, which now comes with MOSS Enterprise. A variety of datasources can be integrated into dashboard/scorecard, including SQL Services Analysis Services, Excel 2007, Excel Services and Relational Tables.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Link to the presentation: &lt;a href="http://download.microsoft.com/download/6/7/3/673B71D0-6D4F-4591-9940-D33DF9135487/BIN202_Dashboards_and_scorecards_Russell_Rockliff.pptx" target="_blank"&gt;download here&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://blogs.msdn.com/performancepoint/default.aspx" target="_blank"&gt;PerformancePoint Team Blog&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-1960515295570625386?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/1960515295570625386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/my-teched-1-dashboards-scorecards.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1960515295570625386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1960515295570625386'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/my-teched-1-dashboards-scorecards.html' title='My TechEd #1 - Dashboards &amp; Scorecards'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-1811267347728660323</id><published>2009-08-12T14:09:00.003+02:00</published><updated>2009-08-12T14:27:07.687+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NOLOCK'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>WITH NOLOCK = dirty rotten scoundrels</title><content type='html'>A comment by a presenter at a SQL Server tuning session at TechEd Africa 2009 sparked my interest, so I decided to investigate.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Do you use WITH (NOLOCK) with each SELECT statement? Do you know what it does?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let me fill you in. It allows your query to read uncommitted data, i.e. deleted or inserted rows that might still be rolled back. Even worse is that it can double read rows, or even misread rows. Imagine the impact it might have on financial systems...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This might be ok in a data warehouse environment (when the data is not being updated), but certainly is not ok in a transactional database. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you still need convincing not to to it, look &lt;a href="http://sqlblogcasts.com/blogs/tonyrogerson/archive/2006/11/10/1280.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-1811267347728660323?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/1811267347728660323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/with-nolock-dirty-rotten-scoundrels.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1811267347728660323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1811267347728660323'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/08/with-nolock-dirty-rotten-scoundrels.html' title='WITH NOLOCK = dirty rotten scoundrels'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-731953796194266792</id><published>2009-07-30T12:53:00.002+02:00</published><updated>2009-07-30T12:53:00.753+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network Cable'/><title type='text'>Shop around before you open your wallet</title><content type='html'>This is common sense, of course, but I was amazed at the profiteering some computer stores are up to. &lt;br /&gt;&lt;br /&gt;I was looking for some CAT5E network cable to connect my media centre to my network, and enquired at a few stores. I was quoted R7.50 and R8.00/meter, and finally bought at another store for R3.00/meter. Granted, the first two prices were for stores inside a popular shopping mall, and the last is not. But charging 166% more than someone else for the same thing? I was even contemplating getting a wireless network adapter because it would have been cheaper than the cable at R8.00/meter!&lt;br /&gt;&lt;br /&gt;Since then I found the name of a cable supplier which might even be cheaper than R3.00/meter. In case you are in Cape Town, look at &lt;a href="http://www.capecables.co.za/cms/" target="_blank"&gt;Cape Cables&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-731953796194266792?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/731953796194266792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/shop-around-before-you-open-your-wallet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/731953796194266792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/731953796194266792'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/shop-around-before-you-open-your-wallet.html' title='Shop around before you open your wallet'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-2078354732391216394</id><published>2009-07-30T11:36:00.000+02:00</published><updated>2009-07-30T11:36:00.169+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Component Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Generics'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Generic classes and Component services</title><content type='html'>I recently wrote a lightweight generic data access layer with generic list functionality. Everything worked fine until I had to implement a derived class as a Serviced Component. Turns out classes with generic methods cannot be added to component services, regsvcs.exe gives the following error&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;An unknown exception occurred during installation:&lt;br /&gt;1: System.Reflection.ReflectionTypeLoadException - Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Searched Google, and found 2 hits. If that happens you know trouble is looming on the horizon...&lt;br /&gt;&lt;br /&gt;It appears to be a known bug, see the details &lt;a href="http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=465638" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So for now I had to implement a workaround by not having my class derive from the generic base class but instead to have a private instance of it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-2078354732391216394?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/2078354732391216394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/generic-classes-and-component-services.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/2078354732391216394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/2078354732391216394'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/generic-classes-and-component-services.html' title='Generic classes and Component services'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-9199072438341378296</id><published>2009-07-29T17:25:00.000+02:00</published><updated>2009-07-29T17:25:00.636+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mythbuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Media Centre'/><category scheme='http://www.blogger.com/atom/ns#' term='IR Blaster'/><category scheme='http://www.blogger.com/atom/ns#' term='mythtv'/><category scheme='http://www.blogger.com/atom/ns#' term='hauppauge'/><title type='text'>Getting Hauppauge WinTV-PVR-150 IR Blaster to work</title><content type='html'>I'm ready to move to the next level, to be able to change the channels on my decoder using the IR blaster that comes with the PVR-150. This link will help you a lot: &lt;a href="http://www.blushingpenguin.com/mark/blog/?p=24" target="_blank"&gt;LIRC PVR-150 IR blaster support&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I only had to download the firmware and put it into the /lib/firmware directory on mythbuntu, and configure the IR blaster in Mythbuntu Control Center. I still have to figure out which codeset to use, but at least the &lt;span style="font-style:italic;"&gt;irsend&lt;/span&gt; makes the little led on the blaster flash now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-9199072438341378296?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/9199072438341378296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/getting-hauppauge-wintv-pvr-150-ir.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/9199072438341378296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/9199072438341378296'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/getting-hauppauge-wintv-pvr-150-ir.html' title='Getting Hauppauge WinTV-PVR-150 IR Blaster to work'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-5908004306417203020</id><published>2009-07-29T11:25:00.001+02:00</published><updated>2009-07-29T11:30:49.858+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mythtv player'/><category scheme='http://www.blogger.com/atom/ns#' term='mythtv'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP'/><title type='text'>MythTV on Windows</title><content type='html'>I found a nice mythtv front-end for Windows, MythTV Player. Version 0.50 even supports Live TV. It can skip commercials as well.&lt;br /&gt;&lt;br /&gt;I found the download &lt;a href="http://www.sudu.dk/mythtvplayer/forum/thread/83;?unb244sess=64999c5c3884ff80aab638f732ea3020" target="_blank"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-5908004306417203020?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/5908004306417203020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/mythtv-on-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5908004306417203020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5908004306417203020'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/mythtv-on-windows.html' title='MythTV on Windows'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-5640451440413309117</id><published>2009-07-17T19:55:00.002+02:00</published><updated>2009-07-17T19:59:42.116+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='Timestamp'/><title type='text'>My first foray into PowerShell</title><content type='html'>I needed to change the date/timestamp on a file, and found that the touch utility does not exist. I also could not find the XP resource kit download, which apparently contains it. Then I remembered that PowerShell was installed when I recently installed SQL Server Express 2008.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is how to change the timestamp of &lt;i&gt;test.txt&lt;/i&gt; in the current directory to &lt;i&gt;31/08/2012&lt;/i&gt; with PowerShell:&lt;/div&gt;&lt;div&gt;&lt;pre&gt;$(get-item test.txt).lastwritetime=$(get-date "08/31/2012")&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;You can find more info &lt;a target="_blank" href="http://trustedsignal.blogspot.com/2008/08/touch-on-windows-via-powershell.html"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-5640451440413309117?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/5640451440413309117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/my-first-foray-into-powershell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5640451440413309117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5640451440413309117'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/my-first-foray-into-powershell.html' title='My first foray into PowerShell'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-7709495626018961442</id><published>2009-07-16T10:18:00.002+02:00</published><updated>2009-07-16T10:21:47.331+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RowCount'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>How many rows in all the tables in a database?</title><content type='html'>Often one needs to know the number of rows in all tables in a database, like when you are writing or executing tests, and need to know if you have test data for a table.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I found a nice query, and adapted it slightly for my use.&lt;pre&gt;SELECT sysobjects.[name], max(sysindexes.[rows]) AS TableRows&lt;br /&gt;FROM sysindexes INNER JOIN sysobjects ON sysindexes.[id] = sysobjects.[id]&lt;br /&gt;WHERE sysobjects.xtype = 'U'&lt;br /&gt;GROUP BY sysobjects.[name]&lt;br /&gt;ORDER BY name&lt;/pre&gt;You can find the original &lt;a target="_blank" href="http://blogs.interakting.co.uk/steve/archive/2008/01/09/SQL-Server-Retrieving-the-number-of-rows-in-all-tables.aspx"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-7709495626018961442?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/7709495626018961442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/how-many-rows-in-all-tables-in-database.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/7709495626018961442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/7709495626018961442'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/how-many-rows-in-all-tables-in-database.html' title='How many rows in all the tables in a database?'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3216141503084089693</id><published>2009-07-14T14:42:00.002+02:00</published><updated>2009-07-14T14:49:49.795+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Generics'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='NUnit'/><title type='text'>C# generics and testing</title><content type='html'>The power of C# generics, you just gotta love it. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm writing NUnit unit tests for the business objects of the application. All the factory objects happen to have a LoadById method that takes an int as parameter, and return a typed list. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is beautiful, as I can write a generic test method that for the factory type and list type, and then just write a one-liner test for every factory I want to test.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;The generic method:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    public void TestGeneric&lt;l, t=""&gt;(int logicalRecord) where L : new()&lt;br /&gt;    {&lt;br /&gt;        L list = new L();&lt;br /&gt;        Type x = typeof(L);&lt;br /&gt;        MethodInfo LoadMethod = x.GetMethod("LoadById");&lt;br /&gt;        List&lt;t&gt; records = (List&lt;t&gt;)LoadMethod.Invoke(list, new object[] { logicalRecord });&lt;br /&gt;        Assert.IsTrue(records.Count &gt; 0);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;/t&gt;&lt;/t&gt;&lt;/l,&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Invoking the generic method with the Factory type and the List type&lt;br /&gt;&lt;pre&gt;            TestGeneric&lt;employerlist, employer=""&gt;(logicalRecord);&lt;br /&gt;&lt;/employerlist,&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;You just gotta love generics. More info &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/512aeb7t(VS.80).aspx"&gt;here&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3216141503084089693?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3216141503084089693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/c-generics-and-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3216141503084089693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3216141503084089693'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/c-generics-and-testing.html' title='C# generics and testing'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-7200386158800177628</id><published>2009-07-14T13:23:00.002+02:00</published><updated>2009-07-14T13:26:27.974+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Online Bookmarks'/><category scheme='http://www.blogger.com/atom/ns#' term='spurl.net'/><title type='text'>Spurl.net - grabb'em while you can</title><content type='html'>If you have online bookmarks at spurl.net, grab them while you can. I downloaded mine today, both the bookmark.htm and the bookmarks_xbel.xml. I don't know what the future holds for spurl, it has not been in a good state for weeks.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Do it, NOW!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-7200386158800177628?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/7200386158800177628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/spurlnet-grabbem-while-you-can.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/7200386158800177628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/7200386158800177628'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/spurlnet-grabbem-while-you-can.html' title='Spurl.net - grabb&apos;em while you can'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-619065709299010088</id><published>2009-07-14T13:03:00.003+02:00</published><updated>2009-07-14T13:08:36.241+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Default html editor'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Word'/><title type='text'>Want to get rid of Word as default .htm(l) editor</title><content type='html'>Seems like MS thought Word was a good html editor. NOT!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I finally had enough of right-click Edit on html file, and then Word pops up. Good grief, what were they thinking? Here's how to get rid of that.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Open a new explorer, click on Tools / Folder Options / File Types. Scroll to HTM, select it, click Advanced, make sure Edit is selected, and click Edit. To make Visual Studio 2008 the editor, paste this in the 2nd entry field (Application used to perform action)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" "%1"&lt;/pre&gt;&lt;br /&gt;Click all the right buttons to confirm and get out, and test it.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-619065709299010088?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/619065709299010088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/want-to-get-rid-of-word-as-default-html.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/619065709299010088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/619065709299010088'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/want-to-get-rid-of-word-as-default-html.html' title='Want to get rid of Word as default .htm(l) editor'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-6630995368082213455</id><published>2009-07-14T12:50:00.002+02:00</published><updated>2009-07-14T12:57:20.232+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cache'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Chrome'/><title type='text'>What's in Google Chrome cache?</title><content type='html'>I'm trying to get my bookmarks from spurl.net while it seems to be up (albeit VERY slow), and the bookmarks.htm download broke with the html downloaded, but not the images. I wanted to see if I can grab it from the cache.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I found a nifty little tool, &lt;a href="http://www.nirsoft.net/utils/chrome_cache_view.html"&gt;ChromeCacheView&lt;/a&gt;, that you can use to view what is in the cache, if you ever needed to. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-6630995368082213455?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/6630995368082213455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/whats-in-google-chrome-cache.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/6630995368082213455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/6630995368082213455'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/whats-in-google-chrome-cache.html' title='What&apos;s in Google Chrome cache?'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-8062106093239240042</id><published>2009-07-09T03:53:00.003+02:00</published><updated>2009-07-09T04:00:47.846+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Online Bookmarks'/><category scheme='http://www.blogger.com/atom/ns#' term='spurl.net'/><title type='text'>Spurl.net is dead, or is it?</title><content type='html'>Spurl.net is (or should I say &lt;i&gt;was&lt;/i&gt;?) an online bookmark service, like &lt;i&gt;del.icio.us&lt;/i&gt;. I've added quite a lot of bookmarks there, and it seems they might all be gone, as I've been unable to access the service for the past week or so. I've sent them emails, even that does not seem to get delivered.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If anyone from spurl.net reads this, &lt;i&gt;&lt;b&gt;I would like my bookmarks back!&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think I'm going to go with Google Bookmarks for now, they have the best chance of surviving IMO.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-8062106093239240042?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/8062106093239240042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/spurlnet-is-dead-or-is-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8062106093239240042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/8062106093239240042'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/spurlnet-is-dead-or-is-it.html' title='Spurl.net is dead, or is it?'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3774767410346387899</id><published>2009-07-07T22:03:00.002+02:00</published><updated>2009-07-08T01:27:48.020+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mythbuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Media Centre'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='mythtv'/><category scheme='http://www.blogger.com/atom/ns#' term='hauppauge'/><title type='text'>mythbuntu + Hauppauge PVR150 = win-win</title><content type='html'>I got a Hauppauge PVR 150 card today, installed it in place of the Genie Wonder Pro, configured it and the remote in the Muthbuntu Control Center, and it works out of the box! No editing of config files, no manual tricks, nada, niks!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is brilliant when software and hardware gets this this level, especially on Linux.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Big thumbs up to the mythbuntu and mythtv guys, you rock!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3774767410346387899?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3774767410346387899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/mythbuntu-hauppauge-pvr150-win-win.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3774767410346387899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3774767410346387899'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/mythbuntu-hauppauge-pvr150-win-win.html' title='mythbuntu + Hauppauge PVR150 = win-win'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-259374505932057629</id><published>2009-07-05T00:08:00.003+02:00</published><updated>2009-07-08T01:28:03.384+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knoppmyth'/><category scheme='http://www.blogger.com/atom/ns#' term='mythbuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Media Centre'/><category scheme='http://www.blogger.com/atom/ns#' term='genie wonder pro'/><category scheme='http://www.blogger.com/atom/ns#' term='bttv'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='mythtv'/><category scheme='http://www.blogger.com/atom/ns#' term='btaudio'/><title type='text'>mythbuntu 9.04 - 1, KnoppMyth 5.5 - 0</title><content type='html'>I dug an old Athlon 700 out of retirement, and fitted my Genie Wonder Pro TV card in it to see if I can get it working as a media centre.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First I tried KnoppMyth 5.5. Setup worked fine (after I replaced the faulty pc133 memory), but I could not get it to Watch TV, no matter what I tried. After a day or so of struggling, I gave up.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next was mythbuntu 9.04. Setup went without a hitch, and I could Watch TV!!!! Then the struggle to get the Genie Wonder Pro audio working started. In case you have the same problem - just connect the audio line from the card to your motherboard's aux input and forget about getting &lt;i&gt;btaudio &lt;/i&gt;working... I've set up some xmltv schedules, and have some recordings scheduled for the next few days. The machine only has 384mb RAM, so it swaps a bit between certain ops like MythTV setup and MythTV frontend. I'm looking to upgrade to an Intel Atom or such and a proper capture card like a Hauppage 150 soon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All in all, I have hope for a Linux Media Centre after mythbuntu, they've done a good job in my opinion.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-259374505932057629?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/259374505932057629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/mythbuntu-904-1-knoppmyth-55-0.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/259374505932057629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/259374505932057629'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/mythbuntu-904-1-knoppmyth-55-0.html' title='mythbuntu 9.04 - 1, KnoppMyth 5.5 - 0'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-4552934136849858959</id><published>2009-07-03T10:33:00.003+02:00</published><updated>2009-07-03T10:40:42.464+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>What SQL is currently executing?</title><content type='html'>Have you wondered what SQL is currently executing on SQL Server, or which statement in a stored procedure is currently executing? Below is a script to create the &lt;i&gt;sp_currentsql&lt;/i&gt; stored procedure.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I got this contribution from a colleague, thanks J.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;br /&gt;CREATE  PROCEDURE [dbo].[sp_currentsql]&lt;br /&gt;AS&lt;br /&gt;&lt;br /&gt;SET NOCOUNT ON&lt;br /&gt;&lt;br /&gt;CREATE TABLE #SP_WHO2 (&lt;br /&gt; SPID  SMALLINT,&lt;br /&gt; Status  NCHAR(30),&lt;br /&gt; Login  NCHAR(128),&lt;br /&gt; HostName  NCHAR(128),&lt;br /&gt; BlkBy  CHAR(5),&lt;br /&gt; DBName  NCHAR(128),&lt;br /&gt; Command  NCHAR(16),&lt;br /&gt; CPUTime  INTEGER,&lt;br /&gt; DiskIO  INTEGER,&lt;br /&gt; LastBatch  VARCHAR(20),&lt;br /&gt; ProgramName NCHAR(128),&lt;br /&gt; SPID_2 SMALLINT,&lt;br /&gt; RequestID int&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;INSERT INTO #SP_WHO2&lt;br /&gt;exec sp_who2 active&lt;br /&gt;&lt;br /&gt;DECLARE @SPID int&lt;br /&gt;DECLARE @sql_handle binary(20), @handle_found bit&lt;br /&gt;DECLARE @stmt_start int, @stmt_end int&lt;br /&gt;DECLARE @line varchar(8000), @wait_str varchar(8)&lt;br /&gt;&lt;br /&gt;DECLARE curSPID CURSOR FOR&lt;br /&gt; SELECT DISTINCT SPID&lt;br /&gt; FROM #SP_WHO2&lt;br /&gt; WHERE Status != 'BACKGROUND' AND HostName != '  .' AND SPID != @@spid&lt;br /&gt;OPEN curSPID&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FETCH NEXT FROM curSPID INTO @SPID&lt;br /&gt;&lt;br /&gt;WHILE @@FETCH_STATUS = 0 BEGIN&lt;br /&gt; SELECT @sql_handle = sql_handle,&lt;br /&gt; @stmt_start = stmt_start/2,&lt;br /&gt; @stmt_end = CASE WHEN stmt_end = -1 THEN -1 ELSE stmt_end/2 END&lt;br /&gt; FROM master.dbo.sysprocesses&lt;br /&gt; WHERE spid = @SPID&lt;br /&gt; AND ecid = 0&lt;br /&gt;&lt;br /&gt; SELECT  @line=SUBSTRING( text,&lt;br /&gt;    COALESCE(NULLIF(@stmt_start, 0), 1),&lt;br /&gt;    CASE @stmt_end&lt;br /&gt;     WHEN -1&lt;br /&gt;      THEN DATALENGTH(text)&lt;br /&gt;     ELSE&lt;br /&gt;      (@stmt_end - @stmt_start)&lt;br /&gt;     END&lt;br /&gt;   )&lt;br /&gt;  FROM ::fn_get_sql(@sql_handle)&lt;br /&gt; SELECT @SPID SPID, @line SQL&lt;br /&gt;&lt;br /&gt; FETCH NEXT FROM curSPID INTO @SPID&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;CLOSE curSPID&lt;br /&gt;DEALLOCATE curSPID&lt;br /&gt;&lt;br /&gt;DROP TABLE #SP_WHO2&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-4552934136849858959?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/4552934136849858959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/what-sql-is-currently-executing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4552934136849858959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4552934136849858959'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/what-sql-is-currently-executing.html' title='What SQL is currently executing?'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-5768763829860250009</id><published>2009-07-02T08:57:00.004+02:00</published><updated>2009-07-02T09:02:06.334+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP'/><title type='text'>Windows XP refuses to hibernate</title><content type='html'>For a while now my laptop has refused to hibernate. One out of every 20 times it would hibernate, otherwise it would black the screen briefly and continue running, without any error messages. My machine takes quite a few minutes to boot up, due to all the stuff installed, so this was becoming quite annoying, as hibernate/resume is so fast compared to shutdown and boot.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I digged around the net, and found that MS has a patch for this very problem. I installed it, and now my machine hibernates for days on end without any problems.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To download the patch, go to &lt;a href="http://support.microsoft.com/kb/909095"&gt;http://support.microsoft.com/kb/909095&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-5768763829860250009?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/5768763829860250009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/windows-xp-refuses-to-hibernate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5768763829860250009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5768763829860250009'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/07/windows-xp-refuses-to-hibernate.html' title='Windows XP refuses to hibernate'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-782262934072183458</id><published>2009-06-29T15:59:00.003+02:00</published><updated>2009-06-29T16:08:51.448+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sony TSL 300C'/><category scheme='http://www.blogger.com/atom/ns#' term='Illegal Cassette Config'/><title type='text'>Sony TSL300C Illegal Cassette Config</title><content type='html'>One of the tapes in our tapeset failed, and a new one was labelled. This is where the trouble started. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As soon as the magazine is inserted into the drive, it scans all the tapes. Every time it gets to the position where the new tape is located, it ejects the magazine with a "&lt;b&gt;&lt;i&gt;Illegal Cassette Config&lt;/i&gt;&lt;/b&gt;" error together with flashing indicator for the position where the tape was located. I searched on Google, and could not find anything. That usually spells trouble. I grabbed an old tape, as well as a new one and a cleaning tape.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After inserting the new (unlabelled as in sticker on the tape) tape into the drive, it loaded. Then we had a look at the other new tape we tried to load, and realised that we had used the bigger sticker label instead of the narrow one, and it covered some indentations obviously necessary for the tape to be detected. After replacing the label with the correct one, all was well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A huge relief when I was prepared for a good couple of hours...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-782262934072183458?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/782262934072183458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/sony-tsl300c-illegal-cassette-config.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/782262934072183458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/782262934072183458'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/sony-tsl300c-illegal-cassette-config.html' title='Sony TSL300C Illegal Cassette Config'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-7932608901385315037</id><published>2009-06-25T13:58:00.003+02:00</published><updated>2009-06-25T14:12:59.975+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CLR Procedure'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Creating a SQL Server CLR Procedure</title><content type='html'>I ventured into unchartered territory (for myself) and created a SQL Server CLR Procedure today. It is actually very easy.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First, create a class library project in VS 2005/2008. Create a class with a static method that will be the CLR Procedure&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;using System.Data.SqlClient;&lt;br /&gt;using Microsoft.SqlServer.Server;&lt;br /&gt;&lt;br /&gt;namespace SQLCLRTest&lt;br /&gt;{&lt;br /&gt;public class SQLCLRDemo&lt;br /&gt;{&lt;br /&gt;[Microsoft.SqlServer.Server.SqlProcedure]&lt;br /&gt;public static void HelloWorld()&lt;br /&gt;{&lt;br /&gt;   using (SqlConnection conn =&lt;br /&gt;        new SqlConnection("context connection = true"))&lt;br /&gt;   {&lt;br /&gt;       conn.Open();&lt;br /&gt;       SqlCommand cmd = new SqlCommand();&lt;br /&gt;       cmd.Connection = conn;&lt;br /&gt;       cmd.CommandText = "SELECT 'Hello World!' AS Greeting";&lt;br /&gt;       SqlContext.Pipe.ExecuteAndSend(cmd);&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;Then you have to register the assembly in SQL Server&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;CREATE ASSEMBLY SQLCLRTest FROM 'C:\work\sandbox\SQLCLRTest\SQLCLRTest\bin\Debug\SQLCLRTest.dll'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;Then you create the procedure&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;CREATE PROCEDURE HelloWorld&lt;br /&gt;AS EXTERNAL NAME SQLCLRTest.[SQLCLRTest.SQLCLRDemo].HelloWorld&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;You might have to enable CLR execution in SQL2005&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;EXEC sp_configure 'clr enabled', 1;&lt;br /&gt;RECONFIGURE WITH OVERRIDE;&lt;br /&gt;GO&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Then you can appreciate the fruits of your labour&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;exec HelloWorld&lt;br /&gt;&lt;br /&gt;Greeting&lt;br /&gt;------------&lt;br /&gt;Hello World!&lt;br /&gt;&lt;br /&gt;(1 row(s) affected)&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Now that was easy!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;MSDN reference &lt;a href="http://msdn.microsoft.com/en-us/library/ms131094.aspx"&gt;here&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Error when creating CLR procedure &lt;a href="http://www.eggheadcafe.com/PrintSearchContent.asp?LINKID=1068"&gt;here&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Enabling CLR in SQL Server &lt;a href="http://www.c-sharpcorner.com/UploadFile/dsdaf/CLRSQL20507292006084224AM/CLRSQL205.aspx?ArticleID=9af0b69a-5a10-44c8-8578-aa8c6f55c448"&gt;here&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-7932608901385315037?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/7932608901385315037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/creating-sql-server-clr-procedure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/7932608901385315037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/7932608901385315037'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/creating-sql-server-clr-procedure.html' title='Creating a SQL Server CLR Procedure'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-3097611685930063542</id><published>2009-06-25T13:49:00.002+02:00</published><updated>2009-06-25T13:58:05.986+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net Windows Authentication'/><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>How to connect to SQL Server, VS TFS, etc using Windows Authentication when computer is not on Active Directory Domain</title><content type='html'>I often move around between different clients, and never join their domains, simply because my machine would get cluttered with policies and logon scripts, so I've encountered this problem before.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To access a fileshare, you just map using &lt;pre&gt;net use \\machinename\ipc$ /user:domain\user&lt;/pre&gt;This does not work for connecting to SQL Server with Windows Authentication though. I found this neat little trick to accomplish this:&lt;br /&gt;&lt;pre&gt;runas.exe /netonly /user:&lt;domain\user&gt; "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\ide\SqlWb.exe"&lt;br /&gt;&lt;/domain\user&gt;&lt;/pre&gt;This runs Management Studio as the domain user, which can then authenticate to SQL Server using Windows Authentication.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The original article can be found &lt;a href="http://blog.stevienova.com/2008/01/14/how-to-connect-to-sql-server-vs-tfs-etc-using-windows-authentication-when-computer-is-not-on-active-directory-domain-xp-and-vista/"&gt;here&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-3097611685930063542?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/3097611685930063542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/how-to-connect-to-sql-server-vs-tfs-etc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3097611685930063542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/3097611685930063542'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/how-to-connect-to-sql-server-vs-tfs-etc.html' title='How to connect to SQL Server, VS TFS, etc using Windows Authentication when computer is not on Active Directory Domain'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-5154823470542167668</id><published>2009-06-25T10:49:00.002+02:00</published><updated>2009-06-25T10:58:48.960+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net Windows Authentication'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net Security'/><title type='text'>ASP .Net Windows Authentication</title><content type='html'>If you use Windows Authentication, and the user is not allowed to access the specific page, a nasty 401.2 Access Denied error message will be displayed to the user. What if you want to display a friendly error message?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You would think that an entry in the &amp;lt;customErrors&gt; section would work? No, it does not.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To get to the solution: You have to define &lt;i&gt;Application_EndRequest&lt;/i&gt; in &lt;i&gt;Global.asax.cs&lt;/i&gt; that looks something like&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    protected void Application_EndRequest(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;        HttpContext context = HttpContext.Current;&lt;br /&gt;        if (context.Response.Status.Substring(0,3).Equals("401"))&lt;br /&gt;        {&lt;br /&gt;        context.Response.ClearContent();&lt;br /&gt;        context.Response.Write("&amp;lt;script language="javascript"&gt;" +&lt;br /&gt;                       "self.location='NotAllowed.aspx';&amp;lt;/script&gt;");&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Then you create the NotAllowed.aspx page to display a nice friendly message to the user.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can find more information &lt;a href="http://www.codeproject.com/KB/aspnet/Custon401Page.aspx" style="text-decoration: none;"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-5154823470542167668?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/5154823470542167668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/asp-net-windows-authentication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5154823470542167668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/5154823470542167668'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/asp-net-windows-authentication.html' title='ASP .Net Windows Authentication'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-2993853923657210131</id><published>2009-06-25T10:34:00.006+02:00</published><updated>2009-06-25T11:00:33.575+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP .Net Security'/><title type='text'>ASP.Net configure page-level security</title><content type='html'>Did you know that you can configure security on a page level instead of on a folder level, like the custom tool in Visual Studio does?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's how:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Outside the &lt;system.web&gt; section in the Web.config, add a location tag and configure the required security for the location.&lt;/system.web&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Example:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&amp;lt;location path="Default.aspx"&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&amp;lt;system.web&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;&amp;lt;authorization&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;&amp;lt;allow roles="Users"/&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;&amp;lt;deny users="*"/&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;&amp;lt;/authorization&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&amp;lt;/system.web&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&amp;lt;/location&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is all in the main Web.config file, so it does not require a folder per role with its own Web.config for which you want to secure pages, reducing the deployment complexity.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can specify a directory in the path attribute, which will then apply all settings to that directory. It seems that you can also have nested &amp;lt;location&gt; tags, so you can define a &amp;lt;location&gt; tag for a directory, and then define a &amp;lt;location&gt; tag for each page in the folder, each with its own settings. I think it is brilliant!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I found some details on the subject &lt;a href="http://www.asp101.com/articles/matt/securesite/default.asp"&gt;here&lt;/a&gt;. You can find the reference in the MSDN library &lt;a href="http://msdn.microsoft.com/en-us/library/b6x6shw7(VS.80).aspx"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-2993853923657210131?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/2993853923657210131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/aspnet-configure-page-level-security.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/2993853923657210131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/2993853923657210131'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/aspnet-configure-page-level-security.html' title='ASP.Net configure page-level security'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-860877744260531059</id><published>2009-06-23T16:10:00.002+02:00</published><updated>2009-06-23T16:14:56.788+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Media Centre'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Building a Linux MediaCentre</title><content type='html'>I'm currently toying with the idea of building a Linux MediaCentre to record and watch TV, as well as store and display photos, as my VCR is getting old.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;KnoppMyth (soon to be called LinHES) has drawn my attention, as it is already in version 6. The card I'll be using initially will be a Genie Wonder Pro that I have lying around. Are there any DVB-T (DTTV - soon to be launched in SA) cards available in SA already?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hopefully I'll install everything in the next couple of weeks.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-860877744260531059?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/860877744260531059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/building-linux-mediacentre.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/860877744260531059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/860877744260531059'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/building-linux-mediacentre.html' title='Building a Linux MediaCentre'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-2270910841836780274</id><published>2009-06-23T15:45:00.004+02:00</published><updated>2009-06-23T15:53:29.258+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><title type='text'>Perl upgrade on FreeBSD</title><content type='html'>Have you ever done a perl upgrade on FreeBSD, only to find that none of your installed ports that use perl work anymore? I recently had that shock, and found the following hint:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Execute &lt;b&gt;&lt;i&gt;perl-after-upgrade&lt;/i&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; after upgrading perl on FreeBSD, it will display all modules that needs to be updated. Then execute it again with the &lt;/span&gt;&lt;i&gt;-f&lt;/i&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; switch to actually make the required changes. &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Voila, everyone settle down again please!&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-2270910841836780274?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/2270910841836780274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/perl-upgrade-on-freebsd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/2270910841836780274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/2270910841836780274'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/perl-upgrade-on-freebsd.html' title='Perl upgrade on FreeBSD'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-2894616858792425905</id><published>2009-06-23T15:35:00.003+02:00</published><updated>2009-06-23T15:40:31.289+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flushmaster'/><category scheme='http://www.blogger.com/atom/ns#' term='Plumbing'/><title type='text'>Flushmaster not flushing</title><content type='html'>We have two Cobra Flushmaster flushvalves in our toilets at home, and recently the one refused to flush. I enquired as to pricing, and was shocked. A new one is about R2k. I spoke to the guys in the plumbing department at my local hardware store, and they suggested a seal kit at R200. I was quite scared of tackling this, as I could end up having to fork out R2k if I get it wrong...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It took about 1.5-2h to take it apart and replace the seals, taking care not to break anything in the process. I also cleaned gave it a thourough cleaning and lubed the moving parts with some wheel bearing grease. Imagine the relief when I put it all back together and it flushes like a new one. Now if I could get some goodies with the money saved...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-2894616858792425905?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/2894616858792425905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/flushmaster-not-flushing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/2894616858792425905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/2894616858792425905'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/flushmaster-not-flushing.html' title='Flushmaster not flushing'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-4299983976270417762</id><published>2009-06-23T15:24:00.002+02:00</published><updated>2009-06-23T15:33:32.200+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spatial'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Maps'/><title type='text'>SQL Server 2008 Spatial, Google MAPS API</title><content type='html'>At a recent TechDays event I was introduced to the spatial features in the latest version of SQL Server, 2008. Spatial apps has interested me for a while, but I never really got a chance to do anything, I suppose in a way due to the preceived complexity.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wondered what I could to with the new sptial features. A farmer on one of the forums I frequent recently suggested that the fellow forumites acquire rainmeteres and report daily rainfall figures, as rainfall often differs sunstantially between areas just a few km apart. Well I thought, why not write an application allowing users to register their geographical locations and record their rainfall, and display the data on a map?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is where Google Maps API comes in. It allows you to populate a map on your own website with your own objects. I was amazed at the amount of free custom controls available for the Google Maps API, and quickly put together the site.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can see the end result &lt;a href="http://www.dewet.org.za/fallingrain"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-4299983976270417762?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/4299983976270417762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/sql-server-2008-spatial-google-maps-api.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4299983976270417762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/4299983976270417762'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/sql-server-2008-spatial-google-maps-api.html' title='SQL Server 2008 Spatial, Google MAPS API'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-888248305643823617</id><published>2009-06-23T15:03:00.003+02:00</published><updated>2009-06-23T15:18:27.186+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TZ'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Mail'/><category scheme='http://www.blogger.com/atom/ns#' term='Timezone'/><category scheme='http://www.blogger.com/atom/ns#' term='FireFox'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Chrome'/><title type='text'>Javascript, Timezones and Google Mail</title><content type='html'>Google hosts the email for my domain, and I've always had an issue with the times of messages in the message list displaying incorrectly. I just ignored it for a while, but then it became too irritating to ignore anymore. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The correct time was displayed in IE, but not in FireFox and Google Chrome. Creating a test.html page containing a script tag with the instruction &lt;i&gt;&lt;b&gt;alert(new Date())&lt;/b&gt;&lt;/i&gt; showed the differences.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I browsed the Google Help forums for assistance, and the suggestions I found did not help. I found a thread that could be relevant (&lt;a href="http://www.google.com/support/forum/p/Google+Apps/thread?tid=68f2eb265a1e0d8b&amp;amp;hl=en"&gt;http://www.google.com/support/forum/p/Google+Apps/thread?tid=68f2eb265a1e0d8b&amp;amp;hl=en&lt;/a&gt;) and followed on the postings. After trying a couple of things, bkenelly suggested that I have a look for the TZ environment variable, as the Timezone setting (via double-clicking on the clock) was correct.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There was no TZ environment variable set under My Computer / Properties / Advanced / Environment variables, but executing the &lt;i&gt;SET&lt;/i&gt; command in a Command Prompt showed that TZ was defined as CAT2. This caused the mysterious 4h difference. After defining TZ to GMT-2 and restarting Chrome, the time was correct. Hooray!!!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-888248305643823617?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/888248305643823617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/javascript-timezones-and-google-mail.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/888248305643823617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/888248305643823617'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/javascript-timezones-and-google-mail.html' title='Javascript, Timezones and Google Mail'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085584185733587935.post-1037942154797269784</id><published>2009-06-23T13:47:00.002+02:00</published><updated>2009-06-25T11:18:21.582+02:00</updated><title type='text'>What is this all about?</title><content type='html'>When I was a little boy, I had a red knitted jacket that I used to live in, especially in winter. I was so fond of it, the workers on the farm called me Jasman, the Afrikaans for "Jacket Man", directly translated.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On this blog I intend to post about things I encounter in my daily life, from computer programming to toilet flushvalves to linux media center to motorcycle maintenance.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue'; font-size: 11px; white-space: pre; "&gt;&lt;span class="Apple-style-span"  style="color:#FFFFFF;"&gt;p4tuaqdehb&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085584185733587935-1037942154797269784?l=jasmanseblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasmanseblog.blogspot.com/feeds/1037942154797269784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/what-is-this-all-about.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1037942154797269784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085584185733587935/posts/default/1037942154797269784'/><link rel='alternate' type='text/html' href='http://jasmanseblog.blogspot.com/2009/06/what-is-this-all-about.html' title='What is this all about?'/><author><name>Nicki</name><uri>http://www.blogger.com/profile/10423984116883357942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
