Tuesday, 1 March 2011

Editorial - March 2011

Hello all,

I welcome you all to the persistent online version of our newsletter - Envision.

Our attempt has always been to provide you something new and respond to your requests with every release. We started our newsletter activity with PDF version. Then few of you requested for HTML version and hence we started with HTML newsletter. In last month many of you have requested for access to back issues. We tried it partially in our last issue. But what we learnt that managing whole lot archives of Envision would be too difficult to manage through static HTML website.

We created a requirements' list. We tried many blogging services against that list. Finally, we settled for ‘Blogger’ which fits well for our requirements.

With new Envision you will be able to surf through past issues simply through archives. Also, searching an article is as easy as searching things on web through Google. More importantly now you can add your comments for the articles.

In this first persistent online version of Envision you can enjoy technical articles, quick summary of Union Budget, highlights of intra-Decos cricket match, part 3 of sci-fi story and winners of on the spot awards.

Don't forget to write your comment. It will help us to improve.



Mandar Thosar
Asst. Manager (Marketing)

PHP Web Services Using NuSOAP

By Anand Joshi

PHP Web Services have been popping up all over the internet since past few years. There could not be any better language than PHP for building your own Web Service in simplistic manner.

PHP is a great scripting language with many advantages. It provides the power to connect to variety databases (that are available with hosting providers) and easy development curve for faster development along with high response time on account of the underlying libraries compiled for performance.

A database is a crucial part of any PHP Web Service, however it is not mandatory to have one for Web Service. It is just that without it a Web Service is not that useful. It helps you store information about user query and visit information.

What are Web Services?

In a typical scenario, a visitor visits a website and uses the functionality provided by application hosted. HTTP request is send to the server from web browser and server responses are translated back by browser to display the desired result of the visitor.

But things have changed a lot with the evolution of web technologies. You don’t need to visit a website to use its service and functionality if it is providing a Web Service.

With Web Service you can exchange data between a server and a client using a standard XML format to ‘package’ requests and data so that both systems can ‘understand’ each other properly. Either a server or a client could be a Web Server, or any other electronic device you could think of for that matter.

There are different methods for providing Web Services but the most common methods are SOAP, XML-RPC and REST.

What is NuSOAP?

NuSOAP is a group of PHP classes that allow developers to create and consume SOAP web services without needing any special PHP extensions.

It stands for Simple Object Access Protocol, and it is essentially a standard for exchanging XML based data via HTTP.

Having understood Web Services and NuSOAP let’s start building our own Web Service using PHP.

Requirements: PHP 5 and above, Apache Webserver, NuSOAP library and MySQL (required in case there are database interactions)

You can download NuSOAP (version 0.7.3) from http://sourceforge.net/projects/nusoap/files/nusoap/

To understand the concept of the Web Service are going to create a ‘calculator’ Web Service and consume it too.

Create a new project ‘webservice’ on the webroot and unzip the NuSOAP file and place it in this folder.

Firstly, create a new file calc_server.php in the NuSOAP directory (for demonstration purpose I have created it in NuSOAP directory).

The PHP file will look like this:
// load SOAP library
require_once("lib/nusoap.php");
// set namespace
localhost in my case
$ns = "http://localhost/";
// create SOAP server object
$server = new nusoap_server();
// setup WSDL file, a WSDL file can contain multiple services
$server->configureWSDL('Calculator', $ns);
$server->wsdl->schemaTargetNamespace = $ns;
// register a web service method
$server->register('ws_add',
array('int1' => 'xsd:integer','int2' => 'xsd:integer'),// input parameters
array('total' => 'xsd:integer'),// output parameter
$ns, // namespace
"$ns#ws_add", // soapaction
'rpc', // style
'encoded', // use
'adds two integer values and returns the result' // documentation
);
function ws_add($int1, $int2){
return new soapval('return','xsd:integer', add($int1, $int2));
}
// implementation of add function
function add($int1, $int2) {
return $int1 + $int2;
}
//substract method
$server->register('ws_substract',
array('int1' => 'xsd:integer', 'int2' => 'xsd:integer'),// input parameters
array('total' => 'xsd:integer'),// output parameter
$ns, // namespace
"$ns#ws_substract", // soapaction
'rpc', // style
'encoded', // use
'substracts two integer values and returns the result' // documentation
);
function ws_substract($int1, $int2) {
return new soapval('return','xsd:integer',substract($int1, $int2));
}
// implementation of add function
function substract($int1, $int2) {
if($int1 > $int2)
return $int1 - $int2;
else
return $int2 - $int1;
}
//multiplication
$server->register('ws_multiply',
array('int1' => 'xsd:integer', 'int2' => 'xsd:integer'),
array('total' => 'xsd:integer'),
$ns,
"$ns#ws_multiply", // soapaction
'rpc',
'encoded',
'multiplies two integers and returns the result'
);
function ws_multiply($int1, $int2) {
return new soapval('return', 'xsd:integer', multiply($int1, $int2));
}
// implementation of multiply function
function multiply($int1, $int2) {
return $int1 * $int2;
}
// service the methods
$server->service($HTTP_RAW_POST_DATA);

