Friday, December 15, 2006

Is it too quiet in the office?

Read an interesting comment today about the noise level in our working environment. I had been in offices where it is really really quiet until you can hear pin drops and you would feel guilty if you breathed too heavily and disturbed the ambiance. I feel it is really uncomfortable to work in such environment, even though it is really pleasant to have the silence when you are concentrating on certain tasks or problems. One of the main reasons I feel that it is so silent is because everyone is afraid that making too much noise would make them look bad by their bosses as their bosses would feel that they are not working hard enough. Nobody dare to chat or laugh even though it is time for tea break. It is really uncomfortable.
On the contrary, a place where it is too noisy would be really bad for productivity as you would not be able to concentrate much on your work. Therefore, I would like to work in a place where we have a quiet area at our workstations where we can concentrate on our work with the occasional 5-10 minutes discussion so that we do not disturb our colleagues. Anything more than that, please take it to the meeting room or if the management can afford it, have a fun/relax area for the staff to take a tea break, brain storm and joke a little without disturbing the rest of the colleagues who are trying hard to WORK in front of their workstations. By the way, if there really is a fun/relax area in my office, I think you will find me there most of the time instead of at my workstation :)

Upgrading to blogger beta

When I first heard of blogger beta, I told myself I would upgrade as soon as possible before blogging again. However, due to certain reasons and mostly due to my laziness, I had postpone the upgrade and thus postpone blogging till now. Hopefully, now that I had upgraded(account upgraded, still got the template to update), I will post more frequently again.

Friday, July 07, 2006

NOTES2OUTLOOK

Lotus Notes® email is really difficult to extract and backup as there is no export function in it. So I am extracting all my Lotus Notes® email to Microsoft Outlook® as I have a copies of Microsoft Outlook® License from the purchase of my pocket pcs and Microsoft Outlook® allows exporting the email to various formats. Found this tool which offers 15 trial, it works as advertised but with quite a number of bugs as it crashed a few times before I finally got it to extract my mails properly. So if you wish for a short term solution to extract emails from Lotus Notes® to Microsoft Outlook®.
NOTES2OUTLOOK provides the ability to migrate Lotus Notes® email from .nsf files to Outlook® PST files. This is a client-based tool. System requirements are: installed Lotus Notes and Outlook clients. NOTES2OUTOOK requires both to operate.

Tuesday, July 04, 2006

Why we should go home on time

