Category Archives: howto’s

Adjust and synchronize AVI & DivX movie subtitles, the guide

October 2008: I updated this guide to the use of Subtitle Workshop, a freeware utility which does the same job I explained back then, in a tenth of the time, or even less, since all the manual steps are now condensed into a few passages. To read the old guide, which insteadused the program SubAdjust, scroll down right past the horizontal line.

First of all, download the free program Subtitle Workshop, you can just as easily google for it. Keep in mind I used the latest 4 beta version in this guide. Then you can follow the image tutorial below.

subtitle workshop opening window
This is how the Subtitle Workshop free utility appears right after the first start; you may want to first open the subtitles file, from File>Open, or by pressing the open button, and then browsing to the actual subtitles.
subtitle workshop with opened subtitles
This is a subtitles file opened in Subtitle Workshop, no more, no less; right now, it’s the time to open the video file the subtitles are associated with, from Video>Open
subtitle workshop with opened subtitles and video file
This is after opening both subtitles file and video file inside Subtitle Workshop (the video file still is not visible, as the ScreenRip32 utility which I used cannot properly capture overlay… same thing happened if I tried the PrintScreen key). The video will start playing automatically along with the subtitles. There are two choices now to start adjusting the subtitles, which are, well, pretty much the same. Either you select the first line of the subtitles, and play the video where that first line is spoken, and when that happens you press the third button from the right below the video, which says “1”; then you select the last line of the subtitles and jump to the point where that line is spoken, pressing instead the second button from right which says “2”. At this point, a little window will appear with a summary of the details regarding the timings, asking you if you want to adjust the subtitles accordingly. Check that the timings reported in that window are correct, then press adjust. At this point the subtitles are synchronized (verify by playing the video inside Subtitle Workshop) and you can save the results. OR, you can use the other method instead, just see the picture below.
subtitle workshop timings adjust dialogue
Second method: manual timing. First of all, write down the exact times when the first and last spoken lines of the subtitles file are said in the video, then to manually set the timings to adjust the subtitles, follow the menu Edit>Timings>Adjust subtitles. A dialogue like the one in the picture will appear, and you just have to fill in those times you just wrote down and press adjust. Check the results by playing back the video in Subtitle Workshop to see if subs are really synched, then save the file.

IMPORTANT NOTE: what follows is the very first guide to subtitles synchronization that I wrote, and which is now substituted with the guide above. I just didn’t have the heart to remove it altogether, so I left it here for the sake of posterity.

This guide has been thought for you non-english users who, even if top-grade in this language, very often encounter those uber-fast pronounciations or that slang sub-dialect or again that nasty accent (and every link to “Snatch” or “Trainspotting” is NOT casual), that really beat you. So you download a subtitles file, and you either don’t know how the heck to use it (but if it’s the case, then search elsewhere because this guide won’t tell you how), or you find it begins almost synchronized, but gets really messed up, just to go wildly desynched at the end.

Important incroduction: this guide is related to SubViewer 2.0 subtitle format, and it’s referred to an ideal situation in which you see the movie using BSPlayer (get it from the Downloads/AudioVideo section). Which means, if you prefer to use other players which don’t support properly SubViewer format, or you hate SubViewer format yourself for some reason, you can still use this guide, yet the instructions, found right at the end, on how to resolve this “compatibility” issue, are not tested in any way by me, since I’ve always, and I’lll always, use the couple BSPlayer/SubViewer for my DivX subtitles needs.

Download SubAdjust from the Downloads/AudioVideo section of the website, then proceed to the basic preformatting of the file, which means removing the comments or the sign of the ripper, like:

  02:43:08,687 --> 02:43:09,722
  02:43:13,167 --> 02:43:15,681
  ...I'm glad you are with me.
  02:51:01,967 --> 02:51:02,956
  Subtitles by
  SDI Media Group

which for example is at the end of the file (a special prize to the ones who will guess what movie was that one; c’mon it’s easy), but you can find them also at the beginning:

{0}{900} ****Le Garçon Française   SUBS****|Vive la France!!
  {905}{1002}- Le 3 septembre 1973|à 18 h 28 min et 32 s,
  {1010}{1062}...une mouche bleue|de la famille des Calliphoridés,
  {1070}{1138}...pouvant produire 14,670 battements|d'ailes à la minute...
  {1145}{1220} posait rue Saint-Vincent,|à Montmartre.
  {1318}{1378}A la même seconde,|à la terrasse d'un restaurant,
  {1385}{1458}...le vent s'engouffrait|sous une nappe,
  {1462}{1555}...faisant danser les verres|sans que personne ne s'en aperçoive.

(another special prize to the ones who will guess this other movie which the subs where taken from, it’s easy as well; BTW this sign was made up, I couldn’t find any signed file on the fly).

You can easily achieve this by opening the subtitles file (whose extension may be .txt, .sub, .srt or other; I have all these extension associated with notepad anyway) in a text editor, and manually deleting those lines, then saving; when the subtitles have an ordinal number and a timestamp in more lines, like in the first example, you must delete the whole record.
We don’t do this because we are evil and so want to remove every trace of the kind guy who ripped the subtitles from the DVD, but because in most of the operations we need to make in order to resynch the subtitles these additional lines at the beginning or at the end, which have no counterpart in the movie itself, will easily mess up everything.

There are basically 3 kinds of desynchs in subtitles:
1) Simple time shift, the beginning is shifted before or after the correct time, while the rest of the text follows at the right “pace”;
2) Wrong framerate, where the time distance between two lines of text is different from the correct one, but the speed is uniformly increased or decreased throughout the file (with or without time shift, it makes no difference considering the method we use to correct it);
3) FUBAR’d subtitles (don’t worry, they are pretty rare) where either your video, even if correctly watchable, has some glitches in the framerate of internal scenes, so that some video sequences have a framerate different from the nearby scenes, or the subtitles themselves were ripped very bad, or again the original subtitles were timestamped uncorrectly, or again again the subtitles lack some scenes which are present in the movie or have additional scenes missing from the movie: in these cases usually you search for another subtitles file, or you watch the movie without subtitles (this is the worst kind of desynch, since you can realize you have one only AFTER having tried the previous fixes; trying to fix these subtitles is extremely time consuming, and even if I could be able to do that – and I once tried… giving up -, I won’t include the steps in this giude, because I esteem myself a very stubborn person, yet I would never lose all that time to fix such a situation).

