<?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-481671760044781258</id><updated>2011-07-07T16:46:13.920-07:00</updated><category term='plans'/><category term='appraisal'/><category term='Mobiles'/><category term='Quotes'/><category term='Microsoft'/><category term='April 1st'/><category term='ABT'/><category term='security'/><category term='Cricket'/><category term='IT in India'/><category term='IPL'/><category term='EngineerWithinMe'/><category term='UI'/><category term='2010'/><category term='Design'/><category term='SWITCH'/><category term='newyear'/><category term='Java'/><category term='Inspiration'/><category term='Randy Pausch'/><category term='OpenSource'/><category term='Google'/><category term='Programming'/><category term='Blogging'/><category term='The Last Lecture'/><category term='programmer'/><category term='Attacks'/><category term='OmniBus'/><category term='Travel'/><category term='software'/><category term='Resolution'/><category term='Obama'/><category term='IE'/><category term='performance'/><category term='KNBL'/><category term='TamilNaduTravel'/><category term='Battery'/><category term='XSS'/><category term='Android'/><category term='SoftwareEngineerWithinMe'/><category term='Dreams'/><category term='Outsourcing'/><category term='FireFox'/><title type='text'>Humble Programmer</title><subtitle type='html'>"...programming is an attempt to compensate for the strictly limited size of our skulls. The people who are best at programming are the people who realize how small their brains are. They are humble."</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-481671760044781258.post-6997916551996807739</id><published>2009-12-31T01:05:00.000-08:00</published><updated>2009-12-31T02:05:26.613-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2010'/><category scheme='http://www.blogger.com/atom/ns#' term='plans'/><category scheme='http://www.blogger.com/atom/ns#' term='newyear'/><category scheme='http://www.blogger.com/atom/ns#' term='KNBL'/><title type='text'>Good Bye 2009,  Hello 2010 !</title><content type='html'>What a year it was ! 2009 was awesome,  Did some achievements in career / and in my  skills (Specially in programming ;) ) which  i can carry  forward rest of my life. :)&lt;br /&gt;&lt;br /&gt;Excellent year 2009 was some recaps / achievements ,&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Managed to learn the art of programming for fun (Big YaY). Thanks for the people who screwed me in the name of&lt;a href="http://www.humbleprogrammer.org/2009/07/o-is-new-0.html"&gt; performance appraisal&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Full time Twitterer. Thanks to the awesome people I follow.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The day i used &lt;a href="http://en.wikipedia.org/wiki/Bloom_filter"&gt;Bloom Filter&lt;/a&gt; to increase the number of transaction per second in our application from 150 transactions to 1500 transactions. That day brought so much of confidence into me.&lt;/li&gt;&lt;li&gt;My tricky code using Annotation  to fix a big portability issue in using a IoC container in our application. I am sure it saved a lot of dollars to my customer. &lt;/li&gt;&lt;li&gt;A project on the clouds close to my heart.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Munnar Trip as  part of JP marriage.  &lt;/li&gt;&lt;li&gt;The walks which i had with&lt;a href="http://peerlessdeepak.wordpress.com/"&gt; @peerless&lt;/a&gt; from VPN to Thirumangalam and the dinner we had after such walks.&lt;/li&gt;&lt;/ul&gt;Things which i willing to do in 2010&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Learn one JVM languages preferably java next next aka &lt;a href="http://www.scala-lang.org/"&gt;Scala&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Learn one LISP Dialect. Hmm Clojure? (That makes 3 languages on the JVM ;) ) &lt;/li&gt;&lt;li&gt;Language which embrace failure, say it as &lt;a href="http://en.wikipedia.org/wiki/Erlang_%28programming_language%29"&gt;Erlang&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Read more about Distributed computing and stay away from people who thinks Master-salve as Distributed system (for God sake please)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Finish reading the damn algorithm book.&lt;/li&gt;&lt;li&gt;Be a Thoughtworker soon. Build the laid foundation even stronger.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Get a &lt;a href="http://images.google.co.in/images?hl=en&amp;amp;client=firefox-a&amp;amp;rls=org.mozilla:en-US:official&amp;amp;hs=vcx&amp;amp;q=Trekking+bag&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;ei=f3U8S8SACIzplAfXzqWqBw&amp;amp;sa=X&amp;amp;oi=image_result_group&amp;amp;ct=title&amp;amp;resnum=1&amp;amp;ved=0CBcQsAQwAA"&gt;Trekkers &lt;/a&gt;bag. ;)&lt;/li&gt;&lt;li&gt;Lay platform for Geek Nights with KNBLites.&lt;/li&gt;&lt;li&gt;*Kidnap a kid.&lt;/li&gt;&lt;li&gt;*Start writing a book on "Rapidly Kidnapping kids for Dummies" with &lt;a href="http://peerlessdeepak.wordpress.com/"&gt; @peerless&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Funny thing about this decade is Im right in the middle, Last Decade i was a kid going school, next decade my kid will goto school ;) there by stopping all my kidnapping.&lt;br /&gt;&lt;br /&gt;I am seeing it 2010 is gonna be a awesome + BiGGG year to me and all the KNBLites. Every one is upto something big. I am sure every one will achieve the chasing dream.&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:130%;"&gt;Wish you a Happy New year ahead.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;*unlikely&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-6997916551996807739?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/6997916551996807739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=6997916551996807739' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6997916551996807739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6997916551996807739'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2009/12/good-bye-2009-hello-2010.html' title='Good Bye 2009,  Hello 2010 !'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-481671760044781258.post-6242466173646477213</id><published>2009-07-29T11:25:00.000-07:00</published><updated>2009-08-04T23:07:01.701-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='SoftwareEngineerWithinMe'/><category scheme='http://www.blogger.com/atom/ns#' term='appraisal'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><title type='text'>O is the new 0</title><content type='html'>&lt;p&gt;&lt;br /&gt;Oh yeah I am renewing my blogging habit. Perhaps a redemption attempt. Why i stopped blogging? Well there is lot of reason behind it.First its not just because of im being so busy but i was into a serious cycles of depression lately in the year, mainly due to performance appraisals.Which bogged my mind always, trust me blogging wont be good unless you really have a fresh mind. Though few of my pals including &lt;a href="http://peerlessdeepak.wordpress.com/"&gt;peerless&lt;/a&gt; , the Knbl guys and few others helped me to get rid of it. But still i couldnt continue my blogging. Sole reason is &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt;. It occupied much of my time lately. Thanks &lt;a href="http://twitter.com/ev"&gt;Ev&lt;/a&gt;, &lt;a href="http://twitter.com/biz"&gt;Biz &lt;/a&gt;, &lt;a href="http://twitter.com/jack"&gt;Jack &lt;/a&gt;for such a wonderful tool.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Now i started to blog again. When performance appraisal are out. I m analyzing, looking back my own past one year, what i did, whats my growth. Here we Go !.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What the heck is performance appraisals?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;A collaborative definition from wiki,Performance appraisal, also known as employee appraisal, is a method by which the job performance of an employee is evaluated (generally in terms of quality, quantity, cost and time).&lt;br /&gt;Now into serious questions? &lt;/p&gt;&lt;p&gt;&lt;strong&gt;I am a programmer how do they evaluate my performance ?&lt;/strong&gt;Do they count my LOC as my productivity ? Well Gates said once, ""Measuring software productivity by lines of code is like measuring progress on an airplane by how much it weighs it's a bad idea. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;How about performance related to ROI?&lt;/strong&gt; Hey I m a programmer, at my level i can only help my customer feel better because of/ through my code. I cant directly control ROI. The Business people need to do it and not me.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;How about delivery time and code metrics ?&lt;/strong&gt; Well this things are all subjective, and any one can bet on it. But so far my delivery been perfect and i have followed good metrics in the project comparatively. Well I read both the &lt;a href="http://java.sun.com/docs/books/effective/"&gt;Java bible &lt;/a&gt;and&lt;a href="http://www.pragprog.com/the-pragmatic-programmer"&gt; programmer bible&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;How about the issue solving / bug fixing capability? &lt;/strong&gt;Well who will include the complexity of issue? I can solve thousands of simple useless issues can you rate meas a good performer?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Ok this is a never ending discussion, i didn't find any experts including &lt;a href="http://www.joelonsoftware.com/"&gt;Joel&lt;/a&gt;, &lt;a href="http://www.codinghorror.com/blog/"&gt;Atwood &lt;/a&gt;commenting on how to reward programmer performance. If you find any good articles just mail me and give me the link !!!!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;There is nothing serious about the metrics or reward. Each rewarding system is therefore subjective and commendable.&lt;br /&gt;Then why the heck you or I need to take care of such system? But i did as i didn't know it fully but not anymore. I found this post will help some one who came through just like me. There are always n number of engineers joining and undergoing such system.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;During the last year appraisal i expected a best rating in the system. Its O. As i have critically helped and put all my efforts up-to my fullest potential to the project, and performed in critical releases. In fact I used to stay more than 11 hours at office working out a issue or planing out what should be done next so that i can get a good name / impress  my superiors. &lt;/p&gt;&lt;p&gt;Dont get me wrong. Every one wants to impress some one. The whole world works as a rating system be it school, college or even at work. When i asked, i got a nice reply from &lt;a href="http://twitter.com/psnively/status/2908872460"&gt;paul &lt;/a&gt;"attention is a scarce resource with alternate uses, cf. "Basic Economics, 3rd. ed." "Rating" == "Price" in this context. ".&lt;br /&gt;So here s the deal. When i was doing all my effort and not getting the result i expected, there is a disappointment. I felt there is no inspiration or motivation for what i did and  there is a  depression cycle.&lt;br /&gt;Though it didn't lasted for too many days, but it did occupied my time. Few of my pals helped and made me to understand this not a big deal.This was the time i learned hard lessons .&lt;/p&gt;&lt;p&gt;Badly i need a change. Looking back, I did changed. How ? Here it is !&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Programming for fun &lt;/strong&gt;&lt;br /&gt;I learned the art of programming for fun. I am fascinated my programming , by software's right from my school days. I passionate about technology and always wanted to work on cutting edge.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;But sadly programming for money, food deals with some legacy, 80's technology. The world is just not end. Ever thought why there is so much open source communities out there? Ex Apache, Linux ? All are  programming for fun. I learned it when i started to twitter. Linus wrote kernel for fun. &lt;a href="http://twitter.com/headius"&gt;Charlie&lt;/a&gt;, &lt;a href="http://twitter.com/tom_enebo"&gt;Tom &lt;/a&gt;implemented JRuby as fun project. &lt;a href="http://twitter.com/olabini"&gt;Ola &lt;/a&gt;is doing Ioke for fun.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Time and Learning's are the best investment.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I never stayed back at office more than 9 hours for the past one year. My bad performance results did made me so perfect.With the name of scrum and agile i never worked more than 9 hours now days. I understand agile and practice it  rather than just speaking hey we are agile and staying out in office for more than 12 hours.Hey I did finish the task in given time, in fact much less than the given  time, started to learn the art of programming for fun. &lt;/p&gt;&lt;p&gt;This is the time i started to read research papers, flirting with open source product which i found fascinating.Thrift,Cassandra,Hadoop, Hazlecast,Asm, CGlib, Guice And so many. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;Did any of this learning's helped ? Yes it indeed.I did suggest and brought so many good practices into my code, (Guice &lt;a href="http://martinfowler.com/dslwip/MethodChaining.html"&gt;method chaining&lt;/a&gt;, &lt;a href="http://martinfowler.com/bliki/FluentInterface.html"&gt;Fluent Interfaces&lt;/a&gt;, DSLs )into my work.We had a requirement of 3000rps per second. My knowledge on &lt;a href="http://en.wikipedia.org/wiki/Bloom_filter"&gt;Bloom Filter &lt;/a&gt;helped to reduce database look ups,  and use of JSON  with it did helped to achieve almost 2500rps.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Never Ever involve in technical fame/political wars.&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;I remember this &lt;a href="http://xkcd.com/386/"&gt;XKCD article&lt;/a&gt;. Never involve in such situation. It ll always waste your precious investments (both time and leanings). Be pragmatic, instead of involving flame wars, just implement the dumb idea will save time. Ouch be pragmatic dont implement dumbest idea on the planet. In case you got into such situation read next one. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Communicate with code.&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt; In case you want to make/suggest a solution &lt;a href="http://paulbuchheit.blogspot.com/2009/01/communicating-with-code.html"&gt;communicate it withyour code&lt;/a&gt;. Dont involve in flame wars. There is always gonna be a group flaming like vim vs emacs, linus vs windows, ie vs firefox, rest vs ws *. So many ideas i proposed to for my current not just accepted on the first instance. There is/was a situation of fame wars, but i hesitated not to involved. I am not good at speaking or convincing people, communicating with code did worked like magic. When you got a working implementation, in a flame war situation its speaks more than your words.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Be dumb to dumb peoples. &lt;/strong&gt;In a &lt;a href="http://en.wikipedia.org/wiki/NNPP"&gt;NNPP &lt;/a&gt;environment its good to be a dumb to dumb peoples. Being so smart or trying to be smart will always increase the &lt;a href="http://en.wikipedia.org/wiki/NNPP"&gt;NNPP &lt;/a&gt;and hurt your time aka your investments, and project as well. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Working in a dumb project is good.&lt;/strong&gt; In such environment You can always learn about anti patterns. And how not to do it instead of how to do it. You can learn how not to screw up. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Ideas wont help. Go implement it.&lt;/strong&gt;A bad implementation is worth than thousand good ideas. So implement it, will always helps to be pragmatic.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Knowledge is your portfolio.&lt;/strong&gt;Dont hesitate to learn a new piece of technology / good practices. Its a connecting dot.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Looking back at my personal growth, Im extremely happy, and in fact with twitter i felt its almost doubled. I always connected with a &lt;a href="http://twitter.com/ashokjjr/following"&gt;passinated group of peoples&lt;/a&gt;.I learned a lot of practices by looking on &lt;a href="http://www.blogger.com/www.crazybob.org"&gt;Crazybob's &lt;/a&gt;code. Programming for fun is just fascinating !&lt;/p&gt;&lt;p&gt;&lt;br /&gt;This year the rating is out and  i got the best rating. Even though i don't feel anything happy and Im not in cloud nine.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I just learned, Inspiration wont come from others, Motivation wont come from others, you have to do it, the best inspiration to you is none other than you. Both your success and failure should be a motivation to you. Wrote a good code for a less priority bug ? Go treat yourself for the good code. Read a research paper which gives a satisfaction ? don't just stop celebrate it with a  choco&lt;/p&gt;&lt;p&gt;I m gonna follow this principles and like to continue the way I am.&lt;br /&gt;&lt;/p&gt;&lt;strong&gt;&lt;blockquote&gt;&lt;strong&gt;In short O is the new 0.&lt;/strong&gt; &lt;/blockquote&gt;&lt;/strong&gt;&lt;p&gt;In chris style, This part of my life is called, this little part right here is "Staying foolish, Staying hungry"&lt;br /&gt;My pals knew what is O is about. For outsiders, O is the highest rating system, we have.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-6242466173646477213?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/6242466173646477213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=6242466173646477213' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6242466173646477213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6242466173646477213'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2009/07/o-is-new-0.html' title='O is the new 0'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-481671760044781258.post-3763818105037918822</id><published>2008-09-16T02:56:00.000-07:00</published><updated>2008-09-16T03:08:00.185-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='SoftwareEngineerWithinMe'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>My First Android App..!</title><content type='html'>Ever since Google announced its mobile platform Android , I became a fan of it for two reasons.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Its from Google&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I can still stay with Java , eclipse to write most effective Mobile Application&lt;/li&gt;&lt;/ul&gt;How ever it was all not that romantic. Due to project overheads , unable to configure their plug in  for eclipse when they released their SDK i left out my plans on developing application in android.&lt;br /&gt;&lt;br /&gt;But today just got my time and interest back again to try my hands on Android. I planned at least to write a Hello world. Now i suceeded the result one more category Android added to my blog posts.&lt;br /&gt;&lt;br /&gt;Heres the screen shot from the emulator.... !&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_YsAGZwAh9hk/SM-EH54RZ6I/AAAAAAAAAJQ/mlM6qdAZMT0/s1600-h/myfirstAndroidApp.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_YsAGZwAh9hk/SM-EH54RZ6I/AAAAAAAAAJQ/mlM6qdAZMT0/s320/myfirstAndroidApp.bmp" alt="" id="BLOGGER_PHOTO_ID_5246557362240710562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;you can except few more good Apps from me ! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-3763818105037918822?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/3763818105037918822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=3763818105037918822' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/3763818105037918822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/3763818105037918822'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/09/my-first-android-app.html' title='My First Android App..!'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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/_YsAGZwAh9hk/SM-EH54RZ6I/AAAAAAAAAJQ/mlM6qdAZMT0/s72-c/myfirstAndroidApp.bmp' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-481671760044781258.post-6384890187323105965</id><published>2008-08-25T05:05:00.000-07:00</published><updated>2008-08-25T05:31:28.627-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dreams'/><category scheme='http://www.blogger.com/atom/ns#' term='Randy Pausch'/><category scheme='http://www.blogger.com/atom/ns#' term='Inspiration'/><category scheme='http://www.blogger.com/atom/ns#' term='The Last Lecture'/><title type='text'>The Last Lecture</title><content type='html'>My &lt;a href="http://ashokjjr.blogspot.com/2007/11/i-random-surfer.html"&gt;random surfing &lt;/a&gt;wont always let me down , Today i discovered (Yes its discovery!) a guy named &lt;a href="http://en.wikipedia.org/wiki/Randy_Pausch"&gt;Dr.Randy Pausch&lt;/a&gt; a professor from one of the &lt;a href="http://en.wikipedia.org/wiki/Carnegie_Mellon_University"&gt;finest university&lt;/a&gt; for studying software Engg.&lt;br /&gt;&lt;br /&gt;So many people talked about dream,and even told only dreams will make one to achieve big. Here ,this guy talks about dream actually about &lt;a href="http://en.wikipedia.org/wiki/Really_Achieving_Your_Childhood_Dreams"&gt;Really Achieving Your Childhood Dreams&lt;/a&gt;. And  Its important to have specific dreams .&lt;br /&gt;&lt;br /&gt;This is a talk given as part of Last Lecture.Looks like the university encourages to people to talk on a topics Which tries to find answers for this question ,&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-weight: bold; font-style: italic;"&gt;what wisdom would you try to impart to the world if you knew it was your last chance ?&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Perhaps a question each of one us should ask ourselves.So many people / professor can talk on this topic, thinking its their last chance.But it's not the case with randy.It was his Last Lecture indeed !&lt;br /&gt;&lt;br /&gt;At this time of speech he knew he will not survive more than 3-6 months.He was infected with pancreatic cancer.&lt;a href="http://en.wikipedia.org/wiki/Randy_Pausch"&gt;well wiki will explain more than me.Check it out&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here is The Last Lecture from him here he talks about lessons learned and giving advice to students on how to achieve their own career and personal goals. watch this one out. He knew he gonna die  he knew he have got few more days in his pocket , but look at the humor , his charmless in delivering the talk.. Wow inspiring guy...&lt;br /&gt;&lt;br /&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-05179275109108172 visible ontop" href="http://www.youtube.com/v/ji5_MqicxSo&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-05179275109108172 visible ontop" href="http://www.youtube.com/v/ji5_MqicxSo&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-05179275109108172 visible ontop" href="http://www.youtube.com/v/ji5_MqicxSo&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-05179275109108172 visible ontop" href="http://www.youtube.com/v/ji5_MqicxSo&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/a&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ji5_MqicxSo&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/ji5_MqicxSo&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;and one more thing ...&lt;br /&gt;&lt;br /&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-05179275109108172 visible ontop" href="http://www.youtube.com/v/e_2NAM4jWbw&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-05179275109108172 visible ontop" href="http://www.youtube.com/v/e_2NAM4jWbw&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-05179275109108172 visible ontop" href="http://www.youtube.com/v/e_2NAM4jWbw&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-05179275109108172 visible ontop" href="http://www.youtube.com/v/e_2NAM4jWbw&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/a&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/e_2NAM4jWbw&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/e_2NAM4jWbw&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To my surprise i found his last lecture is available as book..! So I ordered my copy at &lt;a href="http://www.landmarkonthenet.com/ShowBook.aspx?BookISBN=9780340977736"&gt;Landmark&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I always want to earn a degree in Carnegie Mellon when i heard about &lt;a href="http://en.wikipedia.org/wiki/Software_Engineering_Institute"&gt;SEI&lt;/a&gt; and&lt;a href="http://en.wikipedia.org/wiki/CMMI"&gt; CMMI&lt;/a&gt; models from my&lt;a href="http://sivaanandhi.blogspot.com/"&gt; sister. &lt;/a&gt;Hope one day i am able to achieve this dream.  :)&lt;br /&gt;&lt;br /&gt;One more guy to my league of inspiring individuals. He may be no more but his thoughts will remain in my heart...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-6384890187323105965?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/6384890187323105965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=6384890187323105965' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6384890187323105965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6384890187323105965'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/08/last-lecture.html' title='The Last Lecture'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-5080602834098806908</id><published>2008-08-12T02:57:00.000-07:00</published><updated>2008-08-12T05:26:19.288-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outsourcing'/><category scheme='http://www.blogger.com/atom/ns#' term='SWITCH'/><category scheme='http://www.blogger.com/atom/ns#' term='SoftwareEngineerWithinMe'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='IT in India'/><title type='text'>Time to Rewrite the code !</title><content type='html'>After appreciating rupee and  slow down in worlds biggest economy  the Indian IT companies are  facing toughest time to keep up their growth rate , profit margins etc.After depending about more than 80% work on one country now they tends to move towards  APAC ,  European ,  African countries.&lt;br /&gt;&lt;br /&gt;Depending too much on US hurts them now once it was considered to be the safest place. Those magic 40% YoY growth tends to be come down.And Their quarters results hardly excites the markets now.&lt;br /&gt;&lt;br /&gt;Is market is really saturated or our IT companies not able to handle the situation well? Since the size of the industry is so big i meant the man power the revenue should also be high right?.Is how they evaluate their revenues. Making more people working ie technically billing via liable to a customer is a key to get more revenues.&lt;br /&gt;&lt;br /&gt;But it's no where working now ! How ? I have some interesting data's Based on Revenue per Employee and being an insider i tried to analyze what they can do at least now.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Revenue Per Employee What it is? &lt;/span&gt;&lt;br /&gt;Revenue per employee measures the average revenue generated by each employee of a company. It can be calculated by dividing a firm's revenues by its total number of workers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(204, 0, 0);"&gt;     Revenues&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(204, 0, 0);"&gt;---------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(204, 0, 0);"&gt;Number of Employees&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So taking the members of "SWITCH" the RPE is&lt;br /&gt;&lt;br /&gt;     &lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Satyam        49,200        2.1 bn$        42682$&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Wipro             79,832        5.0 bn$        62631$&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Infy                   94,379        4.0 bn$        42382$&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;TCS                 116,308       5.7 bn$        49007$&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;CTS                   59,201        2.1 bn$        36080$&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;HCL                 52,000       1.7 bn$        32692$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;in the order of company, total number of workforce , revenue , revenue per employee&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Where as the Global giants have this as ,&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Big Blue          391719         47.4  bn$            1,21,005$&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Accenture 178,000      22.39 bn$      1,25,786$&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;EDS                              136,000      22.1  bn$          1,62,500$&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 0, 0);"&gt;in the order of company ,total number of workforce , revenue , revenue per employee&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All the data's are took from &lt;a href="http://en.wikipedia.org/wiki/Wiki"&gt;Wiki&lt;/a&gt;. Why &lt;a href="http://en.wikipedia.org/wiki/Wiki"&gt;wiki&lt;/a&gt; ? since&lt;a href="http://ashokjjr.blogspot.com/2007/11/i-random-surfer.html"&gt; i &lt;/a&gt;believed open collaboration is more powerful.If any of this data is wrong don't blame either &lt;a href="http://ashokjjr.blogspot.com/2007/11/i-random-surfer.html"&gt;me&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Wiki"&gt;wiki&lt;/a&gt;. Its your fault of not fixing it.&lt;br /&gt;&lt;br /&gt;I think this comparison of revenue per employee is generally most meaningful among companies within the same industry.So its a fair one.&lt;br /&gt;&lt;br /&gt;The average RPE of Indian IT  companies is around 47227$ (CTS not included in this average)&lt;br /&gt;&lt;br /&gt;Where as the Global giants is around 136430$ which almost 3 times greater than what the "SWITCH" generating!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How does they able to generate more revenues than "SWITCH"?&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Well what they are doing are more than the ADM (Application Development Maintenance).&lt;/li&gt;&lt;li&gt;They are actually doing High End Services , including consulting when compared with the Indian IT Companies.&lt;/li&gt;&lt;li&gt;They are good in End - End Delivery&lt;/li&gt;&lt;li&gt;Deep Domain Expertise&lt;/li&gt;&lt;li&gt;Good Global Delivery Network How ? They able to beat Indian companies even in domestic deals.Idea, Airtel Reliance are very good examples.Everything went to Big blue.Its combined value close to 2bn dollars. They dont have offshore model as like "SWITCH"&lt;/li&gt;&lt;li&gt;They are learning fast , keeps innovating themselves.&lt;/li&gt;&lt;li&gt;They able to attract talents.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;For the past 6 months ,I couldn't able to think of  Indian IT companies signing a big deal which they call as a "transformational deal" or "multi million dollar deal" .Those deals are valued more than 50mn$.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What SWITCH can think of at least now ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Think of Values and say no more to Volumes &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Enough hype have achieved over the growth of the IT companies in India.They are now at better position from the past.Plain old garage startups are now sky touching glass buildings.Its time to gear up to make some real values.Get out of driving the growth by speculation.Its no where needed if  company X is hiring then you should do the same thing. Still with this man power you can do wonders.When Google yahoo adobe sun and most of the MNCs taking the values form Indian youngsters why not you ? They have learned well really well from the younger peers like you ,which made them to keep on setting more offshore centers in India.&lt;br /&gt;&lt;br /&gt;Big Blue has its largest development center outside US, most of the MNCs have R&amp;amp;D outside US only here in INDIA.This does means Indians can actually deliver value at low cost and can capable of doing more in computing.This is not the question of whether they are capable of doing it or not so SWITCH needs to understand this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lets Chicken hatch eggs and not Elephants.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Having a cohesive unit of knowledge is what all the major vendors lags.They tend to target on specific clients instead of targeting on specific domain and build knowledge.&lt;br /&gt;&lt;br /&gt;To be more elaborate on this ,Suppose two clients from different sector having a common task , say a banking giant and telecoms giant want to do user management apart from their core business.Now currently it works in this way the telecom team will be asked to do this for telecom client and banking team will asked to take care of banking client.The same things repeats over again for different customer thus they keep reinventing wheels  always missing the concept of re usability.Theres another possibility since Telecom team may not have knowledge in developing such application they tend to hire.Thus making unwanted hires.&lt;br /&gt;&lt;br /&gt;Instead of this let the banking and telecoms be more cohesive.Let them do one thing yes one thing really well.If a banking client needs some telecoms work handle them to the experts to do it.By this  way  reusable components can be made easily.&lt;br /&gt;&lt;br /&gt;By this way large amount of duplicates hires , reinventing wheels again and again can be stopped.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Eat your own Dog Food !&lt;/span&gt;&lt;br /&gt;      Yes &lt;a href="http://en.wikipedia.org/wiki/Eat_one%27s_own_dog_food"&gt;eat your own dog food&lt;/a&gt;.Its one of the way to build quality and control over the services you deliver.Its the one way to build confidence in the market.It never failed.Its one way to learn your mistakes. so Eat your own dog food whenever you get a chance of eating.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Computing,Services means more Not just ADM !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Remember this  INDIA is not destined to be a place for low end works! Ramp up to deliver high end works.Indian IT can be divided into two eras pre Y2K and post Y2K. During pre y2k the Indian IT companies  filled the shortage of workforce in US to fix the bug. This is the time they tried to 'impress' , tried to build 'trust' with them. Post Y2K is all about the establishment of trust. Sadly the trust established is all because of the cost advantage. The result the work asked to do was ADM.(Application, Development ,Maintenance). Though the Indian companies seems to be delivering value to them in this space the revenues they able to generate by providing this kind of services is too low.&lt;br /&gt;&lt;br /&gt;The trust is made.But now is the time to rethink and start to establish a trust with their employees.Only by having this trust they can move to deliver high end work.And create more values rather than being depend on volumes.&lt;br /&gt;&lt;br /&gt;To deliver high end works including consulting and high end designing they keeps to follow inorganic growth.Which is nothing but buying a specialized company in particular domain say for example consulting.The problem is the adaption to this route is too slow to catch up with growth of the giants.Even after acquisitions of such companies they tend to be slower to adapt or learn the core values of the domain.They need to learn fast, they need to learn quickly about the domains.&lt;br /&gt;&lt;br /&gt;What Google has done is just a service or a solution to search problem.What Facebook has done is a solution to social collaboration.Its not a rule that you should neaver follow this path.How fast you adapt to learn is the key here.&lt;br /&gt;&lt;br /&gt;Though India is Fourth in purchasing power theres is no concentration of Indian vendors on domestic markets.Its where you can deliver your high end services before implementing to the rest of the world.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Let the R&amp;amp;D be real R&amp;amp;D&lt;/span&gt;&lt;br /&gt;Invest heavily in R&amp;amp;D not just the damn R&amp;amp;D which targets a specific customer , but target on specific problem.Try to get a solution learn the art of doing patents.Hire best talents and encourage people to focus on innovation.Its not about the wage hikes or cost cutting affects the profits margin.Its about the efficient way in doing things which cuts cost.so stop the innovation in cost cutting.Start innovation and investment in R&amp;amp;D.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Our &lt;a href="http://en.wikipedia.org/wiki/P._Chidambaram"&gt;Finance minister&lt;/a&gt; said once &lt;a href="http://www.rediff.com/money/2006/jul/30infosys.htm"&gt;"IBM is Legacy , Infosys is Future"&lt;/a&gt;.The problem is we are not there yet.To make it happen the "SWITCH" needs to think, that they need to seriously rewrite the code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-5080602834098806908?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/5080602834098806908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=5080602834098806908' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/5080602834098806908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/5080602834098806908'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/08/time-to-rewrite-code.html' title='Time to Rewrite the code !'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-481671760044781258.post-9201624084008271773</id><published>2008-06-05T07:04:00.000-07:00</published><updated>2008-06-05T07:44:56.009-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>My Blog worths $1,129.08 ...!!!!!!!</title><content type='html'>My Blog worths &lt;span style="font-weight: bold;"&gt;$1,129.08&lt;/span&gt;  .. WoW ! Any way i am not in situation to sell this :)&lt;br /&gt;Here is the report ..,&lt;br /&gt;&lt;p&gt;Your blog, &lt;a href="http://ashokjjr.blogspot.com/"&gt;ashokjjr.blogspot.com&lt;/a&gt;, is worth &lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$1,129.08&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Here's a button you can put on your blog: (&lt;a href="http://www.business-opportunities.biz/projects/how-much-is-your-blog-worth/submit/#html"&gt;the HTML is below&lt;/a&gt;)&lt;/p&gt;    &lt;p&gt;    &lt;/p&gt;&lt;center&gt;   &lt;div style="border: 1px solid rgb(204, 204, 204); padding: 0pt 0pt 10px; background-color: white; width: 115px; text-align: center;"&gt;&lt;p style="margin: 0pt;"&gt;&lt;img src="http://static.flickr.com/23/25822676_789bf55448_t.jpg" style="border: 0pt none ;" /&gt;&lt;br /&gt; &lt;span style="font-size:11;"&gt;My &lt;a href="http://ashokjjr.blogspot.com/"&gt;blog&lt;/a&gt; is worth &lt;b&gt;$1,129.08&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:10;"&gt;&lt;a href="http://www.business-opportunities.biz/projects/how-much-is-your-blog-worth/"&gt;How much is your blog worth?&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.technorati.com/" style="border: 0px none ;"&gt;&lt;img src="http://technorati.com/pix/tech-logo-embed.gif" style="border: 0px none ;" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;   &lt;/center&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How much is your blog worth ?&lt;/span&gt; check it &lt;a href="http://www.business-opportunities.biz/projects/how-much-is-your-blog-worth/"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-9201624084008271773?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/9201624084008271773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=9201624084008271773' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/9201624084008271773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/9201624084008271773'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/06/my-blog-worths-112908.html' title='My Blog worths $1,129.08 ...!!!!!!!'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-2706264429441929167</id><published>2008-05-29T06:44:00.000-07:00</published><updated>2008-05-29T07:01:41.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Battery'/><category scheme='http://www.blogger.com/atom/ns#' term='EngineerWithinMe'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobiles'/><category scheme='http://www.blogger.com/atom/ns#' term='Design'/><title type='text'>Pain with Mobile Chargers..!</title><content type='html'>Well this entry is all about the pain in using mobile chargers.This includes all types of  mobiles.  Whether its &lt;a href="http://www.nokia.com/"&gt;Nokia&lt;/a&gt; , &lt;a href="http://www.sonyericsson.com/cws/"&gt;SonyEricssion&lt;/a&gt; the one i own , &lt;a href="http://www.motorola.com/"&gt;Motorola&lt;/a&gt; ,&lt;a href="http://www.samsung.com/"&gt;Samsung&lt;/a&gt;, &lt;a href="http://www.lge.com/"&gt;LG&lt;/a&gt;s and others.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Whats the pain in using them?&lt;/span&gt;&lt;br /&gt;You can plug them straight away and start charging your battery you can argue , well If i don't experience  pain then theres no reason to write this blog entry !&lt;br /&gt;&lt;br /&gt;Are you able to plug your Nokia Mobile with Sony Ericsson Charger or with any other mobile Charger ? No is the default answer . Dont that seems to be a pain  ? Its a pain for me !&lt;br /&gt;&lt;br /&gt;Well you will see the pain , when you are in travel or gone some place ,expecting an important call, forget to carry the mobile charger with you at that time your display will blink stating your battery is down .Since you own a Mobile from a brand which have least market share you cant find people/place having a mobile charger of your brand. you cant charge your mobile now !&lt;br /&gt;&lt;br /&gt;There is another probability occurs where Even if they carry same brand of yours, since you own a different model you cant use the charger of your same brand !! Tell me now is this is a pain or not? This is a Great pain ..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This happened to me , I am Sony Ericsson's  user , since Nokia is leader in market share in India  ,Usually  i cant find a place/people having Sony Ericsson charger even if i find one it wont suits mine since i own w550i model.&lt;br /&gt;&lt;br /&gt;Don't say to me , you can carry the charger always to get rid out of this pain.&lt;br /&gt;&lt;br /&gt;Technology which are invented which are to be invented is for consumer like me to enjoy.If consumer sees any pain in using them then it needs a change.And its a crap!&lt;br /&gt;&lt;br /&gt;I am able to connect my MP3 player , &lt;a href="http://en.wikipedia.org/wiki/Thumb_drive"&gt;Thumb Drive&lt;/a&gt; of any brands to my PC , why  my mobile not able to connect with any other brand mobile chargers ? If PC has a universal connector &lt;a href="http://en.wikipedia.org/wiki/USB"&gt;USB&lt;/a&gt; for every devices to connect with PC why not Mobile holds a similar kind of this for battery charging?&lt;br /&gt;&lt;br /&gt;Every &lt;a href="http://en.wikipedia.org/wiki/Battery_%28electricity%29"&gt;Battery&lt;/a&gt; in mobile will use only two terminals(positive , negative terminals) why these mobile manufacturer designs tons of mobile chargers with varying sizes which wont fit for other mobiles even in their own brand of different model ?&lt;br /&gt;&lt;br /&gt;Some thing got to be done to make this happen.Imagine a world where theres no pain in carrying this kind of stupid chargers , everything is universal, embedded as just as another plug or switch in Home , Bus , Train you traveling.. Wouldn't that be great?&lt;br /&gt;&lt;br /&gt;come on Mobile Manufactures you got to do some thing on this ! You are &lt;a href="http://www.openhandsetalliance.com/"&gt;open to softwares &lt;/a&gt;  but  we need Open alliance for Hardware !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-2706264429441929167?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/2706264429441929167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=2706264429441929167' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/2706264429441929167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/2706264429441929167'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/05/pain-with-mobile-chargers.html' title='Pain with Mobile Chargers..!'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-4746806469969712740</id><published>2008-05-28T07:43:00.000-07:00</published><updated>2008-05-28T08:08:41.745-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TamilNaduTravel'/><category scheme='http://www.blogger.com/atom/ns#' term='ABT'/><category scheme='http://www.blogger.com/atom/ns#' term='EngineerWithinMe'/><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><category scheme='http://www.blogger.com/atom/ns#' term='OmniBus'/><title type='text'>Travelling with iBUS</title><content type='html'>iBus ? iPod , iPhone is ok whats this iBus ? Does Apple start reinventing Bus ? NO , Again I am from India , Apple doesn't have anything here except their sales office. So they dont have anything to deal with iBUS then whats that iBus ?  ..&lt;br /&gt;&lt;br /&gt;I love traveling i love traveling even more when i travel with Train.Only there i feel very comfortable.&lt;br /&gt;&lt;br /&gt;How ever since  my previous travel is unplanned , i don't had a chance of getting a ticket in trains.Only option available now is to travel with Bus that too omni Bus or privately owned one likes of &lt;a href="http://www.kpntravels.in/ou/frmuserhome.aspx"&gt;KPN&lt;/a&gt; , &lt;a href="http://www.parveentravels.com/"&gt;Parveen&lt;/a&gt;.The pain in dealing with the Agents of this buses to book tickets is no where express able. Thank god now they have enabled  booking of tickets online.&lt;br /&gt;&lt;br /&gt;I am a 6ft+ guy , so this normal Indian Buses wont suits me. Don't ask me whether i have enjoyed a bus travel abroad , i can imagine at least all of them are above my height !   Being  an Engineer  heres my law on comfortability for traveling on bus,&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The amount of comfortability in traveling in a bus is directly proportional to the space or the distance that exists between the two successive seats .&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Comfortable Ratio&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;This is an ratio by maintaining , this ratio better comfortable can be achieved. It can be expressed as a:b&lt;br /&gt;a being the being the height measured from the knee to your foot.(Of course on your leg !)&lt;br /&gt;b being the being the space or distance that i mentioned in my version of comfortability law.&lt;br /&gt;&lt;br /&gt;If the Aspect ratio of better viewing a picture is 4:3 , then the  comfortable ratio should be at least 1:2  which will make the traveling a memory like this !.&lt;br /&gt;&lt;br /&gt;Neither of the Buses (Parveen , KPN)  have such offerings. Mostly they will have comfortable ratio of  1:0.75 to 1.25 making my bus travels like  an adventure ,thats needs to be telecast ed in NGC. Making Bus travels  wont suits for a 6ft+ guys like me .&lt;br /&gt;&lt;br /&gt;How ever this time i preferred to use  &lt;a href="http://www.abtxtravels.com/"&gt;ABT Travels&lt;/a&gt;  as usual my sister booked the tickets on my money . Few things i liked even at pre traveling stage ,&lt;br /&gt;&lt;br /&gt;No Registration required , u can book the tickets on the front Helps me not to use forgot Password option for future use with this site.&lt;br /&gt;&lt;br /&gt;No Semi Sleeper , 2+1 so no more cheating at the time of Boarding. Every thing is AC 2+2 ,So they cant send  any other type of bus as replacement !(Since they don't own other than 2+2 AC)&lt;br /&gt;&lt;br /&gt;Well ,and few more things which i liked and the reason of this Blog is ,&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The comfortability ratio is almost approaching 1:2 may be reaching around 1:1.85 &lt;/li&gt;&lt;li&gt;Since its a AC Bus , Blankets are provided by default(I haven't travel led in AC bus previously so this excites me as usual)&lt;/li&gt;&lt;li&gt;Drinking water pet cans ! A Gud idea , newly sealed &lt;a href="http://www.sabols.com/"&gt;Sabol&lt;/a&gt; pet bottles at your seat , WoW yet another great idea&lt;/li&gt;&lt;li&gt;Mobile charging facility ! Both 3-pins and 2-pins sockets near your seats especially for charing your Mobile or MP3 players . &lt;/li&gt;&lt;li&gt;LCD TV instead of normal CRT.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Apple reinvented the MP3 players into iPod , Mobile Phones to beauty full iPhones , &lt;a href="http://www.abtxtravels.com/"&gt;ABT&lt;/a&gt; have reinvented the bus travelling in Tamil Nadu , so i can name it as an iBus :)&lt;br /&gt;&lt;br /&gt;Few things they can think of ..&lt;br /&gt;&lt;br /&gt;How about a cafe at a time when requested while traveling ? (I am damn lover of such cafes !)&lt;br /&gt;Providing snacks  ,Biscuits on demand (or this can be added to traveling charge)&lt;br /&gt;&lt;br /&gt;They have changed my view on travelling with Bus and have reinvented the Bus traveling  , Thats what Apple did. iBus will do in near future. I recommend ABT Travels !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-4746806469969712740?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/4746806469969712740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=4746806469969712740' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4746806469969712740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4746806469969712740'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/05/travelling-with-ibus.html' title='Travelling with iBUS'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-481671760044781258.post-4941862940755684385</id><published>2008-05-19T08:38:00.000-07:00</published><updated>2008-05-20T00:33:59.655-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenSource'/><category scheme='http://www.blogger.com/atom/ns#' term='IE'/><category scheme='http://www.blogger.com/atom/ns#' term='SoftwareEngineerWithinMe'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='FireFox'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>I am Microsofted...!</title><content type='html'>I am &lt;a href="http://www.mozilla.com/en-US/firefox/"&gt;FireFox&lt;/a&gt; user switched form IE , the reason soley i moved to FireFox is due the tabbed browsing feature , and cool alerts which maded me to stick with FireFox.&lt;br /&gt;&lt;br /&gt;How ever there is one problem i cant use FireFox as my favourite browser for one reason , to check my officials mails for which i have to use IE , since i have to use Microsoft web access .Eventhough the basic version works with FireFox the Premium wont work with FireFox this is due to use of rich use  Activex aka the properitory Technology from Microsoft.&lt;br /&gt;&lt;br /&gt;So i am struck here , i have to use IE , no other option for me . yeah i want to use premium account The premium client provides all Outlook Web Access features  this what they claim , implicitly i want to use all the features of outlook web access. :)&lt;br /&gt;&lt;br /&gt;I dont know what happened with IE, when i came in to work on the next day morning suddenly it showed this message when i accessed my mail ,&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_YsAGZwAh9hk/SDGhDDOcqRI/AAAAAAAAAI8/XpZNGyGlp14/s1600-h/MIError.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_YsAGZwAh9hk/SDGhDDOcqRI/AAAAAAAAAI8/XpZNGyGlp14/s320/MIError.bmp" alt="" id="BLOGGER_PHOTO_ID_5202116118367217938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The page must be viewed with a high security web browser HTTP Error 403.5  (This .5 is again Microsoft thing !)&lt;br /&gt;&lt;br /&gt;The only thing i can do now is to ask Google what is this crap ! It showed some trouble shooting techniques  which sayed ,&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Either you are using IE version less than version 6&lt;/li&gt;&lt;li&gt;Installed with out High Encryption pack&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Nothing can be change this settings , since i was using it yesterday and its working gud.I am pretty clear its version is 6 and eariler i tried to install IE 7 since i am using windoze 2000 so  i cant install it either so my browser version must be IE 6&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Whats that High Encryption Pack ?&lt;/span&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Export_of_cryptography"&gt;U.S. government export regulations&lt;/a&gt; would not permit crypto systems using 128-bit keys to be exported and the longest key size allowed for export without individual license proceedings was 40 bit normally everything with has its relationship with encryption  will ship in two version for US Edition and International Edition , In Java this will be exported in security policy (\jre\lib\security) So i got a doubt may be this culprit gets corrupted , Since i have trust in Microsoft they wont downgrade my browser version as part of their automatic updates ,&lt;br /&gt;&lt;br /&gt;well i checked with my browser the famous About Internet Explorer , It showed i am using IE version 6.0 and 128 bit cipher .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_YsAGZwAh9hk/SDGhYTOcqSI/AAAAAAAAAJE/yvtQ86c37zk/s1600-h/cipher.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_YsAGZwAh9hk/SDGhYTOcqSI/AAAAAAAAAJE/yvtQ86c37zk/s320/cipher.bmp" alt="" id="BLOGGER_PHOTO_ID_5202116483439438114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Shit... Its still 128bit , So no problem but still its thrown error 403.5 Only thing i can do now at this time ask the guy who sitting next to me whether our mail server is working rite ? The answer was of course working.The next big thing i can do is to Restart the system and check whether its working ! Dont blame me every Indian &lt;a href="http://en.wikipedia.org/wiki/Outsourcing"&gt;Outsourcing Developer&lt;/a&gt; , Tester will try this version and there its no excuse for me i am one such and i have no trust on DLLs i trust .class and not DLLs.&lt;br /&gt;&lt;br /&gt;Nothing it didnt worked either ,the next step comes handy is to uninstall IE .I doubt whether it can be done &lt;a href="http://money.cnn.com/1998/05/18/technology/microsoft_suit/"&gt; since AOL has already sued them on this regards&lt;/a&gt; , Windows + IE is default however they had it in remove window components , when i did that , i dont have a clue whether  it removed IE completely , how ever i got IE 6.0 with High Encryption pack set up installed , it didnt worked either ! Shit the second version of Indian Outsourcing Engineers Edition too failed !&lt;br /&gt;&lt;br /&gt;The only thing i can do at this time is to use my edition , i downloaded separately High EncryptionPack and installed , since i dont have any trust in &lt;a href="http://en.wikipedia.org/wiki/Dynamic-link_library"&gt;DLLs&lt;/a&gt; i tried the First version , yeah restarting the windoze .. now tried yeah it worked ! But it ate almost more than 3 hours of my time shit !&lt;br /&gt;&lt;br /&gt;Even though its a web application a profound of client server application this means a Linux user i cant use Microsoft web access! This what called Microsofted ..! And i am not an exception of being Microsofted !&lt;br /&gt;&lt;br /&gt;update: Opensource wont let you down.. &lt;a href="http://www.iol.ie/%7Elocka/mozilla/mozilla.htm"&gt;Activex in Firefox&lt;/a&gt; is on the way !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-4941862940755684385?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/4941862940755684385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=4941862940755684385' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4941862940755684385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4941862940755684385'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/05/i-am-microsofted.html' title='I am Microsofted...!'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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://bp3.blogger.com/_YsAGZwAh9hk/SDGhDDOcqRI/AAAAAAAAAI8/XpZNGyGlp14/s72-c/MIError.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-481671760044781258.post-6057983827782173727</id><published>2008-04-29T07:30:00.000-07:00</published><updated>2008-05-07T22:28:23.472-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Attacks'/><category scheme='http://www.blogger.com/atom/ns#' term='SoftwareEngineerWithinMe'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Fun with Dictionary attack</title><content type='html'>As part of fun@work , some puzzles or mind game will be given to the work force or resources as they claim to  make them relax and also to make them to think a bit. I never enjoyed those really ,so i neaver participated in any of those games.&lt;br /&gt;&lt;br /&gt;Last week we had a game ,we have to make as many as possible 3 or more letter meaningful words using the alphabets in the word given below....&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;blockquote&gt;"ULTRAREVOLUTIONARIES"&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The letters should not be used more than their occurrence in the word above. This was the condition given,&lt;br /&gt;&lt;br /&gt;As usual i neither cared at this one nor minded about it. I found one of my colleague screwing his mind to find the possible words. One more was trying to simulate with a piece of code. Code? Problem solving with Programming? Oh hi I got interested.. on looking the question and mail again i got the clue this is nothing but a Dictionary attack ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is Dictionary Attack ?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Dictionary_attack"&gt;Wiki &lt;/a&gt;says ,&lt;br /&gt;In cryptanalysis and computer security, a dictionary attack is a technique for defeating a cipher or authentication mechanism by trying to determine its decryption key or pass phrase by searching a large number of possibilities.&lt;br /&gt;&lt;br /&gt;This is the famous attack for password recovery.Generally, dictionary attacks succeed because many people have a tendency to choose passwords which are short (7 characters or fewer), single words in a dictionary, or are simple variations that are easy to predict, such as appending a single digit to a word.&lt;br /&gt;&lt;br /&gt;This is why Password Policy are introduced ,which will ask the user to enter a combination of special characters and alphanumeric characters.&lt;br /&gt;&lt;br /&gt;The first password i choosed for my mail when i was doing my goody college days is a 5 letter word.At that time iam ignorant and not any more.. :)&lt;br /&gt;&lt;br /&gt;Thats the definition for Dictionary Attack . what this gonna do with puzzle given?&lt;br /&gt;&lt;br /&gt;When the every one was solving this one with paper and pen with out knowing this attack ,  I wrote a piece of java code to perform a dictionary attack for the possible rule&lt;br /&gt;"ULTRAREVOLUTIONARIES" ,&lt;br /&gt;&lt;br /&gt;Heres the code ,&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;package com.ashok.work.fun;&lt;br /&gt;&lt;br /&gt;import java.io.BufferedReader;&lt;br /&gt;import java.io.FileReader;&lt;br /&gt;&lt;br /&gt;public class WordList {&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @author:ashok&lt;br /&gt;* @date  :April 25,2008&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static void main(String[] args)throws Exception {&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;    BufferedReader file=new BufferedReader(new FileReader("c:\\words.txt"));   &lt;br /&gt;    String word=null;//=file.readLine();&lt;br /&gt;    while((word=file.readLine())!=null)&lt;br /&gt;    {&lt;br /&gt;        if(word.length()&gt;3)&lt;br /&gt;        {&lt;br /&gt;            if(checkForExpression(word))&lt;br /&gt;            {&lt;br /&gt;                System.out.println(word);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;       &lt;br /&gt;   &lt;br /&gt;    }&lt;br /&gt;public static boolean checkForExpression(String str)&lt;br /&gt;{&lt;br /&gt;    //int noOftimes,temp=0;&lt;br /&gt;    int u=0,l=0,t=0,r=0,a=0,e=0,i=0,o=0,s=0,n=0,v=0,def=0;&lt;br /&gt;    for(int j=0;j&lt;str.length();j++)&lt;br /&gt;    {&lt;br /&gt;     char tmpChar=str.charAt(j);&lt;br /&gt;    &lt;br /&gt;     switch (tmpChar)&lt;br /&gt;     {&lt;br /&gt;     case 'u' :&lt;br /&gt;     case 'U':&lt;br /&gt;         u++;&lt;br /&gt;         break;&lt;br /&gt;&lt;br /&gt;     case 'l' :&lt;br /&gt;     case 'L':&lt;br /&gt;         l++;&lt;br /&gt;         break;&lt;br /&gt;        &lt;br /&gt;     case 't' :&lt;br /&gt;     case 'T':&lt;br /&gt;         t++;&lt;br /&gt;         break;&lt;br /&gt;        &lt;br /&gt;     case 'r' :&lt;br /&gt;     case 'R':&lt;br /&gt;         r++;&lt;br /&gt;         break;&lt;br /&gt;&lt;br /&gt;     case 'a':&lt;br /&gt;     case 'A':&lt;br /&gt;         a++;&lt;br /&gt;         break;&lt;br /&gt;&lt;br /&gt;     case 'e' :&lt;br /&gt;     case 'E':&lt;br /&gt;         e++;&lt;br /&gt;         break;&lt;br /&gt;&lt;br /&gt;     case 'i' :&lt;br /&gt;     case 'I':&lt;br /&gt;         i++;&lt;br /&gt;         break;&lt;br /&gt;&lt;br /&gt;     case 'o' :&lt;br /&gt;     case 'O':&lt;br /&gt;         o++;&lt;br /&gt;         break;&lt;br /&gt;&lt;br /&gt;     case 'S' :&lt;br /&gt;     case 's':&lt;br /&gt;         s++;&lt;br /&gt;         break;&lt;br /&gt;&lt;br /&gt;     case 'n' :&lt;br /&gt;     case 'N':&lt;br /&gt;         n++;&lt;br /&gt;         break;&lt;br /&gt;&lt;br /&gt;     case 'v' :&lt;br /&gt;     case 'V':&lt;br /&gt;         v++;&lt;br /&gt;         break;&lt;br /&gt;&lt;br /&gt;    default :&lt;br /&gt;        def++;&lt;br /&gt;     }&lt;br /&gt;    &lt;br /&gt;     }&lt;br /&gt;    if(def&gt;0)&lt;br /&gt;        return false;&lt;br /&gt;    if((u&gt;2)||(l&gt;2)||(t&gt;2)||(r&gt;3)||(a&gt;2)||(e&gt;2)||(i&gt;2)||(o&gt;2)||(s&gt;1)||(n&gt;1)||(v&gt;1)){&lt;br /&gt;        return false;&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;        return true;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;str.length();j++) char="" tmpchar="str.charAt(j);" switch="" u="" l="" t="" r="" a="" e="" i="" o="" s="" n="" case="" v="" default="" def=""&gt;&lt;str.length();j++) char="" tmpchar="str.charAt(j);" switch="" u="" l="" t="" r="" a="" e="" i="" o="" s="" n="" case="" v="" default="" def=""&gt;&lt;br /&gt;&lt;/str.length();j++)&gt;&lt;/str.length();j++)&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;This program takes a Dictionary file as an input ,  and looks for the matching word as per the rule given. &lt;a href="http://www.word-list.com/"&gt;Getting a Dictionary file is easy&lt;/a&gt;   and this program depends on the number of words in the Dictionary file .&lt;br /&gt;&lt;br /&gt;Any guess how much i was able to generate ? 100 ? No its almost 2000 with 25k words list and 4000 with almost 55k words list dictionary.. And how much they able to generate any guesses? If i am right not more than 10 :) It shows  purely IT is the business differentiator and thats why billions of dollars are spend !&lt;br /&gt;&lt;br /&gt;Generated the words since the machine have done its perfect so I submitted the words list , and it was rejected ,  the reason told was that i  have Googled for the answer ! so no prize :)&lt;br /&gt;&lt;br /&gt;shit what the heck !&lt;br /&gt;&lt;br /&gt;But still Programming is Fun !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-6057983827782173727?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/6057983827782173727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=6057983827782173727' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6057983827782173727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6057983827782173727'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/04/fun-with-dictionary-attack.html' title='Fun with Dictionary attack'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-8510695656728758327</id><published>2008-04-25T07:04:00.000-07:00</published><updated>2008-04-25T07:57:39.746-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Obama'/><category scheme='http://www.blogger.com/atom/ns#' term='SoftwareEngineerWithinMe'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='XSS'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Obama Supports Hillary !</title><content type='html'>This is not a &lt;a href="http://ashokjjr.blogspot.com/2008/04/google-announces-project-virgle.html"&gt;April fool Prank&lt;/a&gt; , Its true &lt;a href="http://www.barackobama.com/index.php"&gt;Obama&lt;/a&gt; supports &lt;a href="http://www.hillaryclinton.com/splash/"&gt;Hillary&lt;/a&gt; .. It happened ,the change I beleive in.. the change is happened...&lt;br /&gt;&lt;br /&gt;What &lt;a href="http://www.barackobama.com/index.php"&gt;Obama&lt;/a&gt; supports Hillary..?  you may wonder it cant be.. No it can be , when Obama forget to do input validation in his code.. :)  code? What code ? How does Obama releates to Programming? wait wait... Keep read on...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Accessing Barrack Obama site redirected to Hilary Compaign !  you are not beleiving it ? Obama is XSSed..  yeah XSSed..!&lt;br /&gt;&lt;br /&gt;Now this one is fixed on the front so heres some evidence ,&lt;br /&gt;&lt;br /&gt;Here is the &lt;a href="http://computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;taxonomyName=security&amp;amp;articleId=9079339&amp;amp;taxonomyId=17&amp;amp;intsrc=kc_top"&gt;computer world report&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;A picture worths between 999 and 1001 words. A video worths even higher , so heres is youtube video ,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-04290219524422504 visible ontop" href="http://www.youtube.com/v/NKjomr1Afq0&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-04290219524422504 visible ontop" href="http://www.youtube.com/v/NKjomr1Afq0&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-04290219524422504 visible ontop" href="http://www.youtube.com/v/NKjomr1Afq0&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-04290219524422504 visible ontop" href="http://www.youtube.com/v/NKjomr1Afq0&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 16px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-04290219524422504 visible ontop" href="http://www.youtube.com/v/NKjomr1Afq0&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-04290219524422504 visible ontop" href="http://www.youtube.com/v/NKjomr1Afq0&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NKjomr1Afq0&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/NKjomr1Afq0&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A guy who identifies himself as "MoX" XSSed Obama site to redirect to Hilary site.. How z that he changed down under everything..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is XSS by the way?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.owasp.org/index.php/Cross-site-scripting"&gt;Cross-site scripting (XSS)&lt;/a&gt; is a type of computer security vulnerability typically found in web applications which allow code injection by malicious web users into the web pages viewed by other users. Examples of such code include HTML code and client-side scripts. An exploited cross-site scripting vulnerability can be used by attackers to bypass access controls such as the same origin policy. Vulnerabilities of this kind have been exploited to craft powerful phishing attacks and browser exploits.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What does that mean?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An Exploit can inject HTML based malicious script in any of the input fields , and can take control over of the site or user session based on the attack strength. This input fields includes text box , Text area  , mostly the comments section of the sites. This was exactly happened to Mr.Barrack obama site..  the malicious script injected ,redirected the users directly  to Hillary campaign  and make every one to think down under..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Whats the cause for XSS ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;XSS is mainly due to not validating the user input in the code. yes Mr.Obama had missed to validate it here ..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How it can be avoided?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When security is considered as basic thing as just like what algorithms did to programmers then any security flaws  can be avoided.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.schneier.com/"&gt;Security Guru&lt;/a&gt; says&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic; font-weight: bold;"&gt;More people are killed every year by pigs than by sharks, which shows you how good we are at evaluating risk&lt;/blockquote&gt;&lt;br /&gt;Good programming is not about using Design Patterns and good algorithms  as basic requirements it  includes secure coding too..&lt;br /&gt;&lt;br /&gt;Specific to XSS ..&lt;br /&gt;&lt;br /&gt;By validating the user input and escaping the malicious characters which includes characters like &amp;lt; and &amp;gt;&lt;br /&gt;&lt;br /&gt;Validate and filter user inputs in the server side ..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Will this impact Mr.Obama campaign ?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; Obama failed to validate his users input , So it may have a impact and may not..  But it does has in programming which i can comment, any way i belongs to India and i have nothing to comment about US Elections  :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-8510695656728758327?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/8510695656728758327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=8510695656728758327' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/8510695656728758327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/8510695656728758327'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/04/obama-supports-hillary.html' title='Obama Supports Hillary !'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-4708812227543732092</id><published>2008-04-24T05:56:00.000-07:00</published><updated>2008-04-24T22:29:09.083-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cricket'/><category scheme='http://www.blogger.com/atom/ns#' term='IPL'/><title type='text'>IPL  is a Hit ?</title><content type='html'>I should say &lt;a href="http://en.wikipedia.org/wiki/Indian_Premier_League"&gt;IPL&lt;/a&gt; is a worth watching and almost a hit ! :) When its plan was just in papers i planned not to watch any of the matches , since its just fud with ICL .&lt;br /&gt;&lt;br /&gt;When the team bidding and auction for players started i looked at the big sum of money the franchise owners are spending to buy humans , making &lt;a href="http://en.wikipedia.org/wiki/Board_of_Control_for_Cricket_in_India"&gt;BCCI&lt;/a&gt; to overtake ECB as the richest national board easily . When business tycoons the likes of Mukesh , &lt;a href="http://en.wikipedia.org/wiki/Vijay_Mallya"&gt;Mallya&lt;/a&gt;   fighted for their teams  it maded me to think &lt;a href="http://en.wikipedia.org/wiki/Indian_Premier_League"&gt;IPL&lt;/a&gt; is not about cricket , Its about Money ,Its about Business , Its about a gateway ,I should say its  a license for your company to advertise easily and reach millions of people . So IPL is a fud with ICL . ICL is gud but sadly theres is no takers for it.Ok  this not IPL vs ICL blog.&lt;br /&gt;&lt;br /&gt;Does &lt;a href="http://en.wikipedia.org/wiki/Indian_Premier_League"&gt;IPL&lt;/a&gt; is a hit??&lt;br /&gt;&lt;br /&gt;playing for their team ! I  This is INDIA and here Cricket is a religion , Here people will hate Aussies when they sledge Indians , How ever in IPL things went down under every one  to proud since they got Hayden and Hussey , symonds  and Gilly in their team I couldnt accept it still , Even the aussie captain pointing , is now a teammate with Ishant the young gun for knight Riders .&lt;br /&gt;&lt;br /&gt;Then the positives came , so as my mind changed to watch it :)&lt;br /&gt;&lt;br /&gt;The one rule i like in &lt;a href="http://en.wikipedia.org/wiki/Indian_Premier_League"&gt;IPL&lt;/a&gt; the most is that 4+8 combination 4 foreign players + 8 Indian domestic players. This will give lot of spaces for domestic players to perform and well of course to earn. How long they will waste their careers waiting waiting to get selected in national team?&lt;br /&gt;&lt;br /&gt;Will give the youngsters to play with the talents so that they can , watch , learn and perform.&lt;br /&gt;&lt;br /&gt;Even international players can perform well with little pressure in their mind . Example Brendon Mccullum and his 158*&lt;br /&gt;&lt;br /&gt;International performers can make the youngsters to learn , watched Pointing advising Ishant ? He ran from Gully to mid on ... to have a word with Ishant ..&lt;br /&gt;&lt;br /&gt;OK all set . I planned to watch &lt;a href="http://en.wikipedia.org/wiki/Indian_Premier_League"&gt;IPL&lt;/a&gt; still cricketing had not lost with the business . But then came the real confusion which team should i support ? &lt;a href="http://www.chennaisuperkings.com/index/index.aspx"&gt;Chennai SuperKings&lt;/a&gt; since i belongs to TamilNadu or Mumbai Indians since  &lt;a href="http://en.wikipedia.org/wiki/Sachin_Tendulkar"&gt;Cricketing God&lt;/a&gt; is leading that team , or the Delhi Dare Devils since &lt;a href="http://en.wikipedia.org/wiki/Glenn_McGrath"&gt;Mr.Pigeon&lt;/a&gt; is playing .&lt;br /&gt;&lt;br /&gt;What about other team? I like players and not the team and their captions specially The Prince of Kolkata ,ask him to play a Hook shot then i will accept him as a batsman, Players i love to watch playing and still cant support their team includes  Ishant sharma ,Yuvi, King of Spin warne , Gilly,Kallis, Boucher, Lee and this list continues ..&lt;br /&gt;&lt;br /&gt;So left unsupported any team and I am like a boat with out its ruder and rider as well. Yesterday match between Chennai SuperKings vs Mumbai Indians changed this decision  to support for the Chennai Superkings , since Sachin is not playing ,So I can still support chennai superkings.&lt;br /&gt;&lt;br /&gt;The match was fanatastic it showed the talenting youngster we had Badrinath, ABNayar,Gony who have not yet performed in the national side.&lt;br /&gt;&lt;br /&gt;When uthappa came to the crease , i got confident that he will make the match even thriller , since i am watching this guy from the emerging India A team to his ODI debut.And atlastABNayar , Bhaji made  the match  worth watching and made it a perfect thriller. What still IPL or Chennai super kings is missing is Young Domestic players  . When IPL supports such a domestic players its good for cricket , its good for BCCI .&lt;br /&gt;&lt;br /&gt;Heres the score card ,&lt;br /&gt;&lt;br /&gt;&lt;span align="justify"&gt;&lt;b&gt;SCORE-BOARD&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chennai Super Kings innings:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Parthiv Patel c Ronchi b Nehra 14 (11b, 3 x 4)&lt;br /&gt;Matthew Hayden (run out – Harbhajan) 81 (46b, 2 x 6, 12 x 4)&lt;br /&gt;Mike Hussey b Kulkarni 5 (9b, 1 x 4)&lt;br /&gt;Suresh Raina c Bravo b Kote 53 (37b, 3 x 6, 3 x 4)&lt;br /&gt;M S Dhoni c Bravo b Kote 30 (16b, 4 x 4, 1 x 6)&lt;br /&gt;Jacob Oram (not out) 5 (2b 1 x 4)&lt;br /&gt;S Badrinath (not out) 2 (1b)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Extras&lt;/b&gt; (b4, lb3, w9, 2nb) :18&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Total&lt;/b&gt; (for 5 wkts, 20 overs):&lt;b&gt; 208.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Fall of wickets:&lt;/b&gt; 1-34 (Patel, 3.1), 2-39 (Hussey, 4.4), 3-143 (Raina, 14.6), 4-194 (Hayden, 19.6), 5-206 (Dhoni, 19.5)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bowling:&lt;/b&gt; Shaun Pollock 3-0-32-0 (1w); Ashish Nehra 4-0-35-1 (2w, 1nb); Dhawal Kulkarni 3-0-25-1 (1nb); Harbhajan Singh 2-0-14-0; Dwayne Bravo 3-0-36-0 (1w); Vikrant Yelligetti 1-0-16-0 (5w); Abhishek Nayar 1-0-14-0; Musavir Kote 3-0-29-2.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mumbai Indians innings:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Luke Ronchi (run out – Badrinath) 2 (3b)&lt;br /&gt;Sanath Jayasuriya c Joginder b Gony 20 (11b, 4 x 4)&lt;br /&gt;Robin Uthappa b Joginder 43 (36b, 1 x 6, 6 x 4)&lt;br /&gt;Shaun Pollock b Amarnath 17 (15b, 1 x 6)&lt;br /&gt;Dwayne Bravo c Oram b Joginder 24 (16b, 1 x 6, 2 x 4)&lt;br /&gt;Abhishek Nayar (not out) 45 (20b, 1 x 6, 1 x 5, 6 x 4)&lt;br /&gt;Musavir Kote c Raina b Muralitharan 9 (5b, 1 x 6)&lt;br /&gt;Harbhajan Singh c Badrinath b Muralitharan 28 (14b, 3 x 6, 1 x 4)&lt;br /&gt;Ashish Nehra (not out) 1 (2b)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Extras&lt;/b&gt; (lb5, w6, nb2): 13.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Total&lt;/b&gt; (for 7 wkts, 20 overs): &lt;b&gt;202&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Fall of wickets:&lt;/b&gt; 1-9 (Ronchi, 1.6), 2-30 (Jayasuriya, 3.4), 3-81 (Uthappa, 9.4), 4-97 (Pollock, 11.4), 5-130 (Bravo, 14.2), 6-141 (Kote, 15.3), 7-189 (Harbhajan, 18.5).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bowling:&lt;/b&gt; Jacob Oram 4-0-53-0 (2w); Manpreet Gony 4-1-18-1 (1nb); Joginder Sharma 4-0-29-2 (1nb); Palani Amarnath 4-0-57-1; Muttiah Muralitharan 4-0-40-2 (4w).&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-4708812227543732092?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/4708812227543732092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=4708812227543732092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4708812227543732092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4708812227543732092'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/04/ipl-is-hit.html' title='IPL  is a Hit ?'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-4943672955147845024</id><published>2008-04-17T21:41:00.000-07:00</published><updated>2008-04-17T22:16:55.105-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='SoftwareEngineerWithinMe'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>The Humble Programmer</title><content type='html'>Programming profession how it worths today ? You can measure its hype  by going  to a any Engineering  College any where in India ask them whats your aim they will tell they want  to be a Software Engineer in XXX company . I am sure atleast 75% will tell this irrespective of the what they have studied :) ..&lt;br /&gt;Why Software ? Why Programming? If you ask any of this question they wont tell you  a solid answer.. But every one attracted with this field .. Why  ? Since every one is having a illusion that  its the only field currently where you can live a luxury life. &lt;br /&gt;&lt;br /&gt;What's the status of a Programmer who started his career as a Programmer , Programming Mechanical Devices ? The first Generation computers? was that a respectable profession ?&lt;br /&gt; Edsger W. Dijkstra wrote about the Story of Humble Programmer , During his marriage , he stated his profession as a programmer , the authorities told that  there is no such profession called Programmer !&lt;br /&gt;&lt;br /&gt; I found this interesting , so one more copy of the article wont hurt any one ... So here it is ...&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;u&gt;&lt;span style="font-weight: bold;"&gt;The Humble Programmer&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;As a result of a long sequence of coincidences I entered the programming profession officially on the first spring morning of 1952 and as far as I have been able to trace, I was the first Dutchman to do so in my country. In retrospect the most amazing thing was the slowness with which, at least in my part of the world, the programming profession emerged, a slowness which is now hard to believe. But I am grateful for two vivid recollections from that period that establish that slowness beyond any doubt.&lt;/p&gt;       &lt;p&gt;After having programmed for some three years, I had a discussion with A. van Wijngaarden, who was then my boss at the Mathematical Centre in Amsterdam, a discussion for which I shall remain grateful to him as long as I live. The point was that I was supposed to study theoretical physics at the University of Leiden simultaneously, and as I found the two activities harder and harder to combine, I had to make up my mind, either to stop programming and become a real, respectable theoretical physicist, or to carry my study of physics to a formal completion only, with a minimum of effort, and to become....., yes what? A programmer? But was that a respectable profession? For after all, what was programming? Where was the sound body of knowledge that could support it as an intellectually respectable discipline? I remember quite vividly how I envied my hardware colleagues, who, when asked about their professional competence, could at least point out that they knew everything about vacuum tubes, amplifiers and the rest, whereas I felt that, when faced with that question, I would stand empty-handed. Full of misgivings I knocked on van Wijngaarden's office door, asking him whether I could "speak to him for a moment"; when I left his office a number of hours later, I was another person. For after having listened to my problems patiently, he agreed that up till that moment there was not much of a programming discipline, but then he went on to explain quietly that automatic computers were here to stay, that we were just at the beginning and could not I be one of the persons called to make programming a respectable discipline in the years to come? This was a turning point in my life and I completed my study of physics formally as quickly as I could. One moral of the above story is, of course, that we must be very careful when we give advice to younger people; sometimes they follow it!&lt;/p&gt;       &lt;p&gt;Another two years later, in 1957, I married and Dutch marriage rites require you to state your profession and I stated that I was a programmer. But the municipal authorities of the town of Amsterdam did not accept it on the grounds that there was no such profession. And, believe it or not, but under the heading "profession" my marriage act shows the ridiculous entry "theoretical physicist"!&lt;/p&gt;       &lt;p&gt;So much for the slowness with which I saw the programming profession emerge in my own country. Since then I have seen more of the world, and it is my general impression that in other countries, apart from a possible shift of dates, the growth pattern has been very much the same.&lt;/p&gt;       &lt;p&gt;Let me try to capture the situation in those old days in a little bit more detail, in the hope of getting a better understanding of the situation today. While we pursue our analysis, we shall see how many common misunderstandings about the true nature of the programming task can be traced back to that now distant past.&lt;/p&gt;       &lt;p&gt;The first automatic electronic computers were all unique, single-copy machines and they were all to be found in an environment with the exciting flavour of an experimental laboratory. Once the vision of the automatic computer was there, its realisation was a tremendous challenge to the electronic technology then available, and one thing is certain: we cannot deny the courage of the groups that decided to try and build such a fantastic piece of equipment. For fantastic pieces of equipment they were: in retrospect one can only wonder that those first machines worked at all, at least sometimes. The overwhelming problem was to get and keep the machine in working order. The preoccupation with the physical aspects of automatic computing is still reflected in the names of the older scientific societies in the field, such as the Association for Computing Machinery or the British Computer Society, names in which explicit reference is made to the physical equipment.&lt;/p&gt;       &lt;p&gt;What about the poor programmer? Well, to tell the honest truth: he was hardly noticed. For one thing, the first machines were so bulky that you could hardly move them and besides that, they required such extensive maintenance that it was quite natural that the place where people tried to use the machine was the same laboratory where the machine had been developed. Secondly, his somewhat invisible work was without any glamour: you could show the machine to visitors and that was several orders of magnitude more spectacular than some sheets of coding. But most important of all, the programmer himself had a very modest view of his own work: his work derived all its significance from the existence of that wonderful machine. Because that was a unique machine, he knew only too well that his programs had only local significance and also, because it was patently obvious that this machine would have a limited lifetime, he knew that very little of his work would have a lasting value. Finally, there is yet another circumstance that had a profound influence on the programmer's attitude to his work: on the one hand, besides being unreliable, his machine was usually too slow and its memory was usually too small, i.e. he was faced with a pinching shoe, while on the other hand its usually somewhat queer order code would cater for the most unexpected constructions. And in those days many a clever programmer derived an immense intellectual satisfaction from the cunning tricks by means of which he contrived to squeeze the impossible into the constraints of his equipment.&lt;/p&gt;       &lt;p&gt;Two opinions about programming date from those days. I mention them now, I shall return to them later. The one opinion was that a really competent programmer should be puzzle-minded and very fond of clever tricks; the other opinon was that programming was nothing more than optimizing the efficiency of the computational process, in one direction or the other.&lt;/p&gt;       &lt;p&gt;The latter opinion was the result of the frequent circumstance that, indeed, the available equipment was a painfully pinching shoe, and in those days one often encountered the naive expectation that, once more powerful machines were available, programming would no longer be a problem, for then the struggle to push the machine to its limits would no longer be necessary and that was all what programming was about, wasn't it? But in the next decades something completely different happened: more powerful machines became available, not just an order of magnitude more powerful, even several orders of magnitude more powerful. But instead of finding ourselves in the state of eternal bliss of all progamming problems solved, we found ourselves up to our necks in the software crisis! How come?&lt;/p&gt;       &lt;p&gt;There is a minor cause: in one or two respects modern machinery is basically more difficult to handle than the old machinery. Firstly, we have got the I/O interrupts, occurring at unpredictable and irreproducible moments; compared with the old sequential machine that pretended to be a fully deterministic automaton, this has been a dramatic change and many a systems programmer's grey hair bears witness to the fact that we should not talk lightly about the logical problems created by that feature. Secondly, we have got machines equipped with multi-level stores, presenting us problems of management strategy that, in spite of the extensive literature on the subject, still remain rather elusive. So much for the added complication due to structural changes of the actual machines.&lt;/p&gt;       &lt;p&gt;But I called this a minor cause; the major cause is... that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming had become an equally gigantic problem. In this sense the electronic industry has not solved a single problem, it has only created them, it has created the problem of using its products. To put it in another way: as the power of available machines grew by a factor of more than a thousand, society's ambition to apply these machines grew in proportion, and it was the poor programmer who found his job in this exploded field of tension between ends and means. The increased power of the hardware, together with the perhaps even more dramatic increase in its reliability, made solutions feasible that the programmer had not dared to dream about a few years before. And now, a few years later, he &lt;u&gt;had&lt;/u&gt; to dream about them and, even worse, he had to transform such dreams into reality! Is it a wonder that we found ourselves in a software crisis? No, certainly not, and as you may guess, it was even predicted well in advance; but the trouble with minor prophets, of course, is that it is only five years later that you really know that they had been right.&lt;/p&gt;       &lt;p&gt;Then, in the mid-sixties, something terrible happened: the computers of the so-called third generation made their appearance. The official literature tells us that their price/performance ratio has been one of the major design objectives. But if you take as "performance" the duty cycle of the machine's various components, little will prevent you from ending up with a design in which the major part of your performance goal is reached by internal housekeeping activities of doubtful necessity. And if your definition of price is the price to be paid for the hardware, little will prevent you from ending up wth a design that is terribly hard to program for: for instance the order code might be such as to enforce, either upon the progrmmer or upon the system, early binding decisions presenting conflicts that really cannot be resolved. And to a large extent these unpleasant possibilities seem to have become reality.&lt;/p&gt;       &lt;p&gt;When these machines were announced and their functional specifications became known, quite a few among us must have become quite miserable; at least I was. It was only reasonable to expect that such machines would flood the computing community, and it was therefore all the more important that their design should be as sound as possible. But the design embodied such serious flaws that I felt that with a single stroke the progress of computing science had been retarded by at least ten years: it was then that I had the blackest week in the whole of my professional life. Perhaps the most saddening thing now is that, even after all those years of frustrating experience, still so many people honestly believe that some law of nature tells us that machines have to be that way. They silence their doubts by observing how many of these machines have been sold, and derive from that observation the false sense of security that, after all, the design cannot have been that bad. But upon closer inspection, that line of defense has the same convincing strength as the argument that cigarette smoking must be healthy because so many people do it.&lt;/p&gt;       &lt;p&gt;It is in this connection that I regret that it is not customary for scientific journals in the computing area to publish reviews of newly announced computers in much the same way as we review scientific publications: to review machines would be at least as important. And here I have a confession to make: in the early sixties I wrote such a review with the intention of submitting it to the CACM, but in spite of the fact that the few colleagues to whom the text was sent for their advice, urged me all to do so, I did not dare to do it, fearing that the difficulties either for myself or for the editorial board would prove to be too great. This suppression was an act of cowardice on my side for which I blame myself more and more. The difficulties I foresaw were a consequence of the absence of generally accepted criteria, and although I was convinced of the validity of the criteria I had chosen to apply, I feared that my review would be refused or discarded as "a matter of personal taste". I still think that such reviews would be extremely useful and I am longing to see them appear, for their accepted appearance would be a sure sign of maturity of the computing community.&lt;/p&gt;       &lt;p&gt;The reason that I have paid the above attention to the hardware scene is because I have the feeling that one of the most important aspects of any computing tool is its influence on the thinking habits of those that try to use it, and because I have reasons to believe that that influence is many times stronger than is commonly assumed. Let us now switch our attention to the software scene.&lt;/p&gt;       &lt;p&gt;Here the diversity has been so large that I must confine myself to a few stepping stones. I am painfully aware of the arbitrariness of my choice and I beg you not to draw any conclusions with regard to my appreciation of the many efforts that will remain unmentioned.&lt;/p&gt;       &lt;p&gt;In the beginning there was the EDSAC in Cambridge, England, and I think it quite impressive that right from the start the notion of a subroutine library played a central role in the design of that machine and of the way in which it should be used. It is now nearly 25 years later and the computing scene has changed dramatically, but the notion of basic software is still with us, and the notion of the closed subroutine is still one of the key concepts in programming. We should recognise the closed subroutines as one of the greatest software inventions; it has survived three generations of computers and it will survive a few more, because it caters for the implementation of one of our basic patterns of abstraction. Regrettably enough, its importance has been underestimated in the design of the third generation computers, in which the great number of explicitly named registers of the arithmetic unit implies a large overhead on the subroutine mechanism. But even that did not kill the concept of the subroutine, and we can only pray that the mutation won't prove to be hereditary.&lt;/p&gt;       &lt;p&gt;The second major development on the software scene that I would like to mention is the birth of FORTRAN. At that time this was a project of great temerity and the people responsible for it deserve our great admiration. It would be absolutely unfair to blame them for shortcomings that only became apparent after a decade or so of extensive usage: groups with a successful look-ahead of ten years are quite rare! In retrospect we must rate FORTRAN as a successful coding technique, but with very few effective aids to conception, aids which are now so urgently needed that time has come to consider it out of date. The sooner we can forget that FORTRAN has ever existed, the better, for as a vehicle of thought it is no longer adequate: it wastes our brainpower, is too risky and therefore too expensive to use. FORTRAN's tragic fate has been its wide acceptance, mentally chaining thousands and thousands of programmers to our past mistakes. I pray daily that more of my fellow-programmers may find the means of freeing themselves from the curse of compatibility.&lt;/p&gt;       &lt;p&gt;The third project I would not like to leave unmentioned is LISP, a fascinating enterprise of a completely different nature. With a few very basic principles at its foundation, it has shown a remarkable stability. Besides that, LISP has been the carrier for a considerable number of in a sense our most sophisticated computer applications. LISP has jokingly been described as "the most intelligent way to misuse a computer". I think that description a great compliment because it transmits the full flavour of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts.&lt;/p&gt;       &lt;p&gt;The fourth project to be mentioned is ALGOL 60. While up to the present day FORTRAN programmers still tend to understand their programming language in terms of the specific implementation they are working with —hence the prevalence of octal and hexadecimal dumps—, while the definition of LISP is still a curious mixture of what the language means and how the mechanism works, the famous Report on the Algorithmic Language ALGOL 60 is the fruit of a genuine effort to carry abstraction a vital step further and to define a programming language in an implementation-independent way. One could argue that in this respect its authors have been so successful that they have created serious doubts as to whether it could be implemented at all! The report gloriously demonstrated the power of the formal method BNF, now fairly known as Backus-Naur-Form, and the power of carefully phrased English, a least when used by someone as brilliant as Peter Naur. I think that it is fair to say that only very few documents as short as this have had an equally profound influence on the computing community. The ease with which in later years the names ALGOL and ALGOL-like have been used, as an unprotected trade mark, to lend some of its glory to a number of sometimes hardly related younger projects, is a somewhat shocking compliment to its standing. The strength of BNF as a defining device is responsible for what I regard as one of the weaknesses of the language: an over-elaborate and not too systematic syntax could now be crammed into the confines of very few pages. With a device as powerful as BNF, the Report on the Algorithmic Language ALGOL 60 should have been much shorter. Besides that I am getting very doubtful about ALGOL 60's parameter mechanism: it allows the programmer so much combinatorial freedom, that its confident use requires a strong discipline from the programmer. Besides expensive to implement it seems dangerous to use.&lt;/p&gt;       &lt;p&gt;Finally, although the subject is not a pleasant one, I must mention PL/1, a programming language for which the defining documentation is of a frightening size and complexity. Using PL/1 must be like flying a plane with 7000 buttons, switches and handles to manipulate in the cockpit. I absolutely fail to see how we can keep our growing programs firmly within our intellectual grip when by its sheer baroqueness the programming language —our basic tool, mind you!— already escapes our intellectual control. And if I have to describe the influence PL/1 can have on its users, the closest metaphor that comes to my mind is that of a drug. I remember from a symposium on higher level programming language a lecture given in defense of PL/1 by a man who described himself as one of its devoted users. But within a one-hour lecture in praise of PL/1. he managed to ask for the addition of about fifty new "features", little supposing that the main source of his problems could very well be that it contained already far too many "features". The speaker displayed all the depressing symptoms of addiction, reduced as he was to the state of mental stagnation in which he could only ask for more, more, more... When FORTRAN has been called an infantile disorder, full PL/1, with its growth characteristics of a dangerous tumor, could turn out to be a fatal disease.&lt;/p&gt;       &lt;p&gt;So much for the past. But there is no point in making mistakes unless thereafter we are able to learn from them. As a matter of fact, I think that we have learned so much, that within a few years programming can be an activity vastly different from what it has been up till now, so different that we had better prepare ourselves for the shock. Let me sketch for you one of the posssible futures. At first sight, this vision of programming in perhaps already the near future may strike you as utterly fantastic. Let me therefore also add the considerations that might lead one to the conclusion that this vision could be a very real possibility.&lt;/p&gt;       &lt;p&gt;The vision is that, well before the seventies have run to completion, we shall be able to design and implement the kind of systems that are now straining our programming ability, at the expense of only a few percent in man-years of what they cost us now, and that besides that, these systems will be virtually free of bugs. These two improvements go hand in hand. In the latter respect software seems to be different from many other products, where as a rule a higher quality implies a higher price. Those who want really reliable software will discover that they must find means of avoiding the majority of bugs to start with, and as a result the programming process will become cheaper. If you want more effective programmers, you will discover that they should not waste their time debugging, they should not introduce the bugs to start with. In other words: both goals point to the same change.&lt;/p&gt;       &lt;p&gt;Such a drastic change in such a short period of time would be a revolution, and to all persons that base their expectations for the future on smooth extrapolation of the recent past —appealing to some unwritten laws of social and cultural inertia— the chance that this drastic change will take place must seem negligible. But we all know that sometimes revolutions do take place! And what are the chances for this one?&lt;/p&gt;       &lt;p&gt;There seem to be three major conditions that must be fulfilled. The world at large must recognize the need for the change; secondly the economic need for it must be sufficiently strong; and, thirdly, the change must be technically feasible. Let me discuss these three conditions in the above order.&lt;/p&gt;       &lt;p&gt;With respect to the recognition of the need for greater reliability of software, I expect no disagreement anymore. Only a few years ago this was different: to talk about a software crisis was blasphemy. The turning point was the Conference on Software Engineering in Garmisch, October 1968, a conference that created a sensation as there occured the first open admission of the software crisis. And by now it is generally recognized that the design of any large sophisticated system is going to be a very difficult job, and whenever one meets people responsible for such undertakings, one finds them very much concerned about the reliability issue, and rightly so. In short, our first condition seems to be satisfied.&lt;/p&gt;       &lt;p&gt;Now for the economic need. Nowadays one often encounters the opinion that in the sixties programming has been an overpaid profession, and that in the coming years programmer salaries may be expected to go down. Usually this opinion is expressed in connection with the recession, but it could be a symptom of something different and quite healthy, viz. that perhaps the programmers of the past decade have not done so good a job as they should have done. Society is getting dissatisfied with the performance of programmers and of their products. But there is another factor of much greater weight. In the present situation it is quite usual that for a specific system, the price to be paid for the development of the software is of the same order of magnitude as the price of the hardware needed, and society more or less accepts that. But hardware manufacturers tell us that in the next decade hardware prices can be expected to drop with a factor of ten. If software development were to continue to be the same clumsy and expensive process as it is now, things would get completely out of balance. You cannot expect society to accept this, and therefore we &lt;u&gt;must&lt;/u&gt; learn to program an order of magnitude more effectively. To put it in another way: as long as machines were the largest item on the budget, the programming profession could get away with its clumsy techniques, but that umbrella will fold rapidly. In short, also our second condition seems to be satisfied.&lt;/p&gt;       &lt;p&gt;And now the third condition: is it technically feasible? I think it might and I shall give you six arguments in support of that opinion.&lt;/p&gt;       &lt;p&gt;A study of program structure had revealed that programs —even alternative programs for the same task and with the same mathematical content— can differ tremendously in their intellectual manageability. A number of rules have been discovered, violation of which will either seriously impair or totally destroy the intellectual manageability of the program. These rules are of two kinds. Those of the first kind are easily imposed mechanically, viz. by a suitably chosen programming language. Examples are the exclusion of goto-statements and of procedures with more than one output parameter. For those of the second kind I at least —but that may be due to lack of competence on my side— see no way of imposing them mechanically, as it seems to need some sort of automatic theorem prover for which I have no existence proof. Therefore, for the time being and perhaps forever, the rules of the second kind present themselves as elements of discipline required from the programmer. Some of the rules I have in mind are so clear that they can be taught and that there never needs to be an argument as to whether a given program violates them or not. Examples are the requirements that no loop should be written down without providing a proof for termination nor without stating the relation whose invariance will not be destroyed by the execution of the repeatable statement.&lt;/p&gt;       &lt;p&gt;I now suggest that we confine ourselves to the design and implementation of intellectually manageable programs. If someone fears that this restriction is so severe that we cannot live with it, I can reassure him: the class of intellectually manageable programs is still sufficiently rich to contain many very realistic programs for any problem capable of algorithmic solution. We must not forget that it is &lt;u&gt;not&lt;/u&gt; our business to make programs, it is our business to design classes of computations that will display a desired behaviour. The suggestion of confining ourselves to intellectually manageable programs is the basis for the first two of my announced six arguments.&lt;/p&gt;       &lt;p&gt;Argument one is that, as the programmer only needs to consider intellectually manageable programs, the alternatives he is choosing between are much, much easier to cope with.&lt;/p&gt;       &lt;p&gt;Argument two is that, as soon as we have decided to restrict ourselves to the subset of the intellectually manageable programs, we have achieved, once and for all, a drastic reduction of the solution space to be considered. And this argument is distinct from argument one.&lt;/p&gt;       &lt;p&gt;Argument three is based on the constructive approach to the problem of program correctness. Today a usual technique is to make a program and then to test it. But: program testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence. The only effective way to raise the confidence level of a program significantly is to give a convincing proof of its correctness. But one should not first make the program and then prove its correctness, because then the requirement of providing the proof would only increase the poor programmer's burden. On the contrary: the programmer should let correctness proof and program grow hand in hand. Argument three is essentially based on the following observation. If one first asks oneself what the structure of a convincing proof would be and, having found this, then constructs a program satisfying this proof's requirements, then these correctness concerns turn out to be a very effective heuristic guidance. By definition this approach is only applicable when we restrict ourselves to intellectually manageable programs, but it provides us with effective means for finding a satisfactory one among these.&lt;/p&gt;       &lt;p&gt;Argument four has to do with the way in which the amount of intellectual effort needed to design a program depends on the program length. It has been suggested that there is some kind of law of nature telling us that the amount of intellectual effort needed grows with the square of program length. But, thank goodness, no one has been able to prove this law. And this is because it need not be true. We all know that the only mental tool by means of which a very finite piece of reasoning can cover a myriad cases is called "abstraction"; as a result the effective exploitation of his powers of abstraction must be regarded as one of the most vital activities of a competent programmer. In this connection it might be worth-while to point out that the purpose of abstracting is &lt;u&gt;not&lt;/u&gt; to be vague, but to create a new semantic level in which one can be absolutely precise. Of course I have tried to find a fundamental cause that would prevent our abstraction mechanisms from being sufficiently effective. But no matter how hard I tried, I did not find such a cause. As a result I tend to the assumption —up till now not disproved by experience— that by suitable application of our powers of abstraction, the intellectual effort needed to conceive or to understand a program need not grow more than proportional to program length. But a by-product of these investigations may be of much greater practical significance, and is, in fact, the basis of my fourth argument. The by-product was the identification of a number of patterns of abstraction that play a vital role in the whole process of composing programs. Enough is now known about these patterns of abstraction that you could devote a lecture to about each of them. What the familiarity and conscious knowledge of these patterns of abstraction imply dawned upon me when I realized that, had they been common knowledge fifteen years ago, the step from BNF to syntax-directed compilers, for instance, could have taken a few minutes instead of a few years. Therefore I present our recent knowledge of vital abstraction patterns as the fourth argument.&lt;/p&gt;       &lt;p&gt;Now for the fifth argument. It has to do with the influence of the tool we are trying to use upon our own thinking habits. I observe a cultural tradition, which in all probability has its roots in the Renaissance, to ignore this influence, to regard the human mind as the supreme and autonomous master of its artefacts. But if I start to analyse the thinking habits of myself and of my fellow human beings, I come, whether I like it or not, to a completely different conclusion, viz. that the tools we are trying to use and the language or notation we are using to express or record our thoughts, are the major factors determining what we can think or express at all! The analysis of the influence that programming languages have on the thinking habits of its users, and the recognition that, by now, brainpower is by far our scarcest resource, they together give us a new collection of yardsticks for comparing the relative merits of various programming languages. The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague. In the case of a well-known conversational programming language I have been told from various sides that as soon as a programming community is equipped with a terminal for it, a specific phenomenon occurs that even has a well-established name: it is called "the one-liners". It takes one of two different forms: one programmer places a one-line program on the desk of another and either he proudly tells what it does and adds the question "Can you code this in less symbols?" —as if this were of any conceptual relevance!— or he just asks "Guess what it does!". From this observation we must conclude that this language as a tool is an open invitation for clever tricks; and while exactly this may be the explanation for some of its appeal, viz. to those who like to show how clever they are, I am sorry, but I must regard this as one of the most damning things that can be said about a programming language. Another lesson we should have learned from the recent past is that the development of "richer" or "more powerful" programming languages was a mistake in the sense that these baroque monstrosities, these conglomerations of idiosyncrasies, are really unmanageable, both mechanically and mentally. I see a great future for very systematic and very modest programming languages. When I say "modest", I mean that, for instance, not only ALGOL 60's "for clause", but even FORTRAN's "DO loop" may find themselves thrown out as being too baroque. I have run a a little programming experiment with really experienced volunteers, but something quite unintended and quite unexpected turned up. None of my volunteers found the obvious and most elegant solution. Upon closer analysis this turned out to have a common source: their notion of repetition was so tightly connected to the idea of an associated controlled variable to be stepped up, that they were mentally blocked from seeing the obvious. Their solutions were less efficient, needlessly hard to understand, and it took them a very long time to find them. It was a revealing, but also shocking experience for me. Finally, in one respect one hopes that tomorrow's programming languages will differ greatly from what we are used to now: to a much greater extent than hitherto they should invite us to reflect in the structure of what we write down all abstractions needed to cope conceptually with the complexity of what we are designing. So much for the greater adequacy of our future tools, which was the basis of the fifth argument.&lt;/p&gt;       &lt;p&gt;As an aside I would like to insert a warning to those who identify the difficulty of the programming task with the struggle against the inadequacies of our current tools, because they might conclude that, once our tools will be much more adequate, programming will no longer be a problem. Programming will remain very difficult, because once we have freed ourselves from the circumstantial cumbersomeness, we will find ourselves free to tackle the problems that are now well beyond our programming capacity.&lt;/p&gt;       &lt;p&gt;You can quarrel with my sixth argument, for it is not so easy to collect experimental evidence for its support, a fact that will not prevent me from believing in its validity. Up till now I have not mentioned the word "hierarchy", but I think that it is fair to say that this is a key concept for all systems embodying a nicely factored solution. I could even go one step further and make an article of faith out of it, viz. that the only problems we can really solve in a satisfactory manner are those that finally admit a nicely factored solution. At first sight this view of human limitations may strike you as a rather depressing view of our predicament, but I don't feel it that way, on the contrary! The best way to learn to live with our limitations is to know them. By the time that we are sufficiently modest to try factored solutions only, because the other efforts escape our intellectual grip, we shall do our utmost best to avoid all those interfaces impairing our ability to factor the system in a helpful way. And I cannot but expect that this will repeatedly lead to the discovery that an initially untractable problem can be factored after all. Anyone who has seen how the majority of the troubles of the compiling phase called "code generation" can be tracked down to funny properties of the order code, will know a simple example of the kind of things I have in mind. The wider applicability of nicely factored solutions is my sixth and last argument for the technical feasibiilty of the revolution that might take place in the current decade.&lt;/p&gt;       &lt;p&gt;In principle I leave it to you to decide for yourself how much weight you are going to give to my considerations, knowing only too well that I can force no one else to share my beliefs. As each serious revolution, it will provoke violent opposition and one can ask oneself where to expect the conservative forces trying to counteract such a development. I don't expect them primarily in big business, not even in the computer business; I expect them rather in the educational institutions that provide today's training and in those conservative groups of computer users that think their old programs so important that they don't think it worth-while to rewrite and improve them. In this connection it is sad to observe that on many a university campus the choice of the central computing facility has too often been determined by the demands of a few established but expensive applications with a disregard of the question how many thousands of "small users" that are willing to write their own programs were going to suffer from this choice. Too often, for instance, high-energy physics seems to have blackmailed the scientific community with the price of its remaining experimental equipment. The easiest answer, of course, is a flat denial of the technical feasibility, but I am afraid that you need pretty strong arguments for that. No reassurance, alas, can be obtained from the remark that the intellectual ceiling of today's average programmer will prevent the revolution from taking place: with others programming so much more effectively, he is liable to be edged out of the picture anyway.&lt;/p&gt;       &lt;p&gt;There may also be political impediments. Even if we know how to educate tomorrow's professional programmer, it is not certain that the society we are living in will allow us to do so. The first effect of teaching a methodology —rather than disseminating knowledge— is that of enhancing the capacities of the already capable, thus magnifying the difference in intelligence. In a society in which the educational system is used as an instrument for the establishment of a homogenized culture, in which the cream is prevented from rising to the top, the education of competent programmers could be politically impalatable.&lt;/p&gt;       &lt;p&gt;Let me conclude. Automatic computers have now been with us for a quarter of a century. They have had a great impact on our society in their capacity of tools, but in that capacity their influence will be but a ripple on the surface of our culture, compared with the much more profound influence they will have in their capacity of intellectual challenge without precedent in the cultural history of mankind. Hierarchical systems seem to have the property that something considered as an undivided entity on one level, is considered as a composite object on the next lower level of greater detail; as a result the natural grain of space or time that is applicable at each level decreases by an order of magnitude when we shift our attention from one level to the next lower one. We understand walls in terms of bricks, bricks in terms of crystals, crystals in terms of molecules etc. As a result the number of levels that can be distinguished meaningfully in a hierarchical system is kind of proportional to the logarithm of the ratio between the largest and the smallest grain, and therefore, unless this ratio is very large, we cannot expect many levels. In computer programming our basic building block has an associated time grain of less than a microsecond, but our program may take hours of computation time. I do not know of any other technology covering a ratio of 10&lt;sup&gt;10&lt;/sup&gt; or more: the computer, by virtue of its fantastic speed, seems to be the first to provide us with an environment where highly hierarchical artefacts are both possible and necessary. This challenge, viz. the confrontation with the programming task, is so unique that this novel experience can teach us a lot about ourselves. It should deepen our understanding of the processes of design and creation, it should give us better control over the task of organizing our thoughts. If it did not do so, to my taste we should not deserve the computer at all!&lt;/p&gt;       &lt;p&gt;It has already taught us a few lessons, and the one I have chosen to stress in this talk is the following. We shall do a much better programming job, provided that we approach the task with a full appreciation of its tremendous difficulty, provided that we stick to modest and elegant programming languages, provided that we respect the intrinsic limitations of the human mind and approach the task as Very Humble Programmers.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-4943672955147845024?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/4943672955147845024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=4943672955147845024' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4943672955147845024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4943672955147845024'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/04/humble-programmer.html' title='The Humble Programmer'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-9207930343468724822</id><published>2008-04-08T05:47:00.000-07:00</published><updated>2008-04-09T01:54:14.489-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SoftwareEngineerWithinMe'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>SEWM#2 Documentation - Why its Important ?</title><content type='html'>Documentation There are many type of Documentation exist in this universe but I am going to concern about the field which i belongs to Software , Being a Humble Programmer i gonna tell something about source code documentation why its important.&lt;br /&gt;&lt;br /&gt;Let me start from  the definition wiki says ,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Software documentation or source code documentation is written text that accompanies computer software. It either explains how it operates or how to use it, and may mean different things to people in different roles &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Few weeks back i had to browse about a &lt;a href="http://geekscape.org/daisy/geekscape/g2/128.html"&gt;this software&lt;/a&gt; , i don't found any thing about the source&lt;br /&gt;code  documentation aka API docs from their damn website so i tried to download the source and check with the documentation or try to build on my own using javadoc&lt;br /&gt;&lt;br /&gt;To my surprise theres is no single piece of information about the legacy way of saying This method will do this when called with this object.. Shit i hate that.. There is no comments too added in the source I have to figure out logically what it does a by white boxing the code ... Zzzzzzzzzzzzz...&lt;br /&gt;&lt;br /&gt;Well this is good thats the reason why i had to write this blog :)&lt;br /&gt;&lt;br /&gt;Personally i am bored  to do documentation Not alone me most of the developers hate it !&lt;br /&gt;Check for most open source projects whats the thing you find lagging the most ?&lt;br /&gt;Yeah its Documentation&lt;br /&gt;&lt;br /&gt;When ever i was asked to do documentation I got Bored and even I had thought it was not part of my job :) How that can be ? Come on Don't curse me  learning from errors will make you experienced ..And now i am experienced . I don't hate documentation completely i do  add nice  comments to the code i developed . is that enough? No definitely not ,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here what &lt;a href="http://en.wikipedia.org/wiki/Eric_Raymond"&gt;Eric&lt;/a&gt; says about Documentation ,&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Rule 1 of writing software for nontechnical users is this: if they have to read documentation to use it you designed it wrong.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;And here from &lt;a href="http://en.wikipedia.org/wiki/Steve_McConnell"&gt;Steve McConnell&lt;/a&gt; in his book &lt;a href="http://en.wikipedia.org/wiki/Code_Complete"&gt;code complete2&lt;/a&gt; ,&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic; font-weight: bold;"&gt;Good code is its own best documentation. As you're about to add a comment, ask yourself, 'How can I improve the code so that this comment isn't needed?' Improve the code and then document it to make it even clearer.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I couldn't say any more.. Its perfectly well said. So whats the programmers profession , apart form Code programmer should document .&lt;br /&gt;&lt;br /&gt;When creating software, code alone is insufficient. There must be some text along with it to describe various aspects of its intended operation. It is important for the code documents to be thorough, but not so verbose that it becomes difficult to maintain them&lt;br /&gt;&lt;br /&gt;So when ever you get a chance to code,  first document it .   I finish with this ,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Don't document the program; program the document &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-9207930343468724822?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/9207930343468724822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=9207930343468724822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/9207930343468724822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/9207930343468724822'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/04/sewm2-documentation-why-its-important.html' title='SEWM#2 Documentation - Why its Important ?'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-4804192784410929409</id><published>2008-04-01T05:13:00.000-07:00</published><updated>2008-04-01T05:28:26.546-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='April 1st'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google Announces Project Virgle</title><content type='html'>Yet Another innovation from Google Guys , After Pigeon Rank , yogurt the enhanced version of orkut Google announces Project Virgle ,&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_YsAGZwAh9hk/R_Ipo0ZkVnI/AAAAAAAAAIg/bBOG0rHQ4KM/s1600-h/virgle_logo.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_YsAGZwAh9hk/R_Ipo0ZkVnI/AAAAAAAAAIg/bBOG0rHQ4KM/s320/virgle_logo.jpg" alt="" id="BLOGGER_PHOTO_ID_5184251902294251122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Virgle's goal is simple: the establishment of a permanent human settlement on Mars. Larry Page, Sergey Brin and I feel strongly that contemporary technology is sufficiently advanced to make such an effort both successful and economical, and that it's high time that humanity moved beyond Earth and began our great, long journey to explore the stars and establish our first lasting foothold on another world.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Here s the full &lt;a href="http://googleblog.blogspot.com/2008/04/announcing-project-virgle.html"&gt;news from offical Google blog&lt;/a&gt; ,  and heres &lt;a href="http://www.google.com/virgle/index.html"&gt;Virgle page  &lt;/a&gt;,&lt;br /&gt;&lt;br /&gt;Larry and Brin their sayings on virgle  &lt;br /&gt;&lt;br /&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-05504396221424992 visible ontop" href="http://www.youtube.com/v/PmSdy_9blB4&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-05504396221424992 visible ontop" href="http://www.youtube.com/v/PmSdy_9blB4&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/PmSdy_9blB4&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/PmSdy_9blB4&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Great ! Google Rocking with its innovation !  Perhaps the best message of the todays complete list .. See here for the full &lt;a href="http://aprilfoolsdayontheweb.com/2008.html"&gt;list &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-4804192784410929409?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/4804192784410929409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=4804192784410929409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4804192784410929409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4804192784410929409'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/04/google-announces-project-virgle.html' title='Google Announces Project Virgle'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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://bp3.blogger.com/_YsAGZwAh9hk/R_Ipo0ZkVnI/AAAAAAAAAIg/bBOG0rHQ4KM/s72-c/virgle_logo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-481671760044781258.post-8639026272410014310</id><published>2008-03-31T23:20:00.000-07:00</published><updated>2008-04-01T02:28:47.634-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Spring Source Acquired By Microsoft :)</title><content type='html'>This news excites me , &lt;a href="http://www.springsource.com/"&gt;Spring source&lt;/a&gt; Acquired by &lt;a href="http://www.microsoft.com/"&gt;Microsoft&lt;/a&gt; !  Spring Source aka Interface21 is responsible for  Spring Framework , one of the open source development framework for Java EE application .I can say this  Spring Frame work has become popular among Java community as a replacement or add on with Enterprise Java Bean.  Here its CEO and the author of the book &lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764543857.html"&gt;Expert One-on-One J2EE Design and Development &lt;/a&gt;,( from which Spring was born) &lt;a href="http://blog.springsource.com/main/author/rodj/"&gt;Rod Johnson&lt;/a&gt; speaks , the founder CEO of Spring Source speaks about the acquisition .&lt;br /&gt;&lt;br /&gt;And here s&lt;a href="http://www.infoq.com/news/2008/04/microsoft-springsource-purchase"&gt; InfoQ &lt;/a&gt;news ,&lt;br /&gt;&lt;br /&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-06327161508122728 visible ontop" href="http://www.youtube.com/v/7WGOrekJ6uI&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-06327161508122728 visible ontop" href="http://www.youtube.com/v/7WGOrekJ6uI&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-06327161508122728 visible ontop" href="http://www.youtube.com/v/7WGOrekJ6uI&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-06327161508122728 visible ontop" href="http://www.youtube.com/v/7WGOrekJ6uI&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-06327161508122728 visible ontop" href="http://www.youtube.com/v/7WGOrekJ6uI&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-06327161508122728 visible ontop" href="http://www.youtube.com/v/7WGOrekJ6uI&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-05504396221424992 visible ontop" href="http://www.youtube.com/v/7WGOrekJ6uI&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/7WGOrekJ6uI&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/7WGOrekJ6uI&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What the hell  Microsoft want to do with Java  ?? Yeah Spring.net is also available..  Did Microsoft want to ruin Spring and Java community ? May be they will ... So I go with Microsoft ,  So I planned to switch to .net development from &lt;a href="http://en.wikipedia.org/wiki/April_Fools%27_Day"&gt;today&lt;/a&gt; .. Excited ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-8639026272410014310?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/8639026272410014310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=8639026272410014310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/8639026272410014310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/8639026272410014310'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/03/spring-source-acquired-by-microsoft.html' title='Spring Source Acquired By Microsoft :)'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-4598031117116961881</id><published>2008-03-12T07:07:00.000-07:00</published><updated>2008-03-20T07:16:51.004-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SoftwareEngineerWithinMe'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><title type='text'>SEWM #1 UI Error Messages</title><content type='html'>I am Starting new category to achieve &lt;a href="http://ashokjjr.blogspot.com/2008/02/its-my-first-anniversary.html"&gt;this&lt;/a&gt; . SEWM - Software Engineer With in Me under this category I will post new things which releated to software ,softwares, softwares their designs which I come across in my day to day professional as well as my personal life which needs to be archived in &lt;a href="http://en.wikipedia.org/wiki/Dev/null"&gt;/dev/null &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I remember reading &lt;a href="http://www.joelonsoftware.com/articles/fog0000000356.html"&gt;this article &lt;/a&gt;from Joel where he imposes how UI screen needs to be designed and he lefts few corollary , I am reproducing it again ,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;If you show a nonprogrammer a screen which has a user interface that is 90%&lt;br /&gt;worse, they will think that the program is 90% worse&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;If you show a nonprogrammer a screen which has a user interface which is 100%&lt;br /&gt;beautiful, they will think the program is almost done&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thats quiet true.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What about UI Error messages ? Thats should be even appropriate to make the normal end user understand whats happening No need to tell for an Web Application .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is a error message which I encountered during online Transaction in&lt;a href="http://www.icicibank.com/"&gt; this &lt;/a&gt;bank.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5176864218101151938" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_YsAGZwAh9hk/R9fqlAJZeMI/AAAAAAAAAIY/qvBpYfXlCpw/s320/icicibank.bmp" border="0" /&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;How z that? Didn't get connection from connection pooling . Yep.. Gosh.. ! How the normal user know about Connection pooling? Even most of the techie seems to be unaware of what is connection pooling. So this UI design should be archived in &lt;a href="http://en.wikipedia.org/wiki/Dev/null"&gt;/dev/null&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Have you ever watched error message due to connection lost in GTalk , Heres how ,&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;unable to connect.. check your connection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;when connection is up with an nice attracted message (I love this one!)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;...and, we're back!&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Thats how the messages should be understandable even to a normal users.&lt;br /&gt;Thats all for now :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-4598031117116961881?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/4598031117116961881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=4598031117116961881' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4598031117116961881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4598031117116961881'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/03/sewm-1-ui-error-messages.html' title='SEWM #1 UI Error Messages'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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://bp2.blogger.com/_YsAGZwAh9hk/R9fqlAJZeMI/AAAAAAAAAIY/qvBpYfXlCpw/s72-c/icicibank.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-481671760044781258.post-3915783924355574330</id><published>2008-03-11T05:22:00.000-07:00</published><updated>2008-03-11T05:37:48.904-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>‘Java contributes 2.5% of the Indian economy’</title><content type='html'>Being a Java Fanatic this news excites me...&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Java contributes more than 2.5% of Indian GDP &lt;/li&gt;&lt;li&gt;Also of the 3 million developers world wide, about 6,00,00 are in India. Great ! &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Wanna more ? u can find &lt;a href="http://www.financialexpress.com/news/Java-contributes-2.5-of-the-Indian-economy/282426/1"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-3915783924355574330?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/3915783924355574330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=3915783924355574330' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/3915783924355574330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/3915783924355574330'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/03/java-contributes-25-of-indian-economy.html' title='‘Java contributes 2.5% of the Indian economy’'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-3051782370700694399</id><published>2008-02-14T23:08:00.000-08:00</published><updated>2008-02-15T00:57:10.037-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Quotes'/><category scheme='http://www.blogger.com/atom/ns#' term='Inspiration'/><title type='text'>QOTD#2 The Man Who Thinks He Can</title><content type='html'>&lt;div align="left"&gt;&lt;span style="color:#000000;"&gt;This is a inspired poem i come across today , started posting on the front , much relevant to me , this one is from &lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Walter_D._Wintle"&gt;Walter Wintle&lt;/a&gt; about believing one self&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;span style="color:#000000;"&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;strong&gt;The Man Who Thinks He Can&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If you think you are beaten, you are;&lt;br /&gt;If you think you dare not, you won’t.&lt;br /&gt;If you like to win, but don’t think you can,&lt;br /&gt;It’s almost a cinch you won’t.&lt;br /&gt;&lt;br /&gt;If you think you’ll lose, you’ve lost.&lt;br /&gt;For out in the world you’ll find&lt;br /&gt;Success begins with a fellow’s will;&lt;br /&gt;It’s all in a state of mind.&lt;br /&gt;&lt;br /&gt;If you think you’re outclassed, you are;&lt;br /&gt;You’ve got to think higher to rise.&lt;br /&gt;You’ve got to be sure of yourself before&lt;br /&gt;You can win a prize.&lt;br /&gt;&lt;br /&gt;Think big and your deeds will grow.&lt;br /&gt;Think small and you’ll fall behind.&lt;br /&gt;Think that you can, and you will.&lt;br /&gt;It’s all in a state of mind.&lt;br /&gt;&lt;br /&gt;Life’s battles don’t always go&lt;br /&gt;To the stronger, faster man;&lt;br /&gt;But sooner or later the man who wins&lt;br /&gt;Is the fellow who thinks he can.&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="left"&gt;Wonderful inspirational thought. If u have a dream have and belief init. Below is &lt;a href="http://en.wikipedia.org/wiki/Will_Smith"&gt;WillSmith&lt;/a&gt; (I love this Guy ! ) version in the flim &lt;a href="http://en.wikipedia.org/wiki/The_Pursuit_of_Happyness"&gt;The Pursuit of Happyness&lt;/a&gt; .&lt;/div&gt;&lt;p align="center"&gt;&lt;strong&gt;Have a Dream ? Go n Get It!&lt;/strong&gt; &lt;/p&gt;&lt;p align="center"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;embed src="http://www.youtube.com/v/nNB6n0FfqAU&amp;amp;rel=" width="425" height="355" type="application/x-shockwave-flash" wmode="transparent"&gt;&lt;/embed&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;Christopher Gardner:&lt;/strong&gt; Hey. Don't ever let somebody tell you... You can't do something. Not even me. All right?&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;Christopher:&lt;/strong&gt; All right.&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;Christopher Gardner:&lt;/strong&gt; You got a dream... You gotta protect it. People can't do somethin' themselves, they wanna tell you you can't do it. If you want somethin', go get it. Period. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-3051782370700694399?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/3051782370700694399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=3051782370700694399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/3051782370700694399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/3051782370700694399'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/02/qotd2.html' title='QOTD#2 The Man Who Thinks He Can'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-4301997841504780913</id><published>2008-02-14T05:07:00.000-08:00</published><updated>2008-02-14T06:05:35.944-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Feb 14 Its My First Anniversary !</title><content type='html'>&lt;strong&gt;Feb 14 Its Valentines Day ..!&lt;/strong&gt; &lt;br /&gt;Then its  my First Anniversary :)&lt;br /&gt;&lt;br /&gt;Ohh..  I am not offically in Love :) , So Dont think in the  other way ... &lt;br /&gt;It's First Anniversary since i started Blogging. :) &lt;br /&gt;&lt;br /&gt;Not too many post last year.. Hmmm I have to increase the counts in coming days.. Let me set the target... How much  can i set the target ? 50 posts , 100 posts ?&lt;br /&gt;Ohh No.. I am in confusion Its better to let the JVM to decide , &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;package com.ashok.fun;&lt;br /&gt;&lt;br /&gt;import java.security.NoSuchAlgorithmException;&lt;br /&gt;import java.security.NoSuchProviderException;&lt;br /&gt;import java.security.SecureRandom;&lt;br /&gt;&lt;br /&gt;public class RandomNumber {&lt;br /&gt;&lt;br /&gt; private static final int noOfDays=366; // Hey 2008 its Leap year So...&lt;br /&gt; &lt;br /&gt; public static void main(String args[])&lt;br /&gt; {&lt;br /&gt;  &lt;br /&gt;  try{&lt;br /&gt;   &lt;br /&gt;  SecureRandom random=SecureRandom.getInstance("SHA1PRNG", "SUN");&lt;br /&gt;  &lt;br /&gt;  System.out.println("How much Entry ,should I Blog ?");&lt;br /&gt;  &lt;br /&gt;  System.out.println("JVM : Not less than "+random.nextInt(noOfDays));&lt;br /&gt;  }&lt;br /&gt;  catch(NoSuchAlgorithmException alg)&lt;br /&gt;  {&lt;br /&gt;   System.out.println(" SHA1PRNG Not there ?  ");&lt;br /&gt;  }&lt;br /&gt;  catch(NoSuchProviderException nspe)&lt;br /&gt;  {&lt;br /&gt;   System.out.println("This is not SUN JVM ");&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;}&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Ok program written.. Lets  Run it..!&lt;br /&gt;Here's the output &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How much Entry ,should I Blog ?&lt;br /&gt;JVM : Not less than 202&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; 202 ????  Its Huge !&lt;br /&gt;&lt;br /&gt;Let's see whether i am  able to crack it ..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-4301997841504780913?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/4301997841504780913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=4301997841504780913' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4301997841504780913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4301997841504780913'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/02/its-my-first-anniversary.html' title='Feb 14 Its My First Anniversary !'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-7700905589982638185</id><published>2008-02-08T03:43:00.000-08:00</published><updated>2008-02-08T03:51:12.928-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Hidden Parameters of Software Design</title><content type='html'>Have you ever thought the printer paper that u use and the shoe brand your neighbour wears have any influence on software that you design ? If i say yes ,then I am sure every one will say me mad. It seems to be stupid idea how could my neighbour shoe have effect on softwares I design ?But the fact is there are subtle things which can affect the software you design.&lt;br /&gt;&lt;br /&gt;A man named &lt;a href="http://www.melconway.com/"&gt;&lt;strong&gt;Mel Conway&lt;/strong&gt;&lt;/a&gt; have stated a law about the most hidden influential parameter of software design&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&lt;blockquote&gt;Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure.&lt;/blockquote&gt;&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;In other way&lt;br /&gt;&lt;em&gt;&lt;br /&gt;&lt;strong&gt;&lt;blockquote&gt;Software is doomed to reflect structure of the organization that produces it. &lt;/blockquote&gt;&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;How could communication and organisation structure affect the software design? This seems to be a joke... Really ? No not at all.. &lt;br /&gt;&lt;br /&gt;Here's  description&lt;br /&gt;&lt;br /&gt;Consider a large system S that the government wants to build. The government hires company X to build system S. Say company X has three engineering groups, E1, E2, and E3 that participate in the project. Conway's law suggests that it is likely that the resultant system will consist of 3 major subsystems (S1, S2, S3), each built by one of the engineering groups. More importantly, the resultant interfaces between the subsystems (S1-S2, S1-S3, etc) will reflect the quality and nature of the real-world interpersonal communications between the respective engineering groups (E1-E2, E1-E3, etc).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Another example:&lt;/strong&gt; Consider a two-person team of software engineers, A and B. Say A designs and codes a software class X. Later, the team discovers that class X needs some new features. If A adds the features, A is likely to simply expand X to include the new features. If B adds the new features, B may be afraid of breaking X, and so instead will create a new derived class X2 that inherits X's features, and puts the new features in X2. So, in this example, the final design is a reflection of who implemented the functionality.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A real life example:&lt;/strong&gt; NASA's Mars Climate Orbiter crashed because one team used English units (e.g., inches, feet and pounds) while the other used metric units for a key spacecraft operation. This information was critical to the maneuvers required to place the spacecraft in the proper Mars orbit. "People sometimes make errors," said Dr. Edward Weiler, NASA's Associate Administrator for Space Science. "The problem here was not the error, it was the failure of NASA's systems engineering, and the checks and balances in our processes to detect the error. That's why we lost the spacecraft."&lt;br /&gt;&lt;br /&gt;What a basic error..! Hence the proof of Conway's law...&lt;br /&gt;&lt;br /&gt;I think  this why the Googles have great design in their software they make ... It reflects the organisation structure .. Its reflects the communication they have. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Another Conways law&lt;/strong&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;strong&gt;&lt;em&gt;In every organization there is one person who knows exactly what is going on at all times. This person must be fired.&lt;/em&gt;&lt;/strong&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;One more law&lt;/strong&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;&lt;strong&gt;If a group of N persons implements a COBOL compiler, there will be N-1 passes. Someone in the group has to be the manager.&lt;/strong&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This seems to be funny but you know this is quiet true..&lt;br /&gt;&lt;br /&gt;So when u design Dont have a Y guy who only knows how to do X thing and considered to be the blocker of the project in case he s absence . Have a collective ownership of what every one do  It keeps the team unblocked, and gives everyone the opportunity to do more than one thing (Agile  ) more importantly makes every one interesting.&lt;br /&gt;&lt;br /&gt;Atmost communication between the team is important. keep improving the communication inside the team..!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-7700905589982638185?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/7700905589982638185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=7700905589982638185' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/7700905589982638185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/7700905589982638185'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/02/hidden-parameters-of-software-design.html' title='Hidden Parameters of Software Design'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-6022810163994484175</id><published>2008-01-30T07:07:00.000-08:00</published><updated>2008-01-30T07:25:05.066-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Quotes'/><category scheme='http://www.blogger.com/atom/ns#' term='Inspiration'/><title type='text'>QOTD#1</title><content type='html'>I am starting a new category Quotes .I will post the most inspired Quotes which i have come across , &lt;br /&gt;&lt;br /&gt;First is from the man i love most  and &lt;a href="http://en.wikipedia.org/wiki/Steve_jobs"&gt; from my personal hero &lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;Here we Go :)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;blockquote&gt;Being the richest man in the cemetery doesn't matter to me... Going to bed at night saying we've done something wonderful... that's what matters to me.! &lt;/blockquote&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Thats it ..&lt;br /&gt;&lt;br /&gt;Ohh I forgot&lt;strong&gt;"...and one more thing..."&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/KHGj8AuEv3E&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/KHGj8AuEv3E&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-6022810163994484175?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/6022810163994484175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=6022810163994484175' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6022810163994484175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6022810163994484175'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/01/qotd1.html' title='QOTD#1'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-4666038976785907059</id><published>2008-01-29T07:42:00.000-08:00</published><updated>2008-01-29T07:56:57.534-08:00</updated><title type='text'>Cracked the IIT  Engima..!</title><content type='html'>Finally I cracked the IIT Kharagpur Engima..!&lt;br /&gt;  &lt;a href="http://bp3.blogger.com/_YsAGZwAh9hk/R59KdZ5x4cI/AAAAAAAAAIQ/sYx0z1v_FPk/s1600-h/Enigma_ashok.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_YsAGZwAh9hk/R59KdZ5x4cI/AAAAAAAAAIQ/sYx0z1v_FPk/s320/Enigma_ashok.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5160925567019770306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It toooks extensive search .. I sat down for 3 days to crack it down ...  I can sleep well today ..! :)&lt;br /&gt;&lt;br /&gt;WoW&lt;br /&gt;&lt;strong&gt;&lt;br /&gt; Congratulations! You have cracked the Enigma.&lt;br /&gt;&lt;br /&gt;You have proved that with skill, determination and undying perseverence any obstacle can be overcome. We salute you.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I done it Babe..! Astala vista ..! &lt;br /&gt;&lt;a href="http://www.bitwise.iitkgp.ernet.in/enigma/enigma/"&gt;You can start from here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-4666038976785907059?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/4666038976785907059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=4666038976785907059' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4666038976785907059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4666038976785907059'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2008/01/cracked-engima.html' title='Cracked the IIT  Engima..!'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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://bp3.blogger.com/_YsAGZwAh9hk/R59KdZ5x4cI/AAAAAAAAAIQ/sYx0z1v_FPk/s72-c/Enigma_ashok.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-481671760044781258.post-6581838991337889619</id><published>2007-12-31T03:03:00.000-08:00</published><updated>2007-12-31T03:24:18.514-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Resolution'/><title type='text'>New Year Resolution</title><content type='html'>I was looking for what to set as my new year resolution .Finally i got an idea how  about this ? , setting new resolution seldom matters to me  as each and every year when I move forward I missed to carry the previous set resolution , yeah  new instance created each time,  letting the previous instance to be garbage collect   , So I got to carry forward my resolution so that it persists with the previous instance ,  as long as I can . Well i can keep that as a my  resolution :) &lt;br /&gt;&lt;br /&gt; Apart from it , heres a list , can help some one to choose one from the list :)&lt;br /&gt;&lt;br /&gt;1. Passion. If you don't like your job, do something else.&lt;br /&gt;2. Be active, always! Read books, blogs or even write on your own. Open your favourite open source   framework/project, and peruse it on your spare time. Discuss, analyze, question everything.&lt;br /&gt;3. Create a fictitious medium-size project in your head and create it in your favorite programming language (who knows--it might present a business opportunity) Or better yet, join an active open source project and contribute.&lt;br /&gt;4. Develop the attitude that nothing is impossible. Resist to say "I can't do it"&lt;br /&gt;5. Never stop communicating in a team setting. Don't ever assume; it always comes back to haunt you.&lt;br /&gt;6. Don't try to be super-man and rely entirely on yourself. Learn how to use google and all the resources available to you including your peers, colleagues, friends, and mentors. Don't be afraid to ask for help. Always willing to offer help.&lt;br /&gt;7. Establish professional relationships&lt;br /&gt;8. Understand how your company makes money or saves money. Understand basic business principles.&lt;br /&gt;9. Everyone fails at some point in time, but never blame others for your failures. Take full responsibility for your own actions.&lt;br /&gt;10. Never feel satisfied and complete. Stay Hungry and Stay Foolish . &lt;br /&gt;&lt;br /&gt;I  took this in &lt;a href="http://www.theserverside.com"&gt;TSS&lt;/a&gt;  Most of them fits to me .. &lt;br /&gt;&lt;br /&gt;Alright Bye Bye 2007 i missed you , you being the cornerstone of my professional life  ..  &lt;br /&gt;&lt;br /&gt;And   Welcome 2008 .. You can change me with more passion :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-6581838991337889619?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/6581838991337889619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=6581838991337889619' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6581838991337889619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6581838991337889619'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2007/12/new-year-resolution.html' title='New Year Resolution'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-5646108521398151505</id><published>2007-12-08T03:43:00.000-08:00</published><updated>2007-12-08T03:59:06.528-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Inspiration'/><title type='text'>Stay Hungry Stay Foolish</title><content type='html'>A very inspirational speech by Steve Jobs ,CEO Apple Inc  on the Commencement  of Stanford university. Though this was pretty old this speech is very inspirational , to me . Specially the story about connecting dots  Awesome . When ever i get any task which i found no value in doing it., i started to love those ,  thinking them as my connecting dots of future.  &lt;br /&gt;&lt;br /&gt;Here after i don't need to track back both this transcript and video from now on :) &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/60cDHb-tvMA&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/60cDHb-tvMA&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I am honored to be with you today at your commencement from one of the finest universities in the world. I never graduated from college. Truth be told, this is the closest I've ever gotten to a college graduation. Today I want to tell you three stories from my life. That's it. No big deal. Just three stories.&lt;br /&gt;&lt;br /&gt;The first story is about connecting the dots.&lt;br /&gt;&lt;br /&gt;I dropped out of Reed College after the first 6 months, but then stayed around as a drop-in for another 18 months or so before I really quit. So why did I drop out?&lt;br /&gt;&lt;br /&gt;It started before I was born. My biological mother was a young, unwed college graduate student, and she decided to put me up for adoption. She felt very strongly that I should be adopted by college graduates, so everything was all set for me to be adopted at birth by a lawyer and his wife. Except that when I popped out they decided at the last minute that they really wanted a girl. So my parents, who were on a waiting list, got a call in the middle of the night asking: "We have an unexpected baby boy; do you want him?" They said: "Of course." My biological mother later found out that my mother had never graduated from college and that my father had never graduated from high school. She refused to sign the final adoption papers. She only relented a few months later when my parents promised that I would someday go to college.&lt;br /&gt;&lt;br /&gt;And 17 years later I did go to college. But I naively chose a college that was almost as expensive as Stanford, and all of my working-class parents' savings were being spent on my college tuition. After six months, I couldn't see the value in it. I had no idea what I wanted to do with my life and no idea how college was going to help me figure it out. And here I was spending all of the money my parents had saved their entire life. So I decided to drop out and trust that it would all work out OK. It was pretty scary at the time, but looking back it was one of the best decisions I ever made. The minute I dropped out I could stop taking the required classes that didn't interest me, and begin dropping in on the ones that looked interesting.&lt;br /&gt;&lt;br /&gt;It wasn't all romantic. I didn't have a dorm room, so I slept on the floor in friends' rooms, I returned coke bottles for the 5¢ deposits to buy food with, and I would walk the 7 miles across town every Sunday night to get one good meal a week at the Hare Krishna temple. I loved it. And much of what I stumbled into by following my curiosity and intuition turned out to be priceless later on. Let me give you one example:&lt;br /&gt;&lt;br /&gt;Reed College at that time offered perhaps the best calligraphy instruction in the country. Throughout the campus every poster, every label on every drawer, was beautifully hand calligraphed. Because I had dropped out and didn't have to take the normal classes, I decided to take a calligraphy class to learn how to do this. I learned about serif and san serif typefaces, about varying the amount of space between different letter combinations, about what makes great typography great. It was beautiful, historical, artistically subtle in a way that science can't capture, and I found it fascinating.&lt;br /&gt;&lt;br /&gt;None of this had even a hope of any practical application in my life. But ten years later, when we were designing the first Macintosh computer, it all came back to me. And we designed it all into the Mac. It was the first computer with beautiful typography. If I had never dropped in on that single course in college, the Mac would have never had multiple typefaces or proportionally spaced fonts. And since Windows just copied the Mac, its likely that no personal computer would have them. If I had never dropped out, I would have never dropped in on this calligraphy class, and personal computers might not have the wonderful typography that they do. Of course it was impossible to connect the dots looking forward when I was in college. But it was very, very clear looking backwards ten years later.&lt;br /&gt;&lt;br /&gt;Again, you can't connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something — your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life.&lt;br /&gt;&lt;br /&gt;My second story is about love and loss.&lt;br /&gt;&lt;br /&gt;I was lucky — I found what I loved to do early in life. Woz and I started Apple in my parents garage when I was 20. We worked hard, and in 10 years Apple had grown from just the two of us in a garage into a $2 billion company with over 4000 employees. We had just released our finest creation — the Macintosh — a year earlier, and I had just turned 30. And then I got fired. How can you get fired from a company you started? Well, as Apple grew we hired someone who I thought was very talented to run the company with me, and for the first year or so things went well. But then our visions of the future began to diverge and eventually we had a falling out. When we did, our Board of Directors sided with him. So at 30 I was out. And very publicly out. What had been the focus of my entire adult life was gone, and it was devastating.&lt;br /&gt;&lt;br /&gt;I really didn't know what to do for a few months. I felt that I had let the previous generation of entrepreneurs down - that I had dropped the baton as it was being passed to me. I met with David Packard and Bob Noyce and tried to apologize for screwing up so badly. I was a very public failure, and I even thought about running away from the valley. But something slowly began to dawn on me — I still loved what I did. The turn of events at Apple had not changed that one bit. I had been rejected, but I was still in love. And so I decided to start over.&lt;br /&gt;&lt;br /&gt;I didn't see it then, but it turned out that getting fired from Apple was the best thing that could have ever happened to me. The heaviness of being successful was replaced by the lightness of being a beginner again, less sure about everything. It freed me to enter one of the most creative periods of my life.&lt;br /&gt;&lt;br /&gt;During the next five years, I started a company named NeXT, another company named Pixar, and fell in love with an amazing woman who would become my wife. Pixar went on to create the worlds first computer animated feature film, Toy Story, and is now the most successful animation studio in the world. In a remarkable turn of events, Apple bought NeXT, I returned to Apple, and the technology we developed at NeXT is at the heart of Apple's current renaissance. And Laurene and I have a wonderful family together.&lt;br /&gt;&lt;br /&gt;I'm pretty sure none of this would have happened if I hadn't been fired from Apple. It was awful tasting medicine, but I guess the patient needed it. Sometimes life hits you in the head with a brick. Don't lose faith. I'm convinced that the only thing that kept me going was that I loved what I did. You've got to find what you love. And that is as true for your work as it is for your lovers. Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle. As with all matters of the heart, you'll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don't settle.&lt;br /&gt;&lt;br /&gt;My third story is about death.&lt;br /&gt;&lt;br /&gt;When I was 17, I read a quote that went something like: "If you live each day as if it was your last, someday you'll most certainly be right." It made an impression on me, and since then, for the past 33 years, I have looked in the mirror every morning and asked myself: "If today were the last day of my life, would I want to do what I am about to do today?" And whenever the answer has been "No" for too many days in a row, I know I need to change something.&lt;br /&gt;&lt;br /&gt;Remembering that I'll be dead soon is the most important tool I've ever encountered to help me make the big choices in life. Because almost everything — all external expectations, all pride, all fear of embarrassment or failure - these things just fall away in the face of death, leaving only what is truly important. Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose. You are already naked. There is no reason not to follow your heart.&lt;br /&gt;&lt;br /&gt;About a year ago I was diagnosed with cancer. I had a scan at 7:30 in the morning, and it clearly showed a tumor on my pancreas. I didn't even know what a pancreas was. The doctors told me this was almost certainly a type of cancer that is incurable, and that I should expect to live no longer than three to six months. My doctor advised me to go home and get my affairs in order, which is doctor's code for prepare to die. It means to try to tell your kids everything you thought you'd have the next 10 years to tell them in just a few months. It means to make sure everything is buttoned up so that it will be as easy as possible for your family. It means to say your goodbyes.&lt;br /&gt;&lt;br /&gt;I lived with that diagnosis all day. Later that evening I had a biopsy, where they stuck an endoscope down my throat, through my stomach and into my intestines, put a needle into my pancreas and got a few cells from the tumor. I was sedated, but my wife, who was there, told me that when they viewed the cells under a microscope the doctors started crying because it turned out to be a very rare form of pancreatic cancer that is curable with surgery. I had the surgery and I'm fine now.&lt;br /&gt;&lt;br /&gt;This was the closest I've been to facing death, and I hope its the closest I get for a few more decades. Having lived through it, I can now say this to you with a bit more certainty than when death was a useful but purely intellectual concept:&lt;br /&gt;&lt;br /&gt;No one wants to die. Even people who want to go to heaven don't want to die to get there. And yet death is the destination we all share. No one has ever escaped it. And that is as it should be, because Death is very likely the single best invention of Life. It is Life's change agent. It clears out the old to make way for the new. Right now the new is you, but someday not too long from now, you will gradually become the old and be cleared away. Sorry to be so dramatic, but it is quite true.&lt;br /&gt;&lt;br /&gt;Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma — which is living with the results of other people's thinking. Don't let the noise of others' opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.&lt;br /&gt;&lt;br /&gt;When I was young, there was an amazing publication called The Whole Earth Catalog, which was one of the bibles of my generation. It was created by a fellow named Stewart Brand not far from here in Menlo Park, and he brought it to life with his poetic touch. This was in the late 1960's, before personal computers and desktop publishing, so it was all made with typewriters, scissors, and polaroid cameras. It was sort of like Google in paperback form, 35 years before Google came along: it was idealistic, and overflowing with neat tools and great notions.&lt;br /&gt;&lt;br /&gt;Stewart and his team put out several issues of The Whole Earth Catalog, and then when it had run its course, they put out a final issue. It was the mid-1970s, and I was your age. On the back cover of their final issue was a photograph of an early morning country road, the kind you might find yourself hitchhiking on if you were so adventurous. Beneath it were the words: "Stay Hungry. Stay Foolish." It was their farewell message as they signed off. Stay Hungry. Stay Foolish. And I have always wished that for myself. And now, as you graduate to begin anew, I wish that for you.&lt;br /&gt;&lt;br /&gt;Stay Hungry. Stay Foolish.&lt;br /&gt;&lt;br /&gt;Thank you all very much.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-5646108521398151505?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/5646108521398151505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=5646108521398151505' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/5646108521398151505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/5646108521398151505'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2007/12/stay-hungry-stay-foolish.html' title='Stay Hungry Stay Foolish'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-3039790678738932178</id><published>2007-11-30T01:41:00.000-08:00</published><updated>2007-11-30T02:14:38.889-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Show - Stopper</title><content type='html'>Its started right from my childhood days i use to see lot of  &lt;a href="http://www.wwe.com/"&gt;WWE &lt;/a&gt;shows . Show Stopper is referred to none other &lt;a href="http://en.wikipedia.org/wiki/Shawn_Michaels"&gt;Mr.HBK&lt;/a&gt; &lt;br /&gt;himself .He used to steal the show with his sweet chin Music .I love show stopper, I love &lt;a href="http://en.wikipedia.org/wiki/D-Generation_X"&gt;DX &lt;/a&gt; :)&lt;br /&gt;&lt;br /&gt;Any how this post about Show Stopper is not related to him :) I hate this show stopper ..!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Today I got a mail from our QE that they have rejected  our kit  which we have released earlier ,stating they have found a show stopper in our code.&lt;br /&gt;&lt;br /&gt;Show Stopper come on ,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;What is Show Stopper ?&lt;/span&gt;&lt;br /&gt;In software development there is a term for a missing feature or bug plagued service that will be the crucial factor which will threaten the overall acceptance of the software - its called a showstopper&lt;br /&gt;&lt;br /&gt;We are following &lt;a href="http://en.wikipedia.org/wiki/Waterfall_model"&gt;waterfall model&lt;/a&gt; for the whole product and &lt;a href="http://en.wikipedia.org/wiki/Iterative_and_incremental_development"&gt;Incremental delivery&lt;/a&gt; for every feature which needs to be added/merged to the whole product.&lt;br /&gt;&lt;br /&gt;The issue stated was combination of authentication doesn't working.we already stated this as know issue in the release notes, still it has been spotted as show stopper . &lt;br /&gt;&lt;br /&gt;In real time is there any online Banking /Financial companies using a combination of authentication , how about having user name / password + certificate authentication + biometrics ? for  user to login to your system ?&lt;br /&gt;yes it do s***s to me.. !&lt;br /&gt;&lt;br /&gt;But we are in outsourcing industry babe.. we used to code things which never ever happen to be exists in real world. So wrong statement :) &lt;br /&gt;&lt;br /&gt;Let me try to prove in a different way from my knowledge that I acquired from surfing , read in blogosphere ,forums, etc&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Software Quality &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have a question ,Does bug free software mean good software?&lt;br /&gt;&lt;br /&gt;Bugs in a software products are due to ,&lt;br /&gt;a) QA's attention in their job&lt;br /&gt;b) Ability of a programmer &lt;br /&gt;c) Features of the Software&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Mathematically ,&lt;br /&gt;  bugs= (X  robustness of the QA process X features provided by the software / robustness of the development process.)&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So from above equations, when both QA and Dev process are robust enough then bugs are due to the feature introduced into the software :) &lt;br /&gt;&lt;br /&gt;So why we need that combination of authentication? From Business perception we need to have, for market advantage and for other Blahs , but from an Engineering perception the above equation holds the answer.&lt;br /&gt;&lt;br /&gt;Equal and opposite force attract each other may be true for law of magnetism but it fails for software Engineering.Specially Engineering peoples, &lt;br /&gt;&lt;br /&gt;I read this lines in a blog ,Whom ever thanks to him , exactly fits to my posting , &lt;br /&gt;&lt;br /&gt;1.) the evil force called QA logs high severity bugs forecasting catastrophe as inevitability in the system to get the wheel in motion.&lt;br /&gt;&lt;br /&gt;2.) Development aka heroes (why are they always commended for fixing a bug when they coded badly in the first place?) as part of evaluation predict completely opposite  rosier picture and soothe nerves saying such things rarely happen in real world and fixes aren't urgent.&lt;br /&gt;&lt;br /&gt;Much like &lt;a href="http://en.wikipedia.org/wiki/Yin_and_yang"&gt;Ying and Yang&lt;/a&gt; :)&lt;br /&gt;&lt;br /&gt;To make software to be more productive and really useful to the customers both should work collaborative.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Guns wont kill people, Its people who kill people &lt;/span&gt;,&lt;br /&gt;I repeat ,&lt;br /&gt;&lt;span style="font-weight:bold;"&gt; Guns wont kill people , Its people who kill people &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Likewise,&lt;br /&gt;&lt;span style="font-weight:bold;"&gt; Software Metrics Don't Kill Projects, Moronic Peoples/Managers Kill Projects&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Use it wisely at least in your projects.!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-3039790678738932178?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/3039790678738932178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=3039790678738932178' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/3039790678738932178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/3039790678738932178'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2007/11/show-stopper.html' title='Show - Stopper'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-4801516541044937734</id><published>2007-11-29T06:01:00.000-08:00</published><updated>2007-11-29T06:51:22.816-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>I , Random Surfer</title><content type='html'>Today i shared the link of &lt;a href="http://en.wikipedia.org/wiki/Larry_Lessig"&gt;Larry Lessig's&lt;/a&gt; speech on &lt;a href="http://ashokjjr.blogspot.com/2007/11/how-creativity-is-being-strangled-by.html"&gt;How creativity is being strangled by the law&lt;/a&gt; to &lt;a href="http://peerlessdeepak.wordpress.com/"&gt;this guy&lt;/a&gt;. He asked me how i got the link to &lt;a href="http://www.ted.com/index.php/%20"&gt;TED&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;Well , This is how i got the link ., The story of Me , the Random Surfer,&lt;br /&gt;&lt;br /&gt;During my  the third year of &lt;a href="http://en.wikipedia.org/wiki/Engineering"&gt;Engineering&lt;/a&gt; at &lt;a href="http://accet.net/"&gt;ACCET&lt;/a&gt; , I read about &lt;a href="http://infolab.stanford.edu/~backrub/google.html"&gt;Page rank&lt;/a&gt; , Google's algorithm of their search implementation , in which , they have stated , &lt;br /&gt;&lt;br /&gt;PageRank can be thought of as a model of user behavior. We assume there is a &lt;a href="http://ashokjjr.blogspot.com/"&gt;"random surfer"&lt;/a&gt; who is given a web page at random and keeps clicking on links, never hitting "back" but eventually gets bored and starts on another random page. The probability that the random surfer visits a page is its PageRank. And, the d damping factor is the probability at each page the "random surfer" will get bored and request another random page.&lt;br /&gt;&lt;br /&gt;I  was configuring cvs with &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; for check out a &lt;a href="http://en.wikipedia.org/wiki/Opensource"&gt;opensource&lt;/a&gt; code.  But I failed to configure, so I searched on how to configure CVS with Eclipse on Google got a link its actually a  forum with a guy posted a link to his blog ., So i went there he was a &lt;a href="http://java.sun.com"&gt;Java&lt;/a&gt; guy like me, so i searched his postings ., he  referred to a link of OSS posting ,which is another blog there i viewed a video.,  a professor named &lt;a href="http://en.wikipedia.org/wiki/Larry_Lessig"&gt;Larry Lessig&lt;/a&gt; was giving a lecture on How creativity is being strangled by the law..  a very good speech ., so went to &lt;a href="http://en.wikipedia.org/"&gt;wiki&lt;/a&gt; to know about him he was a &lt;a href="http://www.stanford.edu/"&gt;Stanford&lt;/a&gt; guy ., to know more more about him i surfed where he had this talk ... it was actually on  TED then surfed TED and get to know about it.&lt;br /&gt; &lt;br /&gt;Between this i forgot to configure CVS ., still pending :) I lost the link  of both the CVS configuration  and the link which had the video of &lt;a href="http://en.wikipedia.org/wiki/Larry_Lessig"&gt;Larry Lessig&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;To get back to his blog i ll just type CVS Google will pop up with history of search queries  then i ll just hit it ., in the search result Google  ll have the history count visits which makes everything easy for me .., everything will works out until i use this pc ., &lt;br /&gt;&lt;br /&gt;I never ever keeps bookmark of such pages.  I have missed a lot ..! When ever i thought a link is useful, simply i will note it down in a &lt;a href="http://www.morun.net/www/windows-sticker-software.html"&gt;Sticker lite.&lt;/a&gt; Even its volatile.! .I haven't restarted more than months for sake of i never read that link, after i entered in it.. All because of this Firefox bookmark, which i haven't categorized so it looks ugly to me.,  so just  now  i am started using    &lt;a href="http://del.icio.us/"&gt;delicious &lt;/a&gt;,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thats the story of randoms surfer and how i got the link to &lt;a href="http://www.ted.com/index.php"&gt;TED &lt;/a&gt;. It started out in CVS went to &lt;a href="http://www.ted.com/index.php"&gt;TED&lt;/a&gt; . Between still my CVS configuration with Eclipse is pending . Any one out there to help me?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-4801516541044937734?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/4801516541044937734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=4801516541044937734' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4801516541044937734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/4801516541044937734'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2007/11/i-random-surfer.html' title='I , Random Surfer'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-2995073321861355092</id><published>2007-11-28T06:03:00.000-08:00</published><updated>2007-11-28T06:27:58.119-08:00</updated><title type='text'>How creativity is being strangled by the law</title><content type='html'>If u want to know about &lt;a href="http://en.wikipedia.org/wiki/Open-source_software"&gt;OSS&lt;/a&gt;  or &lt;a href="http://en.wikipedia.org/wiki/Free_software"&gt;Free Software&lt;/a&gt; then you should  watch this video by &lt;a href="http://en.wikipedia.org/wiki/Larry_Lessig"&gt;Larry Lessig &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="432" height="285" id="VE_Player" align="middle"&gt;&lt;param name="movie" value="http://static.videoegg.com/ted/flash/loader.swf"&gt;&lt;PARAM NAME="FlashVars" VALUE="bgColor=FFFFFF&amp;file=http://static.videoegg.com/ted/movies/LARRYLESSIG-2007_high.flv&amp;autoPlay=false&amp;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;forcePlay=false&amp;logo=&amp;allowFullscreen=true"&gt;&lt;param name="quality" value="high"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="scale" value="noscale"&gt;&lt;param name="wmode" value="window"&gt;&lt;embed src="http://static.videoegg.com/ted/flash/loader.swf" FlashVars="bgColor=FFFFFF&amp;file=http://static.videoegg.com/ted/movies/LARRYLESSIG-2007_high.flv&amp;autoPlay=false&amp;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;forcePlay=false&amp;logo=&amp;allowFullscreen=true" quality="high" allowScriptAccess="always" bgcolor="#FFFFFF" scale="noscale" wmode="window" width="432" height="285" name="VE_Player" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-2995073321861355092?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/2995073321861355092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=2995073321861355092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/2995073321861355092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/2995073321861355092'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2007/11/how-creativity-is-being-strangled-by.html' title='How creativity is being strangled by the law'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-6441350072216703605</id><published>2007-11-19T00:28:00.001-08:00</published><updated>2007-11-19T00:30:27.768-08:00</updated><title type='text'>Dilbert on Career Engg</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_YsAGZwAh9hk/R0FJPA6GIbI/AAAAAAAAAHU/ai0QM6orVZI/s1600-h/dilbert200711195248.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_YsAGZwAh9hk/R0FJPA6GIbI/AAAAAAAAAHU/ai0QM6orVZI/s320/dilbert200711195248.jpg" alt="" id="BLOGGER_PHOTO_ID_5134465572469612978" border="0" /&gt;&lt;/a&gt;Needless to say ., :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-6441350072216703605?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/6441350072216703605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=6441350072216703605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6441350072216703605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/6441350072216703605'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2007/11/dilbert-on-career-engg.html' title='Dilbert on Career Engg'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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://bp1.blogger.com/_YsAGZwAh9hk/R0FJPA6GIbI/AAAAAAAAAHU/ai0QM6orVZI/s72-c/dilbert200711195248.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-481671760044781258.post-5683050638514790755</id><published>2007-11-15T05:53:00.000-08:00</published><updated>2007-11-15T06:41:13.437-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Why Should I Blog ?</title><content type='html'>&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;span style=""&gt;&lt;br /&gt;I have not blogged over a long period of time.. &lt;/span&gt;I had a  question Why should I blog ?&lt;br /&gt;&lt;br /&gt;Its took this much time to get the answer :)&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;a href="http://blog.penelopetrunk.com/2006/05/23/blogging-essential-for-a-good-career/"&gt;&lt;span style="text-decoration: underline;"&gt;Why Should I Blog&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;So i am start Blogging again..     As is customary I am starting with&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:180%;"  &gt;Hello World..!&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;All right! That wasn't too bad or hard.&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;That is all for now. More to follow shortly...   :)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-5683050638514790755?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/5683050638514790755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=5683050638514790755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/5683050638514790755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/5683050638514790755'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2007/11/why-should-i-blog.html' title='Why Should I Blog ?'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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-481671760044781258.post-8705142004343935212</id><published>2007-02-14T20:45:00.000-08:00</published><updated>2007-02-14T21:04:52.535-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>I am Software Engg</title><content type='html'>I know what you're thinking.&lt;br /&gt;You're thinking, "That guy is Cool".&lt;br /&gt;&lt;br /&gt;You may think that I  am working Hard but Iam not..!&lt;br /&gt;&lt;br /&gt;I have many friends&lt;br /&gt;in chat rooms &amp; in Orkut.&lt;br /&gt;&lt;br /&gt;I travel to many exotic places&lt;br /&gt;in Google Earth&lt;br /&gt;&lt;br /&gt;Latest hit videos i prefer You Tube&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I know many languages:&lt;br /&gt;Java, C, C++.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Even My desktop dont know in what language will i speak next to it ..! sum times Java sumtimes in c++  thank god my manager s not dealing with any of the PHP , Ruby, pearl scripts..!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I am here to make software that works that is easy to use that is beautiful and most importantly that makes life better for other people..!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I am a software Engg..!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/481671760044781258-8705142004343935212?l=www.humbleprogrammer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.humbleprogrammer.org/feeds/8705142004343935212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=481671760044781258&amp;postID=8705142004343935212' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/8705142004343935212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/481671760044781258/posts/default/8705142004343935212'/><link rel='alternate' type='text/html' href='http://www.humbleprogrammer.org/2007/02/i-am-software-engg.html' title='I am Software Engg'/><author><name>Ashok</name><uri>http://www.blogger.com/profile/06050437602475752006</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>
