### How to change the character case in ksh?

1. To change lower case characters to upper case, you can

echo abc | tr "[a-z]" "[A-Z]"

or

echo abc | tr '[:lower:]' '[:upper:]'

2. To change upper case characters to lower case, you can

echo ABC | tr "[A-Z]" "[a-z]"

or

echo ABC | tr '[:upper:]' '[:lower:]'

### rup:: RPC: Program not registered in RHEL6.1

I just installed Redhat Enterprise Linux 6.1 on one HP server. Following error met when rup it on other servers:

[sourcecode language="text"]
$rup coolnjmcl033 rup:coolnjmcl033: RPC: Program not registered [/sourcecode] SOLUTION: 1) check if all nfs related services are working: [sourcecode language="text"] [root@coolnjmcl033init.d]# rpcinfo -p program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100011 1 udp 875 rquotad 100011 2 udp 875 rquotad 100011 1 tcp 875 rquotad 100011 2 tcp 875 rquotad 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100227 2 tcp 2049 nfs_acl 100227 3 tcp 2049 nfs_acl 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100227 2 udp 2049 nfs_acl 100227 3 udp 2049 nfs_acl 100005 1 udp 51310 mountd 100005 1 tcp 60605 mountd 100005 2 udp 42799 mountd 100005 2 tcp 44201 mountd 100005 3 udp 49544 mountd 100005 3 tcp 49098 mountd 100024 1 udp 37035 status 100024 1 tcp 60898 status 100001 3 udp 1008 rstatd 100001 2 udp 1008 rstatd 100001 1 udp 1008 rstatd [/sourcecode] If there is no running rstatdservice , start it byservice rstatd start. Accordingto RHEL 6 RUP manual: [sourcecode language="text"] rup: RPC: Program not registered [/sourcecode] The rpc.rstatd(8) daemon has not been started on the remote host. 2) check if package rusers-server-*and rusers-* are installed: rpm –qa|greprusers. If not, install it and then restart service rstatd. PS: Other userful commands: [sourcecode language="text"] rup localhost service rstatd status [/sourcecode] ### C++filt c++flit decodes(demangles) low-level names into user-level names so that the linker can keep these overloaded functions from clashing. You may use c++filt to demangle the symbols. [sourcecode language="text"]$ c++filt _ZNSt8ios_base4InitD1Ev
std::ios_base::Init::~Init()
[/sourcecode]

### What's the differences between virtualization and cloud computing?

Many people will be confused by the relations and differences between virtualization and cloud computing. Following essays will clarify the nature of the two technologies.
1. Cloud is an operations model, not technology: http://news.cnet.com/8301-19413_3-10249486-240.html
2. Difference Between Virtualization and Cloud Computing: http://data-centers.in/virtualization-and-cloud-computing/
3. The Difference Between Virtualization and Cloud Computing: http://www.erpsoftwareblog.com/2010/08/the-difference-between-virtualization-and-cloud-computing/

### Steve Jobs的家庭教育

Isaacson的采访

1. 追求完美

ISAACSON BELIEVES THAT MUCH OF IT CAN BE TRACED TO THE EARLIEST YEARS OF HIS LIFE, AND TO THE TO THE FACT THAT JOBS BORN OUT OF WEDLOCK, GIVEN UP BY HIS BIRTH PARENTS, AND ADOPTED BY A WORKING CLASS COUPLE FROM MOUNTAIN VIEW, FROM MOUNTAIN VIEW, CALIFORNIA.

WALTER ISAACSON: Paul Jobs was a salt-of-the-earth guy who was a great mechanic. And he taught his son Steve how to make great things  And he--once they were building a fence. And he said, "You got to make the back of the
fence that nobody will see just as good looking as the front of the fence." Even though nobody will see it, you will know, and that will show that you're dedicated to making something perfect."

2. 培养自信

JOBS ALWAYS KNEW HE WAS ADOPTED, BUT IT STILL HAD A PROFOUND EFFECT ON HIM. HE TOLD ISAACSON THIS STORY FROM HIS EARLY CHILDHOOD DURING ONE OF THEIR MANY TAPED INTERVIEWS:

STEVE JOBS TAPES: I was, I remember right here on my lawn, telling Lisa McMoylar from across the street that I was adopted. And she said, “So does that mean your real parents didn't want you?” Ooooh, lightning bolts went off in my head. I remember running into
the house, I think I was like crying, asking my parents. And they sat me down and they said, “No, you don't understand. We specifically picked you out.

