Sunday, December 12, 2010 hosting - not really 24h/d, 7d/w

UPDATE: They fixed their domain system so I changed this post text a bit to be less critical. Nevertheless it took them almost 70h to fix it (because nobody was on weekend)!

Why? Why I'm not satisfied with their hosting?

Everything started at 12:01pm friday. I was at work, there was a big problem with our entrance system so I was testing various things to get it again working like it should. Meantime I was talking with person sitting at information desk. I asked her to go to and check out my redirecting system I worked hard on. She opened it, first time it worked but when site got refreshed IT WENT DOWN! "What the hell" I said. There is something wrong with it. I really got mad at that time, I asked like 20 people there to check it out but it suddenly stopped working!!! So what I did? Because of not enough time at work I couldn't send them notice about this problem till 4:30pm. Something happened after that? Nope! They claim to monitor sites 24h/7day but that's not really true. They work from 8am-4pm on weekdays only!!! Nobody to help you past those hours or during weekends.

This hosting is NOT FREE! I paid for it and what did I get? After a week broken access to my website (FTP, mysql, mails work), broken admin panel to change domain/server settings (there is a workaround for it if you remember your domain ID)! All systems are automated that what it looks like, NOBODY really monitors anything!

I even put an AD on 1 Cent Mail and because of it I'm losing my valuable visitors!

I moved my site to free webhosting,, for Sunday. Everything worked fine then. Now It's back at exone and I hope this problem never appears again or I'm really be mad then.

NO STATISTICS OR STORED URLS WERE LOST OR ALTERED! Everything is working as it was before 12:01pm Friday.

Wednesday, December 8, 2010

Target FOUR urls by country and pass it as ONE url

At least I finished my last script. I don't mean that I won't be writing scripts anymore. I think I need a little break for now. I was working on them four days stright, at work, at home. Nevermind.

What this one does? It let's You pick one or more of 200+ countries to target up to 4 URLs as one MASKed URL, for example, named . That's just 10 characters excluding http tag and You can hide there any urls You like! Well I think You need to check it out urself anyway. It's FREE!

Tuesday, December 7, 2010

Free simple text counter?

Want to have a simple/text counter like this one you just saw? Go to and create one for Your sites.

Monday, December 6, 2010

Convert LOOOOONG urls into short ones

Shorter URL free of charge? Easy to remember? Special functions: Random redirect and Tier targetting? Is it even possible? YES! READ ON!

Yesterday I started working on my own PHP script that let's people "cut" long URLs into short one. For example any URL can be reduced to First version took only 30 min to write and I did it at work on Sunday lol. Anyway till today I was writing 2 additional functionalities. The first one was random URL redirecting that lets visitor pick 3 URLs that short URL will randomly redirect to. Each of them has 33,(3)% chance to be picked and the URL looks like this where r stands for random. Second is Tier targetting. I think it's the hottest one because it lets you redirect people from specified countries to your website and the referring URL remains the same it was ( DOES NOT count)! Tiers are based on 1centmail and world-wide cash PTP tiers. The URL always looks like this: where t stands for tiers or targetting (as You like ;).

Service is totally free of charge. Of course I accept donations and as a reward I can enable number at the beginning of URL or even a full name like or Of course You need to mail me after you donate - more info You will find after submitting URL to generate short one. There are NO ads involved in redirecting system and I hope there never will be one. Only ads I would want to show are banners shown on main URL submitting page. You can of course donate and get a banner on main site as well for a specified time (needs to be talked over by mail).

In the future i plan to ADD Statistics, Registerring, Logging in, editing URLs, targetting by countries someday. Don't know if that means SOON or not ;P

I urge You to try it. I will not use any information You submit against You or to profit from. I really don't care about what You submit but I DO ACCEPT ABUSE REPORTS incase someone does very bad thing ;) (This link was accessed: times)

Thursday, October 28, 2010

Syobon Action 2 fixed - English, Polish, Japanese versions

Fixed Sound! Fixed 3-1 Level! TRANSLATED!!!

Also known as Cat Mario, is an evil clone of Mario game. The game has EXTREME HARD difficulty. Remember, DO NOT break Your keyboard ;)

This time I would like to introduce a new version of Syobon Action 2 translation. I changed few things in English language version, added Polish and original Japanese version (both, bugged and fixed). There is still a small bug I would like to fix - 1-3 level has blank 1st hint, I'm not yet sure where the problem lies.
This translation version is flagged as v1.01.

Download it here
* All files were checked with Microsoft Security Essentials.
** Windows may not extract this ZIP archive. In such case please use 7-zip, WinRAR, Total Commander or others - the archive is fine (they report no errors) but it's been heavily optimized with various tools and windows built-in extractor might be somewhat incompatible with such ZIPs.

Syobon Action 2 EN.exe - This file is english language version.
Syonon Action 2 PL.exe - Ten plik jest w polskiej wersji językowej.
Syobon Action 2.exe - このファイルは日本語のバージョンです。
Syobon Action 2 (original japanese and bugged).exe - このファイルは日本語のバージョンです。 バグは居るよ。

Please note, according to readme I translated, You must be at least 12 years old(!) to play this game.

How to play Syobon?

