29 November 2005

Need for Speed - Singapore Edition

After passing my Basic Theory Test and eventually got my PDL (Provisional Driving License), the next step is to hire a driving instructor and drive, not to learn how to drive, because I've been doing that for fifteen years back in the Philippines, I want to familiarize myself with the right-hand drive cars and a left-side traffic. Hence, I have to go to that process. The basic part is easy, the driving is even easier. A Class 3 QDL (Qualified Driving License) allows you to drive cars in Singapore with manual and automatic transmission, So I called up a driving instructor, the cheapest I can afford at S$45 per 90 minutes. In a matter of minutes he came to my place at 9pm and got a pre-drive briefing and told him briefly that I have been driving before. And he said "OK, take me to Shenton Way", "No Problem" I replied. I sunk the stick to the first gear, signal to the right, look at the cabin mirror, look at the side mirror, glance at the blind spot and off from Lorong 34 Geylang! "You have to keep left", "Yeah right" I remembered, After negotiating the traffic from Geylang to Guillemard, we headed towards Nicoll Highway. Being behind the wheel is no freaking effort. The Kompressors, Diablos, Testarossas, Carreras that you usually watch pathetically at some bus stop while they pass by are cruising alongside with me. "PDL dwayvez must keep a maximum of 60kph" my instructor hinted. I looked on my speedometer and it's pointing at 80kph, at Nicoll Highway(my bad sorry, sorry, I'll remember it next time)! Finally we're at Shenton Way in less than ten minutes, I asked the instructor "What now?". After giving me all his pocketful of challenges from negotiating narrow alleyways, humps or uneven roads, roundabouts, u-turns, clutch-hanging on steep roads, merging traffics, etc. etc. after 90 minutes we covered almost everything that he might want to do for the next 25 lessons. Too bad he's not going to make too much money out of me.

Local software development community is like Singapore traffic, right-hand drive, while seventy percent of the world's roads are in left-hand drive. It's not being right or wrong. It's even a bad taste to talk about profitability. It's like "Hey wake up guys, next year is RCP year! Why are you wasting time with expensive, shitty webby stuff?".

18 November 2005

Product-based vs. Project-based

"If you know the enemy and know yourself, you need not fear the result of a hundred battles. If you know yourself but not the enemy, for every victory gained you will also suffer a defeat. If you know neither the enemy nor yourself, you will succumb in every battle." -Sun Tzu

I am not a sales person, but the reason for my uncanny ability to seal deal is the quote above. It's real and simple, If I can't do it then I will not push myself with all my faith to do it, because I am already aware that I lost the battle before it even started. So there's no sense in wasting my effort and money. The Art of War is a *thousand-year* old value proposition. I am not charismatic, smooth-talking salesman, that is never me. And some sales people in the IT industry has much to learn with Sun Tzu. Take for example a consulting company that has evolved into a project-based model and runs into customer's "quagmire" and will repeatedly run into it again and again and again because the company has only knew itself and not the adversities that it will going to face. Either they don't know it or choose to ignore it for the sake of profitability. Project-based ventures are so risky, the majority of "70% failed software projects" falls on this category. Leaders cannot afford to be conservative as well as this kind of trait will chip away their resources little by little. This kind of venture is so exhausting that there's nothing left to earn when the project is "done". That is if you got paid in the end.

Product-based venture on the other is much simpler and less riskier. There's not much concept to prove. Customers "knows" what they want; it's usually what others have. So there isn't really much effort in selling a product, rather than a project whose derivative is yet to exist. And since the product already exists, it doesn't have to be a hard sell I don't think so, not in my experience. Most of the times a demonstration can already sell by itself. The fun part in product-based venture is that all the painstaking tasks are only in the initial part of the product development. And the best thing about product-based venture is being paid promptly for a delivery well done. Then repeat business comes next. Such is an Art of War.

14 November 2005

Of Music and Software Development

Musicians and Software Developers have some few interesting things in common. There are musicians that performs well and plays well but does not know the conventions of notes, staff and tempos, they can only play well with chords and tablatures. These musicians are parties' and funerals' life, but the problem with them is that they can only play music that they have heard and memorized before and they rehearse specific titles of songs.

On the other hand, there are musicians that are called "sightreaders". Sightreaders knows their instruments and every intrinsic formalities of music very well, they rehearse with scales and exercises more than specific song titles. On the eve of performance they can play musical pieces that they never heard before without rehearsal and by just reading through a given musical piece, and will play along well on it without the audience noticing that they didn't actually rehearsed.

In software development, especially in Java. There are developers that knows BEA Weblogic and can deliver results with it but does not know the whole sense of the J2EE architecture. There are those who knows messaging with Fiorano, but that don't understand the standard interfaces of the JMS specifications. These crops are basically the "Funerals'" cream. A lot on the list can go on. This kind of developers are very limited to delivering results with limited options and they are expensive(salary and the tools of their trade).

The "sightreaders" in this area are obviously different. They are mindful of the whole "Process" instead of specific tools, they are very comfortable with any application servers regardless of vendor as long as it honestly complies with the J2EE spec. They can write high-performance codes in any SQL-based relational database without being tied with the poor Hibernate syntax. They understand the "Process" and "Patterns" and they know the "Fundamentals". They not only deliver results, they deliver lasting results.

09 November 2005

Replacing backslash with double backslash

This is a juvenile problem and too Microsofty. The problem is when Windows-based file names has been stored in a properties file in this way:


When retrieving that value, the backslashes will be dropped during Properties.load() execution so the resulting string will be:


Sometimes we have GUI-based configuration managers that we like to be able to store in a properties file or an XML file but want to retrieve the file names with desirable results. Therefore our configuration should look like this:


In order to achieve that, we can use a 2-liner code with JDK's Regular Expression API like this one:

String path = "C:\Windows\Kamote";
String newPath = path.replaceAll("\\\\", "\\\\\\\\");

The code above will yield C:\\Windows\\Kamote. This code is not really necessary, it's just a convenience fix for Windows dummies.

08 November 2005

Open Source Everywhere

Several links of indicating an iminent Open Source onslaught in the years to come.

There's more actually, but one interesting thing was one day while I am at a coffee shop I overheard two locals talking about Open Source and they were quite old I think their ages range from 40-45 years, the conversation was so funny I almost want to butt in because the words that were coming out of their mouths was the oldest, most stale Microsoft argument on Open Source that has been debunked years ago and yet they fear for it. Such misguided perception is abundant here. So now is the time to take a serious look at this viable alternative.