Home
Career
Tech
Resume
Research
Contact

Brian TerBush

Technology


1. Java Technologies
2. Patterns
3. Development Tools

1. Java Technologies

Primarily I develop in Java these days.

To keep up, I regularly use these technical resources:

2. Patterns

I find patterns to be essential tools and concepts in good object oriented software design. In fact, everyone on our team is required to read the essential GOF (Gang Of Four- the 4 authors) patterns book:

Design Patterns : Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing)

3. Development Tools

My current set of development/management tools, all of whose use I have influenced or recommended.

  • Apache. Cross platform, fast commercial-grade free implementation of an HTTP (Web) server.
  • JavaDoc: Our coding standards require accurate and concise java source documentation. 
  • JBuilder. It has its problems but currently my favorite.  Easy to right plug-ins for it.
  • JTest: Performs static analysis (enforcing good source standards) and white box testing. We refer unit testing to JUnit.
  • JUnit: This is a free testing harness. We use it extensively, writing tests for nearly all classes I create. The tests ensure that the class performs according to requirements.
  • Objectivity: Highly scalable object database.  Reduced development time.
  • OptimizeIt: Used to profile Java classes. It has been indispensable in locating bottlenecks, memory leaks, etc.
  • Oracle: The best relational database, we use this on most projects.
  • PVCS: We use this on most projects now especially nice for the telecommute.
  • Rational Rose: CASE tool. We use it in our lightweight process whenever we do top level design of a subsystem. We make extensive use of activity and sequence diagrams before developing basic class structures.
  • SourceSafe: Simple to use version control for very small projects.
  • Visio: Flowchart software for everyday use. Great for documentation, and conveying technical concepts in a visual manner.
  • Visual Cafe. As a secondary development IDE, and to fill in the gap for user interface development where JBuilder leaves off.
  • Weblogic Application Server The best application server out there.
  • ZeroG InstallAnywhere: Used to create product installations. I am constantly on the look out for better deployment mechanisms.