Stuff to install on a new Windows PC

That is, the stuff I install on a new Windows PC. Since I need this list several times a year, why not make a blog post of it. As you will see,I have a more than average interest in video (conversion) and sysadmin (SSH/FTP). The links typically go straight to the download page.


  • iTunes (+Quicktime): excellent music manager and it rips to MP3 really fast
  • CDBurnerXP: for burning CDs, DVDs, ISO files
  • Irfanview: image viewer, editor and converter – for people who think Photoshop is overkill
  • Picasa: photograph workflow & archive manager (from Google)
  • VLC Player: ultimate video player, very complete set of codecs
  • ffmpeg with a GUI like GVC: video conversion: AVI, MOV, MPG, MP4, …
  • Handbrake: will make a good MPEG4 of any DVD in one go


  • Skype: for chat, phonecalls and SMSes with people far away
  • Chrome, Firefox or Opera browser – personally I like Firefox less. Opera is solid and fast, Google Chrome is an interesting new kid on the block.
  • FileZilla: FTP client
  • Putty: SSH and telnet terminal
  • EditPlus: customisable editor for text, HTML, CMD … that also works over FTP
  • uTorrent: because sometimes you need to … get stuff, you know


  • Google Pack: contains Picasa, Skype, Google Toolbar and a whole bunch of other useful programs
  • Adobe PDF reader: for reading PDF documents, and everything is in PDF these days
  • 7-Zip: compression/expansion of ZIP, RAR and 7z archives
  • CutePDF with GhostScript: printing to a PDF file (also allows converting a PostScript PS/EPS file to PDF)
  • UnixUtils: I’m a sucker for GAWK and WGET
  • Nokia PCSuite: for synchro with my Nokia N91 (yes, it’s still my phone!)
  • XAMPP: for developing with Apache/PERL/PHP/MySQL on Windows

id3.exe – ideal tool for tagging and renaming MP3 files

I want to mention a little tool that helped me out twice in the last week, and that I find very little info about online. It’s a Windows command-line MP3 file tagger and renamer called id3.exe. Since I forgot where I downloaded it from and Google doesn’t give me a clue either: here’s where you can download id3.exe.

ID3.exe can do several things, of which I will just cite the things I actually used:

  • it can obviously set ID3 tags in MP3 files (that is, ID3v1 and v2). The first time it adds ID3v2 tags which are stored in the beginning of the file (necessary when you need the info right when you start reading the file, like with streaming), the whole file has to be rewritten, but subsequent modifications are really fast.
    id3.exe -1 -2 -g [genre] -c "[Copyright notice]" -l "[Album name]" "%OUTPUT%"
  • set the ID3 tags of one file to those of another. I needed this when I transcoded MP3 files to a lower bitrate with LAME. LAME does not copy the existing ID3 tags to the new file. So I used ID3.exe to just copy those from the source file.
    id3.exe -D %INPUT% -1 -2 "%OUTPUT%"
  • Rename the file according to the MP3 tags. I had a big collection of MP3 files called “01 Track01” without any MP3 tags. I first set the ID3 tags based upon the folder structure (the folder name was the Album name), and then renamed them to “[Artist name] – [Album name] – [Track N°].mp3”.
    id3.exe -2 -f "%%a - %%l - %%t.rbs" "%OUTPUT%"
  • Id3 can also deduct album names, artist, song titles and track number from the complete filename + path.

Continue reading id3.exe – ideal tool for tagging and renaming MP3 files

MRTG data in XML format

Get ready for a lot of acronyms in this post: “How to create a good XML-based API for MRTG sensor data”.


MRTG (Multi Router Traffic Grapher) is a tool to monitor the traffic load on network-links. It is widely used around the world to generate web pages containing images that provide a live visual representation of this traffic. MRTG is mainly a Swiss open-source product written by Tobias Oetiker from ETH Zurich with some help from others.

When used in its basic form (without RRDTOOL), it generates output like the following:
Flickr: #photos per hour


While MRTG was developed with network devices (routers) in mind, it can be used to show the trend of any numeric value over time. For that, it has a very simple input API: it expects 4 lines of text:

Line 1: current state of the first variable, normally 'incoming bytes count'
Line 2: current state of the second variable, normally 'outgoing bytes count'
Line 3: string (in any human readable format), telling the uptime of the target.
Line 4: string, telling the name of the target.
So there’s maximum 2 variables, which should be the same order of magnitude (or the automatic scaling of the Y-axis will make the smaller one undistinguisable of 0). The uptime and name show up in the “at which time ‘’ had been up for 160 days, 8:02:55.” in the header of the HTML page.


In this world of REST, XMLRPC and SOAP interfaces, this seems so limited. Let’s try to make an XML format that allows the following:

  • it should minimally contain the four data lines cited above
  • it should be possible to add any parameter that influences the MRTG result (HTML and/or image) so that the XML as such is enough to define the whole MRTG configuration

This could be a minimal implementation: Continue reading MRTG data in XML format

Easy web page mockup tool

