Saturday, January 26, 2008

Bring Down the Government

"You look so tired-unhappy, bring down the government, they don't.. they don't speak for us." - No Surprises by Radiohead

No matter how peaceful a demonstration is, the government considers it illegal and people are arrested. Aren't they there to speak for us?

How can our voice be heard?

- yc, with his final bellyache

Sunday, January 13, 2008

RE: Rethinking Software Development

My colleague David wrote a thoughtful blog about maximizing quality by increasing software development time, do take a look at it here.

Test-Driven development (TDD) and continuous integration (CI) are not new terms but they could be in Malaysia (generalizing based on the number of software engineers that I have met), or people (managers and developers) could just think they are something impractical in terms of meeting the project's deadline and such.

They should find out about the "Broken Iron Triangle" too.

- yc

Saturday, January 12, 2008

AMBP (All Malaysian Bloggers Project) Gathering

The AMBP folks organized a bloggers' gathering this afternoon at the Starbucks of The Gardens, Mid Valley. I'm glad to meet Shaz again and other (old) XFresh fellas, and oh yea.. my cousin David.

Anyway, couldn't really spot technical and political bloggers, but a number of teens, $ bloggers, cam-whores, camera geeks.

You can read more about this event from these blogs.

- yc

Friday, January 4, 2008

Back to Maven, No to Raven and BuildR

One of the TODOs I set for this year is to find out more about Raven -- a Java build tool written in Ruby. The rationale behind such tool is that it provides you with a full scripting environment, unlike the XML-config-based Ant and Maven. With that, you won't miss any tiny single things that you need for your build -- it can go beyond the boundaries. With the latter, you will have to write Ant task or Mojo (do you miss Jelly?).

Half way through, I switched to BuildR -- just another build system written in Ruby, an Apache incubator project. One of the similarities of Raven and BuildR is they are both written on top of Rake -- the Ruby 'Make'. I found it out from the source of Apache Ode actually.

I have gone through some pain in the past 3 days in converting one of my projects (the Mule JXTA transport) from Maven 2 (pom.xml) to BuildR (Rakefile), such as,
  • Couldn't to connect to the project's repository, as HTTPS and Basic AUTH are unsupported. I have submitted a patch to the BuildR folks at BUILDR-14.
  • Couldn't get my existing test cases to run, BuildR only considers "Test*" and "*Test" cases as valid JUnit test cases. You can fix this by modifying the test.rb of it.
  • Transitive dependency management! People love and hate Maven because of this feature. It is currently not supported by BuildR 1.x (scheduled in 2.x I guess). And has Raven implemented it? I'm not sure but I came through an interesting blog by Matthieu Riou which concludes to add this feature into Raven. Without it, I had to fill in all the dependencies into my Rakefile by referring to the classpath files generated by Maven. How ironic.
IMO, these Ruby build tools are not as mature as Maven and it requires more scripting work to do what Maven can do for me at this stage, e.g. assembly, release, etc. I will also quote what David told me, which makes a lot of sense but could be controversial especially to some Makefile/Rakefile folks:

"Why do you have to write code to build your code? You will end up doing more debugging."


So that's a no-no. The de-facto build tool has got to be Maven.

- yc

Thursday, January 3, 2008

Flash Mob?

It just so happened that I was there, coincidently or not. Click here for my picture.

Read more from:
Or Google.

- yc

Tuesday, January 1, 2008

Happy New Year and Things to Look Into

Happy new year folks. This is a blog entry for me to write down a list of things to look into at the start of the year:
  • OSGi - The dynamic module system.
  • Raven - Java build tool in Ruby
  • REST - This doesn't need much introduction. Let's start from here.
  • RoR - Ruby on Rails web development.
When you're married with your job and a particular technology (like Java), it's not easy to spare time to explore the other areas and that sucks.

- yc