Projects
I develop quite a lot, this growing list is an attempt to contain a sampling of the things I've written. They range from small scripts in various programming languages to Widgets and programs. The dates reflect when the item was last updated. For older projects, the date may be when it was first publically posted. Click the icon images to see a larger preview of the project. Some projects may not have larger previews.
A tool for taking screen-shots of an entire display, or rectangular or freehand selections. After a screen-shot is taken, a mini-editor can be used to add highlights, pencil/pen drawings, text annotations or even crop the image further.
The Widget can be set to copy to the clipboard after capturing a screen-shot and told whether or not to skip showing the mini-editor. Images can always be copied to the clipboard via a button from the mini-editor. The image-to-clipboard functionality requires Java, and not all applications will accept the image clipboard data.
The idea was, at least initially, a pseudo-attempt to clone a tool available for certain versions of a popular operating system. However, since then it's acquired some differences and new features. The look of the application is sort of based on my operating system's current theme.
A naive implementation of Conway's Game of Life using JavaScript and Canvas. This was later turned into a Widget by Hunter Ryba. It could definitely use some optimization for determining which squares to iterate over. This implementation also wraps the board, which seems to be more "life-like" than considering anything outside the board to be "dead."
A script for displaying a table-like grid in Canvas. It provides abilities (via renderer functions) to control how it looks and display of text data. Text rendering wasn't included in the base table code due to Y!WE's non-implementation of a way to easily draw text to a Canvas object. It was written to be similar in design to Java's JTable.
The table itself is split up into 3 parts, the column header area, the row header area and the cells so the table can easily be put into various frames to allow scrolling of tables which are too wide or too long.
This script was originally written to help out a Konfabulator forum poster looking for a table widget. In the end, I was too slow get back (despite writing it in less than 24 hours) and the poster was linked to a different solution that he was able to work with instead.