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.

100%
 

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

75%
 

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.

30%
 

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

2%
 

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.

13.42%
 

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.

95%
 

Fishing Minigame

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

5%
 

Item images

12 items have images, and 30 are missing them.

6.89%
 

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.

0.03%
 

Lottery

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

100%
 

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?