Monday, 4 February 2013

Editorial

I’m glad to bring you another issue of Envision. And I'm happy to announce that we have a new address for Envision and that is envision.decos.in.
 
I would like to thank you all for overwhelming response last month. However, I would like to request all the readers to share their views or comments on the articles; that helps the author and boost his/her morale, to understand different viewpoints, etc.
 
Again, it is that time of year when people start making every effort to collate and collect necessary data for saving taxes. I’m sure people in our accounts departments would have helped everyone in this process, as they have been doing since ages.
 
In this edition we bring to you first-hand experience of Haj pilgrimage. This experience should help our readers in understanding significance of Mecca and Medina and the pilgrimage.
 
We have couple of articles that will interest the geeks here. One explains how to debug using Fiddler or Fiddling. Other one provides few tips to boost performance of the ASP.Net application. The former is written by one of the oldest employee and the later by one of newest employee. How nice! Please do not mistake me here, I mean here employment age and not the real age. Parashar, you can sit back and read further :)
 
We also put forward to you a list of books that one can read under the category of fiction. In today’s world of technology reading books is becoming less trendy than reading on Kindles and tablets. Here the author makes a case for those who does not fancy reading (be it tablets or physical books). Author tries to list few books that can become starting points. Enjoy reading!
 
One of the author presents us nuances of 3D printing. This is the technology to watch out for and has tremendous application. I’m hopeful that this write-up would help you get introduced to the technology.
 
Memories are the most treasured assets and what better than photographs. We present you few moments of Makar Sankranti / Kite flying celebration. Also, few snaps of Ankur’s copper jubilee of employment with Decos.
 
From this month onwards TGIF team brings to you their most coveted - answers. So find what the answers that you got wrong.
 
I will not take up more of your time and will leave you with new issue of Envision. Enjoy reading!

3D Printing Technology

- Balbir Singh
Introduction
Few days back I was watching a TV Show with my daughter on CBeebies channel called “Lunar Jim”. Don’t worry I am not going to tell you the whole story about show but just a brief about one of its episode. One day Jim and his team encountered a problem with their generator. They found that a part of the generator was broken and the required part was missing in their inventory; there was no way to import the part from earth. Suddenly they found a way to build the required part which would be an exact replica of the existing technology. That technology helped them resolve the problem they faced with the generator. This particular episode inspired me to look into this interesting technology – “3D Printing”. Yes, 3D Printing; it is the technology which is used to build a 3 dimensional solid object from a digital model. Yes, that’s right! It can generate a model on a PC and the 3D printer will build a solid object for you using that digital model. Isn’t it amazing?
 
It is also called as Additive manufacturing. It is a process of making three dimensional solid objects from a digital model. 3D printing is achieved using additive processes, where an object is created by laying down successive layers of material. 3D printing is considered distinct from traditional machine techniques (subtractive processes) which mostly rely on the removal of material by methods such as cutting and drilling.
 
3D printing is usually performed by a materials printer using digital technology. Since the beginning of the twenty-first century there has been a large growth in the sales of these machines, and their price has dropped substantially.
 
The technology is used in jewelry, footwear, industrial design, architecture, engineering and construction (AEC), automotive, aerospace, dental and medical industries, education, geographic information systems, civil engineering, and many other fields.
 
