<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.lybecker.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en" xml:base="http://www.lybecker.com/blog/wp-atom.php">
	<title type="text">Anders Lybeckers Weblog!</title>
	<subtitle type="text">My software development adventures…</subtitle>

	<updated>2012-01-07T14:09:55Z</updated>

	<link rel="alternate" type="text/html" href="http://www.lybecker.com/blog" />
	<id>http://www.lybecker.com/blog/feed/atom/</id>
	

	<generator uri="http://wordpress.org/" version="3.3.1">WordPress</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.lybecker.com/AndersLybecker" /><feedburner:info uri="anderslybecker" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>AndersLybecker</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Memory Management in .Net]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/FC7WBBkbMkk/" />
		<id>http://www.lybecker.com/blog/?p=988</id>
		<updated>2012-01-02T12:34:34Z</updated>
		<published>2011-12-23T14:48:48Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Code fun" /><category scheme="http://www.lybecker.com/blog" term="dotNet" />		<summary type="html"><![CDATA[I’ve written about Garbage Collection in the .Net Framework in version 2.0 and 3.0 a couple of years ago, but now Red Gate has created a simple and easy to understand funny comic &#8220;Memory Management in .Net&#8221; Download the full one-page comic. The .Net Framework 4.0 provides the new default behavior of background garbage collection. [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2007/04/03/garbage-collection-flavors/' rel='bookmark' title='Garbage Collection Flavors'>Garbage Collection Flavors</a></li>
<li><a href='http://www.lybecker.com/blog/2008/03/18/32-bit-wcf-trouble/' rel='bookmark' title='32-bit WCF memory allocation trouble'>32-bit WCF memory allocation trouble</a></li>
<li><a href='http://www.lybecker.com/blog/2007/02/21/sql-server-open-world/' rel='bookmark' title='SQL Server Open World'>SQL Server Open World</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2011/12/23/memorymanagementindotnet/">&lt;p&gt;&lt;a href="http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/learning-memory-management/resources/GCPoster.pdf"&gt;&lt;/a&gt;I’ve written about &lt;a title="Garbage Collection flavors in .Net 2.0 and 3.0" href="/blog/2007/04/03/garbage-collection-flavors/"&gt;Garbage Collection in the .Net Framework in version 2.0 and 3.0 a couple of years ago&lt;/a&gt;, but now Red Gate has created a simple and easy to understand funny comic &amp;#8220;Memory Management in .Net&amp;#8221;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/learning-memory-management/resources/GCPoster.pdf"&gt;&lt;img class="alignnone size-full wp-image-997" title="Memory Management in .Net comic" src="http://www.lybecker.com/blog/wp-content/uploads/MemoryManagementInDotNet.png" alt="Memory Management in .Net comic" width="550" height="239" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title="Full Memory Management in .Net comic" href="http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/learning-memory-management/resources/GCPoster.pdf"&gt;Download the full one-page comic&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The .Net Framework 4.0 provides the new default behavior of &lt;a title="Background Garbage Collection on MSDN" href="http://msdn.microsoft.com/en-us/library/ee787088.aspx#background_garbage_collection"&gt;background garbage collection&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/04/03/garbage-collection-flavors/' rel='bookmark' title='Garbage Collection Flavors'&gt;Garbage Collection Flavors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2008/03/18/32-bit-wcf-trouble/' rel='bookmark' title='32-bit WCF memory allocation trouble'&gt;32-bit WCF memory allocation trouble&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/02/21/sql-server-open-world/' rel='bookmark' title='SQL Server Open World'&gt;SQL Server Open World&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/FC7WBBkbMkk" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2011/12/23/memorymanagementindotnet/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2011/12/23/memorymanagementindotnet/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2011/12/23/memorymanagementindotnet/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[An unfortunate travel story]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/Rz7m-oVt-Sg/" />
		<id>http://www.lybecker.com/blog/?p=966</id>
		<updated>2011-11-21T08:15:06Z</updated>
		<published>2011-11-21T06:21:20Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Announcement" />		<summary type="html"><![CDATA[The last two and a half weeks have been interesting for me &#8211; Interesting in the “what doesn&#8217;t kill you makes you stronger” kind of way. Here is my challenging story… I was on a leisure trip to Rome, Italy to see the sights. A beautiful city with many cites like the Vatican, the Colosseum [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/03/24/in-flight-entertainment-running-on-windows/' rel='bookmark' title='In-flight entertainment running on Windows'>In-flight entertainment running on Windows</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2011/11/21/an-unfortunate-travel-story/">&lt;p&gt;The last two and a half weeks have been interesting for me &amp;#8211; Interesting in the “what doesn&amp;#8217;t kill you makes you stronger” kind of way. Here is my challenging story…&lt;/p&gt;
&lt;p&gt;I was on a leisure trip to Rome, Italy to see the sights. A beautiful city with many cites like the Vatican, the Colosseum and the Spanish Steps. I was supposed to flight directly to Manila, Philippines from Rome to assist a customer. The customer was finalizing my travel plans while I was in Rome. Unfortunately I lost my mobile phone in Rome which made it rather difficult to coordinate the travel plans, but after 3 or 4 different travel itineraries the flight was booked from Rome to Italy via Seoul, Korea.&lt;/p&gt;
&lt;p&gt;I arrived in Manila through Seoul only to find out the hotel was not confirmed. To make things worse, they were fully booked and so were all the other hotels in the Makati area in Metro Manila. After an hours searching I managed to find a hotel room for the night, but I had to find another hotel for the next day.&lt;/p&gt;
&lt;p&gt;Apparently available rooms where in short supply in Makati area as I had to change hotel the next five days. I could not book a consecutive reservation at the same hotel. I slept in rooms ranging from extravagant 150 m2 suites to 15 m2 crummy hotel room with ants in my bed. It was tiring, but the weekend retreat to lovely Philippine island of Bohol the following weekend made me see everything in a brighter light.&lt;/p&gt;
&lt;p&gt;&lt;img class="size-medium wp-image-971 alignright" title="Philippines Tricycle" src="http://www.lybecker.com/blog/wp-content/uploads/Philippines-Tricycle-300x224.jpg" alt="" width="300" height="224" /&gt;&lt;img class="size-medium wp-image-972 alignright" title="Phillippines Jeepney" src="http://www.lybecker.com/blog/wp-content/uploads/Phillippines-Jeepney-300x225.jpg" alt="" width="300" height="225" /&gt;&lt;img class="size-medium wp-image-969 alignleft" title="Alona Beach at Bohol Island, Philippines" src="http://www.lybecker.com/blog/wp-content/uploads/bohol-alona-beach-300x198.jpg" alt="" width="300" height="198" /&gt;&lt;img class="size-medium wp-image-968 alignleft" title="Chocolate Hills at Bohol Island, Philippines" src="http://www.lybecker.com/blog/wp-content/uploads/Bohol-Chocolate-Hills-300x283.jpg" alt="" width="300" height="283" /&gt;Friday I had to catch the flight to Bohol, so I took a taxi to the airport. Unfortunately the taxi was barely able to carry its own weight up the Skyway ramp and half way it gave up and broke down. I was now stuck in the middle of Manila with no other available taxi in sight and I was now late and might not make the flight to the lovely island of Bohol. I tried to persuade a tricycle to drive me to the airport, but they were not allowed to enter the airport area – then I tried to hire a Jeepney, but the driver was overly greedy and my attempt to barging failed. Luckily a taxi appeared from nowhere and I was on my way to the airport.&lt;/p&gt;
&lt;p&gt;I arrived 25 minutes after the check-in was closed and 5 minutes before departure. I was immediately redirected to the supervisor, who luckily let me check-in – I rushed through the security check and directly onto the waiting flight.&lt;/p&gt;
&lt;p&gt;It was a great weekend retreat to Bohol, where I say the &lt;a title="Description of Tarsier on Wikipedia" href="http://en.wikipedia.org/wiki/Tarsier"&gt;Tarsier&lt;/a&gt;, &lt;a title="Chocolate Hills on Wikipedia" href="http://en.wikipedia.org/wiki/Chocolate_Hills"&gt;Chocolate Hills&lt;/a&gt; and snorkeled at the coral reef where I saw clown fish and a turtle.&lt;/p&gt;
&lt;p&gt;Back in Manila and an additional week work it was Friday and time to travel back home to Copenhagen, Denmark. Due to the confusion of the travel itineraries I apparently was supposed to travel home the day before, Thursday and not Friday. I was too late, as it was already Friday. So I had to find another flight from Manila to Copenhagen the same day… With some help from the very helpful Filipino Lee, I managed to get a flight Friday night with Thai Airways through Bangkok, Thailand.&lt;/p&gt;
&lt;p&gt;It was a long trip home as Thai Airways does not have inflight entertainment systems in any of their aircrafts – I thought it was standard in this day and age.&lt;/p&gt;
&lt;p&gt;I’m now home – still without a mobile phone. Fortunately I can already look back at this unfortunate trip a laugh. I enjoyed the trip both to Rome and the Philippines even though there where so many things working against me.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/03/24/in-flight-entertainment-running-on-windows/' rel='bookmark' title='In-flight entertainment running on Windows'&gt;In-flight entertainment running on Windows&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/Rz7m-oVt-Sg" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2011/11/21/an-unfortunate-travel-story/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2011/11/21/an-unfortunate-travel-story/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2011/11/21/an-unfortunate-travel-story/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Using Lucene.Net with Microsoft Azure]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/7KIqfBjUyxM/" />
		<id>http://www.lybecker.com/blog/?p=867</id>
		<updated>2011-01-16T16:21:04Z</updated>
		<published>2011-01-16T16:17:24Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Lucene" /><category scheme="http://www.lybecker.com/blog" term="Windows Azure" /><category scheme="http://www.lybecker.com/blog" term="Azure" /><category scheme="http://www.lybecker.com/blog" term="Blob Storage" /><category scheme="http://www.lybecker.com/blog" term="CloudDrive" /><category scheme="http://www.lybecker.com/blog" term="Lucene.Net" />		<summary type="html"><![CDATA[Lucene indexes are usually stored on the file system and preferably on the local file system. In Azure there are additional types of storage with different capabilities, each with distinct benefits and drawbacks. The options for storing Lucene indexes in Azure are: Azure CloudDrive Azure Blob Storage Azure CloudDrive CloudDrive is the obvious solutions, as [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/06/30/meeting-the-sql-azure-development-team/' rel='bookmark' title='Meeting the SQL Azure Development Team'>Meeting the SQL Azure Development Team</a></li>
<li><a href='http://www.lybecker.com/blog/2011/01/10/cnug-lucene-net-presentation/' rel='bookmark' title='CNUG Lucene.Net presentation'>CNUG Lucene.Net presentation</a></li>
<li><a href='http://www.lybecker.com/blog/2010/10/27/anug-solrlucene-presentation/' rel='bookmark' title='ANUG Solr/Lucene presentation'>ANUG Solr/Lucene presentation</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2011/01/16/using-lucene-net-with-microsoft-azure/">&lt;p&gt;&lt;img class="alignright size-thumbnail wp-image-920" title="azure_logo" src="http://www.lybecker.com/blog/wp-content/uploads/azure_logo-150x74.png" alt="" width="150" height="74" /&gt;Lucene indexes are usually stored on the file system and preferably on the local file system. In Azure there are additional types of storage with different capabilities, each with distinct benefits and drawbacks. The options for storing Lucene indexes in Azure are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Azure CloudDrive&lt;/li&gt;
&lt;li&gt;Azure Blob Storage&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Azure CloudDrive&lt;/h3&gt;
&lt;p&gt;CloudDrive is the obvious solutions, as it is comparable to on premise file systems with mountable virtual hard drives (VHDs). CloudDrive is however not the optimal choice, as CloudDrive impose notable limitations. The most significant limitation is; only one web role, worker role or VM role can mount the CloudDrive at a time with read/write access. It is possible to mount multiple read-only snapshots of a CloudDrive, but you have to manage creation of new snapshots yourself depending on acceptable staleness of the Lucene indexes.&lt;/p&gt;
&lt;h3&gt;Azure Blob Storage&lt;/h3&gt;
&lt;p&gt;The alternative Lucene index storage solution is Blob Storage. Luckily a Lucene directory (Lucene index storage) implementation for Azure Blob Storage exists in the &lt;a title="Azure library for Lucene.Net home on MSDN Code Gallery" href="http://code.msdn.microsoft.com/AzureDirectory"&gt;Azure library for Lucene.Net&lt;/a&gt;. It is called AzureDirectory and allows any role to modify the index, but only one role at a time. Furthermore each Lucene segment (See Lucene Index Segments) is stored in separate blobs, therefore utilizing many blobs at the same time. This allows the implementation to cache each segment locally and retrieve the blob from Blob Storage only when new segments are created. Consequently compound file format should not be used and optimization of the Lucene index is discouraged.&lt;/p&gt;
&lt;h4&gt;Code sample&lt;/h4&gt;
&lt;p&gt;Getting Lucene.Net up and running is simple, and using it with Azure library for Lucene.Net requires only the Lucene directory to be changes as highlighted below in Lucene index and search example. Most of it is Azure specific configuration pluming.&lt;/p&gt;
&lt;pre class="brush: csharp; highlight: [3,4,5,6,8,9,11,13,14,15]; title: ; notranslate"&gt;
Lucene.Net.Util.Version version = Lucene.Net.Util.Version.LUCENE_29;

CloudStorageAccount.SetConfigurationSettingPublisher(
    (configName, configSetter) =&amp;gt;
        configSetter(RoleEnvironment
        .GetConfigurationSettingValue(configName)));

var cloudAccount = CloudStorageAccount
    .FromConfigurationSetting(&amp;quot;LuceneBlobStorage&amp;quot;);

var cacheDirectory = new RAMDirectory();

var indexName = &amp;quot;MyLuceneIndex&amp;quot;;
var azureDirectory =
    new AzureDirectory(cloudAccount, indexName, cacheDirectory);

var analyzer = new StandardAnalyzer(version);

// Add content to the index
var indexWriter = new IndexWriter(azureDirectory, analyzer,
    IndexWriter.MaxFieldLength.UNLIMITED);
indexWriter.SetUseCompoundFile(false);

foreach (var document in CreateDocuments())
{
    indexWriter.AddDocument(document);
}

indexWriter.Commit();
indexWriter.Close();

// Search for the content
var parser = new QueryParser(version, &amp;quot;text&amp;quot;, analyzer);
Query q = parser.Parse(&amp;quot;azure&amp;quot;);

var searcher = new IndexSearcher(azureDirectory, true);

TopDocs hits = searcher.Search(q, null, 5, Sort.RELEVANCE);

foreach (ScoreDoc match in hits.scoreDocs)
{
    Document doc = searcher.Doc(match.doc);

    var id = doc.Get(&amp;quot;id&amp;quot;);
    var text = doc.Get(&amp;quot;text&amp;quot;);
}
searcher.Close();
&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/AzureLuceneIndex.zip"&gt;Download the reference example&lt;/a&gt; which uses Azure SDK 1.3 and Lucene.Net 2.9 in a console application connecting either to Development Fabric or your Blob Storage account.&lt;/p&gt;
&lt;h3&gt;Lucene Index Segments (simplified)&lt;/h3&gt;
&lt;p&gt;Segments are the essential building  block in Lucene. A Lucene index  consists of one or more segments, each a  standalone index. Segments are  immutable and created when an  IndexWriter flushes. Deletes or updates  to an existing segment are  therefore not removed stored in the original  segment, but marked as  deleted, and the new documents are stored in a  new segment.&lt;/p&gt;
&lt;p&gt;Optimizing an index reduces the number of segments, by creating a new segment with all the content and deleting the old ones.&lt;/p&gt;
&lt;h3&gt;Azure library for Lucene.Net facts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;It is licensed under Ms-PL, so you do pretty much whatever you want to do with the code.&lt;/li&gt;
&lt;li&gt;Based on Block Blobs (optimized for streaming) which is in tune with Lucene’s incremental indexing architecture (immutable segments) and the caching features of the AzureDirectory voids the need for random read/write of the Blob Storage.&lt;/li&gt;
&lt;li&gt;Caches index segments locally in any Lucene directory (e.g. RAMDirectory) and by default in the volatile Local Storage.&lt;/li&gt;
&lt;li&gt;Calling Optimize recreates the entire blob, because all Lucene segment combined into one segment. Consider not optimizing.&lt;/li&gt;
&lt;li&gt;Do not use Lucene compound files, as index changes will recreate the entire blob. Also this stores the entire index in one blob (+metadata blobs).&lt;/li&gt;
&lt;li&gt;Do use a &lt;a title="Azure Virtual Machine sizes" href="http://msdn.microsoft.com/en-us/library/ee814754.aspx"&gt;VM role size (Small, Medium, Large or ExtraLarge)&lt;/a&gt; where the Local Resource size is larger than the Lucene index, as the Lucene segments are cached by default in Local Resource storage.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Azure CloudDrive facts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Only Fixed Size VHDs are supported.&lt;/li&gt;
&lt;li&gt;Volatile Local Resources can be used to cache VHD content&lt;/li&gt;
&lt;li&gt;Based on Page Blobs (optimized for random read/write).&lt;/li&gt;
&lt;li&gt;Stores the entire VHS in one Page Blob and is therefore restricted to the Page Blob maximum limit of 1 TByte.&lt;/li&gt;
&lt;li&gt;A role can mount up to 16 drives.&lt;/li&gt;
&lt;li&gt;A CloudDrive can only be mounted to a single VM instance at a time for read/write access.&lt;/li&gt;
&lt;li&gt;Snapshot CloudDrives are read-only and can be mounted as read-only drives by multiple different roles at the same time.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Additional Azure references&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Article on MSDN" href="http://msdn.microsoft.com/en-us/library/ee691964.aspx"&gt;Understanding Block Blobs and Page Blobs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/windowsazurestorage/archive/2010/04/11/using-windows-azure-page-blobs-and-how-to-efficiently-upload-and-download-page-blobs.aspx"&gt;Using Windows Azure Page Blobs and How to Efficiently Upload and Download Page Blobs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/windowsazurestorage/archive/2010/03/29/windows-azure-drive-demo-at-mix-2010.aspx"&gt;Windows Azure CloudDrive Demo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/06/30/meeting-the-sql-azure-development-team/' rel='bookmark' title='Meeting the SQL Azure Development Team'&gt;Meeting the SQL Azure Development Team&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2011/01/10/cnug-lucene-net-presentation/' rel='bookmark' title='CNUG Lucene.Net presentation'&gt;CNUG Lucene.Net presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/10/27/anug-solrlucene-presentation/' rel='bookmark' title='ANUG Solr/Lucene presentation'&gt;ANUG Solr/Lucene presentation&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/7KIqfBjUyxM" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2011/01/16/using-lucene-net-with-microsoft-azure/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2011/01/16/using-lucene-net-with-microsoft-azure/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2011/01/16/using-lucene-net-with-microsoft-azure/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[CNUG Lucene.Net presentation]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/HqxHXpiwdFI/" />
		<id>http://www.lybecker.com/blog/?p=926</id>
		<updated>2011-01-10T19:25:42Z</updated>
		<published>2011-01-10T19:21:26Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Lucene" /><category scheme="http://www.lybecker.com/blog" term="CNUG" /><category scheme="http://www.lybecker.com/blog" term="Lucene.Net" /><category scheme="http://www.lybecker.com/blog" term="Presentation" />		<summary type="html"><![CDATA[I have just held another presentation about Lucene.Net, this time in Copenhagen .Net user group. I hope everyone enjoyed the presentation and walked away with newfound knowledge how to implement full text search into their applications. I love the presentations, like this one, where everyone participates in the discussion. It makes the experience so much [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/10/27/anug-solrlucene-presentation/' rel='bookmark' title='ANUG Solr/Lucene presentation'>ANUG Solr/Lucene presentation</a></li>
