<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>bovendeur.org</title>
	<atom:link href="http://bovendeur.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://bovendeur.org</link>
	<description></description>
	<lastBuildDate>Fri, 20 Apr 2012 14:32:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Compile remote pcap on linux</title>
		<link>http://bovendeur.org/2012/04/20/compile-remote-pcap-on-linux/</link>
		<comments>http://bovendeur.org/2012/04/20/compile-remote-pcap-on-linux/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 14:31:28 +0000</pubDate>
		<dc:creator>r-win</dc:creator>
				<category><![CDATA[Wireshark]]></category>
		<category><![CDATA[Pcap]]></category>
		<category><![CDATA[Remote]]></category>
		<category><![CDATA[Winpcap]]></category>

		<guid isPermaLink="false">http://bovendeur.org/?p=140</guid>
		<description><![CDATA[Did you know that you can use Wireshark to monitor packets on a remote system? You can select a remote interface, but in order for that to work, you’ll need to execute a remote packet monitor application on the remote machine. &#160; You can find such a packet monitor application supplied with WinPcap. First, we [...]]]></description>
			<content:encoded><![CDATA[<p>Did you know that you can use Wireshark to monitor packets on a remote system? You can select a remote interface, but in order for that to work, you’ll need to execute a remote packet monitor application on the remote machine.</p>
<p>&#160;</p>
<p><span id="more-140"></span>
<p>You can find such a packet monitor application supplied with WinPcap. First, we need to download the latest version of the <a href="http://www.winpcap.org/install/bin/WpcapSrc_4_1_2.zip" target="_blank">WinPcap</a> sources. You’ll have to extract those on your linux machine (use unzip –a to use platform specific line endings).</p>
<p>Enter the directory wpcap/libpcap. You’ll need to compile libpcap first. In order to do so, you’ll have to create a configure file. Type autoconf on the prompt, and it’ll create a configuration file for you. In my case, however, I had an error from automake, which prevented creating a correct configure:</p>
<pre style="font-size: 10px">configure.in:15: warning: AC_REQUIRE: `AC_PROG_CC' was expanded before it was required
../../lib/autoconf/c.m4:429: AC_LANG_COMPILER(C) is expanded from...
../../lib/autoconf/lang.m4:330: AC_LANG_COMPILER_REQUIRE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
aclocal.m4:45: AC_LBL_C_INIT is expanded from...
configure.in:15: the top level
configure.in:17: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
aclocal.m4:856: AC_C___ATTRIBUTE__ is expanded from...
configure.in:17: the top level</pre>
<p>After googling for a bit, I’ve found out that the issue was related to a newer version of automake. You can fix this issue by editiing aclocal.m4: Somewhere around line 75, you’ll find a line saying</p>
<pre>AC_PROG_CC</pre>
<p>Replace that line with this:</p>
<pre>AC_REQUIRE([AC_PROG_CC])</pre>
<p>Save the file, and type autoconf again. Probably you’ll get another warning about AC_LANG_CONFTEST, but you can ignore that one. </p>
<p>So, type configure, and your Makefile will be created. Compile libpcap, then change directory to rpcapd. Type make one more time, and the rpcapd daemon will be compiled and be available to capture packets!</p>
<p>So, to recap:</p>
<pre>wget http://www.winpcap.org/install/bin/WpcapSrc_4_1_2.zip
unzip –a WpcapSrc_4_1_2.zip
cd winpcap/wpcap/libpcap
autoconf
vi aclocal.m4 (only if autoconf failed)
autoconf (only if it failed the first time)
./configure
make
cd rpcapd
make</pre>
<p>&#160;</p>
<h5>References:</h5>
<p>Initial instructions found <a href="http://www.pawelko.net/linux/38-Here" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bovendeur.org/2012/04/20/compile-remote-pcap-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fractions in MySql DateTime and timestamp columns</title>
		<link>http://bovendeur.org/2012/04/06/fractions-in-mysql-datetime-and-timestamp-columns/</link>
		<comments>http://bovendeur.org/2012/04/06/fractions-in-mysql-datetime-and-timestamp-columns/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 21:27:35 +0000</pubDate>
		<dc:creator>r-win</dc:creator>
				<category><![CDATA[MySql]]></category>
		<category><![CDATA[.NET Connector]]></category>
		<category><![CDATA[DateTime]]></category>
		<category><![CDATA[Fractions]]></category>
		<category><![CDATA[Timestamp]]></category>

		<guid isPermaLink="false">http://bovendeur.org/?p=136</guid>
		<description><![CDATA[Recently, MySql released a beta version with support for fractions in timestamps, dates and time columns. You can alter your existing columns by adding a fraction to the column definition, e.g.: alter table `audit` modify column `timestamp` `timestamp` timestamp(3) not null; This will save 3 digits of the milliseconds when storing the current timestamp. Hurray! [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, MySql released a beta version with support for fractions in timestamps, dates and time columns. You can alter your existing columns by adding a fraction to the column definition, e.g.:</p>
<pre class="code">alter table `audit` modify column `timestamp` `timestamp` timestamp(3) not <span style="color: blue">null</span>;</pre>
<p>This will save 3 digits of the milliseconds when storing the current timestamp. Hurray!</p>
<p><span id="more-136"></span>
<p>So I was eagerly abusing this new method with our .NET application framework, <a href="http://www.accelerateddeliveryplatform.com" target="_blank">ADF</a>. We use the timestamp column for detection concurrency issues. It works in most datastores, and now even in MySql.</p>
<p>After creating my first object, I tried to change it. However, I received another concurrency exception. That’s strange, since that can mean two things. For one, the record is changed by someone else. However, since I’m alone in my test environment, that’s not the case. So it must search for a record using another timestamp! </p>
<p>Tracing back the issue, I saw that in our low level state the timestamp was stored without a fraction. So either the value was exact at a whole second, or there was some other problem. The database value contained a fractions, so…now what?</p>
<p>After searching and reviewing some variables, I was able to trace the issue back to the MySql .NET connector. The connector does not retrieve or save the fraction. Makes sense, since the connector was written in when fractions were unavailable.</p>
<p>Luckily, the .NET connector is open source, so I was able to “fix” this shortcoming.</p>
<p><a href="http://bovendeur.org/downloads/MySql.Data">You can download the sources for the connector here</a>. I can’t provide a compiled binary, since I don’t have the strong name key. I‘ve disabled signing in AssemblyInfo.cs. Also, the sources are targetted for the .NET 2.0 framework, but can be updated to target .NET 4.0 without code change.</p>
<p>&#160;</p>
<p>You can download the beta version of MySql <a href="http://dev.mysql.com/downloads/mysql/5.6.html" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bovendeur.org/2012/04/06/fractions-in-mysql-datetime-and-timestamp-columns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GridView woes.</title>
		<link>http://bovendeur.org/2012/01/25/gridview-woes/</link>
		<comments>http://bovendeur.org/2012/01/25/gridview-woes/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 23:34:13 +0000</pubDate>
		<dc:creator>r-win</dc:creator>
				<category><![CDATA[ADF]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[gridview]]></category>
		<category><![CDATA[pager]]></category>
		<category><![CDATA[tbody]]></category>
		<category><![CDATA[tfoot]]></category>
		<category><![CDATA[thead]]></category>

		<guid isPermaLink="false">http://projects.bovendeur.org/2012/01/25/gridview-woes/</guid>
		<description><![CDATA[Today, I was extending the GridView control to support some customization for our ADF framework, when I ran into the following error: The table  must contain row sections in order of header, body, then footer. This error occurred after I had enabled paging. On first hand, it seemed to me that this error was purely [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I was extending the GridView control to support some customization for our <a href="http://www.smartusecase.com">ADF</a> framework, when I ran into the following error:</p>
<h4><em>The table  must contain row sections in order of header, body, then footer.</em></h4>
<p>This error occurred after I had enabled paging. On first hand, it seemed to me that this error was purely bad design, and the results I found on the internet seem to support that thought (e.g. <a href="http://forums.asp.net/t/1330555.aspx/1">this post</a>).</p>
<p><span id="more-60"></span>So I did what other people also tried:</p>
<div class="csharpcode">
<pre class="alt"><span class="kwrd">protected</span> <span class="kwrd">override</span> <span class="kwrd">void</span> OnInit(EventArgs e)</pre>
<pre>{</pre>
<pre class="alt">    UseAccessibleHeader = <span class="kwrd">true</span>;</pre>
<pre>    <span class="kwrd">base</span>.OnInit(e);</pre>
<pre class="alt">}</pre>
</div>
<p>and</p>
<div class="csharpcode">
<pre class="alt"><span class="kwrd">protected</span> <span class="kwrd">override</span> <span class="kwrd">void</span> OnRowCreated(GridViewRowEventArgs e)</pre>
<pre>{</pre>
<pre class="alt">    <span class="kwrd">switch</span> (e.Row.RowType)</pre>
<pre>    {</pre>
<pre class="alt">        <span class="kwrd">case</span> DataControlRowType.Header:</pre>
<pre>            e.Row.TableSection = TableRowSection.TableHeader;</pre>
<pre class="alt">            <span class="kwrd">break</span>;</pre>
<pre>        <span class="kwrd">case</span> DataControlRowType.Footer:</pre>
<pre class="alt">            e.Row.TableSection = TableRowSection.TableFooter;</pre>
<pre>            <span class="kwrd">break</span>;</pre>
<pre class="alt">    }</pre>
<pre>}</pre>
</div>
<p>Since the default TableSection is TableBody, we can skip that one. This seems to work, as long as paging is disabled. The code above will take care of nice wrapped table content in &lt;thead&gt;, &lt;tbody&gt; and &lt;tfoot&gt; tags.</p>
<p>So why is this not working when you enable paging? Apparently .NET adds another section somewhere, and it’s TableSection property has a value which it shouldn’t have. The solution is simple: the RowType of the pager is not Footer, but Pager.</p>
<p>The following code will fix the error, and result in the pager being part of the &lt;tfoot&gt; node:</p>
<div class="csharpcode">
<pre class="alt">        <span class="kwrd">case</span> DataControlRowType.Footer:</pre>
<pre>        <span class="kwrd">case</span> DataControlRowType.Pager:</pre>
<pre class="alt">            e.Row.TableSection = TableRowSection.TableFooter;</pre>
</div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://bovendeur.org/2012/01/25/gridview-woes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updated Download Counter to 1.0</title>
		<link>http://bovendeur.org/2009/01/13/updated-download-counter-to-10/</link>
		<comments>http://bovendeur.org/2009/01/13/updated-download-counter-to-10/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 06:58:36 +0000</pubDate>
		<dc:creator>r-win</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://projects.bovendeur.org/?p=47</guid>
		<description><![CDATA[The downloadcounter is updated again. This time, a problem found by Kerry and fixed by Niuray is added. Thank you both! You can find the new version of the download counter on the download counter page. Reactivation of the plugin is not required with this update, unless you&#8217;ve skipped the previous update (that is, if [...]]]></description>
			<content:encoded><![CDATA[<p>The downloadcounter is updated again. This time, a problem found by Kerry and fixed by Niuray is added. Thank you both! You can find the new version of the download counter on the <a href="../../../../../../2007/07/06/download-counter/">download counter page</a>.</p>
<p>Reactivation of the plugin is not required with this update, unless you&rsquo;ve skipped the previous update (that is, if you&rsquo;re using a version prior to 0.6).</p>
]]></content:encoded>
			<wfw:commentRss>http://bovendeur.org/2009/01/13/updated-download-counter-to-10/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Updated DownloadCounter to v0.6</title>
		<link>http://bovendeur.org/2008/12/01/updated-download-counter-to-version-06/</link>
		<comments>http://bovendeur.org/2008/12/01/updated-download-counter-to-version-06/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 19:21:24 +0000</pubDate>
		<dc:creator>r-win</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://projects.bovendeur.org/?p=38</guid>
		<description><![CDATA[Today, I&#8217;ve released a new version of the download counter. New features include paging on the download log overview, logging of the current user, a PHP&#160;function which returns an array of information about the specified download and some new tags are introduced. After upgrading, you&#8217;ll have to re-activate this plugin! You can find more info [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I&#8217;ve released a new version of the download counter. New features include paging on the download log overview, logging of the current user, a PHP&nbsp;function which returns an array of information about the specified download and some new tags are introduced.</p>
<p>After upgrading, you&#8217;ll have to re-activate this plugin! You can find more info and the download <a href="http://projects.bovendeur.org/2007/07/06/download-counter/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bovendeur.org/2008/12/01/updated-download-counter-to-version-06/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updated DownloadCounter</title>
		<link>http://bovendeur.org/2008/10/26/updated-downloadcounter/</link>
		<comments>http://bovendeur.org/2008/10/26/updated-downloadcounter/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 21:58:04 +0000</pubDate>
		<dc:creator>r-win</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[counter]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[download counter]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[statistical]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://projects.bovendeur.org/?p=31</guid>
		<description><![CDATA[The downloadcounter is updated again. This time, a request from long ago was added: paging in the download overview. I&#8217;ve also added others options to determine the mime type of a file to prevent wrong downloads, like The Tim has had with his PDF file. You can find the new version of the download counter [...]]]></description>
			<content:encoded><![CDATA[<p>The downloadcounter is updated again. This time, a request from long ago was added: paging in the download overview. I&#8217;ve also added others options to determine the mime type of a file to prevent wrong downloads, like The Tim has had with his PDF file. You can find the new version of the download counter on the <a href="http://projects.bovendeur.org/2007/07/06/download-counter/">download counter page</a>.</p>
<p>Reactivation of the plugin is not required with this update, unless you&#8217;ve skipped the previous update (that is, if you&#8217;re using version 0.3).</p>
]]></content:encoded>
			<wfw:commentRss>http://bovendeur.org/2008/10/26/updated-downloadcounter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updated ExtProgressbar</title>
		<link>http://bovendeur.org/2007/10/06/updated-extprogressbar/</link>
		<comments>http://bovendeur.org/2007/10/06/updated-extprogressbar/#comments</comments>
		<pubDate>Sat, 06 Oct 2007 18:45:32 +0000</pubDate>
		<dc:creator>r-win</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://projects.bovendeur.org/2007/10/06/updated-extprogressbar/</guid>
		<description><![CDATA[The demo and source files added to the ExtProgressbar are updated to the correct version. Steve Medley notified me of the fact that he couldn&#8217;t change the orientation of the bar posted with the article. It seemed that the version posted with the article was a (very) old version, so I&#8217;ve updated the files to [...]]]></description>
			<content:encoded><![CDATA[<p>The demo and source files added to the ExtProgressbar are updated to the correct version. Steve Medley notified me of the fact that he couldn&#8217;t change the orientation of the bar posted with the article. It seemed that the version posted with the article was a (very) old version, so I&#8217;ve updated the files to the correct version. Steve, thank you!</p>
<p>Please note, the solution and project files in the archives are for Visual Studio 2008 beta 2.</p>
]]></content:encoded>
			<wfw:commentRss>http://bovendeur.org/2007/10/06/updated-extprogressbar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Team Foundation Server MSSCCI provider with Team Explorer 2008 beta 2</title>
		<link>http://bovendeur.org/2007/10/01/using-team-foundation-server-msscci-provider-with-team-explorer-2008-beta-2/</link>
		<comments>http://bovendeur.org/2007/10/01/using-team-foundation-server-msscci-provider-with-team-explorer-2008-beta-2/#comments</comments>
		<pubDate>Mon, 01 Oct 2007 12:56:43 +0000</pubDate>
		<dc:creator>r-win</dc:creator>
				<category><![CDATA[Team Explorer]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://projects.bovendeur.org/2007/10/01/using-team-foundation-server-msscci-provider-with-team-explorer-2008-beta-2/</guid>
		<description><![CDATA[For one client we have a .NET 1.1 application, which can&#8217;t be upgraded at the moment. For that project, I use Visual Studio 2003 with the Team Foundation Server MSSCCI provider. Last week, when my diskspace was running low (again), I decided to uninstall Visual Studio 2005 and Team Explorer 2005. I had already installed [...]]]></description>
			<content:encoded><![CDATA[<p>For one client we have a .NET 1.1 application, which can&#8217;t be upgraded at the moment. For that project, I use Visual Studio 2003 with the Team Foundation Server MSSCCI provider.</p>
<p>Last week, when my diskspace was running low (again), I decided to uninstall Visual Studio 2005 and Team Explorer 2005. I had already installed Visual Studio 2008 beta 2, so I only needed Team Explorer 2008 beta 2. I used the Team Foundation Server 2008 ISO to extract the Team Explorer 2008 beta 2, and installed that version.</p>
<p>When I fired up the .NET 1.1 project, the MSSCCI provider was missing a required assembly: Microsoft.TeamFoundation.VersionControl.Client, version 8.0.0.0, publickeytoken b03f5f7f11d50a3a. Of course, I should have known that Team Explorer 2005 is a requirement for the MSSCCI provider. However, I didn&#8217;t want to install Visual Studio 2005 only for Team Explorer 2005. There should be another way. Luckily, there is.</p>
<p><span id="more-28"></span>The .NET runtime allows redirection between different versions. Since Team Explorer 2008 installs newer assemblies, with version 9.0.0.0, we have to redirect the requests for version 8.0.0.0 to 9.0.0.0. This can be achieved by using a .config file. I created the file TfsMsscciSvr.exe.config in the directory C:Program FilesMicrosoft Team Foundation Server MSSCCI Provider (where my MSSCCI provider is installed, this directory should also contain the file TfsMsscciSvr.exe).</p>
<p>At first, I created the following config file:</p>
<div class="code">&lt;configuration&gt;<br />
&nbsp; &lt;runtime&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;assemblyBinding xmlns=&quot;urn:schemas-microsoft-com:asm.v1&quot; appliesTo=&quot;v2.0.50727&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.TeamFoundation.VersionControl.Client&quot; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/assemblyBinding&gt;<br />
&nbsp; &lt;/runtime&gt;<br />
&lt;/configuration&gt;</div>
<p>After enabling fusion logging (with fuslogvw.exe), I restarted Visual Studio 2003 and opened the project. Another messagebox popped up, with another missing assembly. The fusionlog showed me that the first assembly was indeed rerouted to the new version, so the assemblyBinding actually works in this case! After changing the config file and restarting Visual Studio 2003, I came up with the following config file:</p>
<div class="code">&lt;configuration&gt;<br />
&nbsp; &lt;runtime&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;assemblyBinding xmlns=&quot;urn:schemas-microsoft-com:asm.v1&quot; appliesTo=&quot;v2.0.50727&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.TeamFoundation.VersionControl.Client&quot; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.TeamFoundation.Client&quot; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.TeamFoundation.Common&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.TeamFoundation.VersionControl.Common&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/assemblyBinding&gt;<br />
&lt;/runtime&gt;<br />
&lt;/configuration&gt;</div>
<p>After this configuration, check out and undo checkout worked flawlessly. However, when trying to check in some workitems, some other assemblies were missing. This time, the requested assemblies were not available in the GAC, so the bindingRedirect trick didn&#8217;t work. After searching for the assemblies on internet, I found out that the missing assemblies were private assemblies of Visual Studio 2005. The beta 2 version of Visual Studio 2008 also had the same private assemblies, so this time, we should also add a codebase to the config file.</p>
<p>The configuration file printed below is my final configuration file.</p>
<div class="code">&lt;configuration&gt;<br />
&nbsp; &lt;runtime&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;assemblyBinding xmlns=&quot;urn:schemas-microsoft-com:asm.v1&quot; appliesTo=&quot;v2.0.50727&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.TeamFoundation.VersionControl.Client&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.TeamFoundation.Client&quot; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.TeamFoundation.Common&quot; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.TeamFoundation.VersionControl.Common&quot; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.TeamFoundation.WorkItemTracking.Client&quot; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.TeamFoundation&quot; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.VisualStudio.VirtualTreeGrid&quot; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.VisualStudio.TeamFoundation.WorkItemTracking&quot; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;codeBase href=&quot;C:Program FilesMicrosoft Visual Studio 9.0Common7IDEPrivateAssembliesMicrosoft.VisualStudio.TeamFoundation.WorkItemTracking.dll&quot; version=&quot;9.0.0.0&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp; &lt;dependentAssembly&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assemblyIdentity name=&quot;Microsoft.TeamFoundation.WorkItemTracking.Controls&quot; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicKeyToken=&quot;b03f5f7f11d50a3a&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bindingRedirect oldVersion=&quot;8.0.0.0&quot; newVersion=&quot;9.0.0.0&quot; /&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;codeBase href=&quot;C:Program FilesMicrosoft Visual Studio 9.0Common7IDEPrivateAssembliesMicrosoft.TeamFoundation.WorkItemTracking.Controls.dll&quot; version=&quot;9.0.0.0&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependentAssembly&gt;<br />
&nbsp;&nbsp; &nbsp;&lt;/assemblyBinding&gt;<br />
&nbsp; &lt;/runtime&gt;<br />
&lt;/configuration&gt;</div>
<p>You can also download the file <a href="http://bovendeur.org/downloads/TfsMsscciSvr.exe.config">here</a>.</p>
<hr width="100%" size="2" />
<h2>Final note</h2>
<p>Of course this is not the recommended way to use Team Explorer. I cannot give any guarantee that this will work on your machine, or with your configuration, or with your Team Foundation Server. If you think this can harm your environment in any way, I think you should wait until Microsoft releases a MSSCCI provider for use with Team Explorer 2008. This config file can only be used at your own risk!</p>
]]></content:encoded>
			<wfw:commentRss>http://bovendeur.org/2007/10/01/using-team-foundation-server-msscci-provider-with-team-explorer-2008-beta-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redirecting pages to posts</title>
		<link>http://bovendeur.org/2007/07/23/redirect/</link>
		<comments>http://bovendeur.org/2007/07/23/redirect/#comments</comments>
		<pubDate>Mon, 23 Jul 2007 10:39:37 +0000</pubDate>
		<dc:creator>r-win</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://bovendeur.org/2007/07/23/redirect/</guid>
		<description><![CDATA[So nice. After releasing my previous plugin (download counter for wordpress), I found out that I&#8217;ve put a wrong URL in the plugin&#8217;s comment. Therefor, a nice amount of hits found the wrong page for support. An empty page, that is. With only a download link to the latest version, but nothing else. My fault [...]]]></description>
			<content:encoded><![CDATA[<p>So nice. After releasing my previous plugin (download counter for wordpress), I found out that I&#8217;ve put a wrong URL in the plugin&#8217;s comment. Therefor, a nice amount of hits found the wrong page for support. An empty page, that is. With only a download link to the latest version, but nothing else. My fault completely, of course.</p>
<p><span id="more-26"></span></p>
<h3>Background</h3>
<p>I wanted to create a redirection from that post to another post, but that doesn&#8217;t seem possible. Strange, since WordPress does have a redirection possibility; the permalink structure uses this, and my download counter uses this system also. However, adding or removing &quot;normal&quot; page url&#8217;s to this redirection facility is not built into the WordPress administration (or I couldn&#8217;t find it, of course).</p>
<p>Since I really required a redirection from /projects/wp-downloadcounter to the correct page, I&#8217;ve created this plugin for WordPress.</p>
<h3>What does this plugin do</h3>
<p>This plugin redirects a visitor who requests page A to page B. This visitor will be either redirected to page B, or WordPress will just show page B instead of page A. The difference between those two methods is that the first redirection is a so called external redirection, which uses the Location header and thus redirecting the browser to a new page. The second method just changes some internal variables, causing WordPress to show page A. In this case, the visitor has no idea that you&#8217;ve just redirected him.</p>
<h3>Why should I use this?</h3>
<p>When you&#8217;ve just been as stupid as I am ;-) Or when you want your posts to be accessible trough different URL&#8217;s. Or&#8230; (fill it out yourself).</p>
<h3>Installation</h3>
<p>Download the zip-file and extract the wp-redirect directory to you wp-content/plugins directory. Go to the plugins page in your wordpress administration panel, and Activate the Redirect plugin. On Activation, a table with the name [$prefix]redirect gets created. The table will not be removed when deactivating the plugin!</p>
<h3>Management</h3>
<p>After activation, a new page will appear in the Management tab. Choose Management -&gt; Redirect for the redirection screen. Click on Add Redirection to add a new redirection. Enter the url which needs redirecting in the source field, and the redirected url in the destination field. Finally, choose the type of redirection.    <br />If you&#8217;ve entered another host as the destination field, the redirection will always be externally.</p>
<h3>Downloading</h3>
<p>You can download the plugin <a title="wp-redirect.zip" href="http://bovendeur.org/downloads/wp-redirect.zip">here</a>.</p>
<h3>Note</h3>
<p>This plugin is only tested on WordPress 2.2 and 2.3. <a href="http://priceofoil.org/" target="_blank">Adam</a> let me know that this plugin does not work with WordPress 2.0. He found another plugin doing the same thing for the WordPress 1.5 and 2.0 codebase. You can find that plugin <a href="http://blog.taragana.com/index.php/archive/wordpress-plugin-for-permanent-redirection-of-posts-angsumans-permanent-redirector-plugin/" target="_blank">here</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://bovendeur.org/2007/07/23/redirect/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Updated DownloadCounter</title>
		<link>http://bovendeur.org/2007/07/08/downloadcounter-02/</link>
		<comments>http://bovendeur.org/2007/07/08/downloadcounter-02/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 19:07:15 +0000</pubDate>
		<dc:creator>r-win</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://bovendeur.org/2007/07/08/updated-downloadcounter/</guid>
		<description><![CDATA[Today I&#8217;ve updated the download counter to a new version. The first release seemed to contain a parse error, which is fixed by now. This version also adds a overview of who downloaded which file and when it was downloaded. Also the referer is stored, so you can see where your downloaders are looking for [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;ve updated the download counter to a new version. The first release seemed to contain a parse error, which is fixed by now.</p>
<p>This version also adds a overview of who downloaded which file and when it was downloaded. Also the referer is stored, so you can see where your downloaders are looking for your files.</p>
<p>You can download the updated version at the <a href="http://bovendeur.org/2007/07/06/download-counter/" title="Download Counter">Download Counter page</a>. Do not forget to re-activate the plugin, to create the new database table.</p>
]]></content:encoded>
			<wfw:commentRss>http://bovendeur.org/2007/07/08/downloadcounter-02/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