I’ve just finished a tool to make web page mockups. The purpose: make a quick draft of what a web page should look like, so you can include a screen shot in an email or a specifications document. When a client describes what page layout he wants in pure text, it is easy to misunderstand what he means. E.g. “two levels of menu should be visible on each page“. Ok, you want those as a bullet list in the side bar or a breadcrumb on top? It’s easier to just show him an overview of: that block goes there, that’s what I mean with two sidebars on the right, the tags are here at the right, under the recent comments.

Forret tool: web page designer

My web page designer will let you specify headers, footers, sidebars and let you add bogus content with an easy markup syntax. [text becomes a block of text, *text becomes a bullet, _text is a link … The goal is that anyone, without any knowledge of HTML, can make a rudimentary page layout and say: see that’s what I want. I also generate ‘pretty’ URLs in the RubyOnRails syntax (list/edit/new/…).

It’s helped me, it might help you! Any remarks are welcome!

Myers-Briggs typology: I’m an ENFP


I have never been a big believer in astrology. I am not convinced the location of stars at the moment of your birth is that important to your personality. I’m a Virgo, but I don’t feel that defines me that much. But some years ago I discovered a ‘labeling’ system that was based on the actual behaviour of a person, whose result was much more significant: the (Jung) Myers-Briggs Type Indicator (MBTI):

According to Jung’s typology all people can be classified using three criteria. These criteria are: Extraversion/Introversion – Sensing/Intuition – Thinking/Feeling
Isabel Briggs-Myers added a fourth criterion: Judging/Perceiving

A good explanation of each criterium is:

1. Where, primarily, do you prefer to direct your energy?
If you prefer to direct your energy to deal with people, things, situations, or “the outer world”, then your preference is for Extraversion. This is denoted by the letter “E”.
If you prefer to direct your energy to deal with ideas, information, explanations or beliefs, or “the inner world”, then your preference is for Introversion. This is denoted by the letter “I”.
2. How do you prefer to process information?
If you prefer to deal with facts, what you know, to have clarity, or to describe what you see, then your preference is for Sensing. This is denoted by the letter “S”.
If you prefer to deal with ideas, look into the unknown, to generate new possibilities or to anticipate what isn’t obvious, then your preference is for Intuition. This is denoted by the letter “N” (the letter I has already been used for Introversion).
3. How do you prefer to make decisions?
If you prefer to decide on the basis of objective logic, using an analytic and detached approach, then your preference is for Thinking. This is denoted by the letter “T”.
If you prefer to decide using values and/or personal beliefs, on the basis of what you believe is important or what you or others care about, then your preference is for Feeling. This is denoted by the letter “F”.
4. How do you prefer to organise your life?
If you prefer your life to be planned, stable and organised then your preference is for Judging (not to be confused with ‘Judgemental’, which is quite different). This is denoted by the letter “J”.
If you prefer to go with the flow, to maintain flexibility and respond to things as they arise, then your preference is for Perception. This is denoted by the letter “P”.

from teamtechnology

Continue reading Myers-Briggs typology: I’m an ENFP

BlogCentral: your blog dashboard

I just updated one of my web tools that definitely needed it: the Blogcentral Blog Dashboard.The idea is to give the relevant data for your blog (blog name, blog URL, feed URL, author name) and then get a dashboard page (that you can bookmark) which gives you easy access to all blog search engines, rankings and ping services.

Web tool: blogcentral

I have been using the old version for quite a time already (mainly for Technorati stats), but now it even includes Alexa ranking, Egosurf, BlogPulse, -Digger, -Lines, -Shares, Google/Blogger, Sphere and Icerocket. Try it out and investigate that blog ego!

Adwords generator tool

I just finished another webpage for my tools collection: the Adwords Generator tool. Inspired by seeing a colleague losing his time with Excel trying to create a full list of keywords for his Google Adsense campaigns, I created an easy web interface to do just that: give in lists of keywords of key phrases, and let the Adwords tool create all the possible combinations.

You would use it in this way: say you want to promote a podcast client application for Windows (like the new Doppler 3.0).

  • you would use the 1st box to list ‘podcast’ and all its synonyms:
    podcast, audioblog, mp3 blog
  • you would use the 2nd box to list all synonyms for ‘client’
    client, podcatcher, aggregator, downloader, viewer
  • you could use the 3rd box to list the versions of Windows your software runs on:
    Windows 2000 (or Win2k), Windows XP (or WinXP), Windows 2003 (or Win2003)

Combining everything together gives you a list of 90 keyphrases: Adsense keywords for a Windows podcast client. You can even add the “phrase matching” or [exact matching] options (see for more info).

You can also look up suggestions for new keywords through tools from Google Adsense and Yahoo Search Marketing (formerly Overture). A nice addition to my toolbox!


SUDOKU Solver tool

I have just created a tool to help solve the Sudoku puzzles: the Sudoku Helper. I’ve added it to my Forret tools directory.

You solve a Sudoku puzzle by filling in numbers (1-9) in a 9×9 square.

  • Rule 1: every row should contain ALL 9 numbers, and no number can occur more than once.
  • Rule 2: every column should contain ALL 9 numbers, and no number can occur more than once.
  • Rule 3: every 3×3 square should contain ALL 9 numbers, and no number can occur more than once.

(see also

De Morgen (Belgian quality newspaper) has just started printing such puzzles in every issue, and they are an addictive hobby. Here they are: the EASY, MEDIUM and ADVANCED one for Monday June 6, 2005.

My Helper just checks the 3 rules above and will indicate which cells can easily be filled in because there is only 1 option left. Yes, it can be kind of a spoiler, so only use it to get out of a deadlock, or if you’re in a hurry, or to show off.

The more difficult puzzles will require you to cunningly plot your strategy 2 or 3 steps ahead, which my Helper page will not do or help you with. If you want to spoil even these brain gymnastics, check Sudoku Solver by Logic

For those of you who like a client program that can work off-line, check Sudoku Solver (Windows – free).

CD-to-MP3 ripping speed estimation

As every sensible car-owner in Brussels, I rip my CDs to MP3 so I can put copies of them in my car. As every self-respecting geek, I have multiple PCs at home. Which brings me to following observation: not all PCs rip alike. On one PC the CPU maxes out at 100% for the whole ripping procedure, and on the other, I never get above 75%. So I started wondering: what are the elements to define the maximum ripping speed you can get on a PC?
My hunch:

the CD-ROM drive speed:

the original CD audio specification required a constant data rate. This was implemented by running the CD at 500 rpm for the first/inner tracks on the CD (ø 48mm) and at 200 rpm for the outer tracks (ø 118mm). If the CD would have been played at a constant 500 rpm, the data rate at the end would have been 500/200 = 2,5X. (cf Devnulled: Ripping speed)
With CD-ROM the data should be delivered as fast as possible. So the rotation speed is turned up as much as possible. The physical boundaries are the vibrations and the centrifugal forces that occur at high speeds. Maxwell claims the maximum safe speed is 48X. Since the “48X” is marketing speak, this speed is only obtained at the outer border of the CD: this means that the rotation speed would be 48 x 200 = 9200 rpm. Some CDs seem to explode above 10.000 rpm.
To convert this speed into a data rate: at 9200 rpm, the outer tracks would deliver 48x the data rate of an audio CD: 67,74 Mbps or 8.47 MB/s. The first tracks, at ø 48mm, deliver data 2,5 times slower: 27,52 Mbps or 3,44 MB/s.
Real-life tests of a whole bunch of drives on DAE speed results.
For the exact sizes: CD-R/CD-RW technical specifications

the bus speeds:

the CD-ROM drive is connected to the PC by a ATAPI, SCSI, FireWire or USB connection. In theory there could also be a network in between (e.g. when using a Ethernet connected CD Jukebox).
The slowest ATA-33 has a theoretical max throughput of 33MB/s. Most modern SCSIs go above 20MB/s and FireWire gives 50 MB/s. So they would not be the bottleneck in the ripping process.
USB1.1 is limited to 1,5 MB/s (in practice even lower). Most common networks would be a bottleneck too (even Fast Ethernet at a theoretical 12,5 MB/s since 7MB/s would be more of a realistic top rate in practice, certainly if the network is used for other stuff too. Same thing with WiFi standards: 802.11g’s advertised “54Mbps” will in real life never translate in an actual 6,75MB/s throughput.

the CPU speed:

encoding raw audio data to MP3 is CPU intensive. Main parameter will be the clock speed – which I would expect to scale linearly: a 2GHz processor does it twice as fast as a 1GHz. Extra influences: brand of processor (Intel/AMD), model (Celeron/Pentium4/Athlon/Athlon64), number of processors (or HyperThreading). Also, the software you use to encode (LAME/GOGO/RealPlayer/Windows Media Player/…) will have an impact.
Some data can be found on an Intel P4 3.06 GHz encodes 200MB of raw data info 160 kbps MP3 in 57 seconds: 3,5 MB/s or 20X. The AMD AthlonXP 2700+: 3,28 MB/s or 18.6. More info on confirms our hunch that performance scales linearly with clock speed. For the Pentium4: (1,15 MB/s) per GHz or 6,5X per GHz.

the MP3 bitrate:

the above numbers are for 160 kbps, but what with 192 kbps and 64 kbps? Is encoding faster or slower? I found no data on the net, and I haven’t tested it myself. So no hunch here. Also, the output of the encoding process, even at a very high quality 320kbps is largely within the capacity of any output, even Bluetooth, god forbid. So I don’t take that parameter into account.

So in the following situation:

  • a 24X CD-ROM drive
  • a Pentium 4 2,8GHz processor
  • ripping with the LAME encoder to 160 kbps

Your ripping will start at about 9,8X and speed up until your CPU is saturated at 18,2X. Which gives the graphic at the right. Now there’s a rule of fist.

Remark: looking at the benchmarks, adding a second processor (or HyperThreading) does not enhance the ripping speed (probably since the MP3 encoding code does not do parallelisation). But if you have 2 CPU’s, only one CPU will go to 100% and you keep some breathing room while your PC is creating the MP3s.