In any case, since you need to work with SubViewer format in SubAdjust, you have to convert the subtitles file to that format if it’s using another one. You can recognise a SubViewer file by opening it in a text editor. The beginning of the file will look like:

  On September 3, 1973...

  a blue fly capable of flapping[br]70 beats a minute..


that is, a record storing the general info about the movie (with or without the various fields filled) and then for each line a timestamp indicating the start time and end time, and just below it the subtitle. If the subtitles are not in this format, start SubAdjust and convert them.

Open the subtitles file in “Source File”, write another suitable name for the output, and select “Conversion to SubViewer 2.0”, then press GO. The original filename may have another extension like .txt, .srt and so on.

So let’s start examining the first two cases. When you see subtitles in a movie are shown when they shouldn’t, it doesn’t hurt to try and see if the simple time shift is occurring. So take a note of the time of the first subtitle in the movie; example, given you removed the comments out, you see that the first line in the subtitles file is “Now, children,[br]are you sitting comfortably?“, go play the movie and write down the time at which the thing is actually being said (let’s say 00:00:04, 4 seconds from the start), then start SubAdjust.

For the first try, open the subtitles file in the “Source File” input line, and choose the name you will save the output subtitles with (I usually put the same name followed by one ‘ or more ”’). Select “Adjust”, and in the lower-left corner select the time you just annotated from the movie, press GO and wait.

Open the movie file, and see, jumping to and fro, if the subtitles are shown correctly in all the movie. Chances are they won’t. So we begin examining the second case (wrong framerate).

The drawback of the method is that you will possibly spoil the ending, since you need to see at what time the first line is said in the movie (just like we saw before), then what is the line written at the very end of the file (and thus is the last in the movie), and at what time that last line is said in the movie (so you need to play the end to search for it. I HATE it, too bad I couldn’t find anoter way of telling). You will thus have the time, related to the movie, of the first and the last lines. Keeping note of them, adjust the subtitles files so they start at 0:00:00, then calculate “last-movie-line-time MINUS first-movie-line-time”, you will have the time span that passes between the first and last line in the movie. Since we adjusted the subtitles to start at 0 seconds, that is also the time we will want the last line to appear in the subtitles file. So proceed:

After you adjusted the subtitles to start at 0:00:00, load the adjusted file and select “Change frame rate”, then select the checkbox “Use last ref.time” and in the “Coef. / desired last ref.time” write down the result of the subtraction I told you to make before (note: you need to have cents of second, so just add .00 after the seconds). Press GO to write the file with the name you chose in “Target File”.

After this is done, load in SubAdjust the newly created file, which starts at 0:00:00, and ends at the time you just calculated, then re-adjust it to start at the time of the first line said in the movie, exactly like you did in the first method, but now you will be sure the final time will be correct.

Occasionally you will still need to adjust again the time, matter of one second before or after, but you already know how to do it.


As I told you, this part has not been tested, but if you really want to use subtitles in another format, select “Conversion to [other format here]”, and press GO to save the subtitles in the new format using the filename you chose in “Target File”.

Modify Windows XP start menu button and sidebar

Installed XP and you feel fuzzy about the new Start Menu? I don’t know how to change the background colour, but I can tell you how to modify the text that appears in that button, and also the bitmap image which, on the side of the menu, reports the current OS version.

This is an example of what you can achieve:

No need to comment… you can see for yourself how I put a smiley in place of "start", and changed the bitmap reporting "Windows XP Professional" with the more stylish "Codename Whistler Datacenter Server"
New addition: you can now change the image in the Start button as you prefer, see Neo while he takes the red pill from Morpheus’s hand. You can also change the "Click here to begin" Tooltip, which appears after leaving the mouse on the button, to whatever you want, like "Hack the Matrix!"


It isn’t so immediate though, you don’t need to change simply a registry key, but you have to modify the file explorer.exe (don’t worry, no tough HEX editing, you just need a simple tool).

Disclaimer: if you are a first time user, I do *not* suggest you to use this guide, since, even if it is completely safe and error proof (backups rule), you never know where the border between safety and danger lies. Follow your heart. If you feel even the slightest doubt, do *not* go further. In any case, you can’t hold me responsible for any damage YOU do to your system because of YOUR ineXPerienxe

You need to download ResHack from Download/Tools first. It is a plain compressed version, it has no installer, so you need to create first a folder to put it in, then decompress it in there.

Before running ResHack.exe, make a backup copy of explorer.exe (the simplest way is to drag and drop the file from Windows Explorer in the same folder, pressing the Ctrl key, so a file named "Copy of explorer.exe" will be created).

Now, let’s explain something. Modifying explorer.exe under Windows 95/98 could be just an issue of the file being already open, and anyway the possibility to shift to DOS makes it all easier, since explorer.exe is not runnig and you can change it as you please. Windows XP has instead a file protection system which will, on a regular basis, avoid you from arbitrary modifying any system file (just like explorer.exe), so you will need to start in Safe Mode. I suppose at this point that you made a backup copy of explorer.exe and that you uncompressed ResHack in a folder.

To start in Safe Mode, press the F8 key right after the screen becomes blank (after the POST), and wait for the text menu to come up. Choose to start in "Safe Mode", log in as administrator, press yes to the dialogue. You need Task Manager open now: to start it, use the Ctrl-Alt-Del combination (if you previously enabled the classic logon screen, you may need to press the "Task Manager" button after that, as well). From there, in the "Processes" panel, select explorer.exe and terminate the process. Now, in the File menu of Task Manager, choose "New Task (Run…)", and Browse to ResHack.exe (you remember where you uncompressed it, do you).

Inside ResHack, do [File > Open] and choose C:\Windows\explorer.exe. You will see a tree structure like in Windows Explorer.

Browse to String Table\37\1033


