Wednesday, May 05, 2010

Ownership

No, no, don't organize that.
Let it be.
don't set it right,
leave it as is.
let the dust be,
some day,I'll clean that,


With rough strokes, may be,
may be by throwing it away on the floor
owning it.

may be, it's a dream, long broken
may be it's a laugh
may be a very stubborn tear,
just leave that.

yeah, it's not beautiful, as a flower in a vase is,
but it is beautiful none the less,
you see, it's mine,
to own, to let it stay, to break, to loan,
to never get it back, to fight for it
to listen to complaints, to fix those, to ignore those

you see, when you organized that,
you took all,
now it is just a thing,
not a dream, nor a tear
not mine anymore.

Thursday, April 08, 2010

Virtualization

Ages ago I created a small introduction on Virtualization with Ram Awasthi in TBSL. It was pretty basic and is reproduced here.

As the definition is very generic and in trivial terms, even a shared hard drive could be termed virtualization.

A lose definition could be "virtualization is a framework or methodology of dividing the resources of a computer into multiple execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, time-sharing, partial or complete machine simulation, emulation, quality of service, and many others."

Popek and Goldberg virtualization requirements are considered to be the genric set of requirements to define virtualization.

As a technique it is used to increase throughput of the existing H/W by adding more so called virtual environments.

“Virtualization is a broad term that refers to the abstraction of computer resources. Virtualization hides the physical characteristics of computing resources from the user. This includes making a single resource appear as a multiple resources vice versa.”

It can be divided to many types based on objects: storage virtualization, computing virtualization (OS virtualization, application virtualization), and network virtualization.


With increasing support being built into the processors (Intel and AMD), now virtual environment give almost near native performance.
It is used in 2 kinds of environments
Desktop Virtualizations
Primarily done to reduce costs, reduce upgrade timeframes, getting away from proprietary systems.
Virtualization in Data centers
Primarily used for resource sharing and consolidation, easy manageability and isolation.
Usecases for virtualization in data centers
  • Control ever increasing servers in a data center
  • Reduce Power requirements
  • Enhancing standardizations
  • Legacy operations (Especially in cases where legacy tools are not required all the time and are difficult to change)
  • Performance isolation ( By provisioning of resources)
  • Via distributed virtual machines on demand network monitoring, on demand security audits, virtual DMZs can be achieved.
  • CDN
In some case studies 15:1 virtual machines per hosts has been reported, with SAN connected with redundant paths.
Available Vendors
  • VM ware (Individual applications available as virtual programs are also available)
  • Microsoft Virtual PC and Virtual server
  • Parallels Workstation
  • HP
  • IBM
FOSS Community
  • Xen
  • Win4Lin
  • Sun virtual box(Free download for individual users)
  • VMPlayers are available for free downloads and on top of this freely available linux distros can be installed.
  • QEMU
  • UML (User mode linux kernal)
  • openVZ
  • Linux-Vserver

Techniques
Virtual Machines
An emulator based approach, with Virtual machine monitors running to analyze executed code and make it safe on-the-fly for privileged CPU instructions.
Para Virtualization
This technique also requires a VMM, but most of its work is performed in the guest OS code, which in turn is modified to support this VMM and avoid unnecessary use of privileged instructions.

The paravirtualization technique also enables running different OSs on a single server, but requires them to be ported, i.e. they should "know" they are running under the hypervisor. The paravirtualization approach is used by products such as Xen and UML.
Virtualization on OS level
Similar to and in UNIX systems based upon chroot mechanism, it allows for multiple user spaces with in a single OS. Not as flexible as other techniques (i.e. Similar OS may be virtualized but a different family e.g Windows on a Linux hosts is not possible) but performance penalty is almost nothing. Such user spaces or instances (also called containers, VEs, VPSs or jails) may look and feel like a real server. In addition to isolation mechanisms, the kernel often provides resource management features to limit the impact of one container's activities on the other containers.
Case Studies
  • http://www.intel.com/technology/itj/2006/v10i3/6-enterprise/5-vmware-case-study.htm
  • http://www.intel.com/technology/itj/2006/v10i3/6-enterprise/figures/figure_6.gif
  • http://www.intel.com/technology/itj/2006/v10i3/6-enterprise/figures/figure_7.gif

Friday, November 20, 2009

Abdominal Guards and population

