Wednesday, June 30, 2010

KrzYoptimizer v1.02 is out

Version 1.02 is out, it features Download & Install button that will automatically download and install all applications necessary to run optimizer. It also marks on-fly Text Boxes by changing their color to orange if program can't be found:

Tuesday, June 29, 2010

KrzYoptimizer v1.01.2 (formerly ZIPslimGUI)

For all this time I was coding this front-end application. Starting from spare time at work to 2h past midnight, sleeping 5h and so on... I think today I will give it a rest, at least a bit =P

So it now has a nice and simple GUI:

and some cool advanced optimization settings:

I have written a short guide on how to set it up and use on My Homepage. If you are interested, Please, read, download and use it. It's really worth it in my opinion.

Why I'm doing this? Simply for myself. First time when I compressed a file on a computer I was 11-13 years old, LOL, and I was like "OMG IT GIVES SMALLZ FILAZ?!", arj/zip times =D. Guess what? I'm still into it. I like tools that DO optimize things, especially if it's not just about: "wow WinRAR, Best compression... um? That's all?", you know what I'm saying, the ability to get better results after putting some mysterious 'pb=3' (um? what? yes, 7-zip, doesn't mean gasoline =P) or better one '/rn' (LOL random Huffman Tables! K-ZIP)... And of course I'm doint it for You as well, because it wouldn't be available for download if I didn't, and there is a big thing comming UP! PNG file optimization based on Andrew C.E. Dent script named PNGslim (as it was converted to VBS by Me, it will as well be in VB6 EXE :) using a set of tools like optipng, advdef, pngout, pngrewrite and others.

So check out my website!

Monday, June 28, 2010

ZIPtoGZ v1.00

Want to losslessly convert ZIP to GnuZip (GZ) format? This tool is for you!

Losslessly (without rewriting Deflate compression stream) convert your ZIP to GZ file. You can pick to write filename string of packed file into GZ file incase someone changes archive name or just or leave it off saving length of archived filename+1 bytes.

There is one condition you must meet! The ZIP filename before .zip must be the same as archived filename, for example, if archived filename is mymommusic.tar then zip file must be name! NO EXCEPTIONS! Not doing this may result in GZ being corrupted!!! (maybe I will work it out someday to autodetect filename in zip file)

Sunday, June 27, 2010

ZIPslim GUI v1.0-pre?

YES! It's finally out, ZIPslimGUI! The 7-zip/kzip frontend (png, jpg, bmp and gz to be done later):

It has no config file and optimizes zip files only. It doesn't support resuming.
Doh, It's pre-release there is a lot of work to do to make it as functional (or even more) as ZIPslim is =)

Thursday, June 24, 2010

Manually convert ZIP to GZ

Don't want to use programs that will convert ZIP to GZ by recompressing the whole archive? Doing this may result in file being larger than ZIP! Maybe you just want compresion data to stay intact? This guide is for you!

1. Run deflopt on the archive before conversion to make sure it doesn't contain any comments in order to use guide below.

In Xvi32 do:
1. Make sure ZIP contains only one file that is NOT in directory.
2. Open it with Xvi32 and DEL till you reach filename
3. Now make sure that 'Overwrite' is OFF in 'Tools' menu.
4. Go to Address 0 and click on hex view [left window]
5. Do A or B
A1. Type: 1F 8B 08 08 00 00 00 00 02 00
A2. Now in hex view go to next character after filename and type 00
B1. Type: 1F 8B 08 00 00 00 00 00 02 00
B2. Delete filename with extension
6. Go to end of file [last address]
7. Look carefully, you should notice two "PK" strings.
8. Navigate to the one that is earlier [NOT THE ONE THAT IS ALMOST AT THE END]
9. Click on the P from "PK" and press DELETE key 16 times.
10. Press right arrow 4 times
11. Press delete 4 times
12. Press right arrow 4 times
13. Delete every character from this position to the end of file
14. Change extension to GZ and vua la. You have GZ file!

