VKitty: 48% Game, 52% Spam Fighter, 100% Awesome

VKitty now has 15 honey pots, a bot trap, a donated MX record, and a fake email generator.

If you want to help Project Honey Pot too, click on the image below and sign up. The fastest way to start is by using a quicklink. Anywhere that you can put a link, you can use a quicklink. Simply put your link in a forum signature, blog sidebar, or other location (hidden using one or more of the methods given when you get your quicklink) and when spammers attack it, they’ll be tracked.

Project Honey Pot

The bot trap is very simple in design. When someone goes to http://vkitty.net/trapeze/, they will be blocked from the site until they solve a simple puzzle like this one. In addition, I get an email telling me a bunch of information about the person who got blocked.

Here’s an example of an email I got when I triggered my own trap:

A bad robot hit /trapeze/ 2009-06-06 (Sat) 21:21:52 address is ***********, hostname is
mke-***********.milwpc.com, agent is Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.9.2a1pre)  Gecko/20090606 Minefield/3.6a1pre (VKitty/6.0)

VKitty also has a random email generator at http://vkitty.net/eeeemail that generates email addresses from a list of known spammer domains. Don’t worry, you won’t be banned by visiting this one.

And now, the other 48%

STATUS UPDATE TIME! Here are a few of the projects the VKitty staff are working on:

The Royal Cat Hotel
Done. It will be released on June 17th to give us a little more time to find bugs.


Fishing minigame
The minigame itself is done. All that it needs is a shop and a few user interface tweaks.


Item images
Just as she redid the cat graphics, Kat is redoing all of the item images with the exception of the Free Cat Certificate. I have no idea how far she is, but I’ll choose a random percentage. She just told me that she’s about 3/5 of the way done, so that means her half is 60% completed and my half is 0% completed.


Mobile VKitty
The speed test and email spam pages are up. That’s about it, though.


Orange Kitten

Cats for stupid browsers like IE that can’t use SVGs
So far, it can generate kittens with different coat colors. I hope to have it able to make cats and old cats, as well as all of the patterns soon.


VKitty speed upgrades, Gears removal

Warning: This article is very techy and may cause unwanted implosion of your brain if you don’t know what caching and HTTP requests are. Don’t say I didn’t warn you.

For browsers that support Google Gears, VKitty had always requested permission to store data on the user’s computer. This has been removed. Although it might cause VKitty to be a bit slower, we’ll scare less people away by asking about data storage.

Most browsers download a capped amount of files from each server at a time. This means that only two VKitty images (affiliate badges, items, etc.) would be downloaded by the browser at a time.

To help VKitty load faster, item images have been split up into 10 different subdomains, and affiliate badges and style data each have their own subdomains.

All affiliate badges go on aff.vkitty.net, stylesheets and scripts go on s.vkitty.net, and item images (unequipped only so far) go on datiX.vkitty.net, where X is the last digit of the item ID.

For a quick demonstration of how much this helps, imagine you’re on the homepage of VKitty and you have twenty different items in your inventory and one cat. Let’s say your browser can only download 2 files per hostname at a time and each file takes one second to download.

On the homepage in this scenario, there would be two stylesheets, a script, 7 affiliate badges, a cat image, and 20 item images, a total of 31 things for your browser to download once it has the HTML of the page.

With a single hostname, it would take 17 seconds to load the page, including the HTML content. With our new system, it would only take 3 seconds to load everything except the affiliate badges and 6 seconds total.

A savings of 11-14 seconds is pretty big. Of course, each file on VKitty hopefully loads in under a second, so the savings will be smaller, but still 18-35% of the total time to load the page, assuming all of the files loaded in the same amount of time.

VKitty status update: June 2009

The Royal Cat Hotel

Fully functional, just needs a bit of debugging.


Fishing Minigame

Well, at least the picture of a cat fishing is done. Nothing else, though.


Item images

12 items have images, and 30 are missing them.


Mobile VKitty

The current mobile VKitty at m.vkitty.net is provided by Mobify.me and does not let the user log in. The VKitty-based version is nowhere near done.



It’s completed. All it needs is a bit of publicity.


Browser rant: IE won’t cooperate.

Internet Explorer: Kitten

