Monday, May 26, 2008

The Economist Has No Clothes

Year in and year out, ivory tower macroeconomists congratulate one another through well established forums such as Nobel prize for their contributions to the general understanding of how the economy works. College professors like to boast that economics is the most rigorous department in the school of sciences and arts. Some modest professors say economics is half science and half arts. Now it is time to expose all of those claims. The current state of ecnomics is neither a science nor art.

With high inflation, high unemployment, worldwide shortage of natural resource and environmental pollution, we need an economic theory that provides understanding and guidance. It is high time for economists to get rid of all un-natural assumptions. It is high time for economists to stop hiding behind those seemingly rigorous mathematical equations. Robert Nadeau's article deserves a nobel prize.

=========================================================



Unscientific assumptions in economic theory are undermining efforts to solve environmental problems

By Robert Nadeau

The 19th-century creators of neoclassical economics—the theory that now serves as the basis for coordinating activities in the global market system—are credited with transforming their field into a scientific discipline. But what is not widely known is that these now legendary economists—William Stanley Jevons, Léon Walras, Maria Edgeworth and Vilfredo Pareto—developed their theories by adapting equations from 19th-century physics that eventually became obsolete. Unfortunately, it is clear that neoclassical economics has also become outdated. The theory is based on unscientific assumptions that are hindering the implementation of viable economic solutions for global warming and other menacing environmental problems.

The physical theory that the creators of neoclassical economics used as a template was conceived in response to the inability of Newtonian physics to account for the phenomena of heat, light and electricity. In 1847 German physicist Hermann von Helmholtz formulated the conservation of energy principle and postulated the existence of a field of conserved energy that fills all space and unifies these phenomena. Later in the century James Maxwell, Ludwig Boltzmann and other physicists devised better explanations for electromagnetism and thermodynamics, but in the meantime, the economists had borrowed and altered Helmholtz’s equations.

The strategy the economists used was as simple as it was absurd—they substituted economic variables for physical ones. Utility (a measure of economic well-being) took the place of energy; the sum of utility and expenditure replaced potential and kinetic energy. A number of well-known mathematicians and physicists told the economists that there was absolutely no basis for making these substitutions. But the economists ignored such criticisms and proceeded to claim that they had transformed their field of study into a rigorously mathematical scientific discipline.

Strangely enough, the origins of neoclassical economics in mid-19th century physics were forgotten. Subsequent generations of mainstream economists accepted the claim that this theory is scientific. These curious developments explain why the mathematical theories used by mainstream economists are predicated on the following unscientific assumptions:

* The market system is a closed circular flow between production and consumption, with no inlets or outlets.

* Natural resources exist in a domain that is separate and distinct from a closed market system, and the economic value of these resources can be determined only by the dynamics that operate within this system.

* The costs of damage to the external natural environment by economic activities must be treated as costs that lie outside the closed market system or as costs that cannot be included in the pricing mechanisms that operate within the system.

* The external resources of nature are largely inexhaustible, and those that are not can be replaced by other resources or by technologies that minimize the use of the exhaustible resources or that rely on other resources.

* There are no biophysical limits to the growth of market systems.

If the environmental crisis did not exist, the fact that neoclassical economic theory provides a coherent basis for managing economic activities in market systems could be viewed as sufficient justification for its widespread applications. But because the crisis does exist, this theory can no longer be regarded as useful even in pragmatic or utilitarian terms because it fails to meet what must now be viewed as a fundamental requirement of any economic theory—the extent to which this theory allows economic activities to be coordinated in environmentally responsible ways on a worldwide scale. Because neoclassical economics does not even acknowledge the costs of environmental problems and the limits to economic growth, it constitutes one of the greatest barriers to combating climate change and other threats to the planet. It is imperative that economists devise new theories that will take all the realities of our global system into account.

ABOUT THE AUTHOR(S)

Robert Nadeau teaches environmental science and public policy at George Mason University. His most recently published book is The Environmental Endgame (Rutgers University Press, 2006)

http://www.sciam.com/article.cfm?id=the-economist-has-no-clothes

Monday, May 12, 2008

ZFS on Solaris10

##
## Let us now experiment with ZFS
## here is my general environment:
##

MySolaris10Host# date
Wed Feb 20 16:05:17 EST 2008
MySolaris10Host# uname -a
SunOS MySolaris10Host 5.10 Generic_118833-24 sun4u sparc SUNW,Ultra-80
MySolaris10Host# psrinfo
0 on-line since 02/16/2008 10:22:04
1 on-line since 02/16/2008 10:22:23
2 on-line since 02/16/2008 10:22:23
3 on-line since 02/16/2008 10:22:23
MySolaris10Host# prtconf -v grep Memory
Memory size: 4096 Megabytes
MySolaris10Host#

##
## my current SAN disks
##

MySolaris10Host# vxdisk -o alldgs list
DEVICE TYPE DISK GROUP STATUS
c0t0d0s2 auto:none - - online invalid
c0t1d0s2 auto:none - - online invalid
emcpower0s2 auto:simple - - online
emcpower1s2 auto:simple - (someothersdg) online

MySolaris10Host# echo format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
0. c0t0d0
/pci@1f,4000/scsi@3/sd@0,0
1. c0t1d0
/pci@1f,4000/scsi@3/sd@1,0
2. c4t28d53
/pci@1f,4000/lpfc@2/sd@1c,35
3. c4t28d54
/pci@1f,4000/lpfc@2/sd@1c,36
4. c5t72d53
/pci@1f,4000/lpfc@4/sd@48,35
5. c5t72d54
/pci@1f,4000/lpfc@4/sd@48,36
6. emcpower0a
/pseudo/emcp@0
7. emcpower1a
/pseudo/emcp@1
Specify disk (enter its number): Specify disk (enter its number):
MySolaris10Host#