If you did everything right, you should be able to decompress it without any problems.

ZIPslim v0.991

How about GZ? Kzip by default DOESN'T support this file type. Lately I got in touch with a lot of tar.gz files due to my adventure with fun_plug for ZyXEL. I thought: "too bad I can't optimize these".

Until today. I have 4 spare days, including this one. I did research how GNUzip header/footer is built since I know it uses the same compression method ZIP does. Basically Deflate filestream is the same and you can notice GZ files being ~100 bytes smaller. So I managed to recreate artifical GZ header [1F 8B 08 00 00 00 00 00 02 00]. First two bytes would be fixed GZ file ID, 3rd is compression method meaning Deflate [08], next one is Null because we don't want to put filename inside archive saving [filename length]+1 bytes (it's not actually good idea to save it w/o filename inside since I know few internet services, like not existing savefile, that modified filename) - I may add ini switch to turn this on or off later. Starting from byte 5 I decided to skip (cause I'm lazy) time/date conversion to GNUzip specs so there are 4 Nulls (meaning it's the same as archive creation date). At byte 9 I decided to always use 02 since it means that it was packed with maximum compression (the thing 7-zip and kzip do) and last one is fixed 00 to let decompressor know that header ends here. If you want you can open it through Xvi32 or other hex editor and change header byte 4 [1F 8B 08 ->00<-] to 08 and add at the end of header filename.extension (00) so it will look like this: 1F 8B 08 08 00 00 00 00 02 00 asciifilenamehere.extension 00.

Let's check the ZIP footer. There is a lot of crap GNUzip don't want to see. Basically only things GZ wants is: 4 bytes long CRC written from right to left [reverse order] in hex format, and 4 bytes long file size written similar way. So the script coppies this and deletes anything else.

In order to use this feature you will need to reinstall script by running '0reinstall ZIPslim.bat' or by downloading and installing Xvi32 and editing ZIPslim.ini: add xvi32EXE=locationtoyourxvi32.exe for example 'xvi32EXE=apps\XVI32.exe'. Conversion is done by modifing HEX data of file with Xvi32 script file.

So that's how ZIPslim v0.991 was made, changelog:
- Changed Install zipslim.bat to 0reinstall zipslim.bat for EZ reinstalling.
- Reverted animation to old Moving Slash one
- Xvi32 added to main package to convert ZIP to GZ.
- GNUzip (.gz) extension support [ALPHA!]
* no support for file date (same as archive)
* no support for file name inside archive (same as archive minus .gz)
* it just converts ZIP to GZ by modifing ZIP header/footer to meet GZ specification.
*** PLEASE RUN 0reinstall zipslim.bat!
- Update to PNGslim display
- Fix for processing next files when resuming when BestBlocks was larger
than 16!
- Fix to PNGslim display: when file was detected as grayscale script
didn't display "Filters" text.

You can download it at

Tuesday, June 22, 2010

ZIPslim v0.99

