Posts by Eric Sorenson
Every day at around 11:30 the developers in my area are faced with the most difficult question of the morning: where to go to lunch? To help move things along, I decided to create an IRC Bot for our developer channel. There’s no point in reinventing the wheel. After 30 seconds of Googling, I found a very capable framework: http://www.jibble.org/pircbot.php. Just extend the PircBot class, and in minutes you’ll have a functional IRC Bot!
import org.jibble.pircbot.PircBot;
public class LunchBot extends PircBot {
public static String[] lunchSpots = {
"Copp's",
"Chipotle",
"Chin's",
"Quizno's",
"Casa Bianca",
"Panera",
"Cousin's",
"Milio's",
"Subway",
"Boston's",
"JT Whitney's",
"Takara",
"Laredo's",
"Quaker Steak & Lube",
"TGI Fridays",
"PF Chang's",
"the Hubbard Ave Diner",
"McDonald's",
"the West Towne Mall Food Court",
"the first floor",
"the fridge in the break room and steal a brownbag"
};
public LunchBot() {
super();
setName("LunchBot");
}
public void onMessage(String channel, String sender, String login, String hostname, String message) {
if (message.equalsIgnoreCase("lunch")) {
sendMessage(channel, sender + ": you should go to " + lunchSpots[(int) (Math.random()*lunchSpots.length)] );
}
}
}
If anyone types “lunch” in our channel, they’ll get a random item from the list. It took more time to think of the lunch options than it did to do the research and coding!
Filed in: Team Member Blog
I have to admit that I’m more than a little excited about the current news revolving around large solid state drives. With BitMicro prepping a 832GB solid state drive following Sony’s first NAND based laptop and rumors of a harddiskless portable from Apple being announced at the Macworld expo, it appears that the death of computers with moving parts may be on the horizon. These drives have higher transfer rates, lower power consumption and higher reliability; this would be a positive move on all fronts. I also believe it will open the door for more interesting and creative hardware design, which is always a plus as long as hardware makers remember to be sure their creations are practical. It’s amazing how often they miss that piece of the puzzle.
On a semi-related note, some are claiming that the HD format war is over, and Sony has won with Blu-ray. After getting a taste of Netflix.com’s Watch Instantly feature, it’s obvious that physical discs are becoming less relevant. The current music market is a great example of this, as I can’t even buy physical copies of many of the albums I’m interested in. Will the true HD format war simply use proprietary codecs with a client/server model? I would love to be a part of a team that designs and builds a system of that magnitude!
Filed in: Team Member Blog
Eclipse 3.3 doesn’t come with plugins to support the svn+ssh protocol right out of the box.
An easy way to install new plugins for Eclipse: Help / Software Updates / Find and Install… / Search for new features to install / New Remote Site… and enter an update site URL.
1) Install the Subclipse plugin with http://subclipse.tigris.org/update_1.2.x
When using Subclipse with the JavaHL libraries (these use JNI) I would consistently get a “malformed network data” exception every time I committed to the repository. While the files seem to have been committed, they produced conflicts on the next synchronize. To fix this, I installed SVNKit.
2) Install SVNKit with http://svnkit.com/
SVNKit is a pure Java Subversion client library. Open the Eclipse preferences, and change the SVN interface SVNKit as I have below.

From here, you’ll be able to open the Subclipse perspective and define a repository that uses svn+ssh, and successfully perform any command.
SVNKit will also work with the Subversive plugin.
For more information on these plugins visit:
http://www.svnkit.com/
http://subclipse.tigris.org/
http://www.polarion.org/index.php?page=download&project=subversive
Filed in: Team Member Blog