Posted by Vikas Hazrati on Friday, October 31, 2008

The mindmap below summarizes
- Why we have threads and why they have become the basic unit of scheduling for the OS
- Why we have multi processor systems now
- Risks of threads
- What is object state, and
- What do we mean by thread safety.
All this meant for quick consumption in 5 minutes …
Read the rest of this entry »
Posted in Architecture, Java | Leave a Comment »
Posted by Vikas Hazrati on Thursday, October 30, 2008
Fault : An incorrect step, process, or data definition in a computer program which causes the program to perform in an unintended or unanticipated manner. It is an inherent weakness of the design or implementation which might result in a failure. A fault might be present and latent in the systems like they were in Patriot Missile failure and Therac-25 accidents. These faults lead to a failure when the exact scenario is met.
- Fault avoidance – using techniques and procedures which aim to avoid the introduction of faults during any phase of the safety lifecycle of the safety-related system
- Fault tolerance – the ability of a functional unit to continue to perform a required function in the presence of faults or errors
Failure: The inability of a system or component to perform its required functions within specified performance requirements
Error : A discrepancy between a computed, observed, or measured value or condition and the true, specified, or theoretically correct value or condition.
Posted in Architecture | Leave a Comment »
Posted by Vikas Hazrati on Friday, October 24, 2008
Availability is defined by uptime. I.e. the time between failures. It is dependent upon
- Downtime and
- Recovery Time
Downtime is the amount of time that the system is unavailable due to either failures or scheduled maintenance.
Recovery time is the average time it takes to recover from failures. This includes time for detection, isolation and resolution.
Hence to have high availability, you must have low downtime and low recovery time.

High availability cab be introduced by building redundancy into the system, hence the failure of a server is transparent to the user.
Read the rest of this entry »
Posted in Architecture | 8 Comments »
Posted by Vikas Hazrati on Saturday, October 18, 2008
I was reading an interesting post on the how the MySQL founder, David Axmark, has decided to quit Sun because he cannot live up with the whims and fancies of a larger organization.
This is what he had to say
I have thought about my role at Sun and decided that I am better off in smaller organizations. I HATE all the rules that I need to follow, and I also HATE breaking them. It would be far better for me to ‘retire’ from employment and work with MySQL and Sun on a less formal basis.
I too have been a victim of such moves in the past and keep coming back to smaller organizations. Just wondering, what is so different in a smaller organization which keeps us motivated, involved, tied together, give us work satisfaction and a work life balance.
The larger organizations would have to start thinking on these lines, but then, on the flip side, if is was all there in larger organizations then there would be no MySQL.
Posted in Business, General | Leave a Comment »
Posted by Vikas Hazrati on Saturday, October 18, 2008
We recently had to choose amongst multiple products one product that would suit our needs for processing a specific XML based business reporting format.
We shortlisted 2 products and started comparing them by implementing a prrof of concept in both of them. We analysed them on the basis of
1) Ease of use
2) Feature support
3) Support from the product team
4) Performance of tools
5) Cost
6) Integration with existing applications and products
So where did we make a mistake …
Read the rest of this entry »
Posted in Architecture, General, Java | Leave a Comment »
Posted by Vikas Hazrati on Wednesday, October 15, 2008
Unavailability of a team member during a sprint can adversly affect the velocity of the team. There are situations where the absence is planned and can be accounted for in the sprint planning. However, in other situations the absence might be unplanned.
My post on InfoQ tries to aggregate some voices by Agile practitioners. Read it here.
Posted in Agile | Leave a Comment »
Posted by Vikas Hazrati on Thursday, October 9, 2008
If you are working in an enterprise environment chances are that you would be accessing this page behind a proxy. Your browser would have a proxy setting like hostname : abc.blah.blher.com and port would be something like 8080.
However if you are sitting behind the proxy and you need you tomcat server to access resources over the internet then these are the VM arguments that the launch configuration should have along with the standard list. Of course, you could also increase the heap size that you want to allocate to tomcat
-Dhttp.proxyHost=battleground.us.abc.com
-Dhttp.proxyPort=8080
and to increase the heap just mention -Xmx1024m
Now for using the proxy settings on Eclipse
Read the rest of this entry »
Posted in General, Java | Leave a Comment »