Turn off TSVNCache.exe to improve performance

Some time ago I had some problems with cpu intensive stuff running on my computer so I turned a lot of them off. TSVNCache is one of them that seemed to use lot of computer power.

That service is part of the Tortuise client and is responible for keeping the icon overlays up to date. So once turned of the root icons will not turn red automaticly when you change files in your repositories local copy.

I sort if mis them so today I turned them on again. I found the original article which I used to kill TSVNCache.exe:

Finally, we looked at the TortoiseSVN settings and saw that we could essentially disable TSVNCache.exe from running at all. This was under

TortoiseSVN > Settings > Icon Overlays > Status cache

There are two options that will kill TSVNCache:

  1. Shell
  2. None

I decided to go with “Shell” since it still gives you real-time status. The disadvantage is that status is not recursive, so folders containing modified files will not show the modified overlay.

Let's see how it behaves in the future, hopefully it is better now with the release of TortoiseSVN 1.7.

By Jesper Lind

Quick Firefox

firefox3-feature

These tips come from from Jim Westergren's "Make Firefox run up to 4 times faster" and are for version 3.0.9 of Firefox. Please read his blog entry for detailed description of the settings.

These are good for users who browse a lot, have broadband connection and likes having lots of tabs open at the same time.

To change these settings type about:config in the address bar and filter by the following keys. Values are after the ;-character.


browser.history_expire_days_min;10
browser.sessionhistory.max_total_viewers;1
browser.tabs.tabMinWidth;80
layout.spellcheckDefault;2
network.http.max-connections;100
network.http.max-connections-per-server;20
network.http.max-persistent-connections-per-server;8
network.http.pipelining;true
network.http.pipelining.maxrequests;8
network.http.proxy.pipelining;true
network.http.request.max-start-delay;0
network.prefetch-next;false

There are also two new values that can be entered. Right click a white space and choose new.

config.trim_on_minimize;true
nglayout.initialpaint.delay;100

Another tip for users who likes having a lot of tabs open is to set a narrower width than the default 100.

browser.tabs.tabMinWidth;70

Works great and makes Google Reader and other web apps much more responsive.

By Jesper Lind

How to un-GAC ASP.NET MVC RC2

If you are like me you might have developed lots of web applications using different versions of the ASP.NET MVC framework, and might wonder how the latest installations may affect the ability to run.

When upgrading to the latest Release Candidate 2 these old projects will probably build just fine, but there will most likely be some kind of run time error when running locally, like the one I just got and showing below.

aspnet-mvc-breakage

Why the breakage you might wonder and remembering that you been putting those old versions in your bin-folder and they should not be affected. Dylan Bettie gives us the explanation:

The CLR checks the GAC first when resolving assembly references - and if it finds a matching assembly in the GAC, it won't look anywhere else. The ASP.NET MVC previews and beta release all use the same assembly version, culture and public keys, so the CLR has no way of distinguishing between the preview 3 version of System.Web.Mvc and the beta version of the same assembly. They're different DLLs with different file versions, but because the assembly version is the same, the CLR regards them as the same assembly.

So what you need to do is to remove the ASP.NET MVC assemblies from your GAC and your old projects will run against the old ones in their bin.

Luckily I've done this before from the instructions in Dylans post and it's not that hard. Just make sure you backup your system before you do anything because it involves editing the registry which you knows is not always safe. For my safety I have just made a snapshot of my Windows 7 system I got running in WMware Fusion.

Remove the assembly from the registry

Firstly you need to run regedit and find HKEY_CLASSES_ROOT\Installer\Assemblies\Global and remove the key System.Web.Mvc,version="1.0.0.0",culture="neutral", publicKeyToken="31BF3856AD364E35",processorArchitecture="MSIL"-key

aspnet-mvc-regedit-assembly

Un-GAC it

Fire up a CMD prompt and locate your Gacutil.exe. On my Windows 7 system running team edition of Visual Studio 2008 it can be found here. C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin. Then run the command gacutil /u System.Web.Mvc

un-gac-aspnet-mvc

Test your projects

