Welcome to The Ferris Foundation. This foundation aims to build a number of unique and highly specialized Java software library and application projects.

Commons

Constraint

Ferris Constraint is a project which provides a simple set of classes which can be used to check an object against common constraints. For example, an object is required to be not null or a number is required to fall within a certain range.

Crypto

Ferris Crypto is a project containing classes related to cryptology. Theses classes provide fascades over the javax.crypto package.

Derby

Ferris Derby is a project containing classes related to the Apache Derby database.

IO

Ferris IO is a project containing classes related to the core Java language features, specifically stuff which enhances the java.io package and which is not already in Jakarta Commons.

JUnit

Ferris JUnit is a project containing classes related to unit testing with JUnit. It contains base test classes, wrapper objects, mocks, and shunts.

Lang

Ferris Lang is a project containing classes related to the core Java language features, specifically stuff which enhances the java.lang package and which is not already in Jakarta Commons Lang.

Math

Ferris Math is a project containing some statistic, probability, and other math functions.

Naming

Ferris Naming is a project containing classes which enhance or extend the capabilities of the objects already in javax.naming.

Net

Ferris Net is a project containing network utilities plus classes which enhance or extend the capabilities of the objects already in java.net.

Registry

Ferris Registry is a project containing tools which allow you to read information from the Windows Registry.

SQL

Ferris SQL is a project containing reusable database access components plus classes which enhance or extend the capabilities of the objects already in java.sql.

Swing

Ferris Swing is a project containing the reusable swing components plus classes which enhance or extend the capabilities of the objects already in javax.swing

Util

Ferris Util is a project containing classes related to the core Java language features, specifically stuff which enhances the java.util package and which is not already in Jakarta Commons.

XML

Ferris XML is a project containing classes related to XML Documents, specifically how to easily read simple XML Documents without needing to learn an entire XML-Java mapping tool.

Journal

Journal EJB

Journal EJB is the business logic of a Journal (or diary) application. This project provides the Java Persistance classes and stateless EJB classes to get and set journal related data.

Journal JWS

Journal JWS provides a Web Service front end to the business logic contained in the EJBs of the Journal EJB project. The purpose of this class is to allow client access to the business logic without the clients having to use the EJBs directly.

Journal EAR

Journal EAR wraps up all of the enterprise journal applications into a EAR file for deployment onto a Java EE server. The EAR will contain Enterpise Java Beans and Web applications, and Web Service applications.

Journal GUI

Journal GUI is a Java based Desktop GUI application for a journal (or diary) application. This application uses the web services provided by Journal JWS to get and set journal related data.

Flickr

FlickrJ

Ferris FlickrJ is a Fascade over the real FlickrJ library. Although the real FlickrJ library is excellent and works very well I didn't find it very intuitive to use. So, I developed this fascade over it to make it a little more user friendly.

Flickr Authentication

Ferris Flickr Authentication is designed to generate an Authentication Token which can be used in combination with your Flickr API Key and Flickr API Secret to allow an application access to your flickr account.

Flickr Verification

Ferris Flickr Verification is designed to test if your Flicker API Key, Flicker API Secret, and Authentication Token will work together successfully in accessing your Flickr Account.

Bible

Bible Common

Ferris Bible Common is a project created to organize, in one place, all of the shared code which the bible applications use.

Bible RSS

Ferris Bible RSS provides an RSS feed for Daily Bible Reading.

Bible JMCE

Ferris Bible JMCE is an application deployed to a JMCE server whose purpose is to get bible reading passages every day (based on a yearly reading schedule), Store those passages for an RSS feed, then (optionally) e-mail the passages for subscribers to read.

JMCE

JMCE Server

Ferris JMCE Server or Java Main Class Executer. is an init.d like service runner for Java applications. Modeled after Tomcat, each service has it's own directory in /deploy (like each webapp in Tomcat has its own directory under /webapps) and each service executes in its own class path, independant of the other services in /deploy

Dyndns JMCE

Ferris Dyndns JMCE is a service deployed to a JMCE server whose purpose is to login to a Dyndns account daily because if login not done on a regular basis the account gets deleted.

Yahoo! Finance JMCE

Ferris Yahoo! Finance JMCE is a service deployed to a JMCE server whose purpose is to screen scrape the Yahoo! finance page for the closing values of the American stock exchange. This information is then e-mailed to you.

Memory Manager

These are libraries and applications related to the application named Memory Manager from the company Creative Memories.

Memory Vault

Ferris Memory Vault Is a 100% pure Java API and Implementation capable of reading the data files of the Memory Vault of an application named Memory Manager from the company Creative Memories. This library is capable of constructing the tree of sortboxes, folders, and photos inside the folders, as well as contructing the albums and showing the photos inside the albums.

Memory Manager To Flickr

Ferris Memory Manager To Flickr is a Java based application which connects your Memory Manager Memory Vault to Flickr. This application will upload the pictures you select to a Flickr photoset you select and also automatically set the pictures title, description, and license.

Servlets

Download

Ferris Download is a reusable EE Servlet which can be used by webapps to safely download files off of the server's file system. "Safe" is defined as the servlet will not give the client any files outside of the directory structure it is configured to use.

Java Developer's Journal

This is research done for articles written for Java Developer's Journal

JDJ DBCP

Ferris JDJ DBCP is a very small project created to demonstrate how a Tomcat plugin can be created to secure Tomcat database passwords.

JDJ Timeserver

Ferris JDJ Timeserver is a research & development application to learn about distributed notification via RMI.

JDJ Web Service

Ferris JDJ Web Service is a research & development application to learn how to use your own self-signed SSL certificates so you can use a Java client to communicate with a Web Service over HTTPS.

Miscellaneous

Grader

Ferris Grader allows students to check the output of their programs to see if they are correct.

iBatis

Ferris iBatis contains utilities related to iBatis specifically an application named Question Mark Replace. Copy and paste the query and parameter list from the iBatis log files into the application and the application will replace all the question marks with the parameters. Normally this is easy to do manually but when a query is dozens of pages long manual replacement is no longer practical.

jMirror

Ferris jMirror is a simple data synchronization application which will mirror the contents of one directory to another directory.

Tray

Ferris Tray is a project to perform research & development on the Java 6 SystemTray class. This project will put a small icon in the operating system's system tray. When you right-click on it, various miscellaneous stuff is available.