Project was inspired by sound and 3-1 level bug, videos showing modified graphic interface on lvl 3-1 and 15 videos showing somebody playing Syobon but not completing it. One of them mentioning that he doesn't understand anything what this game says.

Monday, October 25, 2010

Internet Radio in surround.

RECOMMENDED FOR 5.1 or 7.1 speakers set!

First you would need to have 5.1 or 7.1 speakers. I recommend old good Creative Gigaworks S750 that are still working for me ;)

Next step is to download and install Media Player Classic with AC3 filter OR Winamp with AndrewLabs ATSurround Processor (it's payware but there is older, free version on the internet).

Now you navigate to Shoutcast and find yourself an internet radiostation You want to listen to.

-> If you have winamp installed then it will open itself automatically when you click listen button. After it opens, click right mouse button on its interface and select properties, navigate to Plugins--Output and select AndrewLabs ATSurround Processor. Close settings and press stop and play buttons.

-> If you have MPC Home Cinema and AC3filter installed (better choice in my opionion). Copy radio url from winamp or by using notepad on .pls file downloaded from shoutcast. You may want to try playing pls file in MPC, if it doesn't fail.
In MPC, go to View->Options menu. Now select Internal Filters---Audio Switcher and UNCHECK Enable built-in audio switcher filter. Restart playing sound.

You shuold notice AC3filter icon appearing in taskbar. Double click it. In Main tab there are Output format settings. Select 3/2+SW 5.1 channels from list. Restart playing in MPC.

Vua la! You have now surround sound from your stereo MP3 or internet radio (MAY not work with AACp radio streams - some additional steps may be required).

MPC+AC3filter is better choice in my opinion, because it lets you manually edit Mixing matrix, Bass redirection (I'm using 90 cutoff frequency that works GREAT on my S750). You can as well redirect sound to your Digital output. Shoutcast through digital surround speakers! Hell yeah!

If you have any questions about setting it up, please comment them under this post.


Friday, October 22, 2010

English Syobon Action 2 with sound and 3-1 level (9th)

English Syobon Action 2 with sound
Free game download:

I'm currently working on version 1.01 of translation that will fix credits, additional file requirement (sorry for that) and polish the translation. Also I will include fixed japanese version for people that want to play it in original language with fixed sound and 9th level. STAY TUNED!.

Yes! Let another persion die OVER9000 times, and in english this time! Syobon Action 2 compiled by me, Mr_KrzYch00. This built is english translated (still may have a lot of translation bugs, I'm still not that pro with Japanese), has sound fix and 9th (3-1) level graphic fix.

The gameplay is exactly the same. You just keep dying a lot ;D
I did my best to translate as much as I can. I used google translate,, yahoo's Babelfish and NJStar Japanese Word Pad to translate or kana/kata-nize kanji for me to understand meaning of sentence. I translated main.cpp comments too. I fixed sound by replacing WAV extension with MP3 extension in sourcecode. I fixed graphic in 9th (3-1) level by replacing 5th graphic set with standard 1st one (as in 1st level), because 5th one is not yet added. I also added a small mod here - special music in 9th (3-1) level!


Tuesday, October 19, 2010

Syobon Action 2 English with sound and 3-1 (9th) level fix

Everyone played Mario at least once, right? Wondering what Syobon Action is? It's a cat-mario game that really can piss anybody off. The 1st version is not that hard to pass, a lot of people did it already... (as shown on youtube)

Yesterday I found somebody playing Syobon Action... 2... YES!. LOL 2nd version that is really HARD. The link to the movie on youtube: You may notice him getting pissed a lot ;D

Anyway, I downloaded the game, run it and was like WOW no sound... that sucks. So I viewed Syobon Action 2.exe in Total Commander's lister and found out that there are... wavs... Yes, every sound resource file has WAV instead of mp3 there. So simply how to make audio working is to change every file in BGM and SE directories to wav or just download my modified EXE below - reads MP3 files, is in 60% translated to English and has level 3-1 (9th) fix! (virus-free: scanned with Microsoft Security Essentials).

This is only EXE file. To run the game you need to download original game from the link posted on Youtube: Syobon Action 2 (Part 1) -With Commentary- then replace extracted exe with the one posted in ZIP file above.

Monday, October 18, 2010

Faster Firefox? More portable? Pigfoot builds.

For some time now (maybe a year or less) I'm using Pigfoot Firefox builds. I believe that they are a lot faster than official builds. I did notice Speed Increase on my Asus Eee 901 netbook. I didn't run any special tests but I'm sure it loads and responds faster causing less lag on low-end devices. It's recommended for old computers (he prepares P1 and P2 builds too) as well as for any new computer that You want to view webpages even faster. I also recommend his Portable Firefox versions that can be easly run from pendrive, SD card etc.

Here's a bit optimised portable edition of Pigfoot's Firefox:

You may try to request anything by commenting on his builds. He may actually implement it in next build.

Original PIGfoot's blog

Extreme blog

I have a workmate that writes a blog. He sometimes does use vulgar language. It has its meaning though. He does it to describe life. Yes, you heard it right! He just tries to answer the very intriguing question 'what's life about?' by describing his very own experience on various situations. Sometimes he tries to understand why people around him are so f--- hating (he calls them haters or 'hejters' - as it's written in Polish) him. Sometimes He gives a lot of very useful advices that You may follow. Remember, do it with a distance, because nobody said things will get better, sometimes You may loose more and gain a little or nothing. ;)

Of course he doesn't give a damn about what people are saying. He said that 'when people are going to insult me on GG I'm just ignoring them...', he also said that there are people that really like his blog. He sometimes looks at life from very negative perspective. Tells various stories about his friends that were very unlucky and something happened to them.

Anyway feel free to visit his blog and comment on it.

http://****** (censored because he was QQing about it ;)
as you can see there is still a part of communism left in Poland, censorship ftw ;D

*Warning: blog is in Polish language. You may want to use some translation tool to view it in your native language but You may have hard time understanding it, because He sometimes uses words that may be left untranslated.

**Warning: I'm not sure if he allows english comments. You have been warned!

Unfortunatelly due to a lot of QQing of the blog's author I censored the link. Maybe someday he will grow up enough to let me repost it with the address. Sorry, I must respect this choice of his.

Sunday, October 17, 2010

GaduAir speeds

Today I tested GaduAir speeds at my school. The location is Slowackiego, Poznan. The results were: 4,75mbps download and 1,25mbps upload speed without external antenna attached (who would take it to school ;P). Everyone probably knows that GaduAir uses Polkomtel (Plus) to sell their services (they pay Plus for lending them their mobile phone infrastructure). Such providers are also knows as virtual providers. They may have good offers but sometimes they may be less prioritized than the provider the mobile phone antennas belong to. I didn't notice much problems with GaduAir though. Mentioned before speeds are satisfiying, that said, they are for sure better than Play.

Currently the best Internet offers for this provider in Poland are:
- 300MB for 11PLN (~$3,80)
- 2GB for 33PLN (~$11,40)
* to be used in 30 days after purchasing

It's a bit more expensive but speeds are far better (especially when used with external antenna) and accessiblity to the network is wider.

If you live in Poland or you have someone that You would like to give a small gift to, You may want to buy it.

Poznan International Fair - Real estate fair

Today is the last day of fair. It's all about selling houses, plats and property. The cost for a ticket is 10PLN and just for such a low price You can negotiate good deals to buy a property and build your own house in Poznan or get ready to live in, house. The fair will end at 5pm.

For people that are subscribed on polish PTR sites should already be familiar with this site because there is a mail to click for 0.02PLN/day. The example is

Today is also the last day to get No-IP discount by using coupon code every member of the service got mail with.

Friday, October 15, 2010

No-IP Special just offered their customers special gift of lowered by 80% (Eighty Percent!) price for No-IP Enhanced (and Plus) service. That means You pay only $1.95 for 1 year instead of $9.95. That's nice!

I decided to buy and test it and I'm happy to announce that my blog address is now also (shortest possible redirect ;) for a year.

This offer lasts only 2 days and 13 hours more from the time of this post. In order to pay less You need to enter special coupon code on checkout. All Members of No-IP got e-mail with their coupon code.

Join NOW!

Wednesday, October 6, 2010

Unlocking Ralink's SoftAP additional functionality

Unblock Ralink's SoftAP additional functionality!
Tested on Asus Eee 901.


Why Ralink made those options hidden? Maybe original Chinese version had them visible...? Who knows...

- Original Ralink Wireless Drivers (no Asus ones! Recomended March 2010 ones)
- SoftAP (ApUI.exe) v3.0.6.0 [03-03-2010] !WON'T WORK ON v4 or above!
- Total Commander
- PROC 2.0 plugin for total commander

To unblock FULLY, I repeat, FULLY functional (may vary on some Ralink cards) hidden options You would need to download and install Total Commander from

Now download PROC 2.0 from the link above and install it by opening ZIP file in Total Commander (for example when downloaded to D:, navigate there with TC and press enter on this file), it will ask You to install plugin. Press OK few times and select '\ Network Neighborhood' from Total Commander's drive combobox:

Select Task Manager and press enter or double mouse click on ApUI.exe (make sure it's running, visible and Config tab is selected!). Now in the window you opened navigate to Ralink Wireless Utility->Config->11N mode. On the right side of selected item check Visible:

Now there should be 11N mode in bottom left corner of Ralink Wireless Utility window:


and check it.
Vua la!

If You are not satisfied with the results you can browse through all list in Ralink Wireless Utility->Config tree and do enabling&visibling everything there! Have fun selecting 14 channel outside Japan (that actually works but You need to have WiFi adapter that supports it like Atheros in UL20a Asus Notebook). ;)

Please note that Channel 14 IS ONLY ALLOWED in Japan in 802.11b standard. It may interfere with your/someones wireless devices in other countries!

Changes will be lost when you close Wireless Utility window!

Sunday, September 19, 2010

KrzYoptimizer development !halted!

KrzYoptimizer development is now halted. Last release is 1.23-pre. I have lost interest in it and have other things in real live to take care of. I will probably start deving it again after some time.

Feel free to report any bugs (I may find some time to fix them).

Thank You for Your understanding.


Thursday, August 26, 2010

KrzYoptimizer v1.22

Click on the image to download [Changelog]

Pre-release of version 1.23 avaliable here (added GNUzip/gz/Unix timestamp support)

Friday, August 13, 2010

KrzYoptimizer v1.21

Optimizes ZIP, GZ, JAR, JPG and PNG files.

This version has quite a lot of changes that You can read by clicking here.

Download it here.

WARNING! Before updating to this version, make sure that all comboBoxes are NOT set to anything above 1024. Otherwise part of your settings may NOT be read.

Wednesday, August 11, 2010

KrzYoptimizer and random tries

Regarding Random Tries used in KZIP and PNGOUT. As the name implies it's random. IT IS TOTALLY RANDOM. Even when you run 2000 tries you can still get better result when you rerun optimizer and run another 2000 tries. Sometimes you may ahieve best results in 10 first tries.

Next version is ready but I'm not yet uploading it (WHAT?! NO PRE RELEASE THIS TIME? THAT'S RIGHT!). For the purpouse this topic describes there were 2 buttons added. They will let you control Random Tries on the run. You can either Skip them or Restart if You feel that it may reduce file even further, even when 1900 of 2000 didn't succed - it will then start again from 1 and go to 2000. Here is the picture how it looks like:

Monday, August 9, 2010

KrzYoptimizer v1.20 !!!!!!!!!!!!!

You want to REDUCE SIZE of your PNG or JPG files to reduce traffic on your website? Maybe you just want your banners or other images to open faster on slow connections?
This program is for you!

Right on time, two days after last release ;)
[download at the bottom of this post]
Today's download is sponsored by: The SoundBringers

This version improves ZIPslim algorithm and adds ability to Force Extreme strategy only for PNGslim and new improved ZIPslim algorithm. Pause functionality was improved by now ALSO pausing process it's running in background for optimisation purpouses. This allows You to reduce program's CPU usage to 0% RIGHT AFTER clicking Pause button (no need to wait for it to finish anymore). Last thing added is 'Skip Rnd' button. I planned to add it long time ago but there were more improtand things on my mind then ;P. It does skip Random Huffman Table inits for current file. You can press it anytime ZIPslim or PNGslim module is running but it will only Skip Random tries so You need to wait for it to go to that point. Very good incase you set a lot of Random Tries but didn't expect it to be THAT slow ;)

- Optimizes ZIP files*
- Optimizes JAR files*
- Optimizes GZ files*
- Optimizes JPG files*
- Optimizes PNG files*
- Converts ZIP to GZ**
- Only 70KB on HDD
- Takes 1.3MB Ram
- Written in VB6
- Does NOT use OCX libs!
* WinAPI Progress Bar
* WinAPI List View
* WinAPI Status Bar
- Converts Extended PK headers to Local PK headers**
- Converts Local PK headers to Extended PK headers**
- ... and more