Current Technology
The first commercial 3D printer was based on a technique called stereolithography. This was invented by Charles Hull in 1984. Stereolithographic 3D printers (known as SLAs or StereoLithography Apparatus) position a perforated platform just below the surface of a vat of liquid photocurable polymer. A UV laser beam then traces the first slice of an object on the surface of this liquid, causing a very thin layer of photopolymer to harden. The perforated platform is then lowered very slightly and another slice is traced out and hardened by the laser. The next slice is then created, until a complete object has been printed and can be removed from the vat of photopolymer, drained of excess liquid, and cured. 
Another common commercial 3D printing technology is fused deposition modelling (FDM). Here a semi-liquid material -- and most usually a hot thermoplastic -- is extruded from a temperature-controlled print head to produce fairly robust objects to a high degree of accuracy. A key benefit of this technique is that objects can be made out of exactly the same thermoplastics used in traditional injection molding. 
As an alternative to FDM, a company called Objet has developed a process called Polyjet Matrix. This jets out two liquid photocurable polymers from a 96 nozzle print head. Each object layer is cured by a UV light as soon as it is being printed. One of the key benefits of this process is that, it allows printing to take place in multiple materials simply by varying the combination of the photocurable polymers that jet out from the print head.
A fourth and very well established 3D printing technology is selective laser sintering (SLS). This builds objects by laying down a fine layer of powder and then using a laser to selectively fuse some of its granules together. At present, SLS 3D printers can output objects using a wide range of powdered materials. These include wax, polystyrene, nylon, glass, ceramics, stainless steel, titanium, aluminum and various alloys including cobalt chrome. During printing, non-bonded powder granules support the object as it is constructed. Once printing is complete, almost all excess powder can be recycled.
A final 3D printing technology in very common application which is called multi-jet modelling (MJM) -- although this process goes under a wide number of names. This again builds up objects from successive layers of powder, with an inkjet print head used to spray on a binder solution that selectively glues only the required granules together. 
3D Printing Applications
Most current 3D printers are not used to create final consumer products. Rather, they are generally used for rapid product prototyping, or to produce moulds or mould masters that will in turn allow the production of final items. 
As of now this technology is used in following areas
·         Industrial uses
·         Rapid Prototyping
·         Rapid Manufacturing
·         Mass customization
·         Mass production
·         Domestic and hobbyist uses
·         Consumer products like (spectacles, shoes, jewelry etc)
Here are few examples of 3D printing
 
  • The Audi RSQ was made with rapid prototyping industrial KUKA robots
 
  • An example of 3D printed limited edition jewellery. This necklace is made of glass fiber-filled dyed nylon. It has rotating linkages that were produced in the same manufacturing step as the other parts.  
 

Those who are interested to know more about this technology can find a very good video at

Good Reads – Fiction

- Chetan Dodke
 
After a jaded day at the office, when I peek into my cell phone’s digital clock to see the time, I can't help but remember java.Date.util and I realise it's time I should get to my books to get my mind off things. This article isn't all about how books help you to do that but I would also like to introduce you to some good reads from fiction world.

Well, if you find book reading a work of a patience, nothing better than to start off with Dan Brown books. Dan Brown books are always depiction of thrilling events that the main protagonist of the novel undergoes for his next 24 hours. To make you feel it all real, Dan Brown produces perfect amalgamation of science and fiction. Be it "Deception Point" (ISBN: 0-671-02738-7) where one gets to know a thing or two about Palaeontology, "The Lost Symbol" (ISBN: 978-0-385-50422-5) where he introduced Noetic Science. How many of you know why does a North Pole region is called as  Arctic and South Pole as Antarctic region? The word arctic comes from Greek etymology meaning "near the bear", as the polar bears are found only around North Pole. South Pole where there are no polar bears is called Antarctic. One gets to know it from "Deception Point". Dan Brown's "Robert Langdon" trilogies - Da Vinci Code (ISBN: 0-385-50420-9), Angels and Demons (ISBN: 0-671-02735-2), The Lost Symbol are unputdownables. When Robert Langdon starts talking Semiotics I go petrified reading. Other feature of Dan Brown's novels is the way he takes you on a ride of cities - Paris in Da Vinci Code, Vatican City in Angels and Demons, Washington DC in The Lost Symbol is amazing. If I ever get to see these cities I would relate it to what I read about them from these books. 

Coming to talk of cities, nothing would get you a better picture of London than Sir Arthur Conan Doyale's Adventures of Sherlock Holmes. This classic and legendary character has ruled readers over a century from its birth. Don't get surprised if 8 out of 10 fiction lovers name Sherlock Holmes as their favourite fictional character.
 