Internet Explorer's representation of VKitties

  • Me: Hey, Internet Explorer, can you load an SVG for me?
  • IE: A what?
  • Me: Create an EMBED element with the source ‘/data/kitten.svg’
  • IE: Ok.
  • Me: Now append it to the sidebar.
  • IE: Put what where?
  • Me: *sigh* Create an EMBED element with the source ‘/data/kitten.svg’ as a variable called ‘e’
  • IE: Ok.
  • Me: Put the element represented by the variable ‘e’ at the bottom of the last element child of the element represented by the id ‘sidebar’.
  • IE: Ok.
  • Me: That’s not what it’s supposed to look like!
  • IE: ERROR 6704632: Unknown variable “That’s”
  • IE: ERROR 824893: Unknown variable “AAAARGH”
  • Me: Set the ‘fill’ attribute of the element represented by the id ‘kittenFill’ in the content document of the window represented by the variable called ‘e’ to ‘#f00’
  • IE: Ok.
  • Me: // Nothing changed…
  • IE: Ok.

And now, a few pictures:

Microsoft may harm your computer. This is not a fake!

Microsoft may harm your computer. This is not a fake!

Internet Explorer visits the VKitty Humane Society

Internet Explorer visits the VKitty Humane Society

Firefox visits the VKitty Humane Society

Firefox visits the VKitty Humane Society

VKitty: A lesson in data caching

If you would prefer the short version of this post, read the next paragraph and stop.

VKitty faster.  Me happy.  Your computer do work too.

And now for the intelligent version:

It had been bothering me that VKitty needed to ask the database server for information every single time a VKitty user viewed a cat or a user — sometimes multiple requests per page load.  So I went on Google and searched for cross-browser client-side storage and found what I was looking for.  Sure, I had to tweak it a bit, but soon, I had it working perfectly on every browser that supported VKitty to begin with.

Then, I noticed that for every page load, VKitty tells the browser to download 20-something files, most of which every single time.  So I pulled out my Ant manual and made a compiler for VKitty’s JavaScripts.  Soon, I had a program that took every script that was normally loaded in VKitty, combined them into one, compressed it,  compressed it again, and uploaded the super-compressed script to the server.  I was able to cut the JavaScript to a third of what it was.  That’s a 66.6% savings in JavaScript alone!

Now, VKitty will load at least three times faster and request data from the server a lot less, causing a smoother user experience and a lot less load on the server.

Feedback time!

Is 5 minutes the right amount of time to hold data in your computer’s memory?  Should there be a way to turn the caching off?  Or is VKitty just a worthless piece of trash that I should never have started working on?

VKitty: Humane Society and Natures

Although no adoptions can take place yet — the functions to actually adopt a cat have not yet been put into place — VKitty already has a Humane Society, full of  cats and kittens waiting to be adopted.  They each have a coat color, unique patterns, and ages.

Unique virtual cats

Unique virtual cats

Unfortunately, something on the scale of VKitty is not possible for me to do alone.  There are no images for old cats, and the community is only five people including myself. If you’re good at drawing, try your hand at making an old cat. I suggest you use Inkscape if you do, however, because the images are served as vectors.

I am also looking for normal people who want to beta test VKitty.  Simply register on VKitty.co.cc and either find a cat in the humane society that you want or create one on the creator.  HP and hunger, along with a few non-cat like colors, however, are off limits.  Beta testers will recieve more money on VKitty than other people who join after the beta is done, along with a special badge — once badges are programmed.

Cats and kittens now have natures

Cats and kittens now have natures

Cats and kittens now have natures, a concept that should be familiar to you if you have played a recent Pokémon game. Depending on what nature your pet has, their stats will level up differently, and they will favor a different type of toys.

For example, cuddly kittens would like catnip toys and petting, but not like hunting toys as much as other kittens.

I have heard a few reports of VKitty not working. However, most of the reports can be explained away as people not waiting long enough for pages to load or people not paying attention to instructions.  If you find any bugs, send an email to b@vkitty.co.cc with the problem, what page you were on, your score on the browser test, and any other information you think could help solve the bug.

Lost and found: The cats from the previous version of VKitty have been recovered. Be sure to tell me if your cat is one of the found cats.

Lost and found: The cats from the previous version of VKitty have been recovered. Be sure to tell me if your cat is one of the found cats.