My 2007 as a developer

Monday, 7. January 2008

I listed up what I did last year as a developer.

  1. Analysis: One of my research areas during graduate years was software analysis in design phases. Last year, I took a deep interest in code-level analysis, even runtime analysys. PMD and FindBugs were my friends. They are open-source projects and I added some rules (Checking is performed based on pre-defined rules) for my project at company. Performance is our main concern; I investigated our products with JProfiler. I compared Java profilers: JProbe, Yourkit Java Profiler, Eclipse TPTP, and JProfiler. Being friendly with these tools takes longer than expected. IMHO, JProfiler is the winner. To fully understand and utilize Profilers, I studied Java memory model and Java concurrency deeply.
  2. Python again : I met python in 2000, but hadn’t used it for several years. Last year, I met it again. I made some simple games using pygame library, and made very convinient tools for testing. It generates simulation input data and extract meaningful output from logs and then export them to MS excel or XML files.
  3. PHP: PHP is the only language I newly learned in 2007. I have to use it because my personal project (at home) is on a hosting service that provides only PHP. The project depends on PHP GD library.
  4. Javascript modules: I like YUI. YUI code is my mentor regarding JavaScript. Prototype is not bad.
  5. GUI unit test: If somebody argues that GUI is not suitable for automatic test, I can say he/she is wrong. I used UISpec4j for Java GUI testing and the result was satisfactory.
  6. Coverage: I compared coverage tools: Clover, JProbe coverage, Emma. Clover is better than others, and I used it. Coverge goal in my project is over 90% of line coverage, I could meet the goal with the help of test harness including UISpec4j.
  7. Continuous integration: I constructed continuous intergation environment at company. Anthill OS is a open-source CI tool. I changed it to add features such as unit testing/coverage/static analysis reporting intergation.
  8. Books: The 3 books I loved most in 2007 are Effective Java, Java concurrency in practice, Ajax in action.
  9. Community: I joined (or started activities) some developer’s communities such as JavaRanch, JavaLobby, and Artima. Especially in JavaRanch, there are many gurus I really appreciated. I posted comments and sometimes helped others resolve problems. I started my own blog.