<li><a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'>Miracle Open World 2010 Lucene Presentation</a></li>
<li><a href='http://www.lybecker.com/blog/2010/04/04/speaking-about-lucene-at-miracle-open-world-2010/' rel='bookmark' title='Speaking about Lucene at Miracle Open World 2010'>Speaking about Lucene at Miracle Open World 2010</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2011/01/10/cnug-lucene-net-presentation/">&lt;p&gt;I have just held another presentation about Lucene.Net, this time in &lt;a title="Copenhagen .NET User Group homepage" href="http://cnug.dk/"&gt;Copenhagen .Net user group&lt;/a&gt;. I hope everyone enjoyed the presentation and walked away with newfound knowledge how to implement full text search into their applications.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.manning.com/hatcher3/"&gt;&lt;img class="alignright size-full wp-image-927" title="Lucene In Action" src="http://www.lybecker.com/blog/wp-content/uploads/LuceneInAction.jpg" alt="" width="240" height="240" /&gt;&lt;/a&gt;I love the presentations, like this one, where everyone participates in the discussion. It makes the experience so much enjoyable and everyone benefits of the collective knowledge sharing.&lt;/p&gt;
&lt;p&gt;The presentation and code samples can be downloaded below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Presentation (&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/Apache-Lucene-CNUG.pdf"&gt;pdf&lt;/a&gt; | &lt;a href="../wp-content/uploads/Apache-Lucene-CNUG.pptx"&gt;pptx&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt; &lt;a href="http://www.lybecker.com/blog/wp-content/uploads/CnugLucenePlayground.zip"&gt;Code samples (Visual Studio 2010)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I recommend the book &lt;a href="http://www.manning.com/hatcher3/"&gt;&amp;#8220;Lucene in Action&amp;#8221; by Eric Hatcher&lt;/a&gt;. The samples in this book are all in Java, but they apply equally to Lucene.Net, as it is a 1:1 port of the Java implementation.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/10/27/anug-solrlucene-presentation/' rel='bookmark' title='ANUG Solr/Lucene presentation'&gt;ANUG Solr/Lucene presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'&gt;Miracle Open World 2010 Lucene Presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/04/04/speaking-about-lucene-at-miracle-open-world-2010/' rel='bookmark' title='Speaking about Lucene at Miracle Open World 2010'&gt;Speaking about Lucene at Miracle Open World 2010&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/HqxHXpiwdFI" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2011/01/10/cnug-lucene-net-presentation/#comments" thr:count="3" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2011/01/10/cnug-lucene-net-presentation/feed/atom/" thr:count="3" />
		<thr:total>3</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2011/01/10/cnug-lucene-net-presentation/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Microsoft Julekalender låge #7 vinder]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/Ycc7oZ5BG-M/" />
		<id>http://www.lybecker.com/blog/?p=851</id>
		<updated>2010-12-08T20:41:23Z</updated>
		<published>2010-12-08T20:33:53Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Announcement" /><category scheme="http://www.lybecker.com/blog" term="WCF" /><category scheme="http://www.lybecker.com/blog" term="Daniel Frost" /><category scheme="http://www.lybecker.com/blog" term="Julekalender" /><category scheme="http://www.lybecker.com/blog" term="Microsoft" /><category scheme="http://www.lybecker.com/blog" term="Performance" />		<summary type="html"><![CDATA[Yet another blog post in Danish, sorry. Vinderen af gårsdagens Microsoft Julekalender låge #7 fundet. Vinderen er Gianluca Bosco, som har indsendt følgende WCF klient til servicen: Gianluca har rigtig nok fundet den værste performance synder af dem alle, at man ikke skal instantier en ChannelFactory for hvert kald. Alene denne forbedring kan halvere tiden [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/12/07/microsoft-julekalender-lage-7/' rel='bookmark' title='Microsoft Julekalender låge #7'>Microsoft Julekalender låge #7</a></li>
<li><a href='http://www.lybecker.com/blog/2007/04/11/strings-in-net/' rel='bookmark' title='Strings in .Net'>Strings in .Net</a></li>
<li><a href='http://www.lybecker.com/blog/2007/01/15/a-simple-windows-communication-foundation-web-service/' rel='bookmark' title='A simple Windows Communication Foundation Web Service'>A simple Windows Communication Foundation Web Service</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/12/08/851/">&lt;p&gt;Yet another blog post in Danish, sorry.&lt;/p&gt;
&lt;p&gt;Vinderen af &lt;a title="Microsoft Julekalender 2010 låge #7" href="/blog/2010/12/07/microsoft-julekalender-lage-7/"&gt;gårsdagens Microsoft Julekalender låge #7 fundet&lt;/a&gt;. Vinderen er Gianluca Bosco, som har indsendt følgende WCF klient til servicen:&lt;/p&gt;
&lt;pre class="brush: csharp; highlight: [8,9,10,12]; title: ; notranslate"&gt;
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(&amp;quot;Ready? Press [ENTER]...&amp;quot;);
        Console.ReadLine();

        var factory = new ChannelFactory&amp;lt;Shared.IMyService&amp;gt;(
            new WSHttpBinding(),
            new EndpointAddress(&amp;quot;http://localhost:8080/MyService&amp;quot;));

        factory.Endpoint.Binding.SendTimeout = new TimeSpan(0,2,0);

        var names = new[] { &amp;quot;Anders&amp;quot;, &amp;quot;Bende&amp;quot;, &amp;quot;Bo&amp;quot;, &amp;quot;Egon&amp;quot;,
            &amp;quot;Jakob&amp;quot;, &amp;quot;Jesper&amp;quot;, &amp;quot;Jonas&amp;quot;, &amp;quot;Martin&amp;quot;, &amp;quot;Ove&amp;quot;,
            &amp;quot;Rasmus&amp;quot;, &amp;quot;Thomas E&amp;quot;, &amp;quot;Thomas&amp;quot; };

        var x = from name in names.AsParallel()
                    .WithDegreeOfParallelism(12)
                select Do(factory, name);

        x.ForAll(Console.WriteLine);

        Console.WriteLine(&amp;quot;Done processing...&amp;quot;);
        Console.ReadLine();
    }

    static string Do(ChannelFactory&amp;lt;Shared.IMyService&amp;gt; factory,
         string name)
    {
        var proxy = factory.CreateChannel();

        var result = proxy.LooongRunningMethod(name);

        return result;
    }
}
&lt;/pre&gt;
&lt;p&gt;Gianluca har rigtig nok fundet den værste performance synder af dem alle, at man ikke skal instantier en ChannelFactory for hvert kald. Alene denne forbedring kan halvere tiden brugt ved et WCF kald.&lt;/p&gt;
&lt;p&gt;Desuden fandt Gianluca den indbyggede fælde i min implementation. Server implementationen kalder Thread.Sleep (mellem 1 og 100 sekunder) for at simulere langvarigt arbejde. Default SendTimout på wsHttpBinding (og alle andre bindings) er 1 minut, hvilket betyder, at klienten vil få en TimeoutException pga. serverens lange arbejde.&lt;/p&gt;
&lt;p&gt;Tillykke til Gianluca med hans nye helikopter.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/Blade_mCX2.jpg"&gt;&lt;img class="aligncenter size-medium wp-image-823" title="Remote controlled helicopter model Blade mCX2" src="http://www.lybecker.com/blog/wp-content/uploads/Blade_mCX2-300x300.jpg" alt="" width="300" height="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Der er en mindre optimering, som kan forbedre performance yderligere og det er at kalde Open og Close på en Channel explicit. Det skyldes, at der i en implicit Open er thread synchronisation, således at kun én thread åbner en Channel og de resterende threads venter på at Channel er klar.&lt;/p&gt;
&lt;p&gt;Hvis du har forslag til yderligere forbedringer, så skriv en kommentar.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/12/07/microsoft-julekalender-lage-7/' rel='bookmark' title='Microsoft Julekalender låge #7'&gt;Microsoft Julekalender låge #7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/04/11/strings-in-net/' rel='bookmark' title='Strings in .Net'&gt;Strings in .Net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/01/15/a-simple-windows-communication-foundation-web-service/' rel='bookmark' title='A simple Windows Communication Foundation Web Service'&gt;A simple Windows Communication Foundation Web Service&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/Ycc7oZ5BG-M" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/12/08/851/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/12/08/851/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/12/08/851/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Microsoft Julekalender låge #7]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/wSaGuFHgMHw/" />
		<id>http://www.lybecker.com/blog/?p=819</id>
		<updated>2010-12-07T06:45:28Z</updated>
		<published>2010-12-07T06:45:28Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Announcement" /><category scheme="http://www.lybecker.com/blog" term="WCF" /><category scheme="http://www.lybecker.com/blog" term="Daniel Frost" /><category scheme="http://www.lybecker.com/blog" term="Julekalender" /><category scheme="http://www.lybecker.com/blog" term="Microsoft" /><category scheme="http://www.lybecker.com/blog" term="Performance" />		<summary type="html"><![CDATA[Sorry – this post is in Danish. Dagens opgave handler om Windows Communication Foundation. WCF er kompleks pga. mængden af funktionalitet og kan derfor virke indviklet. Kompleksiteten afspejles også i størrelsen på WCF assembly System.ServiceModel.dll, som er klart den største assembly i hele .Net Framework Class Library (FCL) … selv større end mscorlib.dll. Opgaven: Implementer [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/12/08/851/' rel='bookmark' title='Microsoft Julekalender låge #7 vinder'>Microsoft Julekalender låge #7 vinder</a></li>
<li><a href='http://www.lybecker.com/blog/2007/01/23/how-does-reliable-messaging-work/' rel='bookmark' title='How does Reliable Messaging work?'>How does Reliable Messaging work?</a></li>
<li><a href='http://www.lybecker.com/blog/2010/10/11/wcf-throttling-%e2%80%93-part-2/' rel='bookmark' title='WCF Throttling – Part 2'>WCF Throttling – Part 2</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/12/07/microsoft-julekalender-lage-7/">&lt;p&gt;&lt;a href="http://danielfrost.dk/post/Mr-Frosts-Julekalender-starter-pa-Onsdag!-Er-du-klar-.aspx"&gt;&lt;img class="alignnone size-full wp-image-821" title="Microsoft Julekalender 2010" src="http://www.lybecker.com/blog/wp-content/uploads/MicrosoftJulekalender2010.png" alt="" width="550" height="157" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sorry – this post is in Danish.&lt;/p&gt;
&lt;p&gt;Dagens opgave handler om Windows Communication Foundation.  WCF er kompleks pga. mængden af funktionalitet og kan derfor virke indviklet. Kompleksiteten afspejles også i størrelsen på WCF assembly System.ServiceModel.dll, som er klart den største assembly i hele .Net Framework Class Library (FCL) … selv større end mscorlib.dll.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Opgaven:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Implementer en klient til nedstående service, som benytter WSHttpBinding med default settings.&lt;/p&gt;
&lt;pre class="brush: csharp; title: ; notranslate"&gt;
[ServiceContract(Namespace = &amp;quot;www.lybecker.com/blog/wcfriddle&amp;quot;)]
public interface IMyService
{
    [OperationContract(ProtectionLevel =
        ProtectionLevel.EncryptAndSign)]
    string LooongRunningMethod(string name);
}

public class MyService : IMyService
{
    public string LooongRunningMethod(string name)
    {
        Console.WriteLine(&amp;quot;{0} entered.&amp;quot;, name);

        // Simulate work by random sleeping
        var rnd = new Random(
            name.Select(Convert.ToInt32).Sum() +
            Environment.TickCount);
        var sleepSeconds = rnd.Next(0, 100);
        System.Threading.Thread.Sleep(sleepSeconds * 1000);

        var message = string.Format(
            &amp;quot;{0} slept for {1} seconds in session {2}.&amp;quot;,
            name,
            sleepSeconds,
            OperationContext.Current.SessionId);
        Console.WriteLine(message);

        return message;
    }
}
&lt;/pre&gt;
&lt;p&gt;Klienten må meget gerne være smukt struktureret og skal:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Implementeres i .Net 3.x eller .Net 4.0&lt;/li&gt;
&lt;li&gt;Simulere et dusin forskellige klienter&lt;/li&gt;
&lt;li&gt;Være så effektiv som mulig (tænk memory, CPU cycles, GC)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Beskriv kort jeres valg af optimeringer.&lt;/p&gt;
&lt;p&gt;For at gøre opgaven nemmere at løse, så har jeg allerede løst den for jer… dog ikke optimalt. &lt;a href="/blog/wp-content/uploads/WcfRiddle.zip"&gt;Download min implementation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Send løsning til anders at lybecker.com inden midnat; vinderen vil bliver offentligt i morgen og vil blive den lykkelige ejer af en fjernstyrret helikopter med tilbehør, så den er klar til af flyve. En cool office gadget. Helikopteren er nem at flyve og kan holde til en del. Det ved jeg af erfaring &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Se helikopteren flyve nedefor.&lt;/p&gt;
&lt;p&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="331" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="src" value="http://www.youtube.com/v/gAlM4FBtDGI?fs=1&amp;amp;hl=en_US" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;embed type="application/x-shockwave-flash" width="550" height="331" src="http://www.youtube.com/v/gAlM4FBtDGI?fs=1&amp;amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/12/08/851/' rel='bookmark' title='Microsoft Julekalender låge #7 vinder'&gt;Microsoft Julekalender låge #7 vinder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/01/23/how-does-reliable-messaging-work/' rel='bookmark' title='How does Reliable Messaging work?'&gt;How does Reliable Messaging work?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/10/11/wcf-throttling-%e2%80%93-part-2/' rel='bookmark' title='WCF Throttling – Part 2'&gt;WCF Throttling – Part 2&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/wSaGuFHgMHw" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/12/07/microsoft-julekalender-lage-7/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/12/07/microsoft-julekalender-lage-7/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/12/07/microsoft-julekalender-lage-7/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[ANUG Solr/Lucene presentation]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/EStmjsAKkXA/" />
		<id>http://www.lybecker.com/blog/?p=805</id>
		<updated>2010-10-27T22:56:42Z</updated>
		<published>2010-10-27T22:56:42Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Lucene" /><category scheme="http://www.lybecker.com/blog" term="ANUG" /><category scheme="http://www.lybecker.com/blog" term="Presentation" /><category scheme="http://www.lybecker.com/blog" term="Solr" />		<summary type="html"><![CDATA[I am on the train to Copenhagen after a successful presentation of Solr/Lucene at the Aarhus .NET user group. The presentation went very well judging by the number of questions during the almost 2½ hour long presentation and the feedback afterwards. Love it – thanks The presentation and code samples can be downloaded below: Presentation [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2011/01/10/cnug-lucene-net-presentation/' rel='bookmark' title='CNUG Lucene.Net presentation'>CNUG Lucene.Net presentation</a></li>
<li><a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'>Miracle Open World 2010 Lucene Presentation</a></li>
<li><a href='http://www.lybecker.com/blog/2008/03/16/my-presentation-at-the-microsoft-product-launch-2008/' rel='bookmark' title='My presentation at the Microsoft product launch 2008'>My presentation at the Microsoft product launch 2008</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/10/27/anug-solrlucene-presentation/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/ANUG.gif"&gt;&lt;img class="alignright size-full wp-image-814" title="ANUG" src="http://www.lybecker.com/blog/wp-content/uploads/ANUG.gif" alt="Aarhus .NET user group" width="150" height="85" /&gt;&lt;/a&gt;I am on the train to Copenhagen after a successful presentation of Solr/Lucene at the &lt;a title="AArhus .NET user group homepage" href="http://www.anug.dk/"&gt;Aarhus .NET user group&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The presentation went very well judging by the number of questions during the almost 2½ hour long presentation and the feedback afterwards. Love it – thanks &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;The presentation and code samples can be downloaded below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Presentation (&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/Apache-Lucene-ANUG.pdf"&gt;pdf&lt;/a&gt;|&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/Apache-Lucene-ANUG.pptx"&gt;pptx&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/AnugLucenePlayground.zip"&gt;Code samples (Visual Studio 2010)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please do contact me if you have any further questions – I’ll love to help out.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2011/01/10/cnug-lucene-net-presentation/' rel='bookmark' title='CNUG Lucene.Net presentation'&gt;CNUG Lucene.Net presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'&gt;Miracle Open World 2010 Lucene Presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2008/03/16/my-presentation-at-the-microsoft-product-launch-2008/' rel='bookmark' title='My presentation at the Microsoft product launch 2008'&gt;My presentation at the Microsoft product launch 2008&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/EStmjsAKkXA" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/10/27/anug-solrlucene-presentation/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/10/27/anug-solrlucene-presentation/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/10/27/anug-solrlucene-presentation/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[WCF Timeouts]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/fMyOXVBZkyc/" />
		<id>http://www.lybecker.com/blog/?p=787</id>
		<updated>2010-10-14T10:22:58Z</updated>
		<published>2010-10-14T10:22:58Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="WCF" /><category scheme="http://www.lybecker.com/blog" term="ws-*" /><category scheme="http://www.lybecker.com/blog" term="Performance" /><category scheme="http://www.lybecker.com/blog" term="Throttling" /><category scheme="http://www.lybecker.com/blog" term="Timeout" />		<summary type="html"><![CDATA[The last two articles about WCF Throttling part 1 and part 2 would not be complete without looking at WCF timeouts. Any potentially lengthy operation must have a timeout or the system might end up waiting indefinitely – this is remarkably prevalent when working across any network connection (Yes, LAN connections too). Timeouts are not [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/10/11/wcf-throttling-%e2%80%93-part-2/' rel='bookmark' title='WCF Throttling – Part 2'>WCF Throttling – Part 2</a></li>
<li><a href='http://www.lybecker.com/blog/2010/10/06/wcf-throttling-%e2%80%93-part-1/' rel='bookmark' title='WCF Throttling – Part 1'>WCF Throttling – Part 1</a></li>
<li><a href='http://www.lybecker.com/blog/2007/03/12/configuring-the-dtc-for-wcf-with-oletx/' rel='bookmark' title='Configuring the DTC for WCF with OleTx'>Configuring the DTC for WCF with OleTx</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/10/14/wcf-timeouts/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/Timeout.png"&gt;&lt;img class="alignright size-medium wp-image-791" title="Timeout" src="http://www.lybecker.com/blog/wp-content/uploads/Timeout-300x300.png" alt="" width="170" height="170" /&gt;&lt;/a&gt;The last two articles about WCF Throttling &lt;a title="WCF Throttling - Part 1" href="/blog/2010/10/06/wcf-throttling-%E2%80%93-part-1/"&gt;part 1&lt;/a&gt; and &lt;a title="WCF Throttling - Part 2" href="/blog/2010/10/11/wcf-throttling-%E2%80%93-part-2/"&gt;part 2&lt;/a&gt; would not be complete without looking at WCF timeouts. Any potentially lengthy operation must have a timeout or the system might end up waiting indefinitely – this is remarkably prevalent when working across any network connection (Yes, LAN connections too).&lt;/p&gt;
&lt;p&gt;Timeouts are not directly related to throttling properties, but effect the way the service (or client) performance under load. Timeout properties can be perceived as an annoyance when sending larger messages or dealing with slow connections or services. The frustration increase as the naming of the properties can be deceiving. Read on… and I’ll explain &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Below are the binding properties that all throw TimeoutExceptions if any of setting thresholds are exceeded:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenTimeout (TimeSpan) &amp;#8211; the interval of time provided for an open operation to complete including security handshakes (WS-Trust, WS-Secure Conversation etc.). The default is 00:01:00.&lt;/li&gt;
&lt;li&gt;CloseTimeout (TimeSpan) &amp;#8211; the interval of time provided for a close operation to complete. The default is 00:01:00.&lt;/li&gt;
&lt;li&gt;SendTimeout (TimeSpan) &amp;#8211; the interval of time provided for an entire operation to complete. This includes both sending of message and receiving reply! The default is 00:01:00.&lt;/li&gt;
&lt;li&gt;ReceiveTimeout (TimeSpan) &amp;#8211; the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped. The default is 00:10:00.
&lt;ul&gt;
&lt;li&gt;This setting is only used on the server-side and has no effect on client-side.&lt;/li&gt;
&lt;li&gt;When using Reliable Sessions remember to set the &lt;a title="ReliableSession.InactivityTimeout property on MSDN" href="http://msdn.microsoft.com/en-us/library/system.servicemodel.reliablesession.inactivitytimeout.aspx"&gt;InactivityTimeout&lt;/a&gt; property on the reliableSession element to the same value as the &lt;a title="Binding.ReceiveTimeout property on MSDN" href="http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.binding.receivetimeout.aspx"&gt;ReceiveTimeout&lt;/a&gt; property, as both inactivity timers has to be satisfied.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example of configuration file:&lt;/p&gt;
&lt;pre class="brush: sql; title: ; notranslate"&gt;
&amp;lt;system.serviceModel&amp;gt;
  &amp;lt;bindings&amp;gt;
    &amp;lt;netTcpBinding&amp;gt;
      &amp;lt;binding name=&amp;quot;netTcpBindingConfig&amp;quot;
               openTimeout=&amp;quot;00:01:00&amp;quot;
               closeTimeout=&amp;quot;00:01:00&amp;quot;
               sendTimeout=&amp;quot;00:01:00&amp;quot;
               receiveTimeout=&amp;quot;00:10:00&amp;quot;&amp;gt;
        &amp;lt;reliableSession enabled=&amp;quot;true&amp;quot;
                         inactivityTimeout=&amp;quot;00:10:00&amp;quot; /&amp;gt;
      &amp;lt;/binding&amp;gt;
    &amp;lt;/netTcpBinding&amp;gt;
  &amp;lt;/bindings&amp;gt;
&amp;lt;/system.serviceModel&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/10/11/wcf-throttling-%e2%80%93-part-2/' rel='bookmark' title='WCF Throttling – Part 2'&gt;WCF Throttling – Part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/10/06/wcf-throttling-%e2%80%93-part-1/' rel='bookmark' title='WCF Throttling – Part 1'&gt;WCF Throttling – Part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/03/12/configuring-the-dtc-for-wcf-with-oletx/' rel='bookmark' title='Configuring the DTC for WCF with OleTx'&gt;Configuring the DTC for WCF with OleTx&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/fMyOXVBZkyc" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/10/14/wcf-timeouts/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/10/14/wcf-timeouts/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/10/14/wcf-timeouts/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[WCF Throttling – Part 2]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/-_dQu5eyvBs/" />
		<id>http://www.lybecker.com/blog/?p=773</id>
		<updated>2010-10-11T18:05:40Z</updated>
		<published>2010-10-11T18:05:40Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="WCF" /><category scheme="http://www.lybecker.com/blog" term="Performance" /><category scheme="http://www.lybecker.com/blog" term="Throttling" />		<summary type="html"><![CDATA[In the WCF Throttling – Part 1 article the service throttling behavior was introduced. There are other throttling features in WCF that are designed to protect the service from request flooding. These WCF throttling feature are configured on the binding, service behaviors and endpoint behaviors. Binding properties: MaxConnections (int) &#8211; specifies the maximum number of [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/10/06/wcf-throttling-%e2%80%93-part-1/' rel='bookmark' title='WCF Throttling – Part 1'>WCF Throttling – Part 1</a></li>
<li><a href='http://www.lybecker.com/blog/2010/10/14/wcf-timeouts/' rel='bookmark' title='WCF Timeouts'>WCF Timeouts</a></li>
<li><a href='http://www.lybecker.com/blog/2007/01/18/building-a-windows-communication-foundation-client/' rel='bookmark' title='Building a Windows Communication Foundation client'>Building a Windows Communication Foundation client</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/10/11/wcf-throttling-%e2%80%93-part-2/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/Funnel.jpg"&gt;&lt;img class="alignright size-full wp-image-780" title="Funnel" src="http://www.lybecker.com/blog/wp-content/uploads/Funnel.jpg" alt="" width="158" height="140" /&gt;&lt;/a&gt;In the &lt;a title="WCF Throttling - Part 1" href="/blog/2010/10/06/wcf-throttling-%E2%80%93-part-1/"&gt;WCF Throttling – Part 1&lt;/a&gt; article the service throttling behavior was introduced.&lt;/p&gt;
&lt;p&gt;There are other throttling features in WCF that are designed to protect the service from request flooding.&lt;/p&gt;
&lt;p&gt;These WCF throttling feature are configured on the binding, service behaviors and endpoint behaviors.&lt;/p&gt;
&lt;p&gt;Binding properties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MaxConnections (int) &amp;#8211; specifies the maximum number of outbound and inbound connections the service creates and accepts respectively. Default value is 10 connections. This setting only applies for statefull TCP connections like &lt;a title="netTcpBinding configuration on MSDN" href="http://msdn.microsoft.com/en-us/library/system.servicemodel.configuration.nettcpbindingelement.aspx"&gt;netTcpBinding&lt;/a&gt; and not stateless HTTP protocols like &lt;a title="basicHttpBinding configuration on MSDN" href="http://msdn.microsoft.com/en-us/library/system.servicemodel.configuration.basichttpbindingelement.aspx"&gt;basicHttpBinding&lt;/a&gt;, &lt;a title="wsHttpBinding configuration on MSDN" href="http://msdn.microsoft.com/en-us/library/system.servicemodel.configuration.wshttpbindingelement.aspx"&gt;wsHttpBinding&lt;/a&gt; or &lt;a title="webHttpBinding configuration on MSDN" href="http://msdn.microsoft.com/en-us/library/bb412176.aspx"&gt;webHttpBinding&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;MaxReceivedMessageSize (long) &amp;#8211; the maximum size of a message (including headers), that can be received on a channel. The sender of a message exceeding this limit will receive a fault and the receiver will drop the message. The default value is 65,536 bytes (64K).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are two additional properties on the binding that one might mistakenly think is request throttling properties. These are the MaxBufferPoolSize and MaxBufferSize properties and they control &lt;a title="Detailed explanation of the WCF memory Buffer Manager" href="http://obsessivelycurious.blogspot.com/2008/04/wcf-memory-buffer-management.html"&gt;WCF memory Buffer Manager&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Note: remember to set the MaxReceivedMessageSize and MaxBufferSize properties to the same value if using TransferMode.Buffered or an ArgumentException will be thrown at runtime with the message “For TransferMode.Buffered, MaxReceivedMessageSize and MaxBufferSize must be the same value.”&lt;/p&gt;
&lt;p&gt;Binding properties for the &lt;a title="readerQuotas element on MSDN" href="http://msdn.microsoft.com/en-us/library/ms731325.aspx"&gt;readerQuotas&lt;/a&gt; element – used by XmlReader under the hood:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MaxArrayLength (int) &amp;#8211; the maximum allowed array length of data received from a client. The default is 16,384 (16K).&lt;/li&gt;
&lt;li&gt;MaxBytesPerRead (int) &amp;#8211; the maximum allowed bytes returned per read for the XmlReader. The default is 4,096 (4K).&lt;/li&gt;
&lt;li&gt;MaxDepth (int) &amp;#8211; the maximum XML nested node depth. The default is 32.&lt;/li&gt;
&lt;li&gt;MaxNameTableCharCount (int) &amp;#8211; the maximum characters allowed in a table name. This is the maximum length of an XML element or attributes identifier including XML namespace. The default is 16,384 (16K).&lt;/li&gt;
&lt;li&gt;MaxStringContentLength (int) &amp;#8211; the maximum characters allowed in XML element or attribute content. The default is 8,192 (8K).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;a title="DataContractSerializer on MSDN" href="http://msdn.microsoft.com/en-us/library/ms405768.aspx"&gt;DataContractSerializer&lt;/a&gt; is by default used to serialize and deserialize messages as it is much faster the XMLSerializer, but with less features. The DataContractSerializer has a single property that can be configures at the endpoint or service behavior:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MaxItemsInObjectGraph (int) &amp;#8211; maximum number of items in an object graph to serialize or deserialize. The default is 65,536 (64K).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Resist the temptation of settings any of these properties to Int.MaxValue and the likes, because determining the correct values are difficult. Throttle the service, so some clients gets served instead of risk boggling down the service with request flooding, resulting in no clients get served.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;You will become the service hero in your organization by throttling instead of letting the service run wild &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/div&gt;
&lt;p&gt;Example of configuration file:&lt;/p&gt;
&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;system.serviceModel&amp;gt;
  &amp;lt;behaviors&amp;gt;
    &amp;lt;endpointBehaviors&amp;gt;
      &amp;lt;behavior name=&amp;quot;endpointBehavior&amp;quot;&amp;gt;
        &amp;lt;dataContractSerializer maxItemsInObjectGraph=&amp;quot;65536&amp;quot;/&amp;gt;
      &amp;lt;/behavior&amp;gt;
    &amp;lt;/endpointBehaviors&amp;gt;
    &amp;lt;serviceBehaviors&amp;gt;
      &amp;lt;behavior name=&amp;quot;serviceBehaviors&amp;quot;&amp;gt;
        &amp;lt;dataContractSerializer maxItemsInObjectGraph=&amp;quot;65536&amp;quot;/&amp;gt;
      &amp;lt;/behavior&amp;gt;
    &amp;lt;/serviceBehaviors&amp;gt;
  &amp;lt;/behaviors&amp;gt;
  &amp;lt;bindings&amp;gt;
    &amp;lt;netTcpBinding&amp;gt;
      &amp;lt;binding name=&amp;quot;netTcpBindingConfig&amp;quot;
                maxReceivedMessageSize=&amp;quot;65536&amp;quot;
                maxConnections=&amp;quot;10&amp;quot;&amp;gt;
        &amp;lt;readerQuotas maxArrayLength=&amp;quot;16384&amp;quot;
                      maxBytesPerRead=&amp;quot;4096&amp;quot;
                      maxDepth=&amp;quot;32&amp;quot;
                      maxStringContentLength=&amp;quot;8192&amp;quot;
                      maxNameTableCharCount=&amp;quot;16384&amp;quot;/&amp;gt;
      &amp;lt;/binding&amp;gt;
    &amp;lt;/netTcpBinding&amp;gt;
  &amp;lt;/bindings&amp;gt;
&amp;lt;/system.serviceModel&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/10/06/wcf-throttling-%e2%80%93-part-1/' rel='bookmark' title='WCF Throttling – Part 1'&gt;WCF Throttling – Part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/10/14/wcf-timeouts/' rel='bookmark' title='WCF Timeouts'&gt;WCF Timeouts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/01/18/building-a-windows-communication-foundation-client/' rel='bookmark' title='Building a Windows Communication Foundation client'&gt;Building a Windows Communication Foundation client&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/-_dQu5eyvBs" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/10/11/wcf-throttling-%e2%80%93-part-2/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/10/11/wcf-throttling-%e2%80%93-part-2/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/10/11/wcf-throttling-%e2%80%93-part-2/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[WCF Throttling – Part 1]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/csWT0SDIuyo/" />
		<id>http://www.lybecker.com/blog/?p=765</id>
		<updated>2010-10-06T18:45:35Z</updated>
		<published>2010-10-06T18:45:35Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="WCF" /><category scheme="http://www.lybecker.com/blog" term=".Net 4" /><category scheme="http://www.lybecker.com/blog" term="dotNet" /><category scheme="http://www.lybecker.com/blog" term="Performance" /><category scheme="http://www.lybecker.com/blog" term="Throttling" />		<summary type="html"><![CDATA[The default throttling settings in WCF has always been very conservative. There where configured conservatively to diminish the risk of request flooding. Without throttling settings a large number of requests will make the service unresponsive by consuming all resources trying to respond to all requests simultaneously. Because of the very conservative settings many developers have [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/10/11/wcf-throttling-%e2%80%93-part-2/' rel='bookmark' title='WCF Throttling – Part 2'>WCF Throttling – Part 2</a></li>
<li><a href='http://www.lybecker.com/blog/2010/10/14/wcf-timeouts/' rel='bookmark' title='WCF Timeouts'>WCF Timeouts</a></li>
<li><a href='http://www.lybecker.com/blog/2007/04/03/garbage-collection-flavors/' rel='bookmark' title='Garbage Collection Flavors'>Garbage Collection Flavors</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/10/06/wcf-throttling-%e2%80%93-part-1/">&lt;p&gt;The default throttling settings in WCF has always been very conservative. There where configured conservatively to diminish the risk of request flooding. Without throttling settings a large number of requests will make the service unresponsive by consuming all resources trying to respond to all requests simultaneously.&lt;/p&gt;
&lt;p&gt;Because of the very conservative settings many developers have run into what seems like WCF performance problems, but was actually incorrectly configured throttling settings.&lt;/p&gt;
&lt;p&gt;WCF throttling is a service behavior configuration and each setting has effect dependent on the &lt;a title="InstanceContextMode enum on MSDN" href="http://msdn.microsoft.com/en-us/library/system.servicemodel.servicebehaviorattribute.instancecontextmode(v=VS.100).aspx"&gt;InstanceContextMode&lt;/a&gt; and &lt;a title="ConcurrencyMode enum on MSDN" href="http://msdn.microsoft.com/en-us/library/system.servicemodel.servicebehaviorattribute.concurrencymode.aspx"&gt;ConcurrencyMode&lt;/a&gt; settings.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;maxConcurrentCalls (int) &amp;#8211; the maximum number of concurrent messages processing&lt;/li&gt;
&lt;li&gt;maxConcurrentInstances (int) - the maximum number of concurrent InstanceContext (service type instances) objects processing&lt;/li&gt;
&lt;li&gt;maxConcurrentSessions (int) - the maximum number of concurrent sessions processing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These throttling settings can be configured in code via the ServiceThrottlingBehavior in the System.ServiceModel.Description namespace or though configuration like below:&lt;/p&gt;
&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;system.serviceModel&amp;gt;
    &amp;lt;serviceBehaviors&amp;gt;
      &amp;lt;behavior name=&amp;quot;throttlingServiceBehavior&amp;quot;&amp;gt;
        &amp;lt;serviceThrottling maxConcurrentCalls=&amp;quot;16&amp;quot;
                           maxConcurrentInstances=&amp;quot;160&amp;quot;
                           maxConcurrentSessions=&amp;quot;10&amp;quot;/&amp;gt;
      &amp;lt;/behavior&amp;gt;
    &amp;lt;/serviceBehaviors&amp;gt;
&amp;lt;/system.serviceModel&amp;gt;
&lt;/pre&gt;
&lt;p&gt;The default values in .Net 3.0/3.5 are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;maxConcurrentCalls = 16&lt;/li&gt;
&lt;li&gt;maxConcurrentSessions = 10&lt;/li&gt;
&lt;li&gt;maxConcurrentInstances = maxConcurrentCalls + maxConcurrentSessions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The default has changed in .Net 4.0 as the .Net 3.0/3.5 default values were too conservative and the increase in server resources – especially the number of cores available. The default values for .Net 4.0 are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;maxConcurrentCalls = 16 * Environment.ProcessorCount&lt;/li&gt;
&lt;li&gt;maxConcurrentSessions = 100 * Environment.ProcessorCount&lt;/li&gt;
&lt;li&gt;maxConcurrentInstances = maxConcurrentCalls + maxConcurrentSessions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Environment.ProcessorCount property is misleading as the value is the number of cores (Hyper-Threading counts double). In my development laptop with four Hyper-Threading cores looks like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/WcfThrottlingDotNet4.png"&gt;&lt;img class="aligncenter size-full wp-image-766" title="WCF Throttling DotNet 4.0 default settings" src="http://www.lybecker.com/blog/wp-content/uploads/WcfThrottlingDotNet4.png" alt="" width="628" height="124" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/10/11/wcf-throttling-%e2%80%93-part-2/' rel='bookmark' title='WCF Throttling – Part 2'&gt;WCF Throttling – Part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/10/14/wcf-timeouts/' rel='bookmark' title='WCF Timeouts'&gt;WCF Timeouts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/04/03/garbage-collection-flavors/' rel='bookmark' title='Garbage Collection Flavors'&gt;Garbage Collection Flavors&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/csWT0SDIuyo" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/10/06/wcf-throttling-%e2%80%93-part-1/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/10/06/wcf-throttling-%e2%80%93-part-1/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/10/06/wcf-throttling-%e2%80%93-part-1/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Raoul Illyés, Microsoft MVP]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/y8OIEZpGOpw/" />
		<id>http://www.lybecker.com/blog/?p=753</id>
		<updated>2010-10-05T19:52:38Z</updated>
		<published>2010-10-05T18:32:56Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Announcement" /><category scheme="http://www.lybecker.com/blog" term="SQL Server" /><category scheme="http://www.lybecker.com/blog" term="MVP SQL Server" />		<summary type="html"><![CDATA[A friend and former colleague of mine Raoul Illyés has been awarded Microsoft MVP for SQL Server. I am delighted and lucky to continue working with Raoul and his new company Guide-line. Congratulations – It’s about time Related posts: New blog &#8211; NoTech Microsoft product launch 2008
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &#8211; NoTech'>New blog &#8211; NoTech</a></li>
<li><a href='http://www.lybecker.com/blog/2008/02/16/microsoft-product-launch-2008/' rel='bookmark' title='Microsoft product launch 2008'>Microsoft product launch 2008</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/10/05/raoul-illyes-microsoft-mvp/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/Microsoft_MVP_logo.png"&gt;&lt;img class="alignright size-full wp-image-754" title="Microsoft MVP logo" src="http://www.lybecker.com/blog/wp-content/uploads/Microsoft_MVP_logo.png" alt="" width="86" height="135" /&gt;&lt;/a&gt;A friend and former colleague of mine &lt;a title="Raoul Illyés Blog" href="http://www.guide-line.com/archives/295"&gt;Raoul Illyés has been awarded Microsoft MVP for SQL Server&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I am delighted and lucky to continue working with Raoul and his new company &lt;a title="Guide-line homepage" href="http://www.guide-line.com/"&gt;Guide-line&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Congratulations – It’s about time &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &amp;#8211; NoTech'&gt;New blog &amp;#8211; NoTech&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2008/02/16/microsoft-product-launch-2008/' rel='bookmark' title='Microsoft product launch 2008'&gt;Microsoft product launch 2008&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/y8OIEZpGOpw" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/10/05/raoul-illyes-microsoft-mvp/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/10/05/raoul-illyes-microsoft-mvp/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/10/05/raoul-illyes-microsoft-mvp/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[ASP.Net Security Vulnerability]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/6ktSqexJsLE/" />
		<id>http://www.lybecker.com/blog/?p=737</id>
		<updated>2010-09-29T05:19:07Z</updated>
		<published>2010-09-20T18:54:14Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Announcement" /><category scheme="http://www.lybecker.com/blog" term="Security" /><category scheme="http://www.lybecker.com/blog" term="ASP.Net Vulnerability" />		<summary type="html"><![CDATA[Friday the September 17th a serious security exploit was demonstrated at security conference by Juliano Rizzo and Thai Duong. A tool called POET (Padding Oracle Exploit Tool) was used to show the exploit in both .Net and Java. POET exploits a well-known vulnerability in the way many websites encrypt text stored in ViewState, form authentication [...]
No related posts.]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/09/20/asp-net-security-vulnerability/">&lt;p&gt;Friday the September 17th a serious &lt;a title="Microsoft Security Advisory (2416728) Vulnerability in ASP.NET Could Allow Information Disclosure " href="http://www.microsoft.com/technet/security/advisory/2416728.mspx"&gt;security exploit&lt;/a&gt; was demonstrated at security conference by Juliano Rizzo and Thai Duong. A tool called POET (Padding Oracle Exploit Tool) was used to show the exploit in both .Net and Java.&lt;/p&gt;
&lt;p&gt;POET exploits a well-known vulnerability in the way many websites encrypt text stored in ViewState, form authentication tickets, cookies, hidden HTML fields and request parameters.&lt;/p&gt;
&lt;p&gt;It a deficiency in the encryption libraries in both Java and the .Net framework utilizing the fact that encrypted strings are padded in blocks of e.g. 8 bytes or 16 bytes or …. I will not go into details, as it is explained well in details &lt;a title="Article Automated Padding Oracle Attacks with PadBuster" href="http://www.gdssecurity.com/l/b/2010/09/14/automated-padding-oracle-attacks-with-padbuster/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The exploit works on any &lt;a title="Block cipher on Wikipedia" href="http://en.wikipedia.org/wiki/Block_cipher"&gt;block-cipher encryption&lt;/a&gt; mechanism, such as AES, DES and Triple DES.&lt;/p&gt;
&lt;p&gt;The exploit is quite severe, as it can be used to download the web.config file.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The attack that was shown in the public relies on a feature in ASP.NET that allows files (typically javascript and css) to be downloaded, and which is secured with a key that is sent as part of the request. Unfortunately if you are able to forge a key you can use this feature to download the web.config file of an application (but not files outside of the application).  We will obviously release a patch for this… &lt;a title="Comment by Scott Gu" href="http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx"&gt;Scott Gu&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;There are lots of systems affected, such as ASP.Net 1.0-4.0 (WebForms and MVC), SharePoint, Microsoft CRM, JavaServer Faces etc.&lt;/p&gt;
&lt;p&gt;HTTPS with SSL/TLS does not protect your site.&lt;/p&gt;
&lt;p&gt;Below is a video showing how to use the POET tool with DotNetNuke.&lt;br /&gt;
&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="331" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="src" value="http://www.youtube.com/v/yghiC_U2RaM?fs=1&amp;amp;hl=en_US" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;embed type="application/x-shockwave-flash" width="550" height="331" src="http://www.youtube.com/v/yghiC_U2RaM?fs=1&amp;amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;Scott Gu has &lt;a title="ASP.Net workaround" href="http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx"&gt;workaround details until Microsoft releases a patch&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update &lt;/strong&gt;September 29th, 2010: A &lt;a title="Microsoft Security Bulletin MS10-070 - Important" href="http://www.microsoft.com/technet/security/bulletin/ms10-070.mspx"&gt;security update&lt;/a&gt; is released by Microsoft. More details about the patch on &lt;a title="Details of the ASP.NET Security Update" href="http://weblogs.asp.net/scottgu/archive/2010/09/28/asp-net-security-update-now-available.aspx"&gt;Scott Gu&amp;#8217;s blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;No related posts.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/6ktSqexJsLE" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/09/20/asp-net-security-vulnerability/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/09/20/asp-net-security-vulnerability/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/09/20/asp-net-security-vulnerability/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Configuring Windows 7 network priority]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/kKo8dYz0RV4/" />
		<id>http://www.lybecker.com/blog/?p=730</id>
		<updated>2010-09-10T19:01:59Z</updated>
		<published>2010-09-10T19:01:59Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Ilities" /><category scheme="http://www.lybecker.com/blog" term="Stuff" /><category scheme="http://www.lybecker.com/blog" term="Network Connection Priority" /><category scheme="http://www.lybecker.com/blog" term="Wi-Fi" /><category scheme="http://www.lybecker.com/blog" term="WiFi" /><category scheme="http://www.lybecker.com/blog" term="Win7" /><category scheme="http://www.lybecker.com/blog" term="Windows 7" />		<summary type="html"><![CDATA[Windows 7 apparently always prioritizes the wireless network connection (Wi-Fi) – no matter if a faster wired network connection is available. This is default behavior &#8211; go figure! Luckily you can change it, but it isn’t easy to find. Do the following: Go to &#8220;Network and Sharing Center&#8221; (e.g. through the “Control Panel”) Click &#8220;Change Adapter [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2007/03/12/configuring-the-dtc-for-wcf-with-oletx/' rel='bookmark' title='Configuring the DTC for WCF with OleTx'>Configuring the DTC for WCF with OleTx</a></li>
<li><a href='http://www.lybecker.com/blog/2007/03/12/configuring-the-dtc-for-wcf-with-ws-atomictransaction/' rel='bookmark' title='Configuring the DTC for WCF with WS-AtomicTransaction'>Configuring the DTC for WCF with WS-AtomicTransaction</a></li>
<li><a href='http://www.lybecker.com/blog/2010/04/04/upgraded-the-wireless-network-at-work/' rel='bookmark' title='Upgraded the wireless network at work'>Upgraded the wireless network at work</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/09/10/configuring-windows-7-network-priority/">&lt;p&gt;Windows 7 apparently always prioritizes the wireless network connection (Wi-Fi) – no matter if a faster wired network connection is available. This is default behavior &amp;#8211; go figure!&lt;/p&gt;
&lt;p&gt;Luckily you can change it, but it isn’t easy to find. Do the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to &amp;#8220;Network and Sharing Center&amp;#8221; (e.g. through the “Control Panel”)&lt;/li&gt;
&lt;li&gt;Click &amp;#8220;Change Adapter Settings&amp;#8221;&lt;/li&gt;
&lt;li&gt;In the &amp;#8220;Network Connections&amp;#8221; window, press the ALT key on your keyboard to being up the menu bar.&lt;br /&gt;
&lt;img class="size-full wp-image-733 aligncenter" title="Network Connection Advanced Settings Menu" src="http://www.lybecker.com/blog/wp-content/uploads/NetworkAdvancedSettingsMenu.png" alt="" width="481" height="201" /&gt;&lt;/li&gt;
&lt;li&gt;Click the &amp;#8220;Advanced&amp;#8221; menu and then &amp;#8220;Advanced Settings&amp;#8221;&lt;/li&gt;
&lt;li&gt;In the “Advanced Settings” windows on the &amp;#8220;Adapters and Bindings&amp;#8221; tab under &amp;#8220;Connections&amp;#8221;, you can change the network connection priority with the arrows on the right.&lt;/li&gt;
&lt;p&gt;&lt;img class="size-full wp-image-732 aligncenter" title="Network Connection Advanced Settings" src="http://www.lybecker.com/blog/wp-content/uploads/NetworkAdvancedSettings.png" alt="" width="414" height="461" /&gt;&lt;/ol&gt;
&lt;p&gt;It will still connect to all available network connections (wireless and wired), unless they are disabled.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/03/12/configuring-the-dtc-for-wcf-with-oletx/' rel='bookmark' title='Configuring the DTC for WCF with OleTx'&gt;Configuring the DTC for WCF with OleTx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/03/12/configuring-the-dtc-for-wcf-with-ws-atomictransaction/' rel='bookmark' title='Configuring the DTC for WCF with WS-AtomicTransaction'&gt;Configuring the DTC for WCF with WS-AtomicTransaction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/04/04/upgraded-the-wireless-network-at-work/' rel='bookmark' title='Upgraded the wireless network at work'&gt;Upgraded the wireless network at work&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/kKo8dYz0RV4" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/09/10/configuring-windows-7-network-priority/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/09/10/configuring-windows-7-network-priority/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/09/10/configuring-windows-7-network-priority/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Enabling Danish for SQL Server FullText]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/reSEslrByMQ/" />
		<id>http://www.lybecker.com/blog/?p=704</id>
		<updated>2010-08-09T18:16:30Z</updated>
		<published>2010-08-09T18:10:19Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Full Text Search" /><category scheme="http://www.lybecker.com/blog" term="MS FullText" /><category scheme="http://www.lybecker.com/blog" term="SQL Server" /><category scheme="http://www.lybecker.com/blog" term="Danish" /><category scheme="http://www.lybecker.com/blog" term="FullText" /><category scheme="http://www.lybecker.com/blog" term="IFilter" /><category scheme="http://www.lybecker.com/blog" term="Stemmer" /><category scheme="http://www.lybecker.com/blog" term="Wordbreaker" />		<summary type="html"><![CDATA[SQL Server FullText enables you to search large amount of strings fast, and it is easy to use. It hasn’t changed much since SQL Server 2000. A simple getting started tutorial can be found on Code Project. SQL Server FullText is easy to use in applications requiring string searching. The Danish, Polish and Turkish wordbreaker [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/' rel='bookmark' title='Transferring SQL Server logins'>Transferring SQL Server logins</a></li>
<li><a href='http://www.lybecker.com/blog/2010/03/17/sql-server-build-version/' rel='bookmark' title='SQL Server build version'>SQL Server build version</a></li>
<li><a href='http://www.lybecker.com/blog/2008/02/16/microsoft-product-launch-2008/' rel='bookmark' title='Microsoft product launch 2008'>Microsoft product launch 2008</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/08/09/enabling-danish-for-sql-server-fulltext/">&lt;div class="articleInlineBlocks alignright"&gt;&lt;img src="/blog/wp-content/themes/default/images/inlineblock_top.gif" class="articleInlineImage" height="5" /&gt;&lt;/p&gt;
&lt;p class="articleInlineBlockContent"&gt;
SQL Server FullText enables you to search large amount of strings fast, and it is easy to use. It hasn’t changed much since SQL Server 2000.&lt;br /&gt;
A simple getting started tutorial can be found on &lt;a title="Creating Full Text Catalog and Full Text Search" href="http://www.codeproject.com/KB/database/SQLServer2K8FullTextSearh.aspx"&gt;Code Project&lt;/a&gt;.
&lt;/p&gt;
&lt;p style="margin: 0px"&gt;&lt;img style="margin-top: 10px;" src="/blog/wp-content/themes/default/images/inlineblock_bottom.gif" alt="" class="articleInlineImage" height="15" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;SQL Server FullText is easy to use in applications requiring string searching.&lt;/p&gt;
&lt;p&gt;The Danish, Polish and Turkish wordbreaker and stemmer implementations for SQL Server FullText is not developed by Microsoft and therefore not enabled by default. The libraries are however part of the installation process and are therefore present on disk.&lt;/p&gt;
&lt;p&gt;To make use of the Danish language capabilities in SQL Server 2008, register the libraries in registry and reload the FullText languages:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download &amp;amp; run the &lt;a href="http://www.lybecker.com/blog/wp-content/uploads/DanishFullText.zip"&gt;DanishFulltext.reg&lt;/a&gt; file on the server. It will register wordbreaker, stemmer and default location of the thesaurus xml file.&lt;/li&gt;
&lt;li&gt;Run the exec sp_fulltext_service &amp;#8216;update_languages&amp;#8217; in a Management Studio.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now verify that Danish is enabled with this query: SELECT name FROM sys.fulltext_languages&lt;/p&gt;
&lt;p&gt;Note: The DanishFullText.reg assumes that SQL Server is a default instance (not a named instance). If not, modify the file by changing the MSSQL10.MSSQLSERVER to the instance name.&lt;/p&gt;
&lt;p&gt;It is the same case with Polish and Turkish – they are not registered by default. See more in the MSDN article &lt;a title="MSDN article" href="http://msdn.microsoft.com/en-us/library/ms345188.aspx"&gt;How to: Load Licensed Third-Party Word Breakers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;List of out of the box SQL Server 2008 FullText supported languages: Arabic, Bengali (India), Brazilian, British English, Bulgarian, Catalan, Chinese (Hong Kong SAR, PRC), Chinese (Macau SAR), Chinese (Singapore), Croatian, Danish, Dutch, English, French, German, Gujarati, Hebrew, Hindi, Icelandic, Indonesian ,Italian, Japanese, Kannada, Korean, Latvian, Lithuanian, Malay &amp;#8211; Malaysia, Malayalam, Marathi, Neutral, Norwegian (Bokmål), Polish, Portuguese, Punjabi, Romanian, Russian, Serbian (Cyrillic), Serbian (Latin), Simplified Chinese, Slovak, Slovenian, Spanish, Swedish, Tamil, Telugu, Thai, Traditional Chinese, Turkish, Ukrainian, Urdu, Vietnamese.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/' rel='bookmark' title='Transferring SQL Server logins'&gt;Transferring SQL Server logins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/03/17/sql-server-build-version/' rel='bookmark' title='SQL Server build version'&gt;SQL Server build version&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2008/02/16/microsoft-product-launch-2008/' rel='bookmark' title='Microsoft product launch 2008'&gt;Microsoft product launch 2008&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/reSEslrByMQ" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/08/09/enabling-danish-for-sql-server-fulltext/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/08/09/enabling-danish-for-sql-server-fulltext/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/08/09/enabling-danish-for-sql-server-fulltext/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Java 4-ever]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/K9sVmgA03ok/" />
		<id>http://www.lybecker.com/blog/?p=689</id>
		<updated>2010-07-18T06:23:25Z</updated>
		<published>2010-07-04T19:09:58Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Code fun" /><category scheme="http://www.lybecker.com/blog" term="Stuff" /><category scheme="http://www.lybecker.com/blog" term="Java" /><category scheme="http://www.lybecker.com/blog" term="Programming" />		<summary type="html"><![CDATA[I find this video hilarious&#8230; You should use the best tools at hand to solve the problem. That said; choosing between Java or .Net doesn’t really matter in most cases. There are however some areas where Java is a better choice and vice versa. I can’t wait to see it in the cinema PS. I [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &#8211; NoTech'>New blog &#8211; NoTech</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/07/04/java-4-ever/">&lt;p&gt;I find this video hilarious&amp;#8230;&lt;br /&gt;
&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="334" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="src" value="http://www.youtube.com/v/A1zySeNpW20&amp;amp;hl=da_DK&amp;amp;fs=1&amp;amp;rel=0&amp;amp;hd=1" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;embed type="application/x-shockwave-flash" width="550" height="334" src="http://www.youtube.com/v/A1zySeNpW20&amp;amp;hl=da_DK&amp;amp;fs=1&amp;amp;rel=0&amp;amp;hd=1" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
You should use the best tools at hand to solve the problem. That said; choosing between Java or .Net doesn’t really matter in most cases. There are however some areas where Java is a better choice and vice versa.&lt;/p&gt;
&lt;p&gt;I can’t wait to see it in the cinema &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;PS. I do develop with Java even though I do not blog much about it.&lt;/p&gt;
&lt;p&gt;Update: YouTube removed the video due to copyright claims. You can still see it &lt;a href="http://jz10.java.no/java-4-ever-trailer.html"&gt;JavaZone&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &amp;#8211; NoTech'&gt;New blog &amp;#8211; NoTech&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/K9sVmgA03ok" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/07/04/java-4-ever/#comments" thr:count="3" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/07/04/java-4-ever/feed/atom/" thr:count="3" />
		<thr:total>3</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/07/04/java-4-ever/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Meeting the SQL Azure Development Team]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/4HX0Et9sH9c/" />
		<id>http://www.lybecker.com/blog/?p=675</id>
		<updated>2010-06-30T14:28:05Z</updated>
		<published>2010-06-30T14:28:05Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Announcement" /><category scheme="http://www.lybecker.com/blog" term="SQL Azure" /><category scheme="http://www.lybecker.com/blog" term="SQL Server" /><category scheme="http://www.lybecker.com/blog" term="Azure" /><category scheme="http://www.lybecker.com/blog" term="Cloud" /><category scheme="http://www.lybecker.com/blog" term="Database" /><category scheme="http://www.lybecker.com/blog" term="Microsoft SQL Server" />		<summary type="html"><![CDATA[Last week I was at Microsoft HQ in Redmond, WA, USA. I was invited by the SQL Azure Development Team to look at some of the new unreleased features and comment on features in their roadmap. Unfortunately most of the content was confidential, meaning that I was under NDA, so I may not disclose any [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/04/16/world%e2%80%99s-first-electronic-annual-general-meeting/' rel='bookmark' title='World’s first electronic annual general meeting'>World’s first electronic annual general meeting</a></li>
<li><a href='http://www.lybecker.com/blog/2011/01/16/using-lucene-net-with-microsoft-azure/' rel='bookmark' title='Using Lucene.Net with Microsoft Azure'>Using Lucene.Net with Microsoft Azure</a></li>
<li><a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'>Miracle Open World 2010 Lucene Presentation</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/06/30/meeting-the-sql-azure-development-team/">&lt;p style="text-align: center;"&gt;&lt;img class="size-medium wp-image-682   aligncenter" title="SQL Azure Logo" src="http://www.lybecker.com/blog/wp-content/uploads/SqlAzureLogo-300x130.png" alt="" width="300" height="130" /&gt;&lt;/p&gt;
&lt;p style="text-align: left;"&gt;Last week I was at Microsoft HQ in Redmond, WA, USA. I was invited by the &lt;a title="SQL Azure Team Blog" href="http://blogs.msdn.com/b/sqlazure/"&gt;SQL Azure Development Team&lt;/a&gt; to look at some of the new unreleased features and comment on features in their roadmap.&lt;/p&gt;
&lt;p&gt;Unfortunately most of the content was confidential, meaning that I was under &lt;a title="Non-Disclosure Agreement on Wikipedia" href="http://en.wikipedia.org/wiki/Non-disclosure_agreement"&gt;NDA&lt;/a&gt;, so I may not disclose any details. Sorry :-/&lt;/p&gt;
&lt;p&gt;During the week with the SQL Azure Development Team I was fortunate to be engaged in technical detailed discussion about some of the upcoming feature releases – mainly discussing the SQL Server features not currently available in SQL Azure. It was interesting and enlightening at the same time to discuss their technical challenges and why they have build SQL Azure the way they have.&lt;/p&gt;
&lt;p&gt;All in all, my conclusion after this event is that Microsoft takes SQL Azure seriously and it will become a major player in the &lt;a title="Relational Database Management System on Wikipedia" href="http://en.wikipedia.org/wiki/Relational_database_management_system"&gt;RDBMS&lt;/a&gt; world. It will not just be a SQL Server in the cloud, but a separate product with different market segments and different features. I am looking forward to a bright future with SQL Azure &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/04/16/world%e2%80%99s-first-electronic-annual-general-meeting/' rel='bookmark' title='World’s first electronic annual general meeting'&gt;World’s first electronic annual general meeting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2011/01/16/using-lucene-net-with-microsoft-azure/' rel='bookmark' title='Using Lucene.Net with Microsoft Azure'&gt;Using Lucene.Net with Microsoft Azure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'&gt;Miracle Open World 2010 Lucene Presentation&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/4HX0Et9sH9c" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/06/30/meeting-the-sql-azure-development-team/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/06/30/meeting-the-sql-azure-development-team/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/06/30/meeting-the-sql-azure-development-team/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Check for breaking changes in APIs]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/QBwtOew-MaI/" />
		<id>http://www.lybecker.com/blog/?p=667</id>
		<updated>2010-08-09T18:11:24Z</updated>
		<published>2010-06-08T05:59:09Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Full Text Search" /><category scheme="http://www.lybecker.com/blog" term="Lucene" /><category scheme="http://www.lybecker.com/blog" term="Useful tools" /><category scheme="http://www.lybecker.com/blog" term="Apache Lucene" /><category scheme="http://www.lybecker.com/blog" term="API" /><category scheme="http://www.lybecker.com/blog" term="Breaking Changes" />		<summary type="html"><![CDATA[Have you ever had the need to compare interfaces of two versions of the same framework? If you have, then ApiChange is a tool for you. It’s open source, powerful and easy to use I gave it a spin comparing current trunk version 2.9.2 of Lucene.Net with the latest official release version 2.4.0. I downloaded [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'>Miracle Open World 2010 Lucene Presentation</a></li>
<li><a href='http://www.lybecker.com/blog/2011/01/10/cnug-lucene-net-presentation/' rel='bookmark' title='CNUG Lucene.Net presentation'>CNUG Lucene.Net presentation</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/06/08/check-for-breaking-changes-in-apis/">&lt;p&gt;Have you ever had the need to compare interfaces of two versions of the same framework?&lt;/p&gt;
&lt;p&gt;If you have, then &lt;a title="ApiChange on CodePlex" href="http://apichange.codeplex.com/"&gt;ApiChange&lt;/a&gt; is a tool for you. It’s open source, powerful and easy to use &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;I gave it a spin comparing current trunk version 2.9.2 of Lucene.Net with the latest official release version 2.4.0.&lt;/p&gt;
&lt;p&gt;I downloaded ApiChange and ran the following command in a command prompt:&lt;/p&gt;
&lt;pre class="brush: bash; title: ; notranslate"&gt;
ApiChange.exe -Diff -old C:\Lucene.Net_2_4_0\Lucene.Net.dll -new C:\trunk\Lucene.Net.dll
&lt;/pre&gt;
&lt;p&gt;The output &lt;a href="http://www.lybecker.com/blog/wp-content/uploads/BreakingChangesInLucene.txt"&gt;lists all the differences&lt;/a&gt;, but here is a summary:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;23 public types where removed&lt;/li&gt;
&lt;li&gt;96 public types where added&lt;/li&gt;
&lt;li&gt;158 public types where changed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cool little tool with other features such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Diff public types for breaking changes.&lt;/li&gt;
&lt;li&gt;Who uses a method?&lt;/li&gt;
&lt;li&gt;Who uses a type?&lt;/li&gt;
&lt;li&gt;Who uses implements an interface?&lt;/li&gt;
&lt;li&gt;Who references me?&lt;/li&gt;
&lt;li&gt;What format has the binary (32/64, Managed C++, Pure IL, Unmanaged)?&lt;/li&gt;
&lt;li&gt;Search for all event subscribers and unsubscribers.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It’s based on &lt;a title="Mono Cecil's website" href="http://www.mono-project.com/Cecil"&gt;Mono Cecil&lt;/a&gt; – a free IL parser, and not reflection as I initial thought. &lt;a title="ApiChange author blog post ApiChange Is Released!" href="http://geekswithblogs.net/akraus1/archive/2010/06/03/140207.aspx"&gt;Go check it out…&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'&gt;Miracle Open World 2010 Lucene Presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2011/01/10/cnug-lucene-net-presentation/' rel='bookmark' title='CNUG Lucene.Net presentation'&gt;CNUG Lucene.Net presentation&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/QBwtOew-MaI" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/06/08/check-for-breaking-changes-in-apis/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/06/08/check-for-breaking-changes-in-apis/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/06/08/check-for-breaking-changes-in-apis/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Levels of reuse in Software Development]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/LY7Xi4H7vJs/" />
		<id>http://www.lybecker.com/blog/?p=656</id>
		<updated>2010-06-01T06:52:33Z</updated>
		<published>2010-06-01T06:52:33Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Everyday coding" /><category scheme="http://www.lybecker.com/blog" term="Ilities" /><category scheme="http://www.lybecker.com/blog" term="Stuff" /><category scheme="http://www.lybecker.com/blog" term="Design pattern" /><category scheme="http://www.lybecker.com/blog" term="Methodologies" /><category scheme="http://www.lybecker.com/blog" term="Object-oriented programming" />		<summary type="html"><![CDATA[One of the promises of object-orientation is reuse. Developing new software systems is expensive, and maintaining them is even more expensive. Reuse is therefore sensible in both business and technology perspectives. With assistance of Erich Gamma, I have identified four levels of reuse. First level of reuse: Copy/paste Duplicating code or functionality makes it easy [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/10/22/reuse-in-sql-server-2008-integration-services/' rel='bookmark' title='Reuse in SQL Server 2008 Integration Services'>Reuse in SQL Server 2008 Integration Services</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/06/01/levels-of-reuse-in-software-development/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/Softwarepuzzle.jpg"&gt;&lt;img class="alignright size-full wp-image-662" title="SoftwarePuzzle" src="http://www.lybecker.com/blog/wp-content/uploads/Softwarepuzzle.jpg" alt="" width="165" height="153" /&gt;&lt;/a&gt;One of the promises of object-orientation is reuse. Developing new software systems is expensive, and maintaining them is even more expensive. Reuse is therefore sensible in both business and technology perspectives.&lt;/p&gt;
&lt;p&gt;With assistance of Erich Gamma, I have identified four levels of reuse.&lt;/p&gt;
&lt;h4&gt;First level of reuse: Copy/paste&lt;/h4&gt;
&lt;p&gt;Duplicating code or functionality makes it easy to reuse it. It’s a real timesaver at first, but keeping all the duplicates up-to-date and maintaining them is horrifying task. Not to mention the problems when forgetting to update one or more duplicates…&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“Copy and paste programming is a pejorative term to describe highly repetitive computer programming code apparently produced by copy and paste operations. It is frequently symptomatic of a lack of programming competence, or an insufficiently expressive development environment, as subroutines or libraries would normally be used instead. In certain contexts it has legitimate value, if used with care.” &lt;a title="Copy/past programming on Wikipedia" href="http://en.wikipedia.org/wiki/Copy_and_paste_programming"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;h4&gt;&lt;strong&gt;Second level of reuse: Class libraries&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Reuse at class level or a set of classes in a software library is common and also fairly easy with object-oriented languages.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“Libraries contain code and data that provide services to independent programs. This allows the sharing and changing of code and data in a modular fashion. Some executables are both standalone programs and libraries, but most libraries are not executables …” &lt;a title="Software Libraries on Wikipedia" href="http://en.wikipedia.org/wiki/Library_(computer_science)"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;h4&gt;&lt;strong&gt;Third level of reuse: Design Patterns&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Patterns allow you to reuse design ideas and concepts independent of concrete code.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved.” &lt;a title="Design Patterns on Wikipedia" href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;h4&gt;&lt;strong&gt;Fourth level of reuse: Frameworks&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;An object-oriented abstract design to solve a specific problem – often very specialized, like Unit Testing frameworks and Object-Relational Mapping frameworks, but can be large, complex or domain specific.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;#8220;A software framework … is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality. Frameworks are a special case of software libraries in that they are reusable abstractions of code wrapped in a well-defined API, yet they contain some key distinguishing features that separate them from normal libraries.&amp;#8221; &lt;a title="Software Frameworks on Wikipedia" href="http://en.wikipedia.org/wiki/Software_framework"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;It’s all about being pragmatic &amp;#8211; not all software will reach fourth level of reuse and will be structured as frameworks &amp;#8211; frankly it shouldn’t. That said; copy/past style development is unquestionably a wrong path.&lt;/p&gt;
&lt;p&gt;What level is your company at?&lt;/p&gt;
&lt;div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/22/reuse-in-sql-server-2008-integration-services/' rel='bookmark' title='Reuse in SQL Server 2008 Integration Services'&gt;Reuse in SQL Server 2008 Integration Services&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/LY7Xi4H7vJs" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/06/01/levels-of-reuse-in-software-development/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/06/01/levels-of-reuse-in-software-development/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/06/01/levels-of-reuse-in-software-development/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Ageing pictogram]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/tLNSKZlRf_8/" />
		<id>http://www.lybecker.com/blog/?p=646</id>
		<updated>2010-08-09T18:12:11Z</updated>
		<published>2010-05-19T21:02:03Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Conference" /><category scheme="http://www.lybecker.com/blog" term="Full Text Search" /><category scheme="http://www.lybecker.com/blog" term="Lucene" /><category scheme="http://www.lybecker.com/blog" term="Stuff" /><category scheme="http://www.lybecker.com/blog" term="Apache Lucene" /><category scheme="http://www.lybecker.com/blog" term="Pictogram" /><category scheme="http://www.lybecker.com/blog" term="Prague" />		<summary type="html"><![CDATA[I’m in Prague, Czech for the Apache Lucene EuroCon 2010; wandered around, where I saw this drawing on a house wall. I find it hilarious – especially the natural shadow over the coffins. It’s just by pure coincidence that I was there, at the time of day where the doorway cast its shadow over the [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/06/01/levels-of-reuse-in-software-development/' rel='bookmark' title='Levels of reuse in Software Development'>Levels of reuse in Software Development</a></li>
<li><a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &#8211; NoTech'>New blog &#8211; NoTech</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/05/19/ageing-pictogram/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/AgeingPictogram.jpg"&gt;&lt;img class="alignnone size-full wp-image-650" title="Ageing Pictogram" src="http://www.lybecker.com/blog/wp-content/uploads/AgeingPictogram.jpg" alt="" width="550" height="315" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’m in Prague, Czech for the &lt;a title="Conference website" href="http://www.lucene-eurocon.org/"&gt;Apache Lucene EuroCon 2010&lt;/a&gt;; wandered around, where I saw this drawing on a house wall.&lt;/p&gt;
&lt;p&gt;I find it hilarious – especially the natural shadow over the coffins. It’s just by pure coincidence that I was there, at the time of day where the doorway cast its shadow over the coffins &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/06/01/levels-of-reuse-in-software-development/' rel='bookmark' title='Levels of reuse in Software Development'&gt;Levels of reuse in Software Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &amp;#8211; NoTech'&gt;New blog &amp;#8211; NoTech&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/tLNSKZlRf_8" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/05/19/ageing-pictogram/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/05/19/ageing-pictogram/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/05/19/ageing-pictogram/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Finding Missing Indexes with SQL Server DMVs]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/xZv15vX9AUo/" />
		<id>http://www.lybecker.com/blog/?p=637</id>
		<updated>2010-05-11T14:01:49Z</updated>
		<published>2010-05-10T21:06:43Z</published>
		<category scheme="http://www.lybecker.com/blog" term="SQL Server" /><category scheme="http://www.lybecker.com/blog" term="Useful tools" /><category scheme="http://www.lybecker.com/blog" term="DMVs" /><category scheme="http://www.lybecker.com/blog" term="Perfornance" /><category scheme="http://www.lybecker.com/blog" term="SQL Server 2005" /><category scheme="http://www.lybecker.com/blog" term="SQL Server 2008" />		<summary type="html"><![CDATA[Finding Missing Indexes with DMVsSome time ago I wrote written about easy index wins for SQL Server 2005. SQL server maintains statistics about indexes you should consider creating. This time I’ll show you a DMV (Dynamic Management View) that lists index candidates. This method works for SQL Server 2005 SP2 and later versions. The query [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2008/12/01/easy-win-index-candidates-on-sql-server-2005/' rel='bookmark' title='Easy win &#8211; index candidates on SQL Server 2005'>Easy win &#8211; index candidates on SQL Server 2005</a></li>
<li><a href='http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/' rel='bookmark' title='Transferring SQL Server logins'>Transferring SQL Server logins</a></li>
<li><a href='http://www.lybecker.com/blog/2007/11/23/free-sql-server-tools/' rel='bookmark' title='Free SQL Server tools'>Free SQL Server tools</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/05/10/finding-missing-indexes-with-sql-server-dmvs/">&lt;p&gt;Finding Missing Indexes with DMVsSome time ago I wrote written about &lt;a title="Anders Lybeckers Weblog - Easy win – index candidates on SQL Server 2005" href="http://www.lybecker.com/blog/2008/12/01/easy-win-index-candidates-on-sql-server-2005/"&gt;easy index wins for SQL Server 2005&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;SQL server maintains statistics about indexes you should consider creating. This time I’ll show you a DMV (Dynamic Management View) that lists index candidates. This method works for SQL Server 2005 SP2 and later versions.&lt;/p&gt;
&lt;p&gt;The query is based on three DMVs and returns index candidates where the calculated improvement is more than 10%:&lt;/p&gt;
&lt;pre class="brush: sql; title: ; notranslate"&gt;
SELECT
  migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) AS improvement_measure_pct,
  QUOTENAME(db_name(mid.database_id)) AS [database],
  QUOTENAME(OBJECT_SCHEMA_NAME(mid.object_id, mid.database_id)) AS [schema],
  QUOTENAME(OBJECT_NAME(mid.object_id, mid.database_id)) AS [table],
  'CREATE INDEX [missing_index_' + CONVERT(varchar(64), NEWID()) + ']'
  + ' ON ' + mid.statement
  + ' (' + ISNULL (mid.equality_columns, '')
  + CASE
      WHEN mid.equality_columns IS NOT NULL
	    AND mid.inequality_columns IS NOT NULL THEN ','
      ELSE ''
    END
  + ISNULL(mid.inequality_columns, '')
  + ')'
  + ISNULL(' INCLUDE (' + mid.included_columns + ')', '')
	  AS create_index_statement,
  migs.*,
  mid.database_id,
  mid.[object_id]
FROM sys.dm_db_missing_index_groups mig
  INNER JOIN sys.dm_db_missing_index_group_stats migs
	ON migs.group_handle = mig.index_group_handle
  INNER JOIN sys.dm_db_missing_index_details mid
	ON mig.index_handle = mid.index_handle
WHERE
	migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) *
		(migs.user_seeks + migs.user_scans) &amp;gt; 10
ORDER BY
	migs.avg_total_user_cost * migs.avg_user_impact *
		(migs.user_seeks + migs.user_scans) DESC
&lt;/pre&gt;
&lt;p&gt;It is important to note, that these are index candidates are only &lt;em&gt;candidates&lt;/em&gt; and the improvements are based on &lt;em&gt;estimates&lt;/em&gt;. The estimated improvement does not take extra disk space requirements and the maintenance of the indexes during updates, inserts and deletes. Furthermore it does not make recommendation about usage of clustered or non-clustered indexes.&lt;/p&gt;
&lt;p&gt;This blog post is inspired by Bart Duncan&amp;#8217;s &lt;a title="Bart Duncan's SQL WebLog" href="http://blogs.msdn.com/bartd/archive/2007/07/19/are-you-using-sql-s-missing-index-dmvs.aspx"&gt;Are you using SQL&amp;#8217;s missing index DMVs&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2008/12/01/easy-win-index-candidates-on-sql-server-2005/' rel='bookmark' title='Easy win &amp;#8211; index candidates on SQL Server 2005'&gt;Easy win &amp;#8211; index candidates on SQL Server 2005&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/' rel='bookmark' title='Transferring SQL Server logins'&gt;Transferring SQL Server logins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/11/23/free-sql-server-tools/' rel='bookmark' title='Free SQL Server tools'&gt;Free SQL Server tools&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/xZv15vX9AUo" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/05/10/finding-missing-indexes-with-sql-server-dmvs/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/05/10/finding-missing-indexes-with-sql-server-dmvs/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/05/10/finding-missing-indexes-with-sql-server-dmvs/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Visual Studio 2010 keyboard shortcuts]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/d3uYdoXPtzA/" />
		<id>http://www.lybecker.com/blog/?p=624</id>
		<updated>2010-05-02T07:39:41Z</updated>
		<published>2010-05-02T07:39:41Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Everyday coding" /><category scheme="http://www.lybecker.com/blog" term="Useful tools" /><category scheme="http://www.lybecker.com/blog" term="Visual Studio" /><category scheme="http://www.lybecker.com/blog" term="shortcut keys" />		<summary type="html"><![CDATA[I am fond of keyboard shortcuts and wish I was a keyboard-shortcut-ninja and didn’t have to rely on the mouse all the time. Using keyboard shortcuts boosts productivity and ergonomically a better choice, as the risk of getting a tennis elbow/mouse elbow diminish. Source of keyboard shortcuts for Visual Studio 2010: Visual Studio 2010 keyboard [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/02/02/visual-studio-2008-shortcuts-features/' rel='bookmark' title='Visual Studio 2008 shortcuts features'>Visual Studio 2008 shortcuts features</a></li>
<li><a href='http://www.lybecker.com/blog/2007/02/01/visual-studio-2005-shortcuts-features/' rel='bookmark' title='Visual Studio 2005 shortcuts features'>Visual Studio 2005 shortcuts features</a></li>
<li><a href='http://www.lybecker.com/blog/2009/05/21/visual-studio-2010-beta-1-available/' rel='bookmark' title='Visual Studio 2010 Beta 1 available'>Visual Studio 2010 Beta 1 available</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/05/02/visual-studio-2010-keyboard-shortcuts/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/VisualStudio2010Logo.jpg"&gt;&lt;img class="alignright size-full wp-image-628" title="Visual Studio 2010 Logo" src="http://www.lybecker.com/blog/wp-content/uploads/VisualStudio2010Logo.jpg" alt="" width="157" height="105" /&gt;&lt;/a&gt;I am fond of keyboard shortcuts and wish I was a keyboard-shortcut-ninja and didn’t have to rely on the mouse all the time.&lt;/p&gt;
&lt;p&gt;Using keyboard shortcuts boosts productivity and ergonomically a better choice, as the risk of getting a tennis elbow/mouse elbow diminish.&lt;/p&gt;
&lt;p&gt;Source of keyboard shortcuts for Visual Studio 2010:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Visual Studio 2010 keyboard shortcuts article on MSDN" href="http://msdn.microsoft.com/en-us/library/dd576362(v=VS.100).aspx"&gt;Visual Studio 2010 keyboard shortcuts on MSDN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Visual Studio 2010 keyboard shortcut pamphlets" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=92ced922-d505-457a-8c9c-84036160639f"&gt;Visual Studio 2010 keyboard shortcuts pamphlets &amp;#8211; ready to print&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="JetBrains ReSharper keyboard shortcuts pamphlet" href="http://www.jetbrains.com/resharper/docs/ReSharper50DefaultKeymap_VS_scheme.pdf"&gt;ReSharper 5 default keyboard shortcuts pamphlet &amp;#8211; ready to print&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/02/02/visual-studio-2008-shortcuts-features/' rel='bookmark' title='Visual Studio 2008 shortcuts features'&gt;Visual Studio 2008 shortcuts features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/02/01/visual-studio-2005-shortcuts-features/' rel='bookmark' title='Visual Studio 2005 shortcuts features'&gt;Visual Studio 2005 shortcuts features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/05/21/visual-studio-2010-beta-1-available/' rel='bookmark' title='Visual Studio 2010 Beta 1 available'&gt;Visual Studio 2010 Beta 1 available&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/d3uYdoXPtzA" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/05/02/visual-studio-2010-keyboard-shortcuts/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/05/02/visual-studio-2010-keyboard-shortcuts/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/05/02/visual-studio-2010-keyboard-shortcuts/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Removing SVN folders with PowerShell]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/j45WhbX_Ug4/" />
		<id>http://www.lybecker.com/blog/?p=595</id>
		<updated>2010-04-24T14:42:57Z</updated>
		<published>2010-04-24T14:42:57Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Everyday coding" /><category scheme="http://www.lybecker.com/blog" term="PowerShell" /><category scheme="http://www.lybecker.com/blog" term="Useful tools" /><category scheme="http://www.lybecker.com/blog" term="Batch" /><category scheme="http://www.lybecker.com/blog" term="SVN" />		<summary type="html"><![CDATA[I need to remove.svn folders from an existing Visual Studio Solution a customer email me, so I could commit it to another SVN repository. If I had access to the original SVN repository, I could have used the export function, as it does not include the .svn folders – but no, it should not be [...]
No related posts.]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/04/24/removing-svn-folders-with-powershell/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/PowerShellLogo.jpg"&gt;&lt;img class="alignright size-thumbnail wp-image-613" title="PowerShell Logo" src="http://www.lybecker.com/blog/wp-content/uploads/PowerShellLogo-150x150.jpg" alt="" width="150" height="150" /&gt;&lt;/a&gt;&lt;br /&gt;
I need to remove.svn folders from an existing Visual Studio Solution a customer email me, so I could commit it to another SVN repository.&lt;/p&gt;
&lt;p&gt;If I had access to the original SVN repository, I could have used the export function, as it does not include the .svn folders – but no, it should not be that easy.&lt;/p&gt;
&lt;p&gt;What the heck, I have been putting it off way too long to start working with PowerShell. It should be a familiar environment as it is object-oriented with a C# like syntax with full access to the .Net Framework Base Class Libraries (BCL).&lt;/p&gt;
&lt;p&gt;Here it goes – my first PowerShell script…&lt;/p&gt;
&lt;pre class="brush: powershell; title: ; notranslate"&gt;
function RemoveSvnFolders([string]$path)
{
    Write-Host &amp;quot;Removing .svn folders in path $path recursive&amp;quot;

	Get-ChildItem $path -Include &amp;quot;.svn&amp;quot; -Force -Recurse |
		Where {$_.psIsContainer -eq $true} |
		Foreach ($_)
		{
			Remove-Item $_.Fullname -Force -Recurse
		}
}
&lt;/pre&gt;
&lt;p&gt;The &lt;a title="Write-Host Cmdlet article on TechNet" href="http://technet.microsoft.com/en-us/library/ee177031.aspx"&gt;Write-Host Cmdlet&lt;/a&gt; just writes the content to console window.&lt;/p&gt;
&lt;div class="articleInlineBlocks alignright"&gt;&lt;img src="/blog/wp-content/themes/default/images/inlineblock_top.gif" class="articleInlineImage" height="5" /&gt;&lt;/p&gt;
&lt;p class="articleInlineBlockContent"&gt;
If you are like me, a PowerShell novice &amp;#8211; start with the &lt;a title="Getting Started with Windows PowerShell article on TechNet" href="http://technet.microsoft.com/en-us/library/ee177003.aspx"&gt;Getting Started with Windows PowerShell&lt;/a&gt; article and use the free tool &lt;a title="Free PowerShell IDE for PowerShell" href="http://www.quest.com/powershell/"&gt;PowerGUI&lt;/a&gt; from Quest Software.  It’s PowerShell IDE with an integrated syntax highlighter editor and debugger.
&lt;/p&gt;
&lt;p style="margin: 0px"&gt;&lt;img style="margin-top: 10px;" src="/blog/wp-content/themes/default/images/inlineblock_bottom.gif" alt="" class="articleInlineImage" height="15" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;In line 5 the &lt;a title="Get-ChildItem Cmdlet article on TechNet" href="http://technet.microsoft.com/en-us/library/dd347686.aspx"&gt;Get-ChildItem Cmdlet&lt;/a&gt; iterates the path recursively and filtering the result to include only “.svn” files and folders. The force parameter allows the cmdlet to get items that cannot otherwise be accessed by the user, such as hidden or system files. Get-ChildItem Cmdlet can also iterate the registry.&lt;/p&gt;
&lt;p&gt;Afterwards the result from Get-ChildItem Cmdlet is piped to the Where-Object Cmdlet (Where is an alias for Where-Object). The psIsContainer is a property on a folder. If it is equal to true pass it to the next pipe. I could have written the following instead:&lt;/p&gt;
&lt;pre class="brush: powershell; title: ; notranslate"&gt;
Where {$_.mode -match &amp;quot;d&amp;quot;}
&lt;/pre&gt;
&lt;p&gt;Use the below statement to list all properties for the files and folders in the current folder:&lt;/p&gt;
&lt;pre class="brush: powershell; title: ; notranslate"&gt;
Get-ChildItem | format-list -property *
&lt;/pre&gt;
&lt;p&gt;The foreach statement iterates every item and deletes the folder with the &lt;a title="Remove-Item Cmdlet article on TechNet" href="http://technet.microsoft.com/en-us/library/dd315401.aspx"&gt;Remove-Item Cmdlet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Calling the method is as simple as:&lt;/p&gt;
&lt;pre class="brush: powershell; title: ; notranslate"&gt;
RemoveSvnFolders(&amp;quot;c:\svn\My Solution&amp;quot;)
&lt;/pre&gt;
&lt;p&gt;On TechNet there is a myriad of articles with the root &lt;a title="Windows PowerShell articles on TechNet" href="http://technet.microsoft.com/en-us/library/bb978525.aspx"&gt;Windows PowerShell Core&lt;/a&gt; and more task oriented like &lt;a title="How-to articles on TechNet" href="http://technet.microsoft.com/en-us/scriptcenter/dd772285.aspx"&gt;A Task-Based Guide to Windows PowerShell Cmdlets&lt;/a&gt; and &lt;a title="Article on Pipelining on TechNet" href="http://technet.microsoft.com/en-us/library/ee176927.aspx"&gt;Piping and the Pipeline in Windows PowerShell&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/Remove-SVN-folders.zip"&gt;Remove SVN folders PowerShell Script&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Happy PowerShelling… &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;No related posts.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/j45WhbX_Ug4" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/04/24/removing-svn-folders-with-powershell/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/04/24/removing-svn-folders-with-powershell/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/04/24/removing-svn-folders-with-powershell/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Miracle Open World 2010 Lucene Presentation]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/QpUaqkiL51M/" />
		<id>http://www.lybecker.com/blog/?p=589</id>
		<updated>2010-08-09T18:12:40Z</updated>
		<published>2010-04-20T17:46:01Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Announcement" /><category scheme="http://www.lybecker.com/blog" term="Full Text Search" /><category scheme="http://www.lybecker.com/blog" term="Lucene" /><category scheme="http://www.lybecker.com/blog" term="SQL Server" /><category scheme="http://www.lybecker.com/blog" term="dotNet" /><category scheme="http://www.lybecker.com/blog" term="Graph Database" /><category scheme="http://www.lybecker.com/blog" term="MOW2010" /><category scheme="http://www.lybecker.com/blog" term="WinDbg" />		<summary type="html"><![CDATA[The conference is over and it was a great success. I meet a lot of new people and had lots of technical discussions about .Net, graph databases, freetext search, SQL Server, Oracle Service Bus, debugging with WinDbg and extensions. The slides and demo code for my Lucene session is available here: Making freetext search with [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/04/04/speaking-about-lucene-at-miracle-open-world-2010/' rel='bookmark' title='Speaking about Lucene at Miracle Open World 2010'>Speaking about Lucene at Miracle Open World 2010</a></li>
<li><a href='http://www.lybecker.com/blog/2011/01/10/cnug-lucene-net-presentation/' rel='bookmark' title='CNUG Lucene.Net presentation'>CNUG Lucene.Net presentation</a></li>
<li><a href='http://www.lybecker.com/blog/2010/10/27/anug-solrlucene-presentation/' rel='bookmark' title='ANUG Solr/Lucene presentation'>ANUG Solr/Lucene presentation</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/">&lt;p&gt;The conference is over and it was a great success. I meet a lot of new people and had lots of technical discussions about .Net, graph databases, freetext search, SQL Server, Oracle Service Bus, debugging with WinDbg and extensions.&lt;/p&gt;
&lt;p&gt;The slides and demo code for my Lucene session is available here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Making freetext search with Lucene.Net work for you presentation" href="http://www.lybecker.com/blog/wp-content/uploads/Making-freetext-search-with-Lucene.Net-work-for-you.pdf"&gt;Making freetext search with Lucene.Net work for you presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/LucenePlayground.zip"&gt;Lucene Playground (Visual Studio 2010 Solution)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My session &amp;#8220;Making freetext search with Lucene.Net work for you&amp;#8221; abstract:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Lucene is an open source full-featured text search engine library, making searching in large amounts of text lightning fast. Lucene are in use by many large sites like Wikipedia, LinkedIn, MySpace etc.&lt;/p&gt;
&lt;p&gt;It is easy to get started with Lucene, but there are many pitfalls… In this session you will learn about the do’s and don’t’s for indexing and searching, tools, scaling, new features in version 2.9 and some of the more advanced features.&lt;/p&gt;
&lt;p&gt;This presentation will use the Microsoft .Net implementation of Lucene named Lucene.Net, but the content of this presentation applies for ported versions of Lucene.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/04/04/speaking-about-lucene-at-miracle-open-world-2010/' rel='bookmark' title='Speaking about Lucene at Miracle Open World 2010'&gt;Speaking about Lucene at Miracle Open World 2010&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2011/01/10/cnug-lucene-net-presentation/' rel='bookmark' title='CNUG Lucene.Net presentation'&gt;CNUG Lucene.Net presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/10/27/anug-solrlucene-presentation/' rel='bookmark' title='ANUG Solr/Lucene presentation'&gt;ANUG Solr/Lucene presentation&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/QpUaqkiL51M" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Speaking about Lucene at Miracle Open World 2010]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/VzWBYLHsu1U/" />
		<id>http://www.lybecker.com/blog/?p=580</id>
		<updated>2010-04-04T17:04:10Z</updated>
		<published>2010-04-04T16:40:12Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Announcement" /><category scheme="http://www.lybecker.com/blog" term="Conference" /><category scheme="http://www.lybecker.com/blog" term="Lucene" /><category scheme="http://www.lybecker.com/blog" term="SQL Server" />		<summary type="html"><![CDATA[The conference Miracle Open World 2010 is soon upon us at Legoland (April 14.-16.) There will be four tracks this year: Oracle track, SQL Server track, .Net track and a workshop track. The conference is legendary because time spend at the conference is divided between 80% technical stuff and 80% social networking. No kidding’ socializing [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'>Miracle Open World 2010 Lucene Presentation</a></li>
<li><a href='http://www.lybecker.com/blog/2007/02/21/sql-server-open-world/' rel='bookmark' title='SQL Server Open World'>SQL Server Open World</a></li>
<li><a href='http://www.lybecker.com/blog/2007/03/14/great-conference/' rel='bookmark' title='Great conference'>Great conference</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/04/04/speaking-about-lucene-at-miracle-open-world-2010/">&lt;p&gt;&lt;img class="alignright size-full wp-image-582" title="Miracle Open World 2010" src="http://www.lybecker.com/blog/wp-content/uploads/MOW2010Logo.gif" alt="" width="135" height="200" /&gt;The conference Miracle Open World 2010 is soon upon us at Legoland (April 14.-16.) &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;There will be four tracks this year: Oracle track, SQL Server track, .Net track and a workshop track.&lt;/p&gt;
&lt;p&gt;The conference is legendary because time spend at the conference is divided between 80% technical stuff and 80% social networking. No kidding’ socializing is a big part of this conference with gala-dinner and the not-to-miss beach party at Lalandia Aquadome (including drinks).&lt;/p&gt;
&lt;p&gt;This year I only have one session where I’ll be presenting Lucene.Net.&lt;/p&gt;
&lt;p&gt;Session abstract:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Lucene is an open source full-featured text search engine library, making searching in large amounts of text lightning fast. Lucene are in use by many large sites like Wikipedia, LinkedIn, MySpace etc.&lt;/p&gt;
&lt;p&gt;It is easy to get started with Lucene, but there are many pitfalls… In this session you will learn about the do&amp;#8217;s and don&amp;#8217;t's for indexing and searching, tools, scaling, new features in version 2.9 and some of the more advanced features.&lt;/p&gt;
&lt;p&gt;This presentation will use the Microsoft .Net implementation of Lucene named Lucene.Net, but the content of this presentation applies for ported versions of Lucene.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;At the time of writing, 207 participants have registered for the conference. You can still register – it’s not too late.&lt;/p&gt;
&lt;p&gt;See more at the &lt;a title="Miracle Open World 2010 website" href="http://mow2010.dk/"&gt;Miracle Open World 2010 site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'&gt;Miracle Open World 2010 Lucene Presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/02/21/sql-server-open-world/' rel='bookmark' title='SQL Server Open World'&gt;SQL Server Open World&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/03/14/great-conference/' rel='bookmark' title='Great conference'&gt;Great conference&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/VzWBYLHsu1U" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/04/04/speaking-about-lucene-at-miracle-open-world-2010/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/04/04/speaking-about-lucene-at-miracle-open-world-2010/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/04/04/speaking-about-lucene-at-miracle-open-world-2010/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Upgraded the wireless network at work]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/G0bnMSJd3Jw/" />
		<id>http://www.lybecker.com/blog/?p=571</id>
		<updated>2010-04-04T14:47:19Z</updated>
		<published>2010-04-04T14:02:56Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Stuff" /><category scheme="http://www.lybecker.com/blog" term="Miracle" /><category scheme="http://www.lybecker.com/blog" term="WiFi" />		<summary type="html"><![CDATA[With new Wireless Access Points spread around the office building, we can now utilize the full potential of the 802.11n protocol. Related posts: Configuring Windows 7 network priority Levels of reuse in Software Development New blog &#8211; NoTech
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/09/10/configuring-windows-7-network-priority/' rel='bookmark' title='Configuring Windows 7 network priority'>Configuring Windows 7 network priority</a></li>
<li><a href='http://www.lybecker.com/blog/2010/06/01/levels-of-reuse-in-software-development/' rel='bookmark' title='Levels of reuse in Software Development'>Levels of reuse in Software Development</a></li>
<li><a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &#8211; NoTech'>New blog &#8211; NoTech</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/04/04/upgraded-the-wireless-network-at-work/">&lt;p&gt;With new Wireless Access Points spread around the office building, we can now utilize the full potential of the &lt;a title="IEEE 802.11 on Wikipedia" href="http://en.wikipedia.org/wiki/IEEE_802.11#802.11n"&gt;802.11n protocol&lt;/a&gt;.&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img class="size-full wp-image-573 aligncenter" title="FastWireless" src="http://www.lybecker.com/blog/wp-content/uploads/FastWireless1.png" alt="" width="367" height="443" /&gt;&lt;/p&gt;
&lt;p style="text-align: left;"&gt; &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/09/10/configuring-windows-7-network-priority/' rel='bookmark' title='Configuring Windows 7 network priority'&gt;Configuring Windows 7 network priority&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/06/01/levels-of-reuse-in-software-development/' rel='bookmark' title='Levels of reuse in Software Development'&gt;Levels of reuse in Software Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &amp;#8211; NoTech'&gt;New blog &amp;#8211; NoTech&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/G0bnMSJd3Jw" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/04/04/upgraded-the-wireless-network-at-work/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/04/04/upgraded-the-wireless-network-at-work/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/04/04/upgraded-the-wireless-network-at-work/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[It’s my birthday today]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/q4jnPjrjzS0/" />
		<id>http://www.lybecker.com/blog/?p=567</id>
		<updated>2010-04-02T07:07:17Z</updated>
		<published>2010-04-02T07:06:05Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Announcement" /><category scheme="http://www.lybecker.com/blog" term="Birthday" />		<summary type="html"><![CDATA[Yep – It’s true, I’m one year older today. The American singer and songwriter Marvin Gaye and Hans Christian Andersen – the world famous Danish author and poet noted for his children’s fairy tale stories like &#8220;The Ugly Duckling&#8221; and &#8220;The Little Mermaid&#8221; – both where born April 2nd. This is also the day, The [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &#8211; NoTech'>New blog &#8211; NoTech</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/04/02/it%e2%80%99s-my-birthday-today/">&lt;p&gt;Yep – It’s true, I’m one year older today.&lt;/p&gt;
&lt;p&gt;The American singer and songwriter &lt;a title="Wikipedia - Marvin Gaye" href="http://en.wikipedia.org/wiki/Marvin_Gaye"&gt;Marvin Gaye&lt;/a&gt; and &lt;a title="Wikipedia - Hans Christian Andersen" href="http://en.wikipedia.org/wiki/Hans_Christian_Andersen"&gt;Hans Christian Andersen&lt;/a&gt; – the world famous Danish author and poet noted for his children’s fairy tale stories like &amp;#8220;&lt;a title="Wikipedia - Fairy Tale The Ugly Duckling" href="http://en.wikipedia.org/wiki/The_Ugly_Duckling"&gt;The Ugly Duckling&lt;/a&gt;&amp;#8221; and &amp;#8220;&lt;a title="Wikipedia - Fairy Tale The Little Mermaid" href="http://en.wikipedia.org/wiki/The_Little_Mermaid"&gt;The Little Mermaid&lt;/a&gt;&amp;#8221; – both where born April 2&lt;sup&gt;nd&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;This is also the day, The Falklands War started where Argentina invades the British Falkland Islands in 1982.&lt;/p&gt;
&lt;p&gt;You can read more about &lt;a title="Information about April 2nd on Wikipedia" href="http://en.wikipedia.org/wiki/April_2"&gt;April 2&lt;sup&gt;nd&lt;/sup&gt; on Wikipedia&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now I’m already 33 years old :-S&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &amp;#8211; NoTech'&gt;New blog &amp;#8211; NoTech&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/q4jnPjrjzS0" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/04/02/it%e2%80%99s-my-birthday-today/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/04/02/it%e2%80%99s-my-birthday-today/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/04/02/it%e2%80%99s-my-birthday-today/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Compress files into individual archives]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/Ut9sVS1PxNg/" />
		<id>http://www.lybecker.com/blog/?p=550</id>
		<updated>2010-03-21T13:20:29Z</updated>
		<published>2010-03-21T13:20:29Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Useful tools" /><category scheme="http://www.lybecker.com/blog" term="7-Zip" /><category scheme="http://www.lybecker.com/blog" term="Batch" /><category scheme="http://www.lybecker.com/blog" term="DOS" />		<summary type="html"><![CDATA[I needed to compress a lot of files into individual zip archives – I did not want to do it manually Add the following to a bat file and every file with the extension txt will be compressed into a Zip archive with 7-Zip file archiver: E.g. a.txt will be compressed to the archive a.txt.zip [...]
No related posts.]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/03/21/compress-files-into-individual-archives/">&lt;p&gt;I needed to compress a lot of files into individual zip archives – I did not want to do it manually &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Add the following to a bat file and every file with the extension txt will be compressed into a Zip archive with &lt;a title="7-Zip's website" href="http://www.7-zip.org/"&gt;7-Zip file archiver&lt;/a&gt;:&lt;/p&gt;
&lt;pre class="brush: bash; title: ; notranslate"&gt;
@echo off
For %%f in (*.txt) do 7z.exe a -tzip %%f.zip %%f
&lt;/pre&gt;
&lt;p&gt;E.g. &lt;em&gt;a.txt&lt;/em&gt; will be compressed to the archive &lt;em&gt;a.txt.zip&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This was not exactly what I needed, as the dual extension caused problems in later processing.  In needed to remove the extension preceding the zip extension – therefore:&lt;/p&gt;
&lt;pre class="brush: bash; title: ; notranslate"&gt;
@echo off
For %%f in (*.txt) do 7z.exe a -tzip %%~nf.zip %%f
&lt;/pre&gt;
&lt;p&gt;E.g. &lt;em&gt;a.txt&lt;/em&gt; will be compressed to the archive &lt;em&gt;a.zip&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;That’s it &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;No related posts.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/Ut9sVS1PxNg" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/03/21/compress-files-into-individual-archives/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/03/21/compress-files-into-individual-archives/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/03/21/compress-files-into-individual-archives/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[SQL Server build version]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/RcFzX1IqsC4/" />
		<id>http://www.lybecker.com/blog/?p=527</id>
		<updated>2010-10-04T05:09:18Z</updated>
		<published>2010-03-17T18:58:01Z</published>
		<category scheme="http://www.lybecker.com/blog" term="SQL Server" /><category scheme="http://www.lybecker.com/blog" term="Useful tools" />		<summary type="html"><![CDATA[Working with SQL Server it is often important to know which edition, version and service pack applied to the instance. This information easily retrieve with either of these two system functions ServerProperty or @@Version: Both of the returns roughly the same information, but I tend to use the @@Version function as it easier to remember [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2008/12/01/easy-win-index-candidates-on-sql-server-2005/' rel='bookmark' title='Easy win &#8211; index candidates on SQL Server 2005'>Easy win &#8211; index candidates on SQL Server 2005</a></li>
<li><a href='http://www.lybecker.com/blog/2009/10/22/reuse-in-sql-server-2008-integration-services/' rel='bookmark' title='Reuse in SQL Server 2008 Integration Services'>Reuse in SQL Server 2008 Integration Services</a></li>
<li><a href='http://www.lybecker.com/blog/2009/02/01/sql-server-2008-system-views-poster/' rel='bookmark' title='SQL Server 2008 System Views poster'>SQL Server 2008 System Views poster</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/03/17/sql-server-build-version/">&lt;p&gt;&lt;img class="alignright size-full wp-image-538" title="Databases" src="http://www.lybecker.com/blog/wp-content/uploads/Databases.jpg" alt="" width="161" height="120" /&gt;&lt;br /&gt;
Working with SQL Server it is often important to know which edition, version and service pack applied to the instance.&lt;/p&gt;
&lt;p&gt;This information easily retrieve with either of these two system functions ServerProperty or @@Version:&lt;/p&gt;
&lt;pre class="brush: sql; title: ; notranslate"&gt;
SELECT @@VERSION

SELECT SERVERPROPERTY('ProductVersion'),
       SERVERPROPERTY('ProductLevel'),
       SERVERPROPERTY('Edition')
&lt;/pre&gt;
&lt;p&gt;Both of the returns roughly the same information, but I tend to use the @@Version function as it easier to remember and type.&lt;/p&gt;
&lt;p&gt;With the ServerProperty function additional information can be retrieved like MachineName, InstanceName or BuildClrVersion. &lt;a title="ServerProperty function on MSDN" href="http://msdn.microsoft.com/en-us/library/ms174396.aspx"&gt;See more about the ServerProperty function on MSDN&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;From the build number alone it is possible to figure out which version of the SQL Server and Service Packs applied via the below table:&lt;/p&gt;
&lt;table style="border-collapse: collapse;" border="1" cellspacing="0" cellpadding="4" bordercolor="#cccccc"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;RTM&lt;/td&gt;
&lt;td&gt;SP1&lt;/td&gt;
&lt;td&gt;SP2&lt;/td&gt;
&lt;td&gt;SP3&lt;/td&gt;
&lt;td&gt;SP4&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;SQL Server 2008 R2&lt;/td&gt;
&lt;td&gt;10.50.1600.1&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SQL Server 2008&lt;/td&gt;
&lt;td&gt;10.00.1600.22&lt;/td&gt;
&lt;td&gt;10.00.2531&lt;/td&gt;
&lt;td&gt;10.00.4000&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SQL Server 2005&lt;/td&gt;
&lt;td&gt;9.00.1399.06&lt;/td&gt;
&lt;td&gt;9.00.2047&lt;/td&gt;
&lt;td&gt;9.00.3042&lt;/td&gt;
&lt;td&gt;9.00.4035&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SQL Server 2000&lt;/td&gt;
&lt;td&gt;8.00.194&lt;/td&gt;
&lt;td&gt;8.00.384&lt;/td&gt;
&lt;td&gt;8.00.532&lt;/td&gt;
&lt;td&gt;8.00.760&lt;/td&gt;
&lt;td&gt;8.00.2039&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Credit for the above table is due to &lt;a href="http://sqlserverbuilds.blogspot.com/"&gt;this site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; April 30th 2010: Added SQL Server 2008 R2 RTM build number&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; October 4th 2010: Added SQL Server 2008 SP2 build number&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2008/12/01/easy-win-index-candidates-on-sql-server-2005/' rel='bookmark' title='Easy win &amp;#8211; index candidates on SQL Server 2005'&gt;Easy win &amp;#8211; index candidates on SQL Server 2005&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/22/reuse-in-sql-server-2008-integration-services/' rel='bookmark' title='Reuse in SQL Server 2008 Integration Services'&gt;Reuse in SQL Server 2008 Integration Services&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/02/01/sql-server-2008-system-views-poster/' rel='bookmark' title='SQL Server 2008 System Views poster'&gt;SQL Server 2008 System Views poster&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/RcFzX1IqsC4" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/03/17/sql-server-build-version/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/03/17/sql-server-build-version/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/03/17/sql-server-build-version/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Transferring SQL Server logins]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/OhvcgOBA-mc/" />
		<id>http://www.lybecker.com/blog/?p=518</id>
		<updated>2010-03-01T17:31:53Z</updated>
		<published>2010-03-01T17:31:53Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Security" /><category scheme="http://www.lybecker.com/blog" term="SQL Server" /><category scheme="http://www.lybecker.com/blog" term="SQL Server 2008" />		<summary type="html"><![CDATA[I had to migrate a SQL Server 2008 instance on to new hardware. I choose to detach the databases and attach the databases on the new SQL Server 2008 instance on the new hardware. This was easy, but the origin SQL Server instance used mixed SQL Server and Windows Authentication Mode. This also meant that [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/03/17/sql-server-build-version/' rel='bookmark' title='SQL Server build version'>SQL Server build version</a></li>
<li><a href='http://www.lybecker.com/blog/2009/08/11/change-data-capture-cdc-in-sql-server-2008/' rel='bookmark' title='Change Data Capture (CDC) in SQL Server 2008'>Change Data Capture (CDC) in SQL Server 2008</a></li>
<li><a href='http://www.lybecker.com/blog/2010/08/09/enabling-danish-for-sql-server-fulltext/' rel='bookmark' title='Enabling Danish for SQL Server FullText'>Enabling Danish for SQL Server FullText</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/">&lt;p&gt;&lt;img class="alignright size-full wp-image-520" title="Files" src="http://www.lybecker.com/blog/wp-content/uploads/Files.png" alt="" width="158" height="91" /&gt;I had to migrate a SQL Server 2008 instance on to new hardware.&lt;/p&gt;
&lt;p&gt;I choose to detach the databases and attach the databases on the new SQL Server 2008 instance on the new hardware. This was easy, but the origin SQL Server instance used mixed SQL Server and Windows Authentication Mode. This also meant that I had to migrate SQL Server logins, as the logins where a mix of SQL Server logins and Active Directory domain accounts/groups.&lt;/p&gt;
&lt;p&gt;Both the SQL Server logins and domain accounts/groups has an unique &lt;a title="SID explained on Wikipedia" href="http://en.wikipedia.org/wiki/Security_Identifier"&gt;SID&lt;/a&gt; (Security Identifier), which ties the logins in the SQL Server with the users in the database.&lt;/p&gt;
&lt;p&gt;While the domain accounts/groups resides in the Active Directory domain controllers, the SQL Server logins only resides in the SQL Server. This means, moving domain accounts/groups is easy, by just creating the same users in the new SQL Server instance, but SQL Server logins is not. I could either choose to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Recreate the SQL Server logins with new users in each of the databases, as new SQL Server logins will get new SIDs and therefore not be tied to the old database users. This also requires that you know all the passwords – alternative reconfigure all the client applications using SQL Server logins &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /&gt; &lt;/li&gt;
&lt;li&gt;Transfer the SQL Server logins with SID and password &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;How to transfer SQL Server logins? See the KB article: &lt;a title="KB article" href="http://support.microsoft.com/default.aspx/kb/918992/"&gt;How to transfer the logins and the passwords between instances of SQL Server 2005 and SQL Server 2008&lt;/a&gt;. Easy &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/03/17/sql-server-build-version/' rel='bookmark' title='SQL Server build version'&gt;SQL Server build version&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/08/11/change-data-capture-cdc-in-sql-server-2008/' rel='bookmark' title='Change Data Capture (CDC) in SQL Server 2008'&gt;Change Data Capture (CDC) in SQL Server 2008&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/08/09/enabling-danish-for-sql-server-fulltext/' rel='bookmark' title='Enabling Danish for SQL Server FullText'&gt;Enabling Danish for SQL Server FullText&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/OhvcgOBA-mc" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Cisco VPN (IPSec) support on 64 bit platforms]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/LNAINWHfKCA/" />
		<id>http://www.lybecker.com/blog/?p=507</id>
		<updated>2010-05-31T18:08:34Z</updated>
		<published>2010-01-14T18:58:28Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Useful tools" /><category scheme="http://www.lybecker.com/blog" term="Security" /><category scheme="http://www.lybecker.com/blog" term="VPN" /><category scheme="http://www.lybecker.com/blog" term="Windows 7" />		<summary type="html"><![CDATA[I like Windows 7 x64, but I hate Cisco’s lack of support for the IPSec protocol on 64-bit platforms. Many of our customers use IPSec and the Cisco VPN Client – therefore I cannot connect to the customer’s network via IPSec VPN tunnels on my primary laptop Until today A colleague of mine recommended Shrew [...]
No related posts.]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2010/01/14/cisco-vpn-ipsec-support-on-64-bit-platforms/">&lt;p&gt;&lt;a href="http://www.shrew.net/"&gt;&lt;img class="alignright size-full wp-image-508" title="Shrew Soft Logo" src="http://www.lybecker.com/blog/wp-content/uploads/shrewsoft-logo.png" alt="Shrew Soft Logo" width="100" height="111" /&gt;&lt;/a&gt;I like Windows 7 x64, but I hate Cisco’s lack of support for the IPSec protocol on 64-bit platforms. Many of our customers use IPSec and the Cisco VPN Client – therefore I cannot connect to the customer’s network via IPSec VPN tunnels on my primary laptop &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Until today &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;A colleague of mine recommended &lt;a title="Shrew Soft's website" href="http://www.shrew.net/"&gt;Shrew Soft VPN Client&lt;/a&gt;. It’s free and works like a charm. It’s a lot faster connecting and negotiating to the remote network than Cisco VPN Client, so fast in fact, that I initially thought that the connection failed. I’ve been using it for a couple of days, connecting to multiple customers, without any issues.&lt;/p&gt;
&lt;p&gt;Why does Cisco implement a VPN client for x64 platforms?&lt;/p&gt;
&lt;p&gt;I guess it is a money making scheme. They want to push their new Cisco VPN boxes and their new Cisco AnyConnect VPN client (expensive!), which makes use of SSL VPN.&lt;/p&gt;
&lt;p&gt;Greg Ferro has another critical article &lt;a title="Article Early Death of Cisco VPN Client Forces VPN License Fees" href="http://etherealmind.com/premature-death-cisco-vpn-client-end-of-life/"&gt;Early Death of Cisco VPN Client Forces VPN License Fees&lt;/a&gt; with more details about Cisco’s SSL VPN.&lt;/p&gt;
&lt;p&gt;I know of a commercial IPSec VPN client from &lt;a title="NCP's CPN client" href="http://www.ncp-e.com/en/solutions/vpn-products/secure-entry-client.html"&gt;NCP&lt;/a&gt; that works fine with Cisco IPSec VPN tunnels, but the steep price tag of $144 USD + taxes is too much.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update May 31, 2010:&lt;/strong&gt; Cisco has released an x64 version of their client tools for Windows 7 with IPSec protocol support. Either my money making scheme hypotheses is wrong or Cisco feared the wrath of my blog readers &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;No related posts.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/LNAINWHfKCA" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2010/01/14/cisco-vpn-ipsec-support-on-64-bit-platforms/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2010/01/14/cisco-vpn-ipsec-support-on-64-bit-platforms/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2010/01/14/cisco-vpn-ipsec-support-on-64-bit-platforms/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Lucene.Net and Transactions]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/j1LkKVioGyw/" />
		<id>http://www.lybecker.com/blog/?p=400</id>
		<updated>2010-08-09T18:13:13Z</updated>
		<published>2009-12-03T20:00:46Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Full Text Search" /><category scheme="http://www.lybecker.com/blog" term="Lucene" /><category scheme="http://www.lybecker.com/blog" term="dotNet" /><category scheme="http://www.lybecker.com/blog" term="Lucene.Net" /><category scheme="http://www.lybecker.com/blog" term="Transactions" />		<summary type="html"><![CDATA[Lucene.Net is an open source full text search engine library (a port from Java). It is stable and works like a charm &#8211; I’ve been using Lucene.Net for a couple of years now and implement a handful of solutions. Lucene is awesome. If you want to try working with Lucene.Net, then the DimeCast.Net crew has [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2007/03/12/configuring-the-dtc-for-wcf-with-oletx/' rel='bookmark' title='Configuring the DTC for WCF with OleTx'>Configuring the DTC for WCF with OleTx</a></li>
<li><a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'>Miracle Open World 2010 Lucene Presentation</a></li>
<li><a href='http://www.lybecker.com/blog/2011/01/16/using-lucene-net-with-microsoft-azure/' rel='bookmark' title='Using Lucene.Net with Microsoft Azure'>Using Lucene.Net with Microsoft Azure</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/12/03/lucene-net-and-transactions/">&lt;div class="articleInlineBlocks alignright"&gt;&lt;img class="articleInlineImage" src="/blog/wp-content/themes/default/images/inlineblock_top.gif" alt="" height="5" /&gt;&lt;/p&gt;
&lt;p class="articleInlineBlockContent" style="text-align: center;"&gt;
&lt;p class="articleInlineBlockContent"&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/LuceneLogo.gif"&gt;&lt;img class="aligncenter size-full wp-image-492" title="Lucene Search Engine Logo" src="http://www.lybecker.com/blog/wp-content/uploads/LuceneLogo.gif" alt="Lucene Search Engine Logo" width="160" height="25" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="articleInlineBlockContent"&gt;Lucene.Net is an open source full text search engine library (a port from Java). It is stable and works like a charm &amp;#8211; I’ve been using Lucene.Net for a couple of years now and implement a handful of solutions. Lucene is awesome.&lt;/p&gt;
&lt;p class="articleInlineBlockContent"&gt;If you want to try working with Lucene.Net, then the &lt;a title="Lucene.Net at dimecast.net" href="http://dimecasts.net/Casts/ByTag/Lucene"&gt;DimeCast.Net&lt;/a&gt; crew has recently made two short webcasts introducing Lucene.Net.&lt;/p&gt;
&lt;p style="margin: 0px"&gt;&lt;img class="articleInlineImage" style="margin-top: 10px;" src="/blog/wp-content/themes/default/images/inlineblock_bottom.gif" alt="" height="15" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;.Net 2.0 made it simple to use transactions with the System.Transactions namespace. Two of the great features are automatic elevation to distributed transactions (and utilize the Distributed Transaction Coordinator) and the other is the simplicity of creating your own transactional resource managers.&lt;/p&gt;
&lt;p&gt;The .Net Framework defines a resource manager as a resource that can automatically enlist in a transaction managed by System.Transactions – which means that any object that implements any of the following interfaces can enlist in a transaction:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IEnlistmentNotification for the &lt;a title="2PC protocol at Wikipedia" href="http://en.wikipedia.org/wiki/Two-phase_commit_protocol"&gt;two-phase-commit protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;IPromotableSinglePhaseNotification for the single-phase-commit protocol (non-distributed transactions)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To implement a resource manager for the Lucene.Net IndexWriter, and therefore make it transactional, all you have to do is the following:&lt;/p&gt;
&lt;pre class="brush: csharp; title: ; notranslate"&gt;
public class TransactionalIndexWriter : IndexWriter, IEnlistmentNotification
{
    #region ctor
    public TransactionalIndexWriter(Directory d, Analyzer a, bool create, MaxFieldLength mfl)
        : base(d, a, create, mfl)
    {
        EnlistTransaction();
    }
    /* More constructors */
    #endregion

    public void EnlistTransaction()
    {
        // Enlist in transaction if ambient transaction exists
        Transaction tx = Transaction.Current;
        if (tx != null)
            tx.EnlistVolatile(this, EnlistmentOptions.None);
    }

    #region IEnlistmentNotification Members
    public void Commit(Enlistment enlistment)
    {
        base.Commit();
        enlistment.Done();
    }

    public void InDoubt(Enlistment enlistment)
    {
        // Do nothing.
        enlistment.Done();
    }

    public void Prepare(PreparingEnlistment preparingEnlistment)
    {
        base.PrepareCommit();
        preparingEnlistment.Prepared();
    }

    public void Rollback(Enlistment enlistment)
    {
        base.Rollback();
        enlistment.Done();
    }
    #endregion
}
&lt;/pre&gt;
&lt;p&gt;You can use it like so:&lt;/p&gt;
&lt;pre class="brush: csharp; title: ; notranslate"&gt;
IndexWriter indexWriter = null;
TransactionScope tx = null;

try
{
    tx = new TransactionScope();
    indexWriter = new TransactionalIndexWriter(...);

    // Perform transactional work
    indexWriter.AddDocument(new Document());
    indexWriter.AddDocument(new Document());
    indexWriter.AddDocument(new Document());

    // Connect to Database, MSMQ etc. to elevate to a distributed transaction

    // Commit transaction
    tx.Complete();
}
finally
{
    if (tx != null)
        tx.Dispose();

    if (indexWriter != null)
        indexWriter.Close();
}
&lt;/pre&gt;
&lt;p&gt;Fairly simply uh? Just remember to instantiate the TransactionalIndexWriter or call the public method EnlistTransaction within the scope of an ambient transaction.&lt;br /&gt;
You might consider implementing IDisposable for TransactionalIndexWriter so you can take advantage of the using statement.&lt;/p&gt;
&lt;p&gt;I will leave it to the reader to implement a TransactionalIndexReader.&lt;/p&gt;
&lt;div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w :WordDocument&gt; &lt;/w&gt;&lt;w :View&gt;Normal&lt;/w&gt; &lt;w :Zoom&gt;0&lt;/w&gt; &lt;w :TrackMoves /&gt; &lt;w :TrackFormatting /&gt; &lt;w :HyphenationZone&gt;21&lt;/w&gt; &lt;w :PunctuationKerning /&gt; &lt;w :ValidateAgainstSchemas /&gt; &lt;w :SaveIfXMLInvalid&gt;false&lt;/w&gt; &lt;w :IgnoreMixedContent&gt;false&lt;/w&gt; &lt;w :AlwaysShowPlaceholderText&gt;false&lt;/w&gt; &lt;w :DoNotPromoteQF /&gt; &lt;w :LidThemeOther&gt;DA&lt;/w&gt; &lt;w :LidThemeAsian&gt;ZH-CN&lt;/w&gt; &lt;w :LidThemeComplexScript&gt;X-NONE&lt;/w&gt; &lt;w :Compatibility&gt; &lt;w :BreakWrappedTables /&gt; &lt;w :SnapToGridInCell /&gt; &lt;w :WrapTextWithPunct /&gt; &lt;w :UseAsianBreakRules /&gt; &lt;w :DontGrowAutofit /&gt; &lt;w :SplitPgBreakAndParaMark /&gt; &lt;w :DontVertAlignCellWithSp /&gt; &lt;w :DontBreakConstrainedForcedTables /&gt; &lt;w :DontVertAlignInTxbx /&gt; &lt;w :Word11KerningPairs /&gt; &lt;w :CachedColBalance /&gt; &lt;w :UseFELayout /&gt; &lt;/w&gt; &lt;m :mathPr&gt; &lt;m :mathFont m:val="Cambria Math" /&gt; &lt;m :brkBin m:val="before" /&gt; &lt;m :brkBinSub m:val="&amp;#45;-" /&gt; &lt;m :smallFrac m:val="off" /&gt; &lt;m :dispDef /&gt; &lt;m :lMargin m:val="0" /&gt; &lt;m :rMargin m:val="0" /&gt; &lt;m :defJc m:val="centerGroup" /&gt; &lt;m :wrapIndent m:val="1440" /&gt; &lt;m :intLim m:val="subSup" /&gt; &lt;m :naryLim m:val="undOvr" /&gt; &lt;/m&gt; &lt;/xml&gt;&lt; ![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w :LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"&gt; &lt;w :LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /&gt; &lt;w :LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /&gt; &lt;w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /&gt; &lt;w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /&gt; &lt;w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /&gt; &lt;w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /&gt; &lt;w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /&gt; &lt;w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /&gt; &lt;w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /&gt; &lt;w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /&gt; &lt;w :LsdException Locked="false" Priority="39" Name="toc 1" /&gt; &lt;w :LsdException Locked="false" Priority="39" Name="toc 2" /&gt; &lt;w :LsdException Locked="false" Priority="39" Name="toc 3" /&gt; &lt;w :LsdException Locked="false" Priority="39" Name="toc 4" /&gt; &lt;w :LsdException Locked="false" Priority="39" Name="toc 5" /&gt; &lt;w :LsdException Locked="false" Priority="39" Name="toc 6" /&gt; &lt;w :LsdException Locked="false" Priority="39" Name="toc 7" /&gt; &lt;w :LsdException Locked="false" Priority="39" Name="toc 8" /&gt; &lt;w :LsdException Locked="false" Priority="39" Name="toc 9" /&gt; &lt;w :LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /&gt; &lt;w :LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /&gt; &lt;w :LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /&gt; &lt;w :LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /&gt; &lt;w :LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /&gt; &lt;w :LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /&gt; &lt;w :LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /&gt; &lt;w :LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /&gt; &lt;w :LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /&gt; &lt;w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /&gt; &lt;w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /&gt; &lt;w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /&gt; &lt;w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /&gt; &lt;w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /&gt; &lt;w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /&gt; &lt;w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /&gt; &lt;w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /&gt; &lt;w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /&gt; &lt;w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /&gt; &lt;w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /&gt; &lt;w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /&gt; &lt;w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /&gt; &lt;w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /&gt; &lt;w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /&gt; &lt;w :LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /&gt; &lt;w :LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /&gt; &lt;w :LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /&gt; &lt;w :LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /&gt; &lt;w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /&gt; &lt;w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /&gt; &lt;w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /&gt; &lt;w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /&gt; &lt;w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /&gt; &lt;w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /&gt; &lt;w :LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /&gt; &lt;w :LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /&gt; &lt;w :LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /&gt; &lt;w :LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /&gt; &lt;w :LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /&gt; &lt;w :LsdException Locked="false" Priority="37" Name="Bibliography" /&gt; &lt;w :LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /&gt; &lt;/w&gt; &lt;/xml&gt;&lt; ![endif]--&gt;&lt;!--  /* Font Definitions */  @font-face 	{font-family:SimSun; 	panose-1:2 1 6 0 3 1 1 1 1 1; 	mso-font-alt:宋体; 	mso-font-charset:134; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:3 680460288 22 0 262145 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-520092929 1073786111 9 0 415 0;} @font-face 	{font-family:"@SimSun"; 	panose-1:2 1 6 0 3 1 1 1 1 1; 	mso-font-charset:134; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:3 680460288 22 0 262145 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:SimSun; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:SimSun; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:612.0pt 792.0pt; 	margin:3.0cm 2.0cm 3.0cm 2.0cm; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt;&lt;!--[if gte mso 10]&gt; &lt;mce :style&gt;&lt; !   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --&gt; &lt;!--[endif]--&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Lucene.Net is an open source full text search engine library (a port from Java). It is stable and works like a charm &amp;#8211; I’ve been using Lucene.Net for a couple of years now and implement a handful of solutions. Lucene is awesome.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;If you want to try working with Lucene.Net, then the DimeCast.Net crew has recently made two 10 short webcast introducing Lucene.Net (http://dimecasts.net/Casts/ByTag/Lucene).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/mce&gt;&lt;/div&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/03/12/configuring-the-dtc-for-wcf-with-oletx/' rel='bookmark' title='Configuring the DTC for WCF with OleTx'&gt;Configuring the DTC for WCF with OleTx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'&gt;Miracle Open World 2010 Lucene Presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2011/01/16/using-lucene-net-with-microsoft-azure/' rel='bookmark' title='Using Lucene.Net with Microsoft Azure'&gt;Using Lucene.Net with Microsoft Azure&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/j1LkKVioGyw" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/12/03/lucene-net-and-transactions/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/12/03/lucene-net-and-transactions/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/12/03/lucene-net-and-transactions/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[TechEd Berlin 2009]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/6rzOQKlcgBE/" />
		<id>http://www.lybecker.com/blog/?p=390</id>
		<updated>2009-11-06T20:21:47Z</updated>
		<published>2009-11-05T18:47:28Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Announcement" /><category scheme="http://www.lybecker.com/blog" term="Conference" /><category scheme="http://www.lybecker.com/blog" term="TechEd" />		<summary type="html"><![CDATA[I’m going to TechEd conference in Berlin next week. Are you going? I haven’t taken the time to browse through the session catalogs yet, but I will be seeking information about: Microsoft&#8217;s acquisition of FAST Search and how Microsoft incorporates into their products Microsoft SQL Server 2008 R2 and especially the spatial support for Reporting [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &#8211; NoTech'>New blog &#8211; NoTech</a></li>
<li><a href='http://www.lybecker.com/blog/2007/02/21/sql-server-open-world/' rel='bookmark' title='SQL Server Open World'>SQL Server Open World</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/11/05/teched-berlin-2009/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/TechEd_Berlin2009.gif"&gt;&lt;img class="alignright size-full wp-image-391" title="TechEd Berlin 2009" src="http://www.lybecker.com/blog/wp-content/uploads/TechEd_Berlin2009.gif" alt="TechEd Berlin 2009" width="120" height="90" /&gt;&lt;/a&gt;I’m going to TechEd conference in Berlin next week. Are you going?&lt;/p&gt;
&lt;p&gt;I haven’t taken the time to browse through the session catalogs yet, but I will be seeking information about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Microsoft&amp;#8217;s acquisition of FAST Search and how Microsoft incorporates into their products&lt;/li&gt;
&lt;li&gt;Microsoft SQL Server 2008 R2 and especially the spatial support for Reporting Services&lt;/li&gt;
&lt;li&gt;The new features of Windows Communication Foundation 4.0, the redesigned Windows Workflow Foundation 4.0 and .Net 4.0 in general.&lt;/li&gt;
&lt;li&gt;The Windows Azure Platform&lt;/li&gt;
&lt;li&gt;ASP.Net MVC 2&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are going, drop me a mail and I’ll buy you a beer. That’s the least I can do for my readers &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &amp;#8211; NoTech'&gt;New blog &amp;#8211; NoTech&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/02/21/sql-server-open-world/' rel='bookmark' title='SQL Server Open World'&gt;SQL Server Open World&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/6rzOQKlcgBE" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/11/05/teched-berlin-2009/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/11/05/teched-berlin-2009/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/11/05/teched-berlin-2009/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[ASP.NET MVC Best Practices]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/LVaS1jiR1TU/" />
		<id>http://www.lybecker.com/blog/?p=373</id>
		<updated>2009-10-29T19:06:22Z</updated>
		<published>2009-10-29T18:56:29Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="dotNet" /><category scheme="http://www.lybecker.com/blog" term="MVC" />		<summary type="html"><![CDATA[I love ASP.Net MVC – It has made web development fun. It also introduced new pitfalls… Microsoft MVP Simone Chiaretta has fathered 12 ASP.NET MVC Best Practices worth reading. In particular I find the these items interesting: “DomainModel != ViewModel”  with the ASP.NET MVC View Model Patterns “Pay attention to the Verbs” with the PRG [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &#8211; NoTech'>New blog &#8211; NoTech</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/10/29/asp-net-mvc-best-practices/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/ASPNet_MVC.png"&gt;&lt;img class="size-thumbnail wp-image-374 alignright" title="ASP.Net MVC" src="http://www.lybecker.com/blog/wp-content/uploads/ASPNet_MVC-150x150.png" alt="ASP.Net MVC" width="150" height="150" /&gt;&lt;/a&gt;I love ASP.Net MVC – It has made web development fun. It also introduced new pitfalls…&lt;/p&gt;
&lt;p&gt;Microsoft MVP Simone Chiaretta has fathered &lt;a title="Blog post: 12 ASP.NET MVC Best Practices" href="http://codeclimber.net.nz/archive/2009/10/27/12-asp.net-mvc-best-practices.aspx"&gt;12 ASP.NET MVC Best Practices&lt;/a&gt; worth reading.&lt;/p&gt;
&lt;p&gt;In particular I find the these items interesting:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“DomainModel != ViewModel”  with the &lt;a title="Blog post: ASP.NET MVC View Model Patterns" href="http://geekswithblogs.net/michelotti/archive/2009/10/25/asp.net-mvc-view-model-patterns.aspx"&gt;ASP.NET MVC View Model Patterns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt; “Pay attention to the Verbs” with the &lt;a title="Blog post: ASP.NET MVC - Using Post, Redirect, Get Pattern" href="http://blog.eworldui.net/post/2008/05/ASPNET-MVC---Using-Post2c-Redirect2c-Get-Pattern.aspx"&gt;PRG Pattern (Post-Redirect-Get)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &amp;#8211; NoTech'&gt;New blog &amp;#8211; NoTech&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/LVaS1jiR1TU" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/10/29/asp-net-mvc-best-practices/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/10/29/asp-net-mvc-best-practices/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/10/29/asp-net-mvc-best-practices/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Initial slow WCF request]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/LYkTyrcOEZc/" />
		<id>http://www.lybecker.com/blog/?p=367</id>
		<updated>2009-10-23T21:01:06Z</updated>
		<published>2009-10-23T19:15:35Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Cloud" /><category scheme="http://www.lybecker.com/blog" term="WCF" />		<summary type="html"><![CDATA[If working with any of the HTTP Bindings you might experience that the first WCF request takes a long time to complete. This is because the initial HTTP connection tries to get the proxy settings automatically. This is done by requesting the configuration via a HTTP GET http://wpad/wpad.dat. If proxy server automatic configuration is not [...]
No related posts.]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/10/23/initial-slow-wcf-request/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/Snail.png"&gt;&lt;img class="alignright size-full wp-image-370" title="Snail" src="http://www.lybecker.com/blog/wp-content/uploads/Snail.png" alt="Snail" width="200" height="159" /&gt;&lt;/a&gt;If working with any of the HTTP Bindings you might experience that the first WCF request takes a long time to complete.&lt;/p&gt;
&lt;p&gt;This is because the initial HTTP connection tries to get the proxy settings automatically. This is done by requesting the configuration via a HTTP GET http://wpad/wpad.dat. If proxy server automatic configuration is not configured, the request times out and the initial WCF can send the request directly to the destination address. This may add 30 seconds to the initial WCF request!&lt;/p&gt;
&lt;p&gt;You can disable this behavior by specifying UseDefaultWebProxy = false on the binding.&lt;/p&gt;
&lt;p&gt;You can read more about &lt;a href="http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol"&gt;Web Proxy Auto-Discovery Protocol ( WPAD ) at Wikipedia&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This applies to basicHttpBinding, wsHttpBinding, wsDualHttpBinding, webHttpBinding, ws2007FederationHttpBinding, wsFederationHttpBinding, basicHttpContextBinding, wsHttpContextBinding and the new Azure ServiceBus bindings basicHttpRelayBinding, wsHttpRelayBinding, webHttpRelayBinding&lt;/p&gt;
&lt;p&gt;No related posts.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/LYkTyrcOEZc" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/10/23/initial-slow-wcf-request/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/10/23/initial-slow-wcf-request/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/10/23/initial-slow-wcf-request/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Reuse in SQL Server 2008 Integration Services]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/-VFr1jvfWkg/" />
		<id>http://www.lybecker.com/blog/?p=365</id>
		<updated>2009-10-22T19:27:34Z</updated>
		<published>2009-10-22T19:27:34Z</published>
		<category scheme="http://www.lybecker.com/blog" term="SQL Server" /><category scheme="http://www.lybecker.com/blog" term="SSIS" />		<summary type="html"><![CDATA[Or lack of My current project requires SSIS (SQL Server 2008 Integration Services) packages for ETL processing. SSIS seems very capable, but lacks fundamental things that a developer like me takes for granted. I did not expect SSIS to have the ability of inheritance as it isn’t object-oriented, but I did expect functions or methods [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/06/01/levels-of-reuse-in-software-development/' rel='bookmark' title='Levels of reuse in Software Development'>Levels of reuse in Software Development</a></li>
<li><a href='http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/' rel='bookmark' title='Transferring SQL Server logins'>Transferring SQL Server logins</a></li>
<li><a href='http://www.lybecker.com/blog/2009/08/11/change-data-capture-cdc-in-sql-server-2008/' rel='bookmark' title='Change Data Capture (CDC) in SQL Server 2008'>Change Data Capture (CDC) in SQL Server 2008</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/10/22/reuse-in-sql-server-2008-integration-services/">&lt;p&gt;Or lack of &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;My current project requires SSIS (SQL Server 2008 Integration Services) packages for &lt;a title="ETL at Wikipedia" href="http://en.wikipedia.org/wiki/Extract,_transform,_load"&gt;ETL&lt;/a&gt; processing.&lt;/p&gt;
&lt;p&gt;SSIS seems very capable, but lacks fundamental things that a developer like me takes for granted. I did not expect SSIS to have the ability of inheritance as it isn’t object-oriented, but I did expect functions or methods like a procedural language or set-based languages like T-SQL. Sadly the answer is no.&lt;/p&gt;
&lt;p&gt;You can make script tasks or script component with custom T-SQL or .Net code, but logic in expressions you have to duplicate.&lt;/p&gt;
&lt;p&gt;I goggled reuse and SSIS and found this statement in an &lt;a title="Articel  	 SSIS - Code Reuse and Complex Control Flows" href="http://www.sqlservercentral.com/articles/SQL+Server+2005+-+SSIS/ssiscodereuseandcomplexcontrolflows/2021/"&gt;article about reuse in SSIS&lt;/a&gt; at SqlServerCentral.com:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Let&amp;#8217;s not forget, copy&amp;amp;paste &lt;em&gt;is&lt;/em&gt; the first level of code reuse&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;In essence it’s true, but I would hope the entire Information Technology industry has move way beyond this point years ago.&lt;/p&gt;
&lt;p&gt;&lt;a title="Reusability in SSIS at the Microsoft SQL Server forum" href="http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/ffbdcec7-977d-4f5e-ab74-dff6a238bf35"&gt;This post&lt;/a&gt; at the Microsoft SQL Server forum confirms this horrific truth about lack of reuse in SSIS &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/06/01/levels-of-reuse-in-software-development/' rel='bookmark' title='Levels of reuse in Software Development'&gt;Levels of reuse in Software Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/' rel='bookmark' title='Transferring SQL Server logins'&gt;Transferring SQL Server logins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/08/11/change-data-capture-cdc-in-sql-server-2008/' rel='bookmark' title='Change Data Capture (CDC) in SQL Server 2008'&gt;Change Data Capture (CDC) in SQL Server 2008&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/-VFr1jvfWkg" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/10/22/reuse-in-sql-server-2008-integration-services/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/10/22/reuse-in-sql-server-2008-integration-services/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/10/22/reuse-in-sql-server-2008-integration-services/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Monitors and thread context]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/X7GpEe9IAWo/" />
		<id>http://www.lybecker.com/blog/?p=361</id>
		<updated>2009-10-15T19:27:54Z</updated>
		<published>2009-10-15T19:27:54Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Code fun" /><category scheme="http://www.lybecker.com/blog" term="dotNet" />		<summary type="html"><![CDATA[Running the below code will fail – why? It will throw a SynchronizationLockException with the message &#8220;Object synchronization method was called from an unsynchronized block of code.&#8221; It is because System.Threading.Monitor requires the Enter and Exit methods must be executed on the same thread for the same synchronization object. I did not know that :-/ [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &#8211; NoTech'>New blog &#8211; NoTech</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/10/15/monitors-and-thread-context/">&lt;p&gt;Running the below code will fail – why?&lt;/p&gt;
&lt;pre class="brush: csharp; title: ; notranslate"&gt;

var syncRoot = new object();

Monitor.Enter(syncRoot);

ThreadPool.QueueUserWorkItem(x =&amp;gt; Monitor.Exit(syncRoot));
&lt;/pre&gt;
&lt;p&gt;It will throw a SynchronizationLockException with the message &amp;#8220;Object synchronization method was called from an unsynchronized block of code.&amp;#8221;&lt;/p&gt;
&lt;p&gt;It is because System.Threading.Monitor requires the Enter and Exit methods must be executed on the same thread for the same synchronization object.&lt;/p&gt;
&lt;p&gt;I did not know that :-/&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &amp;#8211; NoTech'&gt;New blog &amp;#8211; NoTech&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/X7GpEe9IAWo" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/10/15/monitors-and-thread-context/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/10/15/monitors-and-thread-context/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/10/15/monitors-and-thread-context/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[New blog &#8211; NoTech]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/ZpUJ3lFolvQ/" />
		<id>http://www.lybecker.com/blog/?p=357</id>
		<updated>2009-10-14T06:24:34Z</updated>
		<published>2009-10-14T06:24:34Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Announcement" /><category scheme="http://www.lybecker.com/blog" term="SCRUM" />		<summary type="html"><![CDATA[A talented colleague of mine Thomas Schou-Moldt has started blogging about software development processes and methods. He is passionate about the subject and writes well. The blog is in Danish and called NoTech. Blog description: Here I&#8217;ll share my opinions, joys and frustrations about software development and IT projects &#8211; both the good stories and [...]
No related posts.]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/10/14/new-blog-notech/">&lt;p&gt;A talented colleague of mine Thomas Schou-Moldt has started blogging about software development processes and methods. He is passionate about the subject and writes well.&lt;/p&gt;
&lt;p&gt;The blog is in Danish and called &lt;a title="Thomas Schou-Moldt's blog - NoTech" href="http://it-notech.blogspot.com/"&gt;NoTech&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Blog description:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Here I&amp;#8217;ll share my opinions, joys and frustrations about software development and IT projects &amp;#8211; both the good stories and horrendous experiences.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;No related posts.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/ZpUJ3lFolvQ" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/10/14/new-blog-notech/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/10/14/new-blog-notech/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/10/14/new-blog-notech/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Amazon Virtual Private Cloud]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/CoCPNTRIcF0/" />
		<id>http://www.lybecker.com/blog/?p=349</id>
		<updated>2009-08-26T20:16:12Z</updated>
		<published>2009-08-26T20:16:12Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Cloud" /><category scheme="http://www.lybecker.com/blog" term="EC2" />		<summary type="html"><![CDATA[If you are interested in cloud computing, but you never known how to adopt this new paradigm in your shop due to ignorance I encourage you to look at the Amazon EC2 and related services. One of the things that have kept me and properly many others from migrating our applications and services to the [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &#8211; NoTech'>New blog &#8211; NoTech</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/08/26/amazon-virtual-private-cloud/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/Amazon-AWS-logo.gif"&gt;&lt;img class="alignright size-full wp-image-350" title="Amazon AWS logo" src="http://www.lybecker.com/blog/wp-content/uploads/Amazon-AWS-logo.gif" alt="Amazon AWS logo" width="164" height="60" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you are interested in cloud computing, but you never known how to adopt this new paradigm in your shop due to ignorance &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /&gt;  I encourage you to look at the &lt;a title="Amazon EC2 site" href="http://aws.amazon.com/ec2/"&gt;Amazon EC2&lt;/a&gt; and &lt;a title="Amazon Web Services site" href="http://aws.amazon.com/"&gt;related services&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;One of the things that have kept me and properly many others from migrating our applications and services to the cloud has been due to the nature of most software requiring integration to legacy systems behind a company firewall.&lt;/p&gt;
&lt;p&gt;Amazon’s new service – &lt;a title="Amazon Virtual Private Cloud site" href="http://aws.amazon.com/vpc/"&gt;Amazon Virtual Private Cloud&lt;/a&gt; enables you to extend the company’s network to Amazon’s cloud via a secure VPN connection.&lt;/p&gt;
&lt;p&gt;Read more about this new service from Amazon on Werner Vogels&amp;#8217; article &lt;a title="Article: Seamlessly Extending the Data Center - Introducing Amazon Virtual Private Cloud" href="http://www.allthingsdistributed.com/2009/08/amazon_virtual_private_cloud.html"&gt;Seamlessly Extending the Data Center &amp;#8211; Introducing Amazon Virtual Private Cloud&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &amp;#8211; NoTech'&gt;New blog &amp;#8211; NoTech&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/CoCPNTRIcF0" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/08/26/amazon-virtual-private-cloud/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/08/26/amazon-virtual-private-cloud/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/08/26/amazon-virtual-private-cloud/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Change Data Capture (CDC) in SQL Server 2008]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/H9hKO8FhWhI/" />
		<id>http://www.lybecker.com/blog/?p=344</id>
		<updated>2009-08-11T13:38:53Z</updated>
		<published>2009-08-11T10:46:42Z</published>
		<category scheme="http://www.lybecker.com/blog" term="SQL Server" /><category scheme="http://www.lybecker.com/blog" term="SQL Server 2008" />		<summary type="html"><![CDATA[I where planning to write a blog post about Change Data Capture (CDC) in SQL Server 2008, but then I stumbled upon Pinal Dave&#8217;s article Introduction to Change Data Capture (CDC) in SQL Server 2008. It is a thorough overview of Change Data Capture (CDC). MSDN reference for Change Data Capture (CDC). Related posts: Transferring [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/' rel='bookmark' title='Transferring SQL Server logins'>Transferring SQL Server logins</a></li>
<li><a href='http://www.lybecker.com/blog/2007/02/21/sql-server-open-world/' rel='bookmark' title='SQL Server Open World'>SQL Server Open World</a></li>
<li><a href='http://www.lybecker.com/blog/2009/03/21/scary-sql-server-2005-2008-bug/' rel='bookmark' title='Scary SQL Server 2005 &amp; 2008 bug'>Scary SQL Server 2005 &#038; 2008 bug</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/08/11/change-data-capture-cdc-in-sql-server-2008/">&lt;p&gt;I where planning to write a blog post about Change Data Capture (CDC) in SQL Server 2008, but then I stumbled upon Pinal Dave&amp;#8217;s article&lt;a title="Introduction to Change Data Capture (CDC) in SQL Server 2008" href="http://www.simple-talk.com/sql/learn-sql-server/introduction-to-change-data-capture-%28cdc%29-in-sql-server-2008/"&gt; Introduction to Change Data Capture (CDC) in SQL Server 2008&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It is a thorough overview of Change Data Capture (CDC).&lt;/p&gt;
&lt;p&gt;&lt;a title="Change Data Capture on MSDN" href="http://msdn.microsoft.com/en-us/library/bb522489.aspx"&gt;MSDN reference for Change Data Capture (CDC)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/' rel='bookmark' title='Transferring SQL Server logins'&gt;Transferring SQL Server logins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/02/21/sql-server-open-world/' rel='bookmark' title='SQL Server Open World'&gt;SQL Server Open World&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/03/21/scary-sql-server-2005-2008-bug/' rel='bookmark' title='Scary SQL Server 2005 &amp;amp; 2008 bug'&gt;Scary SQL Server 2005 &amp;#038; 2008 bug&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/H9hKO8FhWhI" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/08/11/change-data-capture-cdc-in-sql-server-2008/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/08/11/change-data-capture-cdc-in-sql-server-2008/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/08/11/change-data-capture-cdc-in-sql-server-2008/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[40+ Essential Front End Web Developer Cheat Sheets]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/c_mWESu3Hto/" />
		<id>http://www.lybecker.com/blog/?p=340</id>
		<updated>2009-06-23T06:32:21Z</updated>
		<published>2009-06-23T06:32:21Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Everyday coding" /><category scheme="http://www.lybecker.com/blog" term="Useful tools" /><category scheme="http://www.lybecker.com/blog" term="shortcut keys" />		<summary type="html"><![CDATA[tripwiremagazine.com has gathered a neat collection of cheat sheets for web developers. I’m not a front end web developer, so I’m in desperate need of tools and cheat sheets that can help me look good, when venturing into the world of web design Related posts: Free SQL Server tools
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2007/11/23/free-sql-server-tools/' rel='bookmark' title='Free SQL Server tools'>Free SQL Server tools</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/06/23/40-essential-front-end-web-developer-cheat-sheets/">&lt;p&gt;tripwiremagazine.com has gathered &lt;a title="40+ Essential Front End Web Developer Cheat Sheets article" href="http://www.tripwiremagazine.com/tools/cheat-sheets/front-end-web-developers-toolbox.html"&gt;a neat collection of cheat sheets for web developers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I’m not a front end web developer, so I’m in desperate need of tools and cheat sheets that can help me look good, when venturing into the world of web design &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/11/23/free-sql-server-tools/' rel='bookmark' title='Free SQL Server tools'&gt;Free SQL Server tools&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/c_mWESu3Hto" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/06/23/40-essential-front-end-web-developer-cheat-sheets/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/06/23/40-essential-front-end-web-developer-cheat-sheets/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/06/23/40-essential-front-end-web-developer-cheat-sheets/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Visual Studio 2010 Beta 1 available]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/0-LaZeTg42E/" />
		<id>http://www.lybecker.com/blog/?p=336</id>
		<updated>2009-07-13T18:57:25Z</updated>
		<published>2009-05-21T09:44:46Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Announcement" /><category scheme="http://www.lybecker.com/blog" term="Visual Studio" />		<summary type="html"><![CDATA[I can&#8217;t wait to see what Microsoft can get out of WPF with the new WPF-based IDE. The Microsoft developer and platform evangelist Dan Fernandez has written an installation cheat sheet guide. Update 13th July 2009: On the BCL Team Blog Justin Van Patten has written the blog post What&#8217;s New in the BCL in .NET 4 [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/02/02/visual-studio-2008-shortcuts-features/' rel='bookmark' title='Visual Studio 2008 shortcuts features'>Visual Studio 2008 shortcuts features</a></li>
<li><a href='http://www.lybecker.com/blog/2010/05/02/visual-studio-2010-keyboard-shortcuts/' rel='bookmark' title='Visual Studio 2010 keyboard shortcuts'>Visual Studio 2010 keyboard shortcuts</a></li>
<li><a href='http://www.lybecker.com/blog/2007/02/01/visual-studio-2005-shortcuts-features/' rel='bookmark' title='Visual Studio 2005 shortcuts features'>Visual Studio 2005 shortcuts features</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/05/21/visual-studio-2010-beta-1-available/">&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/visualstudio2010beta1.png"&gt;&lt;img class="aligncenter size-full wp-image-337" title="Visual Studio 2010 Beta 1 screenshots" src="http://www.lybecker.com/blog/wp-content/uploads/visualstudio2010beta1.png" alt="Visual Studio 2010 Beta 1 screenshots" width="391" height="223" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I can&amp;#8217;t wait to see what Microsoft can get out of WPF with the new WPF-based IDE.&lt;/p&gt;
&lt;p&gt;The Microsoft developer and platform evangelist Dan Fernandez has written an &lt;a href="http://blogs.msdn.com/danielfe/archive/2009/05/20/visual-studio-2010-beta-1-cheat-sheet.aspx"&gt;installation cheat sheet guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Update 13th July 2009: On the BCL Team Blog Justin Van Patten has written the blog post &lt;a title="What's New in the BCL in .NET 4 Beta 1" href="http://blogs.msdn.com/bclteam/archive/2009/05/22/what-s-new-in-the-bcl-in-net-4-beta-1-justin-van-patten.aspx"&gt;What&amp;#8217;s New in the BCL in .NET 4 Beta 1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/02/02/visual-studio-2008-shortcuts-features/' rel='bookmark' title='Visual Studio 2008 shortcuts features'&gt;Visual Studio 2008 shortcuts features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/05/02/visual-studio-2010-keyboard-shortcuts/' rel='bookmark' title='Visual Studio 2010 keyboard shortcuts'&gt;Visual Studio 2010 keyboard shortcuts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/02/01/visual-studio-2005-shortcuts-features/' rel='bookmark' title='Visual Studio 2005 shortcuts features'&gt;Visual Studio 2005 shortcuts features&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/0-LaZeTg42E" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/05/21/visual-studio-2010-beta-1-available/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/05/21/visual-studio-2010-beta-1-available/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/05/21/visual-studio-2010-beta-1-available/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[How to view default values for a WCF binding]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/o4q7MXtqBLE/" />
		<id>http://www.lybecker.com/blog/?p=324</id>
		<updated>2010-08-29T06:25:38Z</updated>
		<published>2009-04-23T20:23:51Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Useful tools" /><category scheme="http://www.lybecker.com/blog" term="WCF" /><category scheme="http://www.lybecker.com/blog" term="dotNet" /><category scheme="http://www.lybecker.com/blog" term="XML" />		<summary type="html"><![CDATA[… or create a custom binding from a build-in binding. … or create an administrative XML-based configuration from an administrative programmatic configuration. Below codes does all that: The programmatic source binding will create a configuration file with all default values for the BasicHttpBinding except for TransferMode and MaxReceivedMessageSize attributes like so: I found this tip [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/10/11/wcf-throttling-%e2%80%93-part-2/' rel='bookmark' title='WCF Throttling – Part 2'>WCF Throttling – Part 2</a></li>
<li><a href='http://www.lybecker.com/blog/2007/03/12/configuring-the-dtc-for-wcf-with-oletx/' rel='bookmark' title='Configuring the DTC for WCF with OleTx'>Configuring the DTC for WCF with OleTx</a></li>
<li><a href='http://www.lybecker.com/blog/2007/01/15/a-simple-windows-communication-foundation-web-service/' rel='bookmark' title='A simple Windows Communication Foundation Web Service'>A simple Windows Communication Foundation Web Service</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/04/23/view-default-values-for-a-wcf-binding/">&lt;p&gt;… or create a custom binding from a build-in binding.&lt;br /&gt;
… or create an administrative XML-based configuration from an administrative programmatic configuration.&lt;/p&gt;
&lt;p&gt;Below codes does all that:&lt;/p&gt;
&lt;pre class="brush: csharp; title: ; notranslate"&gt;
// Specify the source binding
// - Programmatic binding
// - Administrative XML-based binding
// - Convert to custom binding

/* Programmatic binding */
var binding = new BasicHttpBinding();
binding.TransferMode = TransferMode.Streamed;
binding.MaxReceivedMessageSize = 10000;

/* Administrative XML-based binding */
// var binding = new BasicHttpBinding(&amp;quot;basicHttp&amp;quot;);

/* Convert to custom binding */
// var wsBinding = new WSHttpBinding(&amp;quot;wsHttp&amp;quot;);
// var binding = new CustomBinding(wsBinding);

string outputConfigFile = &amp;quot;out.config&amp;quot;;

Configuration machineConfig = ConfigurationManager.OpenMachineConfiguration();

var fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = outputConfigFile;
fileMap.MachineConfigFilename = machineConfig.FilePath;

Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
config.NamespaceDeclared = true;

var scg = new ServiceContractGenerator(config);

string sectionName, configName;
scg.GenerateBinding(binding, out sectionName, out configName);
config.Save();
&lt;/pre&gt;
&lt;p&gt;The programmatic source binding will create a configuration file with all default values for the BasicHttpBinding except for TransferMode and MaxReceivedMessageSize attributes like so:&lt;/p&gt;
&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;basichttpbinding&amp;gt;
    &amp;lt;binding name=&amp;quot;BasicHttpBinding&amp;quot;
             closeTimeout=&amp;quot;00:01:00&amp;quot;
             openTimeout=&amp;quot;00:01:00&amp;quot;
             receiveTimeout=&amp;quot;00:10:00&amp;quot;
             sendTimeout=&amp;quot;00:01:00&amp;quot;
             allowCookies=&amp;quot;false&amp;quot;
             bypassProxyOnLocal=&amp;quot;false&amp;quot;
             hostNameComparisonMode=&amp;quot;StrongWildcard&amp;quot;
             maxBufferSize=&amp;quot;65536&amp;quot;
             maxBufferPoolSize=&amp;quot;524288&amp;quot;
             maxReceivedMessageSize=&amp;quot;10000&amp;quot;
             messageEncoding=&amp;quot;Text&amp;quot;
             textEncoding=&amp;quot;utf-8&amp;quot;
             transferMode=&amp;quot;Streamed&amp;quot;
             useDefaultWebProxy=&amp;quot;true&amp;quot;&amp;gt;
        &amp;lt;readerquotas maxDepth=&amp;quot;32&amp;quot;
                      maxStringContentLength=&amp;quot;8192&amp;quot;
                      maxArrayLength=&amp;quot;16384&amp;quot;
                      maxBytesPerRead=&amp;quot;4096&amp;quot;
                      maxNameTableCharCount=&amp;quot;16384&amp;quot; /&amp;gt;
        &amp;lt;security mode=&amp;quot;None&amp;quot;&amp;gt;
            &amp;lt;transport clientCredentialType=&amp;quot;None&amp;quot;
                       proxyCredentialType=&amp;quot;None&amp;quot;
                       realm=&amp;quot;&amp;quot; /&amp;gt;
            &amp;lt;message clientCredentialType=&amp;quot;UserName&amp;quot;
                     algorithmSuite=&amp;quot;Default&amp;quot; /&amp;gt;
        &amp;lt;/security&amp;gt;
    &amp;lt;/binding&amp;gt;
&amp;lt;/basichttpbinding&amp;gt;
&lt;/pre&gt;
&lt;p&gt;I found this &lt;a title="Generate WCF config binding" href="http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/fcad2118-d7bc-4d23-84b2-1ac168afa1c8"&gt;tip by Brian McNamara on the MSDN WCF forum&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/10/11/wcf-throttling-%e2%80%93-part-2/' rel='bookmark' title='WCF Throttling – Part 2'&gt;WCF Throttling – Part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/03/12/configuring-the-dtc-for-wcf-with-oletx/' rel='bookmark' title='Configuring the DTC for WCF with OleTx'&gt;Configuring the DTC for WCF with OleTx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/01/15/a-simple-windows-communication-foundation-web-service/' rel='bookmark' title='A simple Windows Communication Foundation Web Service'&gt;A simple Windows Communication Foundation Web Service&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/o4q7MXtqBLE" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/04/23/view-default-values-for-a-wcf-binding/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/04/23/view-default-values-for-a-wcf-binding/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/04/23/view-default-values-for-a-wcf-binding/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[World’s first electronic annual general meeting]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/CyTRIdbpZiM/" />
		<id>http://www.lybecker.com/blog/?p=314</id>
		<updated>2009-04-16T12:02:16Z</updated>
		<published>2009-04-16T11:52:19Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Announcement" />		<summary type="html"><![CDATA[Today I just witness the electronic annual general meeting for the investment company SparIndex. This is the first 100% electronic annual general meeting ever. The stakes was high, especially for the system owner VP Securities as journalists and photographs wandered around the offices ready to report success or failure in the media. My job as [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2010/06/30/meeting-the-sql-azure-development-team/' rel='bookmark' title='Meeting the SQL Azure Development Team'>Meeting the SQL Azure Development Team</a></li>
<li><a href='http://www.lybecker.com/blog/2010/04/04/speaking-about-lucene-at-miracle-open-world-2010/' rel='bookmark' title='Speaking about Lucene at Miracle Open World 2010'>Speaking about Lucene at Miracle Open World 2010</a></li>
<li><a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'>Miracle Open World 2010 Lucene Presentation</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/04/16/world%e2%80%99s-first-electronic-annual-general-meeting/">&lt;p&gt;Today I just witness the electronic annual general meeting for the investment company &lt;a title="SparIndex homepage" href="http://www.sparindex.dk/"&gt;SparIndex&lt;/a&gt;. This is the first 100% electronic annual general meeting ever.&lt;/p&gt;
&lt;p&gt;The stakes was high, especially for the system owner &lt;a title="VP Securities homepage" href="http://www.vp.dk/"&gt;VP Securities&lt;/a&gt; as journalists and photographs wandered around the offices ready to report success or failure in the media.&lt;/p&gt;
&lt;p&gt;My job as a technical consultant, together with a handful of other techies, was to monitor the solution during the live annual general meeting. Our job was to prevent any technical glitches or in the event of a crash recover as fast as possible.&lt;/p&gt;
&lt;p&gt;The tension was high right up to the last minute before the premiere, but everything went smooth. &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;div id="attachment_315" class="wp-caption aligncenter" style="width: 560px"&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/egf_screenshot.png"&gt;&lt;img class="size-large wp-image-315" title="eGF screenshot" src="http://www.lybecker.com/blog/wp-content/uploads/egf_screenshot-550x340.png" alt="Screenshot of the World’s first electronic annual general meeting" width="550" height="340" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Screenshot of the World’s first electronic annual general meeting&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/06/30/meeting-the-sql-azure-development-team/' rel='bookmark' title='Meeting the SQL Azure Development Team'&gt;Meeting the SQL Azure Development Team&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/04/04/speaking-about-lucene-at-miracle-open-world-2010/' rel='bookmark' title='Speaking about Lucene at Miracle Open World 2010'&gt;Speaking about Lucene at Miracle Open World 2010&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'&gt;Miracle Open World 2010 Lucene Presentation&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/CyTRIdbpZiM" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/04/16/world%e2%80%99s-first-electronic-annual-general-meeting/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/04/16/world%e2%80%99s-first-electronic-annual-general-meeting/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/04/16/world%e2%80%99s-first-electronic-annual-general-meeting/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Loooong running sql statement]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/Bp1BLfHmYQM/" />
		<id>http://www.lybecker.com/blog/?p=277</id>
		<updated>2009-04-06T10:39:29Z</updated>
		<published>2009-04-06T10:30:34Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Code fun" /><category scheme="http://www.lybecker.com/blog" term="SQL Server" />		<summary type="html"><![CDATA[I was using SQL Server Profiler on a SQL Server 2005 Enterprise Edition looking for performance culprits, when I stumbled upon this very long running process. I think this must be a world record. This statement has only used 16 milliseconds of CPU but it has been running for more than 500.000 years! Related posts: [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2008/02/16/microsoft-product-launch-2008/' rel='bookmark' title='Microsoft product launch 2008'>Microsoft product launch 2008</a></li>
<li><a href='http://www.lybecker.com/blog/2009/03/24/in-flight-entertainment-running-on-windows/' rel='bookmark' title='In-flight entertainment running on Windows'>In-flight entertainment running on Windows</a></li>
<li><a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &#8211; NoTech'>New blog &#8211; NoTech</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/04/06/loooong-running-sql-statement/">&lt;p style="text-align: center;"&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/sqlserverprofilerrenegate.jpg"&gt;&lt;img class="aligncenter size-large wp-image-278" title="Sql Server Profiler renegate statement" src="http://www.lybecker.com/blog/wp-content/uploads/sqlserverprofilerrenegate-1024x298.jpg" alt="Sql Server Profiler renegate statement" width="550" height="160" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I was using SQL Server Profiler on a SQL Server 2005 Enterprise Edition looking for performance culprits, when I stumbled upon this very long running process.&lt;/p&gt;
&lt;p&gt;I think this must be a world record. &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;This statement has only used 16 milliseconds of CPU but it has been running for more than 500.000 years!&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2008/02/16/microsoft-product-launch-2008/' rel='bookmark' title='Microsoft product launch 2008'&gt;Microsoft product launch 2008&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/03/24/in-flight-entertainment-running-on-windows/' rel='bookmark' title='In-flight entertainment running on Windows'&gt;In-flight entertainment running on Windows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &amp;#8211; NoTech'&gt;New blog &amp;#8211; NoTech&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/Bp1BLfHmYQM" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/04/06/loooong-running-sql-statement/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/04/06/loooong-running-sql-statement/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/04/06/loooong-running-sql-statement/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[In-flight entertainment running on Windows]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/gqsUHYCiAz4/" />
		<id>http://www.lybecker.com/blog/?p=286</id>
		<updated>2009-03-24T10:33:13Z</updated>
		<published>2009-03-24T10:33:13Z</published>
		<category scheme="http://www.lybecker.com/blog" term="Announcement" />		<summary type="html"><![CDATA[Recently when I was flying back to Europe from South Africa with Lufthansa on Airbus A340-600 the In-flight entertainment crashed just before takeoff. They had to restart the entire system. I could see the entire reload of the system including the initial download with 115K baud XModem protocol download. Yikes! I hope that only non-vital [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &#8211; NoTech'>New blog &#8211; NoTech</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/03/24/in-flight-entertainment-running-on-windows/">&lt;p&gt;&lt;img class="aligncenter size-large wp-image-287" title="In-flight entertainment reboot" src="http://www.lybecker.com/blog/wp-content/uploads/inflight-entertainment-reboot-1024x768.jpg" alt="In-flight entertainment reboot" width="550" height="412" /&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;
&lt;p&gt;Recently when I was flying back to Europe from South Africa with Lufthansa on &lt;a title="Airbus A340-600 homepage" href="http://www.airbus.com/en/aircraftfamilies/a330a340/a340-600/"&gt;Airbus A340-600&lt;/a&gt; the In-flight entertainment crashed just before takeoff. They had to restart the entire system. I could see the entire reload of the system including the initial download with 115K baud &lt;a title="Wikipedia - XModem" href="http://en.wikipedia.org/wiki/XMODEM"&gt;XModem protocol&lt;/a&gt; download.&lt;/p&gt;
&lt;p&gt;Yikes! I hope that only non-vital systems are running Windows for an airliner. &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &amp;#8211; NoTech'&gt;New blog &amp;#8211; NoTech&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/gqsUHYCiAz4" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/03/24/in-flight-entertainment-running-on-windows/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/03/24/in-flight-entertainment-running-on-windows/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/03/24/in-flight-entertainment-running-on-windows/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Scary SQL Server 2005 &amp; 2008 bug]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/fFO6ksatii0/" />
		<id>http://www.lybecker.com/blog/?p=281</id>
		<updated>2009-03-28T14:27:28Z</updated>
		<published>2009-03-21T07:40:00Z</published>
		<category scheme="http://www.lybecker.com/blog" term="SQL Server" />		<summary type="html"><![CDATA[Watch out when using @@IDENTITY and SCOPE_IDENTITY() in your applications. Below is a quote from a Microsoft SQL Server engineer. &#8230; whenever a parallel query plan is generated @@IDENTITY and SCOPE_IDENTITY() are not being updated consistently and can&#8217;t be relied upon. You can find more about the bug and workarounds at the SQL Server bug  [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2007/02/21/sql-server-open-world/' rel='bookmark' title='SQL Server Open World'>SQL Server Open World</a></li>
<li><a href='http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/' rel='bookmark' title='Transferring SQL Server logins'>Transferring SQL Server logins</a></li>
<li><a href='http://www.lybecker.com/blog/2009/08/11/change-data-capture-cdc-in-sql-server-2008/' rel='bookmark' title='Change Data Capture (CDC) in SQL Server 2008'>Change Data Capture (CDC) in SQL Server 2008</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/03/21/scary-sql-server-2005-2008-bug/">&lt;p&gt;Watch out when using @@IDENTITY and SCOPE_IDENTITY() in your applications. Below is a quote from a Microsoft SQL Server engineer.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;#8230; whenever a parallel query plan is generated @@IDENTITY and SCOPE_IDENTITY() are not being updated consistently and can&amp;#8217;t be relied upon.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You can find more about the bug and workarounds at the &lt;a title="SQL Server @@IDENTITY and SCOPE_IDENTITY() bug report" href="https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=328811"&gt;SQL Server bug  report&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;UPDATE 28MAR2009: &lt;a title="SQL SERVER - 2008 - SCOPE_IDENTITY Bug with Multi Processor Parallel Plan and Solution" href="http://blog.sqlauthority.com/2009/03/24/sql-server-2008-scope_identity-bug-with-multi-processor-parallel-plan-and-solution/"&gt;Pinal Dave has a more detailed blog post about the bug with workaround&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/02/21/sql-server-open-world/' rel='bookmark' title='SQL Server Open World'&gt;SQL Server Open World&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/03/01/transferring-sql-server-logins/' rel='bookmark' title='Transferring SQL Server logins'&gt;Transferring SQL Server logins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/08/11/change-data-capture-cdc-in-sql-server-2008/' rel='bookmark' title='Change Data Capture (CDC) in SQL Server 2008'&gt;Change Data Capture (CDC) in SQL Server 2008&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/fFO6ksatii0" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/03/21/scary-sql-server-2005-2008-bug/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/03/21/scary-sql-server-2005-2008-bug/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/03/21/scary-sql-server-2005-2008-bug/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[ASP.Net MVC 1.0 released]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/lup7u8Zbv7I/" />
		<id>http://www.lybecker.com/blog/?p=269</id>
		<updated>2009-03-18T21:02:12Z</updated>
		<published>2009-03-18T15:51:17Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" />		<summary type="html"><![CDATA[I have been playing around with the ASP.NET MVC for a couple of month and cannot wait to start the first commercial project – hopefully next week Frameworks like the ASP.NET MVC, MVCContrib and jQuery has sparked a renewed interest in web development, which has been dormant for years. Related posts: New blog &#8211; NoTech
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &#8211; NoTech'>New blog &#8211; NoTech</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/03/18/aspnet-mvc-10-released/">&lt;p&gt;&lt;img class="alignright size-full wp-image-273" title="ASP.Net MVC" src="http://www.lybecker.com/blog/wp-content/uploads/aspnetmvc.jpg" alt="ASP.Net MVC" width="550" height="318" /&gt;I have been playing around with the ASP.NET MVC for a couple of month and cannot wait to start the first commercial project – hopefully next week &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Frameworks like the &lt;a title="Download ASP.Net MVC 1.0" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;amp;displaylang=en"&gt;ASP.NET MVC&lt;/a&gt;, &lt;a title="MVC Contrib homepage" href="http://www.codeplex.com/MVCContrib"&gt;MVCContrib&lt;/a&gt; and &lt;a title="jQuery homepage" href="http://jquery.com/"&gt;jQuery&lt;/a&gt; has sparked a renewed interest in web development, which has been dormant for years.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2009/10/14/new-blog-notech/' rel='bookmark' title='New blog &amp;#8211; NoTech'&gt;New blog &amp;#8211; NoTech&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/lup7u8Zbv7I" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/03/18/aspnet-mvc-10-released/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/03/18/aspnet-mvc-10-released/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/03/18/aspnet-mvc-10-released/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[How to check for and enable read committed snapshot isolation]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/1sgDjUzjsXg/" />
		<id>http://www.lybecker.com/blog/?p=264</id>
		<updated>2011-02-10T01:45:31Z</updated>
		<published>2009-03-18T11:51:14Z</published>
		<category scheme="http://www.lybecker.com/blog" term="SQL Server" /><category scheme="http://www.lybecker.com/blog" term="Transactions" />		<summary type="html"><![CDATA[Run the below query to see which databases that uses read committed snapshot isolation: To enable it on a specific database run the below query: As a developer I am in love with read committed snapshot isolation feature for SQL Server 2005+. Transactions can read and write simultaneously the same piece of data – no [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2008/08/21/disable-and-enable-all-database-constraints/' rel='bookmark' title='Disable and enable all database constraints'>Disable and enable all database constraints</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/03/18/how-to-check-for-and-enable-read-committed-snapshot-isolation/">&lt;p&gt;Run the below query to see which databases that uses read committed snapshot isolation:&lt;/p&gt;
&lt;pre class="brush: sql; title: ; notranslate"&gt;
SELECT name, is_read_committed_snapshot_on FROM sys.databases
&lt;/pre&gt;
&lt;p&gt;To enable it on a specific database run the below query:&lt;/p&gt;
&lt;pre class="brush: sql; title: ; notranslate"&gt;
ALTER DATABASE [&amp;lt;databasename&amp;gt;]
SET READ_COMMITTED_SNAPSHOT ON
&lt;/pre&gt;
&lt;p&gt;As a developer I am in love with read committed snapshot isolation feature for SQL Server 2005+. Transactions can read and write simultaneously the same piece of data – no read/write contention due to row versioning. Writers will block other writers though.&lt;/p&gt;
&lt;p&gt;Normal conflicting scenarios:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Simultaneously write and read of the same data.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read committed isolation:  The reader will wait for the writer to release the exclusive lock.&lt;/li&gt;
&lt;li&gt;Read committed snapshot isolation:  The reader will not block, but receive the latest committed data (latest row version).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Simultaneously writes of the same data.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read committed isolation: The second writer will wait until the first transaction completes because of an exclusive lock.&lt;/li&gt;
&lt;li&gt;Read committed snapshot isolation: Same as read committed isolation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Read more about read committed snapshot isolation and isolation levels in the &lt;a title="Isolation Levels in SQL Server 2005 on SQLServerPerformance.com" href="http://www.sql-server-performance.com/articles/dba/isolation_levels_2005_p1.aspx"&gt;Isolation Levels in SQL Server 2005&lt;/a&gt; article.&lt;/p&gt;
&lt;p&gt;Update 02FEB2011: Amended the article due to Tom’s comments.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2008/08/21/disable-and-enable-all-database-constraints/' rel='bookmark' title='Disable and enable all database constraints'&gt;Disable and enable all database constraints&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/1sgDjUzjsXg" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/03/18/how-to-check-for-and-enable-read-committed-snapshot-isolation/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/03/18/how-to-check-for-and-enable-read-committed-snapshot-isolation/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/03/18/how-to-check-for-and-enable-read-committed-snapshot-isolation/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Handcrafting the WCF client]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/Eyi4TR4sbMM/" />
		<id>http://www.lybecker.com/blog/?p=225</id>
		<updated>2009-03-08T15:58:47Z</updated>
		<published>2009-03-05T19:52:22Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Visual Studio" /><category scheme="http://www.lybecker.com/blog" term="WCF" /><category scheme="http://www.lybecker.com/blog" term="dotNet" />		<summary type="html"><![CDATA[Two years ago I wrote an article Building a Windows Communication Foundation client, describing three ways of creating WCF clients. I did not mention the fourth one, as I did not know at the time. Now I am older and wiser The four ways of creating a WCF client are: Visual Studio’s &#8220;Add Service&#8221; reference [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2007/01/18/building-a-windows-communication-foundation-client/' rel='bookmark' title='Building a Windows Communication Foundation client'>Building a Windows Communication Foundation client</a></li>
<li><a href='http://www.lybecker.com/blog/2007/01/15/a-simple-windows-communication-foundation-web-service/' rel='bookmark' title='A simple Windows Communication Foundation Web Service'>A simple Windows Communication Foundation Web Service</a></li>
<li><a href='http://www.lybecker.com/blog/2007/04/30/wcf-sessions-and-reliable-messaging/' rel='bookmark' title='WCF Sessions and Reliable Messaging'>WCF Sessions and Reliable Messaging</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/03/05/handcrafting-the-wcf-client/">&lt;p&gt;Two years ago I wrote an article &lt;a href="/blog/2007/01/18/building-a-windows-communication-foundation-client/"&gt;Building a Windows Communication Foundation client&lt;/a&gt;, describing three ways of creating WCF clients. I did not mention the fourth one, as I did not know at the time. Now I am older and wiser &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;The four ways of creating a WCF client are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Visual Studio’s &amp;#8220;Add Service&amp;#8221; reference&lt;/li&gt;
&lt;li&gt;Service Model Metadata Utility Tool (SvcUtil.exe) command line tool&lt;/li&gt;
&lt;li&gt;Dynamic proxy with ChannelFactory&lt;tchannel&gt;&lt;/tchannel&gt;&lt;/li&gt;
&lt;li&gt;Handcrafting the WCF client&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The last two options are only viable for WCF to WCF implementations where you either have control of both service and client or the service provider supplies a .Net assembly. Because both of them require the service contract aka the .Net interface marked with ServiceContractAttribute and OperationContractAttribute.&lt;/p&gt;
&lt;p&gt;Anybody that has tried the “Add Service” reference in Visual Studio knows it is broken. First of all it generates an enormous amount of files, even for the simplest service contract.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lybecker.com/blog/wp-content/uploads/addservicereferencegeneratedfiles.png"&gt;&lt;img class="aligncenter size-full wp-image-228" title="Vistual Studio Add Service reference generated files" src="http://www.lybecker.com/blog/wp-content/uploads/addservicereferencegeneratedfiles.png" alt="" width="474" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Secondly it sometimes corrupts the state of the generated files, so you have to remove the reference and then add it again.. Just try to &lt;a href="http://www.google.com/search?q=%22Add+Service+reference%22+not+working"&gt;google it&lt;/a&gt; and you will find many frustrated developers. Do not use it!&lt;/p&gt;
&lt;p&gt;The SvcUtil.exe is better and has a vast &lt;a href="http://msdn.microsoft.com/en-us/library/aa347733.aspx"&gt;number of options&lt;/a&gt;. This is the preferred option for non .Net services or where the service contract interface is not available.&lt;/p&gt;
&lt;p&gt;The dynamic proxy with ChannelFactory&lt;tchannel&gt; is useful, but be aware that the interface returned does not implement IDisposable, but the implementation does. See below:&lt;/p&gt;
&lt;pre class="brush: csharp; title: ; notranslate"&gt;
var factory = new ChannelFactory&amp;lt;ihelloworldservice&amp;gt;(&amp;quot;myEndPoint&amp;quot;);

IHelloWorldService proxy = factory.CreateChannel();

using (proxy as IDisposable)
{
   MessageBox.Show(proxy.HelloWorld());
}
&lt;/pre&gt;
&lt;p&gt;Finally the handcrafted version – the one I want to talk about. Writing the WCF client by hand is fairly easy – it requires the implementation to inherit from ClienBase&lt;tchannel&gt; and implementing the service contract interface. Below is first a simple service contract IHelloWorldService:&lt;/p&gt;
&lt;pre class="brush: csharp; title: ; notranslate"&gt;
[ServiceContract(Namespace = &amp;quot;www.lybecker.com/blog/HelloWorldService&amp;quot;)]
public interface IHelloWorldService
{
   [OperationContract]
   string HelloWorld();
}
&lt;/pre&gt;
&lt;p&gt;Next the handcrafted WCF client with constructors and service contract interface implementation:&lt;/p&gt;
&lt;pre class="brush: csharp; title: ; notranslate"&gt;
public class HelloWorldClient : ClientBase&amp;lt;ihelloworldservice&amp;gt;, IHelloWorldService
{
   public HelloWorldClient()
   { }

   public HelloWorldClient(string configurationName) : base(configurationName)
   { }

   public HelloWorldClient(Binding binding, EndpointAddress address) : base(binding, address)
   { }

   public string HelloWorld()
   {
      return Channel.HelloWorld();
   }
}
&lt;/pre&gt;
&lt;p&gt;That’s it. &lt;img src='http://www.lybecker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Now you have full control of the WCF client implementation.&lt;/p&gt;
&lt;p&gt;Download the sample application &lt;a href="http://www.lybecker.com/blog/wp-content/uploads/helloworldwcfwithhandcraftedclient.zip"&gt;Hello World WCF clients including a handcrafted version&lt;/a&gt;&lt;/ihelloworldservice&gt;&lt;/tchannel&gt;&lt;/ihelloworldservice&gt;&lt;/tchannel&gt;&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/01/18/building-a-windows-communication-foundation-client/' rel='bookmark' title='Building a Windows Communication Foundation client'&gt;Building a Windows Communication Foundation client&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/01/15/a-simple-windows-communication-foundation-web-service/' rel='bookmark' title='A simple Windows Communication Foundation Web Service'&gt;A simple Windows Communication Foundation Web Service&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2007/04/30/wcf-sessions-and-reliable-messaging/' rel='bookmark' title='WCF Sessions and Reliable Messaging'&gt;WCF Sessions and Reliable Messaging&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/Eyi4TR4sbMM" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/03/05/handcrafting-the-wcf-client/#comments" thr:count="6" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/03/05/handcrafting-the-wcf-client/feed/atom/" thr:count="6" />
		<thr:total>6</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/03/05/handcrafting-the-wcf-client/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Anders Lybecker</name>
						<uri>http://www.lybecker.com/blog/</uri>
					</author>
		<title type="html"><![CDATA[Visiting Microsoft in Johannesburg, South Africa]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.lybecker.com/~r/AndersLybecker/~3/oxGddNNLZGM/" />
		<id>http://www.lybecker.com/blog/?p=219</id>
		<updated>2009-02-11T20:54:48Z</updated>
		<published>2009-02-11T20:53:16Z</published>
		<category scheme="http://www.lybecker.com/blog" term=".Net" /><category scheme="http://www.lybecker.com/blog" term="Announcement" /><category scheme="http://www.lybecker.com/blog" term="dotNet" />		<summary type="html"><![CDATA[I live and work in the suburbs of Copenhagen in Denmark, but I’m currently in South Africa on business. While I’m here I might as well visit Microsoft South Africa – I did that today. I attended a presentation of the .Net services by Juval Löwy. Microsoft South Africa is situated in a nice and [...]
Related posts:<ol>
<li><a href='http://www.lybecker.com/blog/2008/02/16/microsoft-product-launch-2008/' rel='bookmark' title='Microsoft product launch 2008'>Microsoft product launch 2008</a></li>
<li><a href='http://www.lybecker.com/blog/2008/03/16/my-presentation-at-the-microsoft-product-launch-2008/' rel='bookmark' title='My presentation at the Microsoft product launch 2008'>My presentation at the Microsoft product launch 2008</a></li>
<li><a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'>Miracle Open World 2010 Lucene Presentation</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.lybecker.com/blog/2009/02/11/visiting-microsoft-in-johannesburg-south-africa/">&lt;p&gt;I live and work in the suburbs of Copenhagen in Denmark, but I’m currently in South Africa on business. While I’m here I might as well visit Microsoft South Africa – I did that today. I attended a presentation of the &lt;a href="http://www.microsoft.com/azure/netservices.mspx"&gt;.Net services&lt;/a&gt; by Juval Löwy.&lt;/p&gt;
&lt;p&gt;&lt;img class="alignnone size-full wp-image-221" title="Microsoft South Africa Building" src="http://www.lybecker.com/blog/wp-content/uploads/microsoftsouthafricabuilding.jpg" alt="" width="500" height="375" /&gt;&lt;/p&gt;
&lt;p&gt;Microsoft South Africa is situated in a nice and fairly new building, as you can see on the picture above.&lt;/p&gt;
&lt;p&gt;I was amazed about the level of security – first I had to cleared by the security guards before entering the parking lot. This is not uncommon in South Africa, but very uncommon in Denmark.&lt;/p&gt;
&lt;p&gt;&lt;img class="alignnone size-full wp-image-222" title="Microsoft South Africa Security Barriers in Reception" src="http://www.lybecker.com/blog/wp-content/uploads/microsoftsouthafricareception.jpg" alt="" width="500" height="336" /&gt;&lt;/p&gt;
&lt;p&gt;Inside in the reception the security check barriers prevent unauthorized people to enter.&lt;/p&gt;
&lt;p&gt;When I finally was granted access to the presentation, Microsoft served sodas, pizza and beer!&lt;/p&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2008/02/16/microsoft-product-launch-2008/' rel='bookmark' title='Microsoft product launch 2008'&gt;Microsoft product launch 2008&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2008/03/16/my-presentation-at-the-microsoft-product-launch-2008/' rel='bookmark' title='My presentation at the Microsoft product launch 2008'&gt;My presentation at the Microsoft product launch 2008&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.lybecker.com/blog/2010/04/20/miracle-open-world-2010-lucene-presentation/' rel='bookmark' title='Miracle Open World 2010 Lucene Presentation'&gt;Miracle Open World 2010 Lucene Presentation&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AndersLybecker/~4/oxGddNNLZGM" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.lybecker.com/blog/2009/02/11/visiting-microsoft-in-johannesburg-south-africa/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.lybecker.com/blog/2009/02/11/visiting-microsoft-in-johannesburg-south-africa/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.lybecker.com/blog/2009/02/11/visiting-microsoft-in-johannesburg-south-africa/</feedburner:origLink></entry>
	</feed>