Your old projects made with the previews or betas should now run just fine as they will use the ddl:s you got in their respective bin folder. Mine is running fine as you can see.

code-odyssey-running

By Jesper Lind

Design your own 404-pages on IIS7

At default settings there are a rather boring error screen for 404 page not found. I will here show have to change the settings to make it possible to have your own design.

404 - File or directory not found

Navigate to the web site you are going to configure in IIS and choose Error Pages. Then click Edit Feature settings... and choose Detailed Errors.

IIS7 404-error detailed settings

For examples of 404 pages I recommend you to visit Smashing Magazine which features some nice collections.

By Jesper Lind

Been hit by a social experimental AIM bot

Thought I should spread the word on this one so that more people who have the same experience will kknow what's going on. It has happened to me two times now, that I get a random message on AIM from a user called something with "Coho" on the end.

First time I did not reply as I understod there was some kind of spam-thingy. Today when I got the message I googled for the user name and found the following post on someone who got contacted by "BoughtCoho".

I found out that the message is coming from a fishing bot system which is harmless as such but is created for confusing its targets. It connects random people by finding AIM-names on sites like (LiveJournal, Xanga, deviantArt, Twitter, etc.) and sends an opening message to both of them.

I thought I give it a try and I did respond to the message to the user called "ChangingCoho". Below is a image of the chat I had with another user. She told me that I appeared as "WhimperingCoho" on her screen. She told me it's okey to post that image as it would be useful for other people who had this happen to them.

If you want to read more about this experiment you can visit the Livejournal-group by the people behind it. There's a link for a page where you can request a robotic fish entering your AIM name. But be warned the initial message can me very rude.

ChangingCoho AIM-bot

By Jesper Lind

Code Odyssey - The next chapter

It's n been a bit quiet here but we will try to change that now. We are now running on a completely new blog engine and got a brand new design.

I would like to say thanks to the people that been involved developing this blog engine. Erik, Johan (who made the design you are seeing right now), Glenn, Carl and Andreas. It's great that there are a few mad mans left that would consider to developing your owe engine instead of going for the easy option of customizing WordPress.

We are mostly blogging on the Swedish domain of this blog but will try to change that and have more english content. We will continue to write about web development, usability, design, CSS, ASP.NET, c#, SQL Server, script library's such as jQuery and more.

We will also write about the new platform ASP.NET MVC since we been using it for the last 6 month and like it a lot. The new blog enginge is build on this and it's really been a pleasure. Finally we got user friendly URL:s, beautiful html without ViewState and the server side ID:s which came with web forms. Just pure HTML love.

We will continue to develop this blog and add new functionality. Will also try to blog abut it as we move along so that others can get some ideas and inspiration.

Please subscribe to the RSS if you think this sounds interesting. It has moved from the last version, but the old address will still work.

By Jesper Lind

Blog in application - how to make rss feeds private?

Ayende writes an interesting post about the how idea of having a blog incorporated in your application can be a clever idea.

I have been thinking of this concept myself for a admin system I am developing. I think that a rss feed would be very handy but havn't been able to figure out how to make it private. Think I read somewhere about a way to put password on a feed, but some of the big rss readers does not support it yet (for example Google Reader).

One of the commenters to Ayende's post gave me a tip worth checking out. Unfortunatly it only works in Outlook / IE.

If you want to make RSS feeds private the easiest way (that works with Outlook at least) is to enable HTTP Basic Authentication and visit the RSS feed with IE to input credentials and check the option to save them. Then Outlook will transparently use those credentials to update the feed.
By Jesper Lind

Code Swarm - Visualizes commits to a repository

http://www.codeodyssey.se/upload/resource/blog/code-swarm-eclipse.jpg

Code Swarm is a open source project which can be downloaded from the code base on Google. It uses the Processing engineĀ  for the animations to vizualize the data.

The data can be based on a code repository and you can see how developer commits their parts of code during a timeline. The screenshot above is from the Eclipse project which can be seen on the Vimeo group code_swarmers. The Debian Perl Group is also cool and feature some nice ambient music.

By Jesper Lind