Griffin Road Trip for Ipod Review

I have been eying products that transmit your Ipod on a radio station for listening on your car radio for over a year now. Up until now, the offerings have seemed rather limiting in some way. Either it has been too hard to change the station, the Ipod didn’t charge in the car, or the Ipod sat inconveniently on the passenger seat. The Griffin Road trip seems to be the best Ipod transmitter available, as it doesn’t have any of these problems.

(more…)


TripAdvisor’s Hotel Availability Comparison

Since I spent about six months of my professional life working on TripAdvisor’s hotel availability comparison feature, I thought a little writeup about it here would be appropriate. If you fill in the form over on the right you will be taken to a page on TripAdvisor that shows hotels that are available for the dates that you chose.

(more…)


Opening .jar Files

The jar file format is common for distributing programs and libraries that are written in Java. Jar stands for Java Archive. Your browser may download Java applets in a .jar file or you may get a .jar file that contains a Java application that needs to be run. The file format is also by Mozilla and Firefox as the format for XUL applications, plugins, and skins.

The jar file format is a container and compression file format. Each jar file compresses and contains other files. Jar files are very easy to open. There are many programs that will act as an opener for jar files. In fact, any program that can open zip files can open jar files. The jar format is identical to the zip file format.

(more…)


Efficiently Implementing Dilate and Erode Image Functions

Dilate by One

Motivation

Dilate

Dilate is a function that accepts a black and white image. It is also known by the names “grow”, “bolden”, and “expand”. It turns on pixels which were near pixels that were on originally, thereby thickening the items in the image.

(more…)


Finding a Loop in a Singly Linked List

Motivation

A singly linked list is a common data structure familiar to all computer scientists. A singly linked list is made of nodes where each node has a pointer to the next node (or null to end the list). A singly linked list is often used as a stack (or last in first out queue (LIFO)) because adding a new first element, removing the existing first element, and examining the first element are very fast O(1) operations.

When working with singly linked list, you are typically given a link to the first node. Common operations on a singly linked list are iterating through all the nodes, adding to the list, or deleting from the list. Algorithms for these operations generally require a well formed linked list. That is a linked list without loops or cycles in it.

(more…)


SoundSpectrum releases G-Force 3.0

A good friend of mine from college, Andy, has been programming music visualization software for many years now. He started SoundSpectrum, a company based on his work. Recently another friend of mine, Anton, joined him. They just released their newest version of G-Force on June 8, 2005.

(more…)


Bugzilla – Setting ‘Target Milestone’ During Bug Creation

I’m a fan of the Bugzilla bug tracking system that came out of the Mozilla web browser project. It is a web based system that makes it pretty easy to track issues with pretty much any piece of software. Furthermore, it isn’t that hard to set up, so I have used it in more than one employment setting.

At work, we have a private Bugzilla installation that is only visible to employees. Given that everybody that can enter bugs should know how to fill in even the more complex fields, the enter bug form seemed a little inadequate. Our QA department really wanted to be able to specify the target milestone for a new bug to be for the next release when they entered a bug for a regression during the full quality assurance check a few days before a release.

(more…)


Convert a Java OutputStream to an InputStream

If you have ever programmed using Java IO, you will quickly run into a situation in which a class creates data on an OutputStream and you need to send it to another class that expects to read the data from an input stream. You’ll soon be asking the question, “How do I convert an OutputStream to an InputStream?”

Nowhere in Java will you find a OutpStreamToInputStreamConverter class. Luckily, there are several ways to go about this.

(more…)