Here is where you need to do the dirty job: put whatever you want in place of start in the 578th string resource; for example make that string like "Smart" or whatever you like. If you want to put a big image in the Start button, I suggest you to put no text in here, so leave no space between the "" and press the "Compile" button on the top, the line will be eliminated. The longer the text, the larger the Start Button will be. After you try to click on another resource folder in the left panel, ResHack will ask if you want to recompile the source. Press Yes and go on.


The first (and easier) step is over. If you want to go on, and modify also the bitmap on the side of the Start Menu, these are the steps to follow:

The bitmap resources containing the bitmaps of the beta versions of Windows XP are located in the folders from 158 to 166, choose the one you prefer (I’ll take the Whistler Datacenter Server one)


This is the bitmap I chose, Bitmap\164\1033


In the [Action] menu choose to save the bitmap, for example in C:\, and name it datacenter.bmp


Go in [Action > Replace Bitmap …] and in "Open file with new bitmap" browse to the datacenter.bmp you saved before, then in the right side, browse to the bitmap of your current version (in my case it was #167, XP Professional; it is #166 for Home Edition), and hit Replace.


You can obviously change the bitmap to whatever you want to, but don’t ask me if the bitmap width must be the same, I don’t know (since I never tried); in the best case your Start Menu will be "indented" depending on the bitmap dimensions.

And now let’s see how you can change the Start button image and Tooltip. Note that if you use a plain single-line taskbar (the dafault) you shouldn’t put in here something higher than 30 pixels, the image I used is 50 pixels high, because I setted my taskbar on two lines.

Use exactly the same procedure seen before to replace the image located in the Bitmap Resource 143, the very first one, with one of your choice. Obviously the bigger the image, the bigger the Start button.

Now browse to the string table 34, line 533:

Change the "Click here to begin" text with the string you prefer


Done! Now simply compile the changes, do [File > Save] and reboot normally.

You know the tools and the method, so there are a lot of things you can modify, icons too, even if I’d avoid to play too much with it, because it is time consuming

Enough for now, enjoy.

How to fix a stuck kbd velocity of your Roland E36

This page (as you may have guessed from the link you just clicked to reach it) is dedicated to all of them who are the happy buyers of a Roland musical keyboard. I tested what I am going to suggest you with my E36 model, which doesn’t mean it’ll work on yours, especially if it doesn’t support Kbd Velocity mode


Ok, let’s come to the tech details.

The Kbd Velocity mode, from what I could guess when disassembing my KB, works by measuring the time interval which occurs between the contacts of two little switches associated with the key, located at different distances from the fulcrum of the key itself. Now, these are the ones which are messing when your Kbd Vel mode doesn’t work as it should. So, AT YOUR OWN RISK:

  1. unscrew the lower panel of the KB, keep the screws in a safe place (you never know, your cleptomaniac cat may be purring around), then, keeping the KB upside down on a firm surface,
  2. remove the few screws which fix the key-panel to the main chassis, and
  3. pull it out gently from its place, be careful to the flat cable between it and the main electronics
  4. locate the key giving trouble, and
  5. remove it (c’mon, do you really want me to tell you how to do this? Ok, only one hint: first of all, remove the spring)
  6. check the plastic grey sheet covering the contact under the key, which had two small buttons
  7. gently pull the plastic sheet from the electronics panel, and blow (yes, blow) under it, to remove every dirt which may have gone there. Also, you can use a small clean wad of cotton to dust it.
  8. now, from step (6) downward to step (1), do exactly the opposite of what is said, and you’ll have your E36 fresh as a daisy, and working.

Enable XGA 1024×768 resolution in Ubuntu Linux for Compaq Presario 1800

[7.4.2009] I installed Linux flavor Ubuntu Jaunty Jackalope on a very old Compaq Presario 1800, to make it into a small internet station. What I absolutely don’t like about the system is the fact that 64MB of the installed 256MB of RAM are wasted for the UMA (Unified Memory Architecture), that is are used on a videocard (ATI Rage Mobility M3) which is so dam old that you are not going to need it to play games, so the dedicated 8MB of video memory, as per specifications, are much more than enough for 2D display, and the added memory goes literally to waste. But what really startled me is the apparent impossibility to make the screen reach the XGA resolution it’s made for, 1024×768, no matter whatever lines I added to the xorg.conf file.

After half a day worth of fruitless searches, I found a page with a bug report on launchpad, regarding another display issue with a Presario 1800T, that incidentally let me enable XGA with a xorg.conf, so I decided to report the guide here for posterity, in a page easier, much easier, to find in a Google search.

Following you find the code to paste inside the /etc/X11/xorg.conf file overwriting whatever its content may be. If you have no idea how to do that (I am supposing you’re using the vanilla flavor of Ubuntu, with the Gnome desktop), press Alt-F2 from desktop, and in the dialogue write (respecting letter case):

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

to create a backup copy of the configuration file (you’ll be asked your system password), as you never know, and after that once again Alt-F2 and:

sudo gedit /etc/X11/xorg.conf

a text editor will appear, and you have to delete the whole contents of it, and paste the code you find in this page.

# /etc/X11/xorg.conf (xorg X Window System server configuration file)
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
# If you have edited this file but would like it to be automatically updated
# again, run the following commands:
#   cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom
#   sudo sh -c 'md5sum /etc/X11/xorg.conf >/var/lib/xfree86/xorg.conf.md5sum'
#   sudo dpkg-reconfigure xserver-xorg

Section "Files"
    RgbPath		"/usr/lib/X11/rgb.txt"
	FontPath	"unix/:7100"			# local font server
	# if the local font server has problems, we can fall back on these
	FontPath	"/usr/lib/X11/fonts/misc"
	FontPath	"/usr/lib/X11/fonts/cyrillic"
	FontPath	"/usr/lib/X11/fonts/100dpi/:unscaled"
	FontPath	"/usr/lib/X11/fonts/75dpi/:unscaled"
	FontPath	"/usr/lib/X11/fonts/Type1"
	FontPath	"/usr/lib/X11/fonts/CID"
	FontPath	"/usr/lib/X11/fonts/100dpi"
	FontPath	"/usr/lib/X11/fonts/75dpi"
        # paths to defoma fonts
	FontPath	"/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
	FontPath	"/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"

Section "Module"
    Load	"dbe"
    SubSection  "extmod"
      Option    "omit xorg-dga"   # don't initialise the DGA extension
	Load	"freetype"
	Load	"glx"
    Load	"type1"
    Load	"dri"

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"keyboard"
	Option		"CoreKeyboard"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc104"
	Option		"XkbLayout"	"us"

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
	Option		"CorePointer"
	Option		"Device"		"/dev/input/mice"
	Option		"Protocol"		"ImPS/2"
	Option		"Emulate3Buttons"	"true"
	Option		"ZAxisMapping"		"4 5"
Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "auto-dev"
        Option		"HorizScrollDelta"	"0"

Section "Device"
    Identifier  "ati"
    Driver      "ati"

Section "Monitor"
    Identifier  "Generic Monitor"
    HorizSync   31.5 - 48.5
    VertRefresh 50-70

Section "Device"
    Identifier	"Standard VGA"
    VendorName	"Unknown"
    BoardName	"Unknown"
    Driver     "vga"

Section "Screen"
    Identifier  "Default Screen"
    Device      "ati"
	Monitor		"Generic Monitor"
	DefaultDepth	24
	SubSection "Display"
		Depth		1
		Modes		"1024x768" "800x600" "640x480"
	SubSection "Display"
		Depth		4
		Modes		"1024x768" "800x600" "640x480"
	SubSection "Display"
		Depth		8
		Modes		"1024x768" "800x600" "640x480"
	SubSection "Display"
		Depth		15
		Modes		"1024x768" "800x600" "640x480"
	SubSection "Display"
		Depth		16
		Modes		"1024x768" "800x600" "640x480"
	SubSection "Display"
		Depth		24
		Modes		"1024x768" "800x600" "640x480"

Section "ServerLayout"
	Identifier	"Default Layout"
	Screen		"Default Screen"
	InputDevice	"Generic Keyboard"
	InputDevice	"Configured Mouse"
	InputDevice	"Synaptics Touchpad"

How to mod your pc tower case with a plexiglas panel window

It is customary after some time to get bored at one’s own case, and to want it to look cool in one way or the other. One (also) useful way to modify it is to make a panel transparent, so you can see inside, and check if all fans are working, or see what’s the model no. of an HW component without using a screwdriver. This naturally applies only to tower (mini-midi-full) cases, and the guide itself uses some techniques which may not be appliable to every model; I decided it was much easier to exchange a whole panel with plexiglas, instead of sawing off a square from the original aluminium, possibily damaging it and my own fingers, and below you can see what I was able to make.

You can easily notice the reflection of the light on the plexiglas surface (I mean, there’s actually something on it, I didn’t make a shot of a panel-less case to make it look transparent)


My case structure had some incisions to let some stirrups on the alumium panel to make friction and stay stable.

These two holes are the insertion points of corresponding stirrups on the panel, so sliding the panel forward, the stirrups would get a grip of the structure; we need to reproduce this mechanism on our plexiglas panel.


First, you need to provide yourself with the necessary material: a plexiglas panel, the same size of the aluminium panel you want to replace (I used a 2mm thick one), and then both a instrument to make holes in plexiglas without fracturing it (I used a screwdriver-shaped solderer to melt where I needed), and a series of straight thin metal stirrups you can easily bend.

Notice the solderer point, about the width of the thin metal stirrups, which must not be wider of the holes in the case structure, since they must fit in there. You can see an example ofhow you must bend the stirrups, but we wil need it later. (I removed those stirrups from an old AC-adapter solenoid core, ue your fantasy to get yourself some stuff like it elsewhere)


Put the plexiglas panel in place, and with a marker draw on it the side of the holes where the grip should occur, then about 5mm ahead of it make a vertical hole with the solderer. I decided to use only the first and last holes on the upper and lower side of the panel, to reduce the amount of work, and the probability of bad alignment of all the stirrups. In this phase you should also write with a marker on the plexiglas "OUTSIDE", so you can easily find the orientation of the plexiglas against the case.

You must use the marker sign on the plexiglas as a reference, to make an hole with the solderer ahead of it, to let the stirrup pass from one side of the panel to the other. The sign you draw should perfectly correspond to the hole edges (not like the picture, in other words), Make sure the hole is wide enough for the stirrups, if not, simply touch it with the solderer again until the stirrup fits.


Bend the gripping side of the stirrup to reproduce the U-shaped hook on the aluminium panel, insert it in the hole, then bend again the long straight side to fix the stirrup on the plexiglas.

This is how the bent stirrup should look like: the "U" base should be in the same position of the sign you marked on th plexiglas. Now the gripping mechanism of the aluminium panel has bein reproduced.


Try to adapt the just completed panel, which will almost for sure not be perfect, but adjusting the bending of the stirrups, or forcing them in the holes will get it to work.

A blurred detail of a stirrup in place.

How to order, manage, rename, tag your MP3 collection

Have thousands of MP3 files? Literally? Hopefully, you’re like me, and your entire collection is made by ripping the original CD’s you own and you paid for.

So, often the files you …ehrm… "rip" have funny names, often they are all CAPS or are badly Capitalized, or, again, are full_of_underscores, they miss the proper order (Artist – Album Name – Track Number – Title Here), and most of all, they are badly tagged. As long as you’re willing to spend some time, and I assure you, after you can master the tools in here, it will be a short time, your whole collection will be in perfect shape and be ready to be shar– ehrm– shown to your best friends by doing an ASCII format list of them all.

First of all, we need to rename the files properly, this is what we use Magic Renamer for (get it from the Downloads/Tools section).

Since I simply cannot list evey kind of combination of naming errors you may encounter, let’s explain the worst case of them all, that is an album where the single songs have: underscores (like_this_one), wrong capitalization (LikE ThIs OnE), missing parts (like author-track-title, no album name), unordered parts (like track-album-title-author instead of author-album-track-title), trimmed letters (like hor-title instead of author-title). There may be more, but once you know how to deal with this, you’ll also learn how to use Magic Renamer yourself.

This is a polite example of what I am talking about. I just made up the thing, I don’t think you’ll be so unlucky. BTW I own the album. Natalie you rock!!


Start Magic Renamer and set it up as follows.

In the "Case" panel use this setting If You Want Every Word To Begin With Capital, the other options are self-explanatory.


In the "Space" panel this is what you should want to set. Oh, if you are wondering about the funny colours of these screenshots, they are the result of the extreme compression of the images.


And now let’s see how to fix those filenames in the screenshot. In the upper panel of Magic Renamer you will see how the files are currently named, and how they will be after the "makeup", which you make essentially by working on the trimmer, replacer and formatter panels. Some strategy: we will need to fix the author name to "Natalie Imbruglia", remove the dot after the track number, adjust the case of the words, replace the underscores with spaces, and put order in the sequence to have Author – Album – Track# – Title. The underscores and word case are easily corrected by the settings we already saw. Now to the rest.

Load the files inside Magic Renamer by browsing to the folder cotaining them and pressing the ">>>" button or by selecting all the single files and pressing the ">" button.

1) Fix the author name and put it in the beginning.