Saw this in my inbox today.
Mr. Narayana Murthy is undoubtedly one of the most famous persons from Karnataka. He is known not just for building the biggest IT Empire in India but also for his simplicity. Almost every important dignitary visits InfoSys campus. He delivered an interesting speech during an employee session with another IT company in India. He is incidentally, one of the top 50 influential people of Asia according to an Asiaweek publication and also the new IT Advisor to the Thailand Prime Minister. Extract of Mr. Narayana Murthy's Speech during Mentor Session: I know people who work 12 hours a day, six days a week, or more. Some people do so because of a work emergency where the long hours are only temporary. Other people I know have put in these hours for years. I do not know if they are working all these hours, but I do know they are in the office this long. Others put in long office hours because they are addicted to the workplace. Whatever the reason for putting in overtime, working long hours over the long term is harmful to the person and to the organization. There are things managers can do to change this for everyone's benefit. Being in the office long hours, over long periods of time, makes way for potential errors. My colleagues who are in the office long hours frequently make mistakes caused by fatigue. Correcting these mistakes requires their time as well as the time and energy of others. I have seen people work Tuesday through Friday to correct mistakes made after 5 PM on Monday. Another problem is that people who are in the office long hours are not pleasant company. They often complain about other people (who are not working as hard); they are irritable, or cranky, or even angry. Other people avoid them. Such behaviour poses problems, where work goes much better when people work together instead of avoiding one another. As Managers, there are things we can do to help people leave the office. First and foremost is to set the example and go home ourselves. I work with a manager who chides people for working long hours. His words quickly lose their meaning when he sends these chiding group e-mails with a time-stamp of 2 AM, Sunday. Second is to encourage people to put some balance in their lives. For instance, here is a guideline I find helpful: 1) Wake up, eat a good breakfast, and go to work. 2) Work hard and smart for eight or nine hours. 3) Go home. 4) Read the books/comics, watch a funny movie, dig in the dirt, play with your kids, etc. 5) Eat well and sleep well. This is called recreating. Doing steps 1, 3, 4, and 5 enable step 2. Working regular hours and recreating daily are simple concepts. They are hard for some of us because that requires 'personal change'. They are possible since we all have the power to choose to do them. In considering the issue of overtime, I am reminded of my oldest son. When he was a toddler, if people were visiting the apartment, he would not fall asleep no matter how long the visit was, and no matter what time of day it was. He would fight off sleep until the visitors left. It was as if he was afraid that he would miss some thing. Once our visitors' left, he would go to sleep. By this time, however, he was over tired and would scream through half the night with nightmares. He, my wife, and I, all paid the price for his fear of missing out. Perhaps some people put in such long hours because they do not want to miss anything when they leave the office. The trouble with this is that events will never stop happening. That is life! Things happen 24 hours a day. Allowing for little rest is not ultimately practical. So, take a nap. Things will happen while you are asleep, but you will have the energy to catch up when you wake. Hence, "LOVE YOUR JOB, BUT NEVER FALL IN LOVE WITH YOUR COMPANY BECAUSE YOU NEVER KNOW WHEN THE COMPANY STOPS LOVING YOU" - Narayana Murthy

Tuesday, June 27, 2006

Fish and Chips at Dome Cafe

Had lunch just now with collegues at Dome Cafe in Subang Parade. Didn't know what taste great there and do not wish to take beef today, so opt for fish and chips. It is the worst fish and chips I had ever eaten. The fish does not taste of fish but of flour. As for the drinks, I think I also made a wrong choice of lime juice. It is very sweet and have very light lime taste. Should had tried San Francisco Steakhouse's Value Set Lunch instead.

Friday, June 23, 2006

NISSAN PIVO

Cool concept car from Nissan. Electronic 4x4 drive and steering with lots of cameras to reduce blind spot. Wonder how many years we will have to wait for this type of cars to be mass produced.

Over The Hedge: Humans Live To Eat

In this internet exclusive, RJ the Racoon gives his fellow friends the lowdown on how they can best get food - a simple explanation into ... all » the lives of humans.. When RJ the racoon (Bruce Willis) is caught pilfering Vincent the bear’s mountainous pile of treasured goodies-junk food stored for his post-hibernation feast-he desperately negotiates for his life, promising Vincent the impossible: to replace everything within a week. Meanwhile, the bucolic life of a group of innocent forest dwellers is shattered when they awake from their hibernation to discover their forest has been invaded by a horrifying alien presence: the ‘burbs’! They stare out in shock at the spanking new suburbs where their nut trees and berry bushes used to be. Not knowing anything about humans, their neurotic and overprotective leader, Verve the turtle (Garry Shandling) nervously ventures into a backyard only to encounter the horrors of the suburban living: lawn sprinklers, BBQ utensils, S.U.Vs and mountain bikes. RJ, too, has ventured into the suburb as the only place on earth with enough junk food to satisfy that bear. Over The Hedge, a PDI/DreamWorks production, is distributed in the UK and Ireland by United International Pictures and opens nationwide on June 30th 2006.

Tuesday, June 20, 2006

iCarta - Stereo Dock for iPod® with Bath Tissue Holder