Some relations are just weird. I mean, I read it somewhere - the abdominal guards in cricket were first used in 1874. And helmets in 1974.
Also consider that India is very populous and also very cricket crazy. Well, some ppl think with different organs :) .

Friday, October 09, 2009

Subtle difference in access modifiers in java & ruby

Just going through basics of Ruby and realized there is a slight difference in the behavior for protected and private access modifiers. From java to Ruby access modification differences are (other then syntax)
1. In Ruby default access to instance messages is public. In java the default method visibility is package.
2. In Ruby private access can be done only internal to the instance i.e. not even from other instance of the other class. In java that is allowed. Pretty much because in Ruby access determination happens at runtime.

Wednesday, April 08, 2009

Why Mayawati PM could be useful?

A rather non technical /non managerial post.
I've met so many of my friends in India who dread the possibility that Mayawati could become prime minister of India. Why? What's so bad about it? Well, quiet a few things, she is corrupt, biased and definitely does not believe in meritocracy (we are democracy any way:) ) , think of a disaster when she is on a world forum and just can not think strategically, an embarrassment. She will not understand what it takes to make sure India stays competitive in this world and we the citizens will lose out. well, there are many reasons indicating she is not the fit.
Here is one I think, why she could be a blessing, the first and foremost I believe she represents a large section of Indian population that just may realize a sense of power and may be start believing in Indian dream. Being a dreamer is a good thing, you need to be responsible and a believer in the rule of law to realize the dreams. Let's diverse and see what I mean?
Consider this, Indians take pride in their civilization, and believe in a bygone era when they were the knowledge center of the world. At the same time, have a look at the technology, Indians claim they never attacked a country. May be, they couldn't? I may be wrong, but look at Indian sword or a bow and arrow, or a shield, all important accouterments of a soldier. Compare it, with invading army, e.g. Puru had a local advantage over Alexander, and in the battle they lost primarily because
1. The elephants, the Alexander's army attacked the trunks of elephants with spears and arrows, and elephants turned back and crushed their own army.(The elephants caused similar damage to another defending ruler in India against Babur)
2. They had heavy bows and due to the rains last night were not able to hold those properly.
Now think about it, Only people in the world who could tame elephants and use them with infantry lost due to those? On an elephant, u r on a height and if u have a long range archers sitting on elephants, its way too difficult for invading army to get closer to ur elephants and actually use spears against those.
We didn't posses long range weaponery. neither hardware nor skills. Imagine a middle age rajputana sword, compare it with chinese (Chinese BTW had different kinds of flame throwers, bows that could shoot multiple arrows and could be very quickly reloaded with magzines) , almost 6-7 different kind of swords for different styles.
Now why a huge population, that was rich,organized,excellent thinkers, knowledge seekers and also valiant warriors could not make relatively simpler technological upgrades?
could the reason be that a warrior (a kshtriya) who need to use the sword doesn't talk to the iron smith (a lohar) who designed and created it?
An innovation, be it a game changer (e.g. Internet) or simpler one ( a new code idiom) evolves when a lot of stakeholders collaborate, discuss, try, fail, try again and then a new winner comes along. It does not happen when those who understand physics and maths(Brahmins) does not see value in a technique that allows a lohaar to create a more lighter but powerful metal. Either the new technique won't evolve fully or nobody would suggest the man to use a better approach. Resulting into less innovation.
A cast system, that did not allow people to collaborate killed all that could be created only by matching and synthesizing new ideas between different actors.
I believe after a lot of years, a bigger section of the population trusts a leader, even when I abhor her. May be just may be, she give the confidence to these people to come out of their rut and try harder. May be, she realize in order to rule, the leader has to be responsible and honest.
She is street smart, sharp and just may bring a huge population to strive for education, better jobs, better techniques. Well, if she can make that section of India go for enterprise, we may ignore her obvious lack of English speaking abilities.

Saturday, March 21, 2009

Xfire dependency of spring

These days creation of webservices has become so easy and some times we just miss the pitfalls.
I just wanted to remember this, a very last entry in the manual and my eclipse xfire dependency just drops it.
Those who get this stupid error
"
java.lang.IllegalStateException: Could not find valid implementation for: 2.0
"

Spring 2.x support

Because of Spring 2.x new feature, services.xml default namespace must not be declared on the root element of configuration ( beans ) and need to be moved to tag level.

http://xfire.codehaus.org/services.xml+Reference