This page holds links to some of the projects I have contributed to over the years, whether by commits, bugreports, or in other ways.
Many projects have their primary repos hosted on Github. Others (particularly Apache) have their primary repo elsewhere, but a secondary copy is held on Github. And some other projects have no official GitHub repo, but various users have established their own fork on Github.
And Github has a pretty cool way to search the repos it hosts. The following link searches for all commits where committer-name=”Simon Kitching”:
- Github search for all commits by me - in particular, most Apache projects now have a mirror on GitHub
Unfortunately, when a repo has multiple clones then the same commit is reported for each repo. If you know of a way to report each commit only once (ideally via some “primary repo” or “most starred repo”) then please let me know..
The primary reference for github-search-for-commit is here. Unfortunately, what is not clearly documented is that at least one “commit-specific” search keyword needs to be used in order to trigger “search for commit”; the “repo:” keyword is not enough as that alone triggers “search for repo”; any of “
committer*”, or “merge:” will however suffice.
I’m no core kernel hacker, but I do use Linux regularly and for a while did run custom-compiled kernels. As a result I have made a few small contributions:
And the specific commits are:
- drm/radeon: Prevent leak of scratch register on resume from suspend - fix for resource-leakage in a graphics driver used by my (old) laptop which leads to graphics acceleration eventually being disabled after multiple suspend/resume cycles.
- initramfs: prevent initramfs printk message being split - simple fix for kernel bootup log message
GCC (Gnu Compiler Collection) Java Compiler
- GCC contributors for release 4.7 or here - featuring a very small contribution by me to the GCC-java string library
I was fairly active in the Apache commons-logging project for a while..
- Apache Commons Logging Development Team Credit
- commits by me - 223 commits between May 2005 and September 2008
I was fairly active in the Apache MyFaces project for a while, mostly as a result of having a customer using JSF/MyFaces for a project.
Myfaces is a JavaServer Faces (aka JSF) implementation; due to the way the spec is written, lots of template-based code-generation is needed to produce a proper JSF-compliant implementation, and the build-tools project was invented by me to do this (not sure if it is still in use)
- commits by me to apache/myfaces - 72 commits
- commits by me to apache/myfaces-build-tools - 122 commits between Jan 2008 and Aug 2008.
My employer at the time was in the B2B integration space (helping companies exchange documents such as purchase-requests, when the companies used different data formats). Apache’s digester (together with XSLT) was a big part of the core framework, which led me to contribute bugfixes and new features..
- commits by me - 195 commits between Feb 2004 and June 2008
- commits referencing me - 28 commits between July 2002 and Nov 2006; mostly contributions before I became an official committer
Beanutils provides reflection-like helper methods for accessing Java instances that follow the “Java beans” conventions. Various other Apache Commons libraries I have used depends on it, and I made various contributions over time.
- commits by me - 34 commits between March and June 2005
Clirr is a tool for detecting binary incompatibilities between two versions (releases) of the same jarfile. If you are producing a Java library for use by other projects, it is important to know whether your new release is truly backwards-compatible with the previous release or not - and Clirr can tell you this. The founder of the project is Lars Kuehne; I was one of the major contributors.
- commits to clirr - clirr is a tool for detecting binary incompatibilities between two versions (releases) of the same jarfile. 127 commits between June 2004 and Feb 2008
Orchestra (now dead) was an attempt to provide better support for “server-side user state” (ie user sessions) within JavaServer Faces (JSF) projects. The founder was Mario Ivankovits; I worked at the same company as Mario for a while and both used and co-developed Orchestra.
Checkstyle is a tool for validating that Java source-code is compliant with a set of coding standards. It is useful as a code-quality check, even in smaller teams. I used it regularly, and made one minor contribution to it:
- Apache commons-chain - one fix
- Apache commons-betwixt - two fixes (note that betwixt was retired and therefore no official Apache repo exists on Github)
- log4j - provided class PriorityRangeFilter
Various contributions that did not involve submitting a code-patch:
- Velocity fix due to my submitted testcase
- Xalan-j fix due to my bugreport
- Ant feature based on a suggestion from me
- A discussion on dependency injection in OSGi
- A bugreport for Spring CORS
Some posted opinions on code-related stuff that is not otherwise documented on my site (note that opinions can change over time!)
- LWN comment re c/c++/java/c# - just an opinion at the time; I would probably propose Kotlin now :-)
And some references to work I have done or things I have written: