<?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-2175751175680628161</id><updated>2012-01-29T08:43:37.921-05:00</updated><category term='MYSQL'/><category term='linus'/><category term='C# .Net'/><category term='pump'/><category term='Priority'/><category term='bill'/><category term='sicbo'/><category term='Postal'/><category term='hosting'/><category term='aspire'/><category term='include'/><category term='exclude'/><category term='inheritance'/><category term='sqlserver'/><category term='Sic Bo'/><category term='casino'/><category term='Dell'/><category term='barbeque'/><category term='XportXML'/><category term='link'/><category term='sump'/><category term='line'/><category term='cnn'/><category term='xp'/><category term='scripting'/><category term='Profitability'/><category term='xml'/><category term='Cost'/><category term='multiuser'/><category term='technical'/><category term='Technician'/><category term='Postoffice'/><category term='pearl'/><category term='U.S. Postal Services'/><category term='composite control'/><category term='hate'/><category term='shared hosting'/><category term='wet'/><category term='game'/><category term='filter'/><category term='godaddy'/><category term='online'/><category term='1and1'/><category term='gates'/><category term='Attach'/><category term='Guy'/><category term='Wrong'/><category term='ASP.Net'/><category term='ubuntu'/><category term='acer'/><category term='exclusion'/><category term='vista'/><category term='support'/><category term='bill. gates'/><category term='bbq'/><category term='SQL Server'/><category term='.Net'/><category term='perl'/><category term='import'/><category term='mask'/><category term='export'/><category term='command'/><category term='Oracle'/><category term='Ajax'/><category term='ribs'/><category term='inclusion'/><category term='tables'/><category term='unlink'/><category term='barbecue'/><category term='delete'/><category term='irene'/><category term='basement'/><category term='one'/><category term='script'/><category term='windows'/><category term='Efficiency'/><category term='vbscript'/><category term='file'/><category term='ADO'/><category term='linux'/><category term='Mail'/><category term='hurricane'/><category term='High'/><category term='Registered'/><category term='web user control'/><category term='ipcolony'/><category term='pork'/><category term='mass'/><category term='C# .Net casino &quot;sic bo&quot; sic bo'/><category term='torvald'/><category term='flood'/><category term='user control'/><category term='sql'/><category term='shared'/><category term='SicBo Online'/><category term='Microsoft Access'/><category term='ODBC'/><category term='Certified'/><title type='text'>This is not CNN.</title><subtitle type='html'>A collection of my rants, thoughts, and creativity.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-5362980045592926243</id><published>2012-01-12T21:32:00.000-05:00</published><updated>2012-01-12T21:32:46.796-05:00</updated><title type='text'>Let us reinvent a new voting system</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
As I write this blog, 2012 republican primaries are in full swing.&amp;nbsp; Turn the TV on and all you hear is, "anyone but Romney", or "anyone but Gingrich" etc.&lt;br /&gt;
&lt;br /&gt;
I think the way we vote for anything, and I don't mean just government elections, is fundamentally flawed.&amp;nbsp; Does one vote really make a difference?&amp;nbsp; One vote per choice makes very little difference.&amp;nbsp; Our current system of voting for one candidate only chooses the best of what only a fraction of people want.&amp;nbsp; I will illustrate my point better in the tables below.&amp;nbsp; The percentages represent electoral votes.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-q_ZyhBDX4ys/Tw-PfUNUJHI/AAAAAAAAA3Q/ZP3YnKKFwos/s1600/vote1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="132" src="http://2.bp.blogspot.com/-q_ZyhBDX4ys/Tw-PfUNUJHI/AAAAAAAAA3Q/ZP3YnKKFwos/s400/vote1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
So, 53% of people wanted Obama and they got him (My votes breakdown is not accurate but the totals are.) It is all good so far.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Now, let us consider the current polarized environment of our country.&amp;nbsp; There are a lot of "anybody but Onama" folks right now.&amp;nbsp; At the same time, there are many in the "anybody but Obama but not Romney" category as well.&amp;nbsp; There is a good chance that Mr. Romney will win the nomination for the republican party.&amp;nbsp; Considering the momentum Ron Paul has gathered, he may decide to run as an independent. The republican votes will get divided giving Mr. Obama a second term.&amp;nbsp; Consider below a hypothetical scenario.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-ppdnmibGylg/Tw-TqyzqUdI/AAAAAAAAA3w/74i1XrwtXZA/s1600/Vote2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="110" src="http://1.bp.blogspot.com/-ppdnmibGylg/Tw-TqyzqUdI/AAAAAAAAA3w/74i1XrwtXZA/s400/Vote2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
So, it seems that we would have forced choice of only 33% of the people on others. Fair? No.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;My crazy idea (I am sure I am not the only one to think of this the first time) is to allow voting for multiple candidates.&lt;/b&gt;&amp;nbsp; Let us say, I want Obama to win, but I may settle for Ron Paul too.&amp;nbsp; So, now let us apply my hypothetical scenario for 2012 to a multiple choice voting system.&amp;nbsp; You will notice that I have moved some hard core supporters to "People with multiple selections" category.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-iKUgpRC-zOw/Tw-TqrAJntI/AAAAAAAAA3o/97P96LpTOUQ/s1600/Vote3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="132" src="http://2.bp.blogspot.com/-iKUgpRC-zOw/Tw-TqrAJntI/AAAAAAAAA3o/97P96LpTOUQ/s400/Vote3.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
It is obvious from the results above that even though Ron Paul was not the first choice for many people, but 45% of the people thought they would settle for him. In terms of fairness, my system is better than imposing the will of only 33% of the people on rest of the voters.&lt;br /&gt;
&lt;br /&gt;
Well, I know that there is no way, this idea will even be discussed or argued.&amp;nbsp; However, it does make a good topic of discussion by the water cooler.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-5362980045592926243?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/5362980045592926243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2012/01/let-us-reinvent-new-voting-system.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/5362980045592926243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/5362980045592926243'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2012/01/let-us-reinvent-new-voting-system.html' title='Let us reinvent a new voting system'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-q_ZyhBDX4ys/Tw-PfUNUJHI/AAAAAAAAA3Q/ZP3YnKKFwos/s72-c/vote1.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-6377097632608306150</id><published>2011-12-21T12:05:00.001-05:00</published><updated>2011-12-21T16:35:54.558-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Certified'/><category scheme='http://www.blogger.com/atom/ns#' term='High'/><category scheme='http://www.blogger.com/atom/ns#' term='Cost'/><category scheme='http://www.blogger.com/atom/ns#' term='Wrong'/><category scheme='http://www.blogger.com/atom/ns#' term='U.S. Postal Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Registered'/><category scheme='http://www.blogger.com/atom/ns#' term='Priority'/><category scheme='http://www.blogger.com/atom/ns#' term='Efficiency'/><category scheme='http://www.blogger.com/atom/ns#' term='Postoffice'/><category scheme='http://www.blogger.com/atom/ns#' term='Postal'/><category scheme='http://www.blogger.com/atom/ns#' term='Mail'/><category scheme='http://www.blogger.com/atom/ns#' term='Profitability'/><title type='text'>How to bring U.S.Postal Service to profitability</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
At the time of writing this blog (Dec. 2011), the U.S. Postal Service is losing money, and it is losing it fast.&amp;nbsp; The projected figure of losses by September 30, 2011, was $10 billion.&amp;nbsp; Numerous articles have been published about what is wrong with the postal service, blaming unfunded retirement plans to the congress.&amp;nbsp; No matter what anybody says, I think U.S. Postal Service does a good job.&amp;nbsp; Delivering a greeting card for just 44 cents from coast to coast fairly reliably and fast, is quite amazing.&lt;br /&gt;
&lt;br /&gt;
Being a systems guy, I have different take on Postal Service's profitability and efficiency.&amp;nbsp; And, I mean process efficiency here.&amp;nbsp; My head starts spinning when I look at the U.S. Postal Service's forms and the service offerings.&amp;nbsp; So, here are my humble recommendations:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Eliminate Express Mail&lt;/span&gt;&lt;br /&gt;
Are you ever confused by the Express and Priority mail envelopes?&amp;nbsp; I have made this mistake several times.&amp;nbsp; Express mail is for overnight delivery of mail to most U.S. locations.&amp;nbsp; U.S. Postal service is no cheaper than Fedex and UPS in this area.&amp;nbsp; Fedex and UPS now have better retail outlets to accept packages.&amp;nbsp; Leave this area to them.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-GjMyidLgPtc/TvIPGXkewNI/AAAAAAAAA18/t91pq-qJMqE/s1600/express_mail.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-GjMyidLgPtc/TvIPGXkewNI/AAAAAAAAA18/t91pq-qJMqE/s320/express_mail.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Combine Priority Mail and Registered Mail as one&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Did you ever ask yourself as to what is registered mail?&amp;nbsp; This is straight from USPS website:&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
"What mail classes and services can be sent as Registered Mail?&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;Registered Mail is available only for First-Class Mail®, First-Class Package Service, or Priority Mail® (excluding Critical Mail) service items that are mailable"&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;Did you get that? A customer is typically interested in sending a letter or package, which will arrive in two to three days, and is trackable.&amp;nbsp; So, why bother giving them different names.&amp;nbsp; Call it just priority mail.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-Y6uzq1uKniI/TvIPRfFP35I/AAAAAAAAA2E/gM0Gtc_o5Ts/s1600/Registered+Mail+Receipt.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-Y6uzq1uKniI/TvIPRfFP35I/AAAAAAAAA2E/gM0Gtc_o5Ts/s320/Registered+Mail+Receipt.jpg" width="291" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;Combine all delivery confirmation forms into one&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;I prefer the neon green form.&amp;nbsp; I would add an additional checkbox for signature required.&amp;nbsp; So, how would it work?&amp;nbsp; Delivery confirmation mechanism will remain the same using the barcode.&amp;nbsp; Signature required checkbox will prompt the carrier to capture the signature on a digital device (I don't know if they exist within USPS today.)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-hiFMtJhm_5M/TvIPe5PC6JI/AAAAAAAAA2M/zmn4ITKdkn4/s1600/Delivery+Confirmation.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="169" src="http://1.bp.blogspot.com/-hiFMtJhm_5M/TvIPe5PC6JI/AAAAAAAAA2M/zmn4ITKdkn4/s320/Delivery+Confirmation.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-uB-Xu89Dd0I/TvIPfm3zMXI/AAAAAAAAA2U/lLbiwVZugRI/s1600/Domestic+insured+mail+receipt.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://1.bp.blogspot.com/-uB-Xu89Dd0I/TvIPfm3zMXI/AAAAAAAAA2U/lLbiwVZugRI/s320/Domestic+insured+mail+receipt.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-b8PxFgLoNGo/TvIPgZdy2cI/AAAAAAAAA2c/19lxsxaB8Mc/s1600/Domestic+Insured+Mail+Receipt_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="206" src="http://3.bp.blogspot.com/-b8PxFgLoNGo/TvIPgZdy2cI/AAAAAAAAA2c/19lxsxaB8Mc/s320/Domestic+Insured+Mail+Receipt_1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-ijPXbQx_xis/TvIPgyS9X3I/AAAAAAAAA2k/FOUVl5GQzmw/s1600/Merchandise+Return+Receipt.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="178" src="http://3.bp.blogspot.com/-ijPXbQx_xis/TvIPgyS9X3I/AAAAAAAAA2k/FOUVl5GQzmw/s320/Merchandise+Return+Receipt.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-_HZS9-tJnnw/TvIPhgTBQwI/AAAAAAAAA2s/e47TBQT9hBA/s1600/Signature+Confirmation.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="157" src="http://1.bp.blogspot.com/-_HZS9-tJnnw/TvIPhgTBQwI/AAAAAAAAA2s/e47TBQT9hBA/s320/Signature+Confirmation.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;Eliminate green domestic return receipt form (PS Form 3811)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;Every tax filing American is familiar with this form, and we DO NOT need it.&amp;nbsp; Delivery confirmation (may be with signature required) should be good enough for you to prove to Uncle Sam that you sent in your tax return by mid night on April 15.&amp;nbsp; You may ask, "I do not have a computer, how do I get the confirmation?"&amp;nbsp; Honestly, I do not have a convenient solution for this.&amp;nbsp; Post office knows that the package was delivered. This information is tracked.&amp;nbsp; But they do not record your address in the computer to automatically generate a return receipt.&amp;nbsp; May be a trip to your post office with the tracking number can do that trick.&amp;nbsp; They can print the delivery conformation and the recipient's name and signature (if you requested it.)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-SyzDs-ukpWE/TvIPuaSWHRI/AAAAAAAAA20/PSKV8HeleHo/s1600/Domestic+Return+Receipt.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="178" src="http://2.bp.blogspot.com/-SyzDs-ukpWE/TvIPuaSWHRI/AAAAAAAAA20/PSKV8HeleHo/s320/Domestic+Return+Receipt.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Tp1B3iAGmjg/TvIPvGQKZDI/AAAAAAAAA28/dv8kFy3S3Aw/s1600/Return+Receipt+International+Mail.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="199" src="http://1.bp.blogspot.com/-Tp1B3iAGmjg/TvIPvGQKZDI/AAAAAAAAA28/dv8kFy3S3Aw/s320/Return+Receipt+International+Mail.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;Charge them for boxes&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;Have you ever seen the lady buying a cup of coffee at McDonald's, liberally helps herself with a dozen napkins?&amp;nbsp; She does it because it is free.&amp;nbsp; Hey, I am guilty too.&amp;nbsp; Every time I go to the post office I help myself with a few "if it fits it ships" boxes, regardless of whether I need it or not.&amp;nbsp; I say, charge this money upfront when the customer comes to get the empty box, and deduct the cost from the shipping when he comes back to ship it.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-RDU1EiycHw8/TvIP5MSAZwI/AAAAAAAAA3E/U89XnPDjdlo/s1600/USPS-Flat-Rate-Boxes.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="107" src="http://1.bp.blogspot.com/-RDU1EiycHw8/TvIP5MSAZwI/AAAAAAAAA3E/U89XnPDjdlo/s320/USPS-Flat-Rate-Boxes.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-size: large;"&gt;Conslusion:&lt;/span&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;I am sure there are other areas of improvement as well, however, a lot of wastage and confusion on customer's part can be avoided if U.S.Postal Service will consider some of these suggestions.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-6377097632608306150?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/6377097632608306150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/12/how-to-bring-uspostal-service-to.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/6377097632608306150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/6377097632608306150'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/12/how-to-bring-uspostal-service-to.html' title='How to bring U.S.Postal Service to profitability'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-GjMyidLgPtc/TvIPGXkewNI/AAAAAAAAA18/t91pq-qJMqE/s72-c/express_mail.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-2220456815710430114</id><published>2011-09-14T11:13:00.000-04:00</published><updated>2011-09-14T11:32:56.283-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SicBo Online'/><category scheme='http://www.blogger.com/atom/ns#' term='Sic Bo'/><category scheme='http://www.blogger.com/atom/ns#' term='online'/><category scheme='http://www.blogger.com/atom/ns#' term='casino'/><category scheme='http://www.blogger.com/atom/ns#' term='multiuser'/><category scheme='http://www.blogger.com/atom/ns#' term='sicbo'/><category scheme='http://www.blogger.com/atom/ns#' term='ipcolony'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><title type='text'>Play the casino game of SicBo with your friends</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Last year I created a desktop version of the casino game of SicBo. Several friends commented that there should be a web version of the game.&amp;nbsp; After all who wants to install anything and besides you need a Windows platform.&amp;nbsp; So, folks, after some months of labor I have the multi-user web version of the game of SicBo.&amp;nbsp; Play it with your friends or play alone.&amp;nbsp; If you decide to play alone, you will need to open two browser sessions to act as a dealer and a player.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href="http://sicboonline.ipcolony.com/"&gt;&amp;lt;&amp;lt; Play SicBo Online &amp;gt;&amp;gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.youtube.com/watch?v=IFCfFNupz3Y"&gt;&lt;b&gt;&amp;lt;&amp;lt; Tell me more about this game &amp;gt;&amp;gt;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.youtube.com/watch?v=HrvNG-8ZL8c"&gt;&lt;b&gt;&amp;lt;&amp;lt; Show me how to play the game online &amp;gt;&amp;gt;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-2220456815710430114?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/2220456815710430114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/09/play-casino-game-of-sicbo-with-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/2220456815710430114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/2220456815710430114'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/09/play-casino-game-of-sicbo-with-your.html' title='Play the casino game of SicBo with your friends'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-1787350637660517312</id><published>2011-09-12T14:24:00.001-04:00</published><updated>2011-10-06T16:31:26.546-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='shared hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='1and1'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='shared'/><category scheme='http://www.blogger.com/atom/ns#' term='godaddy'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><title type='text'>Windows shared hosting demystified (1&amp;1/GoDaddy)</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Recently, I deployed a &lt;a href="http://sicboonline.ipcolony.com/"&gt;web based multi-user game&lt;/a&gt;. I needed a hosting provider.  I have been using one of those cheap 1and1 web hosting packages for some time.  This time it was different.  The game was developed using C# .Net, Ajax, and SQL Server.  I needed a proper Windows hosting platform, which provided all the components I needed. Though I have not had real bad experiences with 1and1 customer service, the reviews were not really good about their service.  So, I went to GoDaddy (I will call it Daddy from here on) instead. I did not like Daddy's hosting for two reasons.&lt;br /&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;The email relay is very slow.  You may need to wait as much as five minutes for the email to be delivered.  It is unacceptable.&lt;br /&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;I needed to change the transaction isolation level on my database to avoid deadlocks.  Daddy won't allow it.  This was a deal breaker.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="text-align: left;"&gt;
So, I landed up with 1and1 shared Windows hosting package. Deploying my application on their service was not a cakewalk.  The call center in Manila will handle all your issues as long as they are ordinary.  

Here is a list of issues I faced:&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;ol&gt;
&lt;li&gt;On 1and1 you cannot create a sub url within your domain as a separate application
Example: http://www.ipcolony.com/SicBoOnline cannot be used as an application root.  Daddy allows it.&lt;br /&gt;Workaround: Use subdomain.  http://sicboonline.ipcolony.com will work on 1and1. &lt;/li&gt;
&lt;li&gt;
On 1and1 you cannot use "go" as SQL batch separator.
&lt;br /&gt;Workaround: Use semicolon as the separator. There is a gotcha in this method as well.  Read the next point.&lt;/li&gt;
&lt;li&gt;You cannot compile multiple create procedure statements in one shot, even with semicolon as the batch separator.
&lt;br /&gt;Workaround: Wrap each create statement within exec statements.  Below is the example of two scripts. First example is how a normal person writes a script with multiple statements, and the second example is how to work it in 1and1 environment. I must state that the web based Query Analyzer tool is the culprit. However, I am sure it can be configured to work the way we expect it work.  Daddy had it right that too.
&lt;br /&gt;&lt;br /&gt;
The normal way:
&lt;pre class="brush: sql"&gt;if object_id('dbo.GetJustDate') is not null
	drop function dbo.GetJustDate
go

create function dbo.GetJustDate(
	@Date datetime) returns datetime 
as
begin
	declare @Ret datetime
	set @Ret=convert(datetime,convert(varchar,@Date,106))
	return @Ret
end
go