Save the file. It will look like this when you browse it.



NuSOAP library has a very good feature of Web Service Inspection. If you open the calc_server.php file in a browser, you will see something like this:
With this we have now created our own ‘calculator’ Web Service. Now, let us understand how to consume this new created NuSOAP Web Service in PHP.

Create a new PHP file, say ‘calc_client.php’ and put the following code in it.

//client code
<?php
require_once('lib/nusoap.php');
//create a parameter array to pass to the webservicefunction call
$param = array('int1'=>'15.00', 'int2'=>'10');
//define the webservice
$wsdl = "http://localhost/webservice/nusoap/calc_server.php?wsdl";
//create client object
$client = new nusoap_client($wsdl, 'wsdl');
$response = $client->call('ws_add', $param);
//print the response
print_r($response);
?>

The result is the addition of 2 numbers and it will be displayed as below:
It is that simple to create and consume Web Service using NuSOAP library. Moreover, NuSOAP library can also use XML-RPC and REST methods for Web Services.

I have shown you creation and consumption of PHP Web Service using NuSOAP library. If you want to play more with it then perhaps you might even consider adding an interface to the client for INSERTing and UPDATEing new items.

Decos Trophy - Ultimate chase for the Cricket Cup

By Madhav and Parvez

It was really difficult when we started to think about the corporate cricket team. We e-mailed everybody in the company. Very few responses come to us. Maybe there were many reasons behind it such as project deadlines, pre-planned visit to native place and many more. But we wanted a start somehow. And we just did that.

We gathered in Sharada and decided to start practicing on weekends. We choose Vaibhav Nagar (a very enthusiastic cricketer) as our skipper. Everybody was excited and agreed to it. It was our first weekend practice; and we found very few people on the playground, just 10 to 12 out of 32 who promised to come! It was kinda disappointing, yet we started.

New about photoshoot of cricket practice session, on field fun and discussions encouraged others who didn’t come on the first day of the practice. Those started coming earlier had to come anyway as there was a fine of Rs. 50 for late arrival and Rs. 100 for being absent without reason or prior intimation. Then we decided to have intra-company match with uniforms at a professional playground. This thought boosted everybody and as a result, our cricket practice was more on track. Players were coming and some new also members joined the league.

Everything was good so far. We now had enough players to make two teams. In a meeting we divided the members in two teams for the ultimate battle. Teams were allocated players so that both the teams will have equal strength. Teams picked up their own names respectively ‘Decos Lions’ and ‘Decos Challengers’. We played matches on weekends using the same team structure; keeping in mind the day of the trophy.

In this all process management supported us a lot. It has shown interest in the planning, dressing and ground selection and other stuff.

Then came the day of the final judgment.

Decos lions v/s  Decos Challengers fought on the cricket battlefield on 27 February 2011 on BMCC ground. The stadium was ready when we reached the ground on the pleasant Sunday. The mat pitch was nicely laid for the upcoming matches. Many decosians were present on the ground with their families to cheer up the favorite teams. 

We have roped in the experienced umpires (Sanket, Nikunj and Mandar) for the tournament. We had to play two matches. First one of 14 overs for each team and next was of 10 overs. We decided that the winner of both matches would be the ultimate winner. In case of a tie, a bowl out would decide the final result.

First Match: The War Begins

Umpires tossed the coin with two team captains. Challengers won the toss and elected to field first. Excitement was on the ground. The Challengers were furious from the first ball, very much charged and enthusiastic.