Remove the album name form the start of the filename, we will insert it later. In the "Trimmer" panel choose to remove the first "n" letters, check with the preview filenames to see how many of them need to be cut.


Here. Replace "alie_imbruglia" with "natalie imbruglia". Capital letters will be changed by Magic Renamer since it has been setted to, you don’t need to write them correctly. The other settings should be left as they are unless specifically needed. Note the hint at the bottom: we don’t use it in this example, anyway if you need to remove a word *inside* a filename, that is you can’t trim the beginning or the end to do it, simply replace it with a null string.


Press the "Go!" button in the bottom left corner (after it you can undo to the last state by pressing "Undo"). You will now have the files beginning with "Natalie Imbruglia", no album name, and a dot after the track number, where we want instead a "-".

2) Replace the dot after the track number with a "-"

Disable the trimmer since you don’t need anymore to cut parts of the filename.

You need now to replace the dot right after the track number, and insert a "-" with a space before it. This is how you do it: put a single dot followed by a space after "Replace", and " – " (beginning and ending with a space, this to avoid to change also the dot of the .mp3 extension) after "with".


Press the Go button again. Now you miss only the album name.

3) "Insert" the album name after the Author

Errm you could find this a bit stupid, but it’s for education purposes. Replace "Natalie Imbruglia" with "Natalie Imbruglia – White Lilies Island". C’mon, you don’t need a screenshot this time. Press Go and the game is done.

