Free Contact Management / Roledex Software for Windows

December 30th, 2009

A few years ago I wrote some contact management / Rolodex software for a friend. I went back to it today and created an installer for it and wanted to release it to the world. Download it now!

New Contact

New Contact

Main Interface

Main Interface

Detail Sheet

Detail Sheet

Program Options

Program Options

Birthday and Anniversary Alerts

Birthday and Anniversary Alerts

Zen Garden Farmer for Plants vs. Zombies

May 13th, 2009

Plants vs. Zombies is a great game. There’s lots to do, even after you beat the main game. There’s new games and puzzles to play, and things to buy. Money actually becomes a large part of the game later on, so having a good way to get money is important.

In my opinion, the Zen Garden is the easiest and most consistent way to get money if you have a decent sized garden. Purchasing Stinky the Snail makes collecting the coins and diamonds easier, but there is one critical problem: he’s narcoleptic. He’ll often take a snooze after just a couple minutes of collecting coins, meaning that you have to sit there and wake him up.

“Not fair!” I say. What if I wanted to take a nap? Can’t we take shifts? Apparently not, according to PopCap. So, I decided I needed something that would wake Stinky up, and along the way a few other features snuck in. Ladies and gentlemen, I give you… Zen Garden Farmer.

Garden Farmer works for you by taking control of the mouse and doing some of the more tedious tasks of taking care of your Zen Garden. Hopefully this video will help explain things.

So, feel like trying it out for yourself? Go ahead and grab it then!

Download Garden Farmer now

and/or…

Join the discussion on the Steam forums

Update: I got bored and decided to add in a Whack-a-Zombie mode. It works for Beghouled Twist too as long as you have matches available. If you run out of matches you can just take over for a second to hit the “shuffle” button, then put it back on cruise control. Video here:

“tv2night” Goes Live

February 8th, 2009

I applied for another Twitter account and created a small CRON job for it on my own server. Now you can follow Television Tonight and get tweets about one hour before your favorite shows come on the air.

Tweets (updates) are limited to 140 characters. In the space we have most of the important information. The format is concise, but useful:

