Friday, February 29, 2008

A mess? What mess?



Source: Computerworld February 25, 2008, page 14



The students of Professor Andrew Tanenbaum will never have expected to see this mess in the real world. The Professor never mentions this scenario anywhere in his textbooks. He probably does not know himself.

This is one of the reasons many companies insist on hiring experienced people. In my humble opinion, what the companies really need are fresh minds to change this mess. Unfortunately, most people who do have good ideas on bringing about changes get drowned before getting a chance to make a difference. Those who do survive just keep on doing what they are good at – breaks and fixes. Sign.

P.S. Here is a FAQ site on Professor Andrew S. Tanenbaum, the fearless leader of MINIX worldwide movement (if not yet a cult). http://www.cs.vu.nl/~ast/home/faq.html

Thursday, February 28, 2008

The Lawrenceville Pond




I dug out this old picture from my cell phone today. It was a lazy summer afternoon. But I cannot be sure of which year. I do know that I have lost more than two dozens golf balls on this the pond on a Lawrenceville golf course. My golf bag has been collecting dust in my garage for a long long time. It looks it will have to stay that way for some time to come. However, I would not worry for you, my friend. Soon or later, the day will come when our daughter will be gone for college and I become unable to keep my current level of income. We will have to down size. If I will be allowed to take two bags with me, the first bag will hold our family photo albums, the second one will be you.

Tuesday, February 26, 2008

Soft skills for a successful IT professional

I dug out this April, 2005 note on a career seminar given by Dr. Kaifu Lee, Global VP for Goolges. Dr. Lee shared with his audience 15 tips for planning a successful career path. Each point glisters like gold.

=========================================
1) Be lucky and in the right place at the right time
2) Be sure you are happy and excited about your job
3) Be a recognized expert in a particular field
4) Expand your work beyond your responsibility
5) Help others succeed and be part of a team
6) Be clear about your goals
7) Be cautions about reforming a bad environment
8) Find a mentor/supportive environment
9) Work for several managers and study their styles
10) Be sure your results align with organization goals, meet schedules, of high quality, and on budget
11) Show leadership qualities, communicate results effectively
12) Be aware of that you are being evaluated every day
13) You can't control everything
14) Be patient - time in grade is important
15) See yourself through their eyes

Monday, February 25, 2008

www.linuxtopia.org is a great web site


Coming across this web site by chance, I immediately liked it. What a nice job. All the columns are clearly labeled. Once clicking on a label on the left side, you find complete information. I have permanently book marked this web site in my browser. I do not know the names of the developers but I solute them all.

Sunday, February 24, 2008

Ski on the Shawnee Mountains

Sunday / February 24, 2008


I start on an easy slope,
Oh, Oh, this is not the usual man-made snow,
To enjoy this Godly whiteness,
you have to go really slow.
I like the feel of thickness in white snow,
for beginners, it is a good mattress to tiptoe.
Have you noticed that besides the ski lanes,
in the wildness,
water begins to trickle beneath the snow?
Where autumn leaves have not yet been decomposed,
tiny tree buds begin to tempt their spring show.


I then move on to a steep tail,
where a black diamond looks like a death toll.
But I want to beat the speed of light today,
for that I will not put up with going slow.
“Time may rewind,”
when passing Princeton this morning,
I heard Albert Einstain saying so.
Let me choose go back to 20 years ago.
I would change a few things then,
so that when I come back to relive a mid age,
I will do a different real life show.

Why DR tests fail?

Because people cannot be 100 percent sure if their DR setup which often cost millions will actually work. Tests are the only definitive way to verify DR. I am not trying to be arrogant or cute here. As an IT professional with a dozen years of experience, I know that sometimes I do not know well enough and I am not alone in this mud. Have you ever met a DBA who does not know exactly who and which applications are using his/her database? Have you ever met a network manager who does not know surely who are using his/her network services? For those managers who think they know, can they be sure there will not be applications running under users ids that had not been assigned for the current purpose? True the majority of the managers do their due diligence. They monitor regularly. But unless people have been doing so long enough and been on their jobs long enough, they will not be able to completely rull out small odds. There will be jobs which run once a year (or once every 5 years.) Those seldom run jobs are often critical ones. They will be important corporate tax schedules, regulatory reports or court summons. The analogy can be found not only in IT business but almost everywhere. I used to live in an old house in Brooklyn for several years. There were many pipes and cables behind the sheet rocks that I had never been able to figure out which ones were doing what.

For IT business, a DR test is a good opportunity to straighten out the proper relationships, to dig out the hidden dirt that nobody has had any idea of. For large IT operations where there are thousands of servers and hundreds of peoples involved, there will always be dark stop that has never been brought under sun light. For this reason, a DR test failure is never a failure. It is simple a new guidance, a hit of what we should do next. A failure in the real sense may happen only when we assume we know it all and we stop trying.

Someone suggests that we do not use the word “test” but use “exercise” instead. That way we will avoid being infested by the word of “failure.” If changing a wording is all it takes to make us feel good, let us just do so today. Hopefully, we will not need to toil too many weekends on DR exercises before we get rid of all the kinks and achieve a total DR victory.

