FLACOUT.EXE
17,920 bytes 07/03/2014
FLACOUT optimizes the size of .FLAC audio files losslessly. With the right options, it can often beat the reference encoder by 3-5%. It does an exhaustive search (except for block splits) and was designed to optimize compression. Due to its slow speed, it is best to run it only on small files. ;-) Note: headers will be stripped. Click here for license.
WIN32 command line
PNGOUTWin
(link) 2006-
The professional version of PNGOUT, featuring an easy-to-use GUI. Supports all features of the command line version (described below), plus more. PNGOUTWin makes it easier to do batch processing and takes full advantage of multi-core CPUs. Please visit ardfry.com for more information.
WIN32 GUI
PNGOUT.EXE
38,912 bytes 02/13/2015
PNGOUT optimizes the size of .PNG files losslessly. It uses the same deflate compressor I wrote for KZIP.EXE (see below). With the right options, it can often beat other programs by 5-10%. That includes pngcrush -brute, optipng -o7, advpng -z4, etc.. PNGOUT is a great tool for optimizing the size of web pages or squeezing game content onto mobile devices. Almost all .PNG files on my website were optimized with PNGOUT. For a detailed description of the options, please check out the PNGOUT tutorial written by Kerry Watson. Click here for license. For a changelog, see: here or here. WIN32 command line
PNGHALF.EXE
32,768 bytes 07/30/2020
PNGHALF is a simple utility which halves the dimensions of an image file by averaging the R/G/B/A of each group of 2x2 pixels - very handy for when you work with artists who like to make "1300-pixel arrows". ;-) Output files are NOT compressed so it is highly recommended to run a PNG re-compressor (such as PNGOUT above) on the results. WIN32 command line
KZIP.EXE
14,848 bytes 04/14/2007
My own PKZIP-compatible compressor focusing on space over speed. KZIP creates smaller .ZIP files than PKZIP with maximum compression enabled and even beats 7-Zip most of the time. I use a few tricks beyond what your typical compressor will do. The main one is an exhaustive search of all patterns. The other one is my advanced block splitter. ZIP files created with KZIP are compatible with all of the latest .ZIP software - just that if you use KZIP, your file will probably be smaller. Decompression is still very fast, making KZIP the perfect tool for shaving off seconds from download times. What will you do for a byte? :) Click here for license.
WIN32 command line
ZIPMIX.EXE
9,216 bytes 05/01/2016
Sometimes, when you run 2 different .ZIP programs on the same data (PKZIP & KZIP for example), some files get compressed better in one program, while other files get compressed better in the other. ZIPMIX will take the best files from each one and create a new output file, which is guaranteed to be equal to or smaller in size to both of the input files. ZIPMIX can also be used to perform boolean operations on ZIP files, such as merging 2 ZIP files together, or updating a new file (with some tricks). You can download the source code here: ZIPMIX_SRC.ZIP (5,232 bytes, 05/01/2016) This code may be used freely.
WIN32 command line
REKZIP.ZIP
379 bytes 07/06/2006
Here's a little batch file I wrote for KZIP to directly re-compress an existing ZIP file. I have tried to make the batch file as safe as possible - meaning you shouldn't lose the original file if there's an error during one of the steps. I think the worst that can happen is you end up with a harmless temporary sub-directory - and that's only if your computer freezes! If you really want to feel cool, you can re-compress a whole directory of ZIP files using this command: "for %i in (*.zip) do rekzip %i" : ) Someday, I might actually get around to integrating this functionality into KZIP.EXE..
WIN32 command line
Linux & MacOSX ports of PNGOUT, KZIP, and ZIPMIX
(link)
Due to popular demand, here are ports of PNGOUT, KZIP, and ZIPMIX to Linux and MacOSX. Thanks to Jonathon Fowler for all of his assistance in porting, letting me use his machines remotely, packaging the files, and of course hosting. I asked JonoF to host these files because he has more experience with non-Windows platforms than I do. Go grab a copy of the ports at JonoF's site! Click here for license.
Linux or MacOSX
PNGGauntlet: A .NET-based Windows wrapper for PNGOUT by Ben Hollis.
PNGOUT tutorial written by Kerry Watson.
PNGOUT review by Gregory Wild-Smith. WARNING: his site seems to crash my browser!
Ultimate Command Line Compressors: Comparison of many compression utilities, including PNGOUT and KZIP.
Maximum Compression: Comparison of many compression utilities, including KZIP.
RFC1951: A great technical document for programmers who are interested in learning about the deflate standard (PNG and ZIP are both based on deflate).
PNG Home Site: The mother of all PNG sites.
Other good PNG/ZIP compressors:
7-ZIP: A good compromise of compression ratio and speed that falls between PKZIP and KZIP.
OPTIPNG: Compresses PNG files using libpng, takes the best of many trials; inspired by PNGCRUSH, with a few more features.
ADVPNG (and ADVDEF): PNG compressor based on the 7-zip deflate engine.
DEFLOPT (and BJWFLATE): ZIP recompression utilities by Ben Jos Walbeehm with similar goals to KZIP (space over speed).
Other Windows Utilities:
KWINCHEAT.ZIP
17,600 bytes
Automatic player AI for Minesweeper, Solitaire, and Internet Checkers. Have you ever wanted to throw some advanced computer AI against an unsuspecting Internet Checkers player? :) Did you know that Solitaire has a scoring bug if you win in less than 30 seconds? Have you ever been so lazy that Minesweeper seemed like manual labor? Well, now you're in luck because I've decided to share my cheats with you! Please read the included text file for more hints and instructions.
WIN32
KWINCHEAT_SRC.ZIP
18,399 bytes
The source code to Mineplay, Solplay, and Checkplay. The code is best viewed with tab stops set to 3.
VC6 or above
CHECKERS.EXE
17,920 bytes 05/13/2015
A stand-alone test checkers game I wrote just before I started writing Checkplay. Now you can see for yourself how easy it is to lose to my computer AI :)
WIN32
CHECKERS_SRC.ZIP
14,067 bytes 05/13/2015
The source code to my stand-alone checkers game. The code is best viewed with tab stops set to 3. To compile Winmain.cpp with VC6, you'll need to install the Processor Pack which is available somewhere at microsoft.com.
VC6 or above
KPIC.EXE
67,072 bytes, 08/09/2015
Ken's PICture viewer. Supports: JPG,PNG,GIF,TGA,PCX,BMP. View all files in a directory or files inside a .ZIP. (no need to extract first!) Example: kpic /zduke3d_hrp.zip *.png *.jpg. Select any DirectX9 mode on the command line. Example: kpic /1024x768 *.* KPIC allows you to scroll and zoom quickly (hold mouse button). It supports a fancy 4x4 filter (uses MMX code) to interpolate samples cleanly when you use the zoom feature. This is a high quality filter - most 3D accelerators use bilinear interpolation which is only a 2x2 filter :) There are 3 interpolation modes; use TAB to select between them. (Mode 0:4x4 when stopped/nearest when moving, Mode 1:4x4 always, Mode 2:nearest always). (See PNGOUT.HTM for a more complete description of supported image formats)
WIN32
KPIC_SRC.ZIP
52,489 bytes 10/10/2019
The source code to KPIC. My exe above is compiled with VC6 to get smaller EXE size, but any newer 32-bit version of VC should work.
VC6 or above
SUCKTHUMBS.ZIP
71,552 bytes 09/20/2009
Simple Thumbs.db viewer. With SuckThumbs, you can save individual tiles, or spawn a default viewer (if the original file exists). Press F1 inside the program for further help. Source code included.
WIN32, VC6 or above
KC.EXE
113,152 bytes 12/26/2020
My own text editor for windows, featuring smooth panning, support for large text files and keys similar to DOS EDIT. I use this editor all the time! If you do Visual C or Java programming at the command prompt, you can press F5 while the source is loaded to compile, display errors (if applicable) and run. Press F5 and study the dialog to see how to set this up. Or look at (12/26/2020, 6,033 bytes) KC_GUIDE.TXT for a more complete list of KC commands. Source code here: kc_src.zip (12/26/2020, 80,384 bytes).
WIN32, VC6 or above
KPROF.EXE
79,360 bytes 01/25/2011
A command line sampler/profiler for Windows. Visual C includes a function-based sampler/profiler. This is much better! Spawn an executable of your choice (2nd command line option) or latch onto an existing program using its PID (you can look up the PID in Task Manager). When you exit the program, KPROF will dump a listing of all the hotspots to the console, along with the disassembled code. Example syntax: "kprof pngout.exe image.png". To save the results to a file, add "> results.txt" to the end of the command. This program is meant to be run inside a command prompt.
WIN32
STOPCHOP.EXE
36,352 bytes 02/20/2015
Record without having to worry about pressing the start button on time. StopChop records at CD quality (by default), allocating a large circular buffer. As soon as you press ENTER, it switches to play mode, where you can view the last so many minutes recorded. In the play mode, you can crop the sound, fade the end, remove silence, and save the sound. To crop, move the mouse or arrow keys, then press ',' and '.' to set the respective marker. Play the sound using SPACE BAR, Home or End keys. Once finished, I like to convert the WAV to FLAC, MP3, or OGG using a separate utility.
WIN32
HMAVIEW.EXE
122,880 bytes 08/04/2020
Huge Microphone Array VIEWer, used for audio research. Allows you to quickly view WAV files with hundreds of channels. Supports fast zoom and pan using the mouse, in either time or frequency domain. Marks can be placed using the Insert or Delete keys and saved to an associated .CSV file.
WIN32
KS2.ZIP
120,386 bytes 01/19/2011
A simple MIDI sequencer for Windows. KS2 does not support effects of any kind. I have written a bunch of .KS2 songs, but they all use .WAV files that are probably copyright, so I'm reluctant to release them.
WIN32
Old Utilities:
BLANK.ZIP
232 bytes
This screen saver uses the VESA DPMS functions. You can select between 3 options: STAND-BY, SUSPEND, and OFF.
DOS16
CCOPY.EXE
50,442 bytes
Copies files at 115,200 baud using the serial port. Uses compression. Automatically skips files AND parts of files that haven't changed. For example, if you appended some bytes at the end of a huge text file, CCOPY will update the file very quickly.
DOS32
DCOPY.EXE
55,488 bytes
Copies files over a local network using the IPX protocol. Useful when you have problems sharing hard drives. I used this all the time when testing games over a network.
DOS32
KSWEEP.EXE
6,369 bytes
Use this utility to run a given program on all specified files located in the current directory and any subdirectory of the current one. For example you could play all .WAV files in all subdirectories of C:\WINDOWS with just a single command.
DOS16
FINDWORD.ZIP
276,511 bytes 11/30/2006
A multi-purpose word search utility for solving anagrams, word jumbles, crossword puzzles, hangman, Wheel of Fortune, 4x4 Boggle games, etc.. Includes word list (SOWPODS), highly compressed using my own algorithms (alphabetic tree, suffix reuse, Huffman). Supports search based on wildcards, phone numbers to words, and other weird features. Want to know my favorite use? In the middle of a Boggle game, claim you have to go to the bathroom, but instead run this program and print out the results. Guaranteed to annoy everyone at the table! Source code included.
WIN32
GETCPU.EXE
4,608 bytes 09/01/2007
Returns information about your CPU by dumping the results of the CPUID instruction. It also auto-detects the CPU's currently running frequency (in MHz).
WIN32
GRAFTEXT.EXE
33,290 bytes
Bored of 80*25, 80*43, and 80*50 text modes? This program can set your DOS text dimensions to crazy resolutions like: 128*96 or 40*12. (Warning: Doesn't work on all video cards because it sets the video mode using VESA, and then writes some VGA registers to make the video card think it's in text mode again.)
DOS32
KCD.EXE
52,571 bytes
This used to be called KC.EXE, but since I now use my windows version, I decided to optimize my keystrokes and rename this to KCD.EXE. This is a 32-bit text editor for DOS featuring smooth panning, support for large text files, and keys similar to DOS EDIT.
DOS32
KCALC.EXE
27,354 bytes
Use this program to expand mathematical expressions into sums and products that don't require parenthesis. For example: kcalc (a+b)(a-b) gives: +a*a, -b*b.
DOS16
KEYTRY.EXE
18,442 bytes
Press a key and this program spits out the scan code. Extended codes such as arrow keys are returned as a single byte in range: 128-255
DOS32
KGIF.EXE
37,988 bytes
View an entire directory of GIF files quickly. Can select any 8-bit VESA resolution on the command line. Will use Wide DAC VGA palette if available (8 bits per color instead of the usual 6). This feature is great for 256-color grayscale. Can display larger GIF files than most other programs (including Internet Explorer) because KGIF uses memory to cache only the compressed GIF data. (Doesn't support animated GIFs yet.)
DOS32
KPEG.EXE
47,350 bytes
View an entire directory of JPEG files quickly. Can select any available VESA resolution and color depth (8,15,16,24,32 bits) on the command line. For old VGA cards, KPEG will display more than 256 colors by TIME DITHERING (320*200*8 mode only) By time dithering, I mean that KPEG averages the colors across 32 display pages and quickly flipping between them. (Doesn't support "progressive" JPEG yet.)
DOS32
KPNG.EXE
57,601 bytes
View an entire directory of PNG files quickly. This program requires support for 32-bit VESA modes. Can display larger PNG files than most other programs because KPNG uses memory to cache only the compressed PNG data. (Doesn't support 16-bit color depths.)
DOS32 (32-bit color only)
MOUSRAT2.EXE
36,610 bytes
Detects the rate at which your mouse reports x & y movements. Slow mouse rates can destroy the "apparent" frame rate of any application which doesn't interpolate the mouse data. If you find this number is less than the frame rate of your screen, you could try installing a mouse driver specific to your mouse and playing with the options. Also somebody out there made a neat program that runs in Windows 95/98 that can change the rate without requiring a reboot! In an internet searcher, try the keyword "PS2RATE.ZIP"
DOS32
VIDSPEED.EXE
54,416 bytes
Tests 8,16,32, and 64-bit memory writes to system memory, VGA memory, and linear frame buffer memory (if available).
DOS32
REASPEED.EXE
54,416 bytes
Tests 8,16,32, and 64-bit memory reads from system memory, VGA memory, and linear frame buffer memory (if available).
DOS32
MOVSPEED.EXE
64,526 bytes
Tests 8,16,32, and 64-bit memory moves from system memory to: system memory, VGA memory, and linear frame buffer memory (if available).
DOS32
PKHIDE.EXE
4,921 bytes
After you run "pklite -e" on an exe, run this to hide the PKLite signature. Hackers won't even know that the EXE was compressed with PKLite.
DOS16
RULER.EXE
25,600 bytes
Run this to help you calculate the dimensions of something on the windows screen. (One of my few Windows programs to use GDI)
WIN32
HEARTEST.EXE HEARTEST.CPP
7,680 bytes 11,219 bytes 11/30/2002
Test your hearing range using this simple utility. I made sure to eliminate as many 'clicks' as possible, so you can't falsely claim you hear a frequency when you actually don't. This program plays at CD quality. For high frequencies, it will work best with headphones... of course if you have bad headphones then this programs tests your headphones more than your hearing. :) If you can hear over 17500hz, then you've got better hearing (or better headphones) than me. Older people often can't hear above 13000hz.
WIN32
TEXTREND.ZIP
9,881 bytes 02/11/2012
"Renders" a DOS font text file to a PNG file. I used to use this program when I needed to print out a DOS text file which had line-drawing characters. Source code now included.
WIN32
TYPETEST.EXE
33,986 bytes
Want to see how fast you can type? Using this program, you can type in any text and it will report the number of words you typed, how many seconds it took you, and how fast you typed it in words per minute. On 02/11/2000, I typed "The quick brown fox jumps over the lazy dog." in 2.683 seconds - that's 201.233 words per minute! On 06/28/1999, I typed the names of all 50 U.S. states in alphabetical order (60 words, no capitalization) in 45.094 seconds. I challenge you to beat me! Don't be discouraged though - I'm really, REALLY FAST! You should be proud of yourself if you can get half my score.
DOS32
VES2.ZIP
33,856 bytes 01/20/2007
Tests the features of 8-bit VESA graphic modes. Source code included. Compile with Watcom C.
DOS32
VBEAF.EXE
65,270 bytes
Tests the speed of VBE/AF graphic modes. Too bad that the VBE/AF specification seems to not have caught on. To obtain a VBE/AF driver, you can try installing Scitech Display Doctor (www.scitechsoft.com), which puts a file called VBEAF.DRV in the root of your hard drive.
DOS32
KPC.ZIP
35,357 bytes 09/16/2007
Plays WAV or VOC files through the PC speaker. Works in Windows 95/98, but not quite at the same quality as DOS because Windows has no GOOD way of disabling interrupts. Includes source; compile with Watcom C.
DOS32
MP3.EXE
73,483 bytes
Just another MP3 player. Code is based on MPG12304.ZIP, but I optimized the player quite a bit and has a couple of silly features like an alarm. Features low CPU usage. Requires an SB-compatible card.
DOS32
MP3PC.EXE
70,021 bytes
Got no sound card? MP3PC plays MP3 files through your PC speaker! For some reason I like to make programs work through the PC speaker. Some people still don't know that it's possible to play real sounds through it. Unfortunately, you must run this in pure DOS mode for it to work.
DOS32
NCD.EXE
5,592 bytes
KeN's Change Directory. If you like jumping to different directories quickly, you should try my version of the program, based on one of my favorite Norton Utilities. My NCD program is extremely small and fast. One cool feature is that it stores the entire directory tree (skips hidden directories) in the "NCD.EXE" program file itself. This keeps your HD from getting cluttered and makes the program load even faster.
DOS16
TEXTCAPT.EXE
5,397 bytes
Use to capture a DOS text screen of any dimensions to a file (called TEXTCAPT.TXT) Handy when a program refuses to redirect output to a file with the '>' DOS operator.
DOS16
NV.ZIP
126 bytes
Set to 80*25 text mode, clear the screen, and fix the IRQ0 timer rate, all in 16 bytes. Use this instead of typing "MODE CO80,25" and "CLS" when your screen gets messed up when DOS programs crash.
DOS16
FLOPPY.ZIP
134 bytes
This utility is for the serious QuickBasic programmer who is stuck using WinXP. In WinXP, some old DOS programs (such as Microsoft QuickBasic) stupidly access the floppy drive when you do File..Open. This is really annoying because it wastes 2 seconds while it does this. FLOPPY.COM fixes this behavior by disabling the floppy drive. As a side effect, you can't access the floppy drive until you re-enable it. At the command prompt, type "floppy off" to disable the floppy drive and "floppy on" or "floppy" to enable the floppy drive.
DOS16 (intended to run on WinXP)
DOS4GW.EXE
265,396 bytes
Ok, obviously this isn't mine. It's the default DOS extender that Watcom C uses. I put it here just in case you need it to run one of my programs.
DOS32
Back to Ken Silverman's Official Home Page