Tuesday, October 30, 2007

DizzyDiff v1.2.0

I know I am posting quite often about DizzyDiff but I added ID3v1 support to this version so I think that it should be published. DizzyDiff will now by default search inside the ID3 tags (only version 1 is supported currently) of MP3 files as well. There are also some other minor changes. I tried to include the LuaJIT with this version but I cannot find the Windows binaries. The next version will hopefully include them along with support for ID3 tags version 2. If you happen to have the Windows binaries for LuaJIT then please email them to me. You can download DizzyDiff by clicking here.

Thursday, October 25, 2007

DizzyDiff v1.1.0

I improved DizzyDiff by adding two more features:
  1. It is now possible to search inside text files and not just in filenames.
  2. DizzyDiff will show you 5 results per screen but it will internally hold the top 100 result. By typing m and pressing enter you will be able to see more results.
To download the latest version (for Linux and Windows) click here.

Wednesday, October 24, 2007

DizzyDiff Search Tool

I hope you liked Where because DizzyDiff is a much more powerful search tool. It searches your disks for files either with the filename you specify or with filenames similar to it! It's ideal for searching for songs that you don't remember the exact spelling of their name.

For example you may search for "Tear of de bark" and DizzyDiff will find "Fear of the Dark" as a 82.5% match. You may search for "your my tempation" but it will find "you're my temptation" as a 89.9% match as well.

This is the first version of the program but it works quite well for me. What I haven't tested is Unicode support. I've only tried searching for filenames in english.

To download DizzyDiff (for Windows and Linux) click here. Then unzip everything in a folder and run DizzyDiffWindows.bat or DizzyDiffLinux.sh. The Linux version uses the Nautilus file manager to open the directories that contain the files. Of course you can change that in the source code. You may also ask me to do it for you.

DizzyDiff is open source and it's written in Lua.

Here is sample session:
DizzyDiff Search Tool version 1.0.0 by Tritonio
Use this program at your own risk. You may also share it,
with or without modifications, as long as you include this copyright
notice on all copies or portions of the program that you share.