If you love crime fiction, you would definitely like Agatha Christie, she is considered crime queen in literature, outsold in the world only by Bible and Shakespeare. She has written so many murder mysteries yet there is zero predictability in all her stories and you remain spellbound at the same levels. Her character Hercule Poirot can arguably the next most popular sleuth of all times after Sherlock Holmes.
 
Mind you do not judge these characters by movies you see them in, when you read, you add imagination of your own. Take example of Jason Bourne, the cult spy character was introduced by Robert Ludlum to the world in 1980s. The character is way more lethal in book than in movies. It’s a perfect thrilling ride to read Jason Bourne trilogies – The Bourne Identity, The Bourne Supremacy and The Bourne Ultimatum.
 
I am currently into reading "Lord of the Rings – The Two Towers", believe me depiction of the adventure of Frodo and the fellowship of the ring is so beautiful that I find myself among the friends of Frodo, Sam, Mary, Pippin. Sometimes I feel I’m  one of them. I am currently in the awe of Gandalf, Aragorn and the fellowship. :-)
 



 
 
If you prefer drama, you can trust Jeffery Archer, "Kane and Abel" (ISBN: 0-340-24594-8) would be a perfect start. You may also like Sydney Sheldon, Erich Segal in drama category.
 
There are many more that could be named, I just tried to pick up shells from the ocean of world of fiction.
 
If you are not into reading, I would say it's definitely worth something to dabble into. Happy reading!!

My experience of Umrah

- Saneea Sayyed

These are the days in life that cannot to be forgotten….
Well, it has almost been seven months since I had been to Makkah for Umrah but the spiritual feeling can never fade with time. Umrah is the biggest ACHIEVEMENT for any Muslim and I’m proud to say that I am blessed to achieve it at a very young age.
The days that I spent in Makkah are the days that can never be forgotten. All these years I've been facing the Kaaba from thousands of miles away and have seen it in pictures and on television but it is nothing as compared to when you see it in reality. I could feel the peace and harmony within me when I first set my eyes on Kaaba (Allah’s house). I was overwhelmed with joy and content and felt that I had finally met my final destination. Kaaba was built by Allah's prophet Ibrahim (AS) at a location in the centre of the Earth. Muslim's from all over the world visit this pious place and it is believed that anything you wish seeing the Kaaba for the first time is fulfilled. It is said that by just looking at Kaaba it washes all your sins, hence you can imagine the divinity of such rituals.
There were times when I had a perfect view of the Kaaba giving me a chance to stand and feel it spiritually. I would ask myself, “Am I really here” because it was hard to believe that all my life I have been waiting for this moment and now I am actually in front of it seeing it with my own eyes. I thought I was in a dream world but it was not so, it was in fact a dream come true.
Steps to perform Umrah:
  1. Start from a mosque that is at the border of Makkah city.
  2. Come down to Kaaba.
  3. Perform tawaaf i.e. seven rounds round the Kaaba.
  4. Offer prayers. Drink zam zam
  5. Perform Safa-Marwah i.e. a walk between the two mountains Safa and Marwah.
  6. Trim a small length of Hair.
That’s all, it’s so easy and returns wonders.
Holy Kaaba
Blessed Madinah
Madinah is at a distance away from Makkah. It is the world's best city and why wouldn’t it be! It is the place of our Prophet Muhammad(Peace be upon Him). The place touches one’s inner soul and enhances its beauty. Madinah gave me the most happiness in my life that I have ever felt before. To see the magnificent view of Masjid Nabwi is also a pleasure and to visit Roza Mubarak of the Prophet Muhammad (Peace be up on him) was also my desire which has been accomplished. How wonderful is it to walk on the same land where our beloved Prophet (Peace be up on him) walked on. It is a great privilege and honour to visit the most perfect man whom we adore and who was a mercy to mankind. How blessed are those who live in Madinah, to have such a surrounding and atmosphere where there is amity among people.
The Prophet (Peace be up on him) once said:

"The person who comes solely for the purpose of paying a visit to my grave, has a right on me that I should intercede for him."
  
Madinah
 
The saddest moment in my life was when I left Makkah and Madina. After having visited the two holiest places on earth I didn't want to leave because I know I will not get the feeling I had experienced in these few days. As I was leaving I could feel as though my heart was still there. Altogether Umrah was an eye opener and made me realize even the purpose of life. Believe it or not it makes me feel fresh with lots of positive energy and being in peace with myself. In my case it has given me more than I asked for or dreamt about and I really thank Allah for giving me this great opportunity and pray that all Muslims get this opportunity to perform Umrah at least once in their life time.

Fiddling

- Parashar Smart

Introduction

Current day frameworks provide a high level of abstraction for web development. So one hardly needs to understand how data is actually flowing at HTTP level. But this comfort can act as a problem at times when things are not working as they should. In such cases the developer needs to see what is going underneath

Fiddler is developer's tool to debug HTTP requests and responses. Basically it acts as a proxy server so the browser sends HTTP requests via Fiddler, which can be monitored by user.

Let's have a look at the interface.




The interface is divided in 3 main parts: left pane displaying requests, top right pane displaying request detail and bottom right for response detail.

 
The left pane displays all the requests capture with detail about response status code, size of response and caching status. This enables to analyse any performance problems as it explains the actual data fetched from server.

The responses with status code 200 signify requests where actual data was fetched from server, whereas responses with 304 status code signify usage of cached data. Performance of the website will improve if there are more responses with 304 status.


The top right pane in the Inspector mode lists details of the request like Cookies, Authentication Headers. In case of a POST request the WebForms, JSON and XML tabs display the POSTed data in different formats for understanding.


The bottom right pane displays the response received from server. Different tabs show the information in specific formats like JSON, XML or images

Debugging with Fiddler


One of the best features of Fiddler is the ability to set breakpoints on URLs as requests are fired.

The first step is to set a breakpoint for a specific URL. Breakpoint can be set using the "bpu" command in Quickexec bar (Black coloured bar at bottom)


Fiddler will pause the HTTP request once the breakpoint is set. It is possible to alter the actual HTTP response or cancel the request altogether. It is also possible to change the data in Request before it is sent to server for processing

 

Debugging HTTPS requests


By default Fiddler cannot display details of HTTPS requests. This is due to the fact that HTTPS requests are encrypted and only server and client have necessary keys to decrypt the data. To overcome this problem Fiddler uses a clever workaround

Fiddler creates a fake Server certificate which then needs to be trusted on the machine where debugging is to be done. Once this is done browsers will send all data to the fake HTTP server (Fiddler) which can now show the details for the requests.

All about ASP.NET Website Performance Improvement

- Deepali More

In this article I will be explaining some quick, easy and must use Asp.net website Performance Improvement tips.

Asp.net Performance Improvement checklist is divided into 4 broad categories:
 
  1. Identifying which part of asp.net web application requires optimization.
  2. Optimizing Asp.net web project to improve website performance
  3. Tips for writing codes in order to enhance performance.
  4. Database Optimization to improve performance (I will be explaining with regards to  SQL Server but the same tips also apply to MySQL, Oracle or any other DB by changing syntactical meaning respectively.)
I will be discussing each asp.net performance improvement categories in detail.
 
Identifying which part of asp.net web application requires optimization
It is very important to identify which part of your application requires more attention in order to improve website performance.  
1.      Using VS.Net 2010 Profiler
2.      Tracing asp.net web application
3.      Extension (Firefox Firebug, YSlow, Google Chrome Speed Tracer, IE9 Developer Tools)
4.      Monitoring tools like fiddler is also helpful.