WALTER ISAACSON: He said, "From then on, I realized that I was not — just abandoned. I was chosen. I was special." And I think that's the key to understanding Steve Jobs.

Steve Jobs的英文版自传目前还没买到，我的iTunes帐号只能在中国大陆使用，期盼过些天能够有办法。由于Steve Jobs的语言十分生动灵活，Walter Isaacson 的文体严肃认真，估计直接阅读英文版还是会很有一些障碍的，但那应该是学习好的英语的一种不可多得的机会。

# 1. Cloud is an operations model, not technology: http://news.cnet.com/8301-19413_3-10249486-240.html

2. Difference Between Virtualization and Cloud Computing: http://data-centers.in/virtualization-and-cloud-computing/

3. The Difference Between Virtualization and Cloud Computing: http://www.erpsoftwareblog.com/2010/08/the-difference-between-virtualization-and-cloud-computing/

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

# 1. Cloud is an operations model, not technology: http://news.cnet.com/8301-19413_3-10249486-240.html

One of the most common questions I get from those exploring cloud computing for the first time is "what is the difference between cloud computing and virtualization?" It is an excellent question, as most IT departments are currently exploring the ways in which virtualization enables
automation and provisioning agility. Given the fact that cloud is often touted for providing similar benefits, it can be confusing to understand why the two terms aren't equivalent.

My response to that question requires a bit of explanation, so let's step through the differences between the two concepts.

Virtualization is a technology.

(Credit:
CNET/James Urquhart)

When you run software in a virtual machine, the bits that represent the program's instructions run through a layer of software that "pretends" to be a dedicated server infrastructure, the hypervisor. The hypervisor is the heart and soul of server virtualization,
and is the enabler of the consolidation and agility values that virtualization brings to the data center.

It is because of the hypervisor that virtualization is the true disruptive technology that enables cloud computing on a massive scale. Hypervisors allow servers to be multi-tenant without rewriting applications to be multi-tenant. Hypervisors allow operating
systems and applications to install to a consistent hardware profile, even though they end up running on a variety of actual physical system implementations. Hypervisors also allow servers to be manipulated by software APIs, which greatly simplifies the act
of automating IT operations.

Cloud computing is an operations model, not a technology.

When you run an application in a public or private cloud, there is no "cloud layer" that your software must pass through in order to leverage the physical infrastructure available to it. In the vast majority of cases, there is probably some virtualization involved,
but the existence of hypervisors clearly does not make your data center resources into a cloud. Nor is the fact that Amazon
EC2
uses Xen hypervisors the reason that they are a cloud.

What makes a cloud a cloud is the fact that the physical resources involved are operated to deliver abstracted IT resources on-demand, at scale, and (almost always) in a multi-tenant environment. It is how you use the technologies involved. For the most part,
cloud computing uses the same management tools, operating systems, middleware, databases, server platforms, network cabling, storage arrays, and so on, that we have come to know and love over the last several decades.

Specific technologies, of course, gain significant importance in a cloud computing environment, such as policy-driven automation, metering systems, and self-service provisioning portals. However, all of these technologies--with the possible exception of the
self-service portal--existed before cloud computing became a much hyped paradigm.

There is no doubt cloud borrows much from long established technologies. It is also true that cloud has borrowed from many long standing operations models, such as mainframe service bureaus. However, the combination of on-demand, at scale, in a multi-tenant
infrastructure is relatively unique for the post client-server era, and is the reason why cloud computing is disruptive, rather than just another operations fad.

----------------------------------------------------------------------------------
2. Difference Between Virtualization and Cloud Computing: http://data-centers.in/virtualization-and-cloud-computing/
Cloud Computing and Virtualization are completely two different technologies. Both of them are considered as future saving technologies and that is the only similarity between them.
In the process of Cloud Computing easily scalable and mostly virtualized data resources are provided to the users over the internet. Using Cloud computing colocation provider or Data Centers providers offer managed IT services via a hosted software as a service
model. In Cloud Computing a database can be physically located somewhere in secure remote location and data can be accessed through clients computer using the database server to analyze and recover the data. This eliminates the need of a costly in-house equipments
and department. Cloud Computing make use of virtualized resources such as servers, computing devices and networks. Cloud Computing provider own the hardware and the providing host manage all the services to the clients according to their usage basis. On the
other hand Virtualization is creating virtual versions of technologies like servers, operating system, network resources and storage devices. Virtualization basically enables a single user to access multiple physical devices. In virtualization, either its
one operating system using multiple computers to evaluate database or a single computer controlling several machines. Here we will learn how Cloud Computing and virtualization are different from each other.