They started their attack with fast pace bowler Sunny Kanade. The Lions openers were Arun Agarwal (Captain) and Somnath Satav. Batsman started to score the runs slowly. Ball was going in the good areas. In first over somnath was caught behind by wicket keeper on the out swing of Sunny.

Parvez came to replace Somnath. Then Arun and Parvez built a stable partnership and kept score moving. Parvez was then caught behind on the score of 22 runs by Priyank while Tejas Pate was bowling. Then Madhav came to bat. He started his batting slowly with one and twos; again made a good partnership. Madhav was run out in last over after his individual score was 23 runs.

After first inning the score Lions achieved was 117 runs in 14 overs with an average of 8.36 run per over. It was a good defendable score indeed.

Then Challengers started their inning. Score was moving per over basis. Their start was slow and defensive. Openers, Priyank and Sunny, had prepared their game plan against Lions. Challengers did not lose any wickets till the end of 7 overs, but the score was also moving slowly. Then Priyank got caught at the individual score of 22 in the eighth over. After that Dinesh, the left arm batsman, came to bat.

Lions arranged their field for this left handed batsman.  He attacked bowlers and was scoring runs at will.  After losing the wicket of Dinesh, Vaibhav came in next. But on a good fielding feat he was run out for a Duck. Challengers lost the first match by 21 runs. It was a safe win for the Lions.

Second Match: War next Level

Second toss won by Lions and they decided to bat first. 

This time we changed the openers. Nagesh and Deepak were up for the start. Deepak was in offensive mood. He was out on 10 runs, Parvez came next to bat, stayed for a while. He was caught out trying to hit a bowl to offside covers.

After that Niranjan came to batting. He was scoring runs nicely. One and twos, was getting the ball in his area. He hit a straight to four. He was out scoring 24 runs turning out to be the highest scorer of the Lions second innings. Lions made total of 72 in 10 overs.

Challengers had a target of 73 runs to win. They had a raw batting plan. It was very simple - hit every bowl and win match straight away.

Lions started their bowling with Deepak, their right arm fast pacer. And the openers from Challengers were vaibhav and Dinesh.  Vaibhav had a flying start with a straight four. Then Challengers never turned back.

They hit every bowl that came to the bat. Vaibhav was caught behind by Madhav on Parvez’s bowl. It was a crucial wicket. Vaibhav scored a fast 23, which includes 4 boundaries. After couple of balls Dinesh was run out by a straight hit from Parvez. Dinesh scored 17 fine runs and was run out while trying for two runs. Lions got their needed breakthrough. Lions started building pressure on Challengers now. Later Priyank was caught out. He tried to strike the ball, got edge of the bat and ball was in the air which found its place in the man at the boundary.

Challengers gave a good fight for the match. And at last they won. They won with a fight for every run. It was an exciting match to watch. Both the teams were battling upto the last balls.

The match was finally won by Challengers with 4 bowls left.

A thriller at the end

It was a tie between two teams. Challengers and Lions have won 1 match each. Now only bowlers could have decided the winner. Every team has to bowl 6 bowls. And whoever hits the stumps maximum times would be the winner of the trophy as per the bowl-out rule.

Madhav started from Lions. He bowled two bowls with no success. Then Sagar from Challengers bowled and guess what, he also had no success. Tension spread on everyone’s face.

After Madhav, it was Parvez’s turn. He missed stumps with his first delivery. But on later one he got one straight to stumps - Bowled!!!

Challengers have to bowl four more bowls.  Priyank bowled two bowls and he too did not have a success. After that Arun from Challengers team bowled without hitting stump.  Everyone was silent at this moment as match could have still gone to anyone.

Challengers had two more deliveries to go. Two consequent hits only could have won the trophy.

Vaibhav (the Challenger’s skipper) has that opportunity. He bowl first bowl but met the failure. That was the thrilling moment. Again it could be equal or a win to the Lions. Lions have already one bold scored by Parvez. Vaibhav bowled, and he missed. Hurrrayyy!!!!!!!


Decos Lions won the trophy by the bowl out rule. Now, Lions were roaring everywhere. It was an exciting day for them and other decosians.

Maximum Run by: Arun
Maximum Wickets by: Sunny
Player of the tournament: Parvez

Speed up your website

By Subodh Patil

