<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3907024899567883250</id><updated>2011-11-27T16:11:31.321-08:00</updated><category term='Outlook Backup'/><title type='text'>Elango's Blog</title><subtitle type='html'>Let us make the world simpler...... - Elango C</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://celango.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>40</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-6592876817293207182</id><published>2009-06-11T08:58:00.000-07:00</published><updated>2009-06-11T09:13:14.240-07:00</updated><title type='text'>Microsoft Exchange Server 2010</title><content type='html'>Just when the speculations about Office 14 was starting to hum in, Microsoft puts forward a decisive disclosure that it will not come before 2010 but there will be a public beta version available for the new and refined exchange server program. The public beta test version of Exchange Server 2010, as the product is called, is the first of a wave of upgrades to Microsoft programs as they prepare their next big release of the entire office suite. Exchange Server can work entirely as an online service, which may attract customers looking to save money on hardware and support for their e-mail and messaging systems. It has enhanced information leakage protection, transcribe voice message et al. So let's look at its features and what more does it have to offer.&lt;br /&gt;Enhanced Interoperability&lt;br /&gt;&lt;br /&gt;As Cnet quotes Sanjay Jha, the lead of Exchange Server operations within Microsoft,&lt;br /&gt;…the technology preview will include both the traditional desktop versions of Word, Excel, PowerPoint, and OneNote as well as the browser-based "Office Web Apps" that Microsoft is building. The browser-based versions will be somewhat more limited than their desktop counterparts, but will include basic editing abilities, Microsoft has said. The software maker has also said the browser-based applications will run in Safari and Firefox, in addition to Internet Explorer, which will take Office onto both Linux computers and the iPhone.&lt;br /&gt;&lt;br /&gt;interoperability, here comes Microsoft. But talking bout interoperability, its not something new in Microsoft, If you remember well, they foresaw the technological demands of 'settling for less materials and more productivity' and the need to be platform independent (or come outta Micorosoft framework) quite early with eclipse4SL&lt;br /&gt;&lt;br /&gt;Features&lt;br /&gt;&lt;br /&gt;1. OWA (Outlook Web Access) support for Multiple Browsers&lt;br /&gt;&lt;br /&gt;I know the title is self explaining. But, to tell you the truth, a person with Mac or Linux very reluctantly switched from Firefox or Safari to Internet Explorer just because they had to run IE in a Windows VM and that too which had no multiple tabs then. With this web access for different browsers, Microsoft made up a lot for the acceptability.&lt;br /&gt;&lt;br /&gt;2. Improved Storage Reliability&lt;br /&gt;&lt;br /&gt;You can now run Exchange reliably without dealing with Windows clustering, RAID arrays, or fancy Enterprise-class disk. It will be cheap to save or restore/ recover data and quick too.&lt;br /&gt;&lt;br /&gt;3. Mail Tips&lt;br /&gt;&lt;br /&gt;I still smell something like the one Google did with Gmail last month, Undo button. But its just my bad nose. Mail Tips is a program which tells you about the possible mistakes you are going to do by sending a mail to someone whom you don't intend to. After all, you won't like to send a personal mail to your secretary or boss anyway. Mail Tips helps you in that case, by warning you from before and giving you tips. Cool one.&lt;br /&gt;&lt;br /&gt;4. Conversation View&lt;br /&gt;&lt;br /&gt;Talking about the latest development project online and want all of them to get connected at once? It sure is a painful job to devote one window a person. But now you can have threaded conversation under a single node. How is it a big deal? We are using such things for the last 20 Years! Okay It is new to Outlook and OWA, and we should be happy.&lt;br /&gt;&lt;br /&gt;5. Sharing&lt;br /&gt;&lt;br /&gt;This is another of a kind which lets you share a lot of things effectively. Exchange server program has two main properties to share.&lt;br /&gt;Calendar Sharing: You can share calendars to federated users by OWA.&lt;br /&gt;Contact Sharing:  You can share contacts very easily now.&lt;br /&gt;&lt;br /&gt;6. Voice Mail Preview&lt;br /&gt;&lt;br /&gt;This is quite a nice feature. You will now have a text preview of your voice mail messages! I am not quite sure how perfectly is it gonna work, but the very concept is lucrative enough to give it a shot.&lt;br /&gt;&lt;br /&gt;7. Exchange Control Panel (ECP)&lt;br /&gt;&lt;br /&gt;Exchange control panel is another new addition to this. Now you get self serviced tasks which uselessly needed administrators to prompt before. Another brownie point to Microsoft for optimizing.&lt;br /&gt;&lt;br /&gt;8. Critical Security&lt;br /&gt;&lt;br /&gt;Microsoft has gone over the typical or traditional security benchmarks and have fancied some really cool features in Exchange server programs. If you lead the organization, you will be happy to know that Microsoft has introduced features like,&lt;br /&gt;Mobile Device Block/Allow List: That allows/ blocks specific devices only, helping you to have a secure way of hardware monitoring.&lt;br /&gt;Protected voice mail: You can now actually protect voice mail and track them and restrict them not to go outside the organization anyhow.&lt;br /&gt;Outlook protection rules: Automatically triggers Outlook to apply an RMS template to a message before it is sent.&lt;br /&gt;&lt;br /&gt;9. Distribution Group Management&lt;br /&gt;&lt;br /&gt;Now users can create, modify and access different distribution groups according as their choices and likings. That will help a better precision in teaming with the right kind of people under a single roof which will automatically increase effectiveness than reaching out to specific people individually.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;10. Others&lt;br /&gt;&lt;br /&gt;And there are few more noteworthy features which I want to sum up in one line. You get SATA support now involving I/O optimization, JDBO support, incoming voice mail reception, multi-mailbox search — all of them will prove to be helpful in someway or the other&lt;br /&gt;&lt;br /&gt;Conclusion&lt;br /&gt;Its just a public beta version only. We haven't seen the final specimen just like Windows 7 But the new Exchange server, just like the exciting new OS of Microsoft, sounds and shows promise. I don't know about pricing but I guess it will be on the higher side. Considering Microsoft perfects any and every feature they have talked of, Exchange Server may well be one of the most popular products of Microsoft.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-6592876817293207182?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/6592876817293207182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=6592876817293207182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/6592876817293207182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/6592876817293207182'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2009/06/microsoft-exchange-server-2010.html' title='Microsoft Exchange Server 2010'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-1712452920714941664</id><published>2008-03-07T01:16:00.001-08:00</published><updated>2008-03-07T01:16:50.458-08:00</updated><title type='text'>8 Traits of Effective IT Leaders</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Helv; color: purple;"&gt;#1 Leadership means focusing on the needs of others, not yourself&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Real leaders try to provide service - to their team, their customers, and anyone else met. Leadership is not a 9-to-5 job. By focusing on the needs of customers, and then trying to align his or her team in ways to meet those needs as well as the needs of the team, a leader gets the job done and develops followers. Customers want to work with a leader because a leader team produces results. Your team wants to follow your lead because you take into account its needs and requirements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;To improve your leadership skills consider spending as much time with your customers as you do with your team.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Helv; color: purple;"&gt;#2 Leadership comes from your actions, not your title&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Some of the best leaders don't have CIO or VP titles. Leadership in fact has nothing to do with title or pay-grade. Leaders lead because others want to follow them. Why would anyone want to follow a leader? Because a leader motivates its followers, gives them purpose, supports them, guides and mentors them, and even "takes flak" to protect them.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;To be a better leader you need to ask yourself some hard questions. If you are not leading then you are dictating, and no one follows a dictator.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Helv; color: purple;"&gt;#3 Leadership makes you accountable, even if it's not your fault&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A leader take full responsibility for his or her mission and with this comes accountability for failure. Leaders don't blame their team, or complain about unreasonable customer requirements. Leaders set expectations by focusing on the needs of others (Trait #1) and build consensus for what can be accomplished. If something goes wrong, a leader accepts responsibility - even if it was a team member that was the cause.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Think about the last time someone on your team made a mistake. Did you support and counsel them? Did you turn the failure into a learning opportunity? Or did you ridicule, shun, or punish him or her?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Helv; color: purple;"&gt;#4 Leadership is not a 9-to-5 activity&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Being a leader means focusing on the needs of others and helping others when they fail. This can require additional work, even after hours. Often it is only personal engagement that uncovers the root cause of an unhappy worker. And many times these root causes present opportunities for improvement beyond the single worker.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do you stay and work with the team? Not just being in the office, but do you actively engage and work to deliver when required?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Helv; color: purple;"&gt;#5 Leadership takes trust from your followers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;When you focus on the needs of others, motivate your team, and satisfy your customers, when you take responsibility for success and failure, when you engage with your team on a personal level, then you build trust. Trust does not come easily. You have to earn trust. It won't come because you have an impressive title. You can't buy, barter, or steal trust. You have to earn it. You have to follow the first four traits on a regular basis for enough time to have earned the trust of your customers and team.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do your customers trust you? Does your team get behind your ideas because they know you will protect and guide them?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Helv; color: purple;"&gt;#6 Leaders get their best ideas from their team&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The best ideas are not going to come from the leader, but rather from those being led. A good leader develops consensus for a project based on its relationships to customers, company, and staff. Exactly how the project should unfold is often best left to the team to determine. Nothing so engages and commits a team to a leader than for them to be part of the design of the solution. No one knows the job better than the person who does it every day.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do you dictate schedules to your team or do you and your teams negotiate on how to get things done? Ask your team for their ideas - and then use them. Just remember trait #6 - always give the credit to the team. The leader's credit comes only by crediting the team he or she leads.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Helv; color: purple;"&gt;#7 Leadership thrives on diversity&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;I love the story about the IT group at a major retailer. The business needed to know the conversion ratio: that is, how many people entering a store purchased something. IT began brainstorming traditional IT solutions -- complicated, highly automated, and expensive. On a whim, an IT leader asked a non-IT person how they might determine how many shoppers who came into a store actually purchased something. The non-IT solution after just a few minutes of thought was to hire a couple of temporary workers and have them count the number of people entering the store and then leaving with a shopping bag.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Instead of the typical all-consuming and expensive 18-month IT project more likely to fail than succeed, they got a cost-effective low-tech solution in a few hours. The best ideas come from those who don't think as you do. Expand your circle of relationships; nurture those who think differently from you.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Helv; color: purple;"&gt;#8 Leadership comes from continuous communication&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;To be able to lead and embrace these traits requires communications skills. I'm not talking about superior comedic skills when presenting. I am talking about person-to-person verbal and non-verbal communications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;This is counter-intuitive, but to present your ideas requires that you listen. To understand and accept the ideas of others requires that you talk. These are skills many people never develop, but all true leaders seem to have mastered.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In a meeting, do you do most of the talking? When you are listening to others, are you an active listener, repeating what you have heard to make sure you understand what was said?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-1712452920714941664?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/1712452920714941664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=1712452920714941664' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/1712452920714941664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/1712452920714941664'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2008/03/8-traits-of-effective-it-leaders.html' title='8 Traits of Effective IT Leaders'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-6558875741110967390</id><published>2008-03-06T01:37:00.000-08:00</published><updated>2008-03-06T01:42:13.132-08:00</updated><title type='text'>How to break or hack Windows XP password</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If you want to hack or break the password of any windows XP system then you should have physical access to the system and then follow these simple steps.&lt;br /&gt;&lt;br /&gt;In case of user password boot the pc in safe mode by pressing the F8 key and then selecting the Safe Mode option. You can now log on as an administrator and XP wont prompt for the password. Incase of an administrator account try rebooting the pc in DOS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;access C:\Windows\system32\config\sam and &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Rename SAM as SAM.mj&lt;br /&gt;&lt;br /&gt;Now XP wont ask for password next time You Login. Also&lt;br /&gt;&lt;br /&gt;=&gt; Go to the cmd prompt.&lt;br /&gt;=&gt; Type net user *.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;It will list all the users.&lt;br /&gt;Again type net user "administrator" or the name of the administrator "name" *.&lt;br /&gt;&lt;span style="color: green;"&gt;e.g.: net user Jayanthi *(where Jayanthi is the name).&lt;/span&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;It will ask for the password.&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Type the password and there you are done.&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Logging In As Administrator:&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Hold the Ctrl-Alt key and press &lt;st1:state st="on"&gt;&lt;st1:place st="on"&gt;Del&lt;/st1:place&gt;&lt;/st1:State&gt; twice. This will bring up the normal login and you can log on as Administrator.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;To unhide the Administrator account so it does show up:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Start Regedit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;b style=""&gt;&lt;span style="color: green;"&gt;Go to HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ SpecialAccounts \ UserList&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="color: green;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Unhide the Administrator key by giving it a value of 1&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;nJoy…….&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-6558875741110967390?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/6558875741110967390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=6558875741110967390' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/6558875741110967390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/6558875741110967390'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2008/03/how-to-break-or-hack-windows-xp.html' title='How to break or hack Windows XP password'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-6999766799021750203</id><published>2008-03-03T20:29:00.000-08:00</published><updated>2008-03-03T20:35:54.696-08:00</updated><title type='text'>How to Disable or Enable USB in the computer?</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Now days there are certain type of viruses and spy-wares that are spreading from pen-drives just because of the unprotected use of Pen drives because usually user does not scan the pen drive before its use by the updates anti virus software’s. This situation got worse on shared computers. So, some of the administrators block the USB ports so that system does not get infected by this way. You can also disable and re-enable your system's USB ports by a simple trick.&lt;br /&gt;&lt;br /&gt;How to disable USB storage accesses for a certain group of users this disabling and re-enabling of USB ports is based on a simple registry entry. By following these simple steps anyone can disable and re-enable the access of USB ports.&lt;br /&gt;&lt;b style=""&gt;&lt;span style="color: purple;"&gt;&lt;br /&gt;To disable the access to USB port, in Windows XP and Windows 2000&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;1.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Click Start, and then click Run.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;2.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In the Open box, type regedit, and then click OK.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 102, 255);"&gt;&lt;span style=""&gt;3.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Locate, and then click the following registry key:&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;4.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In the right pane, double-click Start.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;5.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In the Value data box, type 4, click Hexadecimal (if it is not already selected), and then click OK.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;6.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Quit Registry Editor.&lt;br /&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: purple;"&gt;To re-enable a disabled port:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 36pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1. Click Start, and then click Run.&lt;br /&gt;2. In the Open box, type regedit, and then click OK.&lt;br /&gt;3. Locate, and then click the following registry key:&lt;br /&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor&lt;/span&gt;&lt;br /&gt;4. In the right pane, double-click Start.&lt;br /&gt;5. In the Value data box, type 3, click Hexadecimal (if it is not already &lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;selected), and then click OK.&lt;br /&gt;6. Quit Registry Editor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 216pt;"&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 216pt;"&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;Serve your company better……&lt;span style=""&gt;    &lt;/span&gt;- Elango C&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-6999766799021750203?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/6999766799021750203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=6999766799021750203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/6999766799021750203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/6999766799021750203'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2008/03/how-to-disable-or-enable-usb-in.html' title='How to Disable or Enable USB in the computer?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-7427197403532650969</id><published>2008-01-18T22:36:00.000-08:00</published><updated>2008-01-18T23:06:44.192-08:00</updated><title type='text'>Memory Leaks Detection: A Different Approach</title><content type='html'>&lt;span style="font-family: Verdana; color: green;"&gt;&lt;span style="font-size:130%;"&gt;There are different ways to manage dynamically allocated memory&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="greenblurb1"&gt;&lt;span style="font-size: 9pt;"&gt;Experienced C/C++ programmers know what it means to properly manage dynamically allocated memory to avoid memory leaks. Michael presents an alternative approach.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 8.5pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 8.5pt; font-family: Verdana;"&gt;  &lt;hr align="center" size="2" width="100%"&gt;  &lt;/span&gt;&lt;/div&gt;  &lt;p&gt;Experienced C/C++ programmers know about the need to properly manage dynamically allocated memory to avoid memory leaks. Unfortunately, many of us still find ourselves in a tough position when there is a memory leak in the software. How is it detected in the first place? Simply looking at the task manager (or other appropriate tool that shows memory-use statistics) indicates that the memory used by the process is constantly growing. That means that the memory use is expected to remain constant. But the program must allocate memory, at least at the beginning of its life. Therefore, a more precise description would be that the process is running for a while, the input rate is constant, and the memory continues to climb. The interpretation of the input rate depends on the purpose of the program; for a web server, for instance, it can be network traffic throughput, or the number of requests per second.&lt;/p&gt;  &lt;p&gt;How do you attack this problem? Assume that your first attempts at just looking at the code failed, and you need to get help from an automatic memory-leak detection tool. While your favorite tool may use unique techniques to trace memory allocation/deallocation and different algorithms to organize that information at runtime, it most probably works like this:&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 9pt; font-family: Verdana;"&gt;&lt;span style=""&gt;1.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 9pt; font-family: Verdana;"&gt;From the moment the program starts, it traces each memory allocation (probably with additional information, such as a call stack). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 9pt; font-family: Verdana;"&gt;&lt;span style=""&gt;2.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 9pt; font-family: Verdana;"&gt;It registers all released memory. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 9pt; font-family: Verdana;"&gt;&lt;span style=""&gt;3.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 9pt; font-family: Verdana;"&gt;Before the program terminates, it prints out information about each unreleased memory block. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style="font-family: Verdana; color: green;"&gt;When Good Isn't Good Enough&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p&gt;In many cases, there are two reasons why memory-leak reports won't give you much useful information. First, they complain about many nonexisting memory leaks and miss many real ones. &lt;/p&gt;  &lt;p&gt;Say, for instance, that there are many memory allocations that are never released by design. Those are the static members, allocated at the beginning of the process, and Singleton objects created later using a lazy initialization strategy (for instance, your web server may load a static file to the memory when it is first requested). Other examples include custom memory pools, which can allocate up to a certain maximum number of objects, then reuse them through the rest of the process's life. In all these cases, the memory is never released. Although it's a good practice to clean up all resources, it doesn't always happen. I can even give you a reason for releasing those objects—it slows the shutdown process of your program. But what's more important is that all the memory used by the process is automatically reclaimed by the operating system (on most modern systems), and while the process is running, the size of all that static memory is known in advance and is strictly limited.&lt;/p&gt;  &lt;p&gt;The second reason is that memory leaks, which would be missed by such reports, can be defined as "Java-style memory leaks." That is, although the object is no longer needed (at least according to the program's logic), it is never deleted because you have a valid pointer to that object, probably lost in some cache or other container. And if this object is properly wrapped with a smart pointer, it will be deleted at the end and won't appear as a memory leak. Needless to say, this is a common reason for constantly growing memory.&lt;/p&gt;  &lt;p&gt;Any remaining classical memory leaks, which can be detected in the usual way, may still be missed because they're hard to discover in the background of other false alarms.&lt;/p&gt;  &lt;h3&gt;&lt;span style="font-family: Verdana; color: green;"&gt;Detecting a Better Tool&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p&gt;So let's make a wish list of requirements for a memory-leaks detection tool (I'm only talking about management of runtime info regarding memory use, and not about techniques to trap allocations/deallocations made by the program):&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 8.5pt; font-family: Verdana;"&gt;They should let you begin registering new      memory allocations at any arbitrary point of time. You will let the      application properly initialize first. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 8.5pt; font-family: Verdana;"&gt;They should stop monitoring memory activities      and get a current-leaks report at any time. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;Returning to the web server example, assume that it holds a session context per user—this is some information needed to process all requests made by the same visitor. As you don't want to keep this information forever, you release all related objects after a timeout of 20 minutes from the visitor's last request. Figure 1 shows a schematic lifetime of session objects, assuming that you start monitoring at time 1 and end at time 7.&lt;/p&gt;  &lt;p&gt;At time 7 (when you end memory monitoring), session objects for &lt;i&gt;Ron&lt;/i&gt; and &lt;i&gt;Superman&lt;/i&gt; are still alive, and they were allocated during the monitoring interval. As a result, those session objects would be listed as memory leaks, even if you know that they aren't. That is exactly what you tried to prevent.&lt;/p&gt;  &lt;p&gt;As a solution, you need to rethink the second requirement and replace it with:&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 8.5pt; font-family: Verdana;"&gt;You should be able to stop registering new      memory allocations, while still updating the state on each released      object. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 8.5pt; font-family: Verdana;"&gt;At time (c), you want to get a report of all      memory blocks allocated in time period (a)-(b), which were not released      within the (a)-(c) time interval. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;For the imaginary web server, assume you've started the process at 10:00. You can begin all monitoring at 10:10; turn off new allocations tracing at 10:15; and only at 10:40 get the final report of all memory leaks (for objects allocated in the five minutes between 10:10 and 10:15). Such flexibility in activation times and separation of new and delete processing are key points in building a better memory-leaks detection tool.&lt;/p&gt;  &lt;p&gt;When thinking about additional features it might have, I would add: &lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 8.5pt; font-family: Verdana;"&gt;Start monitoring only memory allocation made      from a specific thread or group of threads. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;Again, this is a good way to focus on specific areas of processing, ignoring unnecessary noise in reports. For example, a web server may have a pool of threads that handles user requests. You suspect that the memory leak is hiding in the code processing those requests, so you want to filter out all allocations made from other parts of the code. In many cases, you still want to process all memory deallocations, even in other threads (for example, you may send objects from processor threads to a special logger thread, and have the latter release those objects).&lt;/p&gt;  &lt;h3&gt;&lt;span style="font-family: Verdana; color: green;"&gt;External Tools Versus Integrated Solutions&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p&gt;There are trade-offs in deciding which tool is most appropriate for your project. The first step is choosing between an independent external tool or an integrated solution that requires some changes in your source code.&lt;/p&gt;  &lt;p&gt;The clear advantage of the first option is the ease of use—you just need to plug it in to the application, no extra work required. Going back to the list of expectations from the memory debugging tool, you will probably need to give up the last requirement— selection of threads—because external tools are not aware of the internal layout of the process. You will also need to guess the best times to start/end monitoring, without knowledge of the current state of the program.&lt;/p&gt;  &lt;p&gt;On the other hand, adding simple code to your web server allows you to monitor specific threads while it processes a single request. You may prefer to invest some effort now, and build an infrastructure that will make memory debugging much easier in the future. In the long run, it will save you a lot of time.&lt;/p&gt;  &lt;h3&gt;&lt;span style="font-family: Verdana; color: green;"&gt;Existing Tools?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p&gt;Are there existing tools that implement the functionality I've examined here? To be truthful, I'm not aware of any commercial memory-profiling tool, but there are a couple of open-source projects that implement this approach:&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 8.5pt; font-family: Verdana;"&gt;Windows Leaks Detector      (sourceforge.net/projects/winleak) for Win32 attaches to any running      process (no source code required), provides a basic UI to start and end      monitoring memory activity, and finally produces a report of all memory      leaks with full call stack information. It also lets you automatically add      debugger breakpoints when memory allocation occurs. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 8.5pt; font-family: Verdana;"&gt;LeakTracer (www.andreasen.org/LeakTracer) for      Linux requires special compilation of your project.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-7427197403532650969?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/7427197403532650969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=7427197403532650969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/7427197403532650969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/7427197403532650969'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2008/01/memory-leaks-detection-different.html' title='Memory Leaks Detection: A Different Approach'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-3294211407080934546</id><published>2008-01-15T22:52:00.000-08:00</published><updated>2008-01-15T23:20:47.243-08:00</updated><title type='text'>Mebroot / Rootkit – The New challenge to the Security experts.</title><content type='html'>&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Internet security experts are warning Windows users about a new Rootkit that steals login details for online bank accounts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;These are then sent back to the criminals for either selling to the highest bidder, or for use by themselves to drain the victim’s funds! &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="style17"&gt;&lt;strong&gt;&lt;span style="color: purple;"&gt;What is a Rootkit?&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: purple;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A rootkit is a malicious program (or combination of several programs) designed to take control ("Administrator" access) of a computer, without authorization by the owners.&lt;br /&gt;&lt;br /&gt;Typically, rootkits act to obscure their presence on the computer through "subversion" or "evasion" of the operating system security mechanisms. A rootkit will conceal running processes from monitoring programs, or hiding files or system data from the operating system.&lt;br /&gt;&lt;br /&gt;Sometimes, they are also Trojans as well, thus fooling users into believing they are safe to run on their systems!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="style17"&gt;&lt;span style="color: purple;"&gt; &lt;strong&gt;Why is Mebroot Different?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The Memboot rootkit (first called this by security firm Symantec) is unusual in that it tries to overwrite part of a computer's hard drive called the Master Boot Record (MBR).&lt;br /&gt;&lt;br /&gt;This is where a computer looks when it is switched on for information about the operating system it will be running.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;"&lt;em&gt;&lt;span style="font-family: Verdana;"&gt;If you can control the MBR, you can control the operating system and therefore the computer it resides on!&lt;/span&gt;&lt;/em&gt;" wrote Elia Florio on security company Symantec's blog&lt;/span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="style17"&gt;&lt;span style="color: purple;"&gt; &lt;strong&gt;How Does Mebroot Infect a Computer?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Mebroot has been deliberately installed at websites controlled by the criminals and targets those website visitors who have not patched their computers with the latest security updates from Microsoft.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Once it installs itself on the vulnerable computer, it then contacts a remote server on the internet and downloads additional nasty software called "key loggers".&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;These special software programs are designed to capture all your passwords and login information and send it back to the criminal gang. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Analysis of Mebroot has shown that it uses its hidden position on the MBR as a beachhead so it can reinstall these associated programs if they are deleted by anti-virus software!!!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Most of these key logger programs lie in wait on a machine until its owner logs in to the online banking systems of one of more than 900 financial institutions it has been programmed to recognize. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Leading security firm iDefense has said that Mebroot was discovered in October 2007, but only started to be used in a series of attacks in early December 2007. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The Russian virus-writing group behind Mebroot is are specialists in stealing bank login information. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p class="style17"&gt;&lt;strong&gt;&lt;span style="color: purple;"&gt;What Can a Computer User Do - Some Notes:&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: purple;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;#&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; Computers running Windows XP, Windows Vista, Windows Server 2003 and Windows 2000 that are &lt;strong&gt;&lt;span style="font-family: Verdana;"&gt;NOT&lt;/span&gt;&lt;/strong&gt; fully patched are all vulnerable to the virus. Make sure you have &lt;strong&gt;&lt;span style="font-family: Verdana; color: purple; font-weight: normal;"&gt;Automatic Updates&lt;/span&gt;&lt;/strong&gt; turned on!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"&gt;#&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"&gt; Make&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; sure you have an up to date &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"&gt;security suite installed! If you don't then consider:&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"&gt;# &lt;span style="color: purple;"&gt;CA Internet Security Suite PLUS 2008&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: purple;" lang="EN-GB"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"&gt;which is &lt;strong&gt;&lt;span style="font-family: Verdana; color: purple;"&gt;15%&lt;/span&gt;&lt;/strong&gt; off until 31st March 2008 if you enter coupon code &lt;strong&gt;&lt;span style="font-family: Verdana; color: purple;"&gt;CAISS15&lt;/span&gt;&lt;/strong&gt; during checkout process.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;#&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; Although the password-stealing programs that Mebroot installs can be found by security software, such as CA Internet Security Suite, few commercial anti-virus packages currently detect its presence. Although this will change in the coming months now they know what to look for. &lt;span style="color: purple;"&gt;(&lt;strong&gt;&lt;span style="font-family: Verdana;"&gt;At least for now they will block the key logger Trojans from stealing data.&lt;/span&gt;&lt;/strong&gt;)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;#&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; Mebroot cannot be removed while a operating system is running.  However running the "fixmbr" command from within the Windows Recovery Console successfully removes the malicious MBR entry.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;#&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; Independent security firm GMER has produced a utility that will scan and remove the Mebroot stealth program! Please note that this is an &lt;strong&gt;&lt;span style="font-family: Verdana; color: purple;"&gt;advanced tool&lt;/span&gt;&lt;/strong&gt; and not to be used without some caution: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;# &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; It seems that so far Windows XP is the most vulnerable operating system so far.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;#&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; In &lt;strong&gt;&lt;span style="font-family: Verdana; color: purple;"&gt;ADDITION&lt;/span&gt;&lt;/strong&gt; to running your normal security software, consider running Threat Fire along side for better protection. By constantly monitoring the activity on your PC ThreatFireâ€™s ActiveDefense technology is able to hunt down and paralyze threats that are too new or too clever to be recognized by traditional security software. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;...and stay safe!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-3294211407080934546?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/3294211407080934546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=3294211407080934546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/3294211407080934546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/3294211407080934546'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2008/01/mebroot-rootkit-new-challenge-to.html' title='Mebroot / Rootkit – The New challenge to the Security experts.'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-6756967661514953662</id><published>2007-11-01T04:52:00.000-07:00</published><updated>2007-11-01T04:53:09.391-07:00</updated><title type='text'>Windows Vista UAC</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: purple;"&gt;User Account Control (UAC)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;User Account Control, or UAC, is a security feature of &lt;span style="color: green;"&gt;Windows Vista&lt;/span&gt;. Any action that can affect the security or reliability of Windows Vista now requires a confirmation before Vista will apply the changes. Standard Users will need to enter an Administrator’s password before making changes, and if a user is already running as an Administrator, Vista still requires a quick confirmation to ensure the changes are not being made by male-ware.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In previous versions of Windows, users running as Admin gave viruses and male-ware free reign of their system because the administrator had privileges to make changes that would affect the entire system. UAC is a slice of security between the user and the Windows Operating System, which is enabled by default to save us from ourselves.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;This security does not come without a price, however. Users will either be relieved or frustrated with the dialog boxes that continuously pop up asking for permission or confirmation on a change being made to Windows. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;User Account Control should be viewed as a benefit, and users should give it a chance before disabling UAC. After time, the notices will seem to diminish and fade into the background. The more you use Vista, the less intrusive the UAC notices will become.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;But User Account Control can be turned off, though it is not recommended. Login under the ADMIN login name, and then go to the control panel, then to the user accounts. Look for Turn User Account Control On/Off.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If you decide to do this, at least be sure to create a Standard User account and run under that name. Running as Admin without UAC can open your system to attacks as viruses will have full privileges on your system and be capable of doing whatever they want to your machine.&lt;script&gt;&lt;!-- D(["mb","\u003c/span\&gt;\u003c/p\&gt;",1] ); D(["mb","\u003cspan class\u003dsg\&gt;\n\u003cbr\&gt;\u003cbr\&gt;--\u003cbr\&gt;\nPosted By  Elango&amp;#39;s Blog  to  \u003ca href\u003d\"http://celango.blogspot.com/2007/09/uac-in-vista.html\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\&gt;Elango&amp;#39;s Blog\u003c/a\&gt;  at  9/18/2007 12:12:00 AM\u003c/span\&gt;",0] ); D(["ce"]);  //--&gt;&lt;/script&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="sg"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-6756967661514953662?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/6756967661514953662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=6756967661514953662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/6756967661514953662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/6756967661514953662'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/11/windows-vista-uac.html' title='Windows Vista UAC'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-7404481267208819566</id><published>2007-11-01T03:17:00.000-07:00</published><updated>2007-11-01T03:19:26.946-07:00</updated><title type='text'>How to Check if DVD Decoder Software is Installed</title><content type='html'>&lt;span id="ad"&gt;&lt;/span&gt;By default, Windows XP does &lt;b&gt;not&lt;/b&gt; come with compatible DVD decoder software installed. To confirm if you have Windows XP-compatible DVD decoder software on your system: &lt;span id="intelliTxt"&gt;&lt;ol id="nointelliTXT"&gt;&lt;li&gt;  Select &lt;b&gt;Start &gt; Run&lt;/b&gt;  &lt;/li&gt;&lt;li&gt;  Enter &lt;b&gt;cmd&lt;/b&gt; in the &lt;b&gt;Open&lt;/b&gt; box, and click &lt;b&gt;OK&lt;/b&gt;  &lt;/li&gt;&lt;li&gt;  Type &lt;b&gt;dvdupgrd /detect&lt;/b&gt; and press &lt;b&gt;Enter&lt;/b&gt;  &lt;/li&gt;&lt;li&gt;  A Windows dialog box will open with identifying information about the installed software. If &lt;b&gt;No decoders found&lt;/b&gt; is displayed, no decoder is installed &lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-7404481267208819566?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/7404481267208819566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=7404481267208819566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/7404481267208819566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/7404481267208819566'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/11/how-to-check-if-dvd-decoder-software-is.html' title='How to Check if DVD Decoder Software is Installed'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-7664017583115562104</id><published>2007-10-04T03:40:00.000-07:00</published><updated>2007-10-04T03:45:08.809-07:00</updated><title type='text'>Windows Vista ReadyBoost</title><content type='html'>&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;Modern day software is more and more resource hungry, in every aspect of computing power.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;    &lt;p style="margin-bottom: 10.45pt;"&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;Demands increase continuously, regardless of whether it's CPU frequency, hard-drive capacity or RAM memory that we are talking about.&lt;br /&gt;&lt;br /&gt;Although a RAM memory upgrade is often desirable, there are cases when it cannot be immediately done. RAM memory is still quite expensive so this may prevent some and if you are upgrading an older computer you may have already achieved the maximum amount that can be physically installed.&lt;br /&gt;&lt;br /&gt;So wouldn't it be nice to have a way to boost our computers performance in such scenarios?&lt;br /&gt;&lt;br /&gt;Welcome to Windows &lt;st1:place st="on"&gt;Vista&lt;/st1:place&gt; ReadyBoost!&lt;br /&gt;&lt;br /&gt;Whilst physical memory such as RAM is quite expensive there is another form of memory that is far cheaper and that is called Flash memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="style4" style="margin-bottom: 10.45pt;"&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;&lt;script type="text/javascript"&gt; &lt;!-- google_ad_client = "pub-2547829206221086"; google_ad_width = 250; google_ad_height = 250; google_ad_format = "250x250_as"; google_ad_type = "text"; //2007-09-13: InstantVistaTopLeftx3 google_ad_channel = "2146241341"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "ABE95A"; google_color_text = "494E59"; google_color_url = "3A69BF"; //--&gt; &lt;/script&gt;&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt; &lt;/script&gt;Your computer can access Flash memory around 10 times faster than your hard drive so making it an ideal medium for ReadyBoost technology. Windows Vista can simply use the Flash memory as if it was extra RAM.&lt;br /&gt;&lt;br /&gt;Using a Flash memory device such as a USB memory key/stick (called a flash drive by the operating system), Windows Vista can create an intermediate caching layer on the device that logically sits between RAM memory and your hard drive.&lt;br /&gt;&lt;br /&gt;This can offer some great system performance gains.&lt;br /&gt;&lt;br /&gt;Whenever a Flash drive is detected, Windows Vista will check to see if it is fast enough to be used by ReadyBoost as not all Flash memory available is fast enough. If it passes the test, the user can then allocate some memory for ReadyBoost usage.&lt;br /&gt;&lt;br /&gt;However Windows Vista will work out the amount of space is recommended for optimal performance, but the user can choose to ignore this recommendation, using more memory than recommended, less, or none at all. Up to 4 GB of suitable flash memory can be used.&lt;br /&gt;&lt;br /&gt;ReadyBoost is analogous to using the page file in some ways, but it concentrates on storing different kinds of data. The performance gain depends sensibly on what kind of data you are using. When working with many small files, or when frequently having to access small pieces of data, the performance is sensibly improved. For larger files, the performance gain is often less in my experience.&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 10.45pt;"&gt;&lt;st1:street st="on"&gt;&lt;st1:address st="on"&gt;&lt;strong&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;USB Flash   Drive&lt;/span&gt;&lt;/strong&gt;&lt;/st1:address&gt;&lt;/st1:Street&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 10.45pt;"&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt; I have personally seen BIG performance gains on older computers upgraded to Windows Vista, that only had 512 Mb of RAM installed. By adding a 4 Gb flash drive to one of the USB ports and then letting Windows Vista choose the optimal amount of memory to use, the system was notably more responsive when using multiple applications (Internet Explorer, Outlook, Word, Excel and Windows Media Player) at the same time.&lt;br /&gt;&lt;br /&gt;The data stored on the flash drive is encrypted using the AES-128 encryption scheme. This ensures that the data is very difficult to decrypt, should the flash drive be stolen.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 10.45pt;"&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;&lt;script type="text/javascript"&gt; &lt;!-- google_ad_client = "pub-2547829206221086"; google_ad_width = 250; google_ad_height = 250; google_ad_format = "250x250_as"; google_ad_type = "text"; //2007-09-13: InstantVistaTopLeftx3 google_ad_channel = "2146241341"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "ABE95A"; google_color_text = "494E59"; google_color_url = "3A69BF"; //--&gt; &lt;/script&gt;&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt; &lt;/script&gt;The entire process is essentially hidden away from the user. Windows automatically manages the newly available memory, and the flash drive can be removed at any moment, without affecting the system.&lt;br /&gt;&lt;br /&gt;Although most devices are already supported, some aren't. Namely, external card readers are not supported for technical reasons, and MP3 players are not supported because Windows does not recognize them as actual disk volumes, but rather for what they are; MP3 player. However, the ReadyBoost team is adding support for new devices.&lt;br /&gt;&lt;br /&gt;ReadyBoost is also a very young technology. Although mature enough to ship with Windows Vista, we can expect to see it with several improvements in future versions of Windows or future Windows Vista service packs.&lt;br /&gt;&lt;br /&gt;For the technical folk reading this article ReadyBoost consists of two parts. A service in&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 10.45pt;"&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;%SystemRoot%\System32\Emdmgmt.dll that runs inside a Service Host process&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 10.45pt;"&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;(%SystemRoot%\System32\Svchost.exe). And a volume filter driver&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 10.45pt;"&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;(%SystemRoot%\System32\Drivers\Ecache.sys.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 10.45pt;"&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt; When you insert a USB flash device into Windows Vista, the ReadyBoost service looks at the device to determine its performance characteristics and stores the results of its test in the following registry entry:&lt;br /&gt;&lt;br /&gt;HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Currentversion\Emdmgmt&lt;br /&gt;&lt;br /&gt;By the way if you are wondering why the notation Emd is used instead of something likeReadyBoost. During development of this technology the working name was simply called External Memory Device, and so Emd is simply short for that!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 10.45pt;"&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;Be ready to play your favorite game and applications on &lt;st1:place st="on"&gt;Vista&lt;/st1:place&gt; quicker.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-7664017583115562104?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/7664017583115562104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=7664017583115562104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/7664017583115562104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/7664017583115562104'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/10/windows-vista-readyboost.html' title='Windows Vista ReadyBoost'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-5011831024810371958</id><published>2007-09-21T04:39:00.000-07:00</published><updated>2007-09-21T04:41:35.788-07:00</updated><title type='text'>Good features in IE 7 with Windows Vista</title><content type='html'>&lt;h1 style="margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: 18pt; font-family: Verdana; color: purple;"&gt;Internet Explorer 7 Security&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: purple;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;A major advancement in browsing security was released with Microsoft Vista's Internet Explorer 7. Browsing the Internet in the past was akin to walking through a minefield, where dangerous malware threatened to take over your machine with just one click. Windows Vista has locked down Internet Explorer 7 with a default feature called &lt;strong&gt;&lt;span style="font-family: Verdana;"&gt;Protected Mode&lt;/span&gt;&lt;/strong&gt;. Protected mode is security settings in the browser that give the user just enough privileges to surf the Internet, but not enough privileges that allow changes to be made to the system.&lt;/span&gt;&lt;/p&gt;  &lt;p dragover="true"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" alt="protected mode" style="'width:280.5pt;height:159pt'" allowoverlap="f"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\E521-2\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg" href="http://www.pctechbytes.com/computer/admin/attachments/iesecurity.JPG"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;img dragover="true" style="width: 226px; height: 16px;" src="file:///C:/DOCUME%7E1/E521-2/LOCALS%7E1/Temp/msohtml1/01/clip_image001.jpg" alt="protected mode" shapes="_x0000_i1025" /&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;span style="font-size: 14pt; font-family: Verdana;"&gt;Parental Controls&lt;/span&gt;&lt;/h2&gt;  &lt;p style="margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Internet Explorer also integrates a powerful parental control feature that allows you to limit your child's activity on the computer. You can access these controls from the Tools, then Internet Options, then the Content menu. Decide when and what websites your child visits, and also the types of video games your child plays on the computer, which are rated by the ESRB.&lt;/span&gt;&lt;/p&gt;  &lt;h2 style="margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: 14pt; font-family: Verdana;"&gt;Phishing Filters&lt;/span&gt;&lt;/h2&gt;  &lt;p style="margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Phishing is a website that deceives a visitor into thinking the website is something other than what it is, such as a bank website or any other site that may need your username and password. Phishing is a way hackers steal identities. Internet Explorer keeps an updated list of these sites and attempts to filter them from your web browser automatically. &lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Windows Vista has made an attempt to recover IE's tarnished past with the release of &lt;st1:place st="on"&gt;Vista&lt;/st1:place&gt; and Internet Explorer 7. They have done a great job of tackling the concerns of parents and users who want to keep malicious code off of their computers. Time will tell just how successful their endeavors will be, but we suspect these features will recover some of those users who always loved Internet Explorer, but were just too afraid to use it.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-5011831024810371958?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/5011831024810371958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=5011831024810371958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/5011831024810371958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/5011831024810371958'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/09/good-features-in-ie-7-with-windows.html' title='Good features in IE 7 with Windows Vista'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-8542247217433595141</id><published>2007-09-18T01:45:00.000-07:00</published><updated>2007-09-18T01:47:35.398-07:00</updated><title type='text'>System trouble shooting tips.....</title><content type='html'>&lt;h2&gt;&lt;span style="font-size: 14pt; font-family: Verdana; color: purple;"&gt;Troubleshooting On the Bench&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;There's nothing more frustrating than a freshly built PC that will not boot.  Normally, you're starting with all new components and you're not sure if any of them work to begin with.  This article deals with a few common techniques computer technicians use when dealing with this common problem.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Before you begin yanking out cables and components, just go over your connections one last time. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A common mistake is the connection from the case power and reset switches to the motherboard.  Carefully review the motherboard's manual to make sure these connections are right.  Not only do the connectors need to be on the correct pins, they must also be in the correct orientation.  If that is good, make sure the | / O switch on the back of the power supply is in the "|" position.  Then, give the computer a little shake.  Do you hear any screws bouncing around between the motherboard and the case?  This can cause the system to blow or go to ground.  Lastly, make sure the CMOS jumper is on pins 1-2.  If it is on pins 2-3 the motherboard will not boot.  This jumper is located near the watch-like battery on the motherboard.&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Still no POST?  Now carefully remove any PCI and AGP cards.  Unplug the power supply and IDE cables to make life easier.  You may already be able to get to the screws that hold the motherboard to the case.  Personally, I like to remove everything except the CPU and heat-sink before pulling the motherboard.  &lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Once all components are out of the case, place the motherboard on an antistatic bag (use the bag the motherboard shipped it, if possible) or a piece of cardboard.  Be sure not to leave the motherboard running on the cardboard unattended because there is a remote possibility it could cause a fire.&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;You may need to rest the cardboard and bag on top of the case depending on the amount of wire you have with the case wires and the power supply leads.  You can short the pins on the motherboard to boot without actually using the case wires but we are not going to cover that here.&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Now make sure you only have the bare minimum of components connected to the motherboard.  This means only one stick of memory (if the motherboard allows only one stick), the CPU and the video card.  Nothing else.  The only thing we're trying to do here is get the system to POST. A successful POST should result in a single, short beep.  Make sure the motherboard has a built in speaker or you will need to connect an external speaker via pins on the motherboard.&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If you still get nothing, begin swapping out spare parts if you have them at your disposal.  Otherwise, you will need to start returning the components, starting with the motherboard, then the CPU.  Before returning them, look for visible signs of damage (scorch marks on the CPU, bubbling capacitors on the motherboard, etc...).&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Good luck.  &lt;span style="color: purple;"&gt;The most important ingredient in troubleshooting a new PC is patience&lt;/span&gt;.&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-8542247217433595141?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/8542247217433595141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=8542247217433595141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/8542247217433595141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/8542247217433595141'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/09/system-trouble-shooting-tips.html' title='System trouble shooting tips.....'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-2425545718370370648</id><published>2007-09-18T01:39:00.000-07:00</published><updated>2007-09-18T01:44:52.328-07:00</updated><title type='text'>What is "Lost cluster in a lost chain" error when I run chkdsk?</title><content type='html'>&lt;h1&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 18pt; font-family: Verdana; color: rgb(153, 51, 153);"&gt;Lost Clusters on HDD&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana; color: purple;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Frequently running &lt;b&gt;&lt;span style="color: green;"&gt;Scandisk&lt;/span&gt;&lt;/b&gt; or &lt;b&gt;&lt;span style="color: green;"&gt;chkdsk&lt;/span&gt;&lt;/b&gt; can help save your data.  Hard drives can develop bad clusters over time, and those utilities can help retrieve corrupt data, and also prevent data from ever being written to those bad sectors again.  Running these disk management tools will help reduce crashes and further loss of data.  They may also help make you aware of impending hard drive failure.  &lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;span style="font-size: 14pt; font-family: Verdana; color: purple;"&gt;Lost clusters in a lost chain&lt;/span&gt;&lt;span style="font-family: Verdana; color: purple;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A typical error, such as "lost cluster in a lost chain" indicates that data is present but there are no pointers pointing to that data.  You can run chkdsk to attempt to recover the files, or you can simply repair the errors by selecting N when prompted for action.  This will correct the errors but not save the data.  Or you can press Y, which will attempt the associate a folder to that data.  If a folder cannot be found, it will save the data in a folder labeled .xxx.  The "xxx" is a sequential number, so the folder will probably be named .000 if the folder does not exist.&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 14pt; color: green;"&gt;ScanDisk&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 14pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;This utility exists in Windows 9.x systems, such as Windows 98 and ME.  To access this utility, navigate to &lt;span style="color: green;"&gt;START&gt;PROGRAMS&gt;ACCESSORIES&gt;SYSTEM TOOLS, then scandisk&lt;/span&gt;.  You will be given the option to do a Thorough Scan, which is recommended as it physically scans the surface of the drive for errors.  You can also specify if you want the errors corrected automatically, which is normally fine unless you want to attempt to recover the data. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: Verdana; color: green;"&gt;Chkdsk&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Chkdsk is available in Windows 2000 and Windows XP.  To run a chkdsk, go to My Computer and right-click the drive you want to scan, then select Properties.  Under the Tools tab, you will see a section for Error Checking.  Click Check Now.  Again, you will be given options Automatically fix the errors, or to attempt to recover the data.  You may be prompted to reboot so this utility can run before Windows loads.  This is normal.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-2425545718370370648?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/2425545718370370648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=2425545718370370648' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/2425545718370370648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/2425545718370370648'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/09/what-is-lost-cluster-in-lost-chain.html' title='What is &quot;Lost cluster in a lost chain&quot; error when I run chkdsk?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-8146097090024092129</id><published>2007-09-18T00:12:00.000-07:00</published><updated>2007-09-18T00:13:52.918-07:00</updated><title type='text'>UAC in Vista</title><content type='html'>&lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: purple;"&gt;User Account Control (UAC)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;User Account Control, or UAC, is a security feature of &lt;span style="color: green;"&gt;Windows Vista&lt;/span&gt;. Any action that can affect the security or reliability of Windows Vista now requires a confirmation before &lt;st1:place st="on"&gt;Vista&lt;/st1:place&gt; will apply the changes. Standard Users will need to enter an Administrator’s password before making changes, and if a user is already running as an Administrator, &lt;st1:place st="on"&gt;Vista&lt;/st1:place&gt; still requires a quick confirmation to ensure the changes are not being made by male-ware.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In previous versions of Windows, users running as Admin gave viruses and male-ware free reign of their system because the administrator had privileges to make changes that would affect the entire system. UAC is a slice of security between the user and the Windows Operating System, which is enabled by default to save us from ourselves.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;This security does not come without a price, however. Users will either be relieved or frustrated with the dialog boxes that continuously pop up asking for permission or confirmation on a change being made to Windows. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;User Account Control should be viewed as a benefit, and users should give it a chance before disabling UAC. After time, the notices will seem to diminish and fade into the background. The more you use &lt;st1:place st="on"&gt;Vista&lt;/st1:place&gt;, the less intrusive the UAC notices will become.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;But User Account Control can be turned off, though it is not recommended. Login under the ADMIN login name, and then go to the control panel, then to the user accounts. Look for Turn User Account Control On/Off.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If you decide to do this, at least be sure to create a Standard User account and run under that name. Running as Admin without UAC can open your system to attacks as viruses will have full privileges on your system and be capable of doing whatever they want to your machine.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-8146097090024092129?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/8146097090024092129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=8146097090024092129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/8146097090024092129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/8146097090024092129'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/09/uac-in-vista.html' title='UAC in Vista'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-1091727399669140718</id><published>2007-08-24T23:28:00.000-07:00</published><updated>2007-08-24T23:31:26.225-07:00</updated><title type='text'>What is BotNet....?</title><content type='html'>&lt;span style="font-family:Tahoma;"&gt;&lt;strong&gt;Botnet&lt;/strong&gt; This is the name given to a collection of     these bots.&lt;br /&gt;&lt;br /&gt;Then what is Bot.......&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Tahoma;"&gt;&lt;strong&gt;Bots&lt;/strong&gt; are software applications that run automated     tasks over the internet. Bots perform tasks that are both simple and     structurally repetitive, at a much higher rate than would be     possible for a human editor alone. Bots are used in a malicious way     by criminal gangs to coordinate attacks on &lt;a id="KonaLink0" target="_top" class="kLink" style="text-decoration: underline ! important; position: static;" href="http://www.updatexp.com/online-security-terms.html#"&gt;&lt;span style="color: blue ! important; font-family: Tahoma; font-weight: 400; font-size: 16px; position: static;color:blue;" &gt;&lt;span class="kLink" style="border-bottom: 1px solid blue; color: blue ! important; font-family: Tahoma; font-weight: 400; font-size: 16px; position: static; padding-bottom: 1px; background-color: transparent;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;networked computers for     financial gain. (Thousands of infected PC's around the world can all     be used at the same time for an unlawful act.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-1091727399669140718?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/1091727399669140718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=1091727399669140718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/1091727399669140718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/1091727399669140718'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/08/what-is-botnet.html' title='What is BotNet....?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-396996354596165529</id><published>2007-08-24T08:36:00.000-07:00</published><updated>2007-08-24T08:37:23.275-07:00</updated><title type='text'>Microsoft maps out Visual C++ future</title><content type='html'>&lt;span class="artText"&gt;&lt;p&gt;Microsoft's Visual C++ team has been mapping out the future of the development platform, looking to highlight native and managed code capabilities, a Microsoft executive wrote this week.&lt;/p&gt;  &lt;p&gt;"The Visual C++ team has been looking at what they should [feature] in VC++ to ensure that the direction of the product aligns closely with customer needs and market realities," said S. "Soma" Somasegar, corporate vice president of the Microsoft developer division, in his &lt;a href="http://blogs.msdn.com/somasegar/archive/2007/08/08/visual-c-futures.aspx"&gt;blog.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Three things are on the minds of the team: a renewed emphasis on tools for writing native code, extending applications to take advantage of managed functionality and recognition that developers are using C++/CLI (Common Language Infrastructure) to bridge native and managed code. Managed functionality being eyed by the team includes technologies such as &lt;a href="http://msdn2.microsoft.com/en-us/library/ms754130.aspx"&gt;Windows Presentation Foundation&lt;/a&gt; and &lt;a href="http://msdn2.microsoft.com/en-us/library/ms735119.aspx"&gt;Windows Communication Foundation&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;"The team will be significantly increasing support for native development tools," Somasegar said. This involves investigating ways to make C++ developers more efficient in understanding, updating and validating the quality of large native code bases, he said. A front-end rewrite is being worked on to improve IntelliSense capabilities.&lt;/p&gt;  &lt;p&gt;"This same work should pave the way for future enhancements such as refactoring and advanced source code analysis," said Somasegar.&lt;/p&gt;  &lt;p&gt;Native libraries are to be updated to simplify development of rich client user interfaces and access to Windows platform innovation, he said. "Friction-free" interoperability between native and managed code is a goal also. &lt;/p&gt;  &lt;p&gt;Microsoft's new Visual C++ strategy will begin to be reflected in the upcoming &lt;a href="http://www.infoworld.com/article/07/07/13/MS-visualstudio_1.html"&gt;Visual Studio 2008 &lt;/a&gt;development tools platform, which had been codenamed "Orcas" and is due later this year. But most of the changes will occur afterward, said Somasegar. &lt;/p&gt;  &lt;p&gt;"The team is currently kicking around a number of native code and interop features planned for Orcas+1, and we are always interested in hearing from customers," Somasegar said. &lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-396996354596165529?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/396996354596165529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=396996354596165529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/396996354596165529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/396996354596165529'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/08/microsoft-maps-out-visual-c-future.html' title='Microsoft maps out Visual C++ future'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-639293988113442575</id><published>2007-08-17T06:33:00.000-07:00</published><updated>2007-08-17T06:34:51.307-07:00</updated><title type='text'>What is encryption?</title><content type='html'>&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The incredible growth of the Internet has excited businesses and consumers alike with its promise of changing the way we live and work. But a major concern has been just how secure the Internet is, especially when you're sending sensitive information through it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Let's face it, there's a whole lot of information that we don't want other people to see, such as: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Credit-card information &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Social Security numbers &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Private correspondence &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Personal details &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Sensitive company information &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bank-account information &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;    &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Information security is provided on computers and over the Internet by a variety of methods. A simple but straightforward security method is to only keep sensitive information on removable storage media like floppy disks. But the most popular forms of security all rely on &lt;b&gt;encryption&lt;/b&gt;, the process of encoding information in such a way that only the person (or computer) with the &lt;b&gt;key&lt;/b&gt; can decode it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In this article, you will learn about encryption and authentication. You will also learn about public-key and symmetric-key systems, as well as hash algorithms. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h1&gt;Encryption Systems&lt;/h1&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Computer encryption is based on the science of &lt;b&gt;cryptography&lt;/b&gt;, which has been used throughout history. Before the digital age, the biggest users of cryptography were governments, particularly for military purposes. The existence of coded messages has been verified as far back as the &lt;st1:place st="on"&gt;Roman Empire&lt;/st1:place&gt;. But most forms of cryptography in use these days rely on computers, simply because a human-based code is too easy for a computer to crack. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Most computer encryption systems belong in one of two categories: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Symmetric-key encryption &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Public-key encryption &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;h1&gt;Symmetric Key&lt;/h1&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In &lt;b&gt;symmetric-key encryption&lt;/b&gt;, each computer has a secret key (code) that it can use to encrypt a packet of information before it is sent over the network to another computer. Symmetric-key requires that you know which computers will be talking to each other so you can install the key on each one. Symmetric-key encryption is essentially the same as a secret code that each of the two computers must know in order to decode the information. The code provides the key to decoding the message. Think of it like this: You create a coded message to send to a friend in which each letter is substituted with the letter that is two down from it in the alphabet. So "A" becomes "C," and "B" becomes "D". You have already told a trusted friend that the code is "Shift by 2". Your friend gets the message and decodes it. Anyone else who sees the message will see only nonsense.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h1&gt;Public Key&lt;/h1&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Public-key encryption&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; uses a combination of a private key and a public key. The private key is known only to your computer, while the public key is given by your computer to any computer that wants to communicate securely with it. To decode an encrypted message, a computer must use the public key, provided by the originating computer, and its own private key. A very popular public-key encryption utility is called &lt;b&gt;Pretty Good Privacy&lt;/b&gt; (PGP), which allows you to encrypt almost anything. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;To implement public-key encryption on a large scale, such as a secure Web server might need, requires a different approach. This is where &lt;b&gt;digital certificates&lt;/b&gt; come in. A digital certificate is basically a bit of information that says that the Web server is trusted by an independent source known as a &lt;b&gt;certificate authority&lt;/b&gt;. The certificate authority acts as a middleman that both computers trust. It confirms that each computer is in fact who it says it is, and then provides the public keys of each computer to the other. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h1&gt;Public Key: SSL&lt;/h1&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A popular implementation of public-key encryption is the &lt;b&gt;Secure Sockets Layer&lt;/b&gt; (SSL). Originally developed by Netscape, SSL is an Internet security protocol used by Internet browsers and Web servers to transmit sensitive information. SSL has become part of an overall security protocol known as &lt;b&gt;Transport Layer Security&lt;/b&gt; (TLS). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div align="center"&gt;  &lt;table class="MsoNormalTable" style="width: 300pt;" border="0" cellpadding="0" cellspacing="0" width="400"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1026" type="#_x0000_t75" alt="" style="'width:198pt;height:90pt'"&gt;    &lt;v:imagedata src="file:///C:\DOCUME~1\E521-2\LOCALS~1\Temp\msohtml1\01\clip_image002.jpg" href="http://static.howstuffworks.com/gif/encryption2.jpg"&gt;   &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;img src="file:///C:/DOCUME%7E1/E521-2/LOCALS%7E1/Temp/msohtml1/01/clip_image002.jpg" shapes="_x0000_i1026" height="120" width="264" /&gt;&lt;!--[endif]--&gt;&lt;br /&gt;  &lt;b&gt;Look for the "s" after "http" in the address whenever   you are about to enter sensitive information, such as a credit-card number,   into a form on a Web site.&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In your browser, you can tell when you are using a secure protocol, such as TLS, in a couple of different ways. You will notice that the "http" in the address line is replaced with "https," and you should see a small padlock in the status bar at the bottom of the browser window. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div align="center"&gt;  &lt;table class="MsoNormalTable" style="width: 300pt;" border="0" cellpadding="0" cellspacing="0" width="400"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1027" type="#_x0000_t75" alt="" style="'width:154.5pt;height:42.75pt'"&gt;    &lt;v:imagedata src="file:///C:\DOCUME~1\E521-2\LOCALS~1\Temp\msohtml1\01\clip_image003.jpg" href="http://static.howstuffworks.com/gif/encryption3.jpg"&gt;   &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;img src="file:///C:/DOCUME%7E1/E521-2/LOCALS%7E1/Temp/msohtml1/01/clip_image003.jpg" shapes="_x0000_i1027" height="57" width="206" /&gt;&lt;!--[endif]--&gt;&lt;br /&gt;  &lt;b&gt;The padlock symbol lets you know that you are using encryption.&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Public-key encryption takes a lot of computing, so most systems use a combination of public-key and symmetry. When two computers initiate a secure session, one computer creates a symmetric key and sends it to the other computer using public-key encryption. The two computers can then communicate using symmetric-key encryption. Once the session is finished, each computer discards the symmetric key used for that session. Any additional sessions require that a new symmetric key be created, and the process is repeated. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h1&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/h1&gt;  &lt;h1&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/h1&gt;  &lt;h1&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/h1&gt;  &lt;h1&gt;Hashing Algorithms&lt;/h1&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The key in public-key encryption is based on a &lt;b&gt;hash value&lt;/b&gt;. This is a value that is computed from a base input number using a &lt;b&gt;hashing algorithm&lt;/b&gt;. Essentially, the hash value is a summary of the original value. The important thing about a hash value is that it is nearly impossible to derive the original input number without knowing the data used to create the hash value. Here's a simple example: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div align="center"&gt;  &lt;table class="MsoNormalTable" style="width: 300pt;" border="1" cellpadding="0" cellspacing="0" width="400"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Input   number&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Hashing   algorithm&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Hash   value&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;10,667&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Input   # x 143&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1,525,381&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;You can see how hard it would be to determine that the value 1,525,381 came from the multiplication of 10,667 and 143. But if you knew that the multiplier was 143, then it would be very easy to calculate the value 10,667. Public-key encryption is actually much more complex than this example, but that is the basic idea. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Public keys generally use complex algorithms and very large hash values for encrypting, including 40-bit or even 128-bit numbers. A 128-bit number has a possible 2&lt;/span&gt;&lt;sup&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;128&lt;/span&gt;&lt;/sup&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;or &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;3,402,823,669,209,384,634,633,746,074,300,000,000,000,000,000,000,000,000,000,000,000,000 different combinations! This would be like trying to find one particular grain of sand in the &lt;st1:place st="on"&gt;&lt;st1:placename st="on"&gt;Sahara&lt;/st1:PlaceName&gt;  &lt;st1:placetype st="on"&gt;Desert&lt;/st1:PlaceType&gt;&lt;/st1:place&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h1&gt;Authentication&lt;/h1&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;As stated earlier, encryption is the process of taking all of the data that one computer is sending to another and encoding it into a form that only the other computer will be able to decode. Another process, &lt;b&gt;authentication&lt;/b&gt;, is used to verify that the information comes from a trusted source. Basically, if information is "authentic," you know who created it and you know that it has not been altered in any way since that person created it. These two processes, encryption and authentication, work hand-in-hand to create a secure environment. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;There are several ways to authenticate a person or information on a computer: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Password&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; - The use of a user name and password provides      the most common form of authentication. You enter your name and password      when prompted by the computer. It checks the pair against a secure file to      confirm. If either the name or the password does not match, then you are      not allowed further access. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Pass cards&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; - These cards can range from a simple card      with a magnetic strip, similar to a credit card, to sophisticated smart      cards that have an embedded computer chip. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Digital signatures&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; - A digital signature is      basically a way to ensure that an electronic document (e-mail,      spreadsheet, text file) is authentic. The &lt;b&gt;Digital Signature Standard&lt;/b&gt;      (DSS) is based on a type of public-key encryption method that uses the &lt;b&gt;Digital      Signature Algorithm&lt;/b&gt; (DSA). DSS is the format for digital signatures      that has been endorsed by the &lt;st1:country-region st="on"&gt;&lt;st1:place st="on"&gt;U.S.&lt;/st1:place&gt;&lt;/st1:country-region&gt; government. The DSA      algorithm consists of a private key, known only by the originator of the      document (the signer), and a public key. The public key has four parts. If      anything at all is changed in the document after the digital signature is      attached to it, it changes the value that the digital signature compares      to, rendering the signature invalid. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Recently, more sophisticated forms of authentication have begun to show up on home and office computer systems. Most of these new systems use some form of &lt;b&gt;biometrics&lt;/b&gt; for authentication. Biometrics uses biological information to verify identity. Biometric authentication methods include: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Fingerprint scan &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Retina scan &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Face scan &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Voice identification &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;h1&gt;Checking for Corruption&lt;/h1&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Another secure-computing need is to ensure that the data has not been corrupted during transmission or encryption. There are a couple of popular ways to do this: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Checksum&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; - Probably one of the oldest methods of      ensuring that data is correct, checksums also provide a form of authentication      because an invalid checksum suggests that the data has been compromised in      some fashion. A checksum is determined in one of two ways. Let's say the      checksum of a packet is 1 byte long. A byte is made up of 8 bits, and each      bit can be in one of two states, leading to a total of 256 (2&lt;/span&gt;&lt;sup&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;8 &lt;/span&gt;&lt;/sup&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;) possible combinations.      Since the first combination equals zero, a byte can have a maximum value      of 255. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul type="square"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If the sum of the other       bytes in the packet is 255 or less, then the checksum contains that exact       value. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If the sum of the other       bytes is more than 255, then the checksum is the remainder of the total       value after it has been divided by 256. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Let's look at a checksum example: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div align="center"&gt;  &lt;table class="MsoNormalTable" style="width: 300pt;" border="1" cellpadding="0" cellspacing="0" width="400"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Byte   1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Byte   2&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Byte   3&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Byte   4&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Byte   5&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Byte   6&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Byte   7&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Byte   8&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Total&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Checksum&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;212&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;232&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;54&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;135&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;244&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;15&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;179&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;80&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1,151&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;127&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1,151 / 256 = 4.496 (round to 4)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;4 x 256 = 1,024&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1,151 - 1,024 = 127&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Cyclic Redundancy Check&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; (CRC) - CRCs are similar in      concept to checksums, but they use polynomial division to determine the      value of the CRC, which is usually 16 or 32 bits in length. The good thing      about CRC is that it is very accurate. If a single bit is incorrect, the      CRC value will not match up. Both checksum and CRC are good for preventing      random errors in transmission but provide little protection from an intentional      attack on your data. Symmetric- and public-key encryption techniques are      much more secure. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;All of these various processes combine to provide you with the tools you need to ensure that the information you send or receive over the Internet is secure. In fact, sending information over a computer network is often much more secure than sending it any other way. Phones, especially cordless phones, are susceptible to eavesdropping, particularly by unscrupulous people with radio scanners. Traditional mail and other physical mediums often pass through numerous hands on the way to their destination, increasing the possibility of corruption. Understanding encryption, and simply making sure that any sensitive information you send over the Internet is secure (remember the "https" and padlock symbol), can provide you with greater peace of mind. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-639293988113442575?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/639293988113442575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=639293988113442575' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/639293988113442575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/639293988113442575'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/08/what-is-encryption.html' title='What is encryption?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-1561938773584638783</id><published>2007-07-29T23:56:00.000-07:00</published><updated>2007-07-29T23:58:24.747-07:00</updated><title type='text'>Safty measures to use internet with atmost care....</title><content type='html'>&lt;div class="Section1"&gt;  &lt;p&gt;&lt;span style="font-size: 16pt; font-family: Verdana; color: green;"&gt;Ten thumb rules followed during internet access &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;It may sound clichéd to hear that Internet is the future. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;However, despite the potential and prospects of the medium, many people scared to use it due to security fears (I know my friend will not use internet banking with ICICI and Punjab national bank where has the online accounting facility). At the same time, those who use the Internet often fumble when it comes to security. Here are 10 thumb rules to keep your personal information secure when online. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;Favor common sense over technological solutions. Keep personal documents safe, preferably in a locked drawer. Shred bank statements, credit card slips and bills before throwing them away. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Rule 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt; &lt;/span&gt;  &lt;div class="Section2"&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Never open unsolicited "spam" messages. Delete e-mails offering cash, free gifts or stock tips. Millions of unsolicited "spam" messages are sent every day in an attempt to defraud computer users. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt; &lt;/span&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Rule 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Basic prevention helps. Protect your computer against identity theft. Install security &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;software to combat viruses, spy ware and spam and keep it updated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;  &lt;span style=""&gt;        &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Rule 3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Know enough about your firewall, the barrier between the public Internet and a personal computer, to know when it is working and when it isn't. Don't worry about the geeky complexity of it all, just know it's operating.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Rule 4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Beware of "phishing", where criminals trick people into revealing personal or financial &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;details, often by sending e-mails purporting to be from a bank. Never casually reply &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;to requests for your personal financial details. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Rule 5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Keep your private e-mail address secure. Consider using different e-mail accounts for &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;shopping, banking, friends and work. There are many free account providers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;span style=""&gt;         &lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Rule 6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do not use the same password for different sites. Choose passwords with a mix of letters, numbers and symbols. Don't use obvious passwords, such as your first name or "123456" and don't write them down. For memory's sake, choosing a basic root word, then rotating numbers, is safer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Rule 7&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Make online payments safely. Never enter a card number unless there is a padlock in the Web browser's frame, rather than the Web page. The Web address should begin with "https" -- the extra "S" stands for "secure". Consider reserving one credit card for Web use or signing up for a separate online payment service like PayPal. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;span style=""&gt;         &lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Rule 8&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Secure your wireless network at home and be wary when using public access points. Encrypt the connection to scramble communications over the network. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Rule 9&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Turn off the wireless network when you're not using it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Rule 10&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Treat your laptop computer like cash -- never leave it in a locked car or turn your back while using it in a public place. The same holds true with your mobile phone: Lock your phone (and any passwords you keep on it) when not using it. &lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-1561938773584638783?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/1561938773584638783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=1561938773584638783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/1561938773584638783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/1561938773584638783'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/07/safty-measures-to-use-internet-with.html' title='Safty measures to use internet with atmost care....'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-7975998072886809011</id><published>2007-07-26T06:06:00.000-07:00</published><updated>2007-07-26T06:07:11.638-07:00</updated><title type='text'>How do I get Visual Studio to recognize .cc files as c++ source files?</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Use the &lt;span style="color: rgb(255, 102, 0);"&gt;/Tp&lt;/span&gt; option of the compiler to instruct it to assume the file is C++. You can put this in as a custom build rule, or modify some registry settings to add .cc to the list of file extensions recognized as C++. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The key to modify is:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;HKEY_CURRENT_USER\Software\Microsoft\DevStudio\X.0\Build System\Components\Platforms\Win32 (x86)\Tools\32-bit C/C++\Input_Spec&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Build System\Components\Tools\&lt;component&gt;\Input_Spec&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;where &lt;span style="color: rgb(255, 102, 0);"&gt;X is the DevStudio version (5 or 6).&lt;/span&gt; You'll probably want to modify the following key to get automatic source code syntax coloring:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;HKEY_CURRENT_USER\Software\Microsoft\DevStudio\X.0\Text Editor\Tabs/Language Settings\C/C++\FileExtensions&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;This method is nicer because it will save you a lot of work setting up the custom build rules. However, you still have to add the /TP switch manually to the Project Settings to get the compiler to fully recognize the file as C++. The downside: You won't be able to mix C and C++ files in the project, in which case, the only option is using custom build rules. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: red;"&gt;IMPORTANT:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; This procedure contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article numbers to view the Microsoft Knowledge Base articles:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;256986" target="_blank"&gt;256986&lt;/a&gt; - Description of the Microsoft Windows Registry&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;322756" target="_blank"&gt;322756&lt;/a&gt; - HOW TO: Back Up, Edit, and Restore the Registry in Windows XP.&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-7975998072886809011?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/7975998072886809011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=7975998072886809011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/7975998072886809011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/7975998072886809011'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/07/how-do-i-get-visual-studio-to-recognize.html' title='How do I get Visual Studio to recognize .cc files as c++ source files?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-4099562073254228554</id><published>2007-07-25T22:42:00.001-07:00</published><updated>2007-07-25T22:43:04.982-07:00</updated><title type='text'>Next Windows Operating System name is Windows version 7</title><content type='html'>&lt;p class="MsoNormal" style="margin: 5pt 0cm;"&gt;&lt;span style="font-size: 16pt; font-family: Verdana; color: green;"&gt;New Microsoft OS name “Windows Version 7”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 5pt 0cm;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 5pt 0cm;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Software giant Microsoft is planning to ship its next major version of Windows -- currently known as version &lt;span style="color: rgb(255, 102, 0);"&gt;"7"&lt;/span&gt; internally -- within three years, according to media reports&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; A Microsoft representative was quoted as saying that "Microsoft is scoping&lt;span style="color: rgb(255, 102, 0);"&gt; Windows 7 development&lt;/span&gt; to a &lt;span style="color: rgb(255, 102, 0);"&gt;three-year time frame&lt;/span&gt;." Interestingly, a subscription model is also being considered for the future Windows.&lt;br /&gt;&lt;br /&gt;The acknowledgment follows last week's conference of the software giant's sales force, Microsoft's Global Exchange, held in &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Orlando&lt;/st1:place&gt;&lt;/st1:City&gt; to outline the company's post-Vista future.&lt;br /&gt;&lt;br /&gt;"Microsoft is scoping &lt;span style="color: rgb(255, 102, 0);"&gt;Windows '7'&lt;/span&gt; development to a three-year timeframe, and then the specific release date will ultimately be determined by meeting the quality bar," the representative said.&lt;br /&gt;&lt;br /&gt;"In the meantime, Microsoft is dedicated to helping customers deploy and get the most business value from their PCs using Windows Vista and related technologies like the Microsoft Desktop Optimization Pack, and we're encouraged by the response and adoption of these products so far."&lt;br /&gt;&lt;br /&gt;Very few details are currently available about plans for the new OS other than that it will have &lt;span style="color: rgb(255, 102, 0);"&gt;32- and 64-bit versions&lt;/span&gt; and will ship in consumer and business editions like &lt;st1:place st="on"&gt;Vista&lt;/st1:place&gt;.&lt;br /&gt;&lt;br /&gt;Microsoft said the outline of &lt;span style="color: rgb(255, 102, 0);"&gt;Windows 7&lt;/span&gt; was provided particularly for corporate customers who are part of the software maker's Software Assurance licensing program. Many business customers pay for Microsoft's software under a license agreement called Software Assurance.&lt;br /&gt;&lt;br /&gt;Microsoft has been criticized by business customers for delays related to &lt;st1:place st="on"&gt;Vista&lt;/st1:place&gt;. &lt;st1:place st="on"&gt;Vista&lt;/st1:place&gt; development was marked by numerous delays as Microsoft moved the release date. The entire development of &lt;st1:place st="on"&gt;Vista&lt;/st1:place&gt; spanned five years until its eventual release in November 2006 for businesses and January 2007 for consumers.&lt;br /&gt;&lt;br /&gt;According to media reports, Microsoft seems to be trying hard to reassure customers about its development cycle after a recent Forrester study that criticized its business-oriented subscription program (Software Assurance). The study raised questions about the financial benefits of Software Assurance program.&lt;br /&gt;&lt;br /&gt;Software Assurance is the Microsoft program that allows customers with volume licenses for Windows automatically get upgrades when new versions come out.&lt;br /&gt;&lt;br /&gt;In fact, according to a new Gartner report, &lt;span style="color: green;"&gt;Microsoft is making several business tools available only via Software Assurance, and Gartner expects this trend to continue.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-4099562073254228554?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/4099562073254228554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=4099562073254228554' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/4099562073254228554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/4099562073254228554'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/07/next-windows-operating-system-name-is.html' title='Next Windows Operating System name is Windows version 7'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-5834260696160054186</id><published>2007-07-21T04:09:00.000-07:00</published><updated>2007-07-21T04:10:16.689-07:00</updated><title type='text'>User level secruity in Mac OS X</title><content type='html'>&lt;p class="title"&gt;&lt;span style="font-size: 16pt; font-family: Verdana; color: green;"&gt;OS 10.4 Security Tip&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;I would like to shed some light on the different types of user accounts that can be created and operated in OS 10.4. Knowledge of the different account types can help keep your computer secure.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="subhead"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;User&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The User account is the least privileged account. It allows a user to modify settings for his/her own account but not for others and cannot modify the universal settings. For multiple users of a single system you can further limit user accounts to prevent them from changing system preferences, removing items from the Dock, changing passwords, burning CDs or DVDs or using some installed applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="subhead"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;Admin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The Admin account can perform many of the operations normally associated with the root user. An Admin account can add or delete User files, but typically cannot otherwise modify the contents of the User file. Admin accounts can modify the System folder by using the Installer or Software Update applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="subhead"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;Root&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The &lt;span style="color: green;"&gt;Root&lt;/span&gt; user is a &lt;span style="color: green;"&gt;superuser (su)&lt;/span&gt;, which has full permissions for anything. Root users can execute any file and can access, read, modify or delete any file in any directory. Unlike most UNIX systems this &lt;span style="color: green;"&gt;superuser&lt;/span&gt; Root access is turned off by default and most Mac users will never have to access Root. This protects your Mac from those that might do damage by acting as a root user.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Every user on every computer should have a password assigned to him or her. Many people are always logged into the Admin account by default, which is a security risk.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;For an extra level of security, you can do what Morgan at Small Dog does - he creates an Admin account, and then creates his own non- admin user account for himself to use. The Admin account is the first account he creates on his computer, and then he creates the user account. You create the secondary user account in "&lt;span style="color: green;"&gt;Accounts&lt;/span&gt;" in "&lt;span style="color: green;"&gt;System Preferences&lt;/span&gt;." Here's how we do it:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="1" type="1"&gt;&lt;li class="MsoNormal" style="color: rgb(255, 102, 0); margin-bottom: 12pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Browse to System Preferences      &gt; Accounts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(255, 102, 0); margin-bottom: 12pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Create a new user, with a new      name and password.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(255, 102, 0); margin-bottom: 12pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Click on the button that      says, "Allow user to administer this computer."&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(255, 102, 0); margin-bottom: 12pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Select your previous Account.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(255, 102, 0);"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;De-select the button that      says, "Allow user to administer this computer." The non-Admin      will have all the data, bookmarks, and software that were created when it      was an Admin Account. The Admin won't have this data, but in most cases      should not need it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Even if you've always been logged into your computer as an Admin, it's not too late to go back and demote yourself to user with the instructions above.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If you need both users to have access to all data, there may be some UNIX script that would allow you to do that.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Let me know if you have any other suggestions or queries!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-5834260696160054186?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/5834260696160054186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=5834260696160054186' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/5834260696160054186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/5834260696160054186'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/07/user-level-secruity-in-mac-os-x.html' title='User level secruity in Mac OS X'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-2298573886305212573</id><published>2007-07-20T02:18:00.000-07:00</published><updated>2007-07-20T02:19:14.552-07:00</updated><title type='text'>Zapping PRAM in Macintosh.....</title><content type='html'>&lt;p class="title"&gt;&lt;span style="font-size: 16pt; font-family: Verdana;"&gt;What is Zapping &lt;span style="color: green;"&gt;PRAM&lt;/span&gt; in Mac OS X?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="title"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Sometimes we may heard Macintosh computer technicians say a computer needs its &lt;span style="color: green;"&gt;PRAM&lt;/span&gt; zapped. For most of us, this sounds very odd, and maybe even a little obscene. But don't worry; it's a standard part of the Mac troubleshooting routine.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;PRAM&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; stands for "&lt;span style="color: green;"&gt;parameter random access memory&lt;/span&gt;." A document in Apple's knowledge base reads:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;"&lt;span style="color: green;"&gt;PRAM&lt;/span&gt; stores certain system and device settings in a location that Mac OS X can access quickly. Exactly which settings are stored in the computer's &lt;span style="color: green;"&gt;PRAM&lt;/span&gt; varies depending on the type of computer as well as the types of devices and drives connected to the computer. Parameter RAM is a small area of non-volatile RAM (NVRAM)."&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Because PRAM is "Non-volatile RAM," it will store data even when the computer is turned off. It will also typically store data when the computer automatically shuts off due to severe battery drain.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;According to Apple, some of the data stored in PRAM includes:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style="color: green;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Display and video settings      such as refresh rate, screen resolution, number of colors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: green;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Time zone setting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: green;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Startup volume choice&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: green;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Speaker volume&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: green;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Recent kernel panic      information, if any exist&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: green;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;DVD region setting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Many issues can be resolved by "zapping the &lt;span style="color: green;"&gt;PRAM&lt;/span&gt;." This includes issues such as Macs that are flashing a question mark when powered on, to missing pictures on the iMac G5's display, to computers that simply won't power up at all. &lt;span style="color: green;"&gt;PRAM&lt;/span&gt; can be corrupted by faulty (typically third party) software, power surges, and electromagnetic interference.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In most Macs you can "zap the pram" by powering the computer on, then immediately holding down the Command, Option, P, and R keys simultaneously. The Command key is the one with the cloverleaf or Apple on it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;According to Apple, OS X does not store network settings in &lt;span style="color: green;"&gt;PRAM&lt;/span&gt;. If you experience a network issue, resetting &lt;span style="color: green;"&gt;PRAM&lt;/span&gt; will not help.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If &lt;span style="color: green;"&gt;PRAM&lt;/span&gt; is reset, you may need to verify your time zone, startup volume, and volume settings using System Preferences. Certain firmware updates may reset &lt;span style="color: green;"&gt;PRAM&lt;/span&gt; as a normal part of their installation process."&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Note that zapping PRAM is different than resetting the Power Management Unit (PMU,) which you might have to do on certain Apple laptops.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Apple says "A PMU reset should not be necessary except as a last resort in cases where a hardware failure of the power management system is suspected. Performing a PMU reset returns the iBook and PowerBook hardware, including NVRAM, to default settings and forces the computer to shut down."&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-2298573886305212573?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/2298573886305212573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=2298573886305212573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/2298573886305212573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/2298573886305212573'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/07/zapping-pram-in-macintosh.html' title='Zapping PRAM in Macintosh.....'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-6953882918124021579</id><published>2007-07-13T03:10:00.000-07:00</published><updated>2007-07-13T03:11:57.958-07:00</updated><title type='text'>Useful Microsoft outlook tips for real time users</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 18pt; font-family: Arial; color: green;"&gt;Microsoft Outlook TIPS AND TRICKS&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;Collection of tips for getting around in Outlook focuses on using multiple Outlook windows and controlling how Outlook starts up.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-size: 14pt; font-family: Arial; color: green;"&gt;Opening a New Window on Outlook&lt;/span&gt;&lt;/b&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If one Information Viewer is nice, would two be twice as nice? Possibly, where you’re dragging many items from one folder to another or want to see two different views of the same information. Or maybe you want to leave your Inbox right where you stopped reading messages, but take a quick look at another folder.&lt;br /&gt;&lt;br /&gt;To open a folder in a new window, right-click on the folder name in the Folder List, in the Folder Banner above the Information Viewer, or on the Outlook Bar, then choose Open in New Window.&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-size: 14pt; font-family: Arial; color: green;"&gt;Opening Outlook to a Particular Folder&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;It’s possible to launch Outlook so that it always opens to a particular Outlook or system folder. Choose Tools, Options, then select from the “Startup in this folder” list on the General tab.&lt;br /&gt;&lt;br /&gt;Another method is to start Outlook from a shortcut with a special command. Create a shortcut to the Outlook.exe program. (A quick way to do this is to right-click the Outlook icon on the desktop, then choose Create Shortcut.) In the Properties dialog box for the new shortcut, type a space after the command in the Target box, then add the path to the folder you want to open, enclosed in quotation marks. If you run one of these shortcuts when Outlook is already started, the folder opens in its own window, without the Outlook Bar or Folder List.&lt;br /&gt;&lt;br /&gt;To specify an Outlook folder path, use “Outlook:” followed by the folder name. For example,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;span style=""&gt;  &lt;/span&gt;"C:\Program Files\Microsoft Office\Office\Outlook.exe"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;span style=""&gt;  &lt;/span&gt;"Outlook:Calendar"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;would open the Calendar folder. Of course, you might need to adjust the path to Outlook.exe to match the way your system is set up. You can use this technique not just for the initial launch of Outlook, but also to create shortcuts to other folders you’d like to use in their own windows.&lt;br /&gt;&lt;br /&gt;Another use for this method is to open system folders. For example,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: Verdana;"&gt; &lt;span style="color: green;"&gt;"C:\Program Files\Microsoft Office\Office\Outlook.exe"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: Verdana; color: green;"&gt; "C:\My Documents"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;would open the My Documents folder on your C: drive. You won’t be prompted for your Outlook profile.&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 14pt; font-family: Arial; color: green;"&gt;Starting Outlook with Command Line Switches&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;There are also several switches for creating new items, starting with a particular profile, or cleaning up the Outlook Bar. You can add any of the switches listed in the following table&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="background: rgb(238, 238, 238) none repeat scroll 0% 50%; width: 100%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" border="1" cellpadding="0" cellspacing="0" width="100%"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td colspan="3" style="padding: 3.75pt; background: rgb(136, 136, 136) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;TABLE 9.3: OUTLOOK   COMMAND LINE SWITCHES&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Hide the Outlook Bar &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/folder &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Always open the Choose Profiles dialog box&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/profiles &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Start Outlook with a specific profile&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/profile “&lt;profile&gt;” &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Create an e-mail message&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/c ipm.note &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Create a post&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/c ipm.post &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Create an appointment&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/c ipm.appointment &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Create a task&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/c ipm.task &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Create a contact&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/c ipm.contact &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Create a journal entry&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/c ipm.activity &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Create a note&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/c ipm.stickynote &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Create an item with the specified message class&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/c &lt;message&gt; &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Create a message with the specified file as an attachment   (To create an item other than a message, use with a /c switch.)&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/a “&lt;path\file&gt;” &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Create a message from a file that’s dragged and dropped on   the shortcut&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/c ipm.note “%1” &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Create a message addressed to a particular recipient&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/c ipm.note /m “&lt;recipient&gt;” &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Clean and regenerate free/busy information (for Microsoft   Exchange Server only)&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/CleanFreeBusy &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Restore missing folders for the default information store&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/ResetFolders &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Rebuild the Outlook Bar&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/ResetOutlookBar &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Clean and regenerate reminders&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/Cleanreminders &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border: medium none ; padding: 3.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;with the “&lt;b style=""&gt;&lt;span style="color: green;"&gt;C:\Program Files\Microsoft Office\Office\Outlook.exe&lt;/span&gt;&lt;/b&gt;” command in a shortcut. Where quotation marks are shown, they must be included in the command. For items in angle brackets, substitute the specific information, such as the specific profile name to be used as the &lt;b style=""&gt;&lt;span style="color: green;"&gt;/profile&lt;/span&gt;&lt;/b&gt; switch.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-size: 14pt; font-family: Arial; color: green;"&gt;Activating the Horizontal Scroll Bar&lt;/span&gt;&lt;/b&gt;&lt;b style=""&gt;&lt;span style="font-size: 14pt; font-family: Verdana; color: green;"&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style=""&gt;&lt;span style="font-size: 14pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Normally, the Information Viewer does not display a horizontal scroll bar, but instead adjusts the width of all columns to fit into the available space. If you prefer to set specific column widths and scroll the display to see all the information, choose View, Format View. In the Format Table View dialog box &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:366.75pt;"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\E521-2\LOCALS~1\Temp\msohtml1\01\clip_image001.gif" title="blog1"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;img src="file:///C:/DOCUME%7E1/E521-2/LOCALS%7E1/Temp/msohtml1/01/clip_image001.gif" shapes="_x0000_i1025" height="384" width="489" /&gt;&lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;clear the box for “&lt;span style="color: green;"&gt;Automatic column sizing&lt;/span&gt;.” The horizontal scroll bar then appears in the Information Viewer.&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-6953882918124021579?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/6953882918124021579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=6953882918124021579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/6953882918124021579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/6953882918124021579'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/07/useful-microsoft-outlook-tips-for-real.html' title='Useful Microsoft outlook tips for real time users'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-2065548564470741485</id><published>2007-07-11T22:35:00.000-07:00</published><updated>2007-07-11T22:40:18.023-07:00</updated><title type='text'>What is Bitwise operators and how it works....?</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 16pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Bitwise (Boolean) logic operators&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="color: green;"&gt;  &lt;hr align="center" size="2" width="100%"&gt;  &lt;/span&gt;&lt;/div&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Because microcontrollers store numbers in binary, it is possible to use a special kind of operator on data.  These operators are described as Bitwise logic, because they obtain results based on the logical relationships of individual bits.  Bitwise logic is also known as Boolean logic or Boolean math.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;There are 7 Bitwise operators:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="1" cellpadding="0" cellspacing="1"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0.75pt; width: 36%;" valign="top" width="36%"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;PICBASIC Operator&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt; width: 64%;" valign="top" width="64%"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Description&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt; width: 36%;" valign="top" width="36%"&gt;   &lt;p style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;~&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt; width: 64%;" valign="top" width="64%"&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bitwise NOT&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt; width: 36%;" valign="top" width="36%"&gt;   &lt;p style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&amp;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt; width: 64%;" valign="top" width="64%"&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bitwise AND&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt; width: 36%;" valign="top" width="36%"&gt;   &lt;p style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;|&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt; width: 64%;" valign="top" width="64%"&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bitwise OR&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt; width: 36%;" valign="top" width="36%"&gt;   &lt;p style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;^&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt; width: 64%;" valign="top" width="64%"&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bitwise Exclusive OR (XOR)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt; width: 36%;" valign="top" width="36%"&gt;   &lt;p style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&amp;/&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt; width: 64%;" valign="top" width="64%"&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bitwise NOT AND (NAND)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt; width: 36%;" valign="top" width="36%"&gt;   &lt;p style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;|/&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt; width: 64%;" valign="top" width="64%"&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bitwise NOT OR (NOR)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt; width: 36%;" valign="top" width="36%"&gt;   &lt;p style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;^/&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt; width: 64%;" valign="top" width="64%"&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bitwise NOT Exclusive OR (XNOR)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The simplest of these is the NOT (~) operator.  It returns the logical opposite of the tested bit.  This operator is unique in that it only requires 1 bit as input.  All the other operators require 2 bits.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;  &lt;hr align="center" size="2" width="100%"&gt;  &lt;/span&gt;&lt;/div&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Using Bitwise operators on individual bits&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 435.05pt;" border="0" cellpadding="0" cellspacing="0" width="580"&gt;  &lt;tbody&gt;&lt;tr style="height: 152.55pt;"&gt;   &lt;td style="padding: 2.25pt; height: 152.55pt;"&gt;   &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;NOT (~)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;When describing the   function of Bitwise operations, we use a diagram call a "truth   table".  It shows the input bit (or bits) on the left, and the   result on the right.  Since the NOT operator only has one input, the   truth table looks like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;table class="MsoNormalTable" style="width: 295.85pt; margin-left: 0.25pt;" border="0" cellpadding="0" cellspacing="0" width="394"&gt;    &lt;tbody&gt;&lt;tr style="height: 52.95pt;"&gt;     &lt;td style="padding: 2.25pt; height: 52.95pt;" valign="top"&gt;     &lt;table class="MsoNormalTable" style="border: 1.5pt outset ; width: 149.5pt; margin-left: 0.3pt;" border="1" cellpadding="0" cellspacing="0" width="199"&gt;      &lt;tbody&gt;&lt;tr style="height: 11.15pt;"&gt;       &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; width: 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.15pt;" width="50%"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; width: 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.15pt;" width="50%"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;~A&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;      &lt;tr style="height: 11.15pt;"&gt;       &lt;td style="padding: 2.25pt; width: 50%; height: 11.15pt;" width="50%"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; width: 50%; height: 11.15pt;" width="50%"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;      &lt;tr style="height: 11.15pt;"&gt;       &lt;td style="padding: 2.25pt; width: 50%; height: 11.15pt;" width="50%"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; width: 50%; height: 11.15pt;" width="50%"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;     &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; width: 37.35pt; height: 52.95pt;" valign="top" width="50"&gt;     &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 52.95pt;" valign="top"&gt;     &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;PICBASIC     example: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;result = ~ A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; display: none;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 435.05pt;" border="0" cellpadding="0" cellspacing="0" width="580"&gt;  &lt;tbody&gt;&lt;tr style="height: 213.4pt;"&gt;   &lt;td style="padding: 2.25pt; height: 213.4pt;"&gt;   &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AND (&amp;)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;AND compares 2 bits and   returns logic high only if both input bits are high.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;table class="MsoNormalTable" style="width: 328.65pt; margin-left: 0.25pt;" border="0" cellpadding="0" cellspacing="0" width="438"&gt;    &lt;tbody&gt;&lt;tr style="height: 7.25pt;"&gt;     &lt;td style="padding: 2.25pt; height: 7.25pt;" valign="top"&gt;     &lt;table class="MsoNormalTable" style="border: 1.5pt outset ; width: 166.05pt; margin-left: 0.3pt;" border="1" cellpadding="0" cellspacing="0" width="221"&gt;      &lt;tbody&gt;&lt;tr style="height: 7.25pt;"&gt;       &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A &amp; B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;      &lt;tr style="height: 7.25pt;"&gt;       &lt;td style="padding: 2.25pt; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;      &lt;tr style="height: 7.25pt;"&gt;       &lt;td style="padding: 2.25pt; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;      &lt;tr style="height: 7.25pt;"&gt;       &lt;td style="padding: 2.25pt; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;      &lt;tr style="height: 7.25pt;"&gt;       &lt;td style="padding: 2.25pt; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 7.25pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;     &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; width: 41.5pt; height: 7.25pt;" valign="top" width="55"&gt;     &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 7.25pt;" valign="top"&gt;     &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;PICBASIC     example: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;result = A &amp; B&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; display: none;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 434.95pt;" border="0" cellpadding="0" cellspacing="0" width="580"&gt;  &lt;tbody&gt;&lt;tr style="height: 174.8pt;"&gt;   &lt;td style="padding: 2.25pt; height: 174.8pt;"&gt;   &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;OR (|)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;OR compares 2 bits and   returns a logic high if either or both inputs are high.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;table class="MsoNormalTable" style="width: 329.9pt; margin-left: 0.25pt;" border="0" cellpadding="0" cellspacing="0" width="440"&gt;    &lt;tbody&gt;&lt;tr style="height: 92.95pt;"&gt;     &lt;td style="padding: 2.25pt; height: 92.95pt;" valign="top"&gt;     &lt;table class="MsoNormalTable" style="border: 1.5pt outset ; width: 166.7pt; margin-left: 0.3pt;" border="1" cellpadding="0" cellspacing="0" width="222"&gt;      &lt;tbody&gt;&lt;tr style="height: 11.9pt;"&gt;       &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.9pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.9pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.9pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A | B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;      &lt;tr style="height: 11.9pt;"&gt;       &lt;td style="padding: 2.25pt; height: 11.9pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 11.9pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 11.9pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;      &lt;tr style="height: 11.9pt;"&gt;       &lt;td style="padding: 2.25pt; height: 11.9pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 11.9pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 11.9pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;      &lt;tr style="height: 11.9pt;"&gt;       &lt;td style="padding: 2.25pt; height: 11.9pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 11.9pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 11.9pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;      &lt;tr style="height: 12.65pt;"&gt;       &lt;td style="padding: 2.25pt; height: 12.65pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 12.65pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td style="padding: 2.25pt; height: 12.65pt;"&gt;       &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;     &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; width: 41.65pt; height: 92.95pt;" valign="top" width="56"&gt;     &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 92.95pt;" valign="top"&gt;     &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;PICBASIC     example: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;result = A | B&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;XOR (^)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;XOR compares 2 bits and returns logic high only if a single input is high.  If both inputs are high, it returns logic low&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 435.1pt;" border="0" cellpadding="0" cellspacing="0" width="580"&gt;  &lt;tbody&gt;&lt;tr style="height: 94.45pt;"&gt;   &lt;td style="padding: 2.25pt; height: 94.45pt;" valign="top"&gt;   &lt;table class="MsoNormalTable" style="border: 1.5pt outset ; width: 219.85pt; margin-left: 1.25pt;" border="1" cellpadding="0" cellspacing="0" width="293"&gt;    &lt;tbody&gt;&lt;tr style="height: 12.1pt;"&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 12.1pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 12.1pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 12.1pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A ^ B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 12.1pt;"&gt;     &lt;td style="padding: 2.25pt; height: 12.1pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 12.1pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 12.1pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 12.1pt;"&gt;     &lt;td style="padding: 2.25pt; height: 12.1pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 12.1pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 12.1pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 12.1pt;"&gt;     &lt;td style="padding: 2.25pt; height: 12.1pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 12.1pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 12.1pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 12.85pt;"&gt;     &lt;td style="padding: 2.25pt; height: 12.85pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 12.85pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 12.85pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt; width: 54.95pt; height: 94.45pt;" valign="top" width="73"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt; height: 94.45pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;PICBASIC   example: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;result = A ^ B&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;NAND (&amp;/)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;NAND compares 2 bits and returns logic low if both inputs are high.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 435.1pt;" border="0" cellpadding="0" cellspacing="0" width="580"&gt;  &lt;tbody&gt;&lt;tr style="height: 90.15pt;"&gt;   &lt;td style="padding: 2.25pt; height: 90.15pt;" valign="top"&gt;   &lt;table class="MsoNormalTable" style="border: 1.5pt outset ; width: 219.85pt; margin-left: 1.25pt;" border="1" cellpadding="0" cellspacing="0" width="293"&gt;    &lt;tbody&gt;&lt;tr style="height: 11.45pt;"&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.45pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.45pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.45pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A &amp;/ B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.45pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.45pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.45pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.45pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 12.15pt;"&gt;     &lt;td style="padding: 2.25pt; height: 12.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 12.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 12.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.45pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.45pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.45pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.45pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.45pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.45pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.45pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.45pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt; width: 54.95pt; height: 90.15pt;" valign="top" width="73"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt; height: 90.15pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;PICBASIC   example: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;result = A &amp;/ B&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;NOR (|/)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;NOR compares 2 bits and returns logic low if either or both inputs are high.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 435.1pt;" border="0" cellpadding="0" cellspacing="0" width="580"&gt;  &lt;tbody&gt;&lt;tr style="height: 87.25pt;"&gt;   &lt;td style="padding: 2.25pt; height: 87.25pt;" valign="top"&gt;   &lt;table class="MsoNormalTable" style="border: 1.5pt outset ; width: 219.85pt; margin-left: 1.25pt;" border="1" cellpadding="0" cellspacing="0" width="293"&gt;    &lt;tbody&gt;&lt;tr style="height: 11.15pt;"&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A |/ B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.15pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.15pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.15pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.15pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.85pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.85pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.85pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.85pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt; width: 54.95pt; height: 87.25pt;" valign="top" width="73"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt; height: 87.25pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;PICBASIC   example: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;result = A |/ B&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;XNOR (^/)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;XNOR compares 2 bits and returns logic low only if a single input is high.  If both inputs are high, it returns logic high.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 435.1pt;" border="0" cellpadding="0" cellspacing="0" width="580"&gt;  &lt;tbody&gt;&lt;tr style="height: 90.15pt;"&gt;   &lt;td style="padding: 2.25pt; height: 90.15pt;" valign="top"&gt;   &lt;table class="MsoNormalTable" style="border: 1.5pt outset ; width: 219.9pt; margin-left: 1.25pt;" border="1" cellpadding="0" cellspacing="0" width="293"&gt;    &lt;tbody&gt;&lt;tr style="height: 11.55pt;"&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.55pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.55pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.55pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A ^/ B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.55pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.55pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.55pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.55pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.55pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.55pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.55pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.55pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.55pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.55pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.55pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.55pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 12.25pt;"&gt;     &lt;td style="padding: 2.25pt; height: 12.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 12.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 12.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt; width: 54.95pt; height: 90.15pt;" valign="top" width="73"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt; height: 90.15pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;PICBASIC   example: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;result = A ^/ B&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;  &lt;hr align="center" size="2" width="100%"&gt;  &lt;/span&gt;&lt;/div&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Using Bitwise operators on bytes and words&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;When you use byte or word sized data as inputs for Bitwise operators, the result can be as long as your longest input.  The operator will perform a comparison of each bit in both input variables, and store the result in the corresponding bit location of the result variable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A common example is the AND operator used to mask certain bits in a byte. It works as a mask because it always returns 0 when one of the inputs is 0.  Therefore, when we use "bytevar &amp; %00001111", the top 4 bits of the result will always be 0.  The lower 4 bits won't change, because ANDing something with logic 1 makes the result equal to the input.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Here's a modified truth table showing 8-bits being ANDed all at once.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 444.45pt;" border="0" cellpadding="0" cellspacing="0" width="593"&gt;  &lt;tbody&gt;&lt;tr style="height: 156.25pt;"&gt;   &lt;td style="padding: 2.25pt; height: 156.25pt;" valign="top"&gt;   &lt;table class="MsoNormalTable" style="border: 1.5pt outset ; width: 250.7pt; margin-left: 0.85pt;" border="1" cellpadding="0" cellspacing="0" width="334"&gt;    &lt;tbody&gt;&lt;tr style="height: 11.25pt;"&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;bit position&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;byte A&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;byte B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A &amp; B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.25pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;7&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.95pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.95pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.95pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.95pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.95pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.25pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.25pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.25pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.25pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.95pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.95pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.95pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.95pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.95pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style="height: 11.25pt;"&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style="padding: 2.25pt; height: 11.25pt;"&gt;     &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt; width: 49.45pt; height: 156.25pt;" valign="top" width="66"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 2.25pt; height: 156.25pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;PICBASIC   example: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A = %10110110&lt;br /&gt;  B = %00001111&lt;br /&gt;  result = A &amp; B&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;'(00000110)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Here are some example equations using the input values above:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;%10110110 | %00001111 = %10111111     'use OR to mask bits with logic 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;%10110110 ^ %00001111 = %10111001     'use XOR to invert selected bits&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Let me know your queries to &lt;a href="mailto:celango.mac@gmail.com"&gt;me (Elango C)&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-2065548564470741485?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/2065548564470741485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=2065548564470741485' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/2065548564470741485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/2065548564470741485'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/07/what-is-bitwise-operators-and-how-it.html' title='What is Bitwise operators and how it works....?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-3482045421169596939</id><published>2007-07-05T06:31:00.003-07:00</published><updated>2007-07-05T06:47:34.596-07:00</updated><title type='text'>How does the Hard drive is getting booted every time / What is MBR in a Hard drive?</title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Arial;font-size:16;"  &gt;&lt;span style="font-size:130%;"&gt;MASTER BOOT RECORD (MBR)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;Many people don’t know how the Operating systems are getting loaded or running into the computer.&lt;span style=""&gt;  &lt;/span&gt;Even though this is too technical subject or something related to System internals; I would like to shed some light on those part for the people who want to know or learn the inner part of the computer ….. Operating systems….. Logical structure of storage drive’s etc….&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;In this article I am trying to explain or disassemble a Master Boot Record (MBR).&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;The MBR is the sector at cylinder 0, head 0, sector 1 of a hard disk.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;An MBR is created by the FDISK program.&lt;span style=""&gt;  &lt;/span&gt;In Win9x days the FDISK program of all operating systems must create a functionally similar MBR but now a days lot of Partitioning tools are available to make it out like &lt;span style="color: rgb(255, 102, 0);"&gt;CompuApps Swissknife, Acronics True Image etc&lt;/span&gt;. Also using the Device manager we can create the partition / format etc from the Windows 2000 onwards. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;The MBR’s first of what could be many partition sectors, each one containing a four entry partition table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;At the completion of your system's Power On Self Test (POST), INT 19 is called.&lt;span style=""&gt;  &lt;/span&gt;Usually INT 19 tries to read a boot sector from the first floppy drive.&lt;span style=""&gt;  &lt;/span&gt;If a boot sector is found on the floppy disk that the boot sector is read into memory at location 0000:7C00 and INT 19 jumps to memory location 0000:7C00.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;However, if no boot sector is found on the first floppy drive, INT 19 tries to read the MBR from the first hard drive.&lt;span style=""&gt;  &lt;/span&gt;If an MBR is found it is read into memory at location 0000:7c00 and INT 19 jumps to memory location 0000:7c00.&lt;span style=""&gt;  &lt;/span&gt;The small program in the MBR will attempt to locate an active (bootable) partition in its partition table.&lt;span style=""&gt;  &lt;/span&gt;If such a partition is found, the boot sector of that partition is read into memory at location 0000:7C00 and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;the MBR program jumps to memory location 0000:7C00.&lt;span style=""&gt;  &lt;/span&gt;Each operating system has its own boot sector format.&lt;span style=""&gt;  &lt;/span&gt;The small program in the boot sector must locate the first part of the operating system's kernel loader program (or perhaps the kernel itself or perhaps a "boot manager program") and read that into memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;INT 19 is also called when the CTRL-ALT-DEL keys are used.&lt;span style=""&gt;  &lt;/span&gt;On most systems, CTRL-ALT-DEL causes an short version of the POST to be executed before INT 19 is called.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Verdana;font-size:11;"  &gt;Where interesting stuff follows………&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;span style=""&gt;   &lt;/span&gt;The MBR program code starts at offset &lt;span style="color: rgb(255, 102, 0);"&gt;0000&lt;/span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;span style=""&gt;   &lt;/span&gt;The MBR messages start at offset &lt;span style="color: rgb(255, 102, 0);"&gt;008b&lt;/span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;span style=""&gt;   &lt;/span&gt;The partition table starts at offset &lt;span style="color: rgb(255, 102, 0);"&gt;00be&lt;/span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;span style=""&gt;   &lt;/span&gt;The signature is at offset &lt;span style="color: rgb(255, 102, 0);"&gt;00fe&lt;/span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;Here is a summary of what this thing does:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;If an active partition is found, that partition's boot record is read into 0000:7c00 and the MBR code jumps to 0000:7c00&lt;span style=""&gt;   &lt;/span&gt;with SI pointing to the partition table entry that describes the partition being booted.&lt;span style=""&gt;  &lt;/span&gt;The boot record program uses this data to determine the drive being booted from and the location of the partition on the disk.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;If no active partition table enty is found, ROM BASIC is entered via INT 18.&lt;span style=""&gt;  &lt;/span&gt;All other errors cause a system hang, see label HANG.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Verdana;font-size:11;"  &gt;NOTES (VERY INTERESTING THINGS……):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;1. The first byte of an active partition table entry is 80.&lt;span style=""&gt;   &lt;/span&gt;This byte is loaded into the DL register before INT 13 is&lt;span style=""&gt;   &lt;/span&gt;called to read the boot sector.&lt;span style=""&gt;  &lt;/span&gt;When INT 13 is called, DL is&lt;span style=""&gt;   &lt;/span&gt;the BIOS device number.&lt;span style=""&gt;  &lt;/span&gt;Because of this, the boot sector read&lt;span style=""&gt;   &lt;/span&gt;by this MBR program can only be read from BIOS device number 80 (the first hard disk).&lt;span style=""&gt;  &lt;/span&gt;This is one of the reasons why it is usually not possible to boot from any other hard disk.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;br /&gt;&lt;/span&gt;  &lt;div class="Section2"&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;span style=""&gt; &lt;/span&gt;2. The MBR program uses the CHS based INT 13H AH=02H call to read the boot sector of the active partition.&lt;span style=""&gt;  &lt;/span&gt;The location of&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;the active partition's boot sector is in the partition table&lt;span style=""&gt;   &lt;/span&gt;entry in CHS format.&lt;span style=""&gt;  &lt;/span&gt;If the drive is &gt;528MB, this CHS must be a translated CHS (or L-CHS, see my BIOS TYPES document).&lt;span style=""&gt;  &lt;/span&gt;No addresses in LBA form are used (another reason why LBA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;doesn't solve the &gt;528MB problem).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;Here is the entire MBR record (hex dump and ascii).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;OFFSET 0 1 2 3&lt;span style=""&gt;  &lt;/span&gt;4 5 6 7&lt;span style=""&gt;  &lt;/span&gt;8 9 A B&lt;span style=""&gt;  &lt;/span&gt;C D E F&lt;span style=""&gt;  &lt;/span&gt;*0123456789ABCDEF*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;000000 fa33c08e d0bc007c 8bf45007 501ffbfc *.3.....|..P.P...*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;000010 bf0006b9 0001f2a5 ea1d0600 00bebe07 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;000020 b304803c 80740e80 3c00751c 83c610fe *...&lt;.t..&lt;.u.....*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;000030 cb75efcd 188b148b 4c028bee 83c610fe *.u......L.......*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;000040 cb741a80 3c0074f4 be8b06ac 3c00740b *.t..&lt;.t.....&lt;.t.*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;000050 56bb0700 b40ecd10 5eebf0eb febf0500 *V.......^.......*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;000060 bb007cb8 010257cd 135f730c 33c0cd13 *..|...W.._s.3...*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;000070 4f75edbe a306ebd3 bec206bf fe7d813d *Ou...........}.=*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;000080 55aa75c7 8bf5ea00 7c000049 6e76616c *U.u.....|..Inval*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;000090 69642070 61727469 74696f6e 20746162 *id partition tab*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000a0 6c650045 72726f72 206c6f61 64696e67 *le.Error loading*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000b0 206f7065 72617469 6e672073 79737465 * operating syste*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000c0 6d004d69 7373696e 67206f70 65726174 *m.Missing operat*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000d0 696e6720 73797374 656d0000 00000000 *ing system......*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000e0 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000f0 TO 0001af SAME AS ABOVE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0001b0 00000000 00000000 00000000 00008001 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0001c0 0100060d fef83e00 00000678 0d000000 *......&gt;....x....*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0001d0 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0001e0 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0001f0 00000000 00000000 00000000 000055aa *..............U.*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;Here is the disassembly of the MBR...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;This sector is initially loaded into memory at 0000:7c00 but&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;it immediately relocates itself to 0000:0600.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Verdana;font-size:11;"  &gt;BEGIN:&lt;span style=""&gt;                      &lt;/span&gt;NOW AT 0000:7C00, RELOCATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C00 FA&lt;span style=""&gt;            &lt;/span&gt;CLI&lt;span style=""&gt;                     &lt;/span&gt;disable int's&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C01 33C0&lt;span style=""&gt;          &lt;/span&gt;XOR&lt;span style=""&gt;     &lt;/span&gt;AX,AX&lt;span style=""&gt;           &lt;/span&gt;set stack seg to 0000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C03 8ED0&lt;span style=""&gt;          &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;SS,AX&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C05 BC007C&lt;span style=""&gt;        &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;SP,7C00&lt;span style=""&gt;         &lt;/span&gt;set stack ptr to 7c00&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C08 8BF4&lt;span style=""&gt;          &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;SI,SP&lt;span style=""&gt;           &lt;/span&gt;SI now 7c00&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C0A 50&lt;span style=""&gt;            &lt;/span&gt;PUSH&lt;span style=""&gt;    &lt;/span&gt;AX&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C0B 07&lt;span style=""&gt;            &lt;/span&gt;POP&lt;span style=""&gt;     &lt;/span&gt;ES&lt;span style=""&gt;              &lt;/span&gt;ES now 0000:7c00&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C0C 50&lt;span style=""&gt;            &lt;/span&gt;PUSH&lt;span style=""&gt;    &lt;/span&gt;AX&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C0D 1F&lt;span style=""&gt;            &lt;/span&gt;POP&lt;span style=""&gt;     &lt;/span&gt;DS&lt;span style=""&gt;              &lt;/span&gt;DS now 0000:7c00&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C0E FB&lt;span style=""&gt;            &lt;/span&gt;STI&lt;span style=""&gt;                     &lt;/span&gt;allow int's&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C0F FC&lt;span style=""&gt;            &lt;/span&gt;CLD&lt;span style=""&gt;                     &lt;/span&gt;clear direction&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C10 BF0006&lt;span style=""&gt;        &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;DI,0600&lt;span style=""&gt;         &lt;/span&gt;DI now 0600&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C13 B90001&lt;span style=""&gt;        &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;CX,0100&lt;span style=""&gt;         &lt;/span&gt;move 256 words (512 bytes)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C16 F2&lt;span style=""&gt;            &lt;/span&gt;REPNZ&lt;span style=""&gt;                   &lt;/span&gt;move MBR from 0000:7c00&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C17 A5&lt;span style=""&gt;            &lt;/span&gt;MOVSW&lt;span style=""&gt;                      &lt;/span&gt;to 0000:0600&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:7C18 EA1D060000&lt;span style=""&gt;    &lt;/span&gt;JMP&lt;span style=""&gt;     &lt;/span&gt;0000:061D&lt;span style=""&gt;       &lt;/span&gt;jmp to NEW_LOCATION&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Verdana;font-size:11;"  &gt;NEW_LOCATION:&lt;span style=""&gt;                        &lt;/span&gt;NOW AT 0000:0600&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:061D BEBE07&lt;span style=""&gt;      &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;SI,07BE&lt;span style=""&gt;           &lt;/span&gt;point to first table entry&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0620 B304&lt;span style=""&gt;        &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;BL,04&lt;span style=""&gt;             &lt;/span&gt;there are 4 table entries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Verdana;font-size:11;"  &gt;SEARCH_LOOP1:&lt;span style=""&gt;                  &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;SEARCH FOR AN ACTIVE ENTRY&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0622 803C80&lt;span style=""&gt;      &lt;/span&gt;CMP&lt;span style=""&gt;     &lt;/span&gt;BYTE PTR [SI],80&lt;span style=""&gt;  &lt;/span&gt;is this the active entry?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0625 740E&lt;span style=""&gt;        &lt;/span&gt;JZ&lt;span style=""&gt;      &lt;/span&gt;FOUND_ACTIVE&lt;span style=""&gt;      &lt;/span&gt;yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0627 803C00&lt;span style=""&gt;      &lt;/span&gt;CMP&lt;span style=""&gt;     &lt;/span&gt;BYTE PTR [SI],00&lt;span style=""&gt;  &lt;/span&gt;is this an inactive entry?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:062A 751C&lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;JNZ&lt;span style=""&gt;     &lt;/span&gt;NOT_ACTIVE&lt;span style=""&gt;        &lt;/span&gt;no&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:062C 83C610&lt;span style=""&gt;      &lt;/span&gt;ADD&lt;span style=""&gt;     &lt;/span&gt;SI,+10&lt;span style=""&gt;            &lt;/span&gt;incr table ptr by 16&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:062F FECB&lt;span style=""&gt;        &lt;/span&gt;DEC&lt;span style=""&gt;     &lt;/span&gt;BL&lt;span style=""&gt;                &lt;/span&gt;decr count&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0631 75EF&lt;span style=""&gt;        &lt;/span&gt;JNZ&lt;span style=""&gt;     &lt;/span&gt;SEARCH_LOOP1&lt;span style=""&gt;      &lt;/span&gt;jmp if not end of table&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0633 CD18&lt;span style=""&gt;        &lt;/span&gt;INT &lt;span style=""&gt;    &lt;/span&gt;18&lt;span style=""&gt;                &lt;/span&gt;GO TO ROM BASIC&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style=""&gt;FOUND_ACTIVE:&lt;span style=""&gt;                        &lt;/span&gt;FOUND THE ACTIVE ENTRY&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0635 8B14&lt;span style=""&gt;        &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;DX,[SI]&lt;span style=""&gt;           &lt;/span&gt;set DH/DL for INT 13 call&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0637 8B4C02&lt;span style=""&gt;      &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;CX,[SI+02]&lt;span style=""&gt;        &lt;/span&gt;set CH/CL for INT 13 call&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:063A 8BEE&lt;span style=""&gt;        &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;BP,SI&lt;span style=""&gt;             &lt;/span&gt;save table ptr&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Verdana;font-size:11;"  &gt;SEARCH_LOOP2:&lt;span style=""&gt;                        &lt;/span&gt;MAKE SURE ONLY ONE ACTIVE ENTRY&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:063C 83C610&lt;span style=""&gt;      &lt;/span&gt;ADD&lt;span style=""&gt;     &lt;/span&gt;SI,+10&lt;span style=""&gt;            &lt;/span&gt;incr table ptr by 16&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:063F FECB&lt;span style=""&gt;        &lt;/span&gt;DEC&lt;span style=""&gt;     &lt;/span&gt;BL&lt;span style=""&gt;                &lt;/span&gt;decr count&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0641 741A&lt;span style=""&gt;        &lt;/span&gt;JZ&lt;span style=""&gt;      &lt;/span&gt;READ_BOOT&lt;span style=""&gt;         &lt;/span&gt;jmp if end of table&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0643 803C00&lt;span style=""&gt;      &lt;/span&gt;CMP&lt;span style=""&gt;     &lt;/span&gt;BYTE PTR [SI],00&lt;span style=""&gt;  &lt;/span&gt;is this an inactive entry?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0646 74F4&lt;span style=""&gt;        &lt;/span&gt;JZ&lt;span style=""&gt;      &lt;/span&gt;SEARCH_LOOP2&lt;span style=""&gt;      &lt;/span&gt;yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Verdana;font-size:11;"  &gt;NOT_ACTIVE:&lt;span style=""&gt;                        &lt;/span&gt;MORE THAN ONE ACTIVE ENTRY FOUND&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0648 BE8B06&lt;span style=""&gt;      &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;SI,068B&lt;span style=""&gt;           &lt;/span&gt;display "Invld prttn tbl"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Verdana;font-size:11;"  &gt;DISPLAY_MSG:&lt;span style=""&gt;                        &lt;/span&gt;DISPLAY MESSAGE &lt;st1:place st="on"&gt;LOOP&lt;/st1:place&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:064B AC&lt;span style=""&gt;          &lt;/span&gt;LODSB&lt;span style=""&gt;                     &lt;/span&gt;get char of message&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:064C 3C00&lt;span style=""&gt;        &lt;/span&gt;CMP&lt;span style=""&gt;     &lt;/span&gt;&lt;st1:state st="on"&gt;&lt;st1:place st="on"&gt;AL&lt;/st1:place&gt;&lt;/st1:state&gt;,00&lt;span style=""&gt;             &lt;/span&gt;end of message&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:064E 740B&lt;span style=""&gt;        &lt;/span&gt;JZ&lt;span style=""&gt;      &lt;/span&gt;HANG&lt;span style=""&gt;              &lt;/span&gt;yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0650 56&lt;span style=""&gt;          &lt;/span&gt;PUSH&lt;span style=""&gt;    &lt;/span&gt;SI&lt;span style=""&gt;                &lt;/span&gt;save SI&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0651 BB0700&lt;span style=""&gt;      &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;BX,0007&lt;span style=""&gt;           &lt;/span&gt;screen attributes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0654 B40E&lt;span style=""&gt;        &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;AH,0E&lt;span style=""&gt;             &lt;/span&gt;output 1 char of message&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0656 CD10&lt;span style=""&gt;        &lt;/span&gt;INT&lt;span style=""&gt;     &lt;/span&gt;10&lt;span style=""&gt;                   &lt;/span&gt;to the display&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0658 5E&lt;span style=""&gt;          &lt;/span&gt;POP&lt;span style=""&gt;     &lt;/span&gt;SI&lt;span style=""&gt;                &lt;/span&gt;restore SI&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0659 EBF0&lt;span style=""&gt;        &lt;/span&gt;JMP&lt;span style=""&gt;     &lt;/span&gt;DISPLAY_MSG&lt;span style=""&gt;       &lt;/span&gt;do it again&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Verdana;font-size:11;"  &gt;HANG:&lt;span style=""&gt;                        &lt;/span&gt;HANG THE SYSTEM &lt;st1:place st="on"&gt;LOOP&lt;/st1:place&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:065B EBFE&lt;span style=""&gt;        &lt;/span&gt;JMP&lt;span style=""&gt;     &lt;/span&gt;HANG&lt;span style=""&gt;              &lt;/span&gt;sit and stay!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Verdana;font-size:11;"  &gt;READ_BOOT:&lt;span style=""&gt;                        &lt;/span&gt;READ ACTIVE PARITION BOOT RECORD&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:065D BF0500&lt;span style=""&gt;      &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;DI,0005&lt;span style=""&gt;           &lt;/span&gt;INT 13 retry count&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Verdana;font-size:11;"  &gt;INT13RTRY:&lt;span style=""&gt;                        &lt;/span&gt;INT 13 RETRY &lt;st1:place st="on"&gt;LOOP&lt;/st1:place&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0660 BB007C &lt;span style=""&gt;     &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;BX,7C00&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0663 B80102&lt;span style=""&gt;      &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;AX,0201&lt;span style=""&gt;           &lt;/span&gt;read 1 sector&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0666 57&lt;span style=""&gt;          &lt;/span&gt;PUSH&lt;span style=""&gt;    &lt;/span&gt;DI&lt;span style=""&gt;                &lt;/span&gt;save DI&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0667 CD13&lt;span style=""&gt;        &lt;/span&gt;INT&lt;span style=""&gt;     &lt;/span&gt;13&lt;span style=""&gt;                &lt;/span&gt;read sector into 0000:7c00&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0669 5F&lt;span style=""&gt;          &lt;/span&gt;POP&lt;span style=""&gt;     &lt;/span&gt;DI&lt;span style=""&gt;          &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;restore DI&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:066A 730C&lt;span style=""&gt;        &lt;/span&gt;JNB&lt;span style=""&gt;     &lt;/span&gt;INT13OK&lt;span style=""&gt;           &lt;/span&gt;jmp if no INT 13&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:066C 33C0&lt;span style=""&gt;        &lt;/span&gt;XOR&lt;span style=""&gt;     &lt;/span&gt;AX,AX&lt;span style=""&gt;             &lt;/span&gt;call INT 13 and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:066E CD13&lt;span style=""&gt;        &lt;/span&gt;INT&lt;span style=""&gt;     &lt;/span&gt;13&lt;span style=""&gt;                   &lt;/span&gt;do disk reset&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0670 4F&lt;span style=""&gt;          &lt;/span&gt;DEC&lt;span style=""&gt;     &lt;/span&gt;DI&lt;span style=""&gt;             &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;decr DI&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0671 75ED&lt;span style=""&gt;        &lt;/span&gt;JNZ&lt;span style=""&gt;     &lt;/span&gt;INT13RTRY&lt;span style=""&gt;         &lt;/span&gt;if not zero, try again&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0673 BEA306&lt;span style=""&gt;      &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;SI,06A3&lt;span style=""&gt;           &lt;/span&gt;display "Errr ldng systm"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0676 EBD3&lt;span style=""&gt;        &lt;/span&gt;JMP&lt;span style=""&gt;     &lt;/span&gt;DISPLAY_MSG&lt;span style=""&gt;       &lt;/span&gt;jmp to display loop&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Verdana;font-size:11;"  &gt;INT13OK:&lt;span style=""&gt;                       &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;INT 13 ERROR&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0678 BEC206&lt;span style=""&gt;      &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;SI,06C2&lt;span style=""&gt;              &lt;/span&gt;"missing op sys"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:067B BFFE7D&lt;span style=""&gt;      &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;DI,7DFE&lt;span style=""&gt;              &lt;/span&gt;point to signature&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:067E 813D55AA&lt;span style=""&gt;    &lt;/span&gt;CMP&lt;span style=""&gt;     &lt;/span&gt;WORD PTR [DI],AA55&lt;span style=""&gt;   &lt;/span&gt;is signature correct?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0682 75C7&lt;span style=""&gt;        &lt;/span&gt;JNZ&lt;span style=""&gt;     &lt;/span&gt;DISPLAY_MSG&lt;span style=""&gt;          &lt;/span&gt;no&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0684 8BF5&lt;span style=""&gt;        &lt;/span&gt;MOV&lt;span style=""&gt;     &lt;/span&gt;SI,BP&lt;span style=""&gt;                &lt;/span&gt;set SI&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0686 EA007C0000&lt;span style=""&gt;  &lt;/span&gt;JMP&lt;span style=""&gt;     &lt;/span&gt;0000:7C00&lt;span style=""&gt;            &lt;/span&gt;&lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;JUMP TO THE BOOT SECTOR WITH SI POINTING TO PART TABLE ENTRY&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0680 ........ ........ ......49 6e76616c *&lt;span style=""&gt;           &lt;/span&gt;Inval*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0690 69642070 61727469 74696f6e 20746162 *id partition tab*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:06a0 6c650045 72726f72 206c6f61 64696e67 *le.Error loading*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:06b0 206f7065 72617469 6e672073 79737465 * operating syste*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:06c0 6d004d69 7373696e 67206f70 65726174 *m.Missing operat*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:06d0 696e6720 73797374 656d00.. ........ *ing system.&lt;span style=""&gt;     &lt;/span&gt;*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;Data not used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:06d0 ........ ........ ......00 00000000 *&lt;span style=""&gt;           &lt;/span&gt;.....*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:06e0 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:06f0 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0700 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0710 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0720 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0730 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0740 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0750 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0760 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0770 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0780 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:0790 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:07a0 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:07b0 00000000 00000000 00000000 0000.... *............&lt;span style=""&gt;    &lt;/span&gt;*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;The partition table starts at 0000:07be.&lt;span style=""&gt;  &lt;/span&gt;Each partition table&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;entry is 16 bytes.&lt;span style=""&gt;  &lt;/span&gt;This table defines a single primary partition&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;which is also an active (bootable) partition.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:07b0 ........ ........ ........ ....8001 *&lt;span style=""&gt;            &lt;/span&gt;....*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:07c0 0100060d fef83e00 00000678 0d000000 *......&gt;....x....*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:07d0 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:07e0 00000000 00000000 00000000 00000000 *................*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:07f0 00000000 00000000 00000000 0000.... *............&lt;span style=""&gt;    &lt;/span&gt;*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;The last two bytes contain a 55AAH signature (Important bytes and if this not available the Hard drive is not a format or valid one.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;0000:07f0 ........ ........ ........ ....55aa *..............U.*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-3482045421169596939?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/3482045421169596939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=3482045421169596939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/3482045421169596939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/3482045421169596939'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/07/how-does-hard-drive-is-getting-booted.html' title='How does the Hard drive is getting booted every time / What is MBR in a Hard drive?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-7534744037799276278</id><published>2007-06-28T18:41:00.000-07:00</published><updated>2007-06-28T18:42:15.560-07:00</updated><title type='text'>What is dead-lock....</title><content type='html'>&lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 16pt; font-family: Verdana; color: green;"&gt;What is deadlock and mechanism to prevent it…….&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;A &lt;b&gt;&lt;span style="color: green;"&gt;deadlock&lt;/span&gt;&lt;/b&gt; is a situation wherein two or more competing actions are waiting for the other to finish, and thus neither ever does. It is often seen in a paradox like 'the chicken or the egg'.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;In the computing world &lt;b&gt;&lt;span style="color: green;"&gt;deadlock&lt;/span&gt;&lt;/b&gt; refers to a specific condition when two or more processes are each waiting for another to release a resource, or more than two processes are waiting for resources in a circular chain Deadlock is a common problem in multiprocessing where many processes share a specific type of mutually exclusive resource known as a &lt;i&gt;software,&lt;/i&gt; or &lt;i&gt;soft,&lt;/i&gt; lock. Computers intended for the &lt;i&gt;time-sharing&lt;/i&gt; and/or &lt;i&gt;real-time&lt;/i&gt; markets are often equipped with a &lt;i&gt;hardware lock&lt;/i&gt; (or &lt;i&gt;hard lock&lt;/i&gt;) which guarantees &lt;i&gt;exclusive access&lt;/i&gt; to processes, forcing serialization. Deadlocks are particularly troubling because there is no &lt;i&gt;general&lt;/i&gt; solution to avoid (soft) deadlocks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;This situation may be likened to two people who are drawing diagrams, with only one pencil and one ruler between them. If one person takes the pencil and the other takes the ruler, a deadlock occurs when the person with the pencil needs the ruler and the person with the ruler needs the pencil, before he can give up the ruler. Both requests can't be satisfied, so a deadlock occurs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;The telecommunication’s description of deadlock is a little stronger: deadlock occurs when none of the processes meet the condition to move to another state (as described in the process's finite state machine) &lt;i&gt;and&lt;/i&gt; all the communication channels are empty. The second condition is often left out on other systems but is important in the telecommunication context&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: Verdana;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;span class="mw-headline"&gt;&lt;span style="font-size: 16pt; font-family: Verdana; color: green;"&gt;Necessary conditions&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 16pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;There are four necessary conditions for a deadlock to occur, known as the &lt;i&gt;Coffman conditions&lt;/i&gt; from their first description in a 1971 article by E. G. Coffman.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Mutual exclusion condition: a resource is either      assigned to one process or it is available&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Hold and wait condition: processes already holding      resources may request new resources&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;No preemption condition: only a process holding a      resource may release it&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Circular wait condition: two or more processes form a      circular chain where each process waits for a resource that the next      process in the chain holds&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Deadlock only occurs in systems where all 4 conditions happen.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a name="Circular_wait_prevention"&gt;&lt;/a&gt;&lt;span class="mw-headline"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;span class="mw-headline"&gt;&lt;span style="font-family: Verdana; color: green;"&gt;Circular wait prevention&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Circular wait prevention consists in allowing processes to wait for resources, but ensure that the waiting can't be circular. One approach might be to assign a precedence to each resource and force processes to allocate resources in order of increasing precedence. That is to say that if a process holds some resources and the highest precedence of these resources is &lt;i&gt;m&lt;/i&gt;, then this process cannot request any resource with precedence smaller than &lt;i&gt;m&lt;/i&gt;. This forces resource allocation to follow a particular and non-circular ordering, so circular wait cannot occur. Another approach is to allow holding only one resource per process; if a process requests another resource, it must first free the one it's currently holding (or hold-and-wait).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="Examples"&gt;&lt;/a&gt;&lt;span class="mw-headline"&gt;&lt;span style="font-family: Verdana; color: green; font-weight: normal;"&gt;Examples&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana; color: green; font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;An example of a deadlock which may occur in database products is the following. Client applications using the database may require exclusive access to a table, and in order to gain exclusive access they ask for a &lt;i&gt;lock&lt;/i&gt;. If one client application holds a lock on a table and attempts to obtain the lock on a second table that is already held by a second client application, this may lead to deadlock if the second application then attempts to obtain the lock that is held by the first application. (But this particular type of deadlock is easily prevented, e.g., by using an &lt;i&gt;all-or-none&lt;/i&gt; resource allocation algorithm.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Another example might be a text formatting program that accepts text sent to it to be processed and then returns the results, but does so only after receiving "enough" text to work on (e.g. 1KB). A text editor program is written that sends the formatter with some text and then waits for the results. In this case a deadlock may occur on the last block of text. Since the formatter may not have sufficient text for processing, it will suspend itself while waiting for the additional text, which will never arrive since the text editor has sent it all of the text it has. Meanwhile, the text editor is itself suspended waiting for the last output from the formatter. This type of deadlock is sometimes referred to as a &lt;i&gt;deadly embrace&lt;/i&gt; (properly used only when only two applications are involved) or &lt;i&gt;starvation&lt;/i&gt;. However, this situation, too, is easily prevented by having the text editor send a &lt;i&gt;forcing&lt;/i&gt; message (eg. EOF) with its last (partial) block of text, which will &lt;i&gt;force&lt;/i&gt; the formatter to return the last (partial) block after formatting, and not wait for additional text.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Nevertheless, since there is no &lt;i&gt;general&lt;/i&gt; solution for deadlock prevention, each type of deadlock must be anticipated and specially prevented. But &lt;i&gt;general&lt;/i&gt; algorithms can be implemented within the operating system so that if one or more applications becomes blocked, it will usually be terminated after a time (and, in the meantime, is allowed no other resources and may need to surrender those it already has, rolled back to a state prior to being obtained by the application).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="Avoidance"&gt;&lt;/a&gt;&lt;span class="mw-headline"&gt;&lt;span style="font-family: Verdana; color: green; font-weight: normal;"&gt;Avoidance&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana; color: green; font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Deadlock can be avoided if certain information about processes is available in advance of resource allocation. For every resource request, the system sees if granting the request will mean that the system will enter an &lt;i&gt;unsafe&lt;/i&gt; state, meaning a state that could result in deadlock. The system then only grants request that will lead to &lt;i&gt;safe&lt;/i&gt; states. In order for the system to be able to figure out whether the next state will be safe or unsafe, it must know in advance at any time the number and type of all resources in existence, available, and requested. One known algorithm that is used for deadlock avoidance is the Banker's algorithm, which requires resource usage limit to be known in advance. However, for many systems it is impossible to know in advance what every process will request. This means that deadlock avoidance is often impossible.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Two other algorithms are Wait/Die and Wound/Wait, each of which is uses a symmetry-breaking technique. In both these algorithms there exists an older process (O) and a younger process (Y). Process age can be determined by a time stamp at process creation time. Smaller time stamps are older processes, while larger timestamps represent younger processes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="1" cellpadding="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: green;"&gt;Wait/Die&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: green;"&gt;Wound/Wait&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;O is   waiting for a resource that is being held by Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;O waits&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Y dies&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Y is   waiting for a resource that is being held by O&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Y dies&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Y waits&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;br /&gt;It is important to note that a process may be in unsafe state but would not result in a deadlock. The notion of safe/unsafe state only refers to the ability of the system to enter a deadlock state or not. For example, if a process requests A which would result in an unsafe state, but releases B which would prevent circular wait, then the state is unsafe but the system is not in deadlock.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="Prevention"&gt;&lt;/a&gt;&lt;span class="mw-headline"&gt;&lt;span style="font-family: Verdana; color: green; font-weight: normal;"&gt;Prevention&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana; color: green; font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Deadlocks can be prevented by ensuring that at least one of the following four conditions occur:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Removing the mutual exclusion condition means that no      process may have exclusive access to a resource. This proves impossible      for resources that cannot be spooled, and even with spooled resources      deadlock could still occur. Algorithms that avoid mutual exclusion are      called non-blocking synchronization algorithms.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;The "hold and wait" conditions may be      removed by requiring processes to request all the resources they will need      before starting up (or before embarking upon a particular set of      operations); this advance knowledge is frequently difficult to satisfy      and, in any case, is an inefficient use of resources. Another way is to      require processes to release all their resources before requesting all the      resources they will need. This too is often impractical. (Such algorithms,      such as serializing tokens, are known as the all-or-none algorithms.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;A "no preemption" (lockout) condition may      also be difficult or impossible to avoid as a process has to be able to      have a resource for a certain amount of time, or the processing outcome      may be inconsistent or thrashing may occur. However, inability to enforce      preemption may interfere with a &lt;i&gt;priority&lt;/i&gt; algorithm. (Note:      Preemption of a "locked out" resource generally implies a      rollback, and is to be avoided, since it is very costly in overhead.)      Algorithms that allow preemption include lock-free and wait-free      algorithms and optimistic concurrency control.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;The circular wait condition: Algorithms that avoid      circular waits include "disable interrupts during critical      sections" , and "use a hierarchy to determine a partial ordering      of resources" (where no obvious hierarchy exists, even the memory      address of resources has been used to determine ordering) and Dijkstra's      solution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;h2&gt;&lt;a name="Detection"&gt;&lt;/a&gt;&lt;span class="mw-headline"&gt;&lt;span style="font-family: Verdana; color: green; font-weight: normal;"&gt;Detection&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana; color: green; font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Often neither deadlock avoidance nor deadlock prevention may be used. Instead deadlock detection and process restart are used by employing an algorithm that tracks resource allocation and process states, and rolls back and restarts one or more of the processes in order to remove the deadlock. Detecting a deadlock that has already occurred is easily possible since the resources that each process has locked and/or currently requested are known to the resource scheduler or OS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Detecting the possibility of a deadlock &lt;i&gt;before&lt;/i&gt; it occurs is much more difficult and is, in fact, &lt;i&gt;generally&lt;/i&gt; undecidable, because the halting problem can be rephrased as a deadlock scenario. However, in &lt;i&gt;specific&lt;/i&gt; environments, using &lt;i&gt;specific&lt;/i&gt; means of locking resources, deadlock detection may be &lt;i&gt;decidable&lt;/i&gt;. In the &lt;i&gt;general&lt;/i&gt; case, it is not possible to distinguish between algorithms that are merely waiting for a very unlikely set of circumstances to occur and algorithms that will never finish because of deadlock.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="Distributed_deadlock"&gt;&lt;/a&gt;&lt;span class="mw-headline"&gt;&lt;span style="font-family: Verdana; color: green; font-weight: normal;"&gt;Distributed deadlock&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana; color: green; font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Distributed deadlocks can occur in distributed systems when distributed transactions or concurrency control is being used. Distributed deadlocks can be detected either by constructing a global wait-for graph from local wait-for graphs at a deadlock detector or by a distributed algorithm like edge chasing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Phantom deadlocks&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; are deadlocks that are detected in a distributed system but don't actually exist - they have either been already resolved or no longer exist due to transactions aborting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="Livelock"&gt;&lt;/a&gt;&lt;span class="mw-headline"&gt;&lt;span style="font-family: Verdana; color: green; font-weight: normal;"&gt;Livelock&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana; color: green; font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;A &lt;b style=""&gt;&lt;span style="color: green;"&gt;livelock&lt;/span&gt;&lt;/b&gt; is similar to a deadlock, except that the states of the processes involved in the livelock constantly change with regard to one another, none progressing. &lt;b style=""&gt;&lt;span style="color: green;"&gt;Livelock&lt;/span&gt;&lt;/b&gt; is a special case of resource starvation; the general definition only states that a specific process is not progressing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;As a real-world example, livelock occurs when two people meet in a narrow corridor, and each tries to be polite by moving aside to let the other pass, but they end up swaying from side to side without making any progress because they always both move the same way at the same time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: green;"&gt;Livelock&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; is a risk with some algorithms that detect and recover from deadlock. If more than one process takes action, the deadlock detection algorithm can repeatedly trigger. This can be avoided by ensuring that only one process (chosen randomly or by priority) takes action.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-7534744037799276278?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/7534744037799276278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=7534744037799276278' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/7534744037799276278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/7534744037799276278'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/what-is-dead-lock.html' title='What is dead-lock....'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-4623713066605678424</id><published>2007-06-20T18:03:00.000-07:00</published><updated>2007-06-20T18:06:47.770-07:00</updated><title type='text'>How to put down your Mac machines into sleep....?</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 18pt; color: green;"&gt;Two Seconds to Sleep (Its a Mac Magic)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Fastest way to put your Mac right into a deep, sleepy-bear hibernation-like sleep (no whirling fan, no dialogs, no sound — nothing’ — just fast, glorious sleep). Just press &lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Command-Option&lt;/span&gt;&lt;/b&gt; and then hold the &lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Eject&lt;/span&gt;&lt;/b&gt; button for about &lt;b style=""&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;2 seconds&lt;/span&gt;&lt;/b&gt; and you can see the Mac goes into sleep…….. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;It doesn’t get much faster than that. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-4623713066605678424?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/4623713066605678424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=4623713066605678424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/4623713066605678424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/4623713066605678424'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/how-to-put-down-your-mac-machines-into.html' title='How to put down your Mac machines into sleep....?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-2836976261565608385</id><published>2007-06-19T03:33:00.000-07:00</published><updated>2007-06-19T07:32:09.475-07:00</updated><title type='text'>What is Dangling pointers in the world of C, C++ and VC++ languages?</title><content type='html'>&lt;p&gt;  &lt;/p&gt;&lt;h2&gt;&lt;span style="color:green;"&gt;Dangling pointer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;Dangling pointers&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt; and &lt;b&gt;wild pointers&lt;/b&gt; in computer programming are pointers that do not point to a valid object of the appropriate type, or to a distinguished null pointer value in languages which support this. Dangling pointers arise when an object is deleted or de-allocated, without modifying the value of the pointer, so that the pointer still points to the memory location of the de-allocated memory. As the system may reallocate the previously freed memory to another process, if the original program then dereferences the (now) dangling pointer, &lt;i&gt;unpredictable behavior may result&lt;/i&gt;, as the memory may now contain completely different data. This is especially the case if the program writes data to memory pointed by a dangling pointer, as silent corruption of unrelated data may result, leading to subtle bugs that can be extremely difficult to find, or general protection faults (Windows). If the overwritten data is bookkeeping data used by the system's memory allocator, the corruption can cause system instabilities. Wild pointers arise when a pointer is used prior to initialization to some known state, which is possible in some programming languages. They show the same erratic behavior as dangling pointers, though they are less likely to stay undetected.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;span class="mw-headline"&gt;&lt;span style="color:green;"&gt;Cause of dangling pointers&lt;/span&gt;&lt;/span&gt;&lt;span style="color:green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;In many languages (particularly the &lt;b style=""&gt;C programming&lt;/b&gt; language, which assumes the programmer will take care of all design issues, and hence do not include many of the checks that are present in higher-level languages), deleting an object from memory explicitly or by destroying the stack frame on return does not alter any associated pointers. The pointer still points to the location in memory where the object or data was, even though the object or data has since been deleted and the memory may now be used for other purposes, creating a dangling pointer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;A straightforward example is shown below:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;       &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;char *cp = NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;/* ... */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;               &lt;/span&gt;char c;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;               &lt;/span&gt;cp = &amp;c;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;} /* The memory location, which c was occupying, is released here */&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;/* cp here is now a dangling pointer */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;       &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;In the above, one solution to avoid the dangling pointer is to make cp a null pointer after the inner block is exited, or to otherwise guarantee that cp won't be used again without further initialization in the code which follows.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;Another frequent source of creating dangling pointers is a jumbled combination of &lt;/span&gt;&lt;tt&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;malloc ()&lt;/span&gt;&lt;/tt&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt; and &lt;/span&gt;&lt;tt&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;free ()&lt;/span&gt;&lt;/tt&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt; library calls. In such a case, a pointer becomes dangling when the block of memory it points to is freed. As with the previous example, one way to avoid this is to make sure to set the pointer back to null after freeing the memory, as demonstrated below:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;       &lt;/span&gt;#include &lt;stdlib.h&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/stdlib.h&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;       &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;char *cp = malloc ( A_CONST );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;/* ... */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;free ( cp );&lt;span style=""&gt;      &lt;/span&gt;/* cp now becomes a dangling pointer */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;cp = NULL;&lt;span style=""&gt;        &lt;/span&gt;/* cp is no longer dangling */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;/* ... */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;       &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;Lastly, a common programming misstep to create a dangling pointer is returning the address of a local variable. Since local variables are de-allocated when the function returns, any pointers that point to local variables will become dangling pointers once the stack frame is de-allocated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;       &lt;/span&gt;char * func ( void )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;       &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;char ca[] = "Pointers and Arrays - II";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;/* ... */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;           &lt;/span&gt;return ca;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;       &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;If it is required to return the address of &lt;/span&gt;&lt;tt&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;ca&lt;/span&gt;&lt;/tt&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;, it should be declared with the &lt;/span&gt;&lt;tt&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;static&lt;/span&gt;&lt;/tt&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt; storage specifier.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="Cause_of_wild_pointers"&gt;&lt;/a&gt;&lt;span class="mw-headline"&gt;&lt;span style="color:green;"&gt;Cause of wild pointers&lt;/span&gt;&lt;/span&gt;&lt;span style="color:green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;Wild pointers are created by omitting necessary initialization prior first use. Thus, strictly speaking, every pointer in programming languages which do not enforce initialization begins as a wild pointer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;This most often occurs due to jumping over the initialization, not by omitting it. Most compilers are able to warn about this.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="Security_holes_involving_dangling_pointe"&gt;&lt;/a&gt;&lt;span class="mw-headline"&gt;&lt;span style="color:green;"&gt;Security holes involving dangling pointers&lt;/span&gt;&lt;/span&gt;&lt;span style="color:green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;Like buffer overflow bugs, dangling/wild pointer bugs are frequently security holes. For example, if the pointer is used to make a virtual function call, a different address (possibly pointing at exploit code) may be called due to the vtable pointer being overwritten. Alternatively, if the pointer is used for writing to memory, some other data structure may be corrupted. Even if the memory is only read once the pointer becomes dangling, it can lead to information leaks (if interesting data is put in the next structure allocated there) or privilege escalation (if the now-invalid memory is used in security checks).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="Avoiding_dangling_pointer_errors"&gt;&lt;/a&gt;&lt;span class="mw-headline"&gt;&lt;span style="color:green;"&gt;Avoiding dangling pointer errors&lt;/span&gt;&lt;/span&gt;&lt;span style="color:green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;A popular technique to avoid dangling pointers is to use &lt;a href="http://celango.blogspot.com/2007/06/how-to-resolve-memory-leakages-in-c.html" title="Smart pointer"&gt;smart pointers&lt;/a&gt;. A smart pointer typically uses reference counting to reclaim objects. Some other techniques include the tombstones method and the locks-and-keys method.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;One alternative is to use the DieHard memory allocator&lt;sup&gt;&lt;a href="http://en.wikipedia.org/wiki/Dangling_pointer#_note-0" title=""&gt;[1]&lt;/a&gt;&lt;/sup&gt;, which virtually eliminates dangling pointer errors, as well as a variety of other memory errors (like invalid and double frees).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;In languages like Java, dangling pointers cannot occur because there is no mechanism to explicitly de-allocate memory. Rather, the garbage collector may de-allocate memory, but only when the object is no longer reachable from any references.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="Dangling_pointer_detection"&gt;&lt;/a&gt;&lt;span class="mw-headline"&gt;&lt;span style="color:green;"&gt;Dangling pointer detection&lt;/span&gt;&lt;/span&gt;&lt;span style="color:green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;To expose dangling pointer errors, one common programming technique is to set pointers to the null pointer or to an invalid address once the storage they point to has been released. When the null pointer is dereferences (in most languages) the program will immediately terminate — there is no potential for data corruption or unpredictable behavior. This makes the underlying programming mistake easier to find and resolve. This technique does not help when there are multiple copies of the pointer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;Some debuggers will automatically overwrite and destroy data that has been freed, usually with a specific pattern, such as &lt;b style=""&gt;0xdeadbeef &lt;/b&gt;(Microsoft's Visual C/C++ debugger, for example, uses 0xCC, 0xCD or 0xDD depending on what has been freed). This usually prevents the data from being reused by making it useless and also very prominent (the pattern serves to show the programmer that the memory has already been freed).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-2836976261565608385?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/2836976261565608385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=2836976261565608385' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/2836976261565608385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/2836976261565608385'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/what-is-dangline-pointers-in-world-of-c.html' title='What is Dangling pointers in the world of C, C++ and VC++ languages?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-8640563647106824765</id><published>2007-06-19T03:17:00.000-07:00</published><updated>2007-06-19T03:19:58.885-07:00</updated><title type='text'>How to resolve memory leakages in C++ language?</title><content type='html'>&lt;h2&gt;&lt;span style="color: green;"&gt;Solution is Smart Pointer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style="font-family: Verdana;"&gt;A &lt;b style=""&gt;S&lt;span style=""&gt;mart pointer&lt;/span&gt;&lt;/b&gt; is an abstract data type that simulates a pointer while providing additional features, such as &lt;b style=""&gt;automatic garbage collection &lt;/b&gt;or &lt;b style=""&gt;bounds checking&lt;/b&gt;. These additional features are intended to reduce bugs caused by the use of pointers while retaining efficiency. Smart pointers typically keep track of the objects they point to for the purpose of memory management.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: Verdana;"&gt;The use of pointers is a major source of bugs: the constant allocation, de-allocation and referencing that must be performed by a program written using pointers makes it very likely that some memory leaks will occur. Smart pointers try to prevent memory leaks by making the resource de-allocation automatic: when the pointer to an object (or the last in a series of pointers) is destroyed, for example because it goes out of scope, the pointed object is destroyed too.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: Verdana;"&gt;Several types of smart pointers exist. Some work with reference counting, others assigning ownership of the object to a single pointer. If the language supports automatic garbage collection (for instance, Java), then this use of a smart pointer is unnecessary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: Verdana;"&gt;In C++ language, smart pointers may be implemented as a template class that mimics, by means of operator overloading, the behavior of traditional (raw) pointers, (e.g.: dereferencing, assignment) while providing additional memory management algorithms.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: Verdana;"&gt;Smart pointers can facilitate intentional programming by expressing the use of a pointer in the type itself. For example, if a C++ function returns a pointer, there is no way to know whether the caller should delete the memory pointed to when the caller is finished with the information.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 12pt; font-family: Verdana;"&gt;some_type* ambiguous_function();&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; font-family: Verdana;"&gt; // What should be done with the result?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p&gt;&lt;span style="font-family: Verdana;"&gt;Traditionally, this has been solved with comments, but this can be error-prone. By returning a C++ &lt;/span&gt;&lt;code&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;auto_ptr&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;span style="font-family: Verdana;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 12pt; font-family: Verdana;"&gt;auto_ptr&lt;some_type&gt; obvious_function1();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;p&gt;&lt;span style="font-family: Verdana;"&gt;the function makes explicit that the caller will take ownership of the result, and further more, that if the caller does nothing, no memory will be leaked. Similarly, if the intention is to return a pointer to an object managed elsewhere, the function could return by reference:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 12pt; font-family: Verdana;"&gt;some_type&amp; obvious_function2();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;h2&gt;&lt;a name="Example"&gt;&lt;/a&gt;&lt;span class="mw-headline"&gt;&lt;span style="color: green;"&gt;Example&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style="font-family: Verdana;"&gt;Let &lt;/span&gt;&lt;tt&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;SmartPointer&lt;x&gt;&lt;/span&gt;&lt;/tt&gt;&lt;span style="font-family: Verdana;"&gt; be a template smart pointer for &lt;/span&gt;&lt;tt&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;class X&lt;/span&gt;&lt;/tt&gt;&lt;span style="font-family: Verdana;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span class="kw4"&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;void&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; test_smartpointers&lt;span class="br0"&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; &lt;span class="br0"&gt;{&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;span class="co1"&gt;//first, we create two objects and we keep raw pointers to them&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;span class="co1"&gt;//since these pointers are not smart, they will not affect the object lifecycle&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; Object* obj_1 = &lt;span class="kw3"&gt;new&lt;/span&gt; Object&lt;span class="br0"&gt;()&lt;/span&gt;;&lt;span style=""&gt;               &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;Object* obj_2 = &lt;span class="kw3"&gt;new&lt;/span&gt; Object&lt;span class="br0"&gt;()&lt;/span&gt;;&lt;span style=""&gt;       &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span class="co1"&gt;//then we declare two smart pointers and we assign them with the objects&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span class="co1"&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;//both obj_1 and obj_2 will have counter==1&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; SmartPointer&lt;object&gt; p = obj_1;&lt;span style=""&gt;                  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;SmartPointer&lt;object&gt; q = obj_2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="co1"&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;//now we assign p into q, yielding obj_1.counter==2&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;span class="co1"&gt;//obj_2 will be destroyed because its counter reaches 0&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; q = p;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="co1"&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;//we assign q with NULL&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;span class="co1"&gt;//obj_1.counter reaches 1&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; q = &lt;span class="kw2"&gt;NULL&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="co1"&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;//now we create a new object, and we assign its address to the smart pointer&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;span class="co1"&gt;//it will be automatically destroyed before leaving the scope&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;span class="co1"&gt;//obj_1 will be destroyed because its counter reaches 0&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; p = &lt;span class="kw3"&gt;new&lt;/span&gt; Object&lt;span class="br0"&gt;()&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="co1"&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;//finally, we create another object which will be only referenced by a raw pointer.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;span class="co1"&gt;//obj_3 will be lost and there will be a memory leak&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt; Object* obj_3 = &lt;span class="kw3"&gt;new&lt;/span&gt; Object&lt;span class="br0"&gt;()&lt;/span&gt;;&lt;span style=""&gt;               &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="br0"&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-8640563647106824765?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/8640563647106824765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=8640563647106824765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/8640563647106824765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/8640563647106824765'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/how-to-resolve-memory-leakages-in-c.html' title='How to resolve memory leakages in C++ language?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-5447423912937323547</id><published>2007-06-16T00:35:00.000-07:00</published><updated>2007-06-16T00:37:22.987-07:00</updated><title type='text'>Mac OS 10.x Cocoa programming - Article 1</title><content type='html'>&lt;p class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;b&gt;&lt;span style="font-size: 13.5pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;Memory Management with &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Cocoa&lt;/st1:place&gt;&lt;/st1:City&gt; objects &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;span style="font-size: 10pt; font-family: Helvetica; color: rgb(255, 102, 0);"&gt;By: &lt;a href="mailto:celango.mac@gmail.com"&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Elango C&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;This article is a primer on managing the allocation and de-allocation of objects (and therefore the memory they use) in the context of applications built using Apple's Foundation framework, and other frameworks that rely upon it, such as EOF &amp; WebObjects. It describes how to use Foundation's memory management infrastructure, including the reference counting mechanism and auto release pools, syntactic notations, object ownership as it pertains to memory management, common pitfalls, and good programming practices.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;This article is intended for programmers who are new or have some limited exposure to Apple's frameworks, but have some Object-Oriented programming experience and are familiar with Objective-C, which is used for all the examples. OO concepts and terminology are liberally used below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;Objects Seen As Memory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Objects, or instances of Classes, are unique by virtue of being distinct fragments of memory that contain the state for each instance. Therefore, the creation and deletion of an object is equivalent to the allocation and de-allocation of the memory it occupies. The Foundation framework, upon which all other frameworks are built, provides reference counting for objects, as well as a delayed object disposal mechanism, by means of a root class, NSObject, as well as an Objective-C protocol of the same name that other classes can adopt. Most classes in Apple's frameworks and in applications built on them are subclasses of NSObject or conform to the NSObject protocol, and can therefore avail themselves of this infrastructure. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Since Apple's frameworks expose their functionality in the form of classes (though there are some C functions and struts), memory management is cast in terms of object creation and disposal. Over the spectrum of memory management methods ranging from the malloc/free of the C world to automatic Garbage Collection in Smalltalk &amp; Java, Foundation's reference counting &amp;amp; delayed disposal lie somewhere in the middle.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;Object Ownership&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Foundation and other frameworks suggest a policy for creating and disposing objects:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;If you create an object, you are responsible      for disposing it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;If you want an object you didn't create to      stay around, you must "retain" it and then "release"      it when you no longer need it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;The idea being that the creator of an object is its owner and only the owner of an object may destroy it. Consistently adopting this policy makes code simpler, more robust and avoids problems such as references to destroyed objects or leaks. Note, though, that there is some subtlety here. By using NSAutoreleasePool, the delayed disposal mechanism, the creator of an object is technically delegating responsibility for its destruction to the NSAutoreleasePool. The term "Object Ownership" is somewhat misleading in this regard. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;Object Allocation &amp; Initialization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;SomeClass *anInstance = [[SomeClass alloc] init];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;is the standard idiom for creating an object by first &lt;i&gt;alloc&lt;/i&gt;ating memory for it and then &lt;i&gt;init&lt;/i&gt;ializing it. On Operating Systems that understand the notion of memory "zones" (such as Mach), the &lt;b&gt;allocWithZone:&lt;/b&gt; method attempts to allocate memory from within the specified zone to improve locality of reference. Subclasses of NSObject with state must also typically implement extended initialization methods, e.g.: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;@interface CartesianCoordinate : NSObject&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        NSNumber *abscissa;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        NSNumber *ordinate;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;- (CartesianCoordinate *) initWithAbscissa: (NSNumber *)anAbscissa&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;                                 ordinate: (NSNumber *)anOrdinate;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;@end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;NSObject also provides the &lt;b&gt;copy&lt;/b&gt;, &lt;b&gt;mutableCopy&lt;/b&gt;, &lt;b&gt;copyWithZone:&lt;/b&gt; and &lt;b&gt;mutableCopyWithZone:&lt;/b&gt; methods that make identical copies of an object by allocating memory and duplicating the object's state.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;Object Disposal&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;You indicate that you are no longer interested in an object by sending it the &lt;b&gt;release&lt;/b&gt; message. When nobody is interested in an object, i.e., when there are no external references to it, it is de-allocated by sending it the &lt;b&gt;dealloc&lt;/b&gt; message. Classes with state are responsible for cleaning up by releasing any other objects they in turn may be retaining in their dealloc implementations:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;@implementation CartesianCoordinate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;- (void) dealloc&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        [abscissa release];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        [ordinate release];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        return [super dealloc];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;@end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;h3 style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;Object Reference Counting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Reference counting is extremely simple (modulo Distributed Objects, which can get a mite hairy). Each object has a "retain count" associated with it, that counts external references to it. When an object is initially created using &lt;b&gt;init&lt;/b&gt;, &lt;b&gt;initWith&lt;/b&gt;..., or one of the copy methods, it has an implicit retain count of 1. Other objects can "retain" it by sending the &lt;b&gt;retain&lt;/b&gt; message, which increments the retain count. Each release message correspondingly decrements the retain count. When the count reaches 0, the object is de-allocated. You can examine the retain count of an object by sending it the &lt;b&gt;retainCount&lt;/b&gt; message.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;In the following example, an object (alertString) is created, used, and then disposed of:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;- (void) notifyUserOfError: (NSString *)errorString&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        NSMutableString *alertString = nil;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        alertString = [[NSMutableString alloc] initWithString:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;                        @"The following error occurred: "];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        [alertString appendString: errorString];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        NSRunAlertPanel( alertString ...);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        [alertString release];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        return;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;h3 style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;Temporary Objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;As you can see in the code fragment above, it is often necessary to create throw-away objects that are used once and then destroyed. This is simple when the scope is well-defined, as above. But what if the temporary object has to be returned to the caller? Commons idioms for dealing with this in C are to use statically allocated buffers or return dynamically allocated memory which the caller is then responsible for freeing. Foundation provides a somewhat more elegant solution by means of a delayed disposal mechanism that allows the creation of temporary objects which eventually go away auto -magically. Here's the same method rewritten:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;- (void) notifyUserOfError: (NSString *)errorString&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        NSMutableString *alertString = nil;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        alertString = [NSMutableString stringWithString:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;                        @"The following error occurred: "];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        [alertString appendString: errorString];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        NSRunAlertPanel( alertString ...);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        return;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;As you can see, the alertString is not sent a release message after it is used. Callers of this method need not worry about disposing alertString. Because of the way it was created, it is an "autoreleased" object and will go away eventually. An autoreleased object is simply one that will automatically receive a release message at some point in the future. Autoreleased objects hence have a finite lifetime and will be destroyed unless explicitly retained. You autorelease an object by sending it a (surprise) &lt;b&gt;autorelease&lt;/b&gt; message. In the code fragment above, the line &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;alertString = [NSMutableString stringWithString:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;                    @"The following error occurred: "];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;is exactly the same as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;alertString = [[[NSMutableString alloc] initWithString:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            @"The following error occurred: "] autorelease];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Per Foundation method naming conventions, creation conveniences such as &lt;b style=""&gt;stringWithString&lt;/b&gt;: always return autoreleased instances.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;Gory Autorelease Details&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Though autoreleasing an object is conceptually simple, it is useful to know more about how the mechanism works. Each application has a number of NSAutoreleasePool objects, which, as their name suggests, are collections of autoreleased objects. Sending autorelease to an object adds it to an NSAutoreleasePool. At some point in the future, typically at the end of the event loop in Foundation and AppKit applications, or at the end of the request-response loop in WebObjects applications, the NSAutoreleasePool sends release to all its objects (when it is itself released). Notice that NSAutoreleasePool is mentioned in the plural. Why would there be more than one? Because being able to scope the lifetime of objects is sometimes very useful, autorelease pools are stackable. Multi-threaded applications can have a stack of pools per thread. If you are creating a large number of temporary objects that are only valid within a very tight context such as a loop, and don't want those objects to hog memory until much later on, you can create an autorelease pool that is local to that context:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;- (id) findSomething&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        id theObject = nil;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        // Whatever we're looking for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        NSAutoreleasePool *localPool = [[NSAutoreleasePool alloc] init];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        // Autoreleased objects are now automatically placed in localPool.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        // &lt;st1:place st="on"&gt;Loop&lt;/st1:place&gt; that creates many temporary objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        while ( theObject == nil )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            ...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            if ( [temporaryObject matchesSomeCondition] )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;                theObject = [temporaryObject retain];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;                // We want this one&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        // Get rid of all those temporary objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        [localPool release];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        return [theObject autorelease];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Notice that by sending the temporaryObject we are interested in a retain message, we extend its life beyond that of localPool, and then again autorelease it before returning it, so that it is eventually disposed of.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Here is a more sophisticated example involving stacked pools: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;- (NSArray *) findAListOfThings&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        NSMutableArray *thingArray =&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            [[NSMutableArray alloc] initWithCapacity: 25];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        // The list of 25 things we're looking for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        NSAutoreleasePool *outerPool = [[NSAutoreleasePool alloc] init];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        NSAutoreleasePool *innerPool = nil;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        NSArray *largeObjectArray = nil;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        id temporaryObject = nil;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        NSEnumerator *arrayEnumerator = nil;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        // Loops that create many temporary objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        while ( [thingArray count] != 25 )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            largeObjectArray = [self fetchLotsOfObjects];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // largeObjectArray is autoreleased and contained in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // outer autorelease pool&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            arrayEnumerator = [largeObjectArray objectEnumerator];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // Note that the enumerator itself is a temporary object!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // It will be released by the outerPool&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // Create the inner pool on each iteration. When&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // a pool is created, it automatically becomes the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // "top" pool on the current thread's stack of pools.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            innerPool = [[NSAutoreleasePool alloc] init];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // autoreleased objects now go into innerPool&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            while ( temporaryObject = [arrayEnumerator nextObject] )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;                ...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;                if ( [temporaryObject matchesSomeCondition] )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;                {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;                    [thingArray addObject: temporaryObject];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;                    // Collections retain their members&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;                }            &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // Dispose temporary objects created on this iteration;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // Note that the objects added to thingArray during this&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // iteration are also in innerPool and thus sent a release&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // message, but are not destroyed because they have been&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // retained by thingArray and so have an additional reference&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            // (their retainCount &gt; 1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;            [innerPool release];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        [outerPool release];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        return [thingArray autorelease];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;h3 style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;Common Pitfalls&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Here are some of the more straightforward mistakes made when using retain, release, and autorelease:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 18pt;"&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Releasing an object you didn't create:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre style="margin-left: 18pt;"&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;@implementation Warden&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;- (void) chastizePrisonerNamed: (NSString *)aName&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        Prisoner *thePrisoner = [Prisoner prisonerWithName: aName];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        // ...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        // Many a tense moment later&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        [thePrisoner release];    // Ugh! thePrisoner isn't ours to release.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;        return;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;@end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;How do we know that thePrisoner is autoreleased? Remember, other than the alloc..., copy..., and mutableCopy... methods, &lt;i&gt;all&lt;/i&gt; class creation methods return autoreleased objects with a retain count of 1. Thus thePrisoner will automatically get a release message later on, taking it's retain count to 0 and deallocating it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Not retaining autoreleased objects that you need beyond the present context:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre style="margin-left: 18pt;"&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;@implementation Slacker&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;- (void) goofOff&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        myRationale = [Rationale randomRationale];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        // myRationale is an instance variable&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        sleep( rand( 7200 ) );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        // Do more slacker stuff&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        ...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;// Later on&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;- (void) justifyTimeToPointyHairedBoss&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        [self blurtOut: [myRationale description]];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        // Ugh! myRationale may no longer exist!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        ...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;@end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;The more correct thing to do here is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre style="margin-left: 36pt;"&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;   &lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;myRationale = [[Rationale randomRationale] retain];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;or better yet,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre style="margin-left: 36pt;"&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;   &lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;[self setMyRationale: [Rationale randomRationale]];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Returning temporary objects that you created without first autoreleasing them:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;- (Emotion *) emotionForDate: (NSDate *)aDate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        Emotion *theEmotion = nil;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        // Compute an emotion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        theEmotion = [[Emotion alloc] initWithType:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;                        ( rand( hash( [aDate stringValue] ) )];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        return theEmotion;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        // Ugh! You are responsible for disposing your creations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Writing sloppy accessors:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;- (void) setGame: (Game *)newGame&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        [game release];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        game = [newGame retain];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        // Ugh! What if game == newGame?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="margin-left: 18pt;"&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Retain cycles, i.e., objectA retains objectB and objectB retains objectA. Avoiding retain cycles is a matter of good design and clear object ownership paradigms. In general, ownership should be unidirectional. For example, it makes sense for a collection to retain its members. It doesn't for each member to retain the collection.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 102, 0);"&gt;Useful Idioms&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Always use accessor methods when referencing instance variables, &lt;i&gt;even within your own class implementation!&lt;/i&gt; It is tempting to directly manipulate one's instance variables, but easy to forget to retain values, release previously referenced objects, and for multi-threaded applications, return references to destroyed objects. The ubiquitous use of accessors also makes it easy to differentiate between instance, automatic, and global variables, and makes code easier to read.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;Don't use autorelease in accessor implementations. It's tempting to write set methods like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;- (void) setTheory: (Theory *)value&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        [theory autorelease];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        theory = [value retain];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        return;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;But autoreleasing an object is an expensive operation, and should only be used when there is uncertainty about an object's lifespan. When invoking a set method, you are no longer interested in the currently referenced object, so immediately releasing it is the correct thing to do. This approach has the added benefit of exposing extra-release problems that might otherwise not appear during testing because the old, autoreleased object is still around. Here is a prototype for an efficient, if somewhat verbose, set method:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;- (void) setTheory: (Theory *)newTheory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        Theory *oldTheory = nil;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        if ( theory != newTheory )        // If they're the same, do nothing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;            [self willChange];            // For &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Enterprise&lt;/st1:place&gt;&lt;/st1:City&gt; Objects only&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;            oldTheory = theory;        // Copy the reference&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;            theory = [newTheory retain];// First retain the new object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;            [oldTheory release];        // Then release the old object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        return;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;For classes with shared or singleton instances, always reference the instance via an accessor that will create it as necessary:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;@implementation Earth&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;static Earth *_sharedEarth = nil;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;+ (Earth *) sharedEarth&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        if ( _sharedEarth == nil )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;            _sharedEarth = [[Earth alloc] initWithTrees:&lt;span style=""&gt;  &lt;/span&gt;... ];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;        return _sharedEarth;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: green;"&gt;@end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-5447423912937323547?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/5447423912937323547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=5447423912937323547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/5447423912937323547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/5447423912937323547'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/mac-os-10x-cocoa-programming-article-1.html' title='Mac OS 10.x Cocoa programming - Article 1'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-2701237138344319307</id><published>2007-06-15T07:05:00.000-07:00</published><updated>2007-06-15T18:26:28.352-07:00</updated><title type='text'>How improve system performance?</title><content type='html'>&lt;p class="title"&gt;&lt;b&gt;&lt;span style="color: rgb(255, 139, 23);font-family:Verdana;font-size:13;"  &gt;&lt;span style="font-size:180%;"&gt;How improve system performance? By disabling DOS 8.3 naming convention&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;I briefly mentioned MFT fragmentation in a previous article (Refer &lt;a href="http://celango.blogspot.com/2007/06/how-to-improve-disk-performance-ntfs.html"&gt;How to improve the disk performance (NTFS)?&lt;/a&gt; article). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Verdana;"&gt;So what is the cause of fragmentation? &lt;span style=""&gt; &lt;/span&gt;Well most common cause is too much of use. As with anything excessive use causes fragmentation. Activities of add/update/delete to a section of disk would invariable cause it to fragment. So there is no permanent solution as we can not avoid these acts. As such it is a good idea to use disk defragmenter regularly. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;Contiguous data which results from defragmenting disk, improves system performance considerably. But what I am suggesting you here would prolong intervals between defragmentations resulting in more time for your own productive work. OK! This tip is for those folks would never be using a DOS based program nor doesn’t care for connection from DOS based operating systems (example: old games and all things before windows 95). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;In Windows XP, two file names are created for each file one is the actual name and another one is 8.3 version of that file name for compatibility with DOS based programs. Now this work name in the name of compatibility takes quite a lot of system resources specifically CPU time and disk space.&lt;span style=""&gt;  &lt;/span&gt;But this is not it, it also increases your MFT utilization and fragmentation. So the solution is to disable it. How to do this? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;Open Registry using &lt;b style=""&gt;Regedit.exe&lt;/b&gt; and Navigate to &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;In right pane, look for key by the name "&lt;b style=""&gt;NtfsDisable8dot3NameCreation&lt;/b&gt;" and sets its value to &lt;b style=""&gt;1&lt;/b&gt;. That’s it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;You would see improvement in system performance for sure.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;color:red;"  &gt;IMPORTANT:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:Verdana;"&gt; This procedure contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article numbers to view the Microsoft Knowledge Base articles:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;256986" target="_blank"&gt;256986&lt;/a&gt; - Description of the Microsoft Windows Registry&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;322756" target="_blank"&gt;322756&lt;/a&gt; - HOW TO: Back Up, Edit, and Restore the Registry in Windows XP.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-2701237138344319307?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/2701237138344319307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=2701237138344319307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/2701237138344319307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/2701237138344319307'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/how-improve-system-performance.html' title='How improve system performance?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-237700769120136562</id><published>2007-06-13T09:53:00.000-07:00</published><updated>2007-06-13T10:00:35.605-07:00</updated><title type='text'>How to improve the disk performance (NTFS)?</title><content type='html'>&lt;p style="font-weight: bold;" class="title"&gt;&lt;span style=";font-family:Verdana;font-size:13;color:green;"   &gt;&lt;span style="font-size:180%;"&gt;MFT (Master File Table) manipulations to improve disk performance&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:13;color:green;"   &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="title"&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;color:black;"  &gt;MFT stands for Master File Table. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="title"&gt;&lt;span style=";font-family:Verdana;color:black;"  &gt;Typically in Windows XP, if you are using NTFS (I would recommend it if you don't) by default NTFS would reserve 12.5% of your free disk space for MFT. MFT fragmentation could also cause a significant slow down. Let me discuss size first. Now if you have installed tons of different programs on your hard disk (or intend to do so), MFT utilization is going to be high. Under such situation, it may be beneficial to increase this percentage to say 25%. If you want to do this, here is the trick. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="title"&gt;&lt;span style=";font-family:Verdana;color:black;"  &gt;Open Registry using REGEDIT.EXE (you should be a administrator to do read and write operations in registry) and Navigate to &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="title"&gt;&lt;b style=""&gt;&lt;span style=";font-family:Verdana;font-size:10;color:green;"   &gt;HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:green;"   &gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="title"&gt;&lt;span style=";font-family:Verdana;color:black;"  &gt;In right pane, add one more key by the name "&lt;b style=""&gt;NtfsMftZoneReservation&lt;/b&gt;" with the &lt;b style=""&gt;REG_DWORD&lt;/b&gt; value of &lt;b style=""&gt;2&lt;/b&gt;. &lt;b style=""&gt;DWORD&lt;/b&gt; value of &lt;b style=""&gt;1&lt;/b&gt; is interpreted as &lt;b style=""&gt;12.5%&lt;/b&gt;, &lt;b style=""&gt;2&lt;/b&gt; as &lt;b style=""&gt;25%&lt;/b&gt; and so on.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="title"&gt;&lt;span style=";font-family:Verdana;color:black;"  &gt;Now you can feel the difference in terms of files/folders access (Read... and Write...) in the NTFS partition(s).&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Verdana;color:black;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="text"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;color:red;"  &gt;IMPORTANT:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:Verdana;"&gt; This procedure contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article numbers to view the Microsoft Knowledge Base articles:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;256986" target="_blank"&gt;256986&lt;/a&gt; - Description of the Microsoft Windows Registry&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;322756" target="_blank"&gt;322756&lt;/a&gt; - HOW TO: Back Up, Edit, and Restore the Registry in Windows XP.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-237700769120136562?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/237700769120136562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=237700769120136562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/237700769120136562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/237700769120136562'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/how-to-improve-disk-performance-ntfs.html' title='How to improve the disk performance (NTFS)?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-9082403939325261988</id><published>2007-06-11T08:02:00.000-07:00</published><updated>2007-06-11T19:04:32.790-07:00</updated><title type='text'>How to speed up the WinXP Boot - Up time</title><content type='html'>&lt;p class="MsoTitle" style="text-align: left;" align="left"&gt;&lt;span style=";font-family:Verdana;font-size:13;color:green;"   &gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;Having problem with slow boot-up time or is it taking long period to resume?&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;There are variety of reasons why your windows XP system would&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;boot slowly. Most of the times it this has to do with the startup &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;applications. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;If you would like to speed up the boot up sequence, consider removing &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;some of the startup applications that you do not need. Easiest way to &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;remove startup apps is through System Configuration Utility &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style=";font-family:Verdana;color:blue;"  &gt;MSConfig.exe&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(255, 204, 0);font-family:Verdana;" &gt; &lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;(Launch application by START -&gt; RUN and enter &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;MSCONFIG.exe)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;In MsConfig.exe application choose &lt;b style=""&gt;&lt;span style="color:blue;"&gt;STARTUP&lt;/span&gt;&lt;/b&gt; tab and deselecting &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;application(s) that you do not want to startup at boot time. If this&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;works, great!!! If not you can also look into &lt;b style=""&gt;&lt;span style="color:blue;"&gt;SERVICES&lt;/span&gt;&lt;/b&gt; tab and &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;possibly deselect &lt;b style=""&gt;&lt;span style="color:blue;"&gt;WORKSTATION&lt;/span&gt;&lt;/b&gt; option and see whether it helped or &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;not in terms of booting performance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;To know more about boot time and what Microsoft is doing about it? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;Visit Microsoft web site on fast boot /fast resume at &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;a href="http://www.microsoft.com/hwdev/platform/performance/fastboot/default.asp"&gt;http://www.microsoft.com/hwdev/platform/performance/fastboot/default.asp&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;And go to &lt;b style=""&gt;&lt;span style="color:blue;"&gt;download&lt;/span&gt;&lt;/b&gt; section and you would see software called &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style=";font-family:Verdana;color:blue;"  &gt;Bootvis.exe&lt;/span&gt;&lt;/b&gt;&lt;b style=""&gt;&lt;span style="font-family:Verdana;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:Verdana;"&gt;(i.e. it is Microsoft Boot Performance trace visualization &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;tool and has option to optimize your boot sequence). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-9082403939325261988?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/9082403939325261988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=9082403939325261988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/9082403939325261988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/9082403939325261988'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/how-to-speed-up-winxp-boot-up-time.html' title='How to speed up the WinXP Boot - Up time'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-5344236033433048495</id><published>2007-06-11T05:05:00.001-07:00</published><updated>2007-06-11T19:05:33.150-07:00</updated><title type='text'>How to remove recycle bin from your desktop?</title><content type='html'>&lt;p class="MsoTitle" style="text-align: left;" align="left"&gt;&lt;span style=";font-family:Verdana;color:olive;"  &gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;How to remove recycle bin from your desktop?&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(255, 204, 0);font-family:Verdana;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;To do this you need to edit the Windows Registry by doing following&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;steps:-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;Start Regedit.exe application. (Click on Start -&gt; Run and type the &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;application you want to open, in our case Regedit and hit enter. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;Then navigate to following entry in registry&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;span style="color:olive;"&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersio&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;color:olive;"  &gt;n\Explorer\Desktop\NameSpace\{645FF040-5081-101B-9F08-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;color:olive;"  &gt;00AA002F954E}&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt; and delete it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;This action should remove recycle bin from your desktop.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;Now feel the differences……….&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="text"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;color:red;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="text"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;color:red;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="text"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;color:red;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="text"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;color:red;"  &gt;IMPORTANT:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:Verdana;"&gt; &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;This procedure contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article numbers to view the Microsoft Knowledge Base articles:&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;256986" target="_blank"&gt;256986&lt;/a&gt; - &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;Description of the Microsoft Windows Registry&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;322756" target="_blank"&gt;322756&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;- HOW TO: Back Up, Edit, and Restore the Registry in Windows XP.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-5344236033433048495?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/5344236033433048495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=5344236033433048495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/5344236033433048495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/5344236033433048495'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/how-to-remove-recycle-bin-from-your_11.html' title='How to remove recycle bin from your desktop?'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-4577778251545881332</id><published>2007-06-11T04:20:00.000-07:00</published><updated>2007-06-11T19:06:14.745-07:00</updated><title type='text'>How to win free cell and Solitaire game instantly</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="color: rgb(153, 204, 0);font-family:Verdana;font-size:13;"  &gt;&lt;span style="font-size:180%;"&gt;How to win the FreeCell game effortlessly&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;Just Hold down &lt;b&gt;Ctrl + Shift + F10&lt;/b&gt; during game play.&lt;br /&gt;&lt;!--[if !supportLineBreakNewLine]--&gt;&lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;Then you will be asked if you want to Abort, Retry or Ignore. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;Choose Abort, and then move any card and see a window popup saying….. you have won the game…….&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;Enjoy ………………..&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="color: rgb(153, 204, 0);font-family:Verdana;font-size:13;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(153, 204, 0); font-weight: bold;font-family:Verdana;font-size:13;"  &gt;&lt;span style="font-size:180%;"&gt;How to win the Solitaire game effortlessly&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="color: rgb(153, 204, 0);font-family:Verdana;font-size:13;"  &gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;Just Hold down the&lt;span style=""&gt;  &lt;/span&gt;&lt;b&gt;Alt + Shift + 2&lt;/b&gt; during game play….. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;you ll see the cards are bumping down from the cells………… &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;yes you won the game….. try it out …. And enjoy…………..&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-4577778251545881332?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/4577778251545881332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=4577778251545881332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/4577778251545881332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/4577778251545881332'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/how-to-win-freecell-and-solitaire-games.html' title='How to win free cell and Solitaire game instantly'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-7809936250434059846</id><published>2007-06-08T22:05:00.001-07:00</published><updated>2007-06-08T22:58:55.844-07:00</updated><title type='text'>How to find the Lost Mobile phone</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: rgb(153, 204, 0);font-family:Verdana;font-size:13;"  &gt;Make a note of IMEI number of your mobile&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:13;color:black;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:black;"   &gt;An IMEI number&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:10;color:black;"   &gt;The International Mobile Equipment Identity (IMEI) number is an international identity number used to uniquely identify a mobile phone. The 15-digit IMEI number is an electronic fingerprint transmitted every time a phone is used, which reveals the identity of the mobile handset. &lt;b&gt;&lt;br /&gt;&lt;br /&gt;How can I find out my IMEI number? &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:10;color:black;"   &gt;IMEI numbers are independent of the phone number and are usually written underneath the battery or on the back of the handset. Mobile phone users can also check their 15 digit IMEI number by &lt;b&gt;dialing *#06#&lt;/b&gt; on their mobile handset. Mobile phone owners should make a note of their IMEI number and keep the details in a safe place. &lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span style=";font-family:Verdana;font-size:13;color:black;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: rgb(153, 204, 0);font-family:Verdana;font-size:13;"  &gt;If u lost your mobile, send an e-mail to &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:13;color:blue;"   &gt;&lt;a href="http://us.f306.mail.yahoo.com/ym/Compose?To=cop@vsnl.net" target="_blank"&gt;&lt;span style="color:blue;"&gt;cop@vsnl.net&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:13;color:blue;"   &gt; &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: rgb(153, 204, 0);font-family:Verdana;font-size:13;"  &gt;with the following info.&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:black;"   &gt;Your name:&lt;br /&gt;Address:&lt;br /&gt;Phone model:&lt;br /&gt;Make:&lt;br /&gt;Last used No.:&lt;br /&gt;E-mail for communication:&lt;br /&gt;Missed date:&lt;br /&gt;IMEI No.:&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:13;color:black;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: rgb(153, 204, 0);font-family:Verdana;font-size:13;"  &gt;"No need to go to police station"&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: rgb(153, 204, 0);font-family:Verdana;font-size:13;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-7809936250434059846?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/7809936250434059846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=7809936250434059846' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/7809936250434059846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/7809936250434059846'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/how-to-find-lost-mobile-phone.html' title='How to find the Lost Mobile phone'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-2556389702526076160</id><published>2007-06-08T06:15:00.001-07:00</published><updated>2007-06-11T19:11:05.656-07:00</updated><title type='text'>Useful Internet Explorer Shortcuts</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;color:fuchsia;"  &gt;Viewing and exploring Web pages&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;F1&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Display the Internet Explorer Help, or when in a dialog box, display context help on an item&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;F11&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Toggle between Full Screen and regular view of the browser window&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;TAB&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Move forward through the items on a Web page, the Address bar, and the Links bar&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;&lt;br /&gt;&lt;b&gt;SHIFT+TAB&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Move back through the items on a Web page, the Address bar, and the Links bar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;ALT+HOME&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Go to your Home page&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;ALT+RIGHT ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Go to the next page&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;ALT+LEFT ARROW or&lt;span style=""&gt;  &lt;/span&gt;BACKSPACE&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Go to the previous page&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;SHIFT+F10&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Display a shortcut menu for a link&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+TAB or F6&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Move forward between frames&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;SHIFT+CTRL+TAB&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Move back between frames&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;UP ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Scroll toward the beginning of a document&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;DOWN ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Scroll toward the end of a document&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;PAGE UP&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Scroll toward the beginning of a document in larger increments&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;PAGE DOWN&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Scroll toward the end of a document in larger increments&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;HOME&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Move to the beginning of a document&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;END&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Move to the end of a document&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+F&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Find on this page&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;F5 or CTRL+R&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Refresh the current Web page only if the time stamp for the Web version and your locally stored version are different&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+F5&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Refresh the current Web page, even if the time stamp for the Web version and your locally stored version are the same&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;ESC&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Stop downloading a page&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+N&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Open a new window&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+W&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Close the current window&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+S&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Save the current page&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+P&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Print the current page or active frame&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;ENTER&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Activate a selected link&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+E&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Open Search in Explorer bar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+I&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Open Favorites in Explorer bar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+H&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Open History in Explorer bar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL + click&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;In History or Favorites bars, open multiple folders  &lt;!--[if !supportLineBreakNewLine]--&gt;  &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:13;color:fuchsia;"   &gt;Using the Address bar&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;ALT+D&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Select the text in the Address bar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;F4&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Display the Address bar history&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+LEFT ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;When in the Address bar, move the cursor left to the next logical break (. or /)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+RIGHT ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;When in the Address bar, move the cursor right to the next logical break (. or /)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+ENTER&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Add "www." to the beginning and ".com" to the end of the text typed in the Address bar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;UP ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Move forward through the list of AutoComplete matches&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;DOWN ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Move back through the list of AutoComplete matches&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;  &lt;!--[if !supportLineBreakNewLine]--&gt;  &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:13;color:fuchsia;"   &gt;Working with favorites&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:13;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+D&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Add the current page to your favorites&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+B&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Open the Organize Favorites dialog box&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;ALT+UP ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Move selected item up in the Favorites list in the Organize Favorites dialog box&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;ALT+DOWN ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Move selected item down in the Favorites list in the Organize Favorites dialog box&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;  &lt;!--[if !supportLineBreakNewLine]--&gt;  &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:13;color:fuchsia;"   &gt;Editing&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+X&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Remove the selected items and copy them to the Clipboard&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+C&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Copy the selected items to the Clipboard&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+V&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Insert the contents of the Clipboard at the selected location&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:11;color:purple;"   &gt;CTRL+A&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;font-size:10;color:purple;"   &gt;&lt;br /&gt;Select all items on the current Web page&lt;/span&gt;&lt;span style="color:purple;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-2556389702526076160?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/2556389702526076160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=2556389702526076160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/2556389702526076160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/2556389702526076160'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/useful-internet-explorer-shortcuts_08.html' title='Useful Internet Explorer Shortcuts'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-1024756884927595788</id><published>2007-06-08T06:15:00.000-07:00</published><updated>2007-06-08T06:18:46.605-07:00</updated><title type='text'>Useful Internet Explorer Shortcuts</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 13.5pt; font-family: Verdana; color: rgb(255, 204, 0);"&gt;Viewing and exploring Web pages&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;F1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Display the Internet Explorer Help, or when in a dialog box, display context help on an item&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;F11&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Toggle between Full Screen and regular view of the browser window&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;TAB&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Move forward through the items on a Web page, the Address bar, and the Links bar&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;&lt;b&gt;SHIFT+TAB&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Move back through the items on a Web page, the Address bar, and the Links bar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;ALT+HOME&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Go to your Home page&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;ALT+RIGHT ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Go to the next page&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;ALT+LEFT ARROW or&lt;span style=""&gt;  &lt;/span&gt;BACKSPACE&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Go to the previous page&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;SHIFT+F10&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Display a shortcut menu for a link&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+TAB or F6&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Move forward between frames&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;SHIFT+CTRL+TAB&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Move back between frames&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;UP ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Scroll toward the beginning of a document&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;DOWN ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Scroll toward the end of a document&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;PAGE UP&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Scroll toward the beginning of a document in larger increments&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;PAGE DOWN&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Scroll toward the end of a document in larger increments&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;HOME&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Move to the beginning of a document&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;END&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Move to the end of a document&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+F&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Find on this page&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;F5 or CTRL+R&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Refresh the current Web page only if the time stamp for the Web version and your locally stored version are different&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+F5&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Refresh the current Web page, even if the time stamp for the Web version and your locally stored version are the same&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;ESC&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Stop downloading a page&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+N&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Open a new window&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+W&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Close the current window&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+S&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Save the current page&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+P&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Print the current page or active frame&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;ENTER&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Activate a selected link&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+E&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Open Search in Explorer bar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+I&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Open Favorites in Explorer bar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+H&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Open History in Explorer bar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL + click&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;In History or Favorites bars, open multiple folders&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: purple;"&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 13.5pt; font-family: Verdana; color: rgb(255, 204, 0);"&gt;Using the Address bar&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;ALT+D&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Select the text in the Address bar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;F4&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Display the Address bar history&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+LEFT ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;When in the Address bar, move the cursor left to the next logical break (. or /)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+RIGHT ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;When in the Address bar, move the cursor right to the next logical break (. or /)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+ENTER&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Add "www." to the beginning and ".com" to the end of the text typed in the Address bar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;UP ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Move forward through the list of AutoComplete matches&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;DOWN ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Move back through the list of AutoComplete matches&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 13.5pt; font-family: Verdana; color: rgb(255, 204, 0);"&gt;Working with favorites&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 13.5pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+D&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Add the current page to your favorites&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+B&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Open the Organize Favorites dialog box&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;ALT+UP ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Move selected item up in the Favorites list in the Organize Favorites dialog box&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;ALT+DOWN ARROW&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Move selected item down in the Favorites list in the Organize Favorites dialog box&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 13.5pt; font-family: Verdana; color: rgb(255, 204, 0);"&gt;Editing&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+X&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Remove the selected items and copy them to the Clipboard&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+C&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Copy the selected items to the Clipboard&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+V&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Insert the contents of the Clipboard at the selected location&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;CTRL+A&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;&lt;br /&gt;Select all items on the current Web page&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-1024756884927595788?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/1024756884927595788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=1024756884927595788' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/1024756884927595788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/1024756884927595788'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/useful-internet-explorer-shortcuts.html' title='Useful Internet Explorer Shortcuts'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-6126828742088579349</id><published>2007-06-08T05:40:00.000-07:00</published><updated>2007-06-08T06:03:23.362-07:00</updated><title type='text'>How to Add/change Windows XP Logon Wallpaper</title><content type='html'>&lt;p class="title"&gt;&lt;b style=""&gt;&lt;span style="font-size: 13.5pt; font-family: Verdana; color: rgb(255, 139, 23);"&gt;Add/Change a Windows XP Logon Wallpaper...&lt;/span&gt;&lt;span style="color: rgb(255, 139, 23);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="text"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;1)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana;"&gt; Navigate to:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Arial; color: rgb(0, 0, 153);"&gt;HKEY &lt;/span&gt;&lt;span style="font-family: Verdana; color: rgb(0, 0, 153);"&gt;USERS\ .DEFAULT\Control Panel\Desktop&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2)&lt;/b&gt; Double click the wallpaper value, and type in the full path of your image and the filename (&lt;/span&gt;i.e. &lt;span style="font-family: Verdana;"&gt;This could be your favourite image or picture as long as it is a .bmp or .jpg).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3)&lt;/b&gt; To tile the image set &lt;span style="color: rgb(102, 0, 204);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;TileWallpaper&lt;/span&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;" &lt;/span&gt;to 1&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4)&lt;/b&gt; To Stretch the wallpaper set "&lt;span style="color: rgb(0, 0, 153);"&gt;WallPaperStyle&lt;/span&gt;" " to 2&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5)&lt;/b&gt; Close the Registry editor (i.e Regedit.exe) and the changes will take place when you Log off. &lt;/span&gt;&lt;/p&gt;  &lt;p class="text"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: red;"&gt;IMPORTANT:&lt;/span&gt;&lt;/b&gt; This procedure contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article numbers to view the Microsoft Knowledge Base articles:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="titleChar"&gt;&lt;span style="font-size: 13.5pt; font-family: Verdana; color: rgb(255, 139, 23);"&gt;The above trick may not work when you have the Windows XP welcome screen configuration, but you can easily turn off the XP welcome screen.&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana; color: rgb(255, 139, 23);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;I&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt; personally prefer the &lt;b&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;"Log On"&lt;/span&gt;&lt;/b&gt; screen - (NB - If you are using Windows XP Professional on a "domain" based network then the "Welcome Screen" is not an option for you to use...) because this gets you the ability to log on to ANY user account, whereas under the &lt;b&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;"Welcome Screen"&lt;/span&gt;&lt;/b&gt; you can NOT access hidden users.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;If you wish to turn off the "Welcome Screen"&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1)&lt;/b&gt; Start &gt; Control Panel &gt; User Accounts&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2)&lt;/b&gt; Select "Change the way users log on or off"&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3)&lt;/b&gt; Uncheck the "Welcome Screen" option&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4)&lt;/b&gt; Click "Apply Options"&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;5)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana;"&gt; The settings will take effect when you log off.&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana,Arial,Helvetica,sans-serif;font-size:100%;"  &gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-6126828742088579349?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/6126828742088579349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=6126828742088579349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/6126828742088579349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/6126828742088579349'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/how-to-addchange-windows-xp-logon.html' title='How to Add/change Windows XP Logon Wallpaper'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-8780246555882249400</id><published>2007-06-06T22:33:00.000-07:00</published><updated>2007-06-06T22:34:46.331-07:00</updated><title type='text'>How To Backup Outlook Express</title><content type='html'>&lt;span style="font-family:Tahoma;"&gt;&lt;span style="color: rgb(255, 139, 23);"&gt;&lt;b&gt;To Backup Outlook Express     Data you should need to:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;  • Copy mail files to a backup folder&lt;br /&gt;  • Export the Address Book to a file&lt;br /&gt;  • Export the mail account to a file&lt;br /&gt;  • Export the news account to a file&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;  &lt;b&gt;#    Copy Mail Files to a Backup Folder:&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;  To make a backup copy of your Outlook Express e-mail message files:   &lt;br /&gt; &lt;br /&gt;  &lt;b&gt;1.&lt;/b&gt; On the Tools menu, click Options.&lt;br /&gt;  &lt;b&gt;2.&lt;/b&gt; On the Maintenance tab, click Store Folder.&lt;br /&gt;  &lt;b&gt;3.&lt;/b&gt; Select the folder location, and then press CTRL+C to copy the     location.&lt;br /&gt;  &lt;b&gt;4.&lt;/b&gt; Click Cancel, and then click Cancel again to close the dialog     box.&lt;br /&gt;  &lt;b&gt;5.&lt;/b&gt; Click Start, and then click Run.&lt;br /&gt;  &lt;b&gt;6.&lt;/b&gt; In the Open box, press CTRL+V, and then click OK.&lt;br /&gt;  &lt;b&gt;7.&lt;/b&gt; On the Edit menu, click Select All.&lt;br /&gt;  &lt;b&gt;8.&lt;/b&gt; On the Edit menu, click Copy, and then close the window.&lt;br /&gt;  &lt;b&gt;9.&lt;/b&gt; Right-click any empty space on your desktop, click New, and then     click Folder.&lt;br /&gt;  &lt;b&gt;10.&lt;/b&gt; Type mail backup for the folder name, and then press ENTER.&lt;br /&gt;  &lt;b&gt;11.&lt;/b&gt; Double-click the Mail Backup folder to open it.&lt;br /&gt;  &lt;b&gt;12.&lt;/b&gt; On the Edit menu, click Paste.&lt;br /&gt;  &lt;b&gt;13.&lt;/b&gt; Close the Mail Backup window.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;  &lt;b&gt;#    Export the Address Book to a File:&lt;br /&gt;  &lt;/b&gt;   &lt;br /&gt;  &lt;span style="color: rgb(255, 139, 23);"&gt;&lt;b&gt;IMPORTANT:&lt;/b&gt;&lt;/span&gt; This step is very important when multiple Identities are     in use. A .WAB (Windows Address Book) file is used by Outlook     Express 5.x and 6.0 versions, even if multiple Identities are used.     The individual data for each Identity is stored in a folder, by user     name, within the .WAB file in use.&lt;br /&gt; &lt;br /&gt;  Exporting this data, while logged in to a specific Identity, is the     only means of segregating the Address Book data. If the .WAB file     becomes dissociated from the user Identities, the data can only be     exported in total - not folder by folder.&lt;br /&gt; &lt;br /&gt;  Another reason to export the .WAB file to a .csv file is that if the     .WAB file is shared with Microsoft Outlook, the addresses are stored     in the *.pst file in Outlook. When you export the file from the     Outlook Express File menu to a *.csv file it exports the correct     contacts. If the Address Book is shared with Microsoft OutLook, you     are not able to export from within the Address Book on the File     menu. This option is dimmed or not available.&lt;br /&gt; &lt;br /&gt;  To export your Outlook Express address book:&lt;br /&gt; &lt;br /&gt;  &lt;b&gt;1.&lt;/b&gt; On the File menu, click Export, and then click Address Book.&lt;br /&gt;  &lt;b&gt;2.&lt;/b&gt; Click Text File (Comma Separated Values), and then click Export.   &lt;br /&gt;  &lt;b&gt;3.&lt;/b&gt; Click Browse.&lt;br /&gt;  &lt;b&gt;4.&lt;/b&gt; Locate the Mail Backup folder that you created.&lt;br /&gt;  &lt;b&gt;5.&lt;/b&gt; In the File Name box, type address book backup, and then click     Save.&lt;br /&gt;  &lt;b&gt;6.&lt;/b&gt; Click Next.&lt;br /&gt;  &lt;b&gt;7.&lt;/b&gt; Click to select the check boxes for the fields that you want to     export, and then click Finish.&lt;br /&gt;  &lt;b&gt;8.&lt;/b&gt; Click OK and then click Close.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;  &lt;b&gt;#    Export the Mail Account to a File:&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;  To make a backup copy of your Outlook Express mail account:&lt;br /&gt; &lt;br /&gt;  &lt;b&gt;1.&lt;/b&gt; On the Tools menu, click Accounts.&lt;br /&gt;  &lt;b&gt;2.&lt;/b&gt; On the Mail tab, click the mail account that you want to export,     and then click Export.&lt;br /&gt;  &lt;b&gt;3.&lt;/b&gt; In the Save In box, locate the Mail Backup folder on your     desktop, and then click Save.&lt;br /&gt;  &lt;b&gt;4.&lt;/b&gt; Repeat these steps for each mail account that you want to export.   &lt;br /&gt;  &lt;b&gt;5.&lt;/b&gt; Click Close.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;  &lt;b&gt;#    Export the Newsgroup Account to a File:&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;  To make a backup copy of your Outlook Express news accounts:&lt;br /&gt; &lt;br /&gt;  &lt;b&gt;1.&lt;/b&gt; On the Tools menu, click Accounts.&lt;br /&gt;  &lt;b&gt;2.&lt;/b&gt; On the News tab, click the news account that you want to export,     and then click Export.&lt;br /&gt;  &lt;b&gt;3.&lt;/b&gt; In the Save In box, use locate the Mail Backup folder on your     desktop, and then click Save.&lt;br /&gt;  &lt;b&gt;4.&lt;/b&gt; Repeat these steps for each news account that you want to export.   &lt;br /&gt;  &lt;b&gt;5.&lt;/b&gt; Click Close.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-8780246555882249400?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/8780246555882249400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=8780246555882249400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/8780246555882249400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/8780246555882249400'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/how-to-backup-outlook-express.html' title='How To Backup Outlook Express'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3907024899567883250.post-3308677124712065032</id><published>2007-06-06T22:26:00.000-07:00</published><updated>2007-06-07T05:55:06.784-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outlook Backup'/><title type='text'>How To Backup Microsoft Outlook With Confidence</title><content type='html'>&lt;p align="justify"&gt;                          &lt;span style="font-family:Tahoma;"&gt;&lt;span style="color: rgb(255, 139, 23);font-size:130%;" &gt;&lt;b&gt;In This     Article We Shall Look At:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;•&lt;/b&gt; &lt;b&gt;How to make a backup copy of a .pst file.&lt;br /&gt;• How to export .pst file data.&lt;br /&gt;• How to import .pst file data in to Outlook.&lt;br /&gt;• How to transfer Outlook data from one computer to another     computer.&lt;br /&gt;• How to Backup Personal Address Books.&lt;br /&gt;• How to back up Outlook Settings Files. &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 139, 23);font-size:130%;" &gt;&lt;b&gt;Introduction:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Microsoft Outlook stores messages, contacts, appointments, tasks,     notes, and journal entries data in Messaging Application Programming     Interface (MAPI) folders. MAPI folders can be stored in one of the     two following locations:&lt;br /&gt;&lt;br /&gt;• In a personal folders (&lt;b&gt;.pst&lt;/b&gt;) file on your hard disk drive. &lt;br /&gt;• In a mailbox that is located on the server if you are using     Outlook with MicroSoft Exchange server. (This article does not     address using Exchange Server)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If you back up data that you created in Outlook, you can do the     following depending on your situation:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p align="justify"&gt;                          &lt;span style="font-family:Tahoma;"&gt;• Restore Data that is lost or damaged because     of a hardware failure.&lt;br /&gt;• Restore data that has been lost because on unexpected events.&lt;br /&gt;• Move or transfer data to a different hard disk drive that is     either located on the same computer or on a different computer.&lt;br /&gt;• Move or transfer data to a from the original hard disk drive to a     hard disk drive that is located on a different computer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 139, 23);font-size:130%;" &gt;&lt;b&gt;How To Make a Backup Copy of a .PST     File&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you are not using Outlook with Microsoft Exchange Server, Outlook     stores all of its data in a .pst file. If you want to back up or to     export a particular folder, such as a Contacts or a Calendar folder,     go to the "How to export .pst data." section .&lt;br /&gt;&lt;br /&gt;Use the following steps to back up the whole .pst file:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; Quit any messaging programs such as Outlook, Microsoft     Exchange, or Microsoft Windows Messaging.&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; Click Start, point to Settings, and then click Control     Panel.&lt;br /&gt;&lt;b&gt;3.&lt;/b&gt; Double-click the Mail icon.&lt;br /&gt;&lt;b&gt;4.&lt;/b&gt; Click the Show Profiles button.&lt;br /&gt;&lt;b&gt;5.&lt;/b&gt; Click the appropriate profile, and then click Properties. &lt;br /&gt;&lt;b&gt;6.&lt;/b&gt; Click the Data Files button.&lt;br /&gt;&lt;b&gt;7.&lt;/b&gt; Click the Personal Folders Service that you want to back     up. By default, this service is called Personal Folders. However,     this service may have been named something else.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt; You may have more than one Personal Folders service in     your profile. If this is true, you must back up each set of .pst     files separately.&lt;br /&gt;&lt;br /&gt;If there are not any Personal Folders services in your profile and     you have been able to store information such as messages, contacts,     or appointments in Outlook, your information is most likely being     stored in a mailbox on an Exchange Server. If this is true, see the     "Data on a Microsoft Exchange Server" section.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;8.&lt;/b&gt; Click Settings, and then note the path and file name that     is listed.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note &lt;/b&gt;The .pst file contains all data that is stored in the     MAPI folders that are used by Outlook in that file. If the file may     be too large to place on a floppy disk. If this is true, use a     CD-ROM or other portable drive device. You can reduce the size of a     .pst file when you click Compact Now.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;9.&lt;/b&gt; Close all of the Properties windows.&lt;br /&gt;&lt;b&gt;10.&lt;/b&gt; Make a copy of the file that you noted in step 5 by using     Windows Explorer or My Computer.&lt;br /&gt;&lt;br /&gt;You may have to restore a .pst file from a removable media, such as     a floppy disk drive, a portable drive device, a CD-ROM, a magnetic     tape drive, or any other storage media. To do so, copy the backup     copy of the file that you just created from the storage media back     to the computer hard disk drive.&lt;br /&gt;&lt;br /&gt;When you do this, make sure that the Read-Only attribute is cleared.     If this attribute is selected, you may receive the following error     message:&lt;/span&gt;&lt;/p&gt;    &lt;p align="justify"&gt;                          &lt;span style="font-family:Tahoma;"&gt;&lt;i&gt;The specified device, file, or path could not     be accessed. It may have been deleted, it may be in use, you may be     experiencing network problems, or you may not have sufficient     permission to access it. Close any application using this file and     try again. &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: rgb(255, 139, 23);font-size:130%;" &gt;How To Export .pst File Data&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Use the following steps to export an individual folder:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; On the File menu, click Import And Export. If the menu     item is not available, hover your pointer over the chevrons at the     bottom of the menu, and then click Import and Export.&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; Click Export To File, and then click Next.&lt;br /&gt;&lt;b&gt;3.&lt;/b&gt; Click Personal Folder File (.pst) , and then click Next. &lt;br /&gt;&lt;b&gt;4.&lt;/b&gt; Click the folder that you want to export the .pst file to,     and then click Next.&lt;br /&gt;&lt;b&gt;5.&lt;/b&gt; Click the Browse button, and then select the location to     save the .pst file.&lt;br /&gt;&lt;b&gt;6.&lt;/b&gt; In the File Name box, type a descriptive file name for the     .pst file, and then click OK.&lt;br /&gt;&lt;b&gt;7.&lt;/b&gt; Click Finish.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 139, 23);font-size:130%;" &gt;&lt;b&gt;How To Import .pst File Data Into     Microsoft Outlook&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Use the following steps to import a .pst) file into Microsoft     Outlook:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; On the File menu, click Import And Export. If the menu     item is not available, hover your pointer over the chevrons at the     bottom of the menu, and then click Import and Export.&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; Click Import from another program or file., and then click     Next.&lt;br /&gt;&lt;b&gt;3. &lt;/b&gt;Click Personal Folder File (.pst), and then click Next. &lt;br /&gt;&lt;b&gt;4.&lt;/b&gt; Type the path and the name of the .pst file that you want     to import, and then click Next.&lt;br /&gt;&lt;b&gt;5.&lt;/b&gt; Select the folder that you want to import, or select the     top of the hierarchy to import everything, and then click Finish. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: rgb(255, 139, 23);font-size:130%;" &gt;How To Transfer Outlook Data From     One Computer To Another Computer&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You cannot share or synchronize .pst files. However, you can use the     steps in the "&lt;b&gt;How to import .pst file data into Outlook&lt;/b&gt;"     section to copy data from Outlook to a .pst file. You can use a CD     or DVD-ROM, portable media, or copy files to another system over a     LAN/WAN link for use on another computer. Remember the following     requirements when you work with .pst files:&lt;br /&gt;&lt;br /&gt;• When you copy .pst files from a CD- or DVD-ROM, verify that the     Read-Only attribute is not set on the .pst file. To verify this     setting, right-click the .pst file that you copied from the CD-     DVD-ROM, and then click Properties. Make sure that the Read-Only”     check box is not selected.&lt;/span&gt;&lt;/p&gt;    &lt;p align="justify"&gt;                          &lt;span style="font-family:Tahoma;"&gt;• Connecting to .pst files over LAN/WAN links is     not supported and problems connecting to .pst files over such links     can occur.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If you need to make a secondary .pst file to store data for     transfer between two different computers, or for backup purposes,     use the following steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; On the File menu, point to New, and then click Outlook     Data File.&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; Type a unique name for the new .pst file, for example,     type Transfer.pst, and then click OK.&lt;br /&gt;&lt;b&gt;3.&lt;/b&gt; Type a display name for the Personal Folders file, and     then click OK.&lt;br /&gt;&lt;b&gt;4.&lt;/b&gt; Quit Outlook.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If you just want to copy a .pst file that is in Outlook, use the     following steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; In Outlook, right-click the folder you wish to copy and     click Copy “foldername”. For example, to copy the Calendar,     right-click the Calendar folder, and then click Copy “Calendar”.&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; In the Copy Folder dialog box, click your Transfer     Folders, and then click OK.&lt;br /&gt;&lt;b&gt;3.&lt;/b&gt; You can repeat the steps as needed for other folders.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: rgb(255, 139, 23);font-size:130%;" &gt;How To Back Up Personal Address     Books&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Although contact information can be kept either in an Exchange     Server mailbox or in a .pst file, and is accessed through the     Outlook Address Book, the Personal Address Book creates a file that     is stored on your hard disk drive. To make sure that this address     book is backed up, you must include any files with the .pab     extension in your backup process.&lt;br /&gt;&lt;br /&gt;Use the following steps to locate your Personal Address Book file: &lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; If you are running Microsoft Windows 95 or Microsoft     Windows 98:&lt;br /&gt;&lt;br /&gt;Click Start, point to Find, and then click Files or Folders.&lt;br /&gt;&lt;br /&gt;If you are running Microsoft Windows XP, 2000 or Microsoft Windows     Millennium Edition (Me):&lt;br /&gt;&lt;br /&gt;Click Start, point to Search, and then click For Files or Folders&lt;/span&gt;&lt;/p&gt;    &lt;p align="justify"&gt;                          &lt;span style="font-family:Tahoma;"&gt;(Windows XP = All Files and Folders)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; Type *.Wab, click My Computer in the Look In box, and then     click Find Now.&lt;br /&gt;&lt;br /&gt;Note the location of the .Wab file, and include it in your backup.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If you need to restore this address book either to the same     computer or a different computer, use the following steps: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; Close any message-related programs such as Outlook,     Microsoft Exchange, or Windows Messaging.&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; Click Start, point to Settings, and then click Control     Panel.&lt;br /&gt;&lt;b&gt;3.&lt;/b&gt; Double-click the Mail icon.&lt;br /&gt;&lt;b&gt;4.&lt;/b&gt; Click the Show Profiles button.&lt;br /&gt;&lt;b&gt;5.&lt;/b&gt; Click the appropriate profile, and then click Properties &lt;br /&gt;&lt;b&gt;6.&lt;/b&gt; Click the Email Accounts button.&lt;br /&gt;&lt;b&gt;7.&lt;/b&gt; Click Add a New Directory or Address Book, and then click     Next&lt;br /&gt;&lt;b&gt;8.&lt;/b&gt; Click Additional Address Books, and then click Next.&lt;br /&gt;&lt;b&gt;9.&lt;/b&gt; Click Personal Address Book, and then click Next.&lt;br /&gt;&lt;b&gt;10.&lt;/b&gt; Type the path and the name of the Personal Address Book     file that you want to restore, click Apply, and then click OK.&lt;br /&gt;&lt;b&gt;11.&lt;/b&gt; Click Close, and click then OK.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NB&lt;/b&gt; - The Outlook Address Book is a service used by the     profile to facilitate using a Contacts folder in a Mailbox, Personal     Folders File or Public Folder as an e-mail address book. The Outlook     Address Book, itself, contains no data that needs to be saved.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: rgb(255, 139, 23);font-size:130%;" &gt;How To Backup Microsoft Outlook     Settings Files&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you have customized settings that you want to replicate on     another computer by using Outlook, you may want to include the     following files in your back up as well as the personal folders (.pst)     file:&lt;br /&gt;&lt;br /&gt;• Outcmd.dat - This file stores toolbar and menu settings.&lt;br /&gt;• &lt;profile&gt;.fav - This is your Favorites file that includes the     settings for the Outlook bar.&lt;br /&gt;• &lt;profile&gt;.nk2 - This file stores the NickNames for     AutoComplete.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt; If you use Microsoft Word as your e-mail editor,     signatures are stored in the Normal.dot file as AutoText entries.     You should back up this file also.&lt;br /&gt;&lt;br /&gt;Folder design properties include permissions, filters, description,     forms, and views are integrated into the folders on which they were     created. If you export items from one personal folders (.pst) file     to another, design properties are not maintained. To back this     information up, see the "Copy the design of a folder" topic in &lt;b&gt;    Microsoft Office Outlook Help&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;If you have created customized signatures that you want to replicate     to another computer by using Outlook, you may want to back up all     custom signature files located in the following folder:&lt;br /&gt;&lt;br /&gt;Drive:\Documents and Settings\Username\Application     Data\Microsoft\Signatures&lt;br /&gt;&lt;br /&gt;where Drive represents the drive that Outlook was installed to and     Username represents the user name that Outlook was installed under.&lt;br /&gt;&lt;br /&gt;Each individual signature has its own file and uses the same name as     the signature you used when you created it. For example, if you     created a signature named MySig, the following files are created in     the Signatures folder:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MySig.htm&lt;/b&gt; - This file stores the Hypertext Markup Language     (HTML) auto signature.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MySig.rtf&lt;/b&gt; - This file stores the Microsoft Outlook Rich Text     Format (RTF) Auto signature.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MySig.txt&lt;/b&gt; - This file stores the plain text format Auto     signature. &lt;/profile&gt;&lt;/profile&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3907024899567883250-3308677124712065032?l=celango.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://celango.blogspot.com/feeds/3308677124712065032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3907024899567883250&amp;postID=3308677124712065032' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/3308677124712065032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3907024899567883250/posts/default/3308677124712065032'/><link rel='alternate' type='text/html' href='http://celango.blogspot.com/2007/06/how-to-backup-microsoft-outlook-with.html' title='How To Backup Microsoft Outlook With Confidence'/><author><name>Elango's Blog</name><uri>http://www.blogger.com/profile/14977280944317981784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_YMrd42w-XOo/R8-7Dz33x5I/AAAAAAAAABM/BbpvmTPYl08/S220/Photo+2.jpg'/></author><thr:total>1</thr:total></entry></feed>