Cloud
Computing

The easily availability of computers has opened new doors in the field of information technology. Instead of creating own Data Center all the Data Center services can be acquired from IT server providers with outstanding IT infrastructure which is strong, flexible
and safe. The cost which either wise would have been invested in building a Data Center can be avoided with acquiring related services on a usage basis. Fees for the managed IT services is similar to the operating costs of a Data Center. Cloud Computing seems
attractive option, since it cuts a lot costs and also remove operating costs. In a traditional IT department equipments and staff are occupied in the peak hours, however in off hours they sat idle. Most of the servers are not operable in off hours, even when
they are operational its not necessary that they are giving their 100% of their potential. Also a Data Center services provider also needs to upgrade latest technologies in order to keep the data safe and secure. On the other side these services are provided
by Cloud Computing provider.

Virtualization

There are many types of virtualization, but all of them focus on usage format and control that improves efficiency. What this efficiency means is a single task running over multiple computers through unoccupied computer or a single terminal running multiple
tasks. One more advanced advantage of virtualization is hosting an application to many users, thus preventing several needed software’s from being installed again and again. Data is combined into a central computer from databases, hard drives and USB drives.
This process increase security and accessibility by using replication. In an IT company physical resources can be divided into many virtual networks allowing the Central IT resources to be available to all the departments via local networks. Computer devices
which are allocated to individual staff members or which are only dedicated to a specific software application are highly efficient and they are much more cheaper.

-----------------------------------------------------------------------------------------------------------

3. The Difference Between Virtualization and Cloud Computing: http://www.erpsoftwareblog.com/2010/08/the-difference-between-virtualization-and-cloud-computing/

Brittany Meeks, Dynamics GP Sales and Marketing Assistant

As a newbie sales and marketing assistant at Custom
Information Services
, I kept getting thrown technical terms that I was unable to grasp.  That is until I did some research and discovered the easy way to understand and implement such terms or questions as, “What’s
the difference between virtualization and cloud computing?”
Originally, I couldn’t even tell you the meaning of virtualization or cloud computing, let alone what the differences were.   Since we implement and support these technologies I had to understand
the definitions quickly!

Virtualization is a computing technology that enables a single user to access multiple physical devices.  Another way to look at it is a single computer controlling multiple machines, or one operating system utilizing multiple computers to analyze a database.
Virtualization may also be used for running multiple applications on each server rather than just one; this in turn reduces the number of servers companies need to purchase and manage.  It enables you to consolidate your servers and do more with less hardware. It
also lets you support more users per piece of hardware, deliver applications, and run applications faster.  Follow this link for more detail on virtualization VirtualizationWhitePaper.pdf

Cloud computing offers scalable infrastructure and software off site, saving labor, hardware, and power costs.  Financially, the cloud’s virtual resources are typically cheaper than dedicated physical resources connected to a personal computer or network.
With cloud computing, the software
programs
you use aren’t run from your personal computer, but  rather are stored on servers housed elsewhere and accessed via the Internet.  If your computer crashes, the software is still available for others to use.  Simply, the cloud is a collection
of computers and servers that are publicly accessible via the Internet.  Here is something else I found online which may be helpful in better understanding cloud servicesMicrosoft
Cloud Services.pdf

One way to look at it is that virtualization is basically one physical computer pretending to be many computing environments whereas cloud computing is many different computers pretending to be the one computing environment (hence user scaling).  Virtualization
provides flexibility that is a great match for cloud computing.  Moreover, cloud computing can be defined based on the virtual machine containers created with virtualization.  Virtualization is not always necessary in cloud computing; however, you can use
it as the basis.  Cloud computing is an approach for the delivery of services while virtualization is one possible service that could be delivered.  Large corporations with little downtime tolerance and airtight security requirements may find that virtualization
fits them best.  Smaller businesses are more likely to profit more with cloud computing, allowing them to focus on their mission while leaving IT chores to those who can do more for less.

Plainly, virtualization provides more servers on the same hardware and cloud computing provides measured resources while paying for what you use.  While it is not uncommon to hear people discuss them interchangeably, they are very different approaches to solving
the problem of maximizing the use of available resources.  They differ in many ways and that also leads to some important considerations when selecting between the two.  Not only do we offer Dynamics
GP,
but we also offer services for cloud and virtualization for your business applications.   Our new website set for a September go live will have more information on this subject.

