Below are some of my writings and contributions to other works.
Blog
Thought Spearmints: My blog, on the brink of going awry.
Programming
Eliminate Boilerplate Code with the PICA Technique for Java: Describes a technique that leverages reflection, annotations, and dynamic proxies to assist with repetitive tasks such as converting property values to specific types. Out of this article sprung Property Binder.
Create Domain-Specific Languages with ANTLR (with Rod Coffin): Nice introduction to the ANTLR parser generator. Particularly happy with how this describes building up a grammar TDD-style.
Limitations of Reflective Method Lookup: Discusses a common misconception about discovering Java methods reflectively at runtime, and a way to perform such lookups more flexibly.
Concisions, Concisions...: By curly-braced programming language standards, Java's syntax is relatively clean, fairly free of unwelcome surprises. To my amazement, in my readings I recently tripped over a Java construct I'd never seen in my seven years of previous Java programming experience. This article discusses the construct, and a certain longing I believe this particular usage betrays.
Custom Assertions: Talks about writing custom assertion methods for JUnit, and along the way some "stupid array tricks."
Scrabble®
Entitlement: On how feeling entitled to success in competitive Scrabble® because of one's supreme preparation may leave one sorely disappointed.
Contributions
Reviewed the following books:
- For Manning Publications:
- Elements of Programming with Perl
- Web Development with JavaServer Pages
- JUnit Recipes
- For Prentice-Hall:
- Design for Trustworthy Software: Tools, Techniques, and Methodology of Developing Robust Software
Submitted a "stupid Ant trick" for Java Development with Ant (Manning)