grant execute on [dbo].[GetJustDate] to olgauser
go
&lt;/pre&gt;
1and1 Way.  Make sure that all your single quotes in the original script are converted to two single quotes.
&lt;pre class="brush: sql"&gt;exec ('
if object_id(''dbo.GetJustDate'') is not null
	drop function dbo.GetJustDate
')
exec ('

create function dbo.GetJustDate(
	@Date datetime) returns datetime 
as
begin
	declare @Ret datetime
	set @Ret=convert(datetime,convert(varchar,@Date,106))
	return @Ret
end
')
exec ('
grant execute on [dbo].[GetJustDate] to olgauser
')
&lt;/pre&gt;
&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Some controls provided in Ajax Control Tool Kit (Framework 3.5) did not work right.
Workaround: Set attribute CombineScripts="False" for ToolkitScriptManager.  Believe it or not Daddy had this one right too.
&lt;pre class="brush: html"&gt;    &lt;asp:toolkitscriptmanager combinescripts="False" id="ToolkitScriptManager1" runat="server"&gt;
    &lt;/asp:toolkitscriptmanager&gt;
&lt;/pre&gt;
&lt;br /&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Both Daddy and 1and1 do not support installing custom Windows services in the shared hosting environment.  It is understandable.  The following code shows you how to launch asynchronous processes from your ASP.Net pages using a time based or a button click trigger.
&lt;pre class="brush: csharp"&gt;delegate void DoStuff();
DoStuff myAction = new DoStuff(SendEmails);  // SendEmails is some long running function, which will get launched asynhronously
myAction.BeginInvoke(null, null); // This statement will invoke SendEmails and bring the control to the next statement immediately.
&lt;/pre&gt;
&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Highest supported .Net framework version at the time of writing this blog (September 2011) is still 3.5.&lt;br /&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;One major lesson I learned from this deployment is to work with medium trust for web applications.  A lot of functionality, which you take for granted in your development platform, simply does not work in hosted medium trust environment.  For example, I used mutex to make sure that I was running only one copy of certain part of the code.  I had to change this code because it simply did not work under medium trust.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
At every hurdle, both Daddy and 1and1 will try to sell you their Virtual Hosting.  Never give up, never surrender.  There is always a workaround.&amp;nbsp; I personally think that Daddy does a great job in the domain registration area.&amp;nbsp; However, when it comes to hosting, I find more value with 1and1 shared hosting for both price and performance.
&lt;br /&gt;
&lt;ol&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-1787350637660517312?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/1787350637660517312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/09/windows-shared-hosting-demystified-1.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/1787350637660517312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/1787350637660517312'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/09/windows-shared-hosting-demystified-1.html' title='Windows shared hosting demystified (1&amp;1/GoDaddy)'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>2</thr:total><georss:featurename>Piscataway Township, NJ 08854, USA</georss:featurename><georss:point>40.51379915504413 -74.48043823242188</georss:point><georss:box>40.41723315504413 -74.63836673242187 40.610365155044136 -74.32250973242188</georss:box></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-948130648652644329</id><published>2011-08-27T12:50:00.013-04:00</published><updated>2011-09-12T10:26:22.656-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sump'/><category scheme='http://www.blogger.com/atom/ns#' term='flood'/><category scheme='http://www.blogger.com/atom/ns#' term='basement'/><category scheme='http://www.blogger.com/atom/ns#' term='irene'/><category scheme='http://www.blogger.com/atom/ns#' term='pump'/><category scheme='http://www.blogger.com/atom/ns#' term='hurricane'/><category scheme='http://www.blogger.com/atom/ns#' term='wet'/><title type='text'>Basement Thingamajig</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Hurricane Irene is about to hit New Jersey in less than twenty four hours.&amp;nbsp; Local Home Depot and Lowes are already out of sump pumps, flash lights, batteries, and water.&amp;nbsp; In a nutshell, everyone is preparing for the "Storm of a Life Time." I am as ready as I would be in any rainy season. I have come to accept the fact that my basement will get flooded, if the water is not pumped out faster than it is entering the basement's sump pit.&amp;nbsp; I am no plumber, but I have realized that sump pumps sold in your hardware stores don't last forever like your refrigerator or washing machine. My basement has been flooded four times in last eighteen years.&amp;nbsp; Every time it was due to pump malfunction. Luckily for me the latest flooding occurred just last week.&amp;nbsp; This time, instead of just replacing the pump, I came up with a little more robust system with backup and redundancy.&amp;nbsp; I should be able to weather Irene with this, provided power does not go out. I wanted to buy a generator but hardware stores are out of that too.&amp;nbsp; So here is my design strategy:&lt;br /&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;b&gt;Have two pumps instead of one.&lt;/b&gt;&lt;br /&gt;
It's a no-brainer. Most people do have a backup sump pump as a replacement for the broken down pump.&amp;nbsp; The problem with that is, you may realize rather late that your pump has broken down, or you may not have the right hardware to clamp the hoses when you need to replace the pump in an emergency situation.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-I5qfMv7O-UE/TlkRKuHh6pI/AAAAAAAAA0A/7W9EW27FgRI/s1600/S1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-I5qfMv7O-UE/TlkRKuHh6pI/AAAAAAAAA0A/7W9EW27FgRI/s320/S1.jpg" width="258" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Many of my neighbors have two sump pits.&amp;nbsp; My design is to fit two pumps in one pit.&amp;nbsp; Keep in mind that there is not enough room in the pit to put two pumps side by side. You also want to leave enough room for the floats to operate freely.&amp;nbsp; Float switches are one of the most important parts of the pump.&amp;nbsp; They trigger the power on off functions based upon the level of the water in the pit.&amp;nbsp; A blocked or defective float switch is the recipe for disaster. My contraption will have one 1/2 hp submersible sump pump sitting at the bottom of the pit.&amp;nbsp; I intend to mount a non submersible pedestal type 1/3hp pump on the top half of the pit. The idea is that the bottom pump will do all the heavy lifting.&amp;nbsp; In case of breakdown or when the water level is rising fast, the second pump will kick in.&amp;nbsp; Since the second pump is sitting higher, it will kick in only when the pit is 80% full.&amp;nbsp; The pedestal pump's motor can be not be submersed in the water.&amp;nbsp; It is important to keep the motor well above the expected highest water line in the basement in case of heavy flooding.&amp;nbsp; I kept it 18" in my case.&amp;nbsp; I have other safety guards as well, which I will cover later.&amp;nbsp; The center of gravity of the pedestal pump is higher, it is hard to build a stable platform using the household tools. I used 1 3/8" wide slotted straps to build a platform.&amp;nbsp; The platform will rest on the basement floor.&amp;nbsp; I angled it to have a depth of 12".&amp;nbsp; I created a platform using old license plate (rust free).&amp;nbsp; I made sure that I used only brass screws to avoid rusting. I covered any exposed areas where they may become weak or eroded because of constant friction, with some duct tape.&amp;nbsp; I secured the pedestal pump with some heavy duty wire.&amp;nbsp; I could have used a strong plastic tie as well. A little PVC plumbing work was required, so that two pumps could pump water out at the same time.&amp;nbsp; I installed the check valves on the two ends.&amp;nbsp; Check valves stop the water coming back into the pump because of gravity.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-ZPUDqQe8_M4/TlkeCqiEpjI/AAAAAAAAA0U/1n2_vz_mKRQ/s1600/IMG_1328.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-ZPUDqQe8_M4/TlkeCqiEpjI/AAAAAAAAA0U/1n2_vz_mKRQ/s320/IMG_1328.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-vHJwbrTnS80/Tlkd_alersI/AAAAAAAAA0I/ofjcempRcxw/s1600/IMG_1333.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-vHJwbrTnS80/Tlkd_alersI/AAAAAAAAA0I/ofjcempRcxw/s320/IMG_1333.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-mUJ10A6DneE/TlkeApo-VaI/AAAAAAAAA0M/HEwHUPx-3VY/s1600/IMG_1332.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-mUJ10A6DneE/TlkeApo-VaI/AAAAAAAAA0M/HEwHUPx-3VY/s320/IMG_1332.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-TU7P2NwahCI/TlkeBm5EokI/AAAAAAAAA0Q/77oQyfoyfnI/s1600/IMG_1331.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-TU7P2NwahCI/TlkeBm5EokI/AAAAAAAAA0Q/77oQyfoyfnI/s320/IMG_1331.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-mQxe-gLQbDU/TlkeHcqBcJI/AAAAAAAAA0k/QOXGy7GDKx4/s1600/IMG_1334.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-mQxe-gLQbDU/TlkeHcqBcJI/AAAAAAAAA0k/QOXGy7GDKx4/s320/IMG_1334.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-_aF0Chark-g/TlkeIXvQ6UI/AAAAAAAAA0o/oQI3sxpd8zk/s1600/IMG_1329.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-_aF0Chark-g/TlkeIXvQ6UI/AAAAAAAAA0o/oQI3sxpd8zk/s320/IMG_1329.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Put electrical safeguards in place.&lt;/b&gt;&lt;br /&gt;
To make sure that the pumps do not electrocute you in case of severe flooding, I installed two GFI adapters.&amp;nbsp; The GFI adapters are the same devices you see in your bathrooms.&amp;nbsp; These adapters trip when they detect a leak in the circuit due to water.&amp;nbsp; I actually see this safety measure as another challenge.&amp;nbsp; Let us say the GFI adapters trip, how will I know that they tripped unless I go downstairs to the basement every day.&amp;nbsp; So, I am now looking for a device which will sound alarm when there is no power to the pump.&amp;nbsp; Home Depot and Lowes did not carry one, but I can make one myself with a relay and an alarm. I did install a water alarm, which runs on battery and creates 100db sound when it detects water.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-IIE6HMC15gw/Tlkd-RMfJjI/AAAAAAAAA0E/KeE1mf1Z8tg/s1600/IMG_1335.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-IIE6HMC15gw/Tlkd-RMfJjI/AAAAAAAAA0E/KeE1mf1Z8tg/s320/IMG_1335.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Have an electrical backup system.&lt;/b&gt;&lt;br /&gt;
As I said before, I was rather late to act on this part.&amp;nbsp; You can buy a battery backup system for your pumps which will last 5-6 hours in case of power outage.&amp;nbsp; I personally think that battery backup system requires regular maintenance and checkup.&amp;nbsp; A better alternative is to have an electrical generator, which can provide electricity to your pumps for prolonged period of time.&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;&lt;/ol&gt;
&amp;nbsp;As I said before, I am not a plumber but if you pose the right question to the folks at the hardware store, they will advise you with the right action.&amp;nbsp; Here is a small list of things I needed to know.&amp;nbsp; Use PVC cement to join PVC pipes.&amp;nbsp; It is really a very strong glue which bonds the pipes permanently.&amp;nbsp; Make sure the joints are clean before applying this cement.&amp;nbsp; For connecting hoses, you may want to use some teflon tape, vaseline, or even silicone based caulk at the the threads or joints to avoid annoying leaks.&amp;nbsp; Of course these joints are not permanent and the hoses can be disconnected at a later point.&amp;nbsp; Pay attention to the stresses on power cords and PVC pipes.&amp;nbsp; If you look at the picture below, you will see a lot of weight is being applied to the PVC pipe which takes the water out to the curb.&amp;nbsp; The power cord with the weight of GFI adapters has become so heavy that stresses may eventually pull the cord from the electric socket.&amp;nbsp; To reduce these stresses I secured the PVC pipe and the electrical cord by providing support from the ceiling using a nylon rope.&amp;nbsp; Keep in mind that these little details, your plumber may or may not know.&amp;nbsp; Use common sense, and ask the right questions.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-6UnkZYnh-xE/TlkeGPo0H6I/AAAAAAAAA0g/G43KQTRUgrY/s1600/IMG_1337.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-6UnkZYnh-xE/TlkeGPo0H6I/AAAAAAAAA0g/G43KQTRUgrY/s320/IMG_1337.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Let us see how all this pans out tomorrow.&amp;nbsp; Stay dry my friends!&lt;/div&gt;
&lt;br /&gt;
Update: August 28, 2011&lt;br /&gt;
So, we survied Hurricane Irene.&amp;nbsp; Most of east coast is flooded.&amp;nbsp; I did get about an inch of water for a few hours during the peak of the rain.&amp;nbsp; It could be worse.&amp;nbsp; The pumps worked to get it out.&amp;nbsp; I cleaned up the puddles this morning, and I am back in business.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-38063b4e0a31e26c" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;
&lt;param name="bgcolor" value="#FFFFFF"&gt;
&lt;param name="allowfullscreen" value="true"&gt;
&lt;param name="flashvars" value="flvurl=http://v8.nonxt2.googlevideo.com/videoplayback?id%3D38063b4e0a31e26c%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330022121%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D20BBB21E215DBC823CCFAE3D81418A901EEB040B.439EE02C3EC7D31988CD52DD21E41ADBA99BE7E2%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D38063b4e0a31e26c%26offsetms%3D5000%26itag%3Dw160%26sigh%3DZ07HY-LI0_brU9oxmYb_a_oq0bo&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;
&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"
width="320" height="266" bgcolor="#FFFFFF"
flashvars="flvurl=http://v8.nonxt2.googlevideo.com/videoplayback?id%3D38063b4e0a31e26c%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330022121%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D20BBB21E215DBC823CCFAE3D81418A901EEB040B.439EE02C3EC7D31988CD52DD21E41ADBA99BE7E2%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D38063b4e0a31e26c%26offsetms%3D5000%26itag%3Dw160%26sigh%3DZ07HY-LI0_brU9oxmYb_a_oq0bo&amp;autoplay=0&amp;ps=blogger"
allowFullScreen="true" /&gt;&lt;/object&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-948130648652644329?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/948130648652644329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/08/basement-thingamajig.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/948130648652644329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/948130648652644329'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/08/basement-thingamajig.html' title='Basement Thingamajig'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-I5qfMv7O-UE/TlkRKuHh6pI/AAAAAAAAA0A/7W9EW27FgRI/s72-c/S1.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-5129137675296671303</id><published>2011-08-11T10:49:00.050-04:00</published><updated>2011-10-01T15:26:00.566-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='inheritance'/><category scheme='http://www.blogger.com/atom/ns#' term='C# .Net'/><category scheme='http://www.blogger.com/atom/ns#' term='user control'/><category scheme='http://www.blogger.com/atom/ns#' term='composite control'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='web user control'/><title type='text'>Web user control - Demystified</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-size: 130%;"&gt;The Problem:&lt;/span&gt; Can you create reusable composite web user controls?&lt;br /&gt;
&lt;br /&gt;
Yes, you can!&lt;br /&gt;
&lt;br /&gt;
If you are like me, you like to get most bang for your code.  In the object oriented world you get this by creating reusable objects.  I recently started using web user controls in ASP.Net An ASP.NET Web user control is similar to a complete ASP.NET Web page (.aspx file), with both a user interface page and code. You can read all about its creation on MSDN site.&lt;br /&gt;
&lt;br /&gt;
I decided to take it up one notch by creating a complex class of web user control by deriving it from another web user control class.  I have done this kind of thing all the time with Windows Forms controls.  I was expecting it to work the same way.  So, it turned out that true inheritance is not possible with web user controls.  The markup is not inherited at all. Much has been explained and discussed on the forums and blogs about this behavior.  Some say it is by design and others have suggested hacks around it by instantiating the controls manually.  I tinkered with it.  Even though automatic true inheritance may not be possible with web user controls, you can achieve it by doing the following:  &lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Embed your base class control on your "derived" control.  This will bring in the markup from the base control and its methods and properties (with no exposure to the outside world.)  &lt;/li&gt;
&lt;li&gt;Expose the methods and properties of your base control using one of the two methods:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Manually expose what needs to be exposed.  This means writing some (may be a lot) code, or &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Expose the entire base control as an independent object.  This will expose all the public methods and properties of the base control.  This may not be a desirable thing to do, but it requires virtually no coding. &lt;/li&gt;
&lt;/ul&gt;
&lt;/ol&gt;
I have a small sample for you.  In this sample I start with a base web user control class, the Vehicle, which has a few common properties like its type, image etc.  I will derive the Bus and the Boat classes from it. Finally, I will add specific properties of the the bus and boat classes individually. &lt;a href="http://3.bp.blogspot.com/-v-OyWc74sg0/TkP5laGEwgI/AAAAAAAAAzA/0rGvKpIyd5Y/s1600/Clip1.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5639625579453268482" src="http://3.bp.blogspot.com/-v-OyWc74sg0/TkP5laGEwgI/AAAAAAAAAzA/0rGvKpIyd5Y/s320/Clip1.jpg" style="cursor: pointer; display: block; height: 196px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;  &lt;span style="color: red; font-size: 130%; font-weight: bold;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-size: small; font-weight: bold;"&gt;&lt;a href="http://webusercontroldemo.ipcolony.com/"&gt;&amp;lt;&amp;lt;&amp;lt; View this sample in action &amp;gt;&amp;gt;&amp;gt;.&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.ipcolony.com/downloads/webusercontrol/LabWebUserControlInheritance.zip" style="font-weight: bold;"&gt;Download the source code for the complete project.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Let us analyze the code. The Vehicle class has no surprises.  It is a simple web user control with a few public properties, which I am using to set the text of the labels on the markup. &lt;br /&gt;
&lt;pre class="brush: csharp"&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace LabWebUserControlInheritance
{
public partial class Vehicle : System.Web.UI.UserControl
{

    // Do not use constructors in user control except to initialize
    // private variables.

    // Exposing four properties of Vehicle class
    public string vehicleType
    {
        set
        {
            lblVehicleType.Text = value;
        }
    }
    public string fuelType
    {
        set
        {
            lblFuelType.Text = value;
        }
    }
    public string vehicleName
    {
        set
        {
            lblVehicleName.Text = value;
        }
    }
    public string vehicleImageFileName
    {
        set
        {
            imgVehicle.ImageUrl = @"images/" + value;
        }
    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }
}
}
&lt;/pre&gt;
Code for the Boat class: &lt;br /&gt;
&lt;pre class="brush: csharp;"&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace LabWebUserControlInheritance.Controls
{
public partial class Boat : System.Web.UI.UserControl
{
    // Do not use constructors in user control except to initialize
    // private variables.

    // Removed the following statement from Bus.ascx.designer file and added it here as public
    // to expose the Vehicle1 as an object by itself.
    public global::LabWebUserControlInheritance.Vehicle Vehicle1;
    public string boatType
    {
        set
        {
            lblBoatType.Text = value;
        }
    }

    public string decks
    {
        set
        {
            lblDecks.Text= value;
        }
    }

    protected void Page_Init(object sender, EventArgs e)
    {
        // Page init is the best place to set/override properties
        Vehicle1.vehicleType = "Type of vehicle: Boat";
    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }
}
}
&lt;/pre&gt;
Code for the Bus class: &lt;br /&gt;
&lt;pre class="brush: csharp;"&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace LabWebUserControlInheritance.Controls
{
public partial class Bus : System.Web.UI.UserControl
{
    // Do not use constructors in user control except to initialize
    // private variables.

    // Removed the following statement from Bus.ascx.designer file and added it here as public
    // to expose the Vehicle1 as an object by itself.
    public global::LabWebUserControlInheritance.Vehicle Vehicle1;

    public string wheels
    {
        set
        {
            lblWheels.Text = value;

        }
    }

    public string busRoute
    {
        set
        {
            lblBusRoute.Text = value;
        }
    }

    protected void Page_Init(object sender, EventArgs e)
    {
        // Page init is the best place to set/override properties
        Vehicle1.vehicleType = "Type of vehicle: Bus";
    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }
}
}
&lt;/pre&gt;
The way I implemented the base control, you will have to reference base class' properties through base class reference. See the example below:  &lt;br /&gt;
&lt;pre class="brush: csharp;"&gt;Bus1.Vehicle1.fuelType = "Runs on natural gas";
        Bus1.Vehicle1.vehicleName = "NY City Transit Bus";
        Bus1.Vehicle1.vehicleImageFileName = "bus.png";
&lt;/pre&gt;
&lt;a href="http://www.ipcolony.com/downloads/webusercontrol/LabWebUserControlInheritance.zip"&gt;Download the source code for the complete project.&lt;/a&gt;  &lt;span style="font-size: 130%;"&gt;Conclusion:&lt;/span&gt; &lt;span style="font-size: 100%;"&gt;Web user controls cannot be derived from other web user controls because the markup is not inherited.  You can embed one web user control into another.  You can expose the embedded control's properties and methods by either exposing the entire embedded object, or by selectively exposing its methods and properties by writing some code.&lt;/span&gt; &lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-5129137675296671303?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/5129137675296671303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/08/web-user-control-demystified.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/5129137675296671303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/5129137675296671303'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/08/web-user-control-demystified.html' title='Web user control - Demystified'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-v-OyWc74sg0/TkP5laGEwgI/AAAAAAAAAzA/0rGvKpIyd5Y/s72-c/Clip1.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-2418324625774655638</id><published>2011-05-18T12:56:00.034-04:00</published><updated>2011-05-18T14:12:46.254-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unlink'/><category scheme='http://www.blogger.com/atom/ns#' term='ODBC'/><category scheme='http://www.blogger.com/atom/ns#' term='Attach'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Access'/><category scheme='http://www.blogger.com/atom/ns#' term='C# .Net'/><category scheme='http://www.blogger.com/atom/ns#' term='ADO'/><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='MYSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='tables'/><title type='text'>Linking/Unlinking tables in MS Access using .Net</title><content type='html'>I am sure you have developed applications dealing with multiple types of databases like SQL Server, MYSQL, or Oracle.  Sometimes it is very convenient to just link the tables in a Micrsoft Access database and work with Microsoft's Jet Oledb provider.  I have developed a class using C#, which you can include in your code to make linking and unlinking of tables, a breeze.  My class references the COM implementation of:

1. Microsoft ActiveX Data Objects 2.8 Library and
2. Microsoft ADO Ext. 2.8 for DDL and Security.

Right now the class supports linking of SQL Server and Microsoft Access database tables, however, you can easily customize the code to add support for other databases.

How to include this code in your .Net project:
Unzip the entire project and create a reference to &lt;a href="http://www.ipcolony.com/downloads/msAccessLinking/msAccessLinking.zip"&gt;&lt;span style="font-weight:bold;"&gt;MSAccessLinking project&lt;/span&gt;&lt;/a&gt; in your code.

Usage Examples:
&lt;pre class="brush: csharp"&gt;
// Drop all linked tables from c:\myAccess.mdb
MSAccessLinking.unlinkAllExternalTables(@"c:\myAccess.mdb");
&lt;/pre&gt;
&lt;pre class="brush: csharp"&gt;
// Drop a linked table called Department from c:\myAccess.mdb
MSAccessLinking.unlinkExternalTable(@"c:\myAccess.mdb","Department");
&lt;/pre&gt;
&lt;pre class="brush: csharp"&gt;
// Link a MS Access table called Department as MyDepartment to c:\myAccess.mdb
// Department table resides in c:\Source.mdb.

MSAccessLinking.linkMSAccessTable( 
            @"c:\myAccess.mdb",
            "Department",
            "MyDepartment",
            @"c:\Source.mdb");
&lt;/pre&gt;
&lt;pre class="brush: csharp"&gt;
// Link a MS Access table called Department as MyDepartment to c:\myAccess.mdb
// Department table resides in a password protected MS Access database c:\Source.mdb.

MSAccessLinking.linkMSAccessTable( 
            @"c:\myAccess.mdb",
            "Department",
            "MyDepartment",
            @"c:\Source.mdb",
            "MyPassword");
&lt;/pre&gt;
&lt;pre class="brush: csharp"&gt;
// Link a SQL Server table called Department as MyDepartment to c:\myAccess.mdb
// using Windows Authentication.
// SQL Server runs on MyServer.
// SQL Server runs as MyInstance 
//     (Supply a zero length string if it is default instance)
// SQL Server database is MyDB.

MSAccessLinking.linkSQLTable(
            @"c:\myAccess.mdb",
            "Department",
            "MyDepartment",
            "MyServer",
            "MyDB",
            "MyInstance");
&lt;/pre&gt;
&lt;pre class="brush: csharp"&gt;
// Link a SQL Server table called Department as MyDepartment to c:\myAccess.mdb
// using SQL Authentication.
// SQL Server runs on MyServer.
// SQL Server runs as MyInstance 
//     (Supply a zero length string if it is default instance)
// SQL Server database is MyDB.
// SQL Login=MyLogin
// SQL Password=MyPassword

MSAccessLinking.linkSQLTable(
            @"c:\myAccess.mdb",
            "Department",
            "MyDepartment",
            "MyLogin",
            "MyPassword",
            "MyServer",
            "MyDB",
            "MyInstance");
&lt;/pre&gt;
&lt;pre class="brush: csharp"&gt;
// Link an Oracle table called Department as MyDepartment to c:\myAccess.mdb
// Oracle Instance=MyServer (As defined in tnsnames.ora)
// Oracle User Id=MyUserId
// Oracle Password=MyPassword

string oraLinkTemplate="ODBC;Driver={Microsoft ODBC for Oracle};Server=%DatabaseServer%;UID=%UID%;pwd=%PWD%;";
MSAccessLinking.linkExternalTable(
            @"c:\myAccess.mdb",
            "Department",
            "MyDepartment",
            oraLinkTemplate,
            "MyUserId",
            "MyPassword",
            "MyServer",
            "",
            "",
            "",
            "",
            "");
&lt;/pre&gt;

&lt;a href="http://www.ipcolony.com/downloads/msAccessLinking/msAccessLinking.zip"&gt;&lt;span style="font-weight:bold;"&gt;Download Source Code&lt;/span&gt;&lt;/a&gt;

As usual your comments are greatly appreciated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-2418324625774655638?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/2418324625774655638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/05/linkingunlinking-tables-in-ms-access.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/2418324625774655638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/2418324625774655638'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/05/linkingunlinking-tables-in-ms-access.html' title='Linking/Unlinking tables in MS Access using .Net'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-8406670763056653642</id><published>2011-03-08T18:21:00.015-05:00</published><updated>2011-03-08T19:04:06.998-05:00</updated><title type='text'>Get default constraint name for Table/Column (SQL Server 2005/2008)</title><content type='html'>Recently I had to change an application where the lazy bum before me had hard coded foreign keys with value=1 as column defaults.  The guy assumed that the referenced default row must/will always be created with primary key = 1.  Such sloppiness makes you wanna go postal. So, here is how I dealt with the issue without making extensive modifications to the code:  

1. Determine the constraint name. 

&lt;pre class="brush: sql"&gt;
if object_id('[dbo].[GetDefaultConstraintName]') is not null
    drop function [dbo].[GetDefaultConstraintName]
go

create function [dbo].[GetDefaultConstraintName] (
    @TableName varchar(max),
    @ColumnName varchar(max))
returns varchar(max)
as
begin

    -- Returns the name of the default constraint for a column

    declare @Command varchar(max)
    select 
        @Command = d.name
    from 
        ((
        sys.tables t join
        sys.default_constraints d
            on 
                d.parent_object_id = t.object_id) join
        sys.columns c
            on 
                c.object_id = t.object_id and 
                c.column_id = d.parent_column_id)
    where 
        t.name = @TableName and 
        c.name = @ColumnName
    return @Command
end
go
&lt;/pre&gt;

2. Generate dynamic sql to drop the constraint.
Assume that the table name is MyTable and the column name is MyColumn.
&lt;pre class="brush: sql"&gt;
execute ('alter table MyTable drop constraint '+
           [dbo].[GetDefaultConstraintName]('MyTable','MyColumn'))
&lt;/pre&gt;
           
3. Re-create the constraint with the desired default value.
Assume that the new default value should be 33.
&lt;pre class="brush: sql"&gt;
alter table MyTable add constraint [DF_MyTable_MyColumn] default (33) for MyColumn
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-8406670763056653642?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/8406670763056653642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/03/get-default-constraint-name-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/8406670763056653642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/8406670763056653642'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2011/03/get-default-constraint-name-for.html' title='Get default constraint name for Table/Column (SQL Server 2005/2008)'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-263301454395240891</id><published>2010-08-17T12:53:00.006-04:00</published><updated>2010-08-17T13:07:48.341-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# .Net casino &quot;sic bo&quot; sic bo'/><title type='text'>Casino inspires me to learn C#/.Net</title><content type='html'>It is true! I have been going through, what you would call as "programmer's block" for a year or so. I have not been able to learn any new technology or create any software. My attempts to learn .Net and C# have been futile until my recent trip to Atlantic City. I decided to develop the game of Sic Bo using C#. Hurray! I can now say that I am extremely comfortable with the .Net platform and the C# language.

&lt;a href="http://www.ipcolony.com/sicbo"&gt;&lt;strong&gt;Download the game with source code and watch the video of its making from my website.&lt;/strong&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-263301454395240891?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/263301454395240891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2010/08/casino-inspires-me-to-learn-cnet.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/263301454395240891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/263301454395240891'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2010/08/casino-inspires-me-to-learn-cnet.html' title='Casino inspires me to learn C#/.Net'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-7340688369960188895</id><published>2009-06-22T11:36:00.022-04:00</published><updated>2009-07-06T13:49:42.671-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='export'/><category scheme='http://www.blogger.com/atom/ns#' term='XportXML'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='vbscript'/><category scheme='http://www.blogger.com/atom/ns#' term='import'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlserver'/><title type='text'>Export/import relational data across SQL Servers</title><content type='html'>&lt;p&gt;The XportXML utility, will help you copy relational data (a bunch of related tables) to another SQL Server. There is no rocket science behind the utility as such. It automates many mundane tasks like writing the query to export the data in hierarchical order, and creating XSD schema. This is my first contribution to &lt;a title="SQLServerCentral.com" href="http://www.sqlservercentral.com/" target="_blank"&gt;SQLServerCentral.com&lt;/a&gt;, which I rely upon a great deal to learn and improve my skills. Of course, the utility is also posted on my &lt;a href="http://thisisnotcnn.blogspot.com/2009/06/exportimport-relational-data-across-sql.html"&gt;personal blog&lt;/a&gt;, which is a collection of my rants and creativity (sometimes).&lt;/p&gt;&lt;p&gt;The script was originally developed in VBA using MS Access. I finally managed to convert it to VB Script(not as easy as I thought). Please make sure that your system can run VB Scripts.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.ipcolony.com/downloads/xportxml/xportxml.zip" target="_blank"&gt;Download Script&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;Requirements&lt;/h2&gt;&lt;p&gt;The script uses SQL DMO to generate export scripts, and SQL Bulk Loader to import data.&lt;/p&gt;&lt;h2&gt;How to use XportXML&lt;/h2&gt;&lt;code&gt;cscript XportXML.vbs "specification file"&lt;/code&gt; &lt;p&gt;
&lt;h3&gt;Example:&lt;/h3&gt;
&lt;code&gt;cscript XportXML.vbs "c:\temp\myspecs.txt" &lt;/code&gt;&lt;p&gt;
&lt;h3&gt;What happens next&lt;/h3&gt;&lt;p&gt;The script creates three files.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;export_data.bat&lt;/strong&gt;
Run this file to export data in XML format. The data file is created as &lt;strong&gt;exported_data.xml&lt;/strong&gt; in the file location specified in the specification file.
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;exported_data.xsd&lt;/strong&gt;
XSD schema of the exported xml file.
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;import_data.vbs&lt;/strong&gt;
Run this file on the target system to import the data. The XML and XSD files are required for import.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Specification File &lt;/h2&gt;&lt;p&gt;Specification file provides instruction to the XportXML about what you want to do. The specification file is a simple text file which can be created using Notepad.&lt;/p&gt;&lt;p&gt;1st Line: Connection information of the source system
2nd Line: Connection information for the target system
3rd Line: Export/Import options
4th line onward: Each line must contain one entry per table to be exported.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; A line may contain several parameters, separated by comma, and optionally delimited by double quotes, if necessary. A semicolon in the first column makes it a comment and is not counted toward the line count. A bracket around the parameter indicates, optional item.
&lt;/p&gt;&lt;h3&gt;1st Line: Connection information for the source database.&lt;/h3&gt;&lt;code&gt;[&amp;lt;Src SQL Server User&amp;gt;],[&amp;lt;Src SQL Server Password&amp;gt;],&amp;lt;Src SQL Server&amp;gt;,&amp;lt;Src Source database&amp;gt;,&amp;lt;Src Windows Authentication&amp;gt;&lt;/code&gt;
&lt;p&gt;&amp;lt;Src SQL Server User&amp;gt; : If you are using sql server authentication then supply the user name.
&amp;lt;Src SQL Server Password&amp;gt; : If you are using sql server authentication then supply the password.
&amp;lt;Src SQL Server&amp;gt; : Source sql server.
&amp;lt;Src Source database&amp;gt; : Source database name
&amp;lt;Src Windows Authentication&amp;gt; : Y or N.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Examples:
&lt;/strong&gt;1. Windows authentication, extract from AdventureWorks database from localserver.
&lt;code&gt;,,ASUSAK\SQLEXPRESS,adventureworks,Y&lt;/code&gt;
&lt;/p&gt;&lt;p&gt;2. SQL Authentication, extract from AdventureWorks database from localserver.
&lt;code&gt;sa,mypassword,ASUSAK\SQLEXPRESS,adventureworks,N&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;2nd Line: Connection information for the target database.&lt;/h3&gt;&lt;p&gt;You can always change this information in the generated scripts later.&lt;/p&gt;&lt;p&gt;&lt;code&gt;[&amp;lt;Tgt SQL Server User&amp;gt;],[&amp;lt;Tgt SQL Server Password&amp;gt;],&amp;lt;Tgt SQL Server&amp;gt;,&amp;lt;TGt Source database&amp;gt;,&amp;lt;Tgt Windows Authentication&amp;gt; &lt;/code&gt;
&lt;/p&gt;&lt;p&gt;&amp;lt;Tgt SQL Server User&amp;gt; : If you are using sql server authentication then supply the user name.
&amp;lt;Tgt SQL Server Password&amp;gt; : If you are using sql server authentication then supply the password.
&amp;lt;Tgt SQL Server&amp;gt; : Source sql server.
&amp;lt;Tgt Source database&amp;gt; : Source database name
&amp;lt;Tgt Windows Authentication&amp;gt; : Y or N.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Examples:
&lt;/strong&gt;1. Windows authentication, extract from AdventureWorks database from localserver.
&lt;code&gt;,,ASUSAK\SQLEXPRESS,adventureworks,Y&lt;/code&gt;&lt;/p&gt;&lt;p&gt;2. SQL Authentication, extract from AdventureWorks database from localserver.
&lt;code&gt;sa,mypassword,ASUSAK\SQLEXPRESS,adventureworks,N&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;3rd Line: Export options.&lt;/h3&gt;&lt;code&gt;[&amp;lt;Files location&amp;gt;],[&amp;lt;Drop tgt tables&amp;gt;],[&amp;lt;Create tgt tables&amp;gt;],[&amp;lt;Keep identity column values&amp;gt;] &lt;/code&gt;
&lt;p&gt;&amp;lt;Files location&amp;gt; : Path where all scripts will be created. Default c:\&lt;/p&gt;&lt;p&gt;&amp;lt;Drop tgt tables&amp;gt;: Y or N. If Y, target tables will be dropped before import. Default N. &lt;/p&gt;&lt;p&gt;&amp;lt;Create tgt tables&amp;gt;: Y or N. If Y, target tables will be created if they do not exist. Default Y.&lt;/p&gt;&lt;p&gt;&amp;lt;Keep identity column values&amp;gt;: Y or N. If Y, if the PK is an identity column, the source values will be retained. If N, new values will be generated for the parent and child tables. Default N.&lt;/p&gt;
&lt;h3&gt;4th line onward: Exported table information&lt;/h3&gt;&lt;code&gt;&amp;lt;Level&amp;gt;,&amp;lt;Src table name&amp;gt;,[&amp;lt;Tgt table name&amp;gt;],&amp;lt;[&amp;lt;Where clause&amp;gt;]&lt;/code&gt;
&lt;p&gt;&amp;lt;Level&amp;gt; : This field establishes the hierarchy of the exported XML data. The very first record must contain a value 1 for the root table. The child tables will contain 2, 3 etc. &lt;/p&gt;&lt;p&gt;&amp;lt;Src table name&amp;gt; : You can use [&amp;lt;owner&amp;gt;].[&amp;lt;table name&amp;gt;], [&amp;lt;table name&amp;gt;], &amp;lt;owner&amp;gt;.&amp;lt;tablename&amp;gt;, or simply &amp;lt;tablename&amp;gt; formats. If owner is not specified, dbo is assumed. &lt;/p&gt;&lt;p&gt;&amp;lt;Tgt table name&amp;gt; : You can use [&amp;lt;owner&amp;gt;].[&amp;lt;table name&amp;gt;], [&amp;lt;table name&amp;gt;], &amp;lt;owner&amp;gt;.&amp;lt;tablename&amp;gt;, or simply &amp;lt;tablename&amp;gt; formats. If owner is not specified, dbo is assumed. If this parameter is omitted, then a table with _xs&amp;lt;Src table name&amp;gt; will be used as the target table. &lt;/p&gt;&lt;p&gt;&amp;lt;Where clause&amp;gt; : Use [&amp;lt;table name&amp;gt;].[&amp;lt;column name&amp;gt;]=&amp;lt;Value&amp;gt; format. If this clause is ignored, all rows are selected.&lt;/p&gt;
&lt;h2&gt;Examples of specification file&lt;/h2&gt;
&lt;h3&gt;Example a:
&lt;/h3&gt;
&lt;code&gt;,,ASUSAK,Adventureworks,Y
,,ASUSAK,Lab1,Y
c:\temp
1Production.ProductCategory
2Production.ProductSubcategory
3Production.Product&lt;/code&gt;
&lt;p&gt;In the above example, the hierarchy is established as Category, Subcategory, and Product tables. The data will be exported into dbo._xsProductCategory, dbo._xsProductSubcategory, and dbo._xsProduct tables. The specification file above will bring less rows in the Product table than the source. This is because many products in Adventureworks database are not assigned any ProductSubCategory. Hence, the join between product.ProductSubCategoryId and ProductSubCategory.ProductSubCategoryId fails.
&lt;/p&gt;
&lt;h3&gt;Example b:
&lt;/h3&gt;
&lt;code&gt;,,ASUSAK,Adventureworks,Y
,,ASUSAK,Lab1,Y
c:\temp,N,Y,N
1Production.ProductCategory,user1.cat
2Production.ProductSubcategory,user1.subcat
3Production.Product,user1,prod&lt;/code&gt;
&lt;p&gt;In the above example, the hierarchy is established as Category, Subcategory, and Product tables. The data will be exported into user1.cat, user1.subcat, and user1.prod tables. Old tables will not be dropped. New tables will be created if they do not exist. Identity columns will be re-created if the target tables' primary key columns were set up as identity.&lt;/p&gt;
&lt;h3&gt;Example c:&lt;/h3&gt;&lt;code&gt;,,ASUSAK,Adventureworks,Y
,,ASUSAK,Lab1,Y
c:\temp
1Production.ProductCategory,,"[productcategory].name='Bikes'"
2Production.ProductSubcategory
3Production.Product&lt;/code&gt;
&lt;p&gt;In the above example, the hierarchy is established as Category, Subcategory, and Product tables. The data will be exported into dbo._xsProductCategory, dbo._xsProductSubcategory, and dbo._xsProduct tables. Only rows with Production.productcategory.names='Bikes' will be exported.&lt;/p&gt;
&lt;h3&gt;Tip: &lt;strong&gt;How to extract tables which do not have any relationship with each other&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Create a dummy table with one row. Make this table as the root table (level 1). You can pick any column name(s) in the dummy table. There is no need to create any constraints either. That's it.&lt;/p&gt;&lt;code&gt;,,ASUSAK,Adventureworks,Y
,,ASUSAK,Lab1,Y
c:\temp
1dummy
2production.category
3production.SubCategory
2HumanResources.Department&lt;/code&gt;
&lt;p&gt;In the above example, dummy table will be imported as _xsDummy. All rows of Production.Category will be imported as dbo.category. All related rows of production.SubCategory will be imported as dbo.Subcategory. All rows of HumanResources.Department will be imported as dbo.Department.&lt;/p&gt;
&lt;h2&gt;Gotchas&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;I did not have time to put any error checking. If the script bombs, you will need to figure out what went wrong. Most of the time, it is due to an error in the specification file.
&lt;/li&gt;&lt;li&gt;The import may still fail because your lowest level child may still have links to parent(s), which you are not importing. &lt;/li&gt;
&lt;li&gt;The parent child relationship is picked up from the foreign key constraint in the database. If the constraint does not exist, you will get a Cartesian product for the child table.
&lt;/li&gt;&lt;li&gt;If the data being brought is setup as relational in the specification file then only related rows will be brought over.
&lt;/li&gt;&lt;li&gt;If the target tables are created automatically by BulkImport, the order of columns may change a little. Unfortunately, there is no way to correct this behavior. If the tables have been created before hand then this issue is irrelevant.
&lt;/li&gt;&lt;li&gt;The XSD schema generated by this utility, and the XML generated by bcp export are not indented properly. I recommend a wonderful tool, Free XML Editor from &lt;a href="http://www.firstobject.com/" target="_blank"&gt;FirstObject.com&lt;/a&gt;. Load the file in the editor and press F8, and you will see wonderfully indented XML file. &lt;/li&gt;&lt;/ol&gt;
&lt;h2&gt;Final Note&lt;/h2&gt;&lt;p&gt;Folks, there is a lot to be desired in this utility. Please give me constructive suggestions to make this utility better.
I have already added the following to my next version:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Re-adjust the foreign keys in imported items where parents were not included in the export. Of course, this is not as easy as it sounds. I am looking for some input from you.
&lt;/li&gt;&lt;li&gt;Add some error handling. It is kind of low in my priority list, but it must be done.
&lt;/li&gt;
&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-7340688369960188895?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/7340688369960188895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/06/exportimport-relational-data-across-sql.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/7340688369960188895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/7340688369960188895'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/06/exportimport-relational-data-across-sql.html' title='Export/import relational data across SQL Servers'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-6901204668569855185</id><published>2009-05-06T15:24:00.037-04:00</published><updated>2009-05-06T16:05:21.027-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technician'/><category scheme='http://www.blogger.com/atom/ns#' term='Guy'/><category scheme='http://www.blogger.com/atom/ns#' term='support'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'>Dell guy</title><content type='html'>I love to interact with people because I find interesting people in all facets of my life. Today, I met a very interesting technician from Dell. He came over to my house to fix a broken laptop. My dogs, as usual, first gave him the customary welcome bark then tried to hump his leg. It did not bother him a bit. I guess, he was so used to it. He was a very friendly guy. He told me, he had been to a house recently, where this lady had twelve cats. Twelve cats! Wow! He was nervous because one of the cats was on the kitchen cabinet, watching him. "Yep, let me see as soon as you have that mother board opened with 100 little screws on the table, I am gonna jump on it". He was nervous. Luckily the cat did not jump. I made a comment, may the lady was lonely and needed twelve cats for company. "This is not the kinda of question you ask from customers", told the technician in his light Russian accent. I understood immediately.

He told me another interesting story. He went to repair a mother board at an old lady's house. After he disassembled the mother board, there were about fifty odd screws on the table. The old lady somehow developed a non-confidence in him to repair the computer. She called her daughter, described her reservations, and asked her to talk to the technician. The daughter told him if he can answer one question, he can continue repairing the laptop. She asked, "What happens if after assembling the laptop, one screw is left out"? The technician replied, "Well, it has never happened, but it is possible. Now, if that happens, I will eat the screw". The daughter said, "I have one more question. &lt;strong&gt;How many screws do you eat every day&lt;/strong&gt;"? I have no doubt in my mind that the story is true because I have tried to repair mother boards myself, and they put way too many screws.

He also told me he worked in Adis Ababa, Ethopia (yes). Apparently, both the gals and guys go to bathroom on the streets, if they have to. Now, I am not foreign to the concept of going to bathroom on the streets, but never thought that the gals did it.

Anyway, Mr. Dell Guy, I think you have a cool job. Write a book some day!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-6901204668569855185?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/6901204668569855185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/05/dell-guy.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/6901204668569855185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/6901204668569855185'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/05/dell-guy.html' title='Dell guy'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-630704437280591971</id><published>2009-05-03T18:51:00.008-04:00</published><updated>2009-05-03T19:23:23.458-04:00</updated><title type='text'>A tribute to Danny Gans</title><content type='html'>I had not even heard of Danny Gans before I saw him on CNN's Larry King Live in February 2009.  My son and I were watching the program and within minutes we were glued to the TV to find his next act on Larry's show.  Danny did a variety entertainment show in Vegas.  His talent was to do impressions of over 200 celebrities.

&lt;a href="http://www.cnn.com/2009/SHOWBIZ/05/01/obit.gans/index.html?iref=newssearch#cnnSTCVideo"&gt;http://www.cnn.com/2009/SHOWBIZ/05/01/obit.gans/index.html?iref=newssearch#cnnSTCVideo&lt;/a&gt;

I knew nothing about him before yet I found him to be a great human being who simply enjoyed what he did.  I noticed a lot of humility in him.  I made a mental note to add an item in the list of things before I die.  It was, to watch Danny Gans live in Vegas.  Yesterday, when I read in the papers about his sudden demise, I could not believe it.  I woke my son up and told him about the news as well.

Danny, I am sure a whole lot of people will miss you, I know I will.  Make heavens laugh, will ya!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-630704437280591971?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/630704437280591971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/05/tribute-to-danny-gans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/630704437280591971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/630704437280591971'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/05/tribute-to-danny-gans.html' title='A tribute to Danny Gans'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-3046539954441782579</id><published>2009-04-04T18:01:00.059-04:00</published><updated>2009-04-04T18:53:25.551-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bbq'/><category scheme='http://www.blogger.com/atom/ns#' term='ribs'/><category scheme='http://www.blogger.com/atom/ns#' term='barbeque'/><category scheme='http://www.blogger.com/atom/ns#' term='barbecue'/><category scheme='http://www.blogger.com/atom/ns#' term='pork'/><title type='text'>Life in the BBQ lane</title><content type='html'>I do not know why people get so excited about barbecue in summer. What is so special about summer? I live in New Jersey, where summer really lasts 3-4 months. My point is, If you love barbecue you should be able to do it all year around. That is exactly what I do. My grill is located on my deck about nine feet away from my patio door. My motto is if I can physically get to the grill (no snow in the path), there will be barbecue. I have been barbecuing on my Great Outdoors grill since 2002. I am really beginning to understand it only in past two years. You see, barbecue is not hard but a good barbecue is not that simple either. I am not a professional chef or a graduate from BBQ University. Yes, there is such a place. However, I have logged a lot of BBQ time behind the grill by experimenting various parameters. My kids are my best critics because they are honest. When I suck they give it to me straight.

So, I am ready to share my pork ribs' recipe. Folks, who do not eat pork can still read my blog and get some tips. This is the simplest BBQ recipe, yet the end result is the tastiest.

&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Meat:&lt;/strong&gt;
I prefer Costco to buy the meat. For $20 ($2.29 per lb) you can get pork ribs which will feed a hungry Afghan family for a month, and mine for two days. On a side note, since we Americans do not produce anything, food should be our biggest export to the rest of the world. Take this China! Can you produce beef for 99 cents a pound? I don't think so. I think we got the cheap food figured out. It is up to the Wall Streeters and Tim Geithner to realize this.

&lt;img id="BLOGGER_PHOTO_ID_5320963578575878418" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_odaQpZPWgC4/SdfcLtvOeRI/AAAAAAAAAA0/xXpSFXRnAsA/s320/IMG_0086.jpg" border="0" /&gt;
&lt;img id="BLOGGER_PHOTO_ID_5320963999591802290" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_odaQpZPWgC4/SdfckOJPpbI/AAAAAAAAAA8/7jplK1OOnok/s320/IMG_0085.jpg" border="0" /&gt;

I like to wash the meat before marination. A lot of folks have told me that the stores wash it before packaging, but there is no harm is doing it again. Make sure you rinse as much water from it as possible. We do not want the water in the meat to dilute the marinade. As you can see the picture that the ribs were too big so, I cut them into half. At the end of this blog I will discuss the tools you should have.

&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Marinade&lt;/strong&gt;:
As I mentioned before, the marinade recipe I used is the simplest.For my nine pounds of spare ribs I used the following ingredients:
2a. Two and a half tea spoon full of salt
2b. Two tea spoon full of black pepper
2c. Two tea spoon full of honey
2d. A little over of half a cup of lime juice


&lt;img id="BLOGGER_PHOTO_ID_5320964319732652530" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_odaQpZPWgC4/Sdfc22wxWfI/AAAAAAAAABE/kKYsm_6rKz4/s320/IMG_0088.jpg" border="0" /&gt;
&lt;img id="BLOGGER_PHOTO_ID_5320964402629421714" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_odaQpZPWgC4/Sdfc7rk5qpI/AAAAAAAAABM/9x3tk3zkyFQ/s320/IMG_0089.jpg" border="0" /&gt;

There is nothing right or wrong here. Everything is to taste. So, don't be afraid to experiment. I like to keep the salt to be a little on high side so that it can get in the meat to give it the right level of salty taste. Put all the ingredients in a small bowl. Put the bowl in microwave oven for 45 seconds. This causes honey to melt and easily dissolve in the solution. Stir it with a small spoon so that all the ingredients get mixed properly in the marinade. Put the meat in a large plate and put marinade generously on the meat. Use your palms to run it thoroughly so that all areas are covered. I like to marinade a night before I plan to barbecue. You should give at least 4-6 hours for the marinade to work. If you plan to marinade over night, make sure you cover it properly and put it in the refrigerator. Take it out a few hours before grilling.

&lt;img id="BLOGGER_PHOTO_ID_5320965444295867538" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_odaQpZPWgC4/Sdfd4UFiPJI/AAAAAAAAABU/7mQw7Tb4Lig/s320/IMG_0091.jpg" border="0" /&gt;&lt;img id="BLOGGER_PHOTO_ID_5320965540069359730" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_odaQpZPWgC4/Sdfd943twHI/AAAAAAAAABc/5EmxKXTHDaY/s320/IMG_0092.jpg" border="0" /&gt;&lt;img id="BLOGGER_PHOTO_ID_5320965608458774434" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_odaQpZPWgC4/SdfeB3pBZ6I/AAAAAAAAABk/OB9STwDV6N4/s320/IMG_0093.jpg" border="0" /&gt;&lt;strong&gt;
Lessons learned&lt;/strong&gt;:
Lemon juice tenderizes the meat but don't let the meat to taste like lemon.
Keep the salt higher than you would usually for proper penetration.
Add spices higher than usual for proper penetration.
Give at least 4-6 hours minimum as proper marination time.

&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Grilling&lt;/strong&gt;:
This is the part where experience comes into play. You see, I have read and watched so many articles and shows. Most of them state that the meat should be grilled on high heat. I agree with this statement, in principle. However the reality is a little different. Since I barbecue in all seasons it is impossible to barbecue with open lid, so that you can turn the meat over as soon as it starts burning. As a matter of fact I have realized that there is no point in open lid barbecue. You should always cover the lid. That leaves the option of keeping the grill at high setting, especially if you are grilling ribs. There is something called grease fire. It will happen no matter how careful you are. Meat like pork is filled with fat. When the meat gets hot the fat melts and creates instant fire. To me this is the biggest challenge. I have not seen this addressed in the shows I watched or in the form of some anti-grease fire technology. I have addressed this problem as following:

3a. Never let meat to be grilled in direct flame. I bought a small metal sheet from Home Depot. I put the sheet in between the flame and the meat. An aluminium foil will do, however, you will need to change it every time you are barbecuing.

3b. Start the grilling process at relatively high temperature.

3c. When the meat reaches at a point that it is creating too much grease, put the meat on a non-stick Aluminium foil like Reynolds Release and continue.

Okay, so let us get started with the grilling process. Turn the grill on high. Make sure it is clean. A lot of people give reasons like, "Oh, I never the clean the grill because it adds to the flavor". Yeah, I agree, but it adds to grease fire. So, try to clean it as much as possible. I give at least twenty minutes before I am ready put the meat on it. Whether you clean your grill or not, PLEASE clean the grates. Lubricate the grates with vegetable or olive oil. This step is important so that the meat does not stick to the grates.

&lt;img id="BLOGGER_PHOTO_ID_5320967766811582562" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_odaQpZPWgC4/Sdff_gIboGI/AAAAAAAAAB0/Cfxu8yLlGw4/s320/IMG_0098.jpg" border="0" /&gt;
&lt;img id="BLOGGER_PHOTO_ID_5320967957785078018" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_odaQpZPWgC4/SdfgKnkD6QI/AAAAAAAAACE/qS7-wKsEMHs/s320/IMG_0102.jpg" border="0" /&gt;
Put the meat on the grates and lower the temperature to a little below the medium. Every grill is different so experiment with the settings. The point is, I do not want to grill at very high temperature. Bring it down. Cover the lid after putting the meat. Next half hour to forty five minutes are very important. Turn the meat every five or so minutes. In about half hour the meat is hot enough to start melting the grease. Keep watching the smoke coming from the grill. Too much smoke is an indication of the grease melting. I usually let it go like this for another ten minutes or so by lowering the temperature of the grill, however, at this time feel free to bring in non-stick Aluminium foil like Reynold's release. Put the meat on the foil now and continue turning it every five minutes. For me, for nine pounds of meat the cooking time was about an hour and ten minutes. Again, taste the meat and adjust the time to taste and tenderness.

&lt;img id="BLOGGER_PHOTO_ID_5320968084253680930" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_odaQpZPWgC4/SdfgR-shpSI/AAAAAAAAACM/x0U_U6bYBfU/s320/IMG_0103.jpg" border="0" /&gt;&lt;img id="BLOGGER_PHOTO_ID_5320968167308232562" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_odaQpZPWgC4/SdfgW0GRh3I/AAAAAAAAACU/I_fpHtiMZ9I/s320/IMG_0104.jpg" border="0" /&gt;&lt;img id="BLOGGER_PHOTO_ID_5320968264134431138" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_odaQpZPWgC4/SdfgcczcEaI/AAAAAAAAACc/jbjSjMcHR_I/s320/IMG_0106.jpg" border="0" /&gt;&lt;img id="BLOGGER_PHOTO_ID_5320968358673574674" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_odaQpZPWgC4/Sdfgh8_U6xI/AAAAAAAAACk/vG2Uw7-ucG4/s320/IMG_0107.jpg" border="0" /&gt;&lt;img id="BLOGGER_PHOTO_ID_5320968482343892770" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_odaQpZPWgC4/SdfgpJsoNyI/AAAAAAAAACs/_4WruiUdG3c/s320/IMG_0108.jpg" border="0" /&gt;
&lt;strong&gt;Lessons learned&lt;/strong&gt;:
1. Too much time at the grill with lower temperature will result into dry meat.
2. Lesser time at the grill with very high heat will result into burnt or uncooked meat (May be okay for steaks but not good for pork).
3. Yes, we should try to cook at as high temperature as possible.

&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Tools of the trade&lt;/strong&gt;:
Though I have every possible tool available in the BBQ world, I used only the following tools for this barbecue:
a. A nice butcher's knife to cut the raw meat
b. Tong to turn the meat over on the grill
c. A nice carving knife
d. A big fork
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Some thoughts to enjoy your barbecue&lt;/strong&gt;:
I like to drink beer when I barbecue. However, at the time of eating, I like to have some wine and bread with it. I am not at all a wine connoisseur. However, I know this for sure. Unless you have Madoff kind of money, there is no need to spend more than $10 for a 750 ml bottle of wine. In my experience, try Chilean or Argentinian wines. They are cheap and they taste damn good too. The one shown in the picture was less than $8. I have never tasted it before. As I write this blog, I have finished half the bottle. So, it must be pretty good.Lessons learned for wine:1. If the wine is over $10 a bottle, don't buy it unless you are rich.2. Go with what you like not with what critics like. Remember, they are rich.
I want to leave you with this thought. &lt;/li&gt;&lt;/ol&gt;&lt;p align="center"&gt;&lt;a href="http://4.bp.blogspot.com/_odaQpZPWgC4/Sdfi-1ybhxI/AAAAAAAAAC0/bcMTjRU4Fcw/s1600-h/IMG_0112.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5320971053979895570" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 240px" alt="" src="http://4.bp.blogspot.com/_odaQpZPWgC4/Sdfi-1ybhxI/AAAAAAAAAC0/bcMTjRU4Fcw/s320/IMG_0112.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://3.bp.blogspot.com/_odaQpZPWgC4/SdfjELq9K7I/AAAAAAAAAC8/YwZjEi4Eri8/s1600-h/IMG_0113.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5320971145753471922" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 240px" alt="" src="http://3.bp.blogspot.com/_odaQpZPWgC4/SdfjELq9K7I/AAAAAAAAAC8/YwZjEi4Eri8/s320/IMG_0113.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;Every man wants a legacy. I want to be known for my pork ribs, ummmmmmm!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-3046539954441782579?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/3046539954441782579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/04/life-in-bbq-lane.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/3046539954441782579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/3046539954441782579'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/04/life-in-bbq-lane.html' title='Life in the BBQ lane'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_odaQpZPWgC4/SdfcLtvOeRI/AAAAAAAAAA0/xXpSFXRnAsA/s72-c/IMG_0086.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-4406008854928421778</id><published>2009-03-20T19:26:00.050-04:00</published><updated>2009-03-20T20:43:30.229-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='vbscript'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='pearl'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><title type='text'>Perl is a pearl</title><content type='html'>It has been almost a month since I posted any blog.  Well, I have been busy.  I have been working on this software which will run both on Unix and Windows platform.  Since I am very comfortable with Korn shell, I wrote the script for Unix platform in no time.  But when the time came to port it for Windows platform, I was clueless.  To create scripts on Windows platform you have very few native options from Microsoft:
&lt;ol&gt;&lt;li&gt;Batch files: Without elaborating further, if Korn Shell was a Kawasaki Ninja motorbike, batch files are cheap plastic tricycle.&lt;/li&gt;&lt;li&gt;VB Scripts: Now there was some viable alternative.  However, after spending a couple of days, I realized that VB Scripts were not going to cut because of severe lack of IO redirection facilities.  I think I realize what is wrong with Microsoft.  They like to invent things which are already invented.  Hey Balmer, why don't you send one of your smart guys for Unix training and you can actually catch up with the stuff invented in the seventies.  It really works.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;As usual, I was disgusted.  I then said to myself, I am going to use something which is available for Unix and Windows both.  I decided to use Perl, a cross-platform scripting language.  Perl was used extensively in the early interactive web applications.  It was extremely popular then suddenly I stopped hearing about it as much.  I think it was because suddenly JSP, PSP, ASP, and so many other competing technologies were out there.  People used whatever they became comfortable.&lt;/p&gt;&lt;p&gt;Anyway, I have spent last two weeks teaching myself Perl.  I tell you, it has been hard.  It has been hard because I took for granted that Perl was as powerful as Korn shell scripting language.  Well, on the surface it is not.  But keep in mind that Perl has been a work in process for so many years.  I am sure the problems I ran into in the last few weeks, people encountered them years ago.  So, like a close knit community, they developed these packages, which you can include in the base Perl and do everything you could do in Korn shell or any other scripting language.  The reason why I even decided to write this blog is because of one specific site where I have been going for help.  The site is called &lt;a href="http://www.perlmonks.org/"&gt;http://www.perlmonks.org&lt;/a&gt;.  It has a great theme.  All the Perl gurus are called monks and you go to them for wisdom.  All the posts from stupid guys like me start with "Hello monks".  It took me a while to figure out how to even post a question.  Apparently, you click on "Seekers of Perl Wisdom" and scroll down to the bottom to post a question.  They perhaps could have created a link like "Ask for Perl wisdom" or something like that.  Anyway, it is a rather small point.  I was amazed by the number of responses you receive within a few hours of posting the question.  I was so overjoyed with the words of wisdom offered by monk Kyle in response to my first question.  I wanted him voted as the monk of the year on the site (If there was such a thing).  I observed that these "monks" not only answer the question, they take the time to try to explain the concepts and the context behind it.  To me, that is true wisdom!!!&lt;/p&gt;&lt;p&gt;Now, I am back in the game.  I ported my korn shell script to Perl and I learnt a lot while doing it.  Now that you have wasted a good five minutes reading this blog I must point out some useful links to get started with Perl.&lt;/p&gt;&lt;p&gt;For Windows platform there is nothing better than &lt;a href="http://www.activestate.com/activeperl/"&gt;Active Perl&lt;/a&gt;.  There is of course &lt;a href="http://www.perl.com/"&gt;perl.com&lt;/a&gt;, the site maintained by O'Reilly publisher.  I found the &lt;a href="http://www.perl.com/pub/a/2000/10/begperl1.html"&gt;follwing link&lt;/a&gt; very useful to get started with Perl.  Other useful links are:
&lt;a href="http://perl101.org/"&gt;http://perl101.org/&lt;/a&gt;
&lt;a href="http://giantfir.com/perl_guide/index.htm"&gt;http://giantfir.com/perl_guide/index.htm&lt;/a&gt;
&lt;a href="http://www.well.ox.ac.uk/~johnb/comp/perl/intro.html"&gt;http://www.well.ox.ac.uk/~johnb/comp/perl/intro.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I am so thankful to these individuals, who have taken the time to develop these sites to benefit the community.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-4406008854928421778?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/4406008854928421778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/03/perl-is-pearl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/4406008854928421778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/4406008854928421778'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/03/perl-is-pearl.html' title='Perl is a pearl'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-7710950501838999679</id><published>2009-02-24T19:54:00.006-05:00</published><updated>2009-02-24T20:35:15.488-05:00</updated><title type='text'>Bobby Jindal is out of his mind</title><content type='html'>I watched this clip on youtube sometime back, where Bobby Jindal was in Washington DC trying to make speal for something and Barney Frank was on his case to the extent of being very obnoxious.  I felt bad for Bobby.  I became interested in his career when he ran for governor of Louisiana in 2003 for the first time and lost to Kathleen Blanco.  Boy, wasn't he lucky!  He did not have to face Katrina.  He won in 2007 and became the first Indian American governor of a state.  I read his bio on the web and generally considered him to be a pretty smart guy.

Bobby has refused 100 million dollars worth of stimulus under Obama's plan.  Say what!   Louisiana and Mississippi are considered the most impoverished states.  Adult literacy rate of Louisiana is 28% compared to Iowa (the best) at 99%.  If I was the governor I will take every penny given to my state.  You see, Bobby is trying very hard to get nominated for presidency in 2012.  By refusing the stimulus money and making a stupid argument will get him some brownie points within the GOP, however the presidency is a long shot.  Bobby might have gotten around to get elected among illiterates by changing his name to Bobby from Piyush, and his religion to Catholicism.  However, to get elected he may have to change his race.  Unfortunately, he cannot do that.

Sorry Bobby!  I like you.  Just be honest and objective and do the right thing for your state.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-7710950501838999679?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/7710950501838999679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/bobby-jindal-is-out-of-his-mind.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/7710950501838999679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/7710950501838999679'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/bobby-jindal-is-out-of-his-mind.html' title='Bobby Jindal is out of his mind'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-8297691452357503591</id><published>2009-02-23T16:47:00.007-05:00</published><updated>2009-02-23T17:29:26.884-05:00</updated><title type='text'>Are we living in a police state?</title><content type='html'>Okay, I am exercising my constitutional right to express my opinion.  You can not do that in most parts of the world.  Yes, it is true.  However, I am beginning to feel that term law abiding has taken a whole new meaning.  I was shocked to have received a 4 point ticket in Highland Park NJ, when I made the right turn from the shoulder.  Four points!  I am sure everyone of us has done it or do it regularly to avoid sitting on the light for a long time.

In our great state of New Jersey, you can not afford to have any points on your license.  Your insurance will go through the roof.  Agreed, that the borough of High Park NJ is known to issue excessive traffic tickets. 

After reading the &lt;a href="http://www.cnn.com/2009/CRIME/02/23/pennsylvania.corrupt.judges/index.html?iref=mpstoryview"&gt;story about kids being sent to private detention centers in Luzerne county PA&lt;/a&gt;, I am beginning to believe that we have truly lost our objectivity about as to who the bad guy is.  The system has gone binary.  Either you are bad or good.  There is nothing in between.  In the Luzerne county story, these two judges were sending teenagers to these detention centers for months for very minor offences.  The motive was money.  The judges were getting a kick back from privately run detention centers in exchange to keep the occupancy high.  Regardless of the motive in the PA case, I feel that we are living in a police state where any of us can see the wrath of law for minor crimes.  As teenages, most of us have done stupid things.  We grew up eventually.  Jail is not the answer for juveniles for minor offences.  Our country has a great number of real criminals already.  We don't need to fill our jails with the made-up criminals.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-8297691452357503591?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/8297691452357503591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/are-we-living-in-police-state.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/8297691452357503591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/8297691452357503591'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/are-we-living-in-police-state.html' title='Are we living in a police state?'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-459720324834340385</id><published>2009-02-19T17:44:00.013-05:00</published><updated>2011-11-01T17:37:11.141-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mask'/><category scheme='http://www.blogger.com/atom/ns#' term='exclude'/><category scheme='http://www.blogger.com/atom/ns#' term='delete'/><category scheme='http://www.blogger.com/atom/ns#' term='filter'/><category scheme='http://www.blogger.com/atom/ns#' term='file'/><category scheme='http://www.blogger.com/atom/ns#' term='line'/><category scheme='http://www.blogger.com/atom/ns#' term='command'/><category scheme='http://www.blogger.com/atom/ns#' term='mass'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='include'/><category scheme='http://www.blogger.com/atom/ns#' term='exclusion'/><category scheme='http://www.blogger.com/atom/ns#' term='inclusion'/><title type='text'>Best mass file delete utility for Windows platform</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;
&lt;a href="http://sicboonline.ipcolony.com/"&gt;[&lt;b&gt;Shameless self promotion of my online casino game of Sic Bo:)&lt;/b&gt; ] &lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Not too long ago I managed mail servers where each message was stored in a file.  Needless to say that there were literally hundreds of thousands of files on the file system.  You should note that on Windows servers, for that matter even on Unix servers, if there are too many files on the file system, regardless of their sizes, the operating system may come to a crawl.  I enforced a 90 days retention policy to keep these emails.  There were dime a dozen file delete programs.  90% of them were useless for the following reasons:
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;No command line interface, which I am a big fan&lt;/li&gt;
&lt;li&gt;Could not handle volume&lt;/li&gt;
&lt;li&gt;Did not have enough functionality&lt;/li&gt;
&lt;/ol&gt;
I designed this utility (appropriately named, Killer 2000), which was developed in C (Or may be C++, I am not sure) by a guy named, Jeff in North Carolina.  He did a fantastic job on this project.  Jeff is currently pursuing his PhD in computer science.&lt;br /&gt;
&lt;b&gt;Features&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Multiple folders can be specified with separate rules for deletion&lt;/li&gt;
&lt;li&gt;Folder inclusions by masks (pattern) can be supplied&lt;/li&gt;
&lt;li&gt;Folder exclusions by masks can be supplied&lt;/li&gt;
&lt;li&gt;File inclusions by masks can be supplied&lt;/li&gt;
&lt;li&gt;File exclusions by masks can be supplied&lt;/li&gt;
&lt;li&gt;File inclusion and exclusion masks can be overridden for separatefolders&lt;/li&gt;
&lt;li&gt;Command line interface&lt;/li&gt;
&lt;li&gt;Supports UNC file naming convention&lt;/li&gt;
&lt;li&gt;Supports long file names and file names with spaces in it&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;Installation&lt;/b&gt;&lt;br /&gt;
There is really no installation as such.  Copy the following files to a folder of your choice and you are good to go.  There are only two files required to run the utility.  The executable and the configurable file containing information like what folders, retention period etc.&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.ipcolony.com/downloads/kill2k/kill2k.exe"&gt;Executable (kill2k.exe)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ipcolony.com/downloads/kill2k/killer2k_helpfile.pdf"&gt;Help file (killer 2k_helpfile.pdf)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ipcolony.com/downloads/kill2k/Sample1_kill2k.ini"&gt;Sample1 configuration file (Sample1_kill2k.ini)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ipcolony.com/downloads/kill2k/Sample2_kill2k.ini"&gt;Sample2 configuration file (Sample2_kill2k.ini)&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
I plan to release the source code soon.  You can schedule kill2k.exe in your scheduler to run at non peak hours.  Keep in mind that the file system security still applies.  Which means, if the utility is not run using a security context which can not delete certain files, it will not work.&lt;br /&gt;
Proposed enhancements:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;The log gets written only after the operation is completed.  This was done to keep the efficiency in mind.  However, I feel that purpose of the log is to know what is going on even at that moment.&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;Disclaimer:&lt;/b&gt; There are no warranties for the utility.  It is virus free.  I have provided a dry run flag to test first before you start deleting your precious files.  Please read the documentation first :).&lt;br /&gt;
Enjoy!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-459720324834340385?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/459720324834340385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/best-mass-file-delete-utility-for.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/459720324834340385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/459720324834340385'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/best-mass-file-delete-utility-for.html' title='Best mass file delete utility for Windows platform'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-2394969896798586664</id><published>2009-02-19T14:43:00.004-05:00</published><updated>2009-02-20T15:35:33.230-05:00</updated><title type='text'>Jersey acts to toughen high school standards</title><content type='html'>This was the front page news in Today's Star Ledger, a fairly prominent paper. As per the story, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;governor&lt;/span&gt; Jon &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Corzine&lt;/span&gt; plans to beef up New Jersey high schools with more math and science. A good move, I say but what about the middle schools? The other day, I asked my son in 7&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;th&lt;/span&gt; grade, a simple question. The question was if I purchased two different fruits at some prices and later on sold it with different prices. How much profit or loss did I incur? The boy had no clue. I was shocked and angry. Later on that day, his tutor (who was born and in Korea and finished his early schooling there) came over. I asked him why my son did not know the answer. He told me these kind of questions are covered in high school. He also admitted that he did this type of Math in 6&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;th&lt;/span&gt; grade in Korea. Here in the U.S. a lot of time is devoted to teaching basic concepts and terminology.

By no means I am a U.S. school system &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;basher&lt;/span&gt;. I think the system in the U.S. in general does a good job of creating good communicators and aspire individual creativity. I am sure someone in the Education community has an answer as to why this type of simple math is taught so late. No matter what the explanation, I think, we need more practical math and science early in the game. May be, just may be, it will prevent future financial meltdowns.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-2394969896798586664?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/2394969896798586664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/jersey-acts-to-toughen-high-school.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/2394969896798586664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/2394969896798586664'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/jersey-acts-to-toughen-high-school.html' title='Jersey acts to toughen high school standards'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-3830059160049759433</id><published>2009-02-17T15:53:00.019-05:00</published><updated>2009-02-17T16:27:18.097-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='torvald'/><category scheme='http://www.blogger.com/atom/ns#' term='linus'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='bill. gates'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='bill'/><title type='text'>Linux and Ubuntu</title><content type='html'>This blog is continuation of my &lt;a href="http://thisisnotcnn.blogspot.com/2009/02/goodbye-bill.html"&gt;Goodbye Bill!&lt;/a&gt; and &lt;a href="http://thisisnotcnn.blogspot.com/2009/02/why-i-hate-bill.html"&gt;"Why I hate Bill"&lt;/a&gt; posts. This blog is about my journey into an unknown world of non Windows operating system.

I am writing this blog with those people in mind as well, who like me, do not know what Ubuntu is. There is this dude from Helsinki, Finland. His name is Linus Torvald. In 1996, he created a portable operating system called Linux which could run on a PC, driven by primarily then Intel i386 based processors. Linux operating system was modelled after popular industry strength operating system, Unix. Until this time, there were only a handful of vendors, who sold Unix based operating systems which would run on PCs. As we know now that none of them became successful primarily due to lack of interest and support from customers. Even though Linux was Torvald's M.Sc. thesis project, he essentially started a movement. Linux was free and he made the source code available to public. Soon, hundreds of developers joined in and started contributing to Linux. The core operating system is called kernel, and is now maintained by the Linux Foundation, which Torvald is still a part. A vast community of developers write software and device drivers on top of this kernel. Since everything is free, many organizations have bundled Linux based software with the kernel, and gave it a name. Some of these names you may recognize as Red Hat, Suse, Debian, Mandrake, Ubuntu etc. The common thread for all these flavors of Linux operating systems is essentially the kernel.

So why Ubuntu, why not something else. The answer to this question is really a matter of preference and your comfort level with geekness. And, I mean geekness as a compliment. For a spoiled brat, raised on Windows, I need user friendly GUI to work. In that regard Ubuntu and Red Hat perhaps have taken the lead. There after only one difference remains. Red Hat has become commercial. Which means, though the software is free, any support for it will cost you. Ubuntu is still free and you will get most of the answers by googling or by posting on the appropriate forums. I feel that there are a lot more developers involved with the Ubuntu project as well. So, it is all a very big happy family.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-3830059160049759433?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/3830059160049759433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/linux-and-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/3830059160049759433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/3830059160049759433'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/linux-and-ubuntu.html' title='Linux and Ubuntu'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-8332194363761169964</id><published>2009-02-16T17:45:00.020-05:00</published><updated>2009-02-16T18:22:41.051-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='xp'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='hate'/><category scheme='http://www.blogger.com/atom/ns#' term='bill. gates'/><title type='text'>Why I hate Bill!</title><content type='html'>This blog is continuation of my &lt;a href="http://thisisnotcnn.blogspot.com/2009/02/goodbye-bill.html"&gt;Goodbye Bill!&lt;/a&gt; post.  This blog is about my journey into an unknown world of non Windows operating system. 

I am assuming that you, like me are fairly Windows savvy.  Let us just compare notes and see what you really find wrong with Windows operating system.  Be objective and don't be nit picky.

I find the following thorny issues with Windows:
&lt;ol&gt;&lt;li&gt;&lt;strong&gt;The operating system and GUI (Graphical User Interface) are tightly coupled. &lt;/strong&gt; A simple delay, say, connecting to a slow network drive, brings the operating system to its knees.  How many times, you have tried to bring up the task manager to end a task, but you were unable to do so, because Windows Explorer was not responding.  This is a fundamental design problem with Windows.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;What works now may not work in the next version of Windows.&lt;/strong&gt;  NTBackup is a very good example.  A nice, backup utility included in Windows XP is simply missing from Vista.  Why?  Microsoft sold Visual Basic as the ultimate programming language.  If you invested your time and effort learning it,  you are obsolete today.  Can you imagine if you made this effort into learning C or C++, you will be reaping the rewards like a sound investment.  Microsoft simply does not do it because it is not good for business.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Microsoft's culture simply does not support command line automation.&lt;/strong&gt;  This may the developer in me talking.  A GUI is of no use, when you can run a simple script to perform a repetitive task.  Microsoft has made an inconsistent effort towards this issue.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Last but not the least, what a bloatware it is.&lt;/strong&gt;  I think it is a game of improved hardware vs. Windows bloatware.  The faster the computers become, Microsoft releases a version to make it slow.  Have you seen how happy your XP system is when it just starts as a new born.  By the time you loaded your service packs and patches, you start questioning your sanity for buying a computer which was supposed to be the most expensive at Best Buy.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;As far as I am concerned, these are the main problems with Windows.  People give Windows a bad rap.  Oh, it is so easy to get virus on a Windows machine.  My dear friends, it is as easy to get a virus on a Unix/Linux machine.  The only difference is that there are not as many people dedicating their precious time writing viruses for Unix machines.  I very rarely get viruses on my machine.  I am very careful about what I install on it and always have a good virus scanner running.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-8332194363761169964?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/8332194363761169964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/why-i-hate-bill.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/8332194363761169964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/8332194363761169964'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/why-i-hate-bill.html' title='Why I hate Bill!'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-6726449835923909526</id><published>2009-02-16T13:57:00.021-05:00</published><updated>2009-02-16T15:12:30.714-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='acer'/><category scheme='http://www.blogger.com/atom/ns#' term='one'/><category scheme='http://www.blogger.com/atom/ns#' term='gates'/><category scheme='http://www.blogger.com/atom/ns#' term='aspire'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='bill'/><title type='text'>Goodbye Bill!</title><content type='html'>I must admit, though I live in New Jersey, unlike our state's favorite pass time, I hate going to the malls. It is not that I hate malls as such. Like everybody else, I also love to buy things I do not need. Not going to malls helps. Anyway, about a week back, I landed up at Walmart for some mundane task. I love the price "Rollback" gimmick at Walmart.

While browsing through the electronics isle, I saw this cute little Acer Aspire One laptop staring at me. Like a puppy with those droopy eyes. It was calling my name, in fact begging me to take it home. To sweeten the deal, there was a big rollback sticker next to it. "Price Rollback: Was $349. Now: $298." Wow, $298 for a laptop with Intel Atom processor (I have no idea what that is), 1 Gig Ram and 160 Gig hard drive with Windows XP Home. I really needed a laptop. My Dell 610 recently died after four years of faithful service. So, I brought this puppy home. It was small, weighed only 2 some pounds.

&lt;img id="BLOGGER_PHOTO_ID_5303487746390192738" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_odaQpZPWgC4/SZnGAZo5cmI/AAAAAAAAAAM/hg51H693hUc/s320/IMG_0060.JPG" border="0" /&gt;
You know what they say, if something is too good to to be true, well, it was. It turns out Intel Atom processor acts like its close cousin, Celron. If I was President Obama, my first order, even before the economic stimulus package would have been to ban loading any Microsoft operating system on Celron or Atom processors. At this point my easiest option was to go back to Walmart and return the merchandise.

There were two challenges in the return process. Returning anything in the Walmart in my area is a chore. The customer service is run by recently arrived immigrants, who still think that they have to enforce the same level of bureaucracy as their country of origin. I despise returning anything at my Walmart. The second part for not returning the product was the challenge to load this operating system I have been hearing about. It is called Ubuntu. Ubuntu is another flavor of Linux based operating system. I first heard about it from my nephew, who is a rocket scientist. Considering that I have been associated with the software industry for over twenty five years, I like challenges. I have installed Windows NT on servers, when NT to most industry experts meant, "No Thanks". I used to get nightmares of the famous blue screen of death. So, like Frodo Baggins, I took up the task of loading Linux on my newly acquired Acer Aspire One. I knew that my journey will be filled with numerous kernel compiles and unsupported device drivers. There was also that dreaded possibility of making the trip to Walmart to return the laptop. But I was motivated, I was inspired, and I was determined to load Ubuntu on my machine, no matter what! It is the journey that matters.

So, &lt;strong&gt;Goodbye Bill Gates!&lt;/strong&gt; It was nice knowing you! I always wanted to leave you and this is my ticket.

P.S. The journey continues ....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-6726449835923909526?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/6726449835923909526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/goodbye-bill.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/6726449835923909526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/6726449835923909526'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/goodbye-bill.html' title='Goodbye Bill!'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_odaQpZPWgC4/SZnGAZo5cmI/AAAAAAAAAAM/hg51H693hUc/s72-c/IMG_0060.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2175751175680628161.post-4608629371419679532</id><published>2009-02-07T16:11:00.002-05:00</published><updated>2009-02-16T15:11:17.413-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cnn'/><title type='text'>What's in the name?</title><content type='html'>When I decided to post my blog, I had to pick a name for the URL. I am sure you know it already that most names, English or otherwise, have already been taken. You do need a name anyway and you need it so that people can remember it. So, I chose, "This is not CNN" as my blog's name. I am sure you will remember it. Contrary to the name, I am not against CNN, as a matter of fact I get most of my news from CNN. I may not personally agree with all cynical views of Lou Dobbs, but over all he thinks a lot of this country than most of us.

Since I have now established that I am not CNN, what can you expect from this blog? Not much really! However, I will keep you entertained and sometimes informed with little things in my life.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2175751175680628161-4608629371419679532?l=thisisnotcnn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thisisnotcnn.blogspot.com/feeds/4608629371419679532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/whats-in-name.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/4608629371419679532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2175751175680628161/posts/default/4608629371419679532'/><link rel='alternate' type='text/html' href='http://thisisnotcnn.blogspot.com/2009/02/whats-in-name.html' title='What&apos;s in the name?'/><author><name>Ashish Kumar</name><uri>http://www.blogger.com/profile/12615838384151231662</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-svrNDkh4n4c/TlkHRi6taWI/AAAAAAAAAzk/YTjbO1TjW1s/s220/ak_closeup.jpg'/></author><thr:total>0</thr:total></entry></feed>