* This program requires other software to run optimization. They belong to various authors and may be subject to other licensing agreement. For more information please check their websites (can be found in About window).
** Converting and archive content display is done by program itself - doesn't require other software.

Enyway, enjoy:



Known bugs:
- I noticed today that deleting from list doesn't work past last file position optimised when list was cleared and other file was loaded. I will fix it in next release. Most likely i forgot to ZERO some variable. Just restart program after optimization for now ;)

Saturday, August 7, 2010

KrzYoptimizer v1.19

Version 1.19 up to download, even though I was on a party yesterday ;P

This time a lot of changes were made. I think that's something all of You want to hear. First thing to note is that there should me no more problems when program didn't look properly (has Classic windows look) on systems with enabled Windows Themes. Second is flashing window/taskbar button when some messagebox comes up and window is not focused. Third, Progressbar on taskbar button! Actually two of them that can be customized in Settings' Advanced section [Windows 7 only].

There are also minor changes/fixes:
- Speed up and fixes to update module
- Speed up, memory reduce and verbose to download module
- Speed up and file size reductions [Other]

You can download it by clicking this direct link.

You can read changelog by clicking here.

Thursday, August 5, 2010

KrzYoptimizer v1.18

Version 1.18 out. Not much changes this time. There is something worth mentioning though, Update option was enabled (AT LAST!). It updates Main program with latest release available. It can run automatically or by clicking button in Options. For more info check changelog.



Tuesday, August 3, 2010

KrzYoptimizer v1.17

Fast update to v1.17 that fixes broken pause and few other things. I felt like releasing it the same day as v1.16 because I found a lot of things that MUST be fixed afap. For more info check changelog.

This, new version, could be called a hotfix. Said so, It also exchances few things in options to look nicer and finally to get rid of msctls.ocx. I managed to do a small workaround, because in order to do sliders/controlTabs things by api calls I would need to redirect build in VB6 Subclassing to my own custom one using WindowProc procedure and 'Case'-ing all messages. That's actually a good thing because then all Forms can be done by dynamically CreatingWindows with API calls and that may results in full WinAPI VB6 application. Of course You can't get rid of VB6.dll (or maybe there is a trick to it but I didn't really read about it) but It may help later when I will try to convert the code to C or Cpp (I'm not quite sure about doing it yet). Sometimes custom subclassic may get kind of buggy and crashy so I have it as last thing listed.

