Should it know that information

By on Jun 9, 2013 in eng |

A couple sprints ago I did a small refactoring on a piece of code. The code is short but able to clearly express the concept of distributing knowledge between objects

Cut it out and run

By on Mar 10, 2013 in eng | 3 comments

One of the big gaps between seasoned developers and the less experienced ones is the troubleshooting skill. Unlike any other knowledge, this kind of skill is difficult to teach and learn. Developers invest tons of hours to develop his or her own techniques in gathering information and seeing through details to find the root cause of the problem. Sometimes the problem is new or you don’t have enough knowledge in the tool or system that you are working on. This may lead to the dead end that you have run out of all the ideas. I have one simple technique I often use when I cannot think of anything else I can do.

Spring WebApplicationContextUtils

By on Feb 17, 2013 in eng | 3 comments

Last week I tried to find a way to access a spring bean from ServletContextListener. There are some interesting details that I want to log in here for later reference.

Agile Tour Bangkok 2012

By on Dec 16, 2012 in eng | 2 comments

The Agile Tour Bangkok 2012 initiated by the Agile66 community could be count as the biggest public agile event (that I know of) ever held in Thailand.

Simple little tools in JDK

By on Oct 28, 2012 in eng |

Software development needs more than just coding. There are a lot of things to do to move software functionality from running on developers’ laptop to going live on production. Developers need more skills other than coding to make their life less miserable through the whole software life cycle. One of the critical skills is about troubleshooting. This post I will talk about some little tool in JDK that has been helping me saving a lot of problem investigation time.

Wrong level of abstraction

By on Oct 23, 2012 in eng |

I was refactoring a module in my project and found an interesting case that implementation detail has been exposed through interface. The code before refactoring was actually did its job fine but it just looked strange in the view of abstraction design.