Introducing iCarta, the Stereo Dock for iPod® that will be suitable for any rooms, especially the bathroom. This product comes from Atech Flash Technology and has integrated high performance moisture-free speakers that deliver exceptional clarity and high quality sound. It also features audio selector that allow you to play iPod shuffle or any other audio device. It comes with integrated bath tissue holder that can be easily folded as a stereo dock when you had run out of bath tissue. It can also charge your iPod when you are listening to the soothing music while doing your business. It is powered by AC power and comes with AC Adapter out of the box. I have a feeling that the bath tissue is not provided. Maybe Apple will install this in their bathrooms.

Firefox Configuration

My current firefox configuration Generated: Tue Jun 20 2006 16:40:20 GMT+0800 (Malay Peninsula Standard Time)
User Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Build ID: 2006050817

Enabled Extensions: [37]
Disabled Extensions: [5]
Total Extensions: 42

Installed Themes: [3]
Installed Plugins: (14)
  • Cult3D Player v5.3.0.154
  • Adobe Acrobat
  • Google VLC multimedia plugin 1.0
  • Java(TM) 2 Platform Standard Edition 5.0 Update 6
  • MicrosoftĂ‚® DRM
  • Mozilla Default Plug-in
  • QuickTime Plug-in 7.0.4
  • RealJukebox NS Plugin
  • RealPlayer Version Plugin
  • RealPlayer(tm) G2 LiveConnect-Enabled Plug-In (32-bit)
  • Shockwave Flash
  • Shockwave for Director
  • Windows Media Player Plug-in Dynamic Link Library
  • Yahoo Application State Plugin

Woman parking

Don't ever underestimate woman parking.

Singing Hippo

He will definitely brighten you up ...

Monday, June 19, 2006

Nintendogs

It's so cute ... this would be the absolute deciding factor for a Nintendo DS. Nintendog during gameplay Another Nintendog during gameplay Nintendog Advert 1 Nintendog Advert 2 A review of Nintendogs from GameSpot So who would be so kind to get me one?

Tuesday, May 30, 2006

Teknion Savera Synchro-Tilt

Today, my office finally decided to replace all the aging chairs with new ones from Teknion. The model is Savera Synchro-Tilt and is black in color. It is fully adjustable and I think it should be really comfortable for long hours. Maybe my boss is trying to tempt us to sit longer in the office? ;;)
Here is a description of the chair, quoted from Teknion's website.
Savera is a fully featured, price-competitive task chair offering basic and enhanced ergonomic features across numerous applications, from task-intensive to meeting rooms.

Two Mechanism Options

· Swivel-tilt model:

- Meets ergonomic needs for general use seating

· Synchro-tilt model:

- For every three degrees the back tilts, the seat reclines one degree, with a total back tilt of 24.5"

- Meets ergonomic needs for multi-task and general use functions

Lumbar Height

· Adjusts 2.75" on both swivel-tilt and synchro-tilt model

· Provides maximum personalized support

Seat Height

· Seat adjusts up and down 4.37"

· Adjusts to the leg length of the user for proper posture and circulation

Arm Height

· Armrests adjust up and down 4"

· Provides optimal user comfort

Arm Width

· Overall arm width adjustment of 2.36"

· Adjusts the arm position to the user and task

Tilt Tension

· Swivel-tilt model locks in upright position; synchro-tilt model locks in four positions

· Tilt tension adjustment offers user control of back free-flow resistance

Chair Sizes

· Available in mid-back and high-back sizes

Upholstery

· Partial or dual upholstery options available

Monday, May 29, 2006

Monday, May 22, 2006

IBM Java Cryptography Extension (JCE) Expires on 18 May 2006