So what's in this version anyway:
- Fixed overflow on big PNGfiles [IMPORTANT!]
- Fixed infnite loops on certain ZIP files with Extra Field [IMPORTANT!]
- Reverted array back to long to fix errors in display that may have also produced incorrect results [IMPORTANT!]
- Changed/Moved controls a bit away from window edges to fix Windows Themes [MEDIUM]
- Replaced a few controls with alternatives to get rid of msctls.ocx
- and more...



Sunday, August 1, 2010

KrzYoptimizer v1.15

[Update: 21:53 GMT+1]

Prerelease version of 1.16 is available for download here.
- Fixes display when Windows Theme is enabled
- Fixes infnite loops on certain ZIP files when extra field was used (filename was impreperly read)

This version adds and improves few things. Mainly two things are worth noting:
- Faster deleting items in list
- Adding all optimizable files from directory

First one was already mentioned in post below, in prerelease version. Second allows you to open multiple ZIP/JAR/GZ files all at once and fixes limit for adding multiple Image files (The limit is 256 characters, it counted fullpath characters and all files you want to add plus one special null character to split them later), sometimes it allowed you to add only 2 files when the full path had a lot of directories and filenames were long. To see more changes click changelog.



Friday, July 30, 2010

KrzYoptimizer v1.15-pre #build 15

[Update 1.08.2010, 1:37AM GMT+1]
Adding files in selected directory is now possible. Fixed uncompressed file size detection while reading GZ archive.

This time more time passed ;P
I was busy with my rl work - was developing some program to help myself get some phone lines comparison (yea mainly I'm in charge of telephone lines and network connections at work. There are also computers used to sell tickets, but it's new thing that I got almost year ago.)
Anyway let's follow topic, This version mainly speed up Array reogranising when deleting items from list. What does that mean to You anyway? Let's put it simple. In older versions (1.12-) deleting items from list was quite fast, but following version 1.13 it slowed down. You may have noticed me mentioning in previous posts that 2x 2 dimensional arrays were added to prevent work corruption on Item List corruption (like that's going to happen but anyway) and speed up program a bit. You won't probably notice that it's faster bacause nowadays computers are fast enough to GET_ITEM from list almost as fast as from 2-dimensional array. Said so, It's still better to use a variable that belongs to program itself than trusting some other window (yea, listview is a window, button is also a window, every control in windows is a window).This version includes more logic into deleting items from array. Previously I was lazy to program it so it worked like this: You deleted items from list, it wiped data from corresponding array, (it checked if array number is empty and moved data one array up)x repeat number of items deleted. WOW! That's like doing uneccessary work, especially when most users select items by having SHIFT key pressed, not like everyone does CTRL or SHIFT+CTRL selection. New algorithm is based on simple selection range detector. While it deletes items from list it counts how many items were deleted consequently (You select items: 5-10, then it starts counting items from 10th to 5th) and runs function that reorganises array by moving it by number of items selected, up, for every selection range. This picture may show it better:

If You press delete now, programs will start checking all filles if they are selected (from the end of list to the beginning) as it did in previous versions. Note that there are around 15000 items but it works quite fast ;). When it goes up to 14th item it starts counting, so there goes 1 for 14th, 2 for 13th and then program notices 12th is not selected so it lunches array reorganising that moves data by 2 places up again from the end to the beginning of list, 15000=>14998 and so on. Next it continues searching for next selections. There is 11th, 10th and 9th item selected so it counts to 3 and runs array reorganising again. It may be kind of waste to run it everytime on selection range but it's still better than running it on each item, especially that You normally don't select items like on this screenshot. Better would be to (by looking at the example): detect that 14th number is last selected item (since it scans list from end to the beginning anyway) and then just move item 6 to 0, 8 to 1, 12 to 2 and detected the space between 2 and 15 and run array rearranging or something similar. In other words do some small reorganising in small area first then just move everything down by total number of selections. I'll most likely program it later ;)

That's it for this version:



Monday, July 26, 2010

KrzYoptimizer v1.14 is out to download

What this version is up to? As stated in post about v1.14-pre, I'm trying to convert a lot of things to direct WinAPI calls. That means creating windows/controls directly by calling Windows' DLL files. This saves some resources and makes program run faster because it will no longer need to read OCX (ActiveX) files that resides in memory and steal your precious system resources.

Controls that are already converted to WinAPI:
- Listview
- Statusbar
- Two progressbars

What needs to be done in order to release msctls:
- convert Options' Tabs
- convert Options' sliders

These two things mentioned will let the application unload (NOT load) msctls OCX and work a bit faster using less memory. I hope to ahieve it in next version ;)



Sunday, July 25, 2010

KrzYoptimizer v1.14-pre

Update [15:45pm GMT+1]
- VB status bar converted to msctls_statusbar32. Wow! That even decreased file a bit. Show that VB control are unoptimized...

Update [12:10pm GMT+1]:
- I added Clear list and Delete selected items file submenus (respectivelly CTRL+L and SHIFT+DEL shortcuts). First one clears list. 2nd one deletes selected files simillary to previous DEL on listview. PLEASE NOTE! This is beta stage of deleteting items in list because there is database array that needs to be erased acordingly so PROBLEMS may appear (as far as i Debugged it worked fine). PLEASE TEST IT!