Type the name (it hasn't to be the exact name) of the file you are looking for: in sane
From where should I start searching for it? (eg: /media/STORAGE/) Type the path: /media/TRITONIO/
Type the number of results that you want, or leave empty to show 5 results:

Please wait... /
Finished searching in 7466 files. I will show you the top 5 results:

1. 73.8% match with: is none

2. 68.6% match with: INSHAME

3. 64.7% match with: is banned

4. 58.3% match with: is release

5. 57.8% match with: 2 Name

Press enter to exit or type a number and press enter to open a window with the specified result selected...

Monday, October 22, 2007

Ubuntu Gutsy Gibbon

The last two days I've been fine tuning Gutsy Gibbon: the latest Ubuntu Linux release.

I had some problems upgrading to them because for some stupid reason I only made a 5GB partition for the root (/) of my filesystem so there was not enough free space for the upgrade. I tried to resize the root partition with the Live CD of Feisty Fawn but there was absolutely no way of doing this without having to delete three more partitions. Finally, I did the upgrade by downloading the alternative installation CD and doing the upgrade with it's help (read at the bottom of this page for more information on how to do this).

Gutsy have a very nice feel especially if you enable the Desktop effects. They are simply delicious... Just make sure you install Compiz Manager to configure the effects. You can install it through Synaptic Package Manager or by typing:
sudo apt-get install compizconfig-settings-manager
in a console.

If you are not using Linux then you should really consider doing so... And Ubuntu is a good start because of their simplicity. You can also try them without installing them by booting from their Live CD (that's the same CD that you will use to install them afterwards).

If you have any problems with Ubuntu then you can get free support from forums, chatrooms, etc. Visit this page for more information.

Congratulations to everybody who worked on this release!

Sunday, October 14, 2007

FuckBrainFuck v1.7.1

Today, while improving AskWise I had to look at a part of the source code of FBF and, luckily, I found a terrible mistake in it. The SET command was supposed to set a cell in the Brainfuck array to a specific value. But in addition to this, because of the bug, it zeroed the very next cell. I do not know how that stupid bug occurred! I wonder how did the compiled FBF programs work... :-( Click here to download the new version.

Tuesday, October 9, 2007

AskWise (Beta)

AskWise is a program that I made before two or three years that makes statistical predictions based on knowledge you give to it. I recently rewrote it in Lua so that it runs on Linux too. It is a console application now (the old one had a GUI) but the algorithm has been improved a bit. You may read the post about the old Ask Wise (the new version doesn't have the two words separated). What I just realized is that I have written AskWise three times from the scratch. The first one was in Plua, then in Visual Basic and finally to Lua. Click here to download the Beta version. Two sample databases are included. One that predicts someone's sex provided the height weight and age and another database with that tries (unsuccessfully in my opinion) to predict the resulting score of a football match based on three ratios given by OPAP in "Pame stoixima".

Tuesday, October 2, 2007

How To Make Portable Applications

Don't read this article. I've written a much better one which you can find here.

The purpose of this (late-night) post is to show the the possibility of creating portable applications and to encourage you into doing so. I can't teach you how to make one exactly because this depends on which application you choose. I will try, though, to write some headlines for you. Note that many applications cannot be turned into portable ones. Also different people understand the meaning of the word portable differently. When I say portable I only mean small in size, without unnecessary files and without the need to be installed. I also avoided using any commercial tools such as Thinstall.
  1. Download and decompress UPX. This is a great open source executable packer. I though I had previeusly written about it but I haven't. UPX (which stands for Universal Packer for eXecutables) is probably one of the best executable packers. It will compress any exe, dll or other executable (even Playstation executables!) If you didn't already know executable packers create compressed applications that can still be run just like the uncompressed ones.

  2. Download the program that you want to make portable. There might be an already portable version but usually it can get even smaller so download it and continue to the next step. If you can only find a version with an installer then download it, install it and continue to the next step.

  3. You may follow either one of this steps. The first one describes how to do the compression manually. The second one makes use of a small Lua script I made that automates the whole process.

    1. (Manual compression) The author of the program might have already compressed his executables so you'll need to decompress them (and hope he/she did compress them with UPX).

      • Open a DOS prompt (Start Menu->Run->"cmd.exe"->Enter).
      • Open the directory where UPX.exe is stored.
      • Finally open the directory where you installed the application (could be: "C:\Program Files\application name").
      • Now drag'n'drop UPX.exe into the DOS prompts window (or equivalently type the full path to UPX.exe).
      • Select the DOS prompt window and type: " -d ".
      • Next drag'n'drop the Directory of the installed program into the DOS prompt window (or equivalently type the full path to the directory) and also append a "*.*" (whithout the " of course) after the last "\".
      • Finally select the DOS Prompt window (which should contain a line like this: "c:\whatever\UPX.exe" -d "c:\Program Files\application name\*.*") Now press Enter.
      • UPX will decompress any executables inside the directory of the installed program. If there are subdirectories inside the directory of the installed program then you will have to repeat this process for them: Drag'n'drop UPX.exe, type -d, drag the subdirectory, press Enter.
      Now compress everything. Repeat the above process but instead of typing "-d" you should type "--ultra-brute". This will instruct UPX to try all possible compression algorithms and then use the best for each executable. It will take lots of time but it will always produce the best results. If you cannot wait that long you should use instead "--lzma".

    2. (Automatic compression) Download UPXALL. Then follow the instructions in the information.txt. When you are prompted for a directory you should use the application directory (could be: "C:\Program Files\application name"). Please note that UPXALL is still beta but will probably do the job.

  4. Now the hardest part. Copy the installation directory of the program somewhere else and start removing unnecessary files. It's hard to do it right and might not be possible to remove any files at all (it might even be illegal if you want to distribute the portable version). Remove skins, language files or whatever you consider not worthy its size. In some cases you might also have to update some configuration files about the removed skins for example. If you overdo it with the removals you might end up with menu items in the program that do not work. It has never happened to me but in this case you should probably remove these menu items. Don't worry, you don't have to recompile the source code... Just use Resource Hacker on the uncompressed executable, remove the unneeded menu items and then recompress it with UPX. Finally some applications might require other changes in their configuration files. For example you might need to change any references to directories with relative ones. Here is an example. If you make a portable version of Emule and you want to work from your flash drive you should consider that the drive letter of your flash drive won't be the same on every PC. That will make Emule lose the shared directory settings every time the drive letter changes. To avoid this you should open the configuration file of Emule, find the shared directory and the incoming directory settings and then change them with relative naming. For example if the shared directory is inside the directory of Emule you could put a path like this in the shared directory setting: ".\shared". If you don't understand something in this step then please leave a comment and I'll try to explain.

  5. If you just want to keep the portable version for yourself then you are finished. The directory now contains a portable version of the application (or at least that's how I call it). If you want to publish your application then you should first check if it legal to do so. Read the license of the application. If you are not sure for something, ask the authors.

Popular Posts