This is just one way we could do it, there are millions of combinations you can use Magic Renamer, the good is to find the shorter one. Anyway, considering you are renaming at least 10 files at a time with a few clicks and typing, you’re saving time. Let’s see another way we could do it.

1) Fixing the Author AND the Album Name at the same time.

Trim the first characters until there are only the track number and title left. Now you use the formatter panel. Yeah, no biggie, since you need to learn how to use the formatter, trim ALL the characters before the title, that is remove ALSO the track numbers and spaces after them. DO NOT PRESS GO YET. Now we see how to use the formatter.

In the "Formatter" panel you write how you would like to make additions to the current filename. In this case we have only the titles, so need everything before them. We will write "Natalie Imbruglia – White Lilies Island – $n – $w" where $n is the serial number of the file as it is ordered ascending by name, and $w is the filename as it results form the changes made in the other panels: this means that if you chose to trim the first and/or last n characters, and replace something with something else, the partial result of those transformations will be considered as the filename. The legend on the right side of the panel explains all the "jolly characters".


Press Go and everything is done. Easy isn’t it.

One last recommendation: always remember to disable the parts you don’t need to use, that is Trimmer, Replacer or Formatter, because they will otherwise always mess up with the filename.


Now to the ID3 Tags. There are two kind of ID3Tags, as you should know, ID3v1 (the very first, ultra-standard, few characters, one) and ID3v2 (the new, still-not-so-standard one which accepts longer strings and more fields).

Here I support only the first version, both because the only free versatile tool for tagging I know has no v2 support, and because another shareware one I know isn’t as flexible as the former creating ID3v2 tagnames. So, if you think you absolutely need to work on ID3v2 tags, the rest of the guide isn’t for you. I actually don’t care for short strings, I think they’re too short only for 5% of my collection, so who cares.

All those things being said, I go on with the directions. Download and install Quick MP3 Tag Maker from the Downloads/AudioVideo section. Browse to the folder containing the files you just renamed with Magic Renamer, and open the "Files-ID3" panel. You now will use the "Filenames to ID3" input line to tell the program how to pick up the single parts of the filename and put them in the correct tag fields. The "jolly" string I use 99% of the time is "%1- %3- %7 – %2" (space-sensitive), that is , as long as you renamed the file as I told you, in the format "Author – Album – Track – Title"

Look at the part "Filenames to ID3 Tags". If you are not sure about what to put in the input line, press the "Help" button and see the legend with the explanation for each jolly character. If you want to see how the tags will be written in the file, select a filename in the folder and press the test button. Press "Go" in the right part, Filenames to ID3 Tag.


It is done, for the rought part. If you want to fill all the ID3v1 fields you are now missing, Year, Genre and Comment, which anyway are not usually included in the filename itself, go to the "Multiple" panel and add those fields to all the files in one time.

Fill only the fields you miss, and check the boxes near them, then press the big Go button on the right.


You can check the result in the "Single" panel by highlighting one file per time.

The files are ready for storage.

How to compose ringtones for Nokia mobile phones composer, using MIDIs

After making a deal with my father, that is exchanging my brand new Philips Fisio 311 (he gave it to me after receiving it as a gift) for his second-hand Nokia 3310 (which keeps the battery load only for 3 idle days…), I threw myself into high-end customization.

First things came first, but then I could spend some time working on ringtones: all I dreamt was to have the Monkey Island most famous themes to play on my cellphone.

This guide is thought for the ones who have MIDI files of their favourite songs and want to "translate" them to ringtones, and is made referring to some useful tools I found on the net. The downloadable ZIP containing them (Nokia Ringtone Kit), along with the tones I made myself, can be found in the Downloads/AudioVideo page.

