Why heuristics-based antivirus sucks

Today I attempted to download a game I wrote many years ago as a little kid to play again for a small dose of nostalgia. What do I find? Norton removed the file not because it contained a virus, but due to a “reputation” algorithm. I would never inject malicious code into my applications, however the multitude of users relying on such “Anti-virus” software would see the alert and forever remember me as a person attempting to cause harm to their computers. A simple “helpful” algorithm intended to prevent viruses leads to lost trust in applications developers and hurt feelings for game makers simply attempting to replay their past creations.

WebTranslateIt Note to Self

Never upload a file to http://webtranslateit.com from a windows computer. I just spent a lot of time recovering from an accident where I tried to download the latest version of translations to my netbook and update the translation manager from there. It caused a lot of trouble

Debugging plugins on a live Bukkit server

<tommytony> “C:Program FilesJavajre7binjava.exe” -Xms2048M -Xmx2048M -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y -jar craftbukkit-1.6.4-R2.0.jar
<tommytony> then create a new Debug Configuration in eclipse
<tommytony> choose Remote Java Application
<tommytony> set port 8787
<tommytony> run that debug profile from eclipse
<tommytony> your server should start
<tommytony> and you can breakpoint

2013 0hgame

Me and vel0h made a game for the 0hgame initiative this year! This is a jam where you make a game in “zero hours”: the one hour loss during daylight savings time. As you can guess, the quality of the game won’t be the best, but that’s the whole point of a jam!

Download Cosmic Soccer Battle

Extract the ZIP, then run game.bat for windows or game.sh for mac/linux.

Instructions: use WASD to move, SPACE to fire your soccer ball. Avoid running into aliens. Shoot for the other team’s goal or aliens. The ball will travel in the direction you are currently moving.


Progress bar code I found

public String generateProgressBar() {
  int total = getSizeX() * getSizeY() * getSizeZ(); // Area
  double percentage = this.visitedBlocks / total;
  StringBuilder progBar = new StringBuilder();
  progBar.append(Math.round(percentage * 100)).append("% ["); // 0.1 becomes 10
  int bars = (int) percentage * 10; // 0.1 becomes 1
  for (int bar = 1; bar <= 10; bar++) {
    if (bars >= bar) {
    } else {
  return progBar.toString();