Saturday, March 17, 2012

Giving away subdomains on 4MY.EU

4MY.EU domain is now registerred on me! YAY! I waited for it for 2 months and was very sceptical about actually getting it registerred under first-come, first-served rule :)

So for a limited time I will be giving away subdomains on 4MY.EU (DNS server side, up to 24h waiting time after adding for other DNS servers to update information) that can be assigned to IP (multiple subdomains to single IP possible for more than 1 virtual hosting on one server) or to CNAME (other hostname/domain). Just contact me by commenting under this post or read text below:


Currently I'm not working on any new project just lazy working on old ones from time to time, for example: KrzFlopt or Web Cameras Spy Online! I also have link shortening service on 33E.EU domain and I'm giving out subdomains on 4MY.EU domain - just contact me < mr underscore dot krzych00 at gmail dot underscore com > (can be assigned to IP and used as virtual WWW host or to other hostname (CNAME)). I plan to open mailing service at 4MY.EU but I'm very lazy about it now. :P
* I reserve the right to refuse, block, cancel/delete subdomain that I find suspicious of illegal activity or any other troublesome reason.

KrzY
~~~~

Thursday, January 5, 2012

Web Cameras Spy Online v1.41

Web Cameras Spy Online v1.41 AJAXed


Well, not fully AJAXed yet but searches and browsing are. (NO jquery)

I implemented browsing and searches in the background (similar to google search) that updates cameras' list on the fly. I also applied 50 max cameras at a time limit to be more mobile phone friendly (otherwise Opera Mini lagged). Now You can browse them (as long as You have javascript ON) by simply pressing Next/Previous 50 button or by typing anything in the search Text Box.

I also did a bit of cleaning up in the code and changed webserver software in order to meet 'lotsa requests' load.

In the near future I plan to add AJAX for opening camera's URL in order to prevent the ugly whole site refreshing. When? When I will have feeling like doing so. ;)

For now enjoy what is done:

http://webcams.4my.eu

Friday, November 18, 2011

KrzFlopt 1.23

What is KrzFlopt? KrzFlopt is rebranded KrzYoptimizer (renamed) that again is developped by me. The program is written in VB6. Why? Because I wrote my first VBS script with GUI at the age of 16 and I liked this programming language. It also is much faster than .NET platform. Also it is too simply to be rewritten to .NET, although using ConsoleRead would be nice to create some log windows/status bar information what programs KrzFlopt is using are doing in the background.



By using some advanced deflate tools like kzip, DeflOpt, 7-zip, pngout and more KrzFlopt is able to reduce file size by optimizing Deflate streams. With build in ZIP to GZ, and ExtPK to PK header and vice versa conversions the user is able to open GZ and JAR files for processing. My program directy reads data from ZIP, GZ and JAR files that I programmed basing on online documents containing information on how file headers in those files are stored. This means it doesn't require any tools to at least: Open files, convert ZIP to GZ, ExtPK to PK headers and vice versa, calculate CRC32. You can add multiple files for optimisation.

User is free to chose 3 predefined optimisation methods or define his own and select Custom Mode. For Example in Fast mode program will only try blocks from 1-16, it's good for small files. It's still recommended to create Custom mode with settings: 16 or 32 blocks to try first, search for up to 1024 blocks (kzip/pngout limit) and run at least 100 random Huffman table inits.

KrzFlopt tries to find best number of blocks to split file to by extending searching range. When it successfully found best settings and number of blocks found is equal or higher maximum blocks in this range*66% (for example 13 block is > than 16*66%) then it extends it to maximum blocks*2, till it reaches 1024.

Optimised PNG files are saved on-fly but ZIP/GZ/JAR files are stored only when it ends optimising each file in Deflate archive. Of course the program discards any data that is larger than original file.

Although program may crash from time to time (for example when opening ZIP containing MeGUI profiles - dunno why, I need to research it where the overflow occurs), it should be very stable.