Optimizing Asp.net web project to improve website performance
In order to improve asp.net web page performance, the most important aspect to consider is
  • Reducing asp.net page size - By reducing the page size it will get downloaded quickly and thus load quickly on the user's browser.  It will also reduce the bandwidth consumption of the website.  
  • Reduce number of HTTP requests -  It is very important to reduce the  number of HTTP requests on your server, it will help in reducing the server load and allowing more visitors to access your website.
  • Avoid round trip to server.
 
In order to reduce asp.net page size
Avoid viewstate
Viewstate is used to maintain data of the web page on page postback. This increases page size.  I always prefer to turn off viewstate at page level and only turn on viewstate to specific control whose data I need to persist over page postback.  
 
You can do so by <%@ Page  EnableViewState="false" %>
Situation in which you must avoid viewstate.
  • Only page which takes user input or control whose values you want to persist on page postback will require viewstate.  Example: If the user clicks on the submit button and if there are errors on the page you should persist user input, therefore in that case you should make EnableViewState="true" for those control or may be at page level.
  • Display pages or asp.net page that does not require page postback.  Example: Page on which you want to display the customer’s information in the datagrid, does not require viewstate therefore in this situation you can turn off viewstate.
Use div instead of table
Make use of div and css to replace table.  Combination of div and css is much faster than table.
 
Avoid big name for asp.net server control and CSS class tag 
Do not give big name for ID fields of asp.net server control, especially to Content Place Holder asp.net server control in master page.  Content Place Holder ID name is appended to each asp.net server control inside the child page, so if you choose a big name for your asp.net server control, it will increase html file size.
Similarly if you choose a big name for CSS class tag, it will have long names and on every instance you make you need to use that class tag and in return this will increase the html size.
For this reason, I prefer to choose very short names for any control or css tag definition.
Example: <asp:ContentPlaceHolder ID="CC" runat="server">
 
Remove unnecessary white space (Compress generated HTML Size)
  • Remove white spaces between tags and lines of html render by asp.net pages.  In order to remove white spaces dynamically on all pages, you should put "render" method inside the master page class file.
  • Remove unused tags from CSS file and also remove unused script from Javascript file.
  • Remove white spaces from CSS file while deploying on production server. Remember that comments and whitespace inside your CSS and Javascript file are not required for execution; removing them will speed up css rendering time and script execution time.  You can add this step to your deployment checklist. You can take advantage of online compress css tool and online javascript compress tool.
Make use of JQuery instead of Ajax Control toolkit.  
I have observed that JQuery can do the task with less code and light weight, while Ajax control toolkit is bulkier and increases page size.
 
Reduce number of HTTP request
With the help of Firebug, Firefox extension, you can find out how many resource requests are made by your asp.net web page.  It is very important to reduce the number of HTTP requests on your server; it will help in reducing the server load and allow more visitors to access your website.
1.      Make minimum use of Images.  Images are good for UI but can increase the size of the  web page and lead to too many http request.
2.     Combine multiple db request into single db request.  Find more details on How to avoid multiple database request to improve performance
3.     Combine 2 or more css file into 1 file, since most of modern browser do cache css file, it will take some more time for 1st request, but the other subsequent requests will be fast.  Combining multiple css file into 1 will reduce number of http request.
You can use minifier tools as well to give a boost to performance of application.
4.     Combine 2 or more javascript file into 1 file, since most modern browsers do cache javascript file, it takes some time for 1st request, but the other subsequent requests will be fast.  Combining multiple javascript file into one will reduce the number of http request.
You can use minifier tools as well to give a boost to performance of application.
5.      Special tips if your web application is using JQuery
    • Try to use Jquery from CDN (Content distribution network) link for google CDN http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
    • While adding JQuery try using min version (Example: jquery-1.6.2.min.js), which is of less file size, since space and line breaks are removed from that.  This will help in faster loading of file and also improves performance of web application.
    • Avoid too many third party jquery controls, rather make use of JQuery UI, which supports too many control within one js file.
 

Avoid round trip to server
In order to give users a lightning fast effect, it is important that you avoid round trip to server.  You can use:
  • Caching
  • JQuery Ajax