If you Google on keywords like website speed, performance, improvement you will get lot of articles describing lot of ways to do this.

The question is how easy is to implement all of them in my project. Do I have time, resources for this? My project is already running from last few or more years and now how to incorporate all these in my project?

Believe me I tried all these ways on project which was running from last 3 years and now more than 4 years. You have code written by many developers, you don’t have an architect who can control the way project is developed. Every individual has its own way of development. And in large project it’s not easy to manage and control the way each line is written. After few years you will find everything is a mess, even a code written by you. Is this what I have written few years back? And then changing the code to improve the speed seems daunting.

What we are going to talk today is about HTTP Combiner and its implementation in ASP.NET. Non .NET developers can still read this article as it talks more about concept rather that actual code.

Now before we deep dive into the topic lets understand what happens when web page loads. To do this you will need tool like HTTP Watch (Basic edition is free and can be found here). There are some other tools available like fiddler etc.

The screen shot bellow is first page load of Microsoft.com


If you look at it takes around 9 sec to completely load the page which includes download of 370 KB of data. Now it depends on your network as well but the next time I press F5 the time to download is reduced to around 6 sec and further if hit Enter (remember there is difference between page refresh by saying F5 and Enter) the time it took was around 4 sec.
Interesting to see what happens there? For that let’s first understand some basic HTTP status codes.

200

OK


Standard response for successful HTTP requests.

304

Not Modified

Indicates the resource has not been modified since last requested. Typically, the HTTP client provides a header like the If-Modified-Since header to provide a time against which to compare. Using this saves bandwidth and reprocessing on both the server and client, as only the header data must be sent and received.

404

Not Found

The requested resource could not be found but may be available again in the future. Subsequent requests by the client are permissible



You can get all of them explained in detail here.

If you refresh the page second and third time as explained above with example of Microsoft.com, and carefully observer the status code you will see lots of JavaScript files, CSS and images whose status code were 200 in first request are not converted into 304. For some of them you won’t see any status code instead something like (cache); which indicates that no HTTP request was sent to the server; the object was present in browser cache.

To improve the performance of web page the best method is reduced number of request sent to and received from the server. You will see that simple web page has lots of request and most of them are images, CSS and JavaScript or other resource file. And best way is to cache them at client. But trick here is that you need to judge that what can be cached and what cannot be; simple rule is to determine what is static and dynamic on your website.

My personal experience is, once your site is deployed to live environment; none of the JavaScript file, CSS file or image file changes unless you do next version upgrade or deployment on live server which should not be less than 2 months in any case.

What we are going to do with HTTP combiner is to combine all of them and send to the client in one request with some caching information in header so that browser can keep them until we change it.

To take maximum advantage of this technique you need to ensure that you move all your JS which is on ASPX/ASCX pages or rendered directly from the server code to the separate JavaScript files. And as good technical manager I would favour writing many small JavaScript and CSS files instead of one large JavaScript/CSS file for better code maintainability, and in fact it is a good practice.

Now before I go and show the code to you, let’s think of this scenario theoretically. Every HTTP request results in a network round trip form your browser to the server and the delay in reaching the server and coming back to the browser is called latency. You have a page with 4 JavaScripts and 3 CSS files; you are wasting time in seven network round trips. Within USA, latency is average 70ms. So, you waste 7×70 = 490ms, about half a second of delay. Outside USA, average latency is around 200ms. So, that means 1400ms of waiting. Browser cannot show the page properly until CSS and JavaScripts are fully loaded. So, the more latency you have, the slower page loads. And then you 10 images on page which will be loaded step by step.

Here’s a graph that shows how each request’s latency adds up and introduces significant delay in page loading:



When next time visits the site same thing happens again and again. Now whatever is displayed on web page is actually first downloaded to a temporary folder by browser and then displayed on web page. When I visit the web page next time same thing happens again and again, why? Browser knows which CSS to load and which image to display then why can it display image or load CSS which is already there in local cache? Well, browser can do that but you need tell it, computer/software is a lazy thing which requires command from user do to each and every thing and your browser is not exception to that in certain cases.
  • What we can do? Let’s divide it into three partsAsk browser to cache each file (JavaScript, CSS or image)
  • Combine all JavaScript or CSS in one single request. Use part one for this single request as well.
  • Combine all possible groups of images into single request. Something called as CSS sprites.

    1. Asking browser to cache files
    The structures of any 200 HTTP response will something like bellow.
     
    HTTP/1.x 200 OK
    Transfer-Encoding: chunked
    Date: Sat, 28 Nov 2009 04:36:25 GMT
    Server: LiteSpeed
    Connection: close
    X-Powered-By: W3 Total Cache/0.8
    Pragma: public
    Expires: Sat, 28 Nov 2009 05:36:25 GMT
    Etag: "pub1259380237;gz"
    Cache-Control: max-age=3600, public
    Content-Type: text/html; charset=UTF-8
    Last-Modified: Sat, 28 Nov 2009 03:50:37 GMT
    X-Pingback: HTTP://net.tutsplus.com/xmlrpc.php
    Content-Encoding: gzip
    Vary: Accept-Encoding, Cookie, User-Agent

    You can read more about request and response structure here in more detail.

    What we are interested in is LastModified date. First time you are sending some content to the browser you must add
    context.Response.Cache.SetLastModified().
    along with your content. Now when user refreshes the page in browser you receive the second request for that on server. This time you should inspect the request header by using code
    context.Request.Headers["If-Modified-Since"].

    Here you get the date of file which is on client. Now you can compare that with actual file you have on server. You find that server and client have same file. Now tell the browser that if you have it I won’t send it to you. Here browser is intelligent enough not to load modified object from its locale cache. And the code for same would be
    context.Response.Clear();
    context.Response.StatusCode = 304;
    context.Response.StatusDescription = "Not Modified";
    return;

    And you are done. Of course there are other important things you should take care but those are not part of this article; we will discuss these in next one. If anyone is interested in complete working code please contact as I have the same implemented in my project and can share it. If you inspect the request response of your web page with HTTP watch your find that every file which is not modified is sent as 304 second time onwards.

    2. Combine all files in one request to improve
    Now you reduced your page load time from second request onwards. But what to do of large number of first time requests, and those latencies added on each request?

    Simple answer is to combine all of the JS files or CSS files in one request.
    1. Suppose you have 10 JS files
    2. What you can do read each file from disk one by one and add them to some memory stream.
    3. You will have byte array of all the files together. This will be large in size, of course!
    4. You can use some compression algorithms like GZIP to compress it.
    5. Now you have stream or byte array of all files in compressed format.
    6. Write all them to client in single request.
    Yes! You are done. More to that if you combine caching algorithm explained in part1 then this single request will be cached by browser for long time.

    I have developed one control called HTTP combiner which does all this work for you. And writing JS and CSS is very simple with this.


    This is a live example; where all the files (5 JS + 5 CSS) are loaded in single request.

    3. Combine all possible groups of images into single request

    You cannot combine images in by the technique explained above as from storage point of view image is much complex object. The best technique which exists is to make one large image of all small images and use the large image along with CSS positioning in all places where the small images were used.

    The technique is call as CSS sprites and used mainly by CSS designers. As this is out of scope of this article from development point of view I won’t explain it in much detail. What you can do is read more about it @ HTTP://CSS-tricks.com/CSS-sprites/

    This was just a try from my side to share one of the speed improvement s techniques. As said earlier there exists lots more; and you are the best judge of your website/project. If you know some better techniques or have some exposure to different implementation of HTTP combiner then please let me know.

    March Birthdays

    1. Amitesh Kumar - 01 March
    You possess great creative potential and charisma and enhance your appearance by selecting the finest attire to make an impression on others. A born leader, people look up to you, but take care not to abuse the positions of respect and authority that will be invested in you.

    You are a born leader with great individual and romantic patterns displayed by your energies at the time of your birth. You may experience some emotional confusion which at times can confuse others as you are likely to give off mixed signals. It is important for you to clarify inwardly what it is you want in relationships.

    Often you have a strong desire to simply get away and escape from the pressures and responsibilities of your daily routine and "life". Just hang in there and use the power of the Sun to bring out the brightness within your nature.

    2. Preeti Kaduskar - 04 March
    You are extremely methodical in your thought but you must learn to temper your opinion and accommodate other people's point of view. Because you are so hard working, you may tend to exceed your physical capacity. You are prone to self criticism.

    The number 4 is an extreme number, especially in its desire for material success. Do not overemphasise the importance of your worldly activity and accomplishments. There seems to be a matter-of-fact quality to you. Your sense of order and tidiness is notable as is your sense of duty. Don't go down the road of preoccupation with self and exaggeration of the negative aspects your own nature.
    Having strong opinions can overrule the need for you to listen with your heart, not just with your ears. Try to empathise with the other person's point of view. An interesting thing about your destiny is that your concept of success doesn't always necessarily equate with a $ value.

    Give some time to your spiritual and inner life.

    3. Nagesh Deshmane - 07 March
    You are ruled by the mythical God, Neptune, which describes your nature most adequately. Just like the vast ocean you are restless, moody and fond of change and travel. You love the water and places connected with the sea.

    Your life lesson is to learn the art of defending yourself and not always to retreat into your self made shell. Your energies at times are very inconstant. Could it be that you give far more attention to the needs of others than to some of the most immediate needs within your own heart and mind?

    You have strong psychic abilities that relate to the water element within you and you can use this talent, not only for your own advantage, but helping others as well. All of the healing and helping professions are well suited to your nature. Your main lessons are to learn to take better care of your material life so as to enjoy your future fully.

    4. Kirti Nigam - 09 March
    You are governed by the bold and energetic Mars brings to the fore your active, passionate and impulsive nature. The upside is you do not like laziness of any sort so you excel at hard work and physical activities. Always calling a spade a spade it is a rare thing if ever, to find any form of pretence in you. This would surely be one of your greatest virtues, however don't become a martyr with a sense of duty which is probably at the top of your agenda.

    Don't be so driven to help others because you imagine some sort of need to save the world. Think of yourself for a change. You do need to take time out to smell the roses. Your life will see many changes, but Mars gives you the power to overcome the obstacles and to relish the good times.

    5. Sagar Kulkarni - 15 March
    All forms of travel and places of beauty will attract your attention as Venus, the aesthetic planet, has rulership over you. You may even eventually live away from your place of birth.

    Loving and receptive by nature, it is important to note that the sexual aspects of Venus will be very pronounced as well and may even lead to some fascinating intrigues on your path. You idealise love, sometimes without scrutinising your partners. It is as if you are searching for love, and even when you find it can't quite believe that you have it. Such is the power of your idealism.

    Don't allow your charisma to blind you to the realities of human nature.

    6. Srinivas Vishnubhotia - 18 March
    7. Bhushan Patil - 18 March
    You have a drive for independence which is backed by high idealism and imagination. What more could you ask for? You don't want any support outwardly, but let's face it - no man is an island unto himself. So don't fight it, you do need love and the odd compliment - who knows, you might even start enjoying it!

    Anger and dispute just seem to be a natural part of your personality. They needn't be. With your financial drive so strong you may even find yourself drawn into legal issues at some point in life, which may prevent your smooth sailing in life.

    Let go and let God.

    8. Abhijit Khot - 20 March
    You have a strong desire to express love, but your search for your other half, or the ultimate soul mate, may in fact blind you to others needs. You have highly charged emotions and sometimes don't quite know how to contain the bubbling surge of instantaneous energies.

    You are complex. At some stage turning to religion and philosophy may be thought to be a doorway out of this inner turbulence, but may also finally disillusion you. In your case, turning away from the world is not the answer. People find it hard to understand you, especially when you lash out, at times for no apparent reason and then resent it later.

    Take three deep breaths...............Aaaaaah

    9. Satabdi Das – 21 March
    10. Nishant Patel – 21 March
    You are a giver. You are a traveller and no doubt a person with high aspirations looking for power and meaning in your life. But what a mystery! In your life often the fulfilment you are frantically searching for is where you least expect it - in your own home. It is like the man who is looking for his glasses, which are all the while on his head.

    If you can curb your temper and redirect some of these powerful energies, you will certainly achieve and fulfil your destiny.

    11. Kanu Dhakhada – 22 March
    Friendship and mateship is of utmost importance to you in life. It is as if you are driven by the desire to be accepted. In your search for acceptance you will come across the most unusual people and circumstances. This will result in abrupt changes in your relationships. You have strong worldly ambitions but you have to experience some delay before your true goals are achieved.

    You have hidden explosive tendencies. You should either curb them or pursue a career in pyrotechnics.

    12. Dharmesh Makwana – 24 March
    Your main focus in life seems to be relationships. You are highly sexed and seem to live for approval and acceptance in your social sphere. Relationships don't seem to go that smoothly, but there's certainly never a dull moment with you. It is important for you to avoid beginning new relationships before completing others. You have a romantic disposition, but boy are you flighty, and flirty too!

    13. Apparna Shinde – 28 March
    Your vibration reveals contradictory energies within you. Emotionally you are not fulfilled but you certainly have a dramatic flair and a pleasing personality. The theatre or the arts may attract you and many good dancers and performers were born under the vibration common to yours.

    Don't be so nervous about change. In your case it is a debilitating thing. The secret is to simply do what you love and love what you do.

    14. Tejas Patel – 30 March
    You have an autocratic vibration which makes it hard for people to initially get around. Your powerful ambitions may further intimidate those whose support you may actually need. Don't assume others don't know the answers or solutions to their own problems Often they do. Listen to them, otherwise you may undermine the very qualities you are trying to help foster in them.

    You have a rebellious and driven nature, but strangely one of vision and high imagination.

    15. Shailaja Sathe – 31 March
    An unpredictable energy, an undercurrent beneath a royal garb is seen in your vibrations. Soften your temper, your appetites and ambitions. Try to be realistic in your goals lest you become frustrated at not achieving your desired end as quickly as you would like.

    Consider your friends and family and don't simply use others for the assistance they can give you. Share your ideas as a means of balancing these relationship issues. This is one sure fire way to overcome your fear of rejection.

    Budget Highlight 2011

    By Amit Deokule

    Budget is that one thing which impacts all of us and we have to face it every year. Sometimes the outcmoe is favorable and sometimes opposite to it. I present you highlight of Union Budget 2011 in three stages - individual level, industry level and broader level. Now, you decide whether it's good or otherwise.

    For Individual
    The Exemption Level of Tax for the Salaried Employee-
    1. For Male the tax exemption limit has been increased from 160K to 180K. So in short an employee can save Rs. 2060 (10.30% of 20k). The revised slabs are given below
      1. Upto 1.8 Lakhs - Nil
      2. Between 1.8 Lakhs to 5 Lakhs - 10%
      3. Between 5 Lakhs to 8 Lakhs - 20%
      4. Above 8 Lakhs - 30%
    2. For Women- There is no revision of exemption limit which is Rs. 190000  
    3. For Salaried Employees- For the employees whose earning source is only salary and their income is not exceeding 5 Lakh , for them there is no need to file the return of Income Tax and this will be made applicable from 01.10.2011. However note that for current tax payers, this is not applicable so for FY 10-11, normal filing will be done. Also for only Salaried People who do not have any other Income Source, for them the Form filling process have been eased.
    Software-IT/ITeS
    1. NO Mention about STPI Extension which will hamper companies like NIIT or 10 years have not yet been over; tax holiday benefit may be lapsed because of Non-Extension of STPI Benefits.
    2. For SEZ Units- They have introduced MAT (Minimum Alternative Tax) applicable and the rate for MAT on Book Profits has been increased from 18 to 18.5 % , this may hamper the Taxation of SEZ Units but otherwise in general there is a marginal increase which has occurred.
    3. The Surcharge on Domestic Companies on Tax has been reduced to 5 from 7.5% which somehow compensates the increase of MAT rate.
    4. Increase in Allocation towards Educational Program. 
    5. Disadvantage is- The companies were expecting some insertions and deletions in Sec 10A of the I-T act which talks about 100% EOU units and their Tax Benefits but nothing has been taken care of in this. 
    6. The Finance Minister has declared that GST(Goods Service Tax) code will be introduced from 1st April 2012 which is a good sign for the IT companies as their will be uniform structure for rates for the whole industry as such.             
    General
    1. This year budget has been in concentration from the perspective to put a curb on heavy increase in Fiscal Deficit. 
    2. Many services like Hotel/Bars/Restaurants have come under Service Tax Net and the rate has been kept the same which is 10%.
    3. Hospitals with beds more than 25 in number will have to pay the service tax, so In short Hospitals will increase the Charges for the treatment.
    4. Staff Welfare benefit has been removed from Cenvat Credit which might affect IT companies- More explanation has not been given in the budget but soon once the bill is passed clarity will be seen.
    5. To Keep the inflation in control-Overall Retails goods and their prices may get increased but Government has looked towards this budget to earn more from the services sector , prteol prices also can be increased by Rs. 4/-. 
    6. Overall GDP has been reduced to 8.6 % as Increase instead of projected 9%.

    Decos Awards Function

    We just had an internal poll for various glamorous categories within Decos. Many people participated to cast their vote to the candidate of their choice. The final result were announced during a month-end party evening. The winners were felicitated by awards and big applause from the team.

    The list of the winners in each category are as below:

    1. Best Smile (Male) - Sagar Kulkarni

    2. Best Smile (Female) - Jasleen Narang

    3. Miss Lovely Hair - Bindi Desai

    4. Mr. Lovely Hair - Nishant Pandit

    5. Most Well-dressed (Male) - Ankur Parikh

    6. Most Well-dressed (Female) - Nimisha Tatke

    7. Mr. Decos - Yogesh Choudhary

    8. Ms. Decos - Anita Swarup

    Congratulations to all the winners!

    Science Fiction - Part III

     
    By Nipam Budhabhatti 

    In the Milay, Samir and Teeray had seen one road was being constructed in front of them. They have started to walk on the path, they have seen a movie which was showing what would have happened after the big bang and the lifecycle of a star.  As movie finished they landed to the laboratory 3. There Sameer realized his previous visit to power plant. In that laboratory they found several people who are visitors like them. One Tixy was arranging all visitors according to their criteria. Each chair was speaking the name and/or identifying the person whoever is going to seat on it. Samir found it very interesting.

    Once everything settled, they heard the message of the Milay, “Now it’s the time when you all know, how the new phase of Bhaskar will work.”

    After that message everyone was silent, and one could listen to silence in that laboratory.
    One Tixy came on stage in front of those visitors. She first welcomed everyone who all had taken part in the conference. Then she started to describe the working of the hot phase of Bhaskar.
    “As we know, that generating energy from sun is the motto of Bhaskar. In our first phase, we have used the solar panels to produce energy. It was working great, but as we went further we have foreseen that use of electricity will increase dramatically because we want to maximize the use of artificial intelligence. Then we had brain storm sessions with our scientists. We had many ideas to produce electricity. We discussed many advantages – disadvantages and how we can improve those ideas and minimize the disadvantages and be friendly with nature at the same time. Finally we agreed on one thing – that is “bring sun to the earth”. Yes we have used the same fusion technology that is used by sun to produce huge amount of energy. We are using water as input, we are splitting it in H and O. We are using hydrogen in fusion technology. This idea sounds very good as theory. But while implementing it practically we had three major challenges. First, how to bind this energy generating process in certain area. Second, where to get the land for process and lastly what to do with existing solar panels. And we are very much proud to say that we have faced all the challenges successfully. To bind the fusion process in certain area, we found that strong magnetic field can be of help to us. We have used the existing panels to generate electricity from solar light, we are using that electricity to generate the required magnetic field. From this phase we are getting the output in the form of electricity and oxygen. So we are trying to be environment friendly by adhering to the basic science laws producing miraculous results. Also, it is a world record that we have used just 1,000,000 sq. meters land in our power plant project and now world is trying to copy our model. We have used the vertical space to restrict usage of flat land. So now the height of our plant is around 3 kilometers from the base. Now we are taking you to the top point of power plant.”

    After listening this everyone was mesmerized. Samir found that the chair is tightening a seat belt and tying him well with it. He has also seen that chair started to fly in the air. One Tixy went with them as they reached to the outside of laboratory and flew above in the sky. They reached to the top of the power plant. Unfortunately, Samir met with an accident there. He was falling down from the chair. He was not able to find the way to help himself. He was afraid. He shouted and asked someone for help but nothing worked out well for him and at last he closed his eyes.

    (Few hours after this incidence)

    Samir has opened his eyes slowly to find himself on the floor of his house, in front of TV. He was thinking about what was that experience with chip, Tixy and the Milay? He felt terrible headache and could not judge that the journey that he has made was reality or just an imagination.

    On the spot award

    Following people received On-the-spot awards in the month of February.
    • Vikram Shipate
    • Nikunj Banker
    In last month, we have missed to include following people who have achieved this award for their excellent work.
    • Kirti Nigam
    • Vibhore Benjamin
    Congratulations to all the winners and all the very best for others. We want to see your name in March list of award winners.