Wednesday, November 11, 2009

Deadwood 2.4.08 released; MaraDNS snapshot update

Since I have delayed, for the time being, my work finishing up the recursive version of Deadwood and releasing MaraDNS 2.0, I am declaring Deadwood 2.4 stable and making it the new stable version of Deadwood.

Deadwood 2.4 has a number of features Deadwood 2.3 doesn't have, most notably RR rotation, TTL aging, and dictionary support for upstream_servers--you can have one upstream DNS servers to recursively resolve "google.com" for you and another, that redirects phishing domains, resolve "rnyspace.com" or "paypaI.com" for you.

I have just released Deadwood 2.4.08 today. Compared to Deadwood 2.3, Deadwood 2.4 has:
  • TCP and UDP done by the same service/process
  • upstream_servers now a full "dictionary" variable
  • Full DNS compression and decompression support
  • RR rotation and TTL aging
  • ip_blacklist support (if you have an annoying ISP DNS server that redirects mistyped domains to some ad-filled page, just put the IPs of that annoying page on your ip_blacklist and Deadwood will make it a DNS "not there" reply again)
  • execfile support (Deadwood can now include other files while parsing its configuration file)
  • Merging multiple identical in-flight queries (if you just asked for google.com, and ask for it again, instead of creating a new query for google.com, it will just merge your query with the one already sent)
It can be downloaded here:

http://www.maradns.org/deadwood/

I have also updated the MaraDNS snapshot release to have the download page point to the new 2.4 stable release of Deadwood.

Tuesday, November 10, 2009

Deadwood snapshot update

I have updated DwMararc.c to correctly report an incomplete last line as such, instead of giving a vague parse error. I've also updated INSTALL.txt to make it clear you need to enter the "src/" directory to compile Deadwood in Windows.

It can be downloaded here:

http://www.maradns.org/deadwood/snap/

Sunday, November 8, 2009

MaraDNS snapshot update

Last Friday, I updated the MaraDNS FAQ to correctly answer the question about NS delegations, and added a question and answer about with guidelines on using MaraDNS for phishing protection.

I finally announce it today. It's here.

Friday, November 6, 2009

C-Evo 1.1.1 on one floppy

In my last blog entry, I noted a number of games that fit in under 7 megabytes. One of the games, C-Evo, I noted fitted in about 2.5 megabytes.

