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.
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.
Dilate by One
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.
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.
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.
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.
If you have ever programmed using Java IO, you will quickly run into a situation in which a class creates data on a Writer and you need to send it to another class that expects to read the data from a Reader. You’ll soon be asking the question, “How do I convert a Writer to a Reader?”
Nowhere in Java will you find a WriterToReaderConverter class. Luckily, there are several ways to go about this.
Many text editors have advanced find (and replace) features. I recently wrote an article about finding C style comments in source code. A similar technique can be used to find comments in HTML files.
Anybody who has worked with Cascading Style Sheets (CSS) quickly learns that they are a very powerful tool for adding presentation to web pages. Cascading Style Sheets change the fonts and colors in HTML documents easily, a feature that any good webmaster will now employ. The specification for CSS also allows for elements to be positioned on the page so that CSS can do layout with the same advantages as font and color.