<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>A blog about technology and how it interfaces with life. &#187; Daily Tip</title>
	<atom:link href="http://www.xcellextech.com/Blog/category/daily-tip/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xcellextech.com/Blog</link>
	<description>A blog about technology and how it interfaces with life.</description>
	<lastBuildDate>Wed, 16 Nov 2011 19:09:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Why Our Stomach Growls</title>
		<link>http://www.xcellextech.com/Blog/2011/10/stomach-growls/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=stomach-growls</link>
		<comments>http://www.xcellextech.com/Blog/2011/10/stomach-growls/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 18:37:04 +0000</pubDate>
		<dc:creator>abhivibhuti</dc:creator>
				<category><![CDATA[Daily Tip]]></category>
		<category><![CDATA[Top Stories]]></category>
		<category><![CDATA[Stomach]]></category>
		<category><![CDATA[Stomach growls]]></category>
		<category><![CDATA[Why Our Stomach Growls]]></category>

		<guid isPermaLink="false">http://www.xcellextech.com/Blog/?p=1849</guid>
		<description><![CDATA[<p><center><a href="http://www.xcellextech.com/Blog/wp-content/uploads/2011/10/xlarge_rowr.jpg"><img src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/10/xlarge_rowr-300x168.jpg" alt="" title="xlarge_rowr" width="300" height="168" class="aligncenter size-medium wp-image-1850" /></a></center><br />
Mankind has been puzzling over the rumbling in our stomachs for so long that even the ancient Greeks came up with a name for it: <em>borborygmi</em>. The word attempts to put the sound of the grumble to mouth.</p>
<p>The real deal is strange and sometimes embarrassing, so we decided to get to the bottom of it. What is it that makes our stomachs shout out?<br />
Hunger is certainly a factor. When you haven&#8217;t chowed down in a two hours, receptors in the walls of your stomach trigger the hunger-arousing hormone ghrelin, which tattles to your brain that the pipe is empty. There are other things, like low blood sugar, that also send that message. And your brain, being the boss, steps in to solve that problem by releasing the hormone orexin, which tells your stomach it might be time to fill ‘er up again.</p>
<p>It&#8217;s the hypothalamus, which is in charge of body maintenance functions like controlling hunger, body temperature and your sex drive, that gets the credit for &#8220;switching on&#8221; that get me a hamburger feeling. It happens in stages.</p>
<p>First the hormone triggers your stomach&#8217;s smooth muscles to contract. Acids and other digestive fluids are deployed in the stomach and intestines to get the space ready for the next meal. The contractions move in a ring-shaped formation along your entire gut, forcing remaining mucus, food and bacteria from the area. These contractions produce vibrations, which are responsible for making the racket. The grumblings can last up to 20 minutes and repeat every hour or two until you&#8217;ve gotten food in your belly.</p>
<p>But the noises don&#8217;t only occur when you need food, although they&#8217;re louder in an empty cave; they happen after you&#8217;ve eaten, too. The contracting muscles of your stomach and small intestine are also responsible for mixing food with gas and fluid. These contractions move down the intestinal tract toward the exit just a few inches at a time. All this food/gas/liquid squishing also makes your stomach muscles vibrate, which produces a more tempered rattle.</p>
<p>Bad news is, there&#8217;s no way to tell it to simmer down. Hungry or not hungry, you&#8217;re going to have to put up with your stomach&#8217;s ruckus.</p>
<p><center><a href="http://www.xcellextech.com/Blog/wp-content/uploads/2011/10/xlarge_rowr.jpg"><img src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/10/xlarge_rowr-300x168.jpg" alt="" title="xlarge_rowr" width="300" height="168" class="aligncenter size-medium wp-image-1850" /></a></center><br />
Mankind has been puzzling over the rumbling in our stomachs for so long that even the ancient Greeks came up with a name for it: <em>borborygmi</em>. The word attempts to put the sound of the grumble to mouth.</p>
<p>The real deal is strange and sometimes embarrassing, so we decided to get to the bottom of it. What is it that makes our stomachs shout out?<br />
Hunger is certainly a factor. When you haven&#8217;t chowed down in a two hours, receptors in the walls of your stomach trigger the hunger-arousing hormone ghrelin, which tattles to your brain that the pipe is empty. There are other things, like low blood sugar, that also send that message. And your brain, being the boss, steps in to solve that problem by releasing the hormone orexin, which tells your stomach it might be time to fill ‘er up again.</p>
<p>It&#8217;s the hypothalamus, which is in charge of body maintenance functions like controlling hunger, body temperature and your sex drive, that gets the credit for &#8220;switching on&#8221; that get me a hamburger feeling. It happens in stages.</p>
<p>First the hormone triggers your stomach&#8217;s smooth muscles to contract. Acids and other digestive fluids are deployed in the stomach and intestines to get the space ready for the next meal. The contractions move in a ring-shaped formation along your entire gut, forcing remaining mucus, food and bacteria from the area. These contractions produce vibrations, which are responsible for making the racket. The grumblings can last up to 20 minutes and repeat every hour or two until you&#8217;ve gotten food in your belly.</p>
<p>But the noises don&#8217;t only occur when you need food, although they&#8217;re louder in an empty cave; they happen after you&#8217;ve eaten, too. The contracting muscles of your stomach and small intestine are also responsible for mixing food with gas and fluid. These contractions move down the intestinal tract toward the exit just a few inches at a time. All this food/gas/liquid squishing also makes your stomach muscles vibrate, which produces a more tempered rattle.</p>
<p>Bad news is, there&#8217;s no way to tell it to simmer down. Hungry or not hungry, you&#8217;re going to have to put up with your stomach&#8217;s ruckus.</p>
<p align="center"><img width="122" height="91" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/10/xlarge_rowr-122x91.jpg" class="aligncenter tfe wp-post-image" alt="xlarge_rowr" title="xlarge_rowr" /></p>]]></description>
		<wfw:commentRss>http://www.xcellextech.com/Blog/2011/10/stomach-growls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Farmville and Starcraft Gaming Guides: Playing Farmville</title>
		<link>http://www.xcellextech.com/Blog/2011/10/farmville-starcraft-gaming-guides-playing-farmville/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=farmville-starcraft-gaming-guides-playing-farmville</link>
		<comments>http://www.xcellextech.com/Blog/2011/10/farmville-starcraft-gaming-guides-playing-farmville/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 17:43:58 +0000</pubDate>
		<dc:creator>abhivibhuti</dc:creator>
				<category><![CDATA[Daily News]]></category>
		<category><![CDATA[Daily Tip]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Farmville]]></category>
		<category><![CDATA[Farmville and Starcraft Gaming Guides]]></category>
		<category><![CDATA[Starcraft]]></category>

		<guid isPermaLink="false">http://www.xcellextech.com/Blog/?p=1843</guid>
		<description><![CDATA[<p><a href="http://www.xcellextech.com/Blog/wp-content/uploads/2011/10/images-1.jpg"><img class="size-full wp-image-1845 alignleft" title="images (1)" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/10/images-1.jpg" alt="" width="180" height="137" /></a></p>
<p>Because of these online games’ immense popularity, <strong>Farmville and Starcraft gaming guides</strong> can be found all over the internet.  Strategies and tips to improve your game, as well as instructions for beginners, are available online.</p>
<p>Farmville is a very popular Facebook game application that is played within the browser.  The game basically allows you to vicariously live a life on the farm.  You can grow, harvest, and sell your own virtual crops.  Throughout the game, you earn game coins which you can use to upgrade your farm, buy new seeds, and set up your farm any way you see fit.</p>
<p>The game is very simple, but surprisingly – or perhaps because of its simplicity &#8211; it is actually fun to play.  With parental guidance, even a little child can learn to play the game easily.  It is ideal for the casual gamer to play once in a while just to break the monotony of any given day.</p>
<p><img class="size-medium wp-image-1844 alignright" style="border-style: initial; border-color: initial;" title="starcraft-front" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/10/starcraft-front-300x294.jpg" alt="" width="210" height="206" /></p>
<p>The game graphics are adequate and good enough, but the soundtrack can be boring after a while since the song is just played in the background over and over again.  However, there is an option to turn off the music.  There is also a photo option which allows you to take pictures of your farm that you can share with friends to update them on your progress.  Likewise, you can invite Facebook friends to be your neighbors or to help you out on some farm tasks.  You can also have friendly competition among yourselves to see who can sustain the best farm.</p>
<p>&nbsp;</p>
<p>For more <strong>Farmville and Starcraft gaming guides</strong>, you can find tips and strategies for beginners, intermediate, and advanced players online.</p>
<p><a href="http://www.xcellextech.com/Blog/wp-content/uploads/2011/10/images-1.jpg"><img class="size-full wp-image-1845 alignleft" title="images (1)" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/10/images-1.jpg" alt="" width="180" height="137" /></a></p>
<p>Because of these online games’ immense popularity, <strong>Farmville and Starcraft gaming guides</strong> can be found all over the internet.  Strategies and tips to improve your game, as well as instructions for beginners, are available online.</p>
<p>Farmville is a very popular Facebook game application that is played within the browser.  The game basically allows you to vicariously live a life on the farm.  You can grow, harvest, and sell your own virtual crops.  Throughout the game, you earn game coins which you can use to upgrade your farm, buy new seeds, and set up your farm any way you see fit.</p>
<p>The game is very simple, but surprisingly – or perhaps because of its simplicity &#8211; it is actually fun to play.  With parental guidance, even a little child can learn to play the game easily.  It is ideal for the casual gamer to play once in a while just to break the monotony of any given day.</p>
<p><img class="size-medium wp-image-1844 alignright" style="border-style: initial; border-color: initial;" title="starcraft-front" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/10/starcraft-front-300x294.jpg" alt="" width="210" height="206" /></p>
<p>The game graphics are adequate and good enough, but the soundtrack can be boring after a while since the song is just played in the background over and over again.  However, there is an option to turn off the music.  There is also a photo option which allows you to take pictures of your farm that you can share with friends to update them on your progress.  Likewise, you can invite Facebook friends to be your neighbors or to help you out on some farm tasks.  You can also have friendly competition among yourselves to see who can sustain the best farm.</p>
<p>&nbsp;</p>
<p>For more <strong>Farmville and Starcraft gaming guides</strong>, you can find tips and strategies for beginners, intermediate, and advanced players online.</p>
<p align="center"><img width="122" height="91" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/10/images-1-122x91.jpg" class="aligncenter wp-post-image tfe" alt="" title="images (1)" /></p>]]></description>
		<wfw:commentRss>http://www.xcellextech.com/Blog/2011/10/farmville-starcraft-gaming-guides-playing-farmville/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fishbone Diagram &#8211; Cause-and-Effect Diagram, Ishikawa Diagram</title>
		<link>http://www.xcellextech.com/Blog/2011/08/fishbone-diagram-cause-and-effect-diagram-ishikawa-diagram/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fishbone-diagram-cause-and-effect-diagram-ishikawa-diagram</link>
		<comments>http://www.xcellextech.com/Blog/2011/08/fishbone-diagram-cause-and-effect-diagram-ishikawa-diagram/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 17:51:44 +0000</pubDate>
		<dc:creator>abhaysinghb</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Daily Tip]]></category>
		<category><![CDATA[Top Stories]]></category>

		<guid isPermaLink="false">http://www.xcellextech.com/Blog/?p=1608</guid>
		<description><![CDATA[<p style="text-align: center;"><a href="http://www.xcellextech.com/Blog/2011/08/fishbone-diagram-cause-and-effect-diagram-ishikawa-diagram/fishbonediagram/" rel="attachment wp-att-1609"><img class="alignnone size-medium wp-image-1609" title="fishbonediagram" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/fishbonediagram-300x209.jpg" alt="" width="400" height="278" /></a></p>
<p style="text-align: center;">Today Lets learn what is FishBone diagram and how to use it&#8230;.</p>
<p style="text-align: center;"><strong>Description</strong></p>
<div style="text-align: center;">ØThe fishbone diagram identifies many possible causes for an effect or problem.</div>
<div style="text-align: center;">ØIt can be used to structure a brainstorming session.</div>
<div style="text-align: center;">ØIt immediately sorts ideas into useful categories.</div>
<div style="text-align: center;">
<p><strong>                 When to Use a Fishbone Diagram</strong></p>
<div>ØWhen identifying possible causes for a problem.</div>
<div>ØEspecially when a team’s thinking tends to fall into ruts.</div>
</div>
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>Fishbone Diagram Procedure</strong></span></p>
<p style="text-align: center;"><em>Materials needed: flipchart or whiteboard, marking pens.</em></p>
<p style="text-align: center;">Agree on a problem statement (effect). Write it at the center right of the flipchart or whiteboard. Draw a box around it and draw a horizontal arrow running to it.</p>
<p style="text-align: center;">Brainstorm the major categories of causes of the problem. If this is difficult use generic headings:</p>
<p style="text-align: center;">Methods<br />
Machines (equipment)<br />
People (manpower)<br />
Materials<br />
Measurement<br />
Environment</p>
<p style="text-align: center;">Write the categories of causes as branches from the main arrow.</p>
<p style="text-align: center;">Brainstorm all the possible causes of the problem. Ask: “Why does this happen?” As each idea is given, the facilitator writes it as a branch from the appropriate category. Causes can be written in several places if they relate to several categories.</p>
<p style="text-align: center;">Again ask “why does this happen?” about each cause. Write sub-causes branching off the causes. Continue to ask “Why?” and generate deeper levels of causes. Layers of branches indicate causal relationships.</p>
<p style="text-align: center;">When the group runs out of ideas, focus attention to places on the chart where ideas are few.</p>
<p style="text-align: center;">Let us know if you would like us to post this kind topics on Xcellextechnology Blog&#8230;we will continue doing on such topics&#8230;</p>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://www.xcellextech.com/Blog/2011/08/fishbone-diagram-cause-and-effect-diagram-ishikawa-diagram/fishbonediagram/" rel="attachment wp-att-1609"><img class="alignnone size-medium wp-image-1609" title="fishbonediagram" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/fishbonediagram-300x209.jpg" alt="" width="400" height="278" /></a></p>
<p style="text-align: center;">Today Lets learn what is FishBone diagram and how to use it&#8230;.</p>
<p style="text-align: center;"><strong>Description</strong></p>
<div style="text-align: center;">ØThe fishbone diagram identifies many possible causes for an effect or problem.</div>
<div style="text-align: center;">ØIt can be used to structure a brainstorming session.</div>
<div style="text-align: center;">ØIt immediately sorts ideas into useful categories.</div>
<div style="text-align: center;">
<p><strong>                 When to Use a Fishbone Diagram</strong></p>
<div>ØWhen identifying possible causes for a problem.</div>
<div>ØEspecially when a team’s thinking tends to fall into ruts.</div>
</div>
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>Fishbone Diagram Procedure</strong></span></p>
<p style="text-align: center;"><em>Materials needed: flipchart or whiteboard, marking pens.</em></p>
<p style="text-align: center;">Agree on a problem statement (effect). Write it at the center right of the flipchart or whiteboard. Draw a box around it and draw a horizontal arrow running to it.</p>
<p style="text-align: center;">Brainstorm the major categories of causes of the problem. If this is difficult use generic headings:</p>
<p style="text-align: center;">Methods<br />
Machines (equipment)<br />
People (manpower)<br />
Materials<br />
Measurement<br />
Environment</p>
<p style="text-align: center;">Write the categories of causes as branches from the main arrow.</p>
<p style="text-align: center;">Brainstorm all the possible causes of the problem. Ask: “Why does this happen?” As each idea is given, the facilitator writes it as a branch from the appropriate category. Causes can be written in several places if they relate to several categories.</p>
<p style="text-align: center;">Again ask “why does this happen?” about each cause. Write sub-causes branching off the causes. Continue to ask “Why?” and generate deeper levels of causes. Layers of branches indicate causal relationships.</p>
<p style="text-align: center;">When the group runs out of ideas, focus attention to places on the chart where ideas are few.</p>
<p style="text-align: center;">Let us know if you would like us to post this kind topics on Xcellextechnology Blog&#8230;we will continue doing on such topics&#8230;</p>
<p style="text-align: center;">
<p align="center"><img width="122" height="91" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/fishbonediagram-122x91.jpg" class="aligncenter wp-post-image tfe" alt="" title="fishbonediagram" /></p>]]></description>
		<wfw:commentRss>http://www.xcellextech.com/Blog/2011/08/fishbone-diagram-cause-and-effect-diagram-ishikawa-diagram/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Global Assembly Cache (GAC) in .Net</title>
		<link>http://www.xcellextech.com/Blog/2011/08/global-assembly-cache-gac-in-net/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=global-assembly-cache-gac-in-net</link>
		<comments>http://www.xcellextech.com/Blog/2011/08/global-assembly-cache-gac-in-net/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 18:27:00 +0000</pubDate>
		<dc:creator>abhivibhuti</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Daily Tip]]></category>
		<category><![CDATA[GAC]]></category>
		<category><![CDATA[Global Assembly Cache]]></category>

		<guid isPermaLink="false">http://www.xcellextech.com/Blog/2011/08/global-assembly-cache-gac-in-net/</guid>
		<description><![CDATA[<p>The Global Assembly Cache or the popular acronym GAC refers to the machine-wide code cache in any of the computers that have been installed with common language runtime. The GAC or the Global Assembly Cache in .NET Framework acts as the central place for registering assemblies.</p>
<p><a href="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/Fig1.gif"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 4px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Fig1" border="0" alt="Fig1" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/Fig1_thumb.gif" width="444" height="226" /></a></p>
<p>All running applications that constitute development environments such as Web Matrix, Visual Studio.NET, etc., can all use the registered assemblies. The registering process of COM components in the server where ASP application are running is similar to adding an assembly to the Global Assembly Cache and the difference is that adding an assembly in Global Assembly Cache is much easier when compared to the act of registering COM components in a server with ASP applications.    <br />In the first step you need to get the assemblies installed in the Global Assembly Cache for an effective sharing of assemblies. It is highly recommended to keep assembly dependencies separately and only in case of unavoidable necessity or an unambiguous need for sharing should you keep all the assemblies in the application directory itself. <span id="more-1604"></span>Further, there is no necessity for you to get all your assemblies installed in the Global Assembly Cache so as to make the assemblies accessible to COM interrupts or unmanaged code.</p>
<p>There are many ways with which you can install an assembly into the Global Assembly Cache and one such way is using an installer that is compatible with the Global Assembly Cache. Besides using the best method of using a Global Assembly Cache compatible installer for deploying assemblies, you can also make use of a tool that has been specifically developed for installing the assemblies into the Global Assembly Cache and the popular SDK is one such Global Assembly Cache tool developed for .NET Framework. Another easy method of installing assemblies into the Global Assembly Cache is through using the drag and drop option in Windows Explorer.</p>
<p>In any organisation, LAN administrators are vested with the responsibility of controlling access to various files and folders in WINNT directory by users and such LAN administrators accord read, write and execute permissions to users depending upon their hierarchy and roles in the organisation. LAN administrators make use of access control list that is available within the operating system and when the Global Assembly Cache is installed in the WINNT directory, the said Cache will inherit the access control list fully. You, as an administrator or a person responsible for the security of files, have to ensure that only people who have administrative privileges alone are able to access and delete files from the Global Assembly Cache.</p>
<p>You also need to ensure that you provide a strong name for the assemblies installed in the Global Assembly Cache, and note to perform all the integrity checks without fail on all files that constitute the installed assembly whenever you add or remove any assembly to or from the Global Assembly Cache. The main purpose of the carried out integrity check is to ensure that the files or the assemblies in the Global Assembly Cache are not tampered with, either intentionally or unintentionally.</p>
<p>The global assembly cache (GAC) is a machine-wide code cache that stores assemblies specifically designated to be shared by several applications on the computer. You should share assemblies by installing them into the global assembly cache only when you need to.   <br />Steps:</p>
<p>- Create a strong name using sn.exe tool eg: sn -k mykey.snk   <br />- in AssemblyInfo.cs, add the strong name eg: [assembly: AssemblyKeyFile(&quot;mykey.snk&quot;)]    <br />- recompile project, and then install it to GAC in two ways :    <br />• drag &amp; drop it to assembly folder (C:\WINDOWS\assembly OR C:\WINNT\assembly) (shfusion.dll tool)    <br />• gacutil -i abc.dll</p>
<p>The Global Assembly Cache or the popular acronym GAC refers to the machine-wide code cache in any of the computers that have been installed with common language runtime. The GAC or the Global Assembly Cache in .NET Framework acts as the central place for registering assemblies.</p>
<p><a href="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/Fig1.gif"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 4px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Fig1" border="0" alt="Fig1" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/Fig1_thumb.gif" width="444" height="226" /></a></p>
<p>All running applications that constitute development environments such as Web Matrix, Visual Studio.NET, etc., can all use the registered assemblies. The registering process of COM components in the server where ASP application are running is similar to adding an assembly to the Global Assembly Cache and the difference is that adding an assembly in Global Assembly Cache is much easier when compared to the act of registering COM components in a server with ASP applications.    <br />In the first step you need to get the assemblies installed in the Global Assembly Cache for an effective sharing of assemblies. It is highly recommended to keep assembly dependencies separately and only in case of unavoidable necessity or an unambiguous need for sharing should you keep all the assemblies in the application directory itself. <span id="more-1604"></span>Further, there is no necessity for you to get all your assemblies installed in the Global Assembly Cache so as to make the assemblies accessible to COM interrupts or unmanaged code.</p>
<p>There are many ways with which you can install an assembly into the Global Assembly Cache and one such way is using an installer that is compatible with the Global Assembly Cache. Besides using the best method of using a Global Assembly Cache compatible installer for deploying assemblies, you can also make use of a tool that has been specifically developed for installing the assemblies into the Global Assembly Cache and the popular SDK is one such Global Assembly Cache tool developed for .NET Framework. Another easy method of installing assemblies into the Global Assembly Cache is through using the drag and drop option in Windows Explorer.</p>
<p>In any organisation, LAN administrators are vested with the responsibility of controlling access to various files and folders in WINNT directory by users and such LAN administrators accord read, write and execute permissions to users depending upon their hierarchy and roles in the organisation. LAN administrators make use of access control list that is available within the operating system and when the Global Assembly Cache is installed in the WINNT directory, the said Cache will inherit the access control list fully. You, as an administrator or a person responsible for the security of files, have to ensure that only people who have administrative privileges alone are able to access and delete files from the Global Assembly Cache.</p>
<p>You also need to ensure that you provide a strong name for the assemblies installed in the Global Assembly Cache, and note to perform all the integrity checks without fail on all files that constitute the installed assembly whenever you add or remove any assembly to or from the Global Assembly Cache. The main purpose of the carried out integrity check is to ensure that the files or the assemblies in the Global Assembly Cache are not tampered with, either intentionally or unintentionally.</p>
<p>The global assembly cache (GAC) is a machine-wide code cache that stores assemblies specifically designated to be shared by several applications on the computer. You should share assemblies by installing them into the global assembly cache only when you need to.   <br />Steps:</p>
<p>- Create a strong name using sn.exe tool eg: sn -k mykey.snk   <br />- in AssemblyInfo.cs, add the strong name eg: [assembly: AssemblyKeyFile(&quot;mykey.snk&quot;)]    <br />- recompile project, and then install it to GAC in two ways :    <br />• drag &amp; drop it to assembly folder (C:\WINDOWS\assembly OR C:\WINNT\assembly) (shfusion.dll tool)    <br />• gacutil -i abc.dll</p>
<p align="center"><img width="122" height="91" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/Fig1_thumb-122x91.gif" class="aligncenter wp-post-image tfe" alt="Fig1" title="Fig1" /></p>]]></description>
		<wfw:commentRss>http://www.xcellextech.com/Blog/2011/08/global-assembly-cache-gac-in-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Garbage Collector work in .NET?</title>
		<link>http://www.xcellextech.com/Blog/2011/08/how-garbage-collector-work-in-net/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-garbage-collector-work-in-net</link>
		<comments>http://www.xcellextech.com/Blog/2011/08/how-garbage-collector-work-in-net/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 18:14:04 +0000</pubDate>
		<dc:creator>abhivibhuti</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Daily Tip]]></category>
		<category><![CDATA[Garbage Collector]]></category>

		<guid isPermaLink="false">http://www.xcellextech.com/Blog/2011/08/how-garbage-collector-work-in-net/</guid>
		<description><![CDATA[<p>One of the new concepts introduced in the .NET Framework is the Garbage Collector (GC). In a very rough manner we can think about the GC as something that says, &quot;never mind about your objects memory management, I will free it for you!&quot; So, for the C++ programmer the question is, &quot;do I need to use delete ?&quot; The aim of this article is to explain how the Garbage Collector works under the .NET Framework. </p>
<p><a href="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/soh2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 4px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="soh2" border="0" alt="soh2" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/soh2_thumb.png" width="444" height="332" /></a></p>
<p><strong>Explicit Memory Management</strong>    <br />Let&#8217;s back up a minute and look at how unmanaged objects (written in C++, Delphi, etc.) are created and destroyed. Where is the data for an object and what is its lifetime? For a C++ programmer that is clear, he can decide the maximum speed by placing the object on the stack or in static storage. The stack is a fixed patch of memory area used by the microprocessor to store the data during the execution of the program. Using the stack places a priority on the speed of storage allocation and release, which can be very valuable in some situations. <span id="more-1601"></span>However, you sacrifice memory and flexibility because you must allocate the memory needed by the objects (even if you are not using them), know the exact quantity, lifetime and type of objects while you are writing the program. It&#8217;s enough to have the object declared in order to allocate the memory in the stack:</p>
<blockquote><p>void main(void)       <br />{       <br />CFoo cfStack; // The costructor is called now. The destructor will be called when cfStack goes out of the scope.       <br />}</p>
</blockquote>
<p>Another approach is to create objects dynamically in the heap. With this latter approach you don&#8217;t know how many objects you need, what their lifetime is and what their type is until the program is running. If you need an object you have to make it on the heap with new keyword and then release it with delete keyword when that object is no longer used. </p>
<blockquote><p>CFoo *cfHeap;      <br />cfHeap = new CFoo(); // The constructor is invoked here.       <br />cfHeap-&gt;PrintHello(&quot;Print hello from heap object.\n&quot;);       <br />delete cfHeap; // The destructor is invoked here, the object is freed from the memory.</p>
</blockquote>
<p>Creating the object in the heap is significantly longer than creating it on the stack because usually the latter operation is done by a single microprocessor instruction moving the stack pointer down and another to move it back up. But as said before, the advantage is measured in terms of memory usage where it is allocated only when required. Then, it&#8217;s possible to summarize the steps required to access an object as follows:</p>
<ul>
<li>Allocate memory heap for the type that represents the object with new keyword.     <br />Initialize the memory to set the initial state of the object and to make the object usable.      <br />Use the object (methods and fields).      <br />Clean up the state of the object.      <br />Free the memory from the heap with delete keyword.</li>
</ul>
<p><a href="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/pic1.gif"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 4px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="pic1" border="0" alt="pic1" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/pic1_thumb.gif" width="444" height="244" /></a>    <br />This paradigm seems very simple but gives some problems to the developer:    <br />The object is never freed (memory leak)    <br />The object is freed when it needs to be used again (destabilization)    <br />The object is freed more than once</p>
<p>These bugs cause an unpredictable behaviors in the application at an unpredictable times and then are very difficult to fix. There are many third-party tools (ie. TurboPower&#8217;s MemorySleuth, CompuWare&#8217;s BoundsChecker, Rational&#8217;s Purify, Task Manager, etc.) that help to detect these kinds of bugs.   <br />As an alternative, the environment can provide a feature called a garbage collector that automatically discovers when an object is no longer in use and destroys it. Of course, a garbage collector is much more convenient, but it requires that all applications must run in all defined environment, such as the .NET Framework. </p>
<p>One of the new concepts introduced in the .NET Framework is the Garbage Collector (GC). In a very rough manner we can think about the GC as something that says, &quot;never mind about your objects memory management, I will free it for you!&quot; So, for the C++ programmer the question is, &quot;do I need to use delete ?&quot; The aim of this article is to explain how the Garbage Collector works under the .NET Framework. </p>
<p><a href="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/soh2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 4px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="soh2" border="0" alt="soh2" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/soh2_thumb.png" width="444" height="332" /></a></p>
<p><strong>Explicit Memory Management</strong>    <br />Let&#8217;s back up a minute and look at how unmanaged objects (written in C++, Delphi, etc.) are created and destroyed. Where is the data for an object and what is its lifetime? For a C++ programmer that is clear, he can decide the maximum speed by placing the object on the stack or in static storage. The stack is a fixed patch of memory area used by the microprocessor to store the data during the execution of the program. Using the stack places a priority on the speed of storage allocation and release, which can be very valuable in some situations. <span id="more-1601"></span>However, you sacrifice memory and flexibility because you must allocate the memory needed by the objects (even if you are not using them), know the exact quantity, lifetime and type of objects while you are writing the program. It&#8217;s enough to have the object declared in order to allocate the memory in the stack:</p>
<blockquote><p>void main(void)       <br />{       <br />CFoo cfStack; // The costructor is called now. The destructor will be called when cfStack goes out of the scope.       <br />}</p>
</blockquote>
<p>Another approach is to create objects dynamically in the heap. With this latter approach you don&#8217;t know how many objects you need, what their lifetime is and what their type is until the program is running. If you need an object you have to make it on the heap with new keyword and then release it with delete keyword when that object is no longer used. </p>
<blockquote><p>CFoo *cfHeap;      <br />cfHeap = new CFoo(); // The constructor is invoked here.       <br />cfHeap-&gt;PrintHello(&quot;Print hello from heap object.\n&quot;);       <br />delete cfHeap; // The destructor is invoked here, the object is freed from the memory.</p>
</blockquote>
<p>Creating the object in the heap is significantly longer than creating it on the stack because usually the latter operation is done by a single microprocessor instruction moving the stack pointer down and another to move it back up. But as said before, the advantage is measured in terms of memory usage where it is allocated only when required. Then, it&#8217;s possible to summarize the steps required to access an object as follows:</p>
<ul>
<li>Allocate memory heap for the type that represents the object with new keyword.     <br />Initialize the memory to set the initial state of the object and to make the object usable.      <br />Use the object (methods and fields).      <br />Clean up the state of the object.      <br />Free the memory from the heap with delete keyword.</li>
</ul>
<p><a href="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/pic1.gif"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 4px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="pic1" border="0" alt="pic1" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/pic1_thumb.gif" width="444" height="244" /></a>    <br />This paradigm seems very simple but gives some problems to the developer:    <br />The object is never freed (memory leak)    <br />The object is freed when it needs to be used again (destabilization)    <br />The object is freed more than once</p>
<p>These bugs cause an unpredictable behaviors in the application at an unpredictable times and then are very difficult to fix. There are many third-party tools (ie. TurboPower&#8217;s MemorySleuth, CompuWare&#8217;s BoundsChecker, Rational&#8217;s Purify, Task Manager, etc.) that help to detect these kinds of bugs.   <br />As an alternative, the environment can provide a feature called a garbage collector that automatically discovers when an object is no longer in use and destroys it. Of course, a garbage collector is much more convenient, but it requires that all applications must run in all defined environment, such as the .NET Framework. </p>
<p align="center"><img width="122" height="91" src="http://www.xcellextech.com/Blog/wp-content/uploads/2011/08/soh2_thumb-122x91.png" class="aligncenter wp-post-image tfe" alt="soh2" title="soh2" /></p>]]></description>
		<wfw:commentRss>http://www.xcellextech.com/Blog/2011/08/how-garbage-collector-work-in-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

