Skip to main content

Kohsuke Kawaguchi

Kohsuke Kawaguchi is a senior staff engineer at Sun Microsystems. He has been working on XML and XML schema languages since 2001, in particular RELAX NG, W3C XML Schema, JAXB, and JAXP. He also hosts many projects on, such as Hudson. More information on him can be found at


kohsuke's blog

What do you try to leave in your commit messages?

Posted by kohsuke on February 25, 2010 at 10:09 AM PST

James Lorenzen had an excellent blog post about the importance of a descriptive commit comment. I can't agree more.

ASM incompatible changes

Posted by kohsuke on February 12, 2010 at 10:56 AM PST

ObjectWeb ASM is a great library that's used to parse Java class files. It's used in all kinds of projects, such as Hibernate, Corba, JAX-WS, Jersey, Spring, Hudson, to name a few.

But I have a pet peeve to this otherwise great library, namely its insistence on small size (which by itself isn't a bad thing), and its consequences.

MSI installers for Hudson

Posted by kohsuke on January 26, 2010 at 3:12 PM PST

I've finally managed to produce the Windows installer for Hudson, as originally raised by Håkan Reis. Please try it out and let me know how it works.

Shifting window focus via their spacial relationship

Posted by kohsuke on November 25, 2009 at 7:27 AM PST

At work, I have two monitors hooked up to my workstation, which gives me about 4300x1600 combined screen real estate (one of them had to come out of my own pocket, but that's a separate story.) When I switched from a single monitor set up, my behavior changed a bit.

Project of the day: YouDebug

Posted by kohsuke on November 8, 2009 at 7:30 AM PST

As a programmer, I spend a lot of time fixing bugs. And a considerable portion of that is the time spent on reproducing a problem. Here is how a typical such session goes. Your user reports that your program doesn't work and throws such and such exception. Or given the symptom he's describing, you suspect some "if" statements to be evaluating to false.

Hudson Webinar tomorrow

Posted by kohsuke on October 13, 2009 at 11:09 AM PDT

I'll be doing a webinar and Q&A sessions on Hudson tomorrow.

One of the problems of doing a presentation for the general audience is that I normally can't spend too much time on the advanced topics. So in this webinar, I'll be talking about several topics that are oriented more toward people who have already evaluated Hudson and/or are already deploying Hudson.

Read-only mirror of Subversion repositories for Hudson and GlassFish projects

Posted by kohsuke on October 8, 2009 at 5:27 PM PDT

Due to the recent availability problem in, I've set up Subversion mirrors for Hudson and various GlassFish related projects at

Reading stdin may cause your JVM to hang

Posted by kohsuke on September 28, 2009 at 6:12 PM PDT

Today I've digged deeper into one of the nastiest problems I ever encounted since I became a Java programmer.

The problem was this — I have the Hudson slave agent program, which blocks on stdin for read almost all the time.

Hudson at Oracle OpenWorld

Posted by kohsuke on September 25, 2009 at 11:09 AM PDT

We'll be hosting a Hudson community meet up at the upcoming Oracle OpenWorld (October 12th Monday, 2-3pm). If you are coming to the conference, please come see us!

Project of the day: OpenID for

Posted by kohsuke on September 21, 2009 at 5:08 PM PDT

I wrote and deployed an OpenID provider service for users.