Changes in this version let users send/retrieve data to/from server. This means that my server stores best results for files optimised and sends it to users to save a lot of time. For example file that is 6MB takes very long time to find best settings when searching for up to 1024 blocks. If program finds a file that its best settings data is stored on server then it jumps directly to best settings and later only random huffman table inits are run to eventually futher reduce its size a bit.

Time for some changelog on what was changed sinve fersion 1.22 till 1.23 final.

- Added additional information in TitleBar (Expert Settings)
- Added support for GnuZIP/gz (Unix) timestamp format
* File inside GZ has same time/date as file in ZIP (may reduce the time by 1h on new windowses, I need to fix it someday - it's cause by day savings)
- Added number of bytes reduced in random
tries for Randoms tab "bytesb (successes)"
- Added option to skip 7-zip 3-257 fast bytes test (only 258)
- Added End 7-zip button
- Added CRC32 calculation in File menu
- Added Strategy display: 9 /s 9 /c 9 /f 9 /d [PNG]
- Added Result sending/retrieving
* Program sends best results to server
* Program retrieves best results from server and jumps to best results
and, if selected, checks for randoms to futher reduce file length
* Works if appropriate check boxes in settings
are selected (either one or both)
* Should work fine for ZIP and PNG files.
- Fixed CRC Checking
- Fixed crash when license window was closed after being accessed
through about windows
- Fixed blocks sometimes not displaying in list. [PNG]
- Fixed: Random inits always used extreme strategy even when
it should not [PNG]
- Fixed program doing 1/2 of total maximum blocks to test for ZIP/GZ/JAR
- Fixed status not updating for PNG files
- Fixed strategy parameter not being remembered at all when PNG file
was inside Deflate file [PNG]
- Fixed compression strategy [/s] being sometimes -3 instead of 0 [PNG]
- !!Changed to new webserver: 33e.eu/www
- Skip 7-zip compression when file is in database (only KZIP-ped
files are stored anyway)
- Reduced 7-zip passes from 255 to 15 and added check for
all fast bytes settings (VERY RARERY produces file smaller
than with 258 fast bytes but DOES)
- Bugfixes for block/strategy algorithm
- now work automatically resumes when user answers NO on exit msg
- Updated CRC file on server
- Updated and fixed 'Download & Install' Module
- Code rearranging and optimisation
- Compiled without optimizations (for some reason 13KB smaller exe)
- Changed Deflate settings algorithm a bit. Now it starts checking from
block 1 and checks file size after each strategy pass (not block as before)
* May lead to better or worse results - need testing [PNG]
- Rewrote 'Limit CPU Usage' code (works better now)
- Rearranged GUI a bit
in ensuring best number of blocks mode
- Updated CRC file (pngout and jpegtran update)
- Hopefully Fixed PNG file not being repacked
* Sorry for that bug, didn't notice it earlier. Program wrongly
calculated reduced PNG size for zipslim.


Download it from here.

Sunday, October 9, 2011

OptiPNG ARM for Zyxel (ARM926EJ-S)

OptiPNG for optimizing PNG files directly on Your Zyxel NAS!

NEW: Now in installation package! Installs with funpkg command!

Now you can optimize Your PNG files directly on Your Zyxel NSA-210 or 220 Plus (other file
server basing on ARM CPU should be supported). This version is especially optimised for ARM926EJ-S that Zyxel NSA-220 Plus contains. This time I didn't test speed difference with previous non-optimised version but it should be 10% faster as LAME was ;)

Here is some data generated by compiled program. As you can see it's working perfectly:

root@seagate3tb:/i-data/2ee15731/Anime/Lupin III/Scans# optipng -zc1-9 -zm9 -zs0
-3 f0-5 -v "Lupin III - Greates Capers - VHS front.png"
OptiPNG 0.6.5: Advanced PNG optimizer.
Copyright (C) 2001-2011 Cosmin Truta.

This program is open-source software. See LICENSE for more details.

Portions of this software are based in part on the work of:
Jean-loup Gailly and Mark Adler (zlib)
Glenn Randers-Pehrson and the PNG Development Group (libpng)
Miyasaka Masaru (BMP support)
David Koblas (GIF support)

Using libpng version 1.4.5-optipng and zlib version 1.2.5-optipng

** Processing: f0-5
Error: Can't open the input file

** Processing: Lupin III - Greates Capers - VHS front.png
1214x2233 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 4546256 bytes
Input file size = 4546394 bytes

Trying:
zc = 9 zm = 9 zs = 0 f = 0 IDAT too big
zc = 8 zm = 9 zs = 0 f = 0 IDAT too big
zc = 7 zm = 9 zs = 0 f = 0 IDAT too big
zc = 6 zm = 9 zs = 0 f = 0 IDAT too big
zc = 5 zm = 9 zs = 0 f = 0 IDAT too big
zc = 4 zm = 9 zs = 0 f = 0 IDAT too big
zc = 3 zm = 9 zs = 0 f = 0 IDAT too big
zc = 2 zm = 9 zs = 0 f = 0 IDAT too big
zc = 1 zm = 9 zs = 0 f = 0 IDAT too big
zc = 9 zm = 9 zs = 1 f = 0 IDAT too big
zc = 8 zm = 9 zs = 1 f = 0 IDAT too big
zc = 7 zm = 9 zs = 1 f = 0 IDAT too big
zc = 6 zm = 9 zs = 1 f = 0 IDAT too big
zc = 5 zm = 9 zs = 1 f = 0 IDAT too big
zc = 4 zm = 9 zs = 1 f = 0 IDAT too big
zc = 3 zm = 9 zs = 1 f = 0 IDAT too big
zc = 2 zm = 9 zs = 1 f = 0 IDAT too big
zc = 1 zm = 9 zs = 1 f = 0 IDAT too big
zc = 1 zm = 9 zs = 2 f = 0 IDAT too big
zc = 9 zm = 9 zs = 3 f = 0 IDAT too big
zc = 9 zm = 9 zs = 0 f = 5 IDAT size = 4499076
zc = 8 zm = 9 zs = 0 f = 5 IDAT size = 4499076
zc = 7 zm = 9 zs = 0 f = 5 IDAT too big
zc = 6 zm = 9 zs = 0 f = 5 IDAT too big
zc = 5 zm = 9 zs = 0 f = 5 IDAT too big
zc = 4 zm = 9 zs = 0 f = 5 IDAT too big
zc = 3 zm = 9 zs = 0 f = 5 IDAT too big
zc = 2 zm = 9 zs = 0 f = 5 IDAT too big
zc = 1 zm = 9 zs = 0 f = 5 IDAT too big
zc = 9 zm = 9 zs = 1 f = 5 IDAT size = 4125865
zc = 8 zm = 9 zs = 1 f = 5 IDAT size = 4125863
zc = 7 zm = 9 zs = 1 f = 5 IDAT too big
zc = 6 zm = 9 zs = 1 f = 5 IDAT too big
zc = 5 zm = 9 zs = 1 f = 5 IDAT size = 4114417
zc = 4 zm = 9 zs = 1 f = 5 IDAT size = 4100526
zc = 3 zm = 9 zs = 1 f = 5 IDAT too big
zc = 2 zm = 9 zs = 1 f = 5 IDAT too big
zc = 1 zm = 9 zs = 1 f = 5 IDAT too big
zc = 1 zm = 9 zs = 2 f = 5 IDAT size = 4061378
zc = 9 zm = 9 zs = 3 f = 5 IDAT too big

Selecting parameters:
zc = 1 zm = 9 zs = 2 f = 5 IDAT size = 4061378

Output IDAT size = 4061378 bytes (484878 bytes decrease)
Output file size = 4061516 bytes (484878 bytes = 10.66% decrease)

** Status report
2 file(s) have been processed.
1 error(s) have been encountered.

Download Here!

* copy it to /home directory, login with putty, cd to it and run command: funpkg -i optipng-0.6.5-1.tgz
* then you can run it by simply typing optipng in any directory or read manual by typing man optipng

Tuesday, October 4, 2011

Lame MP3 ARM for Zyxel (ARM926EJ-S)

Lame less lame on ARM?

Yes, it is! There in a new compilation of Lame I did a long time ago for Zyxel NAS. This one is especially optimised for ARM cpu that is inside this NAS file server. It's still painful slow but it also is 10% faster than previous version. Here are short results of compressing 600 frames:


root@seagate3tb:/home# ./lame.2 lazy.mp3 lazy.2.mp3
ID3v2 found. Be aware that the ID3 tag is currently lost when transcoding.
LAME 3.98.4 32bits (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding lazy.mp3 to lazy.2.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
600/11621 ( 5%)| 2:15/ 43:35| 2:22/ 46:02| 0.1161x| 43:39
----04:47--------------------------------------------------------------------
kbps LR MS % long switch short %
128.0 0.5 99.5 94.3 3.3 2.4



root@seagate3tb:/home# ./lame.1 lazy.mp3 lazy.1.mp3
ID3v2 found. Be aware that the ID3 tag is currently lost when transcoding.
LAME 3.98.4 32bits (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding lazy.mp3 to lazy.1.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
600/11621 ( 5%)| 2:28/ 47:50| 2:36/ 50:23| 0.1058x| 47:47
----04:47--------------------------------------------------------------------
kbps LR MS % long switch short %
128.0 0.5 99.5 94.3 3.3 2.4



lame.2 is version is optimised especially for ARM located in Zyxel NAS.
lame.1 is version compilled with default settings.

Download it here

Wednesday, March 30, 2011

Webcameras around the world

I'm currently working on a worldwide webcameras project. I made simple webpage that lets You browse my webcam database that mainly contains controlable java, panasonic MJPEG and axis MJPEG ones (soon to add more). First two can be controlled by java or controls on my site (as long as they are not locked in camera settings). Site picks one randomly when accessed without special parameters. The list displays all webcams currently available in database. There is also simple search mode based on camera description (mainly location and URL). Everyone of them has original webpage url included incase original owner wants people to access their sites (good when You are in charge of tourism or some kind of hotel).

There was a time when I didn't have job and was browsing internet all day long. Then I found webcameras, mainly java ones then. I found it very interesting and very soon I was sighseeing world sitting behind my computer desk ;D . This time I wanted to easly access it from one database instead of googling webpages on and on. Since I'm now playing with php+mysql it is now possible! So here is the webpage! Have fun:

http://krzy.eu/kam

Wednesday, February 16, 2011

Small project

For some time now I'm writing some kind of database that can be easly accessed and edited. It contains essential data I'm in charge of at work. It helps a lot, because there is no need to "move your ass" in order to verify things. All information necessary for us to work are kept in database and accessed through WWW.

Unfortunately due to it containing a lot of information that is not supposed to be public available I can't reveal any screenshot or similar information.

I can at least provide you with changelog.

v1.04
- Changed how the server reacts when textarea is left empty after clicking a button. It will now automatically asign '-' to it.
- Improved ajax function:
* Replace controls with text only when ajax is successful
* Button DISABLE'ing until ajax succedess or returns error. Error: re-enabled, Success: standard behaviour.
- Replaced input text with textarea
- Added support for ENTERs
- Added compare mode
- Changed 'Zatwierdz' button position to fix status div fully covering it

v1.03
- Added ability to change password
- Added permission to prevent view, view or view&modify specified data
- Added ability to logout
- Switched from hardcoded login to SQL login

v1.02
- Added jquery and AJAX to support editing directly on the webpage
- Added login and session timeout (set to 10 min)

v1.01
- New generation version with tree

v1.00
- First initial version to view database content of 3 columns in a table