MySolaris10Host# inq
Inquiry utility, Version V7.3-648 (Rev 2.0) (SIL Version V6.0.2.0 (Edit Level 648)
Copyright (C) by EMC Corporation, all rights reserved.
For help type inq -h.

.....................

---------------------------------------------------------------------------------------------
DEVICE :VEND :PROD :REV :SER NUM :CAP(kb)
---------------------------------------------------------------------------------------------
/dev/rdsk/c0t0d0s2 :SEAGATE :ST318404LSUN18G :4207 : : 17689266
/dev/rdsk/c0t1d0s2 :SEAGATE :ST318404LSUN18G :4207 : : 17689266
/dev/rdsk/c4t28d53s2 :EMC :SYMMETRIX :5771 :5902adf000 : 17679360
/dev/rdsk/c4t28d54s2 :EMC :SYMMETRIX :5771 :5902ae1000 : 17679360
/dev/rdsk/c5t72d53s2 :EMC :SYMMETRIX :5771 :5902adf000 : 17679360
/dev/rdsk/c5t72d54s2 :EMC :SYMMETRIX :5771 :5902ae1000 : 17679360
/dev/rdsk/emcpower0c :EMC :SYMMETRIX :5771 :5902adf000 : 17679360
/dev/rdsk/emcpower1c :EMC :SYMMETRIX :5771 :5902ae1000 : 17679360
/dev/vx/rdmp/c0t0d0s2 :SEAGATE :ST318404LSUN18G :4207 : : 17689266
/dev/vx/rdmp/c0t1d0s2 :SEAGATE :ST318404LSUN18G :4207 : : 17689266
/dev/vx/rdmp/emcpower0s2 :EMC :SYMMETRIX :5771 :5902adf000 : 17679360
/dev/vx/rdmp/emcpower1s2 :EMC :SYMMETRIX :5771 :5902ae1000 : 17679360

##
## I will use emcpower0s2 which has "SER NUM" at 5902adf000
## which correponds to c5t72d53s2
## you may create pool on either disk names
## the powerpath will work regardless
## I prefer to use cXtXdXs2 because it is easier to identify
##

MySolaris10Host# zpool create -f testpool c5t72d53s2

##
## to verify the disk has changed
##

MySolaris10Host# format c5t72d53
selecting c5t72d53
[disk formatted]
/dev/dsk/c5t72d53s2 is part of active ZFS pool testpool. Please see zpool(1M).


FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
repair - repair a defective sector
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
save - save new disk/partition definitions
inquiry - show vendor, product and revision
volname - set 8-character volume name
! - execute , then return
quit
format> p


PARTITION MENU:
0 - change `0' partition
1 - change `1' partition
2 - change `2' partition
3 - change `3' partition
4 - change `4' partition
5 - change `5' partition
6 - change `6' partition
7 - change `7' partition
select - select a predefined table
modify - modify a predefined partition table
name - name the current table
print - display the current table
label - write partition map and label to the disk
! - execute , then return
quit
partition> p
Current partition table (original):
Total disk cylinders available: 18414 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks
0 unassigned wm 0 0 (0/0/0) 0
1 unassigned wm 0 0 (0/0/0) 0
2 backup wu 0 - 18413 16.86GB (18414/0/0) 35354880
3 - wu 1 - 18413 16.86GB (18413/0/0) 35352960
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0

partition> ^D

# by default /testpool entry point has been created.
# note, you may alter this default with -m option


##
## check pool status
##
MySolaris10Host# zpool status
pool: testpool
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
c5t72d53s2 ONLINE 0 0 0

errors: No known data errors

MySolaris10Host# zfs get all testpool
NAME PROPERTY VALUE SOURCE
testpool type filesystem -
testpool creation Wed Feb 20 15:59 2008 -
testpool used 34.1M -
testpool available 16.5G -
testpool referenced 24.5K -
testpool compressratio 1.00x -
testpool mounted yes -
testpool quota none default
testpool reservation none default
testpool recordsize 128K default
testpool mountpoint /testpool default
testpool sharenfs off default
testpool checksum on default
testpool compression off default
testpool atime on default
testpool devices on default
testpool exec on default
testpool setuid on default
testpool readonly off default
testpool zoned off default
testpool snapdir hidden default
testpool aclmode groupmask default
testpool aclinherit secure default
MySolaris10Host#

MySolaris10Host# df -h
Filesystem size used avail capacity Mounted on

... # cut some lines here

testpool 16G 24K 16G 1% /testpool

##
## now, create file system "ZFS"
##

MySolaris10Host# zfs create testpool/testfs
MySolaris10Host# df grep testfs
/testpool/testfs (testpool/testfs ):34578223 blocks 34578223 files
MySolaris10Host# zfs set mountpoint=/opt/testfs testpool/testfs
MySolaris10Host# zfs get all testpool/testfs
NAME PROPERTY VALUE SOURCE
testpool/testfs type filesystem -
testpool/testfs creation Wed Feb 20 16:34 2008 -
testpool/testfs used 34.0M -
testpool/testfs available 16.5G -
testpool/testfs referenced 34.0M -
testpool/testfs compressratio 1.00x -
testpool/testfs mounted yes -
testpool/testfs quota none default
testpool/testfs reservation none default
testpool/testfs recordsize 128K default
testpool/testfs mountpoint /opt/testfs local
testpool/testfs sharenfs off default
testpool/testfs checksum on default
testpool/testfs compression off default
testpool/testfs atime on default
testpool/testfs devices on default
testpool/testfs exec on default
testpool/testfs setuid on default
testpool/testfs readonly off default
testpool/testfs zoned off default
testpool/testfs snapdir visible local
testpool/testfs aclmode groupmask default
testpool/testfs aclinherit secure default
MySolaris10Host# df -h grep testfs
testpool/testfs 16G 24K 16G 1% /opt/testfs


##
## create and destroy snapshots
##
MySolaris10Host# zpool create pool_on_pool /dev/zvol/dsk/testpool/testvol
warning: device in use checking failed: No such device
MySolaris10Host# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
pool_on_pool 195M 80K 195M 0% ONLINE -
testpool 16.8G 35.3M 16.7G 0% ONLINE -
MySolaris10Host# zfs get all pool_on_pool
NAME PROPERTY VALUE SOURCE
pool_on_pool type filesystem -
pool_on_pool creation Wed Feb 20 17:30 2008 -
pool_on_pool used 77K -
pool_on_pool available 163M -
pool_on_pool referenced 24.5K -
pool_on_pool compressratio 1.00x -
pool_on_pool mounted yes -
pool_on_pool quota none default
pool_on_pool reservation none default
pool_on_pool recordsize 128K default
pool_on_pool mountpoint /pool_on_pool default
pool_on_pool sharenfs off default
pool_on_pool checksum on default
pool_on_pool compression off default
pool_on_pool atime on default
pool_on_pool devices on default
pool_on_pool exec on default
pool_on_pool setuid on default
pool_on_pool readonly off default
pool_on_pool zoned off default
pool_on_pool snapdir hidden default
pool_on_pool aclmode groupmask default
pool_on_pool aclinherit secure default

MySolaris10Host# cd /opt/testfs
MySolaris10Host# ls
MySolaris10Host# pwd
/opt/testfs
MySolaris10Host# find /etc cpio -pdm ./
cpio: Cannot open "/etc/vx/vxesd/vxesd.socket", skipped, errno 122, Operation not supported on transport endpoint
76880 blocks
1 error(s)
MySolaris10Host# ls
etc
MySolaris10Host# df -k .
Filesystem kbytes used avail capacity Mounted on
testpool/testfs 17289216 34818 17254310 1% /opt/testfs
MySolaris10Host# zfs snapshot testpool/testfs@testsnap
MySolaris10Host# zfs set snapdir=visible testpool/testfs
MySolaris10Host# ls -al
total 22
drwxr-xr-x 3 root sys 3 Feb 20 16:59 .
drwxr-xr-x 27 bin bin 1024 Feb 20 16:34 ..
dr-xr-xr-x 3 root root 3 Feb 20 16:34 .zfs
drwxr-xr-x 70 root sys 264 Feb 20 16:59 etc
MySolaris10Host# cd .zfs/snapshot/testsnap
MySolaris10Host# ls
etc
MySolaris10Host#
rsweb2-h# cd /opt/testfs
MySolaris10Host# df -k
Filesystem kbytes used avail capacity Mounted on
/dev/md/dsk/d0 6196234 5925575 208697 97% /
/devices 0 0 0 0% /devices
ctfs 0 0 0 0% /system/contract
proc 0 0 0 0% /proc
mnttab 0 0 0 0% /etc/mnttab
swap 7306320 1080 7305240 1% /etc/svc/volatile
objfs 0 0 0 0% /system/object
fd 0 0 0 0% /dev/fd
swap 7340680 35440 7305240 1% /tmp
swap 7305280 40 7305240 1% /var/run
/dev/md/dsk/d3 7070981 1469832 5530440 21% /opt
testpool 17289216 24 17254309 1% /testpool
testpool/testfs 17289216 34818 17254309 1% /opt/testfs
MySolaris10Host# pwd
/opt/testfs
MySolaris10Host# ls
etc
MySolaris10Host# rm -rf etc
MySolaris10Host# ls
MySolaris10Host# cd
MySolaris10Host# pwd
/
MySolaris10Host# zfs rollback testpool/testfs@testsnap
MySolaris10Host# cd /opt/testfs
MySolaris10Host# ls
etc
MySolaris10Host# zfs destroy testpool/testfs@testsnap

##
## create a volume on an existing pool
##
#rsweb2-h# df -h -F zfs
Filesystem size used avail capacity Mounted on
testpool 16G 24K 16G 1% /testpool
testpool/testfs 16G 34M 16G 1% /opt/testfs
MySolaris10Host# zfs create -V 200m testpool/testvol
MySolaris10Host# ls -lL /dev/zvol/*dsk/testpool
/dev/zvol/dsk/testpool:
total 0
brw------- 1 root sys 256, 1 Feb 20 17:29 testvol

/dev/zvol/rdsk/testpool:
total 0
crw------- 1 root sys 256, 1 Feb 20 17:29 testvol

##
## create a pool on pool
##
MySolaris10Host# zpool create pool_on_pool /dev/zvol/dsk/testpool/testvol
warning: device in use checking failed: No such device
MySolaris10Host# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
pool_on_pool 195M 80K 195M 0% ONLINE -
testpool 16.8G 35.3M 16.7G 0% ONLINE -
MySolaris10Host# zfs get all pool_on_pool
NAME PROPERTY VALUE SOURCE
pool_on_pool type filesystem -
pool_on_pool creation Wed Feb 20 17:30 2008 -
pool_on_pool used 77K -
pool_on_pool available 163M -
pool_on_pool referenced 24.5K -
pool_on_pool compressratio 1.00x -
pool_on_pool mounted yes -
pool_on_pool quota none default
pool_on_pool reservation none default
pool_on_pool recordsize 128K default
pool_on_pool mountpoint /pool_on_pool default
pool_on_pool sharenfs off default
pool_on_pool checksum on default
pool_on_pool compression off default
pool_on_pool atime on default
pool_on_pool devices on default
pool_on_pool exec on default
pool_on_pool setuid on default
pool_on_pool readonly off default
pool_on_pool zoned off default
pool_on_pool snapdir hidden default
pool_on_pool aclmode groupmask default
pool_on_pool aclinherit secure default
MySolaris10Host# df -F zfs
/testpool (testpool ):34099012 blocks 34099012 files
/opt/testfs (testpool/testfs ):34099012 blocks 34099012 files
/pool_on_pool (pool_on_pool ): 333670 blocks 333670 files
MySolaris10Host# zfs create pool_on_pool/poolonpool_fs1
MySolaris10Host# zfs set mountpoint=/opt/poolonpool_fs1 pool_on_pool/poolonpool_fs1
MySolaris10Host# df -h -F zfs
Filesystem size used avail capacity Mounted on
testpool 16G 24K 16G 1% /testpool
testpool/testfs 16G 34M 16G 1% /opt/testfs
pool_on_pool 163M 26K 163M 1% /pool_on_pool
pool_on_pool/poolonpool_fs1
163M 24K 163M 1% /opt/poolonpool_fs1

##
## destroy everything
##

rsweb2-h# zfs umount -a
MySolaris10Host# df -F zfs
MySolaris10Host#
MySolaris10Host# zfs destroy pool_on_pool/poolonpool_fs1
MySolaris10Host# zfs destroy testpool/testfs
MySolaris10Host# zpool destroy pool_on_pool
MySolaris10Host# zpool destroy testpool

MySolaris10Host# format c5t72d53
selecting c5t72d53
[disk formatted]


FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
repair - repair a defective sector
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
save - save new disk/partition definitions
inquiry - show vendor, product and revision
volname - set 8-character volume name
! - execute , then return
quit
format> p


PARTITION MENU:
0 - change `0' partition
1 - change `1' partition
2 - change `2' partition
3 - change `3' partition
4 - change `4' partition
5 - change `5' partition
6 - change `6' partition
7 - change `7' partition
select - select a predefined table
modify - modify a predefined partition table
name - name the current table
print - display the current table
label - write partition map and label to the disk
! - execute , then return
quit
partition> p
Current partition table (original):
Total disk cylinders available: 18414 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks
0 unassigned wm 0 0 (0/0/0) 0
1 unassigned wm 0 0 (0/0/0) 0
2 backup wu 0 - 18413 16.86GB (18414/0/0) 35354880
3 - wu 1 - 18413 16.86GB (18413/0/0) 35352960
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0

partition> ^D
MySolaris10Host# date
Wed Feb 20 17:49:53 EST 2008
MySolaris10Host#

Tuesday, April 15, 2008

Inflation is here again



Bloomberg reports that the U.S. producer prices rose almost twice as much as forecast. Food and energy stoked the 1.1 percent gain in wholesale prices in March, the Labor Department reported today in Washington. Yet, we, the consumers, do not need the government statistics to know that we are paying more for gas, for food and from there for almost everything.

Reporters blame the high prices to crude oil, to ethanol as an alternate energy, to the War in Iraq and even to China – all plausible. However, they all missed the point. An overall rise of price levels may only be caused by one reason – too much money chasing after too few goods in the markets. Who is capable of creating the excessive money? The government. Only the government has access to the money printing machines. The Bush government in the past 8 years carried out a reckless fiscal policy which has been the direct cause for inflation. Millions upon millions were spent on “Wars on Terror,” homeland securities. Under the political circumstances, few, if any, politicians came out to question those spending. All those money the government spent without revenue backing became government deficits which drove up the price level. We know the government levy taxes. Most of the taxes we are all familiar with. When we make money, we pay income tax. When we spend money, we pay sales tax. When we die, our children pay inheritance tax if we still have money left. We seldom realize that inflation induced by government deficit is also a form of tax. Yes, you are right, it is known as inflation tax. Compared with other forms of taxes, the inflation tax is vicious because it causes the social wealth to be redistributed at random whips. The results of such wealth redistribution are often undesirable. Additionally, inflation causes uncertainties which makes it difficult for business to engage in transactions, especially long term ones. What follows such uncertainties are slowdown of business activities and the economy. One may argue that in a capitalist system, business cycles are inevitable. True. But an economic downturn resulted from bad government policies are not part of business cycles. They are human mistakes. Someone should be asked to take the responsibility for such an economic turbulence.

Wednesday, April 9, 2008

Olympic Touch in San Francesco

I watched the entire Touch Relay on CNN. Folks in SF, good job! The mayor, the police chief, the street police, those who are out there to celebrate the true Olympic spirit as well as the demonstrators. The Han Chinese and the Tibetans are not deadly enemies. Do not believe Richard Gere who is a prefessinoal liar and instigator.

London and Paris, shame on both of you.




Talking with one another for 20 minutes about Tibet, this Tibetan dropped down his "Free Tibetan" sign and said from deep down, he also wanted to celebrate the Olympics.



Beijing, my home city, best wishes for 2008.


Friday, April 4, 2008

Why is Tibet part of China?

Before answering this question, let me turn around with some other questions.

Why is Hong Kong part of China now? Because the colony’s British ruler was not able and willing to fight against the Chinese claim in 1997.

Why is XinJiang part of China? Because China won some key battles in early 1900 and conquered the area.

Why is Mongolia, which used to be part of Qing Dynasty Chinese Empire, an independent state now? Because Joseph Stalin believed an independent Mongolia was necessary for the safety of the Soviet territories in Far East. China was too weak to intervene right after the World War II.

Why is Taiwan still independent today? Because the United State has been provide military backing to the government on the island.

This kind of questions and answers can be extended to any part of the world. We are where we are not because of media exposures and debates. The relative strength of countries determines the outcome of geographical boundaries. Today’s destiny of Tibet is no different from those of any other areas in the world. Not fair? Unfortunately, this has been the reality of this world. Those people who charge the Chinese for ‘invading’ Tibet need to examine the history of their own countries as well.

Arguing about whether Tibet has historically been an independent state is equally futile. People on either side of this debate will have plenty of “evidences” to support his case. History is like a talented young girl. One may let her put on different costumes and play many roles. On the internet one will find people with high academic profiles on both sides of the arguments.

Dalai Lama and his supporters charge the Chinese government of systematic racial discrimination. I do not believe this charge is true. On the contrary, in order to keep this land and to pacify the local residents, the Chinese government has adopted many policies in favor of the minorities. For example, an ethnic Tibetan high school student may get into the top Chinese universities by scoring half of national minimum in the college entrance examinations. There are many other more substantial ‘affirmative actions.’

Will there ever be equality between the indigenous Tibetans and the emigrant Han Chinese? I doubt. The Chinese government will be considered very successful if the gap will not become wider. To bring equality to two racial groups with different temperaments is an un-resolvable issue in the world. Since the civil movement, the US government has passed many laws to help the minorities. Is there racial equality between blacks and whites today? Statistics are out there. Are there tensions and ‘misunderstandings’ between blacks and whites? A recently surfaced tape on Obama’s long time priest’s church speeches give a glimpse to the grim reality.

Another issue the pro-Tibetan movements raise is that the Han Chinese has been ‘systematically’ destroying the Tibetan culture. I am not sure how this can be done. A culture as profound as the one in Tibet will not be ‘destroyed’ as long as the vehicles that carries this culture – the people, the religious institutions – are still around. To keep this culture so pristine that it will not be affected by any outside influence remains a dream. In many aspects, Tibet will move forward along with the World. In Lhasa, the capital of Tibet, five star hotels and modern shopping malls will exist not far from traditional shopping Bazaar and Mosques. The monks will be studying Buddhist scripts during the day and IM with his friends with his 3G wireless phone in his spare time.


Will independence solve all problems? Hell no. I see independence as a beginning of many other conflicts. Without the Han Chinese, those returning from exile will find plenty of enemies of their own race. In the past 50 years, the Chinese government has trained thousands upon thousands of ethnical Tibetan cadres. They are now mayors, judges or in other high government positions. It will take a lot of imagination to believe the returned Dalai people, mostly formal tribe bosses, plantations owners or high clergymen, will work side by side with those Chinese trained cadres, many of whom direct decedents of formal noble servants or slaves.

Nowadays, Dalai Lama has won wide sympathy and support for accusing the Chinese of unfairly treating the Tibetans. It remains to be seen if the Dalai Lama’s regime will treat the non-Tibetans living in Tibet with fairness. Expelling the Han Chinese is a tempting way to get rid of bad influence on the Tibetan culture. Ethnical cleansing will cause another humanitarian problem.

Not all Tibetans live in what is now Tibet. According to a plan by Dalai Lama’s exile government, the future Tibetan state will include territories of all lands inhabited by Tibetans – a greater Tibet. By record, many of the Tibetan tribes outside Tibet have never been reporting to Lhasa since the downfall of a Tibetan dynasty since the 9th century. Until recently, part of Tibet and Gansu province are under the influence of Banchan Lama – one of the two highest Tibetan spiritual leaders. A unified greater Tibet never existed in history. I am not sure Dalai Lama’s plan is based on what reasons.

The drawing of boundary will be another problem. The border regions are co-inhabited by Tibetans, Han Chinese, Hui (Moslem) and other minority tribes. Some will have to live under some other people’s central government. For most others what difference it makes to live in Tibet as part of China or an independent Tibet?

Since the eruption of violence in Lhasa on March 14, Tibet has once again caught the attention of the whole world. For those who automatically place their sympathy on the weaker side, I say, please continue to pay attention and please make sure you put Tibet in the contest that racial issues exist not only in China but all over the world. For those who do not trust the Chinese communist party government, I say, many overseas Chinese share your view. But China has made tremendous progress in the past 20 years. Let us hope as China moves forward towards a more open society, all will change. Freedom will shine in China just as freedom shines in many other places in the world. For those China haters, I say, your dream will not come true. In order to break up China, you will first have to make her much weaker – weaker than the Chairman Mao’s time. In order to weaken China, you will need to break her up. Can you figure our which one comes first, chicken or egg? External force won’t work on China. To break Kosovo off Yugoslavia, President Clinton sent some F22s. To break Tibet off China, you will need WMD – not one or two but dozens. Are you out of your mind?

Thursday, April 3, 2008

The Solaris 10 Introductory course has been overhauled

Sun has done an exceedingly good job in overhauling its Solaris 10 introductory course on https://learningconnection.sun.com.

Since this is a free course, I think all should take moment to go over it. For UNIX system administrators, the heavy sales accent in the course material is a bit annoying, but the visually pleasant presenation coupled with a professional voice over compensates this difficulty. 5 hours will pass quickly. I took this course 2 years ago. It was not nearly half of today's quality. My understanding about Solaris 10 is way beyond this course level, but I still sat through the entire course without omitting anything. I admire the presentation.

Here is the full name of the course:

Solaris(TM) 10: Ten Moves Ahead of the Competition - (WS-245-S10)

Tuesday, April 1, 2008

This is not an April fool thing. This is for real.

Today, we received our company's offical death certificate.


Tuesday, March 18, 2008

The Week That Shook Wall Street -- The Wall Street Journal Online Edition

##
## This Wall Street Journal Artical needs to be preserved
## as part of wall street history and a MBA case.
##


DOW JONES REPRINTS


This copy is for your personal, non-commercial use only. To order presentation-ready copies for distribution to your colleagues, clients or customers, use the Order Reprints tool at the bottom of any article or visit:
http://www.djreprints.com/.

• See a sample reprint in PDF format.
• Order a reprint of this article now.

The Week That Shook Wall Street:
Inside the Demise of Bear Stearns
By ROBIN SIDEL, GREG IP, MICHAEL M. PHILLIPS and KATE KELLY
March 18, 2008; Page A1

The past six days have shaken American capitalism.

Between Tuesday,
when financial markets began turning against Bear Stearns Cos., and Sunday night, when the bank disappeared into the arms of J.P. Morgan Chase & Co., Washington policy makers, federal regulators and Wall Street bankers struggled to keep the trouble from tanking financial markets and exacerbating the country's deep economic uncertainty.


The mood changed daily, as did the apparent scope of the problem. On Friday, Treasury Secretary Henry Paulson thought markets would be calmed by the announcement that the Federal Reserve had agreed to help bail out Bear Stearns. President Bush gave a reassuring speech that day about the fundamental soundness of the U.S. economy. By Saturday, however, Mr. Paulson had become convinced that a definitive agreement to sell Bear Stearns had to be inked before markets opened yesterday.

Bear Stearns's board of directors was whipsawed by the rapidly unfolding events, in particular by the pressure from Washington to clinch a deal, says one person familiar with their deliberations.

"We thought they gave us 28 days," this person says, in reference to the terms of the Fed's bailout financing. "Then they gave us 24 hours."

In the end, Washington more or less threw its rule book out the window. The Fed, which has been at the forefront of the government response, made a number of unprecedented moves. Among other things, it agreed to temporarily remove from circulation a big chunk of difficult-to-trade securities and to offer direct loans to Wall Street investment banks for the first time.

The terms of the Bear Stearns sale contained some highly unusual features. For one, J.P. Morgan retains the option to purchase Bear's valuable headquarters building in midtown Manhattan, even if Bear's board recommends a rival offer. Also, the Fed has taken responsibility for $30 billion in hard-to-trade securities on Bear Stearns's books, with potential for both profit and loss. The question now looming over the transaction: Has the government set a precedent for propping up failing financial institutions at a time when its more traditional tools don't appear to be working? Cutting interest rates -- which the Fed is expected to do again today, by between a half percentage point and a full point -- hasn't yet done much to loosen capital markets gummed up by piles of bad debt.

Even though the transaction ultimately could leave taxpayers on the hook for losses, the political response so far has been fairly positive. "When you're looking into the abyss, you don't quibble over details," said New York Democratic Senator Charles Schumer.

Tuesday, March 11

From the earliest days of the financial crisis that began last year, the Federal Reserve had been working on contingency plans to lend to investment banks. Such firms regularly asked for government help to finance their large inventories of securities such as mortgage-backed bonds. They hoped to get the same favorable terms the Fed also gave to banks that borrow from its "discount window." But the Fed is barred from making such loans to firms that aren't banks, except by invoking a special clause which it hadn't used to lend money since the Great Depression. Officials worried that the drama surrounding a decision to do something for the first time since the 1930s could be damaging to confidence.

On Tuesday, officials unveiled what they thought came close: a promise to lend up to $200 billion in Treasury bonds to investment banks for 28 days. In return, the Treasury would get securities backed by home mortgages, whose uncertain values helped spark the current crisis, and other hard-to-trade collateral. The first swap was scheduled for March 27. At first, the firms were elated.

That same day, the market began turning on Bear Stearns. Phones were ringing off the hook at rival firms such as Goldman Sachs Group Inc., Morgan Stanley and Credit Suisse Group. Clients of those firms were growing worried about trades they had entered into with Bear Stearns -- about whether Bear Stearns would be able to make good on its obligations. The clients asked the other investment banks whether they would be willing to take the clients' places in the trades. But credit officers at Goldman, Morgan Stanley and others -- worried themselves about Bear Stearns's condition -- began to say no.


At Bear Stearns, Chief Financial Officer Samuel Molinaro, along with company lawyers and Treasurer Robert Upton, were trying to make sense of the situation. They felt comfortable with their capital base of roughly $17 billion and were looking forward to reporting Bear Stearns's first-quarter earnings, which had been respectable amid the market carnage.

One theory began developing internally: Hedge funds with short positions on Bear -- bets that the company's stock would fall -- were trying to speed the decline by spreading negative rumors.

For the first part of the week, Chief Executive Officer Alan Schwartz was out of pocket. Although Bear Stearns had been struggling with mortgage-related losses and problems in its wealth-management unit, Mr. Schwartz was hosting a Bear Stearns media conference in Palm Beach, Fla. On Wednesday morning, he left the conference briefly to do an interview with CNBC in an effort to deflect rumors about liquidity issues at the firm.

Thursday

On Thursday evening, after customers had continued to pull their money out of Bear Stearns, the bank reached out to J. P. Morgan, looking to discuss ways the Wall Street giant could help ease Bear's cash crunch.

By then, Bear Stearns's cash position had dwindled to just $2 billion. In a conference call at 7:30 p.m., officials at Bear Stearns and the Securities and Exchange Commission told Fed and Treasury officials that the firm saw little option other than to file for bankruptcy protection the next morning.

Bear Stearns's hope was that the Fed would make a loan from its discount window to provide several weeks of breathing room. That, the firm hoped, would perhaps halt a run on the bank by allowing it to swap bonds for the cash necessary to return to customers.

The Fed's standard preference in dealing with a troubled institution is to first seek a private-sector solution, such as a sale or financing agreement. But the possibility of a bankruptcy filing Friday morning created a hard deadline.

A trigger point was looming for Bear Stearns in the so-called repo market, where banks and securities firms extend and receive short-term loans, typically made overnight and backed by securities. At 7:30 a.m., Bear Stearns would have to begin paying back some of its billions of dollars in repo borrowings. If the firm didn't repay the money on time, its creditors could start selling the collateral Bear had pledged to them. The implications went well beyond Bear Stearns: If other investors questioned the safety of loans they made in the repo market, they could start to withhold funds from other investment banks and companies.

The $4.5 trillion repo market isn't a newfangled innovation like subprime-backed collateralized debt obligations. It is a decades-old, plain-vanilla market critical to the smooth functioning of capital markets. A default by a major counterparty would have been unprecedented, and could have had unpredictable consequences for the entire market.


Federal Reserve Bank of New York President Timothy Geithner worked into the night, grabbing just two hours of sleep near the bank's downtown Manhattan headquarters. His staff spent the night going over Bear's books and talking to potential suitors including J. P. Morgan. The hard reality was that even interested buyers said they needed more time to go over the company.

The pace and complexity of events left Bear's board of directors groping for answers. "It was a traumatic experience," says one person who participated. Sleep deprivation set in, with some of the hundreds of attorneys and bankers sleeping only a few hours during a 72-hour sprint. Dress was casual, with neckties quickly shorn.

Friday

At 5 a.m. Friday, Mr. Geithner, Mr. Paulson and Federal Reserve Chairman Ben Bernanke, calling in from home, joined a conference call to debate whether Bear should be allowed to fail or whether the Fed should lend it enough money to get through the weekend. At 7 a.m. they settled on the lifeline option. Mr. Bernanke assembled the Fed's other three available governors to vote for the loan, the first time since the Depression the Fed would use its extraordinary authority to lend to nonbanks.

The Fed announced that it would lend Bear money, through J.P. Morgan, for up to 28 days to get the venerable investment bank through its cash crunch. At 9 a.m., Mr. Geithner, Mr. Paulson and aides addressed a conference call of bond dealers and bankers. Mr. Paulson took the lead, saying the dealer community had "a stake" in the overall deal working out.


But the markets didn't take well to the news that a major investment bank was on the brink of failure. Stocks sank. Other investment banks were seeing lenders turn cautious. Fed officials led by Bill Dudley, head of open-market operations, began planning a more direct response: opening the discount window to all investment banks, a request the Fed had resisted for months.

J.P. Morgan's effort to buy Bear kicked into high gear on Friday afternoon, just hours after the big bank and the Fed had provided Bear with the 28-day lifeline. Steve Black, co-head of J.P. Morgan's investment bank, returned early from vacation in the Caribbean, spearheading the bank's efforts with his J.P. Morgan counterpart in London, Bill Winters.

Mr. Black's role was pivotal. He was a longtime associate of J.P. Morgan Chief Executive James Dimon. And Mr. Black had a long relationship with Bear's CEO, Mr. Schwartz, dating back to the 1970s, when the two were fraternity brothers at Duke University.

J.P. Morgan bankers were broken into some 16 teams -- all with specific due-diligence assignments. Some focused on Bear's prime-brokerage business, which was attractive to J.P. Morgan. Others concentrated on technical operations, commodities, and the like.

As some Fed staffers worked from a conference room on Bear's 12th floor, Federal Reserve officials insisted that the firm complete a deal that weekend. Officials made it clear the loan was only for the short term to ensure a deal got done as quickly as possible. Their priority was that Bear's counterparties -- the parties that stood on the other side of its trades -- would be able to arrive at work Monday knowing their contracts were good, minimizing the risk of a generalized flight from the markets.

Treasury Secretary Paulson knew that the day's work wouldn't be enough to keep Bear afloat over the long term. Still, Mr. Paulson, a former Goldman Sachs chief executive and the administration's point man for financial markets, thought Bear Stearns would survive through the weekend.

Saturday

That illusion was shattered Saturday morning, when Mr. Paulson was deluged by calls to his home from bank chief executives. They told him they worried the run on Bear would spread to other financial institutions. After several such calls, Mr. Paulson realized the Fed and Treasury had to get the J.P. Morgan deal done before the markets in Asia opened on late Sunday, New York time.

"It was just clear that this franchise was going to unravel if the deal wasn't done by the end of the weekend," Mr. Paulson said in an interview yesterday.

A year ago, Mr. Paulson wouldn't have considered Bear Stearns big enough that its collapse would present a threat to the U.S. financial system. But confidence in the economy and financial sector are so shaky now that he had no doubt that the Fed and government had to act to prevent its bankruptcy, according to a senior Treasury official.

At 8 a.m. Saturday, the J.P. Morgan bankers assembled to receive instructions in the bank's executive offices, located on the 8th floor of its Park Avenue headquarters. One hour later, they headed down the street to Bear Stearns's headquarters to pore over Bear's books. Due diligence had begun.

Back at J.P. Morgan's headquarters, top executives set up war rooms on the executive floor, commandeering offices of colleagues who weren't directly involved in the negotiations. Bankers darted in and out of offices searching for the top brass, who were also moving from room to room. Mr. Dimon, wearing slacks and a dark sweater, urged the bankers to stay calm and focused. "Everyone take a deep breath," he said at one point.

By 7:30 p.m., hunger pangs had taken hold. Someone ordered Chinese food. A security guard lay out a buffet spread.

That evening, Mr. Black got on the phone to Mr. Schwartz, Bear Stearns's CEO. J.P. Morgan would be willing to buy Bear Stearns, subject to the conclusion of due diligence, he told Mr. Schwartz. The J.P. Morgan executives didn't set a specific price, instead providing a dollars-per-share range, according to people familiar with the matter. At the high end was a figure in the low double digits, these people say.

By 1 a.m., the bankers headed home for a few hours of sleep.

Sunday

Early the next morning, Messrs. Dimon and Black and other top executives sat around a conference-room table to discuss the situation. One by one, they began expressing concern about the speed at which the situation was progressing. They weren't comfortable with the level of due diligence being conducted. Were there more problems hidden deep in Bear's balance sheet that they hadn't found yet? Would market turmoil result in more problems? Was J.P. Morgan really willing to take such a risk without full information?

"Things didn't firm up -- they got more shaky," according to one person familiar with the meeting.

Finally, they came to a conclusion. J.P. Morgan wouldn't buy Bear Stearns on its own. The bank needed help before it would do the deal.

Mr. Paulson was frequently on the phone with Bear and J. P. Morgan executives, negotiating the details of the deal, the senior Treasury official said. Initially, Morgan wanted to pick off select parts of Bear, but Mr. Paulson insisted that it take the entire Bear portfolio, the official said.


This was no normal negotiation, says one person involved in the matter. Instead of two parties, there were three, this person explains, the third being the government. It is unclear what explicit requests were made by the Fed or Treasury. But the deal now in place has a number of features that are highly unusual, according to people who worked on the transaction.

In addition to its option to purchase Bear's headquarters building, J.P. Morgan has the option to purchase just under 20% of Bear Stearns's shares at a price of $2 each. That feature gives J.P. Morgan an ability to largely block a rival offer, says a person with knowledge of the contract.

The deal also is highly "locked up," meaning that J.P. Morgan cannot walk, even if there is a heavy deterioration in Bear's business or future prospects. Bear Stearns holders can, of course, vote the deal down. But the effect that would have on J.P. Morgan's ongoing managerial oversight and the Fed's guarantees is largely unknown.

"We're in hyperspace," says one person who worked on the deal. All these matters are very likely to be litigated in court eventually, this person adds.

The Fed spent the weekend putting together a plan to be announced Sunday evening, regardless of the outcome of Bear's negotiations, that would enable all Wall Street banks to borrow from the central bank. Mr. Bernanke called the Fed's five governors together for a vote Sunday afternoon. All five voted in favor, using for the second time since Friday the Fed's authority to lend to nonbanks.

The steps were announced at the same time the Fed agreed to lend $30 billion to J.P. Morgan to complete its acquisition of Bear Stearns. The loans will be secured solely by difficult-to-value assets inherited from Bear Stearns. If the assets decline in value, the Fed -- and therefore the U.S. taxpayer -- will bear the cost.

Aware of the potential political backlash, Fed and Treasury officials briefed Democrats throughout the weekend. Events moved so fast that there was little time for much substantive outreach. Mr. Bernanke spoke with Massachusetts Democrat and House Financial Services Committee Chairman Barney Frank on Friday. Fed staffers emailed updates to Mr. Frank's office on Sunday.

"I believe this is the right action that was taken over the weekend," said Senate Banking Committee Chairman Christopher Dodd of Connecticut, a Democrat, who spoke with Messrs. Bernanke and Paulson on Sunday during deliberations. "To allow this to go into bankruptcy, I think, would have [created] some systemic problems that would have been massive."

--Dennis K. Berman, Damian Paletta and Sarah Lueck contributed to this article.

Monday, March 17, 2008

Wall Street does not believe in tears


On Sunday evening, JPMorgan announced that it will acquire Bear Stearns for $240 million dollars or at $2 per share. The last trade of Bear Stearns’ stock on Friday on the New York Stock exchange was at $30.85 dollars. With full consideration for its potential costs and risks, JPMorgan has got a good deal. Its stock rose $3.01, or 8.2 percent, to $39.55 at 12:05 p.m. in New York Stock Exchange while the Amex Securities Broker/Dealer Index fell 14 percent today.

I got this news through an internal email at 7:55PM on Sunday. For me as well as the 14,000 fellow Bear Stearns employees, this news was a relief. We now knew that on Monday we would still have a place to go for work. The biggest losers of this fallout will be the equity holders. It is reported that Bear Stearns former CEO James Cayne and British investor Joseph Lewis each lost over $1 billion dollars. Besides institution investors, a big group of investors will be Bear Stearns employees who own up to 30 percent of the outstanding stocks. One of my colleagues said he had accumulated 4000 shares over his 17 years of careers with Bear Stearns. Now he is facing a double jeopardy of losing both his job and the bulk of his retirement savings. While I do not know what words to use on those ‘Wall Street sharks,’ I know that those rank and file employees do not deserve this punishment. Well, Wall Street does not believe in tears.

Nowadays, the world financial markets have developed into a tightly intertwined web. Once this web shows sign of fatigue, the government does not have much time to wait before intervening. Bear Stearns was a weak link. For Fed to let this one wound bring havoc to the entire financial market was not an option. If a $30 billion loan guarantee and a merge of JPMorgan and Bear Stearns created a small unfairness for a few, so let it be. Preventing a financial market meltdown from bringing down the whole economy was an overwhelming goal.

How did we get to this situation? Within Bear Stearns, many people blade former CEO James Cayne for his laid back management style. I agree. On the macroeconomic level however, I believe, we have to blame the formal Fed Chairman Alan Greenspan. After a meltdown of the internet bubble around year 2000, Greenspan kept interest rate low to stimulate the economy. While it was correct and effective to use monetary policy, Greenspan over did it. If Greenspan were a doctor, he kept his patient on blood transfusion too long. A patient who had developed dependency on external help would never stand up on himself. That patient was the economy under Greenspan. After becoming the new Fed Chairman in February 2006, Ben Bernanke attempted to use monetary policy to fight inflation. As soon as Bernanke raised interest rate, the housing market started to dive. The monetary policy had been abused in such that it could no longer be used for its textbook purpose.

Another reason for today’s meltdown lies in the technicality of today’s complex mortgage business model which has developed in such that originators, package makers, issuers and mortgage paper owners are separated. Given low cost of funding (remember Greeenspan?), the mortgage originators had all the incentives to lend. They did the lending as much and as fast as they could. Don’t you forget we are still a capitalist society? What if a loan would go bad and affect the mortgage owners, the originators could not care less. Stories have come out the mortgage lenders colluded with borrowers cheating on the paper work to get the loans approved. Because the mortgage business process was complicated, many of the mortgage owners knew less of what they should have known about those loan packages . Once they started to smell bad and started opening some of the boxes to look inside, bad news came out. As boxes after boxes of bad loans got exposed, we got to where we are.

P.S. The latest news on wire says that JPMorgan plans to cut half of the current Bear Stearns headcounts. Well, all I can do now is to hope that I can survive this cut. I would also like to offer my prayers to evey fellow Bear Stearns employees. For tonight, I wish we all sleep well. Tomorrow is another day.

Friday, March 14, 2008

The Party is over?


What a day! All of a sudden, people on the office floor changed. Everyone was nice to one another. Even those who had mostly maintained professionally stern faces started to greet people. We all knew that, for good or bad, our professional careers with this formerly Wall Street powerhouse will soon be over. Through out my career, I have never seen so many emails from top management delivered to my email inbox in a short span of a couple of hours. Multiple townhall meetings in a day? Never heard of. Today - Saturday, March 14, 2008 – will be remembered as a milestone. I know my job and my personal finance will inevitably be impacted but I am not bitter. I have not done anything to cause this and there was nothing I could have done to make a difference. I am amazed that what happens to a company with barely 14 thousand employees could have such a huge impact on the US economy. For today, I happend to be in the very center of a national financial storm. President Push happens to be in town today giving a speech at the New York economic club. I bet he was made aware of name of this Wall Street company.




Here is a 5-DAY re-cap of events surrounding Bear Stearns:
MONDAY
Bear Stearns DENIES Rumors on Liquidity After Shares Plummet (Bloomberg)
TUESDAY
Bear Stearns Falls For 2nd Day on Cash Concerns (Bloomberg)
WEDNESDAY
Bear Stearn's CEO Schwartz Says Cash Cushion is Ample (Bloomberg)
THURSDAY
Bear Stearn's Falls To 5-Year Low on Capital Concern (Bloomberg)
FRIDAY
Bear Stearns Gets EMERGENCY FUNDING From JPMorgan & Fed (Bloomberg)

Tuesday, March 4, 2008

The Veritas Certification Path



Here is the Veritas Certification Path

UNIX Sys Administration Day




test

Rules for engineering

Dan Maslowski is a philosopher among the the Sun bloggers. The following piece is an example. You may visit his blog to find more: http://blogs.sun.com/danmas


I read with interest the article by our legal type doing the legal thing on legal leadership. (NB: Anyone besides me notice that there is a picture of him but no name... Whom is him?) The article resonated with me and helps me provide a structure for some of the basic tenants of leadership I follow as it relates to engineering management. So, here is a crack at some of the rules I live by. I will post more as time goes on:
Engineers should attend all key business and staff meetings.

Engineers are important players in key decisions because we understand the technology of “how” things work. The business team should decide why and what we do, but engineering has a significant understanding of the technology that can be useful in solving the business problems.

While attending these meetings, it is important to understand that influencing people and decisions is an important part of the job. Attacking or vilifying (technical arrogance anyone?) is bound to be counter-productive and lead to not only distractions but dissatisfaction and a subsequent waning of the influence that engineer might have had.

Eliminate the “No” word from your vocabulary.

Business teams make decisions and seek advice and input from engineering. It is really easy to explain why an idea is stupid. In fact, I can pay someone $5 an hour to tell me how bad an idea is. The point is that it is easy to shoot things down. It is much harder to figure out how to make things work, solve problems creatively and come up with a scenario that works both technically and for the business.

Additionally, it is important to quantify the decision criteria. Instead of saying “No, doing foo is a stupid idea”, engineers could say “At this time I don't know how to do foo” or “Doing foo will cost you n number of months of engineering time and n number of $. Balance that against existing tasks and tell me what you would like to do.” In this manner we accomplish our role (advise on what to do and how to do it) but still leave the decision maker the ability to make the decisions that count. This street credibility is invaluable. Helping our teams to make the correct decisions should be based on facts and influence, not technical nay saying.

Engineers should be business people. Hone your business ability.

The longer I am in engineering, the more convinced I am that doing is much simpler (for me) than figuring out what to do. I can build a computer (program, chip, application, utility etc.). The really hard thing (OK slightly tongue in cheek, engineering is hard too), at least for me, is figuring out what to build, when to build it and how to sell it. I am not detracting from the rare and beautiful talent associated with building and creating. These are great things and are the foundations of our success as an engineering centric company (and customer centric). Knowing that we need to build low cost, low power servers to take back market share in servers is genius however. (Did you hear we are number 3 again? Sorry Dell...)

Engineers must take every chance to be customer centric and customer focused. Jerry Vogel at AMD talks about customer centric engineering. I had the benefit of hearing Jerry speak when I attended the Experienced Managers Academy (essentially the “I wanna be a director” school for AMD leadership) and it was a profound experience. Jerry intuitively understands that success is defined by our partners and our partnerships with our customers. Business with our customers is and should be a personal thing. It is pretty clear to me that the AMD-Sun partnership is, well, a partnership.

Many of our (engineering's) customers are the marketing and sales teams. The entire value chain consists of building the right thing at the right time and sales/marketing will tell us this if we listen.

Finally, we are in business. Failing to understand key business statistics and metrics (ROI, WACC, ERP, TCO etc) prevents us from understanding how to influence either these statistics or the people that make decisions based on these statistics.

Return phone calls and email promptly.

Recall that one of the key roles for an engineer is to influence decision making. The frustration associated with not being able to reach an engineer or being able to solicit advice is extreme. It results in splits between team members and fracturing of relationships. Build and maintain those relationships such that when it really counts, the relationship and the problem solving and influencing skills are intact and ready for use.

Learn about business problems and proposed solutions early.

Some of my greatest success stories involve solving a problem with already crafted solutions before lots of money and effort were spent trying to spin up a new program. Since we are, in a sense, the technical historians of our business, we have a wealth of tested and produced solutions at our finger tips. If we are intimately involved in our business, we can put that history to use and use it to influence key decision makers.

Simplicity is beautiful.

A simple solution is far more elegant than a complex solution. I “made my bones” in writing software that tried to espouse the following guidelines:

The user should never need to ask the question “What do I do now?” The design should preclude the user from needing to reference a manual or look at something else to move forward. This is very hard to do and requires great sophistication.


Things should just work. No configuration, no hoops to jump through, no magic rocks to grok or arcane rituals to perform. Plug it in, turn it on and go. Anything else is a failure of the “what do I do now” rule. If you need to know the secret knock in order to proceed the design is flawed.

Write your code such that a new graduate can work in the code base without undue effort or initiation. There are no style points for complex code, terse commentary or mind bending and intricate interactions. Simple, discrete and straight forward code is beautiful. It reduces the total cost of ownership, eases maintenance and reduces sustaining costs. Most importantly it guarantees that I can bend my talents to solving new and interesting problems, not maintaining an obscure and difficult code base.

Monday, March 3, 2008

SHAME ON YOU, Honda Dealerships and Verizon Telephone companies

Being on call this week, I stayed up late last night working on a production issue. Early in the morning, a loud telephone ring waked me up. The caller ID showed the caller to be “UNKNOWN.” I guessed it might be from my mother in China because our early morning would be her evenings and most of her calls, being from overseas carriers, showed up as from an “UNKNOWN” id.

“Hi, Mom,” I picked up the phone, still half asleep.

After 2 quick clicks, the other end started a recorded session, “this is a second warning. Your vehicle’s factory warranty will expire soon... It is very dangerous to drive a car without such a warranty… We will soon give you another warning…”

Throughout the whole day, I had a hard time to calm down. I was mad. SHAME ON YOU, North American Honda Dealerships. Like a bunch of rapists, you have just forced on me against my free will. My house phone was an unlisted and telemarketer blocked phone reserved for my own family usage. I paid special fees to setup those special phone services. While purchasing a car, I gave you this number to prove my ID for a bank loan. You have no right to break into my phone to deliver your marketing pitches. Your action has resulted in my unhappiness and ruined half day of my otherwise productive time.

SHAME ON YOU, the Verizon telephone company! You acted like a smooth con-artist. One day, you sold your customers a ‘service’ called ‘Caller ID.’ The next day, you turned around to sell the telemarketers another service to allow them to hide their phone numbers while making outgoing calls. You designed this clever scam which allowed you to collect money from both consumers and marketing business at same time. What you gave to them? Nothing, exactly that, nothing! Therefore, we have to call you what you are – a thief.

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:

Tuesday, November 27, 2007

I saw opiums in Kuimin

Mom and I got up early for airport. The city of Beijing was still asleep. By 11:00am, we are at Kuimin, a south China city that only has one season year round -- spring. Here is a park for international flower show.



Since childhood, I have always been taught to associate the opium with negative conotations.
Karl Marx uses opium to desibe religion. "Opium War" was the beginning of a hundred year's of national humilation for my motherland China. But here in Kumin, in the year of 2007, opium poppy is openly displayed for everyone to appreciate. They are truly elegant, are'nt they?




Let's get some more detailed pictures.





Mom is reporting what she is seeing back to my step father who refused to come with us.

Wednesday, October 24, 2007

ssh keys -- how to setup trust relations

Seting up trust relationship between UNIX hosts is one of the routine requests we get. Here is a brief procedure:

Case I: OpenSSH -> OpenSSH (Simplist)

Steps:
1. Generate SSH Keys

LinuxHostLocal# /usr/bin/ssh-keygen -t dsa

2. Copy Public Key to the Remote Machine

LinuxHostLocal# scp .ssh/id_dsa.pub LinuxHostRemote:/tmp

3. Add Public Key to the list of keys

LinuxHostRemote# cat /tmp/id_dsa.pub >> ~/.ssh/authorized_keys
LinuxHostRemote# rm /tmp/id_dsa.pub


4. Set up permissions

LinuxHostRemote# chmod 640 ~/.ssh/authorized_keys

We can now ssh from LinuxHostLocal to LinuxHostRemote without a password. Make sure never to let anyone get your private key file (keep permissions at 600). Public keys can (and should) be publicly available.


Case II: OpenSSH -> SSH2 (Key conversion will be needed)

From OpenSSH (LinuxLocalHost), to SSH2 (SolarisRemoteHost)

Do the 4 steps in Case I. Since SSH2 cannot directly read an OpenSSH key, we have to do a key conversion here.

1. Convert SSH Public Key to SSH2 Key

LinuxLocalHost# cd ~/.ssh
LinuxLocalHost# /usr/bin/ssh-keygen -e -f id_dsa_pub > id_dsa_ssh2.pub


2. Create the public key file on the Remote Machine that runs SSH2

LinuxLocalHost# scp id_dsa_ssh2.pub SolarisRemoteHost:~/.ssh2/remotehostname.pub

* you will have to supply a passwd at this time; otherwisie use root id to do the scp

2. Add Public Key to the list of keys

SolarisRemoteHost#cd ~/.ssh2
SolarisRemoteHost# echo "key remotehostname.pub" >> ~/.ssh2/authorization



Case III: SSH2 -> OpenSSH ((Again, key converstion is needed)

Now, we'll need to generate a new set of keys on the SSH2 machine, and send its public key to the openssh machine. Again, we will need to convert the public key. This time from SSH2 to OpenSSH form.
* note that the key conversion can only be done on the open ssh side. SSH2, as far as I know now, has not implemented a routine to convert OpenSSH keys.


1. Create SSH2 Keys

SolarisLocalHost# /opt/ssh2/bin/ssh-keygen

example screen:

$ /opt/ssh2/bin/ssh-keygen
Generating 1024-bit dsa key pair
2 Oo.oOo.oOoo.
Key generated.
1024-bit dsa, fsbsc@evitaprod, Wed Oct 24 2007 20:40:27
Passphrase : <<>
$
2. Tell SSH2 who it is

SolarisLocalHost# cd ~/.ssh2
SolarisLocalHost# echo "idkey id_dsa_1024_a" >> .ssh2/identification



3. Set permissions

SolarisLocalHost# chmod 600 idkey id_dsa_1024_a.pub identification

4. Copy the public key to the OpenSSH machine

SolarisLocalHost# scp .ssh/id_dsa_1024_a.pub LinuxRemoteHost:/tmp

5. Convert the public key, and add it authorized_keys2
*note the file name is "authorized_keys2"

LinuxRemoteHost:/usr/bin/ssh-keygen -i -f /tmp/id_dsa_1024_a.pub >> ~/.ssh/authorized_keys2
LinuxRemoteHost:rm /tmp/id_dsa_1024_a.pub

Cheers.

Thursday, May 24, 2007

Solaris fibre channel management

In Solaris 10, storage management is now integrated into the base OS. The leadville driver has been expanded to include HBAs from Emulex, JNI and Qlogic, and the fcinfo utility as well as several mdb DCMDS were added to view fibre channel connectivity information. 'fcinfo' is an useful tool to view HBA and connectivity information.

usage examples are here:

pbeqcmpdb1-h# fcinfo hba-port
HBA Port WWN: 10000000c943458a
OS Device Name: /devices/pci@8,700000/lpfc@2
Manufacturer: Emulex Corporation
Model: LP9002
Type: N-port
State: online
Supported Speeds: 2Gb
Current Speed: 2Gb
Node WWN: 20000000c943458a
HBA Port WWN: 10000000c943944b
OS Device Name: /devices/pci@8,700000/lpfc@3
Manufacturer: Emulex Corporation
Model: LP9002
Type: N-port
State: online
Supported Speeds: 2Gb
Current Speed: 2Gb
Node WWN: 20000000c943944b
HBA Port WWN: 210000144f23cfc4
OS Device Name: /dev/cfg/c1
Manufacturer: QLogic Corp.
Model: 2200
Type: L-port
State: online
Supported Speeds: 1Gb
Current Speed: 1Gb
Node WWN: 200000144f23cfc4
pbeqcmpdb1-h#
pbeqcmpdb2-h# fcinfo hba-port
HBA Port WWN: 10000000c952efec
OS Device Name: /devices/pci@8,700000/lpfc@2
Manufacturer: Emulex Corporation
Model: LP9002
Type: N-port
State: online
Supported Speeds: 2Gb
Current Speed: 2Gb
Node WWN: 20000000c952efec
HBA Port WWN: 10000000c952ee53
OS Device Name: /devices/pci@8,700000/lpfc@3
Manufacturer: Emulex Corporation
Model: LP9002
Type: N-port
State: online
Supported Speeds: 2Gb
Current Speed: 2Gb
Node WWN: 20000000c952ee53
HBA Port WWN: 210000144f00fe72
OS Device Name: /dev/cfg/c1
Manufacturer: QLogic Corp.
Model: 2200
Type: L-port
State: online
Supported Speeds: 1Gb
Current Speed: 1Gb
Node WWN: 200000144f00fe72
pbeqcmpdb2-h#

Further usage information can be found in man page.

Thursday, November 9, 2006

The JumpStart Client Boot Process

When a JumpStart client boots, the boot PROM broadcasts a RARP request to the local subnet.
The in.rarpd daemon on the boot server processes the client's RARP request by:
Looking up the client's Ethernet address and host name in the /etc/ethers file
Checking for a corresponding host name in the /etc/hosts file
Returning the associated IP address to the client
The client's boot programmable read-only memory (PROM) sends a TFTP request for a network bootstrap program.
The in.tftpd daemon on the boot server processes the client's TFTP request. The daemon searches the /tftpboot directory for a file with a hexadecimal representation of the client's IP address. The hexadecimal representation is the name of the file. This file is a symbolic link that points to a network bootstrap program.
The in.tftpd daemon on the boot server returns the network bootstrap program to the JumpStart client.
The JumpStart client runs the network bootstrap program.
The network bootstrap program issues a whoami request to discover the JumpStart client's host name.
The rpc.bootparamd daemon on the boot server looks up the client's host name, and returns it to the client.
The network bootstrap program issues a getfile request to obtain the location of the root (/) file system.
The server responds with the location of the root (/) file system, obtained from the appropriate source:
The /etc/bootparams file.
A name service such as NIS , NIS+, LDAP.
After the client obtains its boot parameters, the network bootstrap program mounts the root (/) file system from the boot server.
The client loads its kernel and starts the init program. When the JumpStart client finishes booting, it attempts to find configuration information.
The client searches for the configuration server using BOOTPARAMS information. The client mounts the configuration directory, and runs the sysidtool daemon.
The client uses BOOTPARAMS information to locate and mount the Solaris Operating System installation image.
The client runs the suninstall program and installs the Solaris Operating System.