Projects

Open-source Projects

I’m involved in a large number of open-source projects. It’s too many to list them all here, but major ones include the followings:

  • Jenkins — a continuous integration server.
  • Akuma — turns a Java program into an Unix daemon
  • File leak detector — monitors file descriptor open/close activities and records its stack trace.
  • GitHub API — Object-oriented Java client API for GitHub
  • Groovy sandbox — executes untrusted Groovy script in a restricted sandbox
  • libpam4j — Java library to perform Unix PAM authentication.
  • META-INF/services — auto-generate META-INF/services file from annotation.
  • Winp — windows process manipulation
  • YouDebug — DSL for debugger
  • com4j — Interop between Java and Microsoft COM, the Java5 way.
  • Dalma — a workflow engine that uses continuation.
  • args4j — Java command-line options handling, the Java5 way.
  • sorcerer — Java source code cross-reference tool. “read-only Eclipse on in a browser.”
  • Parallel JUnit — JUnit3 extension to run unit tests in multiple threads.
  • Stapler — my own Java web framework, used for Hudson.
  • FreeTrain — a .NET ‘clone’ of a famous Japanese railroad simulation game “Take the A train”

Projects at Sun

At Sun, I was involved in a large number of projects:

  • GlassFish v3 — I was invokved in the architecture and foundation part of it, most notably HK2
  • JAXB (Java Architecture for XML Binding) — I’ve done significant part of the implementation and the spec maintenance work.
  • JAXP — I worked on the validation API based on JARV (both spec and implementation.)
  • JAX-WS/Metro — I led the design of the new architecture in the JAX-WS RI 2.1 and involved in various parts of implementations. I’m also working on various extensions.
  • Sun Multi-Schema Validator (MSV) — XML validator that supports various schema languages.
  • Sun XML Datatypes Library (XSDLib) — XML Schema datatypes implementation as a reusable library.
  • RELAX NG + Schematron — A tool that allows Schematron to be combined with RELAX NG.
  • XML instance generator — A tool that generates XML documents from a schema file. Supports various schema languages.
  • RELAX NG converter — A tool to convert schemas written in various schema languages to their equivalent in RELAX NG.
  • codemodel — Programatic java code generation library originally used in the JAXB RI, now available as a stand-alone project.

My earlier RELAX NG related work is available for archival reasons.