Archive for January, 2012  @Override and interface  January
27th, 2012    public class Foo implements Runnable {     public
void run() {}        Uncategorized , ,  Writing programs that
drive Jenkins  January 27th, 2012  One of the interesting
discussions during SCALE 10x was about using Jenkins as a piece
of a bigger software. This person was interested in using
Jenkins to run some business analysis operations, and wanted to
have a separate interface for business oriented people. This is
actually an emerging but common theme I hear from many users.
Another company in San Jose actually built the workflow engine
that uses Jenkins as a piece in a bigger application (aside from
the actual build and test, this workflow involves reviews,
approvals, etc.), and GitHub Janky can be classified as one such
app, too.  This is something I always believed in — that every
piece of software needs to be usable by a layer above. Or put
another way, every software should be usable as a library.  So
in this post I’m going to di