RTTTL (simply referred to as "RTTL") stands for RingTone Text Transfer Language and is the standard text format describing notes on the cellphones, so, at least until the last passage, this guide can be used for every kind of phone supporting this standard, the only difference being that you will need to find yourself the keys to write notes, as the program I included in the package converts notes to keypresses just for Nokia phones.

First step, find a MIDI file that suits you:

These are two of the files I used to create ringtones


Then copy them in your working folder, possibly changing the name to easier ones, like "intro.mid" and "ghost.mid" for the example, and finally start MIDI2Tone (tonewin.exe) opening one file and playing it.

Once opened the file, you must find the channel which plays the melody.


Use the selector in the upper-right corner to change the channel, until you see the note frequency in the black window follows the beat and the frequency of the main melody. After that, press the Note View button:

Here you see where the notes are relatively to the Nokia reproducible octaves (notes are red because they have been selected).


Drag a rectangle around the whole set of notes forming the melody (selected notes become red), and after right clicking choose "Listen". You may get an error here. If you don’t, jump the paragraph regarding MIDI Transpose. The Nokia 3210, same for 3310 (don’t know about the others, but should be the same) supports only 3 octaves, while the standard RTTL reads 4 octaves. When you press Listen, if some of the notes fall outside the octave range of the phone you’ll get an error:

One of the selected (red) notes falls outside the correct range.


This means that you need to adjust the melody to fit available octaves by shifting the notes of the MIDI up or down according to the number of halftones you specify. Roughly, if you don’t know what I am talking about, take a look at the screenshot of MIDI2Tone Note View: it will drag up or down the red signs to make all of them be inside the yellow area. Supposedly, then, we need to bring them down. Let’s say 7 halftones down are sufficient. We uncompress MIDI Transpose (let’s do it in the same folder where the MIDI and TXT files are) and go to the command prompt (Start > Run > Command inside Win98/Me or Start > Run > cmd inside Win2k/XP), change to the directory containing the miditran.exe file, and do the following (supposing our file is named ghost.mid):

The sintax of miditran.exe is the following (for our purposes):
miditran -notes <+/- halftones (up or down)> <originalfile>.mid <newfile>.mid


The GHOSTDOWN.MID file will now be down 7 halftones.

Now if the original MIDI was OK, or you just fixed it into the new MIDI, open it inside MIDI2Tone and do the same of above:

Now all the notes fall inside the yellow area, as they should.
Here you can see how many notes contains the melody after right-clicking and pressing "Listen"


You can’t have more than 50 notes (pauses included) in a ringtone. MIDI2Tone does the dirty job for you and removes pauses, prolonging previous beats to save space, but if after this you still have more than 50 notes, you need to reduce the selected notes by right clicking and chosing "Clear", and then again selecting the last notes to remove, untill the "Listen" dialog shows 50 notes or less. When you are happy of the results, right click in the Note View and choose "Save as nokring" (choose a name with a TXT extension).

In the package is included also WBeep, a DOS utility. Extract it in the same folder of the TXT, and in Windows Explorer drag and drop the TXT on the EXE file. It will playback the tone with the PC Speaker giving a fast preview.

After that start the Nokring RTTL to Nokia Converter and load the TXT you saved from inside MIDI2Tone. Important: MIDI2Tone gets exclusive usage of the MIDI device even if it’s not playing anything, so you need to close MIDI2Tone to hear audio from Nokring Converter.

The RTTL txt file once imported in Nokring Converter and converted to keypresses.


Select the options of Nokring Converter as in figure, and press the button Get… to browse to the txt file saved from MIDI2Tone (or use one of the RTTL files I included in the ZIP). Choosing to view the keypresses, you’ll see what keys you need to type in the Nokia composer to write the notes.

Et voilà medames et monsieurs
or whataver, I didn’t study french

How to get an named alias for your dynamic IP

No matter if you use a DHCP connection (which means you have a different IP address for each connection – every 56k and ISDN line, and some DSL and Cable lines) or a static IP one, if you have a server installed on your machine, you may take advantage by "changing" your IP with a named address (for example, "" instead of ""); for instance, the users of your server would easily remember your address.

This can be done for free, using both a service which mantains a DNS (Domain Name Server – a server which is capable of telling you the IP corresponding to an alias, like "", that would correspond to "" as in the example above), and a small program which checks your IP every "n" minutes, and if it changed since the last time, sends the updated information to the service itself. So, very briefly, someone who knows you have an FTP server responding, for example, at the address, port 21, would have his FTP client asking to the DNS of the service to tell him your true IP, and then would directly connect to that IP… still the only information he must remember is "", and not your true IP, which is much more difficult to keep in memory).

To the practice now: there are more than one way to achieve this, and they depend from the small program you use to send out your IP. Every free service suggests free utilities to update the IP automatically, and since I wrote this guide years ago, the only service still operating is

DynDNS allows you to choose aliases different from the principal domain (which means, you can get "", but also "", "", and several others).

How to use ImgBurn for batch build/create/burn ISO to backup to DVD

This guide is based on ImgBurn, which you can currently get from here. In case you’re reading this guide way after the publication date (may’09), then it could be possible the author added the functionality directly in the software, rendering this howto pretty much useless

Anyway, the whole point of this guide is doing with ImgBurn what it is not really intended to do, that is using it as a backup software to reverse on optical discs your sheer volume of un-copyrighted data. The guide is suited for users wanting to backup to single-side DVD’s.

As you may, or may not, know, ImgBurn has a built-in batch function which allows you to burn in batch mode, that is, when properly set, being able to queue as much ISO images as you need, and after pressing a button, only needing to exchange the automatically ejected burned DVDs with blank ones and close the tray between an ISO and the following one, meanwhile doing whatever you may like (surfing the internet, chatting, watching a movie, or even play a videogame) without much stress on your part unless these very automated steps.