ZIPslim was updated to v0.99 today! What's new:
- 7-ZIP module updated (please delete/rename ZIPslim.ini to reinstall)
- Fix for resuming when BestBlock was larger than 16!
- Added short Legend
- Changed KSflating display a bit (now it's Kzip). It features Real Time updating of number of MaxBlocks/MaxPass, BestBlock and Compression Ratio.

You can download it at:

Monday, June 21, 2010

Updated 7-ZIP for ZIPslim

I did update 7-ZIP for ZIPslim. To update you would need to rename ZIPslim.ini to something else and delete apps directory, run ZIPslim and wait for it to reinstall itself. Delete new ZIPslim.ini and rename back your old ini file to ZIPslim.ini

or you can install it manually by extracting: to your apps directory.

Please NOTE! There is no 7za.exe x64 version currently available... If you have x64 system you will need to use x86 version. It's only used for extracting and compressing once per optimization so I think it's OK for now.

7-ZIP, Lame and OptiPNG

Last week I did compile another 3 programs for Linux ARM to use on ZyXEL NSA-210, NSA-220 or D-Link DND-323 (or other, similar where fun_plug can be applied)

OptiPNG is very good to optimize PNG images or convert BMP, GIF etc to PNG. You can pick how many tries you want it to perform to optimize the image resulting in smaller filesize... It works quite fast on Marvell 500mhz!

You most likely know what 7-ZIP is? It's one of the best compression programs used nowadays. Actually you can use it to the fullest on PC with at least 2GB RAM. Here, on NSA-220 you may be limited by RAM this device has, only 128MB. So most likely maximum dictionary size would be 4MB in this case. Still, It can be very good for compressing to ZIP, it doesn't have as good algorithm as K-ZIP has but it's still enough to win against WinRAR's ZIP.

Last thing is Lame. It's a command line MP3 Encoder. It has very good psy filters so you get very good quality MP3 files even at standard, 128kbps bitrate. Unfortunately it's not very good idea to use it on ARM processor due to emulated floating point calculations, and this program uses it a lot. You will get very low speed here. On Marvell 500mhz you will need to wait (play_duration)*8, so if you have a track that has 3 min duration, you will need to wait 24 min for ZyXEL to get it to MP3 at default settings. It's a lot of time! But sure, If You leave it ON at night and, we know that, nobody uses it then You can compress whole CD then =D

Please NOTE! Running those tools on Network File Server will reduce file Reading/Writing speed to 0.5-1.5MB/s until the program finishes. It's due to the fact that it can't use its CPU for I/O operations.

Everything can be downloaded from:

Friday, June 18, 2010

JPEGoptim for ZyXEL NSA-220 funplug

Yesterday I did compile JPEGoptim v1.2.3 by Tomo Kokkonen directly on ZyXEL NSA-220 by using pendrive with funplug installed. It's special fun_plug ARM version to run directly on you NAS server (ZyXEL NSA-210 and D-Link DNS-323 should be able to run it as well). That means you don't need PC to optimize your JPG files. You can then write a script that will scan for JPG files once a week and optimize them by deleting useless junk they can contain. That's great way to use your energy efficient Marvell 500mhz CPU (250mhz incase of NSA-210) to optimize files.

more at

Sunday, June 13, 2010


This time I was working on some Visual Basic Script. The idea came from Andrew C.E. Dent's PNGslim script that optimizes PNG files.

ZIPslim in progress:

Actually I wrote testkzip script before discovering Andrew's invention. It was not open to public and It was simple and buggy (not really that much but still). It was based on my test script (similar to PNGslim but used only pngout and deflopt resulting in files being larger that one produced by his script).

At the beginning of this month I said to myself "how about doing something similar to PNGslim" but when I viewed his cmd file I thought "I'm sick of this cmd based script that isn't really programming language". Then I got an idea to write this in pure VBScript using few cmd commands (like dir or md) because of lazyness. =P

So I did the prototype and then I mainly converted my testkzip.cmd script there fixing few bugs. Guess what? It did optimize ZIP files pretty well (faster than cmd version), although it did support only one file inside zip and crashed on directories a lot =D

I think I got addicted to VBs again (previously I did Visual MinShare for DC Hub from NeoModus when I was 15 years old - almost 10 years ago). I can't stop adding things, everything that comes to my mind needs to be put there... be it at home, friend's house or even at work =)

Basically it's so automated that it even downloads and installs all necessary files directly from the internet (don't be scared when some window pop-ups while installing, it DOES NO HARM to your computer and it's necessary for things to run smooth and fast). It's at v0.97 by now (starting from v0.90) and can not only process ZIP files. It additionally accepts JAR, JPG, PNG and BMP files, all thanks to those people that worked hard to reduce every bit of uneccessary information, BIG THANKS!

You can download it at for free !
Don't forget to visit to get information what programs are used to gain such cool results!

PLEASE! Report all bugs here as commets, Thanks!