Monthly Archives: October 2011

Optimize TortoiseSVN

You may already find out that there is some mighty process in your task manager called TSVNCache.exe. This process is running in background to allow you see correct icon overlays of your working copy folders and files. It checks for file changes and caches their status in real time. It is necessary process because otherwise you won’t be able to see status recursively. Instead of getting status when you access the folders, it loads the status from this cache.
The problem here is that the process scans all file changes, so it may produce a lot of disk usage when you make a lot of file operations even outside of your working copies.
However in TortoiseSVN settings you can specify which folders you want to scan and which not. In the screen below I forced TortoiseSVN to scan only the two folders specified in the Include paths. Other folders won’t be scanned because disk C: is specified in the Exclude paths.

Fixing problem with ID3 tags on Windows 7 and Windows Media Player

Some of my music files in Windows Media Player did not show information about album, artist etc. I had them all in one section called Unknown album. I also found out that there are no meta tags displayed in the album’s folder.

To fix this I installed ID3-TagIT which was proposed on some forum.
After you install it. Open it and select a folder with corrupt files. then select all of the files which will appear. In the menu choose Extended Functions > Transfer/Convert TAGs or simply pres F7 key. In the dialog click on Convert TAG Ver. 2.4 to Ver. 2.3 and press OK. Finally save the changes. Missing information should appear in the music folder and tags should be OK also in the Windows Media Player.

Running UltraVNC repeater under Linux server

I am playing with remote support tools. There are a lot of good payed tools like TeamViewer, GoToMeeting and others but they are expensive. I found that UltraVNC has some tools like Single Click which can make it easy to provide remote support to your customers. Finally I ended by ChunkVNC which is basically UltraVNC but looking much more better.
There is a lot of tutorials on the Internet but they describe direct connection support. Which means at least one of the PC’s has to be accessible from the outside world. But I wanted to setup some server which I would connect to instead of connecting directly to customer’s PC. This server is called Repeater. UltraVNC has a repeater targeting Windows platform. But I have a Linux server and I wanted it to be running there. Fortunately a Linux port of the UltraVNC Repeater is also available. I have created a mirror of the latest version in case the original page won’t work.
The installation itself is not a big problem even though you have to compile the sources.

  1. Connect to the server using SSH
  2. Go to temp: cd /tmp/
  3. Download the sources: wget http://downloads.stefko.cz/uvncrepeater.tar.gz
  4. Extract them: tar zxvf  uvncrepeater.tar.gz
  5. Go to the sources directory: cd uvncrepeater/
  6. Compile the sources: make
  7. Copy repeater to sbin: cp repeater /usr/sbin/repeater
  8. Run it: /usr/sbin/repeater

If you want to make it running as a service you can use the following piece of code:

#! /bin/sh
# vnc: start/stop/restart the VNC repeater server
# chkconfig: 3 20 80
# description: VNC repeater server

vnc_start() {
if [ ! -f /etc/uvncrepeater.ini ]; then
echo "File /etc/uvncrepeater.ini does not exist. Aborting."
exit
fi
/usr/sbin/repeater 2>>/var/log/vnc.log &
pgrep repeater >/var/run/vnc.pid
}

vnc_stop() {
killall repeater
rm /var/run/vnc.pid
}

vnc_restart() {
if [ -r /var/run/vnc.pid ]; then
kill `cat /var/run/vnc.pid`
else
echo "Killing repeater in the absence of /var/run/vnc.pid"
killall repeater
fi
sleep 1
vnc_start
}

case "$1" in
'start')
vnc_start
;;
'stop')
vnc_stop
;;
'restart')
vnc_restart
;;
*)
echo "usage $0 start|stop|restart"
esac

Take the code and save it into /etc/init.d/vnc file on the server. Then run the following commands to install it as a service:

  1. chmod +x /etc/init.d/vnc
  2. chkconfig –add vnc
  3. chkconfig –level 3 vnc on