What ImgBurn absolutely needs for the batch burn function tho, is ISO images, while normal users in need to backup files usually have those files in a normal directory structure; thus, we need to convert those directory structures in ISO files to be burnt by ImgBurn, but alas ImgBurn has no batch function to build ISO files, just a plain manual routine. Our job in this guide is to make a wholly batched process both to burn ISO files *and* create them beforehand from a predetermined folder structure.


The first part of the job is the heavy one, depending on the volume of data you need to backup: you need to do this mostly manually, unless you want to use other tools to help you with the space partitioning (like Ignition by KC Softwares, but I won’t cover this in the present guide). To make it short, you need to create a work folder, in which you will then create as many folders as the DVDs will be. For the example’s sake (all drive letters and patch are taken from my real paths), let’s say you got a big drive with lots of free space, let’s make it F:, then lets say you want your work folder to be F:\Burn; you will proceed to decide what data to backup, and then you will have to partition that data in 4.3GB chunks (roughly the writeable size of a commercial DVD recordable, be it either DVD-r or DVD+r), this partitioned data will be copied/moved inside subfolders of F:\Burn, to which subfolders you will try to give descriptive names, which will be needed later on. But enough for the babbling, here’s an explicative image:

work folders
Some fictitious folders containing our data to be burnt; each folder must not contain more than 4.3GB each, or it won’t be possiblt to burn it on a single DVD recordable, there is no limit though to the subfolders of each folder, each DVD can contain the directory structure you prefer. Notice the buildiso.bat file, we will be needing it later on.


This kind of work can be long, espoecially if you have lots of material to backup, as you need to find the best way to fit everything on 4.3GB disks, but after this, all the job will be mostly done by your PC with very less intervention on your part.

Here it comes the part where you need to setup ImgBurn properly to adjust to the job; so open the application and go into Tools > Settings > Build pane

imgburn build options page 1
imgburn build options page 2
This is how I set the Build options for ImgBurn, unexperienced users may want to have their panels looking exactly like these to reproduce the results, what I do suggest you for better results is ticking the "Don’t Prompt DivX Video Settings" option, or you risk to get interruptions by ImgBurn asking stuff during the process instead of going by itself.


Then go to the Write pane:

imgburn write options
For the batch ISO write function of ImgBurn to work smooth you should set the options as reported here.


You have pretty much done your preparation job in ImgBurn, we now come to the buildiso.bat file you noticed before. Simply create said file containing the command: (be sure to select/copy the whole line, the text is most probably scrolled horizontally)

@for /d %%i in (*.*) do "e:\program files\tools\imgburn\imgburn.exe" /mode build /buildmode imagefile /src "%%i\" /dest "F:\Burn\%%i.iso" /FILESYSTEM "UDF" /UDFREVISION "2.01" /VOLUMELABEL "%%i" /rootfolder yes /noimagedetails /start /close

You simply need to replace the paths in the command with the proper paths, where first path (e:\program files…) is the full path to the imgburn.exe file, and the second one (F:\Burn\) is the path to the work folder you created. What this file does, is setting up ImgBurn to go through every folder in your work folder and create an ISO image file from it, respecting its subfolder tree, and using the folder name for the ISO file name, and the ISO image label (that’s why you’d better choose descriptive folder names). Some notes on the command: here I use a one-way UDF filesystem, revision 2.01 (not the latest one), why? Because it suits my needs, as I just make backup disks, so I don’t create DVD-Video disks (UDF-only is not good for that), plus if I want to write a file larger than 2GB on disk, this way I can, without the limitation of the other filesystems; I also chose not the latest revision of UDF, as I took my time to read the relative page on Wikipedia, and checked that revision 2.01 is what pretty much gives the best functions together with the largest drive compatibility. Note: the ISO files created this way won’t be correctly opened by 7zip (to cite one program), at least on my pc, but they will be correctly mounted using DaemonTools, so you can still extract files from them.

At this point, you need to batch build the ISO files with the bat file, so copy the buildiso.bat in the root of the directory containing the data folders and start it, you will notice ImgBurn will appear and will begin creating the first ISO, after which it will autoclose and proceed to the next one. Notice that you don’t really need to have data folders and bat file in the same work directory you chose to contain the ISO files. Given how the batch file works, you can have those folders (always together with the bat file) anywhere else, for example on an external USB drive, or even network folder (even if it’s not recommended for transfer-speed reasons), in the end the ISO files will be created anyway in the work directory you chose (F:\Burn in this example): this way you don’t need to copy the folders over to another drive, in case you have them already stored elsewhere, just be sure each folder contains only up to 4.3GB of stuff.

At the very end of this process you will have a bunch of big .iso files in the work directory, together with corresponding .mds files (for easiness of the procedure you can use Sort files by type in Windows Explorer and delete all the .mds files, I did in my case and it all worked perfectly), and those are the files you need to batch write using ImbBurn; at this point you can choose to delete the source folders in case you don’t plan to use the data afterwards, since you got the ISO files coming from them. So, open ImgBurn and go to Write mode or even choose Write image file to disk from the Ez-Mode picker menu, and press the button with the folder symbol overlapped by a plus sign, in the source section on the left of Please select a file…, and a menu to queue up ISO files to be burned will appear; here you only need to drag’n’drop the ISO files from the Windows Explorer window to the white space in the menu:

imgburn write queue dialog
Something like this will appear after you drag and drop the .iso files to the write queue. Let’s take a look at the downmost checkbox named "Delete the image when done"; it is a useful ufnction if you want to backup the data without keeping a copy on the hard disk. Just select from the list of ISO files the ones you do not want to keep on the hard disk, and then activate this checkbox: in my case I wanted to delete all ISO files after writing, so I selected them all and checked the box. The "start writing" button in the image is grayed out, since I had no blank DVD inserted at the time (it was just a demo for this guide after all), but when you do insert a blank DVD the button will be selectable.


When the queueing is done, just press the Write button in the queue window and the backup to DVD will start; all you will need to do at this point is mind your very own business until the tray gets ejected, and which point you take out the warm just burned DVD and put a new blank one inside, closing the tray; ImgBurn will start writing the next ISO file as soon as it detects the blank disk has been inserted, until all the ISO files have been burned. Enjoy.