The IBM® JCE certificate will expire on May 18, 2006 at 21:59:19 GMT. After that date, users will see errors when invoking methods in IBM's JSSE or JCE. PROBLEM DESCRIPTION: The IBM JCE certificate will expire on May 18, 2006 at 21:59:19 GMT. After that date, users will see errors when invoking methods in IBM's JSSE or JCE. fd4e164 WSSecurityCom E WSEC0019E: Failed to load KeyLocator SampleSenderEncryptionKeyLocator. The exception is java.lang.ExceptionInInitializerError: java.lang.SecurityException: Cannot set up certs for trusted CAs at javax.crypto.f.(Unknown Source) at javax.crypto.m.(Unknown Source) at javax.crypto.b.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at javax.crypto.Cipher.init(Unknown Source) at com.ibm.crypto.provider.x.a(Unknown Source) at com.ibm.crypto.provider.JceKeyStore.engineGetKey(Unknown Source) at java.security.KeyStore.getKey(KeyStore.java:278) at com.ibm.wsspi.wssecurity.config.KeyStoreKeyLocator.init(KeyStoreKeyLocator.java:222

Sunday, May 21, 2006

Had I stalled progress on web development?

I had alway been involved in projects that requires the solution to run on a browser, mostly IE. Thus, most of my experiences and skillset and concentrated on making things work on a browser. From HTML to JavaScript to ASP to DLLs to JSP to Servlets to Struts, I had always performed my own research and development to ensure I would be skilled enough to make the most efficient use of the technologies employed. As far as I can remember, until last year, I had been racing with the evolution of web applications and would always adhere to the latest best practices. The final few things I remembered I was trying to adopt was tableless layout with CSS and AJAX. Few days ago, I was having dinner with a friend and we were dicussing about the current AJAX framework. I realised I no longer knew what's really happening the the AJAX world. I even joked with him that I am one of the AJAX pioneer as I implemented it in one of my previous projects about 1.5 years ago. It was just a plain XMLRequest call to refresh fields in a form without actually performing a form submit but it is still AJAX! Now, I can totally feel that I am no longer able to keep up with the latest in web development standards as I was not really involved in spear heading much development activities in the previous years. Hopefully, I had gained skillsets in other areas.

Life is too short for doing anything meaningless

After reading a friend's article, I begin to reflect more on how I had been doing in the past 1 year. I had been mostly involved in support activities on an application hosted on outdated hardware and software. The application was also badly designed and I know that the users of the application was not really happy with the application and will by all means, not use it. Seeing the problem when I was initially assigned to this project, I suggested to redesign/redevelop the system on to a newer and more stable platform where application management and configuration would be much easier. However, my request was turned down as it would incur a lot of cost. My rationale was that on the old platform, to develop/fix one module would take about 5 times the effort compared to a more recent platform as the former is unstable and resource hungry. If we spend some effort to redesign the system, it would save us a lot when maintaining the system plus furthermore, users would also be much more happy to use the system if we could provide faster turn around time to fixes and enhancements. Come to think of it now, what I had done in the past 1 year for this project is quite meaningless as we never actually attacked the root of the problems and I think we failed to provide the best value and work in the most efficient manner. In my future undertakings, I would like to see that what we actually develop would be a SOLUTION that is able to provide VALUE to users and allow them to work more EFFICIENTLY. Efficiency and value are what really drives businesses.

Local startups

Ever since I graduated, I had worked at quite a number of IT companies, most of them are local startups of less than 2 years. Working in this type of environment, it is indeed very challenging as the company is just starting to grow its business and I would be given opportunities to spear head a lot of things. I am really exposed to a lot of different scenarios and project experiences as startups will usually experiment with a lot of different projects and technology and hope that one of the projects will hit it big. Unfortunately, most of the companies I worked at never really succeeded in growing. Instead they shrunk as the growth is not planned properly and furthermore, the foundation was never laid strong enough. At times like this, salaries will be late, increments will be postponed, promised bonuses will never arrive thus lowering the employees morale. You will soon see the collegues around you getting less and less as they would look for other better opportunities. As the startups will know the fact that they did not plan properly, at this time, they will review the operational cost and decide not to hire anymore even though staffs had left. In this type of scenarios, I will feel job insecurity and locate better opportunities that will grant me job security without me worrying when will my next salary be banked in. Thus this is the main reason I would hope not to step foot into a local startup again unless I am really confident with the company's objective and business viability.

Wednesday, May 17, 2006

Adopting JSF?

Today, I was asked to join in a discussion to determine whether it is viable to adopt JSF as one of my new colleagues seemed to had used it before in one of his previous projects. So, the discussion goes something like this... Team Lead: So, you had used JSF before, how do you think of it? A: Erm,..it is similar to taglib, I think if you use taglib, you can use JSF. B(Who seem to use JSF before): Well, it has a lot of features, such as pagination, combo boxes, etc...but the interface is very basic, not nice... A: Well, if it can do pagination, it will be very useful. Pagination is very difficult to do. It is extremely difficult to design a framework to page records efficiently. As an example my ex project.....(and on he goes about the way his previous project does paging..wasted quite a lot of my time). Anyway, if JSF can do pagination, we should adopt it. B: I still think the interface is not nice. I kept my mouth shut the entire discussion, since my knowledge of JSF is very limited. What would your comments be in this situation?

Thursday, April 06, 2006

The Spider of Doom

If you develop web application, how do you perform validations? Most developers I know will use client side JavaScript to do it and assume that the data will be correct when it reach the server. If you are doing that, have a look at this article from TheDailyWTF which explains the horror that happens when you take things for granted. Client side JavaScript is not reliable and will never be reliable. It only allow more conveniences to the user. However, there might still be some people who will argue and state that their application is not web application but is intranet application, so they can be assured that the users will be enabling their JavaScript. I immediately gave up debating when I hear this.

Friday, March 10, 2006

Thursday, March 02, 2006

Gangguan bekalan air akan berlaku di beberapa kawasan di wilayah Kuala Lumpur dan Selangor 1/3/2006-9/3/2006

Kuala Lumpur - Gangguan bekalan air akan berlaku di kawasan-kawasan di wilayah Kuala Lumpur dan Selangor yang disebabkan oleh kerja-kerja pembersihan kolam/tangki air seperti berikut:- 1) Tarikh gangguan : 2 Mac 2006 (Khamis), dari jam 9.30 pagi - 9.30 malam. Wilayah : Petaling Kawasan yang terlibat : Keseluruhan seksyen 5,6,7,8,9,10 dan 52 (PJ State), Vista Angkasa, Perumahan Rumah Pangsa PKNS Kg. Kerinchi, Mid Valley dan Petaling Height 2) Tarikh gangguan : 2 Mac 2006 (Khamis), dari jam 9.30 pagi - 12.30 tengah malam. Wilayah : Petaling Kawasan yang terlibat : Keseluruhan Perumahan Taman Sri Putra 3) Tarikh gangguan : 2 Mac 2006 (Khamis), dari jam 9.00 pagi - 9.00 malam. Wilayah : Gombak Kawasan yang terlibat : Keseluruhan Taman Halaman Kesuma 4) Tarikh gangguan : 3 Mac 2006 (Jumaat), dari jam 9.00 malam - 5.00 pagi (4 Mac). Wilayah : Hulu Selangor Kawasan yang terlibat : Keseluruhan Bandar Rawang Jaya, Sungai Choh 5) Tarikh gangguan : 3 Mac 2006 (Jumaat), dari jam 9.30 pagi - 11.30 malam. Wilayah : Petaling Kawasan yang terlibat : Keseluruhan kawasan Taman Bukit Subang 6) Tarikh gangguan : 3 Mac 2006 (Jumaat), dari jam 9.30 pagi - 9.30 malam. Wilayah : Petaling Kawasan yang terlibat : Keseluruhan kawasan Bandar Puchong Utama 7) Tarikh gangguan : 4 Mac 2006 (Sabtu), dari jam 10.00 malam - 10.00 pagi (5 Mac). Wilayah : Klang Kawasan yang terlibat : Keseluruhan Jalan Kebun, Taman Berjaya, Jalan Istana, Istana Alam Shah, Pejabat Daerah Klang, Pejabat MPK, Pejabat SYABAS, Bukit Tinggi, Taman Botanic, Kampung Pulau Indah, Kawasan Perindustrian Pulau Indah Fasa 1&2, West Port Terminal, Star Cruise, Telok Gong dan Kota Permai. Wilayah : Kuala Langat Kawasan yang terlibat : Sijangkang, Batu 9 kebun Baru, Batu 10 Kebun Baru, Telok Panglima Garang (termasuk kawasan industri) Bukit Komandol dan Pulau Carey 8) Tarikh gangguan : 5 Mac 2006 (Ahad), dari jam 9.30 pagi - 9.30 malam. Wilayah : Petaling Kawasan yang terlibat : Keseluruhan kawasan Perindustrian S.B Jaya, Sg Buluh 9) Tarikh gangguan : 6 Mac 2006 (Isnin), dari jam 9.00 pagi - 9.00 malam. Wilayah : Gombak Kawasan yang terlibat : Keseluruhan Sri Rampai, Setapak Jaya, Setapak Permai, Kg. Pasir Wardiburn, Kg. Loke Yew dan Flat DBKL 10) Tarikh gangguan : 6 Mac 2006 (Isnin), dari jam 9.00 pagi - 9.00 malam. Wilayah : Gombak Kawasan yang terlibat : Keseluruhan Taman Setiawangsa 11) Tarikh gangguan : 7 Mac 2006 (Selasa), dari jam 9.00 pagi - 9.00 malam. Wilayah : Gombak Kawasan yang terlibat : Keseluruhan kawasan Kondo Rustika 12) Tarikh gangguan : 7 Mac 2006 (Selasa), dari jam 9.00 pagi - 9.00 malam. Wilayah : Gombak Kawasan yang terlibat : Keseluruhan Sri Gombak Fasa 8,9,10,11,12 dan Kampung Melayu Sri Gombak 13) Tarikh gangguan : 8 Mac 2006 (Rabu), dari jam 9.30 pagi - 9.30 malam. Wilayah : Petaling Kawasan yang terlibat : Keseluruhan kawasan Bukit Serdang (Permata). 14) Tarikh gangguan : 8 Mac 2006 (Rabu), dari jam 9.00 pagi - 9.00 malam. Wilayah : Gombak Kawasan yang terlibat : Keseluruhan Desa Aman Puri dan Wangsa Permai. 15) Tarikh gangguan : 8 Mac 2006 (Rabu), dari jam 9.00 pagi - 9.00 malam. Wilayah : Gombak Kawasan yang terlibat : Keseluruhan Taman Wangsa Ukay, Bukit Utama, Taman Bukit Jaya, Super Home, Jalan Wangsa 5A, Apartment Atheneum, Bukit Antarabangsa dan Kampung Sungai Sering. 16) Tarikh gangguan : 9 Mac 2006 (Khamis), dari jam 9.30 pagi - 12.30 malam. Wilayah : Petaling Kawasan yang terlibat : Keseluruhan kawasan Damansara Damai 17) Tarikh gangguan : 9 Mac 2006 (Khamis), dari jam 9.00 pagi - 9.00 malam. Wilayah : Gombak Kawasan yang terlibat : Keseluruhan sepanjang Jalan Hulu Klang Segala kesulitan amatlah dikesali. Para pengguna dinasihatkan agar menyimpan bekalan air secukupnya serta menggunakan air secara berhemah sepanjang tempoh gangguan tersebut. Sebarang pertanyaan atau aduan sila hubungi Pusat Perkhidmatan Pelanggan (PUSPEL) menerusi talian bebas tol 1-800-88-5252 atau melalui sistem pesanan ringkas, s-m-s dengan menaip PUSPEL jarak taipkan aduan atau pertanyaan hantar ke 39222 atau lawati laman web SYABAS di www.syabas.com.my untuk maklumat lanjut. Sekian, harap maklum. NAEMUDDIN ABDULLAH Pengarah Eksekutif, Komunikasi Korporat & Perkhidmatan Pelanggan Sumber Berita Dari : Shima, Eksekutif Perhubungan Media

