Walend Enterprises Distributed Computing
I specialize in designing, creating and supporting reliable distributed applications in Java. I have seven years experience using Java to develop tools for financial analysis, commerce and software development. My practice focuses on repeated reliable testing, continuously available demonstrations and frequent client feedback to quickly produce the working, supportable system the client wants.
A more formal Resume
How I do Things
What I Know and What I'm Learning
Open Source Projects:
- Cricket Cage automatically creates JUnit TestCases for repeatable bugs and test scenarios. Including Cricket Cage's AspectJ code in a compilation installs the code generator. Running the scenario generates the TestCase from a Velocity template. Adding the new TestCase to an ant build script insures that every successful build passes that test, so no code changes break the scenario.
- JEnum is a Java runtime jar for working with enumerated types, as described in Josh Bloch's Effective Java Item 21, and a one-way code generator to create the needed classes from xml and Velocity templates. The API is patterned after the Java Collections API.
- Somnifugi JMS is an implementation of JMS that works inside a single JVM to send JMS Messages between Threads. Somnifugi is particularly useful for isolating the AWT Thread so that the user interface will stay lively, for decoupling calls to external resources such as database connections, and for speeding up systems of generic JMS clients by allowing decoupled JMS clients to share memory in the same JVM. Somnifugi JMS is a test case for JSR-121, Application Isolation API.
- JDigraph is a Java library for representing and working with directed graphs and paths. The JDigraph API is patterned after the Java Collections API. It provides interfaces and implementations of unique-edge, common-edge and generic-edge directed graphs and paths, supporting classes, and implementations of Dijkstra's, Bellman-Ford's, Floyd-Warshall and Johnson's algorithms. JDigraph also shows my best example of automated building, testing and packaging of a project.
- Lyophilizer provides a robust generic kit of interfaces so that developers can create algorithms and systems of JavaBeans without worrying about different kinds of persistence back ends. Lyophilizer uses the "interface & driver" pattern extensively to insulate developer's interesting code from changes in the system's distribution, persistence, security or transaction support.
Contributions to Other Open Source Projects
- I helped rewrite the ant user manual when I found a few errors in the examples.
- I added a few methods in JUnit to better handle exceptions.
- With Slava Pestov, I revived the XML tools for JEdit.
- I added a unit test to HSQLDB.
- I recommended Sun create the Shutdown Hooks API in Java 1.3. They even used the method name I suggested in the bug report.
Contact Information
http://www.walend.net
mailto:david@walend.net
88 Ripley St
Newton MA 02459
617 916 2763
Home How What Resume