How to install configure and manage an FTP server

2008 notice: up to date, the most complete and freeware FTP server is FileZilla. I do not have time, will, and resources to re-edit the whole guid to this software, anyway you can follow the same basic principles to setup a server

This is dedicated to all of you who would like to share with others their files, such as MP3’s, Movies, Pictures, FREE Programs, and… well whatever else you think it is a good idea to share .

Since there are many different FTP Server softwares out there, and as happened for FTP clients, some of them are free, I’ll put in here a tutorial on how to start from scratch with a free one (for instance WarFTPDaemon, which is, if not the most userfriendly, at least the most powerful; I’ll put available for download also GuildFTP, which instead is quite nice graphically, plus offers a very flexible interoperability with mIRC). Visit the Dowloads/Internet section of this site to get the installers.


Install and run the thing.

Let’s come to the tutorial itself.

This is how appears the server’s console when you start it. We’ll explain what to do step by step.


After the server is installed and running, we’ll have to set how many people can login, what port the server will be listening on, blah, blah, blah.

You have right now the chance to change the port the server will listen on, just put another number in place of 21 (the IP near the port can’t be changed, it logs your IP when you’re connected, and is when you are offline). You can use virtually any numer, but avoid to use 23, 25, 80, 110, 139, which may (actually in very rare cases) interfere with your current other running services, and in general, choose with no problem any number from 1024 to about 65000. Then, the max decent number of users, unless you are on a T3, is 2 max for a 56k, even 3 for a 64k ISDN, 5-6 for a 128k ISDN, 8-10 for an aDSL, even a bit more for cable users. But still it’s your choice, the more users will connect at the same time, the slower they’ll go .

Next, you need to set users. One choice is to make an account for each person you want to access the server, asking them what username and password they prefer; or, if you, for example, serve songs in an IRC channel, it is much better to create a single account, with a standard username/password, like channelname/napstersux0rs (hey ’tis just and example ). Then you need to set the folders each user will be able to access, and what rights will have in those folders.

Reach the Edit User dialog by doing [Properties > Security > Edit User…]. You add users by pressing the Add button in the User panel side, then specifying a username (case sensitive), and a password (also case sensitive; you’ll be asked to retype it for security purposes; in this case, the login was ID:John PSW:Smith). Then switch to the File Access panel from the Security one. This is how you should set the (default permissions), that is, everything is disabled by default, you’ll specify for each folder if it is accessible or not.


And this is how you should set the parameters for the shared folders. To add a shared folder, press the Add button in the File Access panel side, and a dialog to choose the folders will appear. The Read right is to enable the download of the files. Uncheck the Write Delete Execute rights, to avoid l4m3 users from messing on your HD via FTP. The List (dir) right is to allow the user to see the folders he can access. Disable Create Remove to avoid a user from messing, as I told before. The Root and Home attributes are used to make the user automatically access the selected folder when he logins. If you want a login for each user, just keep adding them from scratch, till you feel you have enough accounts. When it is really all done, press the OK button in the upper right corner.


When you setted the user parameters, you need to adjust the overall server options, by doing [Properties > Options]. I won’t paste in here a screenshot for every panel, since you can follow the instructions by reading in here, and also because this page would get simply HUGE to download. So, you have the [Options > General] panel in front of you. I suggest you to enable Go online when started and minimize so the server, will be there ready to act. The rest if left to your will, only remember that selecting Advanced. Please enable all options you’ll find the Edit User panel a but more messy. Just use this option when you’ll become more acquainted with the program .

Switch to the Server Name panel (we can ignore for now all the other panels, which control the advanced options, and are not supposed to interest a first time user). In that panel, put a nice name for your server, like "FrAnKiE’s FrEe FoR AlL FiLeZ SeRvEr", and if you want insert your email, or leave the invalid default one.

This is done! I mean… almost… actually the two great capabilities of WarFTPd are folder mapping, and especially the Virtual File System. Since you can now start sharing your files, you can avoid reading further. But if you want to add more folders located on different disks/partitions (for example one with songs, another with pictures, another with programs and so on, and also a folder to let users upload files to you) it may be VERY useful to activate the disk mapping (I’ll avoid explaining how to use the Virtual File System, both because it should be used only by advanced users, and beacuse… err.. well… I still gotta fully understand how it works … but hey! I had to learn WarFTPd JUST to write down this tutorial!).


Now, let’s make an example: you have all your songs on the partition G:\, some pictures in F:\Docz\Images\…\, and want to add an Upload folder in F:\Temp\Uploads\ (well, this is more or less how my disk is organized, I suppose you don’t have so many partitions, but it will make the same, just change the example folders to the real names ).

Now, it would be a nice idea to create an empty folder just for the FTP (which will work actually only as a container for the links to the other, external, folders), let’s say F:\FTP\.

What will you have to do? Add the empty container folder in the File Access panel as I explained before. For this one, set the Read and List (dir) rights, plus the Recursive, Root and Home attributes. Then simply keep adding the other folders you want to share, selecting Read, List (dir), Recursive and Mapping.

When you select Mapping, the Alias dialog will appear, letting you specify the name which the folder will get when added to the Root of the Server. The G:\ folder will keep its current position, only there will be a link, named, suggestively, "Songs", which will appear as a folder inside F:\FTP, which, double clicked, will bring the user to G:\, as if it actually were F:\FTP\Songs. Kewl eh?


This is how you shoul set the Uploads folder. That is, activate the Write (file) and Create (folder) rights, to allow users organize their uploads in folders (for example, they can upload files in folders named after them, so you can know who sent you that file). The uploads folder will appear as "Upload Here" in the server root. Note: disable the Delete/Execute/Remove rights to avoid L4M3 users from deleting what others have uploaded to you. Also, you can disable the Read attribute, if you want to avoid users from downloading what others uploaded.


You can add as many folders as you want, building a very complex server.


Pheewww it’s done for real now.


Wait! Not yet! Do you want to know how to test yor server, even if you aren’t connected to the internet? Use an FTP client, and put all the data of the server (port, username and password), BUT use as the IP. You will connect to your own computer, and see how the server works on the user-side.