Wednesday, March 01, 2006

Google Video

Google Video launched a new feature which allows us to embed video on our sites. So, here's a test to see how the video is embedded. Enjoy the teaser.

Tuesday, February 07, 2006

Would You Take A Paycut for More Interesting Work?

There is an interesting debate on whether would you take a paycut for more interesting work? in slashdot. There is one funny guy who replied he would take a paycut for a more knowledgeable manager. I wonder how many of us would want to do that too sometimes during work. Anyway, I think it is not worth it to take a paycut for more interesting work, unless the compensation at the end of the day is worth it. If you feel your work is not interesting enough, why? Speak to your manager, collegues and try to make it more interesting. However, this is easier said than done.

Tuesday, January 24, 2006

Atomic transaction in J2EE

As budding developers, most of us tend to debate on certain technologies out there and comment on which is better than which and why. dotNet developers will argue that J2EE is so hard to use while the latter will comment that dotNet does not scale and is not as reliable. Even within the J2EE environment, some developers does not see EJB as a useful feature of J2EE and comment that it is difficult to develop and the same results can be achieved merely by using JDBC. There are even others who said that using stored procedures will result in most efficient code. Efficient here means fastest to execute and return desired results. As I am also one of the budding developers, I also face this type of debates most of the time. I still does not know which one is most efficient and which one should I use in which type of situation. However, I does realize the fact that session beans and entity beans removed a lot of the headache of maintaining transactions in JDBC environment. Container managed transaction is a blessing for Java developers. Anyway, the point is, I actually like to find out WHAT IF the transaction that is guaranteed by the container fails. I mean, say the task A and task B must occur as one atomic transaction but actually only task A managed to run but the transaction is unable to roll it back or worst, does not even realized it. Who would be responsible for this behavior? Most of the time it would be developers fault for not understanding the J2EE spec correctly and made mistakes while developing, however one cannot simply rule out that the application server vendor is not at fault. What if this funny behavior is randomly appearing at production systems and the developers are sure that their application are coded correctly. Who are liable for financial lost that occurred because of application servers funny inconsistent behavior?

