Tuesday, May 27, 2008

Damn .svn to hell!

Every once in a while i need to destroy svn a project as a working copy.

find . -name .svn -exec rm -rf {} \;

or

find . -name .svn -print0 | xargs -0 rm -rf

Monday, May 12, 2008

Kaizen, Yoga and Ruby on Rails

Kaizen is the Japanese word for the concept (and practice) of continuous improvement. It is a philosophy by which one actively re-evaluates processes in all areas of life. These processes are changed and adjusted in ways which promote improvement and eliminate waste.

Kaizen requires some methodology through which evaluation is done - something like the scientific method. With a methodical approach, it is much easier to observe the affect of changes and respond to them appropriately.

Also worth mentioning, Kaizen is not only concerned with the end result, but the process by which the end is attained. It is a holistic philosophy that is concerned with the big picture.

What i find particularly interesting, is how this principal is also echoed within other disciplines, like yoga for instance.

The philosophy of yoga is a mind-body practice by which happiness is sought (in brief). The body is continuously taken to it's boundaries and incrementally pushed beyond. The mind follows and guides in this process, simultaneously being taken and pushed beyond it's boundaries. This duality in yoga is what makes it a holistic process that draws on all areas of life.

Yoga can very easily be understood to be continuous process of incremental improvement. The goal may be happiness (or continual bliss), but the process by which we reach that place is also important.

I do a lot of work with Ruby and Rails and cant help but attribute some of it's success with how well it echoes the precepts illustrated within kaizen and yoga. The whole agile software process of incremental changes and enhancement to crank out a product mirrors the previous philosophies well. The process by which the product is created is also made important. It is made joyful and it is made to easily flow from the developer and the business goals, by not wastefully overcomplicating the process with unnecessary syntax or configuration nightmares.

Rails tries to tackle it's problem domain holistically by providing tools that make development with it easier: templating, testing, code generation etc. Importantly, though, it is just a tool used by the person wielding it.

My belief is that the more complete a person's life and experience is, the more complete the solutions and processes are that this person is able to produce. To be as complete as possible for any one moment, the process by which that one moment is reached must be a process of continuous improvement and re-evaluation.