# 1. 硅谷海盗

2006年年底我开始关注科技尤其是IT新闻，间或看到一些关于Apple的新闻，当时并没有太深的印象，甚至连iPod是神马都没搞特别清楚。

2007年1月初看到一些新闻风传Apple即将推出智能手机，当时仍然感到莫名其妙——手机都已经人手一部了，有什么特别的。那个月的月底，iPhone发布了，看到了iPhone的demo，很是吸引人，但仍然不清楚业界为何视其为划时代的产品。

2007年另一件记忆深刻的事情是第一次看到了《硅谷海盗》（The Pirates of
Silicon Valley）。其实当时是受《加勒比海盗》的影响，对海盗片非常感兴趣，在网上看到
《硅谷海盗》中有“海盗”两个字，就下了。下完一看这电影一开场就是比尔.盖茨和鲍尔默等人打牌泡妞的镜头，很黄很暴力，当时的我很喜欢。直到看完之后才明白，原来该片的主角不是比尔.盖茨，而是一个叫Jobs的人，这个人是Apple公司的创始人，心里有些失望。由于当时鄙人孤陋寡闻，只知道比尔.盖茨牛X的不得了，全然不知原来盖茨当初竟然是Jobs的小弟（后来看到2007年D5上Steve Jobs和Bill Gates两个人的采访，更加深了我的这种感觉——盖茨虽然比乔帮主年长两岁，但在帮助面前一副谦卑的姿态，而乔帮主尽显老大风范，即使是在1997年Apple濒临破产有求于微软的时候）。由于《硅谷海盗》中的Steve Jobs风流倜傥，我开始留心Apple的一些新闻。

2008年第一次看到Steve Jobs在Stanford毕业典礼上的演讲的中文版，很是震撼，但当时视野狭窄，理解不够深刻，花前月下，乔帮主引用的“Stay hungry. Stay foolish.”的箴言也仅止于思想层面的震撼而已，没有什么实际行动。

Sparrow。

### 2. 佛教徒​

Jobs参悟的应该是日本的禅宗，应该不是中国的，因为他一生不肯踏上中国的国土，而日本却去过多次，还在日本机场发生过不愉快而发誓再也不去日本。我至今仍无宗教信仰，对佛教也了解不多，但禅宗的思辨领教过一二，确实能开拓人的思路。

### 3. 工心计

and Observations Regarding This Week’s iPhone 4S Event, Written Almost Entirely Before Wednesday’s Sad News, But Which the Time Has Come to Publish Because Life Goes On

on他的人才见，因为他不想浪费生命最后的时光去做对自己无意义的事情；2011年WWDC发布会前仍然在陪伴家人(参见
Universe
Dented, Grass Underfoot
， 我特地看了WWDC乔帮主的开场白，他的脚上的New Balance确实沾满草迹)；重病期间请来保安护卫全家；去世前一天还在家蜷缩在一楼的角落里观看iPhone
4S的发布会，结束后嘴角露出一丝微笑（这么像小说？！）；葬礼选择在死后的第二天匆匆举行……

### Struct sctp_event_subscribe Differs Between RHEL5 and RHEL6

Recently meet an SCTP issue: one product application running on MontaVista(kernel version 2.6.21) can't run on RedHat Enterprise Linux 5.5. After hours investion between millions lines  of  log file and source code, I finally noticed following error showed up:

### Dot(.) after the file permission flags in Redhat

Phenomenon:

\$ rsh coolnjmcl033 'ls -l /opt/cool/tools/lib/COOLvirtenv'
ls: cannot access /opt/cool/tools/lib/COOLvirtenv: Permission denied

[root@coolnjmcl033 etc]# ls -l /opt/cool/tools/lib/COOLvirtenv
-rwxr-xr-x. 1 cool cool 29852 Jul 22 03:16 /opt/cool/tools/lib/COOLvirtenv

From "info ls":

Following the file mode bits is a single character that specifies
whether an alternate access method such as an access control list
applies to the file.  When the character following the file mode
bits is a space, there is no alternate access method.  When it is
a printing character, then there is such a method.

GNU ls' uses a .' character to indicate a file with an SELinux
security context, but no other alternate access method.

A file with any other combination of alternate access methods is
marked with a `+' character.

In order to make files located on one server can be accessied by other servers, SELinux should be disabled. In order to disable SELinux,  refer to How to Disable SELinux.