Monday, January 16, 2006

Death March

What is a Death March Project and why does it happens? I think every project manager should go and buy this book and read it before planning for the next project as to avoid the following : The immediate consequence of these constraints, in most organizations, is to ask the project team to work twice as hard and/or twice as many hours per week as would be expected in a "normal" project. Thus, if the normal work-week is 40 hours, then a death march project team is often found working 14-hour days, six days a week. Naturally, the tension and pressure escalate in such environments, so that the death march team operates as if it is on a steady diet of Jolt cola. I think most of us developers had already experienced this before and would not like to experience it again. This book will justify that developers are usually innocent in Death March and need not go thru all those suffering and tortures. If you are one of those unfortunate souls, try these Practical Suggestions for Breaking the Bad News.

Tuesday, January 03, 2006

Overloading in Tiger

I was confused with how overloading in J2SE 5.0 works, so I compiled a little example to show. Initially, I thought the code will refuse to compile but I was proven wrong. It does compile and there is some precedence to which method that will be invoked.
public class Overload {
    public static void main(String[] args) {
        Overload m = new Overload();
        short s = 0;
        m.foo(s);
    }
    
    //Direct primitive type match will take precedence
    private void foo(short l){
        System.out.println("short"); 
    }

    //Primitive type promotion will take precedence over Autoboxing
    private void foo(long l){
        System.out.println("long");
    }
    
    //Autoboxing will only happen when primitive or promotion not available
    private void foo(Short l){
        System.out.println("Short");
    }
}