[Show Name] s[Season #]e[Episode #] is starting on [Show's Network] in [minutes 'til air time] min! ([Time show starts] EST) Summary: [TinyURL to Episode Summary]

The tweet is measured before and after adding the summary. If the tweet is too long, the word “Summary: ” will be cut. If the entire link won’t fit it isn’t included at all, because having half of a URL doesn’t make much sense.

Interested in following? Check it out now: http://twitter.com/tv2night

Dawn of War 2 Multiplayer Beta Thoughts

February 4th, 2009
  1. The Requisition is broken.
  2. The Requisition is really broken.
  3. Seriously, please fix the requisition. The game is great, and deserves it.

This game reflects Company of Heroes pretty closely. Much of the game is based on taking cover, positioning, suppressing, and flanking the enemy. Especially suppression is a huge issue to deal with. Suppressed squads move slowly, take more damage, and are basically just dead. The only way to get out of these suppression effects is to get out of fire, die, or run like hell. The game has a “Flee” ability on most units that make them run away to the nearest reinforcement point. It breaks suppression effects and gives a little defensive bonus, I think. Your units are likely to live while fleeing, but they can get blocked off or pulled back by certain abilities.

Unfortunately, right now a big part of the game is also running the hell away from anything that could possibly kill your units. Because the requisition is so broken, any loss of units means minutes waiting to rebuild. In this game every second counts, and a minute feels like an eternity. I never see my requisition-per-minute counter passing 350, and it usually sits at about 200. One squad of Tactical Space marines costs 500. Are you seeing the issue here? If your marines die, you’re probably going to have to wait two and a half minutes for the requisition to accumulate. It’s rare that you’ll have any left over or stockpiled, because really you should be spending it all on more units, upgrades, an enhancements.

That little math problem aside, all of the Space Marines units are just plain too expensive. I often find myself stuck with two scout marine squads wondering how on earth I’m going to afford any other units, let alone upgrade my base or buy higher tier units. All of the other races have much cheaper base units. Granted, they are weaker, but at least you can afford them. Basic infantry (ranged and melee) squads in the other races run at about 270 requisition

The Eldar even get a 4-man suppression turret for 270 requisition. Based on this, I hereby declare the Eldar over-powered. No infantry squad can afford to be suppressed, and if you can cover lots of angles with the suppression effects, the other team is pretty much screwed. Punching through a line of fire is nearly impossible. You’ll either have to jump over the suppressing squad, tunnel under them, flank them, or somehow just avoid the fire. It almost never works, and you’re pretty much dead.

Similar suppression effects for the space marines cost 340 requisition for a devestator squad that, in my opinion, isn’t even as good as the Eldar’s. Tyranids must pay 400 requisition for a warrior squad, and then upgrade them for another 50 or so to get suppression. Orcs can’t even buy a suppression squad until they hit the 2nd Tech Tier. The best they can do is buy a shoota-boyz squad, and upgrade them with bigga-gunz. In my opinion, this doesn’t count. It’s an ability with a cooldown, and often the suppression doesn’t work or wears off too quickly. The cost to get that would be about 270 requisition plus another 50 or so for bigga-gunz.

The game seems to have a few parallels to Blizzard’s Warcraft III, though they play them down so it doesn’t seem that way. First off, you select a “Commander” to lead your army. Each Commander sort of plays a different role. Offense, Defense, Support, Tunneler, Assassin, etc. The Commander (and all other squads) level up, and get stronger (yes, stronger) as they kill units. To me, this almost doesn’t make sense. If you are on the wrong end of the stick getting your ass handed to you, do you really want the other guy just gaining an even bigger upper hand? While he’s stockpiling requisition and you are getting little to none?

Also, a large part of Warcraft III was the “Upkeep”. What happened with upkeep was that when your army got large, you only got a portion of any resources you harvested. It isn’t ever mentioned in this game, but if you pay attention you will notice that you get a lot less requisition-per-minute when you have a standing army than when you have next to nothing. Compare the screenshot below with the screenshot above:

As a final thought, it also doesn’t seem to matter how hard you work to take requisition points. In the end it hardly even matters. I laid the smack down on the highest level computer player and took every point possible as quickly as I could. This actually HURT me, and I acquired less requisition than he did in the course of the game. Now how the hell did that happen?

This is warfare, not welfare!

It seems like the only strategy that matters is stealing people’s power. This keeps them from upgrading their headquarters, getting higher tier units, and getting upgrades.

Spore DRM Causes Creature Backlash

September 16th, 2008

The creators of Spore tangled with the internet and got more than they asked for. Users around the world, ticked off about Spore’s DRM have began creating anti-DRM creatures to voice their opinions.

Read more from the original article.

Easy Text Area Character Counter with Javascript

August 16th, 2008

Have you ever wanted to add a character counter to a box of text on a web form, but didn’t want to get your hands dirty with all of the Javascript and programming that’s necessary to make it work? If you said yes, then start getting excited right now.

Recently, I had the need to create a character counter for some text areas on a web form. As many people have come to realize, most browsers don’t enforce a maxlength on text areas. To help handle this, I wrote a little script that finds maxlength attributes on textarea elements. Once they are found it ties the element to a function that will count the characters, and force cut offs if you require it.

Remember, you should always double check your lengths on the server side before you send the values off to wherever they may be going. People can disable Javascript on their browsers to get around the limits you set.

Check out the demo below:


Demonstration Form

Using the code is very simple. All you have to do is include the script into your document’s source, and then attach attributes to your textarea elements like this:


Example Code
<textarea name="fixlength" maxlength="300" lengthcut="true">your text here...</textarea>

You’ll notice two new attributes not usually placed on textarea elements: maxlength and lengthcut. The maxlength attribute makes the code display the character counter. If you add lengthcut="true" the maxlength will be enforced and will not allow users to type past the limit. Check out the full code example below…


Example Code
<form method="post" action="YourScriptHere.php">
<textarea name="getlength" maxlength="300" rows="5" cols="45">Demo Text. This field has a maxlength</textarea>
<textarea name="fixlength" maxlength="300" lengthcut="true" rows="5" cols="45">Demo Text. This field has a maxlength, and the length is enforced.</textarea>
<label></label>
<textarea name="nolength" rows="5" cols="45">This field has no maxlength.</textarea>
<input type="submit" value="Submit" />
</form> <script type="text/javascript" language="javascript" src="/scripts/charcount.js"></script>

Adding extra elements with Javascript on the fly after the page loads? No problem! Simply call the parseCharCounts(); method after your new textarea has been appended to the document. The script to make find then new textarea elements and handle them accordingly.

Ready to use it on your own pages? Download or copy the source now for free!

  • Right click and select to save, or click the link to view or copy the source
  • DOWNLOAD NOW: charcount.js

Arby’s “Borrows” Pick 5 for $5.95 Generator?

August 8th, 2008

A little over a year ago, taking a break from classes and working as a full time intern for my University I didn’t have a whole lot to do. One day during my lunch at Arby’s and noticed the paper tray. “Pick 5 for $5.95! Over 790 possible combinations!”, it said. Thinking to myself about the number of combinations, I decided to take up the challenge of randomly generated lunches and developed my own Arby’s Pick 5 for $5.95 Generator.

The Original Arby\'s Pick 5 for $5.95 Generator

The Original Arby’s Pick 5 for $5.95 Generator

It’s been sitting happily, hosted around my various sites over the past year. It was even mentioned in a Consumerist article about Arby’s recently. It doesn’t generally get too much traffic, but the usual traffic is about 7 or so people daily. Based on the keywords people use to find the site, many of them are realizing that Arby’s has clearly failed to post their 5 for $5.95 menu online. Because of this, the generator sits near the top of the results for a variety of “arby’s pick 5 menu” keyword searches. Recently it’s jumped a little and I just couldn’t figure out why… until today. I was browsing the news to see if something had been in there to make it jump, and then I checked the Arby’s website to see what was up. Much to my surprise, I discovered this fancy version of what looks a whole lot like the generator created a year ago!

Change the skin...

Change the skin…

...add a little pizzazz...

…add a little pizzazz…

...and we get the same result!

…and we get the same result!

Looks pretty similar, right? In my opinion, the best part is that their generator displays menu items which no longer are available on the pick 5 (can’t get Mozzarella sticks in my area) and show the price as $5.95 (when it’s $6.95 most places now). Their generator also has a few of the same quirks as my own, such as giving you multiple drinks or shakes. It also has the same sort of “slot machine” feel to it. To me it looks like Arby’s found an idea they liked and just sort of took it. Seems silly to me that this didn’t occur to them earlier. What else would you possibly do with a menu combination deal besides make a random generator out of it? Especially one that is entertaining and generally makes people hungry.

Because Oil Affects Everyone…

July 31st, 2008

I came across this today and decided to post it. It doesn’t have anything to do with technology directly, but oil prices affect everyone and this was a painful flashback to how things used to be. I’m not trying to make any political statements here, I just found it interesting to look back.

Arby’s Pick 5 Generator Featured in Consumerist!

July 19th, 2008

I was reviewing my site data today, and it turns out that my old Arby’s Pick 5 for $5.95 Generator on my Purdue web space was hit 65 times on July 2nd, 2008. I thought this was really strange and probably a fluke or hits from robots or something. Much to my surprise, I found that I was linked a Consumerist article talking about rising prices in some Arby’s chains! Very cool, since Consumerist is a huge site. Thanks for the link!

JW Media Player

June 25th, 2008

My buddy Joe Goble told me about JW Media Player today. It’s an open source flash media player suitable for playing a wide variety of online media. It could turn out to be a valuable tool for the internet radio idea I was tossing around before.

He also mentioned LyricWiki which has a slick web service for querying information about songs, artists, etc.

Thanks, Joe!