<?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>tOMPSON's blog &#187; Tools</title>
	<atom:link href="http://dertompson.com/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://dertompson.com</link>
	<description>some personal, more technical - by Thomas Einwaller</description>
	<lastBuildDate>Mon, 28 Jun 2010 10:24:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Windows 7 Ultimate backup failed</title>
		<link>http://dertompson.com/2009/10/27/windows-7-ultimate-backup-failed/</link>
		<comments>http://dertompson.com/2009/10/27/windows-7-ultimate-backup-failed/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 19:54:58 +0000</pubDate>
		<dc:creator>tompson</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[partition]]></category>

		<guid isPermaLink="false">http://dertompson.com/?p=818</guid>
		<description><![CDATA[I was happy the first time I used the built in backup feature of Windows 7 RC1. It was a very easy tool that allowed me to backup my whole system (or just selected partitions) to another external disk or a network share. Today I tried to backup my current Windows 7 installation before updating [...]]]></description>
			<content:encoded><![CDATA[<p>I was happy the first time I used the built in backup feature of Windows 7 RC1. It was a very easy tool that allowed me to backup my whole system (or just selected partitions) to another external disk or a network share.</p>
<p>Today I tried to backup my current Windows 7 installation before updating the firmware of my Intel Postville SSD &#8211; but I was not able to creat the backup. I always got the following error message:</p>
<blockquote><p>There is not enough disk space to create the volume shadow copy on storage location. Make sure that for all volume to be backup up, the minimum disk space required for shadow copy creation is available. This applies to both the backup storage destination and volume included in the backup. Minimum requirement for Volumes less than 500 megabytes, the minimum is 50 megabyte of free space. For volumes more than 500 megabytes, the minimum is 320 megabytes of free space. Recommended at least 1 gigabytes free of disk space on each volumes if volumes size is more than 1 gigabytes (0&#215;80780119)</p></blockquote>
<p>I figured out that the hidden volume created by the Windows 7 setup caused this error. It is only 100 megabytes of size and has only 37 megabytes free. I was not able to deselect it or to free space on it. So now I am giving <a href="http://www.macrium.com/reflectfree.asp">Macrium Reflect &#8211; Free Edition</a> a try &#8211; I hope this does the trick, so far it looks pretty nice.</p>
]]></content:encoded>
			<wfw:commentRss>http://dertompson.com/2009/10/27/windows-7-ultimate-backup-failed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Improving cygwin console (even more)</title>
		<link>http://dertompson.com/2009/09/17/improving-cygwin-console-even-more/</link>
		<comments>http://dertompson.com/2009/09/17/improving-cygwin-console-even-more/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 22:21:52 +0000</pubDate>
		<dc:creator>tompson</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[vi]]></category>

		<guid isPermaLink="false">http://dertompson.com/?p=807</guid>
		<description><![CDATA[As I stated out in one of my last posts I am using cygwin a long time now and I am using it more and more within the last months. This is mainly caused by switching to git as my new favorite source code management tool and using maven for every Java project I am [...]]]></description>
			<content:encoded><![CDATA[<p>As I stated out <a href="http://dertompson.com/2009/09/09/improving-cygwin-console/">in one of my last posts</a> I am using cygwin a long time now and I am using it more and more within the last months. This is mainly caused by switching to <a href="http://git-scm.com/">git</a> as my new favorite source code management tool and using <a href="http://maven.apache.org/">maven</a> for every Java project I am currently working on.</p>
<p>Today I fixed some small issues I had with cygwin that kept the true excellence of the bash command line, I was used to from my Linux systems, away from me.</p>
<p>One of these problems was that the Umlauts did not work in bash. I was able to fix this by adding the following lines to my <code>~/.inputrc</code></p>
<p><code>set meta-flag on<br />
set output-meta on<br />
set convert-meta off</code></p>
<p>The second thing was that navigating with the cursor keys did not work in vim. This was fixed by creating a <code>vimrc</code> file using the sample by issuing the following command</p>
<p><code>cp /usr/share/vim/vim72/vimrc_example.vim ~/.vimrc</code></p>
<p>Another benefit of the vimrc file was that syntax highlighting and colors were now enabled. I also had to make sure that the <code>TERM</code> environment variable was set to <code>cygwin</code> to get the cursor keys working. I did this by adding the following line to my <code>~/.profile</code> file:</p>
<p><code>export TERM=cygwin</code></p>
<p>Now I am really happy with my console setup under Windows 7.</p>
]]></content:encoded>
			<wfw:commentRss>http://dertompson.com/2009/09/17/improving-cygwin-console-even-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improving cygwin console</title>
		<link>http://dertompson.com/2009/09/09/improving-cygwin-console/</link>
		<comments>http://dertompson.com/2009/09/09/improving-cygwin-console/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 14:54:11 +0000</pubDate>
		<dc:creator>tompson</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[puttycyg]]></category>

		<guid isPermaLink="false">http://dertompson.com/?p=799</guid>
		<description><![CDATA[I am using cygwin for a long time now. It is one of the first tools I install on the Windows systems I am working on. The bad thing about cygwin is that it uses the Windows Command/Console to run the bash. Selecting text, copy and paste are really hard to do inside the Windows [...]]]></description>
			<content:encoded><![CDATA[<p>I am using <a href="http://www.cygwin.com/">cygwin</a> for a long time now. It is one of the first tools I install on the Windows systems I am working on.</p>
<p>The bad thing about cygwin is that it uses the Windows Command/Console to run the bash. Selecting text, copy and paste are really hard to do inside the Windows Console so I searched for a better solution.</p>
<p>I came across <a href="http://code.google.com/p/puttycyg/">puttycyg</a> which is basically a manipulated putty that allows to make a &#8220;connection&#8221; to the local cygwin installation. This is the perfect way for me to have a real bash functioniality under Windows. Working with maven, subversion and git got a lot better for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://dertompson.com/2009/09/09/improving-cygwin-console/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Backup third-party apps of your BlackBerry</title>
		<link>http://dertompson.com/2009/01/12/backup-third-party-apps-of-your-blackberry/</link>
		<comments>http://dertompson.com/2009/01/12/backup-third-party-apps-of-your-blackberry/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 21:44:26 +0000</pubDate>
		<dc:creator>tompson</dc:creator>
				<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[RIM]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[game]]></category>

		<guid isPermaLink="false">http://dertompson.com/?p=666</guid>
		<description><![CDATA[Today I decided to make a complete backup of all the applications currently installed on my BlackBerry. I just bought Sid Meier&#8217;s Pirates! for BlackBerry from Concrete Software. This game is the greatest game I ever played on a mobile device so far and at the same the the best remake of an old classic [...]]]></description>
			<content:encoded><![CDATA[<p>Today I decided to make a complete backup of all the applications currently installed on my BlackBerry. I just bought <a href="http://www.concretesoftware.com/blackberry/pirates.shtml">Sid Meier&#8217;s Pirates!</a> for BlackBerry from Concrete Software. This game is the greatest game I ever played on a mobile device so far and at the same the the best remake of an old classic like Pirates! is &#8211; ARR!</p>
<p>Backing up the application was easy by following <a href="http://www.boygeniusreport.com/2008/12/21/how-to-back-up-your-blackberry-applications/">BoyGenius&#8217; how to</a>. To hardest part was to find the folder using Vista&#8217;s search &#8211; I ended up firing up find in cygwin.</p>
<p>Having securely stored all my precious applications I am now going to update my Bold to <a href="http://www.blackberryforums.com/general-9000-series-discussion-bold/">OS version 4.6.0.216 just found on blackberryforums</a>. Wish me luck on that one!</p>
]]></content:encoded>
			<wfw:commentRss>http://dertompson.com/2009/01/12/backup-third-party-apps-of-your-blackberry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Subversion</title>
		<link>http://dertompson.com/2008/12/09/using-subversion/</link>
		<comments>http://dertompson.com/2008/12/09/using-subversion/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 22:24:34 +0000</pubDate>
		<dc:creator>tompson</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://dertompson.com/?p=643</guid>
		<description><![CDATA[I made my first &#8220;experiments&#8221; with Subversion about two years ago. After using Eclipse and CVS for a long time I expected a smooth upgrade with getting some new features (versioned directories, renaming, moving &#8230;) &#8211; I was disappointed. The biggest problem was that the CVS client included in Eclipse is really perfect &#8211; which [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-294" title="svn" src="http://dertompson.com/wp-content/uploads/2007/09/svnlogo.png" alt="" width="88" height="64" />I made my first &#8220;experiments&#8221; with Subversion about two years ago. After using Eclipse and CVS for a long time I expected a smooth upgrade with getting some new features (versioned directories, renaming, moving &#8230;) &#8211; I was disappointed.</p>
<p>The biggest problem was that the CVS client included in Eclipse is really perfect &#8211; which I could not say from <a href="http://subclipse.tigris.org/">subclipse</a> and <a href="http://www.eclipse.org/subversive/">subversive</a>, both third party plugins. Meanwhile subversive is hosted on eclipse.org and will be the recommended Subversion plugin for Eclipse in the future.</p>
<p>Subversive consists of two parts: the UI components hosted on eclipse.org and the connector implementation hosted at the polarion site because of license incompatibilities. Which Subversion features you can use inside Eclipse depends on multiple components:</p>
<ul>
<li>Eclipse version</li>
<li>Subversion server version</li>
<li>Subversive UI version</li>
<li>Subversive SVN Connector</li>
</ul>
<p>Within the last months I was using subversive in my new projects and I was quite satisfied. If you are working alone on a project that is not running in different production versions simple checkin/update commands are everything you need.</p>
<p>After having two different versions of my product and creating maintenance branches the need for performing complexer tasks like comparing branches or directories and merging urged. Last week a colleague called me who could not believe that these things are not supported with subversion in Eclipse too. So I decided to find out what is possible with subversion and Eclipse.</p>
<p>I used the following setup for my &#8220;experiments&#8221;:</p>
<ul>
<li>Eclipse 3.4</li>
<li>Subversive UI client 0.7.5</li>
<li>SVNKit 1.2.1 connector</li>
<li>Subversion 1.5.1 server</li>
</ul>
<p>I found out that with this constellation everything worked as expected. I was able to perform all the tasks I needed to and were possible with CVS &#8211; and even more. The most important part is to select the SVNKit connector &#8211; it enables a lot of menu points in Eclipse like comparing branches or tags!</p>
<p>If you have a subversion 1.5.x server you additionally may profit from the mergeinfo feature. THis feature automatically keeps track of which branch was merged to which other branch so that you do not have to set additional tags manually. I like this feature very much!</p>
<p>Upgrading to subversion 1.5.1 on my Ubuntu 8.04 server was easy &#8211; it was done with upgrading to 8.10 <a href="http://www.ubuntu.com/getubuntu/upgrading">as described here</a>. On my Debian etch server it was a bit more complicated but it was no problem <a href="http://www.rooftopsolutions.nl/article/198">following this description</a>. Additionally I had to run <code>svnadmin upgrade</code> on every repository after the installation.</p>
<p>One thing was a bit unusual for me: When merging two branches the synchronization view does not show what will me merged but what already has been merged. The changes are merged into the current working copy as soon as the OK button of the merge dialog is clicked. The synchronization view shows the outgoing changes created by this action. By clicking revert on a change the merge on the file can be undone.</p>
<p>The tests I made showed me that the Eclipse subversion integration subversive in combination with the right connector and server provides everything I need from a SCM &#8211; and now I know how to use it <img src='http://dertompson.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dertompson.com/2008/12/09/using-subversion/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>I turned off caps lock</title>
		<link>http://dertompson.com/2008/05/05/i-turned-off-caps-lock/</link>
		<comments>http://dertompson.com/2008/05/05/i-turned-off-caps-lock/#comments</comments>
		<pubDate>Mon, 05 May 2008 20:44:13 +0000</pubDate>
		<dc:creator>tompson</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://dertompson.com/?p=504</guid>
		<description><![CDATA[because I can not remember when I really needed it the last time. Most of the time I press it accidentally and get into troubles. A quick web search brought up this page describing how to disable the Caps Lock on various systems and links to annoyances.org for more information. I chose the first method [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-503" title="caps lock" src="http://dertompson.com/wp-content/uploads/2008/05/images.jpg" alt="" width="130" height="87" />because I can not remember when I really needed it the last time. Most of the time I press it accidentally and get into troubles.</p>
<p>A quick web search brought up <a href="http://johnhaller.com/jh/useful_stuff/disable_caps_lock/">this page</a> describing how to disable the Caps Lock on various systems and <a href="http://www.annoyances.org/exec/forum/winxp/r1017256194">links to annoyances.org</a> for more information. I chose the first method by downloading the registry key and adding it to my system.</p>
]]></content:encoded>
			<wfw:commentRss>http://dertompson.com/2008/05/05/i-turned-off-caps-lock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Again Troubles with vmware and CPU speed</title>
		<link>http://dertompson.com/2008/05/03/again-troubles-with-vmware-and-cpu-speed/</link>
		<comments>http://dertompson.com/2008/05/03/again-troubles-with-vmware-and-cpu-speed/#comments</comments>
		<pubDate>Sat, 03 May 2008 10:02:21 +0000</pubDate>
		<dc:creator>tompson</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://dertompson.com/?p=501</guid>
		<description><![CDATA[I already posted a while ago that I had problems with the clock speed of my notebook and vmware guest systems. There are a lot of online resources about this problem. They state out that the power saving features of mobile processors could cause troubles in clock synchronization between host and guest systems. There are [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-435" title="vmware" src="http://dertompson.com/wp-content/uploads/2008/02/vmwarelogo.gif" alt="" width="170" height="100" />I already <a href="http://dertompson.com/index.php/2008/02/28/436/">posted a while ago</a> that I had problems with the clock speed of my notebook and vmware guest systems. There are a lot of online resources about this problem. <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1227">They state out</a> that the power saving features of mobile processors could cause troubles in clock synchronization between host and guest systems.</p>
<p>There are additional articles in the vmware knowledge base about <a href="http://kb.vmware.com/selfservice/search.do?cmd=displayKC&amp;docType=kc&amp;externalId=1223&amp;sliceId=1&amp;docTypeID=DT_KB_1_1&amp;dialogID=60320995&amp;stateId=0%200%2060322143">Configuring Virtual Machines to Run on a Laptop Host Computer</a>. They all discuss the problems with Intel SpeedStep and CPU clock timing.</p>
<p>After applying the settings for the time stamp counters from the articles I did not get better results. I was wondering because I remembered running virtual machines on my notebook without a problem.</p>
<p>I tried to update the BIOS of my notebook to the newest version and after rebooting everything worked fine. It did not matter if I tried a Windows or Linux guest system &#8211; the clock was synchronized. Two days later I used the virtual machine again &#8211; and the problem was there again:</p>
<p><a href="http://dertompson.com/wp-content/uploads/2008/05/numa.png"><img class="aligncenter size-full wp-image-502" title="numa" src="http://dertompson.com/wp-content/uploads/2008/05/numa.png" alt="" width="500" height="170" /></a></p>
<p>I tried all tips stated out in <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=928">knowledge base article 928</a>, <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1236">1236</a> and <a href="http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=2039">2039</a> but nothing worked. I found out that after putting my notebook into hibernate and starting it again the clock synchronization does not work anymore. When I do a complete reboot everything works fine again.</p>
]]></content:encoded>
			<wfw:commentRss>http://dertompson.com/2008/05/03/again-troubles-with-vmware-and-cpu-speed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Truecrypt update available</title>
		<link>http://dertompson.com/2008/03/18/truecrypt-update-available/</link>
		<comments>http://dertompson.com/2008/03/18/truecrypt-update-available/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 19:16:14 +0000</pubDate>
		<dc:creator>tompson</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://dertompson.com/index.php/2008/03/18/truecrypt-update-available/</guid>
		<description><![CDATA[Last week Truecrypt version 5.1 was released. I downloaded and installed it today. Everything works fine so far, my encrypted volumes still work The performance improvements they made are not recognizable for me because Truecrypt already worked smooth and fast with the 4.x versions for me.]]></description>
			<content:encoded><![CDATA[<p><img src="http://dertompson.com/wp-content/uploads/2008/03/trucrypt.png" class="alignright" alt="truecrypt" />Last week <a href="http://www.truecrypt.org/">Truecrypt version 5.1 was released</a>. I downloaded and installed it today. Everything works fine so far, my encrypted volumes still work <img src='http://dertompson.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  The performance improvements they made are not recognizable for me because Truecrypt already worked smooth and fast with the 4.x versions for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://dertompson.com/2008/03/18/truecrypt-update-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing memory leaks of Internet Explorer 6</title>
		<link>http://dertompson.com/2008/03/10/fixing-memory-leaks-of-internet-explorer-6/</link>
		<comments>http://dertompson.com/2008/03/10/fixing-memory-leaks-of-internet-explorer-6/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 19:28:30 +0000</pubDate>
		<dc:creator>tompson</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://dertompson.com/index.php/2008/03/10/fixing-memory-leaks-of-internet-explorer-6/</guid>
		<description><![CDATA[Lately we experienced a lot of performance problems in our AJAX applications. Since we went online a year ago we always had problems with users of Internet Explorer 6 but within the last three months they got more and more. We already knew that this had something to do with the huge memory amount the [...]]]></description>
			<content:encoded><![CDATA[<p>Lately we experienced a lot of performance problems in our AJAX applications. Since we went online a year ago we always had problems with users of Internet Explorer 6 but within the last three months they got more and more.</p>
<p>We already knew that this had something to do with the huge memory amount the Internet Explorer 6 uses after some hours of working with our application. I used the <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a> to analyze which page causes the problem. After identifying the page I did some reloads of it and generated the following image:</p>
<p align="center"><a href="http://dertompson.com/wp-content/uploads/2008/03/memory-verlauf-ie-reload.png" title="leaking ie"><img src="http://dertompson.com/wp-content/uploads/2008/03/memory-verlauf-ie-reload.png" alt="leaking ie" height="299" width="327" /></a></p>
<p>As you can see, with every reload the memory amount consumed by the Internet Explorer 6 increased (for about 2 megabytes). This memory amount was never released, even if a complete different page of the application was loaded. The only way to release the memory again was to close the instance of the browser.</p>
<p>I did a web search and found <a href="http://msdn2.microsoft.com/en-us/library/bb250448.aspx">this interesting link about â€œUnderstanding and Solving Internet Explorer Leak Patternsâ€</a>. It describes four different situations that could lead to memory leaks in Internet Explorer by using good graphics and example code.</p>
<p>I was really shocked when I realized that the Internet Explorer 6 holds those elements in memory even after the user left the page and loaded another one. In other browser it is just important to make sure that inside the page the references to elements are released proper when working with a lot of AJAX code without reloading the page.</p>
<p>We are using <a href="http://www.prototypejs.org/">prototype</a> and <a href="http://script.aculo.us/">scriptaculous</a> as JavaScript libraries. Another library used to display a clickable calendar for date input fields is <a href="http://www.dynarch.com/projects/calendar/">the JSCalendar from dynarch.com</a>. To find out which elements of the DOM and which script code cause the memory leak I searched for another tool â€“ and found <a href="http://home.wanadoo.nl/jsrosman/">sIEve</a>.</p>
<p>With sIEve it was easy to detect to suspicious elements. After reloading the page inside of sIEve a lot of possible leaks were detected and the list looked like this:</p>
<p align="center"><a href="http://dertompson.com/wp-content/uploads/2008/03/sieve-leaks-anonym.png" title="sieve leaks"><img src="http://dertompson.com/wp-content/uploads/2008/03/sieve-leaks-anonym.png" alt="sieve leaks" height="221" width="390" /></a></p>
<p>By looking through the code of the page I found out that all the elements in the list had events registered (onclick, onkeyup, onchange, &#8230;) and the assigned methods contained closures (<a href="http://msdn2.microsoft.com/en-us/library/bb250448.aspx">see this link for details again</a>).</p>
<p>Some were caused by the used calendar library. I already sent an email to the author Mihai Bazon. He wrote <a href="http://www.bazon.net/mishoo/articles.epl?art_id=824">a very good article about the problem</a> and I could not believe that there is exactly that bug inside his library. Maybe we are using it incorrect.</p>
<p>The other leaks were caused by prototype. Although prototype has a built in mechanism that should unlink registered events when the page is unloaded they survived the reload. I found out that <a href="http://dev.rubyonrails.org/ticket/9466">there is a bug in the 1.6.0 version of prototype</a>. The mechanism was changed between version 1.5 and 1.6. This explained why the problem got bigger after updating out application to the new prototype version.</p>
<p>To fix the problem I registered a method to the unload event of the page that removes all the critical registered events. This looks like:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> breakLeaks<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'img_calendar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">onclick</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	Event.<span style="color: #660066;">stopObserving</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;fieldX&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;keyup&quot;</span><span style="color: #339933;">,</span> keycheck<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	Event.<span style="color: #660066;">stopObserving</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;fieldX&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;click&quot;</span><span style="color: #339933;">,</span> mousecheck<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		...
<span style="color: #009900;">&#125;</span>
&nbsp;
Event.<span style="color: #660066;">stopObserving</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;window&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;unload&quot;</span><span style="color: #339933;">,</span> breakLeaks<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>After changing the page like that I tested it again with sIEve and no more leaks were detectd. Then I used the Process Explorer again to monitor the memory consumption of the Internet Explorer. The graph now looked like:</p>
<p align="center"><a href="http://dertompson.com/wp-content/uploads/2008/03/memory-ie.png" title="noleak ie"><img src="http://dertompson.com/wp-content/uploads/2008/03/memory-ie.png" alt="noleak ie" height="315" width="332" /></a></p>
<p>The memory footprint is a lot smaller now and memory allocated by the reload was completely released again.</p>
]]></content:encoded>
			<wfw:commentRss>http://dertompson.com/2008/03/10/fixing-memory-leaks-of-internet-explorer-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer VPC Images</title>
		<link>http://dertompson.com/2008/03/10/internet-explorer-vpc-images/</link>
		<comments>http://dertompson.com/2008/03/10/internet-explorer-vpc-images/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 12:45:53 +0000</pubDate>
		<dc:creator>tompson</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://dertompson.com/index.php/2008/03/10/internet-explorer-vpc-images/</guid>
		<description><![CDATA[Microsoft now provides all of its Internet Explorer versions in separate downloadable virtual PC images. This is extremely useful for web developers because it allows them to test their applications for compatibility.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://dertompson.com/wp-content/uploads/2008/03/images2.jpg" alt="ie" />Microsoft now provides all of its Internet Explorer versions <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B64-B5F1-73D0A413C8EF&amp;displaylang=en">in separate downloadable virtual PC images</a>. This is extremely useful for web developers because it allows them to test their applications for compatibility.</p>
]]></content:encoded>
			<wfw:commentRss>http://dertompson.com/2008/03/10/internet-explorer-vpc-images/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