Note: After Saturday’s DR testing, I did go to Shawnee Mountain to ski for day. The snow had been the best for this year.

Saturday, February 23, 2008

A Linux Tip for Offshore System Adminitrators

Once a Linux box has a hung daemon in /proc, one will not be able to reboot the box in the normal manner. The 'ps' commands will hang - and an 'init 6' will not work because the running processes on the server cannot be killed. Without physical access and remote power control, a SA may use the "Magic System Request" method to force kernel operations like sync, remount of all filesystems read-only, and reboot. Solaris administrators may be familiar sys the 'uadmin' command which also does the same thing.

Here is the short form:

If you're on the console, you must first enable the subsystem with a command:
#echo 1 > /proc/sys/kernel/sysrq
Alternatively, you may use the equivalent sysctl command as follows:
#sysctl -w kernel.sysrq="1"kernel.sysrq = 1
Then you can press Alt+SysRq followed by one of the following commands (and there are many more commands than these):
s Sync Forces a sync, and prints 'OK' to the console when complete
u Umount Try to umount all filesystems & remount read-only
b Boot Reboot the system without killing any processes
Best if you use Alt+SysRq-s and Alt-SysRq-u first to avoid data loss

Similarly, you can also control sysrq via /proc/sysrq-trigger by:
#echo ‘key’ > /proc/sysrq-trigger

Below are some examples:
#echo s > /proc/sysrq-trigger (like Alt+SysRq-s)
#echo u > /proc/sysrq-trigger (like Alt+SysRq-u)
#echo b > /proc/sysrq-trigger (like Alt+SysRq-b)

Here is a list of ‘key’ available:
'r' - Turns off keyboard raw mode and sets it to XLATE.
'k' - Secure Access Key (SAK) Kills all programs on the current virtual console.

NOTE: See important comments below in SAK section.
'b' - Will immediately reboot the system without syncing or unmounting your disks.
'c' - Intentionally crash the system without syncing or unmounting your disks.
'o' - Will shut your system off (if configured and supported).
's' - Will attempt to sync all mounted filesystems.
'u' - Will attempt to remount all mounted filesystems read-only.
'p' - Will dump the current registers and flags to your console.
't' - Will dump a list of current tasks and their information to your console.
'm' - Will dump current memory info to your console.
'0'-'9' - Sets the console log level, controlling which kernel messages will be printed to your console.
'0', for example would make it so that only emergency messages like PANICs or OOPSes would make it to your console.
'e' - Send a SIGTERM to all processes, except for init.
'i' - Send a SIGKILL to all processes, except for init.
'l' - Send a SIGKILL to all processes, INCLUDING init. (Your system will be non-functional after this.)
'h' - Will display help ( actually any other key than those listed above will display help.

See sysrq.txt somewhere underneath /usr/src/linux-XXX/Documentation for more information.

Thursday, February 21, 2008

Setting Shared Memory under Solaris10

Under Solaris 10, setting up shared memory is no longer under /etc/system. The new way is using projadd.
Details are as follows:
# review the current content of the project file at /etc/project
system:0::::
user.root:1::::
noproject:2::::
default:3::::
group.staff:10::::
# to backup the project file
cp -p /etc/project /etc/project.pkgorig
# to create a project named “user.sybase”
projadd -c “Sybase ASE” ‘user.sybase’
# to elevate SHMMAX for the newly created project
projmod -s -K “project.max-shm-memory=(privileged,3.6GB,deny)” ‘user.sybase’
# the resultant project file
system:0::::
user.root:1::::
noproject:2::::
default:3::::
group.staff:10::::
user.sybase:100:Sybase ASE:::project.max-shm-memory=(privileged,3865470566,deny)
# to verify the params before and after the tuning. dump prctl as user ’sybase’. To relogin as sybase is needed to see changes effective w/o a reboot.
$ prctl -i process $$ > prctl-after-tuning
$ diff prctl-defautls prctl-after-tuning
1c1
<> process: 1868: -sh
28c28
<> basic 8.00MB - deny 186851c51
<> privileged 3.60GB - deny -
As you can see, now user ’sybase’ has 3.60GB as SHMMAX. instead of the default 1001MB.
Needless to say the procedure described above can be followed to set SHMMAX using projadd for other enterprise RDBMS such as Oracle, InfoMax, and Progress.

Monday, February 18, 2008

President's Day

My brother told me through IM that he spent the entire week trying to recover files from his broken home PC. Last year, one of my best friends had his Dell laptop smoked up. The internal drive was about 30gig. By mounting the internal harddirve on an 3.5 external sleeve, I helped to recover about half of drive's content. Among the lost data were study materials he had used while getting half a dozen IT professional certificates. I do not want the same disaster to happen. Monday was a company holiday designated to celebrate the birthday of George Washington and Abroham Lincoln. I rushed to Best Buy and bought a 3.4' WD external disk. Back home, I backup up from 3 family computers all important files -- family photos, my daughter's home works, my study material, tax returns. My brother told me I over paid. He could grab a better price from the internet. I simply rather spend the time creating this blog. 20 dollars of saving is not worh the extral time and handling.

Look, how nicely this WD backup agent is working now: