It’s been a while I’ve done a project of the day, but here it is, the fruit of my yak-shaving today.
POTD: random but meaningful name generator
I’m working on the automated blackbox acceptance tests for Jenkins, where I often need to generate random unique names. The code has been using random number generator to generate such...
POTD: Application configuration via Guice binding + Groovy
Often I write my applications with Guice. I also often want to make those applications configurable externally. For example I might inject username and password for that app to talk...
POTD: cucumber annotation indexer
Cucumber for Java requires that you specify the packages in which your step definitions exist. At runtime, cucumber uses some hack to try to list all the classes in this...
JavaFX needs to be a new edition of Java
Lately, there has been a number of security vulnerabilities reported in Java. The latest one is reported just after a few days of JavaSE 7u11, which by itself a response...
COM4J updates
It’s been a while, but I’ve posted a new version of COM4J. COM4J is a library that lets you talk to Windows COM components. Unlike similar libraries lika jacob, which...
Debian and Maven, a crash of culture
Tim O’Brien posted his frustration about the state of Java packaging in Debian. While I’m not affiliated with Debian nor Ubuntu, I wanted to post something in defense.
@Override and interface
Jim Leary, my colleague at CloudBees, got me into digging into this.
Quiz answer: memory leak in Java
I posted a little quiz yesterday, and here is the answer.
Quiz time: memory leak in Java
Today I had an interesting debugging exercise, and I felt like I learned a new lesson that’s worth sharing with the rest of the world.
Deadlock that you can’t avoid
I learnt a new mode of dead lock in Java today
POTD: Custom Access Modifier
My project of the day (or "POTD") is Custom Access Modifier — an annotation and an enforcer that lets you define application-defined custom access modifiers,