Actually, it fits on a single 1.44 meg floppy. Two if you want sound. What I have done is take the C-Evo installed files, remove the AI development kit (this is only useful if you're both a Delphi developer and have interest in developing an AI for C-Evo), and split off the sound. I then made two files; the core C-Evo game that is perfectly playable, albeit without sound, which compresses in to a 1,384,627 byte 7-zip file, and a file with all of the sounds for C-Evo, which compresses in to a 924,045 byte file.

If you need 7-zip to decompress C-Evo 1.1.1, that will also easily fit on a single floppy. Who needs CD-ROM drives anyway?

Speaking of floppies, the last version of Slackware that could be entirely installed from floppy was Slackware 3.4 from 1998; the last version of Slackware that could have the base system and networking utilities installed from floppy (installing the rest over the network) was Slackware 7.1 from 2002. A base Slackware 2.1 system (1994) fit on four floppies; the entire system only used 70 floppies. Yes, I remember, back in 1995, giving my roommate an entire floppy tray filled with 70 floppies so he could install Slackware on his computer. The base system for Slackware 7.1 needed 16 floppies; at that point it no longer made sense to use floppies any more.

Recently, an artist made artwork showing you would need hundreds of floppies to fit a modern Photoshop install. But, good software doesn't need that bloat. C-Evo shows that a compelling and addicting game can nicely fit on a single floppy; MaraDNS can also easily fit on a single floppy, complete with source code.

Zillions of Games can also easily fit on a single floppy; I have a version thats 400k in size that supports Chess and a couple of Chess variants (notably Capablanca chess). The majority of the space in the 20 meg install file for Zillions is for all of the graphics for all of the abstract games supported by Zillions.

Some other games that easily fit on a single floppy: Cultivation, Andy Noble's remakes of classic games

For people who want to look at the files showing C-Evo 1.1.1 on a floppy, go here:

http://www.samiam.org/cevo/

Wednesday, October 28, 2009

Games that fit in under seven megabytes

One project I do is fitting as much useful stuff as I can on one of those business card CDs. A business card CD is a credit-card-sized CD that fits in a wallet; because of the small size of the CD, only 50 megabytes of data can be stored.

After adding the entire text of the Bible, some music I like listening to, a few applications (most notably 7zip for decompressing files), as well as having it be a bootable CD with a memory tester, I'm left with about seven megabytes (7,000,000 bytes) for games.

What compelling games fit in this very small space? Quite a few. Last time I mastered a Desert Island CD, in June, I added Doom with a random map generator, as well as a small game for playing Gin Rummy. However, since my fiancée doesn't like seeing me play Doom, there are a number of other games I am considering for the next release of the CD. Here's a list of some of the more compelling tiny games out there; I'm looking for games with a high replay value (random map generators are a must for anything using a map):
  • Doom, as mentioned before. 5,692,780 bytes in size with a modern engine using 3d acceleration (Doomsday 1.8.6) and the Doom1 wad file (7zip compressed); 6,203,357 bytes if we include a random map generator.Pros: The first-person shooter that created an entire genre of games. It's all here: Single player, deathmatch, cooperative play. Even a random map generator.Cons: Violent and disturbing imagery in the game; a mouse is needed to fully enjoy the game.
  • David Teach's Gin Rummy. 1,643,935 megabytes if we include the full installer, 108,886 bytes for a 7zip compressed minimal version of it; however it's not possible to change the game settings in the smaller version of the program.Pros: Classic card game in a tiny package. Cons: Dated looking user-interface
  • FreeCiv 1.14.2. This is an older version of FreeCiv; newer versions use GTK-Win32, which is a bloated pig. A 7zip compressed copy of the full version of FreeCiv 1.14.2 is 1,872,461 bytes in size; it's only 906,762 bytes in size if we remove all of the languages except English and Spanish.Pros: Network play; highly customizable using the server command line.Cons: No diplomacy at all with AI; no full-screen mode; outdated version of game
  • C-Evo, another open-source (public domain) Civilization clone, has IMHO more compelling gameplay than the older FreeCiv. It's a little bigger, however: 2,521,088 bytes for the most recent version (self-extracting archive)Pros: Fullscreen mode; Good graphics; compelling play.Cons: No network play: the only multiplayer mode supported is hotseat and play-by-email is difficult because only the first player can save the game.
  • Chess variant-playing engines. Engines that can play Chess variants are remarkably small and lightweight if I minimize the number of games supported; if only Capablanca-type variants are supported (8x10 board, rook + knight and knight + bishop added to the standard array of pieces), the tiny version of ChessV 0.9.0 is 174,059 bytes (7zip compressed, as well as all other Chess variant playing engines), Winboard Fairy can be squeezed down to 386,278 bytes, and Zillions can fit in only 394,318 bytes. Zillions needs a registration key; the other two are open-source programs (and play Capablanca chess better than Zillions).
  • People's Tactics is a very enjoyable free war simulation strategy game with a random map generator, play-by-email, hotseat, and single-player support. The binary weights in at 6,083,408 bytes.Pros: Excellent tiny little empire-building hex-based wargame. Cons: Can't be played on netbooks; 1024x768 or better resolution needed to play.
  • Another idea: Including an emulator and a number of games for a 1980s game console. Pros: Lots of different games in a small package Cons: There are serious legal issues with most game image files
  • No list of small games is complete without Kkrieger. More a proof-of-concept than a playable game, Kkrieger is a complete first-person-shooter in only 100,185 bytes (yes, a tenth of a megabyte). The executable is 96k in size, but the zip file also includes directions for playing the game. Pros: Beautiful graphics. A full First-Person-Shooter with a number of different weapons, monsters to zap, and compelling music in a fraction of the size of even Doom. Cons: More a proof-of-concept than a real game; the only supported mode is single player and the game can be finished in 15 minutes. The game ahas a low framerate on anything by the highest-end computers.

Tuesday, October 27, 2009

MaraDNS snapshot update

I've updated the MaraDNS FAQ to add an entry describing my support policies regarding MaraDNS name resolution bugs. I have already posted a blog describing the extent of unpaid support I supply for these issues here:

http://maradns.blogspot.com/2009/05/alexa-top-500-list.html

Monday, October 26, 2009

RadioGatún C++ class

I have been working on an off with a C++ class for the 32-bit version of the RadioGatún hash for a couple of weeks so I can become more familiar with C++ classes. I finally, after some trouble, got this class to correctly implement RadioGatún-32. It can be downloaded here:

http://www.samiam.org/rg32