Testers needed! This version has migrated Visual Basic Listview to API call (user32) SysListView32. This features column rearranging, File database multiarray (previously listview was used as a database - malicious users could corrupt data in listview then making program work incorrectly).

There is a con to it for now: you can't delete items from Listview by pressing delete button (I most likely will work it out later ;)


Saturday, July 24, 2010

KrzYoptimizer v1.13.2 finally

This time I'm trying to use API calls instead of built in VB componennts/objects. I managed to get rid of comdlg32.ocx requirement. What does that mean? Less memory, more performance, faster. Sometimes I noticed lag when opening a file when api WAS NOT USED (version 1.12 and less)! This time the dialog opens incredibly fast and also no ocx resides in memory this time. The DLL is called only when needed.

Adding PNG/JPG files was fixed, PK->ExtPK was flagging directories a compressed with maximum compression (shouldn't be, fixed; actually nothing really bad happened, except some few programs reporting directories as errors but they were decompressed successfully) Last file had wrong name after ExtPK->PK conversion, FIXED. New ZIPtoGZ algorithm used in Menu Convert, now also used after optimization. Removed requirement for MSSTDFMT.DLL (accidentally added in v1.12, sry about that).


Open Dialog api call I'm using:

Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

Public Function BrowseFile$(BF_FILTER$, Optional BF_MULTI& = 0)

Dim iStrip%
Dim lR&

ofn.lStructSize = Len(ofn)
ofn.hwndOwner = frmZipSlim.hwnd
ofn.hInstance = App.hInstance
ofn.lpstrFilter = BF_FILTER + vbNullChar
ofn.nFilterIndex = 1
ofn.lpstrFile = String$(257, 0)
ofn.nMaxFile = Len(ofn.lpstrFile) - 1
ofn.lpstrFileTitle = ofn.lpstrFile
ofn.nMaxFileTitle = ofn.nMaxFile
ofn.lpstrInitialDir = App.Path
End If
ofn.lpstrTitle = "Select File"
ofn.flags = &H80000 Or (&H200 * BF_MULTI)
lR = GetOpenFileName(ofn)
If lR <> 0 Then
iStrip = InStr(1, ofn.lpstrFile, vbNullChar + vbNullChar) - 1
If iStrip = 0 Then iStrip = ofn.nMaxFile
BrowseFile = Left(ofn.lpstrFile, iStrip)
End If
End Function

Wednesday, July 21, 2010

KrzYoptimizer v1.12.2

And yeah! Another 48h passed (Not rly 48h, I think that's 36-40h ;P) and there is another version up! This time some cool Conversions were added support for Extended local headers (!!!).

What does that mean? You can now easly convert first file found in ZIP file to GZ. So if for example ZIP archive contains 10 files and they are in myprograms\ directory and files are 1.exe ... 10.exe then first file found in ZIP data (not always first one when sorted by name), in this example it can be myprograms\1.exe will be converted to GZ as 1.exe - directories are excluded because they shouldn't exist in GZ anyway.
Extended local headers are sometimes used in JAR files (maybe in ZIP too). By default ZIP programs DON'T use them to compress data, because they increase file size by number of files*16 bytes and they store CRC, file size, compressed file size that can be stored as well in File local headers. This time you can easly convert those file by picking ExtPK->PK and vice versa - if you really want your file to contain Extended local headers you can pick PK->ExtPK options.

Quick fix to prevent Settings window from unloading from memory in revision 2.


Monday, July 19, 2010

KrzYoptimizer v1.11 is out

You want to REDUCE SIZE of your PNG or JPG files to reduce traffic on your website? Maybe you just want your banners or other images to open faster on slow connections?
This program is for you!

There we go. Another version in no time. Fixes few bugs (one reported by rokko): Cancel in options was crashing program, missing " at the end parsed file to shell command and zipmix not optymizing certain files. More PNGslim options were added along with a small test option that sometimes could provide better results than original PNGslim batch when selected:


ShellandWait VB6 used in KrzYoptimizer

Shell and wait used in KrzYoptimizer looks like this (v1.11):

Private Declare Function OpenProcess Lib "Kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessID As Long) As Long
Private Declare Function GetExitCodeProcess Lib "Kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function CloseHandle Lib "Kernel32" (ByVal hObject As Long) As Long

Public Function shellAndWait(ByVal PROGRAM_NAME As String, Optional ByVal WINDOW_STYLE As VbAppWinStyle = vbNormalFocus, Optional ByVal MAX_WAIT_SECONDS As Long = 0, Optional ByVal DO_I_CHECK As Byte = 0) As Integer


Const STILL_ACTIVE As Long = &H103

' Start the program.
On Error GoTo ShellError
On Error GoTo 0


' Wait for the program to finish.
' Get the process handle.


ElseIf DO_I_CHECK = 1 Then
End If
Exit Function

stbStatus.Panels(1).text = "ERROR: " + PROGRAM_NAME + " won't run!"
End Function

Private Sub Form_QueryUnload(cancel As Integer, unloadmode As Integer)

Dim cool As Integer
Do While TerminateProcess(PROCESS_HANDLE, 0&) <> 0
cool = cool + 1
stbStatus.Panels(1).text = "Terminating process... " + CStr(cool)
End If
End Sub

Please note that it's only a part of program code.
There is still MAX_WAIT_SECONDS variable in shellandwait function. It was used to prevent program from getting stuck but it seems like those programs don't get stuck. At least as far as i tested.

This shell and wait is based on GetExitCodeProcess to check if program is still running and just incase allow program to Terminate process if user closes program when BIIIG file is being recompressed. When user interacts with GUI too much (like menu or listview scrolling) and this function is in DO_I_CHECK mode (1) - means that WE NEED error code [variable or if in other sub] - then program will be restarted as long as proper error code is returned.

Sunday, July 18, 2010

KrzYoptimizer v1.10 finally out

You want to REDUCE SIZE of your PNG or JPG files to reduce traffic on your website? Maybe you just want your banners or other images to open faster on slow connections?
This program is for you!

All in one Optimizer for PNG, JPG, JAR, ZIP and GZ files.

Another version of KrzYoptimizer is out! This time a lot of changes were made that should make the program easier to use and have better functionality. Changelog:
- Totally rewritten working on files:
* Now only one file from zip is extracted at a time
* ZIP archive is optimized file per file
* Program can read compressed file size from loaded archive
- Added new icon
- Added Deflate file subitem
- Added ability to process multiple ZIP/JAR/GZ files
- Added ability to mix ZIPfiles with standalone PNG/JPG images
- Added: DELETE key on selected items in list deletes them from list
(good incase you don't want to optimize 0 byte files in zip archive - waste of time)
- Added DiffB (Difference bytes) that shows how many bytes were saved per file
- Added terminating of running Shell process to avoid errors on deleting temporary files
- Removed Save, Save As and Close menu items (they are no longer necessary because
program now bases on listview items and updates files dynamically)
- Deleted Debug Code (will be back later, was unfinished anyway)
- Changed Open ZIP/JAR/GZ file to Add ZIP/JAR/GZ file
- Changed quit message
- Code optimization (filesize greatly reduced)

So now program works mainly on Listview... Almost all data it needs to properly process files is there. In previous versions it was only to show how much of data was processed. Now it's really program's database, since it processes file by file as they would be loaded separatelly. Even every file in ZIP is done separatelly.
What does that mean? You can easly delete files you don't want to process in zipfile at runtime (as long as the file wasn't or is not being optimized) and Deflate Archive is reducing its size everytime a file inside is optimized. Program doesn't require [extraced_archive_size]b of disk space anymore. It extracts one file at a time then deletes it from temp directory when optimization ends.

As there is new feature to delete not yet processed files anytime, 'DELETE' key and multiselect functionality were added to ListView.

This version fixes bug when not all of temporary files were deleted when program was closing. This time it forces all running shell processes to terminate before getting rid of all work data.

You can now load multiple ZIP files and even mix them with JPG/PNG files being outside of archive as long as it's before You press START button.

That's all the features. Program does not yet support resuming function as ZIPslim does (even though a lot of time passed and versions were released already), but it's easy to skip already processed files (as long as You remember which one was last processed) by simply, selecting them on list and then pressing 'DELETE' key (maybe I will add some logfile in next version to help You to find out which file it stopped processing at).

KrzYoptimizer Version 1.10


Thursday, July 15, 2010

KrzYoptimizer v1.09 and v1.10-pre !!!

You want to REDUCE SIZE of your PNG or JPG files to reduce traffic on your website? Maybe you just want your banners or other images to open faster on slow connections?
This program is for you!

All in one Optimizer for PNG, JPG, JAR, ZIP and GZ files.

This version has been up for 2 days but I didn't have enough time to post it here (sorry busy with rl)... Anyway version 1.09 changelog:

- Fixed, blocked Listview editing that could corrupt results
- Added forcing of first block search range (some files don't want to reduce size at
- Added some additional checks to loading config file
- Changed Open PNG/JPG files... to Add PNG/JPG files that dynamically adds new files
to already populated list view...
- Clearing list question when adding files to a list that contains already optimized files

- required space to run optimization reduced from [extracted_archive_size] to [extracted_file_to_optimize_size]
- archive is updated everytime file in list optimization is done
- 'd' key on selected item in list can easly remove file (incase some of them are already optimized and you don't want to waste time on them)
- smaller exe (less code)
- more

Version 1.10-pre changelog:
- Totally rewritten working on files:
* Now only one file from zip is extracted at a time
* ZIP archive is optymized file per file
* Program can read compressed file size from loaded archive
- Added: DELETE key on selected list item deletes file from list
(good incase you don't want to optimize 0 byte files in zip archive - waste of time)
- Added DiffB (Difference bytes) that shows how many bytes were saved per file
- Added terminating of running Shell process to avoid errors on deleting temporary files
- Changed quit message

Version 1.09
Version 1.10-pre (alpha)


Sunday, July 11, 2010

Youtube Surfer ScreenSaver v1.03

Always wanted to have your own Youtube Surfer ScreenSaver?
Try it, it's FREE!

YoutubeSurfer is a ScreenSaver that opens Youtube movie from the address you type in settings. It runs Internet Explorer object to load Youtube webpages.

After successfully playing a movie for the time of 10-60 seconds (whatever you set in settings) it changes video to one of 10 first related videos and so on. It automatically switches to full screen (as long as you type proper X and Y cordinates in settings).

It can be downloaded directly from here or by going to my website:

Just run it and it will install itself into your system directory and open ScreenSaver Personalisation for you to select it from list.

As you can see there is setting for changing video, youtube movie address and to set fullscreen mode automatically by double-clicking video. Everything should be easy to understand beside last option... Well, just observe the dot in square. It shows where the Screen Saver will try to doubleclick to change to full screen. PLEASE SET WITH CARE because you may break something if you set improper cordinates.

Saturday, July 10, 2010

KrzYoptimizer v1.08 and v1.09-pre !!!

You want to REDUCE SIZE of your PNG or JPG files to reduce traffic on your website? Maybe you just want your banners or other images to open faster on slow connections?
This program is for you!

All in one Optimizer for PNG, JPG, JAR, ZIP and GZ files.

One day has passed and another version is out. This time a lot of things were changed/added/fixed. Mainly GUI is a bit different now as you can see on the picture below:

Few crash errors were fixed. You can download and use it and write feedback here as a comment. This will help me a lot. List of changes till now: Changelog. All files can downloaded here.

If you don't want to navigate away from this blog, you can directly download:
- KrzYoptimizer v1.08 as ZIP
- KrzYoptimizer v1.09-pre as EXE

Friday, July 9, 2010

KrzYoptimize v1.07

All programs can be found here

This time it took a while... whew... Not really that much of work needed to be done to take this much of time, but I got somewhat busy with real life (no time to work on it at work - other project at work was priority, even though nobody asked me to do, I did it for myself for easier telephon numbers listing). There were also other projects running there like String2chr or NEW (not yet up) String to 6BH, this one is still in beta stage and works only on text-boxes, not real files although it would be capable to (not yet converting backwards but I already worked out all mathematic here).

Now let's get back to the thing I should be writing about.

What's in this version? Check the pricture, you can notice new List view that looks muuuuuuch nicer than old one. Anyway, list of changes:

- Changed how zipslim works:
* 7-zip now recompresses all files in normal method
* each file is now recompressed with 7-zip (mfb=258, pass=32) before K-zip
- Added ListView Box instead of plain ListBox:
* File - file path+name
* Size - uncompressed or unoptimized/original file size (incase of JPG/PNGslim)
* Compressed - compressed or optimized file size
* Ratio - Compression Ratio (compressed size/original size * 100%)
* S - State: D, P (D - Done, P - Processing
- Added ability to download/update program's CRC file
- Added CRC textboxes and CRC button - click to check if program CRC matches
- Added resize ability
- change to Total progress:
* don't update progress and label when restarting Random Huffman, just fix it to old value
(less computations and not going ahead of operation progress)
- Code organising

All programs can be found here

Monday, July 5, 2010

String2chr and KrzYopti v1.06

I released new tool. It's called String2chr, it converts any text in textbox into chr(number)+chr(number)+<...>+chr(number)... If you write Visual Basic Scripts or program in Visual Basic you may find this tool useful... It's sometimes good to hide text inside vbscript or EXE. YES, You are right, string made by chr()'s is not visible if somebody views your VBscript or EXE! Took me 30 min to script, it allows You to resize or even maximize window by resizing all contols at the same time!

All programs available on

Also KrzYopti v1.06 is out:
v1.06 5-June-2010
- Added 2nd progress bar [Total work] - Total progress per file
- Fixed pngslim crashing program in zip mode (forgot to add txt->variables, sry
about that - too much code =D)
- Added more tooltips
- Code organising

v1.05 rev2 4-June-2010
- Quick fix for jar files (crash on Save)
- Fix for PAUSING (didn't work due to Assume no Aliasing turned on)

v1.05 4-June-2010
- Changed how program checks if file exists - fixes bug when path started with disk drive letter
[again proves that VB6 is stupid]
- Added debug mode (not fully complete yet but working ;)
- Fixed not working pause button
- Fixed bug when PNG is unsupported format - didn't delete backup file
- Added ability to pause work in PNGslim
- Added option to use PNGslim while optimizing zip
- Added Program Executables for PNGslim (and included in Download & Install module)
- Code optimization in Download & Install module
- Fixed bug when file opened was on other drive than program (sorry about that VB6
is stupid sometimes)

Sunday, July 4, 2010

KrzYoptimizer v1.04 revision 2

Again there is another release of KrzYoptimizer. Since last post I added:
- Added PNGslim (alpha):
* works only on external files
* WRITES FILE TO DISK while optimizing
* doesn't fully interact with gui
- Menu
- Now you need to File->Open file
- After optimization you need to File->Save (As) file
- Added Preconfigured modes:
* Fast: Max Blocks Limit = 16, Random = 10
* Medium - 128 and 100
* Extreme - 2048 and 1000
* Custom - confgured in settings.

Some v1.03 screenshot, interface is the same in v1.04.2:

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!