<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-5804397</atom:id><lastBuildDate>Tue, 06 Jan 2009 22:31:42 +0000</lastBuildDate><title>Hashemian Blog</title><description>Web Tools, Financial Markets, Technology</description><link>http://www.hashemian.com/blog/index.htm</link><managingEditor>noreply@blogger.com (rh)</managingEditor><generator>Blogger</generator><openSearch:totalResults>344</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-6039282287253497839</guid><pubDate>Sun, 04 Jan 2009 19:24:00 +0000</pubDate><atom:updated>2009-01-04T14:35:01.224-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>social</category><category domain='http://www.blogger.com/atom/ns#'>amazon</category><title>Best Valentine's Day Gift Ever</title><description>With the holiday season behind us and the data reflecting dismal sales for most retailers, the economy is probably focused on the next big spending opportunity by consumers, Valentine's day.&lt;br /&gt;&lt;br /&gt;We all know that this is basically a revenue generation scam, but there's nothing wrong with women buying something for their men this Valentine's day. So here's my suggestion, depicted below. A beautifully appointed Zenith watch from &lt;a href="http://www.amazon.com/exec/obidos/redirect-home/hashemian-20"&gt;Amazon.com&lt;/a&gt;. At a 40% discount and only a $20 shipping cost, it'll make a perfect gift. &lt;br /&gt;&lt;br /&gt;Can you just imagine paying for standard shipping and having the package dropped off behind your door only to be dragged away by an animal or wind or something?&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/dp/B001L464FE/?tag=hashemian-20"&gt;&lt;img src="http://www.hashemian.com/blog/images/amazon-watch.gif" border="0" alt="luxury watch" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;* Image tightened-up to show all elements.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/amazon" rel="tag"&gt;amazon&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/watches" rel="tag"&gt;watches&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/luxury watches" rel="tag"&gt;luxury watches&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/valentine's day" rel="tag"&gt;valentine's day&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/holidays" rel="tag"&gt;holidays&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2009/01/best-valentines-day-gift-ever.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-1863723643332382684</guid><pubDate>Fri, 02 Jan 2009 05:28:00 +0000</pubDate><atom:updated>2009-01-02T00:43:42.576-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>social</category><title>2009 in NYC</title><description>I don't have a great affection for loud holiday celebrations. Not that there's anything wrong with them. Mine just happens to be a subdued personality shunning large and loud crowds. But when your kids want to see the &lt;a href="http://en.wikipedia.org/wiki/Times_Square_Ball"&gt;ball drop in New York City&lt;/a&gt;, you put your prejudices aside and take the plunge. One must experience everything at least once, with some exceptions of course.&lt;br /&gt;&lt;br /&gt;My take: it was miserable. This comes close to the concept of cruel and unusual punishment, except that people actually choose to or are chosen to do it. We actually started out late. Some accounts have people arriving at Times Square at dawn on new year's day. Our train reached the Grand Central Station around 9 PM and as we emerged from the station we were welcomed by a blast of arctic air. In fact it was one of coldest new year's eves recorded in New York City. &lt;br /&gt;&lt;br /&gt;We joined the throngs of people trying to make their way to Times Square but we soon ran into blockades and barricades set up by the police to prevent people from going any further east than fifth avenue. The police kept sending people further up to make the crossing to Broadway and we kept going until we hit Central Park. We were finally able to cross eastward and after passing security check we were stopped once again by more barricades and told that no more people will be allowed in.&lt;br /&gt;&lt;br /&gt;Cold and miserable we turned around and backtracked our way to possibly find another way in. By that time the kids just wanted to go home, but we pressed on, refueling with a couple of expensive pretzels bought from a street vendor and hot beverages in a Starbucks store with one of the longest bathroom lines I had ever seen. I pity the person who has to clean up that mess.&lt;br /&gt;&lt;br /&gt;&lt;img style="float:right; margin:0 0 10px 10px;" src="http://www.hashemian.com/blog/images/times-square-ball.jpg" border="0" alt="Cell phone shot of the Times Square ball from the corner of W 44th and 6th" /&gt;In the end we settled for watching the ball from the corner of W 44th and 6th. Standing in the cold, pressed in the crowds for an hour, we saw the ball drop, go dark and the ensuing fireworks erupt. People cheered as best as the could in that chill, but the whole event seemed anti-climatic to me. I was just happy that kids actually saw what we came to see. As we settled in for the train ride back home, I was just happy to realize that with my duty fulfilled, I don't have to come back to this event ever again.&lt;br /&gt;&lt;br /&gt;If you are brave (or crazy) enough to want to see the ball drop, here's a short list of rules  to consider based on my experience:&lt;ul style="margin-left:20px"&gt;&lt;li&gt;Expect the worst but bring your best and most patient attitude. It's cold, you'll walk a lot, stand a lot, will get pushed and pulled and pressed a lot. Short fuses won't stand a chance.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Stay away from drinks (soft or hard drinks). Bathroom opportunities are nearly non-existent.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dress warmly (heavy coats, hats, gloves, etc). Have something to eat. Your body needs the energy to fight the cold and the stress.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Don't believe what the cops tell you when you ask them a question. They are generally courteous and friendly, but their primary task is crowd control and safety. To them you are like cattle being herded into a slaughterhouse. About the only truthful statement they will tell you is that you can't cross. Everything else is said to keep you calm and keep you hoping that you can eventually get to your destination while you're going in circles.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Don't expect a surreal experience or anything. It’s just a flashing ball sliding down a pole with a bit of fireworks at the end. It's way overrated and not that exciting.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Finally, if you missed the big party, don't despair. Starting this year, you can see the ball year-round. Ok, it's not the same thing as being there when the year flips over, but you'll have a front-row seat any other day.&lt;/li&gt;&lt;/ul&gt;Have a happy and healthy 2009.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/2009" rel="tag"&gt;2009&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/nyc" rel="tag"&gt;nyc&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/new york city" rel="tag"&gt;new york city&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/new york" rel="tag"&gt;new york&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/times square" rel="tag"&gt;times square&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/new year's eve" rel="tag"&gt;new year's eve&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2009/01/2009-in-nyc.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-1473571939618086821</guid><pubDate>Tue, 30 Dec 2008 01:23:00 +0000</pubDate><atom:updated>2008-12-29T20:26:53.870-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>google</category><title>Google's Missing News</title><description>One of the things I like about the Google news site is the fact that it's mostly an orderly aggregation of news from other outlets. Add to that the legendary Google search technology and one can find just about any news release about any item in any period. &lt;br /&gt;&lt;br /&gt;That is unless you search for a term and a range of dates when there were no news published. Of course it's hard to believe that there were no news items referring to Google in the nearly 3-week period shown below. In fact for that period there are no news on Microsoft, Iraq, or even Thanksgiving - nothing.&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;img style="border:2px navy solid" src="http://www.hashemian.com/blog/images/google-news-missing.gif" border="0" alt="Google News" /&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Well, if Google says there were no news, who am I to argue? Google can't possibly be wrong. There must have been no news whatsoever during that span of time :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/google" rel="tag"&gt;google&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/google news" rel="tag"&gt;google news&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/12/googles-missing-news.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-323346028087819231</guid><pubDate>Mon, 22 Dec 2008 00:28:00 +0000</pubDate><atom:updated>2008-12-21T19:50:41.125-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>financial</category><title>Oil at $200 a Barrel</title><description>&lt;img style="float:right; margin:0 0 10px 10px;" src="http://www.hashemian.com/blog/images/oil-prices.png" border="0" alt="Oil Prices" /&gt;Seems like an insane prediction when oil is hovering around $34 a barrel, but it was only in July when crude reached $147 and we were paying $4.20 per gallon to fill up our cars. Back then plenty of pundits and analysts were predicting $200/barrel oil and $6/gallon gas and everyone seemed to accept that prediction as a foregone conclusion.&lt;br /&gt;&lt;br /&gt;Here's one such prediction published in New York Times in May 2008 titled: &lt;a href="http://www.nytimes.com/2008/05/21/business/21oil.html"&gt;An Oracle of Oil Predicts $200-a-Barrel Crude&lt;/a&gt;. An oracle of oil? This was a mere 7 months ago, not decades to give the "oracle" a little margin of error.&lt;br /&gt;&lt;br /&gt;I'm really not picking on this particular analyst who made this bold prediction in May 2008. When crude was trading just over $100 per barrel and rising sharply, it wasn't perhaps so radical to make such a statement. But even those pundits who strongly disagreed with this prediction didn't get it right, as evident by this statement in the same article: &lt;em&gt;"Some say prices will fall as low as $70 a barrel by year-end, according to Thomson Financial."&lt;/em&gt; As low as $70? Did they possibly dare fathom as low as $30?&lt;br /&gt;&lt;br /&gt;Every time I hear a prediction from one of these guys, I know they are winging it. Sure, they have access to lots of data, charts, reports, and specialized programs to crunch numbers, but in the end all they can give you is a best guess. It's like predicting the color the ball will land on while it's spinning in a roulette wheel.&lt;br /&gt;&lt;br /&gt;Sometimes they get the color right and they come back gloating looking for validation. Other times they take bigger risks and predict the number the ball will land on. It's a gamble, and if it comes to pass, they can reap fame and fortune, at least for a while. In the end their predictions are probably just as good as a moderately informed investor.&lt;br /&gt;&lt;br /&gt;Oil didn't hit $200 per barrel. Instead it took a nose-dive amidst the worsening financial crisis and a severe slowdown of consumer spending. Who knows, in a year or two or three it may reverse course again and really reach $200 per barrel. Would that be a vindication for the oracle? Not at all. If he had correctly predicted the intervening price swings, I might have become a believer. But then again if he could do that, he wouldn't need a job forecasting oil prices. He'd be an instant billionaire tanning on a beach.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/oil" rel="tag"&gt;oil&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/oil prices" rel="tag"&gt;oil prices&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/analysts" rel="tag"&gt;analysts&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/crude oil" rel="tag"&gt;crude oil&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/gasoline" rel="tag"&gt;gasoline&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/12/oil-at-200-barrel.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-3539610304344462273</guid><pubDate>Tue, 16 Dec 2008 03:19:00 +0000</pubDate><atom:updated>2008-12-15T22:25:30.370-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>financial</category><title>Ponzi Schemes</title><description>The bad news on Wall Street today was &lt;a href="http://www.forbes.com/2008/12/14/madoff-jewish-ponzi-oped-cx_pdb_1214broughton.html"&gt;Madoff's Ponzi scheme&lt;/a&gt;. This old trick works by paying off previous investors with money from new investors, thereby garnering a false reputation of handsome profits as long as new money keeps arriving, as in the adage: robbing Peter to pay Paul. Of course the problem is that the scheme eventually runs out of steam and as it unravels it leaves the investors at the tail-end of the cycle holding the bag.&lt;br /&gt;&lt;br /&gt;This particular one had an apparent run over decades with losses to the tune of $50 billion. Many investors were large institutions such as banks and municipalities with fiduciary responsibilities to average folks. Most likely this will become another bailout liability for the taxpayers.&lt;br /&gt;&lt;br /&gt;Of course Ponzi schemes are not just the domain of the greedy individuals. The subprime mortgage was another example of a Ponzi scheme perpetrated with the approval, and even encouragement, of the government wishing to expand homeownership at any cost. But it even goes further than that. The Social Security and Medicare programs are also Ponzi schemes of sorts. These entitlement programs are funded with the potential earnings of future generations. &lt;br /&gt;&lt;br /&gt;The U.S. government's irresponsible borrow-and-spend cycles are also garden variety Ponzi schemes with the investors generally consisting of foreign governments. One could argue that the borrowing cycles are not so nefarious as the investor countries are well aware of the risks and they are even in some form complicit in the scheme, since they are also beneficiaries of this vicious cycle. But what will happen when the interest payment liability on the IOU's finally outstrips the government's revenues and China stops buying up more debt to protect itself? Hint: financial calamity on a global scale that makes the current crisis but a pleasant memory.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/ponzi schemes" rel="tag"&gt;ponzi schemes&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/madoff" rel="tag"&gt;madoff&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/social security" rel="tag"&gt;social security&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/china" rel="tag"&gt;china&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/treasuries" rel="tag"&gt;treasuries&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/financial crisis" rel="tag"&gt;financial crisis&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/12/ponzi-schemes.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-6169044911865546974</guid><pubDate>Wed, 10 Dec 2008 03:12:00 +0000</pubDate><atom:updated>2008-12-09T22:22:48.017-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>running</category><title>Showering Dilemma</title><description>What do you do when you come home at night, after a long day in the office and a 5-mile sweaty run and see your shower in this state? (It's being remodeled) You suck it up and go to bed sweaty and sticky. &lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;img style="border:2px black solid" src="http://www.hashemian.com/blog/images/bathroom-remodel.jpg" alt="Bathroom Remodeling" /&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;No sir, not me. It doesn't mater that it's almost winter time in the northeast and it's dark outside. Your tell the kids to be prepared to call 911 for a cardiac arrest case, then you go behind the house, strip naked and take a shower in record time holding the garden hose over yourself and hopelessly try to make soap suds in the frigid well water. And of course, you pray that the neighbors don't call the cops on you :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/remodeling" rel="tag"&gt;remodeling&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/bathroom" rel="tag"&gt;bathroom&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/911" rel="tag"&gt;911&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/showering" rel="tag"&gt;showering&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/running" rel="tag"&gt;running&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/12/showering-dilemma.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-4876867708380791601</guid><pubDate>Fri, 05 Dec 2008 03:07:00 +0000</pubDate><atom:updated>2008-12-04T22:23:07.104-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>web</category><title>YouTube Outage</title><description>At my place of work we have a number of shadow Web servers that sometimes double as staging servers when we want to roll out new projects. The thing is that for any change, no matter how large or small, the proper approach is to install and inspect on test servers, followed by the staging servers and finally, when everything is good and ready, a scheduled rollout on the production servers.&lt;br /&gt;&lt;br /&gt;The downside is that following proper procedures take just too darn long, specially when you have the production Web servers ready and willing right on your desktop. I admit to shunting the proper procedure on occasion and going right into the production servers. The justification being that only in production one can truly gauge the results of a change and if there are problems, then we can just fix it in real time.&lt;br /&gt;&lt;br /&gt;What we don't realize is that this kind of carelessness could turn off or at least irritate viewers who happen to be browsing the site at the exact moment that new changes and potential bugs are being rolled out. But I have the sneaky suspicion that many sites, even the popular ones, are guilty of this fault on many an occasion.&lt;br /&gt;&lt;br /&gt;Take &lt;a href="http://www.youtube.com/"&gt;YouTube&lt;/a&gt; (owned by &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt;) as an example. This site is a classic example of frequent quick rollouts. On many occasions I have run across broken CSS, missing images, and sudden changes while viewing the site.&lt;br /&gt;&lt;br /&gt;Last night while viewing a classic &lt;a href="http://en.wikipedia.org/wiki/The_Twilight_Zone"&gt;Twilight Zone&lt;/a&gt; episode (&lt;a href="http://en.wikipedia.org/wiki/The_Odyssey_of_Flight_33"&gt;The Odyssey of Flight 33&lt;/a&gt;), the pages suddenly started to exhibit behavior indicative of malformed or missing style sheets. Then videos stopped playing and were replaced by an error message as shown in the below screen capture. Obviously YouTube was in the midst of a rollout and things weren't going quite as planned.&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;img style="border:2px black solid" src="http://www.hashemian.com/blog/images/youtube-outage.gif" border="0" alt="YouTube Outage" /&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Based on the error message, I tried to update my browser's Flash plug-in, but the Adobe site (where &lt;a href="http://get.adobe.com/flashplayer/"&gt;Flash player can be downloaded&lt;/a&gt; from) was strangely out of reach. I suspect the error message had sent masses of people to the Adobe site causing an overload and an eventual outage of that site.&lt;br /&gt;&lt;br /&gt;In the end, It turned out that there was nothing wrong with my Flash plug-in and YouTube was eventually restored and videos began to play normally again. The error message was likely triggered by an unrelated glitch arising from a rollout of some new feature. &lt;br /&gt;&lt;br /&gt;Eventually I finished watching the episode and I also learned something else besides the fact that careless website rollouts lead to user irritation, the fact that the &lt;a href="http://en.wikipedia.org/wiki/John_F._Kennedy_International_Airport"&gt;New York JFK airport&lt;/a&gt; was once known as the Idlewild airport.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/youtube" rel="tag"&gt;youtube&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/web servers" rel="tag"&gt;web servers&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/google" rel="tag"&gt;google&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/twilight zone" rel="tag"&gt;twilight zone&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/jfk airport" rel="tag"&gt;jfk airport&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/12/youtube-outage.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-2256684097178023918</guid><pubDate>Wed, 03 Dec 2008 04:11:00 +0000</pubDate><atom:updated>2008-12-02T23:25:02.843-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>financial</category><title>GE, FDIC, and TLGP</title><description>For years the standard &lt;a href="http://www.fdic.gov/"&gt;FDIC&lt;/a&gt; (Federal Deposit Insurance Corporation) protection for single accounts had been $100,000. This mostly covered bank accounts such as savings, checking, or CD (Certificate of Deposit) with FDIC member banks. With the recent global financial meltdown, the government sought to stanch the erosion of confidence in the banking system and raised that limit to $250,000 on Oct 2008 to continue through 2009.&lt;br /&gt;&lt;br /&gt;The FDIC coverage however does not extend to other types of accounts such as money market or corporate debts. To alleviate the frozen credit market and jumpstart the flow of money in the economy, the government recently introduced the Temporary Liquidity Guarantee Program (TLGP) rule which provides unlimited coverage to certain types of unsecured notes. It possibly guarantees certain types of corporate deposit accounts which act much like savings accounts but have not generally benefited from FDIC coverage.&lt;br /&gt;&lt;br /&gt;The problem is that the rules are apparently so complex and so fluid that even seasoned people running these firms aren't sure whether the deposits are covered or not, as evident below. The screen capture was taken today from the &lt;a href="http://www.geinterestplus.com/"&gt;GE Interest Plus&lt;/a&gt; site which offers interest-bearing accounts to the public. These accounts are really investments in GE Capital notes, and for now the company's position is that the deposits may not be insured by FDIC. So, for the time being, the depositors' only assurance is the top ratings issued by the rating companies, S&amp;P and Moody's and GE's own reputation.&lt;br /&gt;&lt;br /&gt;Given the poor track record of the rating companies who were at least tangentially complicit in the recent meltdown, and GE's own financial woes with its &lt;a href="http://finance.google.com/finance?q=ge"&gt;stock price&lt;/a&gt; hovering near 16-year lows, that's hardly any assurance.&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;img style="border:2px black solid" src="http://www.hashemian.com/blog/images/ge-fdic.gif" alt="investment in GE Interest Plus Notes" /&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Disclosure: I am a previous GE employee and hold GE shares in my 401(k) account.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/fdic" rel="tag"&gt;fdic&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/ge" rel="tag"&gt;ge&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/general electric" rel="tag"&gt;general electric&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/tlgp" rel="tag"&gt;tlgp&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/federal reserve" rel="tag"&gt;federal reserve&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/banks" rel="tag"&gt;banks&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/12/ge-fdic-and-tlgp.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-6776350423440848989</guid><pubDate>Mon, 24 Nov 2008 03:10:00 +0000</pubDate><atom:updated>2008-11-23T22:17:16.497-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>financial</category><category domain='http://www.blogger.com/atom/ns#'>web</category><title>News Robot Incompetence</title><description>I am a fan of &lt;a href="http://finance.google.com/"&gt;Google Finance&lt;/a&gt;. There's a lot to like. Real-time stock quotes, nice charts and graphs and a clean design. But when it comes to breaking financial news, Google just doesn't cut it. Many sites use bots to collect and disseminate news, but in the rapidly changing financial world a news bot is all but useless.&lt;br /&gt;&lt;br /&gt;Take a look at the snapshot below taken last Thursday from Google Finance's homepage. The image has been tightened up to show the interesting elements. The headline and subordinate stories shouted losses in the stock market, while the real-time numbers and chart showed considerable market gains.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.hashemian.com/blog/images/google-finance.gif" style="border:1px black solid" alt="Google Finance" /&gt;&lt;br /&gt;&lt;br /&gt;This contradiction was brought to you courtesy of Google's news bots. By the time the headlines came online, the stories were no longer relevant. Of course, the stock market (specially in volatile times) is a rapidly moving target, making it difficult for an even experienced editor to keep up, let alone a soulless bot who can't care less about market timeliness, or which stories may matter more to the readers.&lt;br /&gt;&lt;br /&gt;So for now, Google Finance is fine for stock quotes and charts, but for timely news its bots have a long way to go to catch up with the biological machines known as the editorial staff.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/google" rel="tag"&gt;google&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/news" rel="tag"&gt;news&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/google finance" rel="tag"&gt;google finance&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/market data" rel="tag"&gt;market data&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/stock market" rel="tag"&gt;stock market&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/11/news-robot-incompetence.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-5742915284436852619</guid><pubDate>Fri, 14 Nov 2008 03:31:00 +0000</pubDate><atom:updated>2008-11-13T22:48:59.030-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>programming</category><category domain='http://www.blogger.com/atom/ns#'>web</category><title>ASP.NET Response.TransmitFile File Locking</title><description>If you use the Response.TransmitFile method in your ASP.NET pages, there is a good chance that the file being transmitted is locked and unavailable for writing during that operation. TransmitFile was introduced with .NET V2.0 and it's supposed to be a more optimized version of WriteFile.&lt;br /&gt;&lt;br /&gt;For months I had been dogged with exception alerts when a scheduled program was trying to update files used in TransmitFile. As the alerts were intermittent and the files would eventually get updated by the program, I would just ignore the messages. But today I decided to take a closer look and discovered that TransmitFile is to blame for the files being locked.&lt;br /&gt;&lt;br /&gt;As I understand, TransmitFile in ASP.NET makes use of the Windows TransmitFile API function which directly streams a file to an open socket. It is more optimized than WriteFile which buffers the entire content of the file before emitting it. In that sense, WriteFile consumes precious memory and processing resources, switching between kernel and user modes, to accomplish its work.&lt;br /&gt;&lt;br /&gt;While TransmitFile API function is optimized, care must be taken to avoid having the streamed data getting mixed with other data and my hunch is that some locking mechanism is used to assure an orderly and sequential transmission of data under ASP.NET. That's all fine until one needs to write to the file which could get shot down while the lock is still active. I was able to reproduce this behavior in a loop where a file is continuously updated and then streamed via TransmitFile. Here’s a simple example:&lt;br /&gt;&lt;pre style="font-size:12px;background-color:lightgrey;"&gt;void Page_Load() {&lt;br /&gt;  Response.Buffer=false;&lt;br /&gt;  for(;;) {&lt;br /&gt;    System.IO.File.WriteAllText(MapPath("/test.txt"), DateTime.Now.ToString());&lt;br /&gt;    System.Threading.Thread.Sleep(100);&lt;br /&gt;    Response.TransmitFile(MapPath("/test.txt"));&lt;br /&gt;    Response.Write("&amp;lt;br&amp;gt;");&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Running this ASP.NET page invariably lead to an exception being thrown. I then changed the code as shown below:&lt;br /&gt;&lt;pre style="font-size:12px;background-color:lightgrey;"&gt;void Page_Load() {&lt;br /&gt;  Response.Buffer=false;&lt;br /&gt;  for(;;) {&lt;br /&gt;    System.IO.File.WriteAllText(MapPath("/test.txt"), DateTime.Now.ToString());&lt;br /&gt;    System.Threading.Thread.Sleep(100);&lt;br /&gt;    // CHANGED LINE BELOW&lt;br /&gt;    Response.Write(System.IO.File.ReadAllText(MapPath("/test.txt"))); &lt;br /&gt;    Response.Write("&amp;lt;br&amp;gt;");&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I ran the page a number of times and no exception was thrown. I'm sure that ReadAllText is nowhere as optimized as TransmitFile, but I would readily take the performance penalty over the unpredictable exceptions. Incidentally, WriteFile proved to be no better than TransmitFile in locking the file.&lt;br /&gt;&lt;br /&gt;Based on the simple test I have concluded that TransmitFile or WriteFile should be used when the file is never or rarely updated. If the file is to be updated frequently, ReadAllText (or other System.IO file reading operations) is the way to go. But if someone can disprove my tenuous theory, by all means. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/asp.net" rel="tag"&gt;asp.net&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/file systems" rel="tag"&gt;file systems&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/windows" rel="tag"&gt;windows&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/web programming" rel="tag"&gt;web programming&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/11/aspnet-responsetransmitfile-file.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-7028771357145112985</guid><pubDate>Thu, 13 Nov 2008 04:23:00 +0000</pubDate><atom:updated>2008-11-12T23:29:31.315-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>censorship</category><category domain='http://www.blogger.com/atom/ns#'>web</category><title>MSNBC Prostitution Articles</title><description>For the past few days a number of prostitution-related articles have made their way to the "Most Viewed" list on &lt;a href="http://www.msnbc.msn.com/"&gt;MSNBC&lt;/a&gt;, but clicking on those links results in a Page-Not-Found error. Is this a prank by vandals or just MSNBC's censors blocking the articles that were ostensibly published on the site?&lt;br /&gt;&lt;br /&gt;Screenshots:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.hashemian.com/blog/uploaded_images/msnbc-704924.gif" border="0"/&gt;&lt;br /&gt;&lt;img src="http://www.hashemian.com/blog/uploaded_images/msnbc2-704982.gif" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/msnbc" rel="tag"&gt;msnbc&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/prostitution" rel="tag"&gt;prostitution&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/censorship" rel="tag"&gt;censorship&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/11/msnbc-prostitution-articles.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-6042828948795924231</guid><pubDate>Wed, 05 Nov 2008 04:01:00 +0000</pubDate><atom:updated>2008-11-04T23:21:44.818-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>politics</category><title>Why I Voted Obama Today</title><description>I am an independent in just about all facets of my life, including in my political choices. It's a simple belief that not one party is right or wrong all the time and either side can produce good or bad candidates.&lt;br /&gt;&lt;br /&gt;While many have supported or opposed Obama because of his economic policies, my vote went to the person that would be less likely to start a war. Having subsidized (through tax payments) one unjust war, my conscience could not bear the responsibility of financing another. Under Obama I may pay higher taxes, I may subsidize the poor, or I may pay more to heat my house, but for me the stakes were much higher. The risk of contributing to the demise of more innocent lives was much greater under a McCain administration.&lt;br /&gt;&lt;br /&gt;The Iraq war was based on fabricated evidence. We went to Afghanistan to capture a terrorist mastermind, but somewhere along the way we were railroaded into another war that was anything but rightfully justified. The terrorists who committed the 9/11 atrocities were Saudi Arabians, financed by a Saudi. They were trained in Afghanistan. Most transited through Europe and they got their flight lessons in the US. There was no connection to Iraq and no weapons of mass destruction were ever found there. &lt;br /&gt;&lt;br /&gt;In the ensuing years American forces and Iraqi citizens have sustained heavy losses. For what? Bin Laden and most of his cronies are still at large, while the architects of the Iraq war (Bush, Cheney, Rumsfeld, Wolfowitz) gloated over the capture and hanging of Saddam Hussein. Yes, he was a brutal dictator but also a one time pal, armed to the teeth by the same powers that eliminated him.&lt;br /&gt;&lt;br /&gt;Reminds me of the song "&lt;a href="http://en.wikipedia.org/wiki/Fortunate_Son_(song)"&gt;Fortunate Son&lt;/a&gt;" by Creedence Clearwater Revival:&lt;blockquote style="font-style:italic"&gt;Some folks inherit star spangled eyes,&lt;br /&gt;Ooh, they send you down to war, lord,&lt;br /&gt;And when you ask them, how much should we give?&lt;br /&gt;Ooh, they only answer more! more! more!&lt;/blockquote&gt;Well, today I decided not to give them any more!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/war" rel="tag"&gt;war&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/iraq" rel="tag"&gt;iraq&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/afghanistan" rel="tag"&gt;afghanistan&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/bush" rel="tag"&gt;bush&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/obama" rel="tag"&gt;obama&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/mccain" rel="tag"&gt;mccain&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/elections" rel="tag"&gt;elections&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/11/why-i-voted-obama-today.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-2797239932577096286</guid><pubDate>Tue, 04 Nov 2008 03:41:00 +0000</pubDate><atom:updated>2008-11-03T23:13:29.615-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>web</category><category domain='http://www.blogger.com/atom/ns#'>Microsoft</category><title>ASP.NET Denial of Service</title><description>How to send your IIS server into a frenzy with one line of HTML code? I didn't think it was possible until a few days ago we were stung with a persistent denial of service at work. This is what the event log showed on every instance of outage:&lt;br /&gt;&lt;hr align="left"&gt;&lt;pre&gt;Event Type: Warning&lt;br /&gt;Event Source: W3SVC-WP&lt;br /&gt;Event Category: None&lt;br /&gt;Event ID: 2262&lt;br /&gt;Date:  10/23/2008&lt;br /&gt;Time:  8:32:51 PM&lt;br /&gt;User:  N/A&lt;br /&gt;Computer: WEB&lt;br /&gt;Description:&lt;br /&gt;ISAPI &lt;br /&gt;'C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll' &lt;br /&gt;reported itself as unhealthy for the following reason: &lt;br /&gt;'Deadlock detected'.&lt;/pre&gt;&lt;hr align="left"&gt;&lt;br /&gt;I have always been frustrated with IIS event logs and there's one proof of that. OK, I know there was a problem, but can this be more specific? which process? which application pool? Which page? This is hardly helpful. I believe new Failed Request Tracing feature in IIS7 was designed to help with just that. Countless debugging hours would be saved if one could quickly identify a misbehaving page. Googling this entry lead me to the http://support.microsoft.com/kb/821268 KB article and that sent me on a wrong path for some time before realizing that I was on a fruitless chase.&lt;br /&gt;&lt;br /&gt;Finally, After 6 hours of struggling with the server (Window Server 2003, IIS6, CLR 2, FCL 3.5) and slicing and dicing and moving various applications to different pools, I  found the offending ASPX pages. It didn't take long for my colleagues to discover an HTML anomaly in those files. And here it is in a generic format:&lt;pre&gt;&amp;lt;p param1="" param2="" param3="" param4="" param5="" &lt;br /&gt;param6="" param7="" param8="" param9="" param10="" param11="" &lt;br /&gt;param12="" param13="" param14="" param15="" param16="" param17="" &lt;br /&gt;param18="" param19="" param20="" param21="" param22="" param23="" &lt;br /&gt;param24="" param25.="" /&amp;gt;&lt;/pre&gt;Notice that last parameter with a trailing period (.)? that's the culprit right there, an HTML tag with a long list of attributes and a punctuation mark in one or more of the ending parameters. It had crept into our pages via a poorly made web editing product.&lt;br /&gt;&lt;br /&gt;To test for yourself, just drop the line into an ASPX file and browse to the page and watch the CPU crank up and eventually the server refuse to serve pages. Remove the period or reduce the parameters and the page will display fine. I know, seems hard to believe. I didn't believe it either at first. But the results were the same on IIS6 and IIS7 on various platforms.&lt;br /&gt;&lt;br /&gt;My hunch is that this tag throws the ASP.NET engine into a regular expressions frenzy as it tries to construct the page elements and compile the page into a DLL application. Now this HTML syntax might look weird but I don't think it's illegal and it certainly shouldn't cause a denial of service. Certainly IIS or browsers have no issue with HTML files containing such tags. &lt;br /&gt;&lt;br /&gt;While at first I had feared serious security risks, this issue has a limited risk factor. In order for an attacker to exploit this issue, he would need access to the page sources. It's not something that can be injected in or remotely scripted into the page. Of course someone with a shared hosting service, could potentially take down the entire server and all the sites along with it.&lt;br /&gt;&lt;br /&gt;So if you run into such a problem on your IIS web site, you might want to check your source files for these types of HTML tags. And by the way, Microsoft has already been advised of this issue and they have indicated a fix will be incorporated in the next ASP.NET release.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/asp.net" rel="tag"&gt;asp.net&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/denial of service" rel="tag"&gt;denial of service&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/aspx" rel="tag"&gt;aspx&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/dos" rel="tag"&gt;dos&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/ddos" rel="tag"&gt;ddos&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/iis" rel="tag"&gt;iis&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/html" rel="tag"&gt;html&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/11/aspnet-denial-of-service.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-3811665587707615455</guid><pubDate>Mon, 27 Oct 2008 01:53:00 +0000</pubDate><atom:updated>2008-10-26T21:59:40.639-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>technology</category><category domain='http://www.blogger.com/atom/ns#'>business</category><title>Certified U.S. Based Technicians</title><description>&lt;img style="float:right; margin:0 0 10px 10px;border:2 solid black" src="http://www.hashemian.com/blog/images/att-tech-support.gif" alt="Certified U.S. Based Technicians" /&gt;Here is an interesting banner ad from AT&amp;T I saw tonight while browsing a news site. I'm not sure what the certification process for U.S. based technicians is, but  the ad addresses the angst Americans have had dealing with representatives with thick accents, unfriendly attitudes, or low qualifications.&lt;br /&gt;&lt;br /&gt;Personally, my experience with foreign agents hasn't been too calamitous. Most have been helpful, and relatively articulate. But I must admit that for those times when I need critical and immediate help, there is no substitute for state-side assistance.&lt;br /&gt;&lt;br /&gt;Being an Iranian expat, I know something about foreign cultures and I can say that with some exceptions, U.S. companies offer some of the best customer service around. Not to disparage Iran, but over there you have a snow ball's chance in hell of getting prompt and courteous customer service, unless you're personally known to be a lucrative and loyal customer. It’s the reality of that culture.&lt;br /&gt;&lt;br /&gt;And the reality in the U.S. is that customers expect and rightfully deserve to be coddled. I think it's a smart move for AT&amp;T to highlight their state-side operations in their campaigns. If I were shopping around for such a service, I would surely take that into consideration.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/tech support" rel="tag"&gt;tech support&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/call center" rel="tag"&gt;call center&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/call center agents" rel="tag"&gt;call center agents&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/at&amp;t" rel="tag"&gt;at&amp;t&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/10/certified-us-based-technicians.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-289993259332221910</guid><pubDate>Thu, 16 Oct 2008 01:44:00 +0000</pubDate><atom:updated>2008-10-15T21:52:05.475-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Microsoft</category><title>For Update, Update to Update</title><description>Recently after installing Windows Server 2008 on a new server at work, I noticed this interesting message from &lt;a href="http://www.windowsupdate.com/"&gt;Windows Update&lt;/a&gt;. I'm not sure, but I think it had something to do with update :)&lt;br /&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;img src="http://www.hashemian.com/blog/uploaded_images/windows-update-795924.gif" border="0" alt="Windows Update" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/windows" rel="tag"&gt;windows&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/windows update" rel="tag"&gt;windows update&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/10/for-update-update-to-update.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-3500180546065009600</guid><pubDate>Mon, 06 Oct 2008 02:38:00 +0000</pubDate><atom:updated>2008-10-05T22:41:44.028-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>herniated disc</category><category domain='http://www.blogger.com/atom/ns#'>running</category><title>Half Marathon 2008</title><description>&lt;img style="float:right; margin:0 0 10px 10px;width: 100px;" src="http://www.hashemian.com/blog/images/2008-half-marathon.jpg" border="0" alt="" /&gt;Ran the ½ marathon today and as expected my performance was dismal. I ran the course in 2:14:58, at the pace of 10:18/mile. Last year I finished the race in 2:02:32 and the year prior to that my time was 1:55:52, and the one before that at 1:54:05. Beginning to see a pattern here. But this was my first race with a herniated disc, so I guess I can cut myself some slack here.&lt;br /&gt;&lt;br /&gt;The race started at 8:30 AM in a cold rain. I absolutely hate running the rain, but not much can be done about that. Some people had bundled up to face the cold and wetness, others (myself included) were going to brave it with only a t-shirt. My rationale was that extra layers will get heavy in the rain and besides the running will warm me up anyways.&lt;br /&gt;&lt;br /&gt;I hadn't taken any painkillers this morning so I was expecting back discomfort. The discomfort was there, some radiating pain and tingling down my left leg, but eventually it subsided enough that I was barely aware of it.&lt;br /&gt;&lt;br /&gt;I had decided early on to pace myself in this race, as in, go slow and steady to avoid any potential aggravation of my back. I pretty much stuck to that the whole way through. While I knew this would hurt my finish time, I had no idea about the positive side effect. In the few years that I have run in this ½ marathon, this race was by far the most pleasant and enjoyable of them all. Ironic, considering my fears of back pain flare-ups. The rain was a nuisance, but unlike past races, I finished the course barely tired and in no pain. In fact I could probably continue for another 5 or 6 miles with ease. &lt;br /&gt;&lt;br /&gt;I never downshifted to a walk, nor did I stop at any water stations. It was as if I wasn't even in a race. I was paying more attention to my surroundings (beautiful, scenic nature) than to the race itself. &lt;br /&gt;&lt;br /&gt;I feel a bit conflicted over my time in this race. I guess I should be disappointed, but I'm really not, and here's why. As recently as a week ago I didn't even think I could handle the course and here I was crossing the finish line. To top that off, it went smooth and steady and it turned out to be the most enjoyable ½ marathon ever. For the first time ever, I actually began entertaining thoughts about running a full marathon. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/marathon" rel="tag"&gt;marathon&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/running" rel="tag"&gt;running&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/jogging" rel="tag"&gt;jogging&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/back pain" rel="tag"&gt;back pain&lt;/a&gt;,</description><link>http://www.hashemian.com/blog/2008/10/half-marathon-2008.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-8658529203403101204</guid><pubDate>Mon, 29 Sep 2008 02:01:00 +0000</pubDate><atom:updated>2008-09-28T22:25:35.463-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>back pain</category><category domain='http://www.blogger.com/atom/ns#'>running</category><title>Herniated Disc and Half Marathon</title><description>One of my biggest anguishes I've had about getting hit with a &lt;a href="http://www.hashemian.com/blog/2008/02/mri-back-pain-herniated-disc-and.htm"&gt;herniated disc&lt;/a&gt; has been my inability to participate in my town's &lt;a href="http://www.wolfpitrunningclub.org/"&gt;annual half marathon&lt;/a&gt;. But as I &lt;a href="http://www.hashemian.com/blog/2008/08/herniated-disc-six-months-later.htm"&gt;recovered&lt;/a&gt; from this affliction and started to run again I began to think that perhaps my fears on that front were premature and I could at least try the race this year. So I decided to register for the event next week and give it a shot.&lt;br /&gt;&lt;br /&gt;My running performance hasn't been anywhere near before my injury. I jog slowly about 4 or 5 miles depending on my condition every other day and I've learned to be satisfied with that. Running 13.1 miles has been such a distant goal that I knew I was deluding myself about running, let alone finishing, this race.&lt;br /&gt;&lt;br /&gt;Then to add insult to injury I got hit with another blow to my back yesterday. I must have over-extended myself lifting heavy bags after grocery shopping. Those with back pain know what I'm talking about. As you begin to straighten up you feel the dreaded pop in your back followed by the pang of sharp pain. It's unmistakable and it's the beginning of yet another bout with extended back pain. After muttering a few expletives under my breath I realized that this was the kiss of death for next week's half marathon. Just my luck! Oh well, perhaps this was a sign that I should accept my condition and avoid strenuous activities.&lt;br /&gt;&lt;br /&gt;Yet there's that stubborn part of me that just won't capitulate. So after a painful night, I popped two Advils today and decided to pay a visit to the half marathon course to evaluate my condition. I planned to run the course as far as I could and then quit at the 7th mile or so, if I could get that far.&lt;br /&gt;&lt;br /&gt;Right from the start the back pain kicked into high gear and kept hounding me to stop. "No way," I thought to myself and I kept on going with pain piercing my back and pins and needles radiating down my legs. I wasn't about to let the pain force me to quit. As I passed every mile marker already painted on the course, I said "one more mile" and pressed on. As I reached the 7th mile, I had a sudden realization that I've made it this far, might as well finish the darn thing. The temperature was mild but humid, pain was my only companion, and there were no water stations to get hydrated, but finish I did.&lt;br /&gt;&lt;br /&gt;When I incredibly passed the finish line, I continued for another fraction of a mile as a sort of a victory lap. Dehydrated, exhausted, and pain-ridden (and not just in my back anymore), I got in my car to drive home, dazed at what I had actually done. I hadn't stopped even once. It was one smooth jog from beginning to end.&lt;br /&gt;&lt;br /&gt;I'm not sure if this was a case of mind over matter or just a foolish act to defy my own body and prove a point. Whatever the case, I learned that the human body can sometimes be pushed beyond its perceived limits. The jury is still out on whether I can repeat the performance next week at the race. On top of that I might have aggravated my condition today. But even if I can't, I know I ran the half marathon even before the starter pistol's trigger will have been pulled.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/back pain" rel="tag"&gt;back pain&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/marathon" rel="tag"&gt;marathon&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/half marathon" rel="tag"&gt;half marathon&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/running" rel="tag"&gt;running&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/jogging" rel="tag"&gt;jogging&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/herniated disc" rel="tag"&gt;herniated disc&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/09/herniated-disc-and-half-marathon.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-7379809124852797554</guid><pubDate>Sun, 14 Sep 2008 03:27:00 +0000</pubDate><atom:updated>2008-09-13T23:35:47.031-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>google</category><category domain='http://www.blogger.com/atom/ns#'>Microsoft</category><title>Windows XP Service Pack 3 Error</title><description>Last week I stumbled upon this &lt;a href="http://gmailblog.blogspot.com/2008/09/new-gmail-code-base-now-for-ie6-too.html"&gt;Gmail Blog post&lt;/a&gt; mentioning that IE6 (Internet Explorer version 6) now supports some of the GUI enhancements offered by Gmail. But in order to exploit these enhancements, one had to apply a critical update to IE6 from Microsoft. An interesting point cited by this post was that Google and Microsoft developers had worked together to address the issue. I didn't think these guys even talked to each other, let alone cooperate to release an update for the IE6 browser.&lt;br /&gt;&lt;br /&gt;I had always wondered why Gmail appeared less fancy in IE6 than in other browser like IE7 or Firefox, and this post finally resolved that mystery. Now I'm not the type to jump on a patch or a service pack as soon as Microsoft releases them. I still use IE6 on Windows XP at work and at home alongside Firefox 3, and I have no desire to upgrade to Windows Vista or IE7. The prospect of better Gmail experience however was tempting enough for me to pay a visit to the &lt;a href="http://windowsupdate.microsoft.com/"&gt;Windows Update&lt;/a&gt; site and apply the IE6 patch.&lt;br /&gt;&lt;br /&gt;I have automatic updates disabled on my machine and apparently I was missing a lot of them as I was suddenly greeted with a long list of security and critical patches once I got the process rolling. Among the list were two notable items, IE7 and Windows XP Service Pack 3. I promptly opted out of IE7, but decided to give SP3 a green light. Little did I know that I'd be wasting the next 3 hours of my life over this inane service pack. &lt;br /&gt;&lt;br /&gt;The process started our smooth enough. a number of patches were applied, followed by the obligatory reboot. Then came the SP3 update from hell. The sluggish process would run almost to the end at which time an error dialog box would pop up with a simple message: &lt;em&gt;"Service Pack 3 setup error. Access is denied."&lt;/em&gt; Huh? Access to what is denied? Acknowledging the message would commence a rollback process as sluggish as the installation itself, followed by an automatic reboot.&lt;br /&gt;&lt;br /&gt;Not acceding defeat, I ran a Web search on the error and found this &lt;a href="http://support.microsoft.com/kb/949377"&gt;KB article&lt;/a&gt; from Microsoft Support. Apparently I wasn't the first person having this issue. Following the advice of the article, I exited my antivirus program (AVG) and tried once more, but again I got the same error. Perhaps Windows Defender was the culprit, but stopping that process didn't help either. After a few more tries shutting down various programs like Diskeeper and Symantec's Backup agent, I was still getting nowhere. Finally I fired up &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx"&gt;Process Explorer&lt;/a&gt; and slaughtered every process in sight until only the basic ones remained. And yet, SP3 defiantly refused to be installed. It was the same old snail-pace install-error-rollback-reboot that I was getting well acquainted with.&lt;br /&gt;&lt;br /&gt;There comes a time when a person must cut his losses and move on and my time was then. Most likely the trouble was a registry permission issue which is also mentioned in the KB article and a solution is offered. But by then my patience had already run out and by that final reboot I decided that SP2 was good enough for me.&lt;br /&gt;&lt;br /&gt;In the end it turns out that SP3 doesn't really offer anything substantial over SP2. A few security fixes and optimizations but nothing so crucial that’s worth this kind of hassle. Happily, the IE6 update had been applied (possibly among the first set of patches) and that wiped away any modicum of temptation I might have had to give SP3 one more shot. The computer is working as before (even after the multiple upgrade onslaught), Gmail enhancements now appear fine on IE6, and my only regret is not stopping after the first SP3 update attempt went awry. Sorry SP3, we just weren't meant to be together.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/windows xp" rel="tag"&gt;windows xp&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/gmail" rel="tag"&gt;gmail&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/windows service pack" rel="tag"&gt;windows service pack&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/internet explorer" rel="tag"&gt;internet explorer&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/firefox" rel="tag"&gt;firefox&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/google" rel="tag"&gt;google&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/09/windows-xp-service-pack-3-error.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-4221057412070946287</guid><pubDate>Fri, 29 Aug 2008 02:42:00 +0000</pubDate><atom:updated>2008-08-28T22:56:11.145-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>computers</category><category domain='http://www.blogger.com/atom/ns#'>networks</category><category domain='http://www.blogger.com/atom/ns#'>hackers</category><title>DNS Vulnerability</title><description>While programming is my main focus at my company, one of my side jobs at work is networking. I have no complaints as I'm curious and interested in the inner workings of computer networks. Our IT department handles most of the networking tasks, but I usually find myself getting involved in setting up connectivity in the company. Whether it's a firewall, a router, a reverse proxy, or a &lt;a href="http://en.wikipedia.org/wiki/Domain_Name_System"&gt;DNS server&lt;/a&gt;, I find the networking field too fascinating to ignore.&lt;br /&gt;&lt;br /&gt;That's why when the latest &lt;a href="http://www.kb.cert.org/vuls/id/800113"&gt;DNS vulnerability&lt;/a&gt;, discovered by Dan Kaminsky, came to light in April 2008, I began investigating our DNS servers to determine the risk factors. &lt;a href="http://www.doxpara.com/"&gt;Dan's site&lt;/a&gt; contains a simple tool to assess the risk and it identified all of our caching DNS servers as vulnerable. &lt;a href="http://www.microsoft.com/technet/security/bulletin/ms08-037.mspx"&gt;A patch from Microsoft&lt;/a&gt; took care of our Windows-based DNS servers, but there was also a &lt;a href="http://fedoraproject.org/"&gt;Fedora&lt;/a&gt; server in the mix running an old version of &lt;a href="http://www.isc.org/index.pl?/sw/bind/index.php"&gt;BIND&lt;/a&gt; that needed attention. Patching that server would have required upgrading to a newer version of Fedora.&lt;br /&gt;&lt;br /&gt;I knew I could buy some time using the safety-in-numbers logic, but today I finally decided to tackle that server and plug the hole. My intention was to install the newest version of Fedora (version 9)  on a new hardware and then add a patched version of BIND on top. BIND is a great name server product but it has a large footprint that seems like an overkill as a caching server. There are several other free DNS products out there so I began to look for an alternative.&lt;br /&gt;&lt;br /&gt;My search eventually led me to &lt;a href="http://www.powerdns.com/"&gt;PowerDNS&lt;/a&gt; (PDNS) and I decided to give that product a try. After installing Fedora 9 on the server, I downloaded the latest &lt;a href="http://en.wikipedia.org/wiki/RPM_Package_Manager"&gt;RPM&lt;/a&gt; of PNDS and promptly installed it on the server. PDNS comes in two flavors. The authoritative version and the caching version, known as Recursor which is the one I was interested in. The install was a breeze and the configuration was as easy as importing some of the data from the old BIND server and making some quick edits to the recursor.conf file. A server restart to make sure everything is in order, and I had the new caching server up and running, resolving names.&lt;br /&gt;&lt;br /&gt;PDNS has been free of the DNS cache poisoning vulnerability for a few years now, and Dan's site confirmed that the new server was indeed running at much safer levels.&lt;br /&gt;&lt;br /&gt;There is little doubt that the bad guys are hard at work to poison as many DNS servers as they can get their hands on. If your unpatched servers haven't been targeted yet, it's only a matter of time before they are. Whatever method or product you use to avert this risk, the sooner you do it, the better. As a quick alternative, you can use one of several free and already safe services like the one offered by &lt;a href="http://www.opendns.com/"&gt;OpenDNS.com&lt;/a&gt; as direct name servers or as &lt;a href="http://technet.microsoft.com/en-us/library/cc782142.aspx"&gt;forwarders&lt;/a&gt; on your caching servers. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/dns" rel="tag"&gt;dns&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/dns vulnerability" rel="tag"&gt;dns vulnerability&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/dns hack" rel="tag"&gt;dns hack&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/fedora" rel="tag"&gt;fedora&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/bind" rel="tag"&gt;bind&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/powerdns" rel="tag"&gt;powerdns&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/opendns" rel="tag"&gt;opendns&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/networks" rel="tag"&gt;networks&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/named" rel="tag"&gt;named&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/08/dns-vulnerability.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-476455169920529266</guid><pubDate>Thu, 28 Aug 2008 02:00:00 +0000</pubDate><atom:updated>2008-08-27T22:01:50.872-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>cars</category><category domain='http://www.blogger.com/atom/ns#'>web</category><title>Online Car Registration Renewal, Finally</title><description>It's taken a long time. Perhaps a decade late for the Connecticut Department of Motor Vehicles to carry out some transactions online, but better late than never. While most of the private industry has shifted their operations online, the government is painfully behind on that front. The reasons range from the government being generally slow, to having under-paid technology workers and to shunning change. But change is inevitable and the DMV has finally taken some steps to that end.&lt;br /&gt;&lt;br /&gt;When I received my registration renewal papers in the mail a couple of weeks ago as I have for years, I started to reach for my dusty checkbook to write a check and mail it in. that's when I noticed a new section on the paperwork detailing their &lt;a href="http://www.ct.gov/dmv/cwp/view.asp?a=3065&amp;q=385170"&gt;online renewal service&lt;/a&gt;. I thought this was one of those payment processing sites that handle credit card payments on behalf of the government offices and charge an extra fee. But no, this was the real deal. An actual DMV site that handled renewals and accepted credit cards with no extra fees.&lt;br /&gt;&lt;br /&gt;It took a mere couple of minutes to take care of the business on the site and I had an email confirmation soon after. The renewal document and sticker followed about a week later. It took them quite a long time to get on with the technology but I'm happy that they finally made it. I just hope that enough people make use of it and there are no major glitches to force them back to the old way. Online payment sure beats writing checks and licking stamps.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/dmv" rel="tag"&gt;dmv&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/car registration" rel="tag"&gt;car registration&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/online payments" rel="tag"&gt;online payments&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/08/online-car-registration-renewal-finally.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-2479545283970190385</guid><pubDate>Thu, 14 Aug 2008 02:59:00 +0000</pubDate><atom:updated>2008-08-13T23:06:09.113-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>health</category><category domain='http://www.blogger.com/atom/ns#'>running</category><title>Herniated Disc, Six Months Later</title><description>It's been nearly 6 months since I was diagnosed with a herniated disc. During that time I have had to make some lifestyle changes, but looking back, the adjustments haven't been as drastic as I might have feared initially. Or perhaps I am now just used to dealing with the condition.&lt;br /&gt;&lt;br /&gt;When I was in the throes of the torturous pain, all I could think of was that my life as I knew it had ended. There would no longer be any running, no motorcycle rides, no hiking and no getting in and out of the car without the excruciating pain. Fast forward 6 months and those dramatic changes I was afraid of didn't quite materialize. There has been some changes to be sure. No lifting of heavy objects, no fast running, and occasional pain in the lower back and down the leg to contend with. But with daily exercises, sleeping on a hard surface, and avoiding long periods of sitting, I have been able to reclaim some of the freedom I used to enjoy.&lt;br /&gt;&lt;br /&gt;Thankfully, so far I have been able to avoid steroids shots or more drastic measures like surgery. I have done quite a bit of research during this time and realize that many people aren't as fortunate as I have been, but at the same time many others live normal lives with their herniated discs.&lt;br /&gt;&lt;br /&gt;As far as I can tell and as explained by my doctor, the herniated mass has probably shrunk with time, relieving the pressure on the spinal cord and affording me more freedom of movement. That is not to say that I am completely pain-free. There are occasional bouts with pain and discomfort which I manage with patience and a few doses of pain killers. But generally, I have resumed a relatively normal life. The prospect of another attack is on my mind every day, but I try not to let it rule over my life.&lt;br /&gt;&lt;br /&gt;My approach to my condition has been not to succumb to a state of hopelessness. It's difficult not to, but after accepting the situation, I decided that the best way to manage it was to continue with my activities the best I could. Ditching the bed for a thin pad on the floor has helped. So have daily back exercises and conditioning. As much as I wanted to continue with my running routine, I initially down-shifted to walking. Even that was painful at first, but as time passed I was able to slowly incorporate some jogging in my daily walks until I was ready to completely switch over to jogging. On good days, I would increase the distance to 4 or 5 miles. Currently I'm on alternate days of jogging and walking and that has been relatively steady. I have also learned not push it too far. When there's pain during a jog, I heed my body and slow down to a walk. There's no reason to be stubborn and risk paying a big penalty later on.&lt;br /&gt;&lt;br /&gt;The point is that if you are an active person who has suddenly been struck with a herniated disc don't lose hope and wallow in grief too long. It doesn't have to be all or nothing. There's always a middle ground. Accept what has happened and then make the right adjustments to battle your way back. You may never be the same as before, but concentrate on what you can salvage rather than fussing over what has been lost.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/herniated disc" rel="tag"&gt;herniated disc&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/back pain" rel="tag"&gt;back pain&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/running" rel="tag"&gt;running&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/walking" rel="tag"&gt;walking&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/jogging" rel="tag"&gt;jogging&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/08/herniated-disc-six-months-later.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-8070235415755755534</guid><pubDate>Sat, 19 Jul 2008 16:05:00 +0000</pubDate><atom:updated>2008-07-19T12:09:00.094-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>web</category><title>Yahoo Slurp Versus Googlebot</title><description>As a part of my early morning routine at my job I scan a daily notification on our web site visitor patterns, specifically looking for abusive or abnormal page requests to identify rogue hosts. I wrote the program years ago, but it has become one of my most effective tools in identifying abuse.&lt;br /&gt;&lt;br /&gt;No surprise that &lt;a href="http://en.wikipedia.org/wiki/Search_engine"&gt;search engine&lt;/a&gt; robots (spiders or crawlers) always top the list. Spiders are necessary evils. You want them crawling and indexing all your pages frequently, but that leads to spiders with voracious appetites that can rob the infrastructure of performance. &lt;br /&gt;&lt;br /&gt;Speaking of voracious appetites, for years Googlebot used to top our crawl volume list, far and away from the second position, usually (but not always) occupied by Yahoo Slurp (Yahoo's spider). As of a few weeks ago I am noticing that Yahoo Slurp crawl volume is surpassing that of Googlebot. The first few days I considered it an anomaly, but the levels have remained consistent, knocking Googlebot out of its first position. Googlebot still registers with more or less the same numbers, but Yahoo Slurp has been consistently beating those numbers, sometimes by twice as many. That's a considerable spike in Yahoo's crawl activity.&lt;br /&gt;&lt;br /&gt;I find it interesting that Yahoo's crawl volume started to rise in the midst of its take-over battles with Microsoft. Search engines have always competed on who has the most indexed pages. It's a bragging right, more than it is a practical or useful matter in search accuracy. But accuracy in search results is subjective, while page volumes are concrete numbers and that's why they are sometimes used as key differentiators between competing search engines. Still, the timing of the jump in Yahoo's crawling activity is intriguing. Could the motive be to enhance its index size (considered a key asset), thereby adding to the company's value? One wonders.&lt;br /&gt;&lt;br /&gt;Meanwhile, sites need to consider the battle repercussions between the search engine titans as their increased crawl rates could put additional pressure on their infrastructures. One way to mitigate the effects is to set up mirror servers and deflect the spider/robot traffic to them using &lt;a href="http://en.wikipedia.org/wiki/Reverse_proxy"&gt;application-aware appliances&lt;/a&gt;, but that there's some effort involved and there's room for error as the servers need to be synchronized in real-time, specially for those such as news-related sites that continuously publish new pages and fresh content. The other consideration is bandwidth management to accommodate increased traffic. At the least, faster servers and fatter pipes are in order. As a reference here are the current signatures left behind by Google and Yahoo crawlers:&lt;br /&gt;&lt;br /&gt;Googlebot's user-agent:&lt;br /&gt;Mozilla/5.0+(compatible;+Googlebot/2.1;++http://www.google.com/bot.html)&lt;br /&gt;&lt;br /&gt;Yahoo Slurp's user-agent:&lt;br /&gt;Mozilla/5.0+(compatible;+Yahoo!+Slurp;+http://help.yahoo.com/help/us/ysearch/slurp)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/google" rel="tag"&gt;google&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/yahoo" rel="tag"&gt;yahoo&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/search engines" rel="tag"&gt;search engines&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/http" rel="tag"&gt;http&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/seo" rel="tag"&gt;seo&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/googlebot" rel="tag"&gt;googlebot&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/web" rel="tag"&gt;web&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/07/yahoo-slurp-versus-googlebot.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-7470940172700042854</guid><pubDate>Mon, 07 Jul 2008 04:09:00 +0000</pubDate><atom:updated>2008-07-07T00:26:25.946-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>financial</category><category domain='http://www.blogger.com/atom/ns#'>oil</category><category domain='http://www.blogger.com/atom/ns#'>environment</category><title>The ANWR Oil Debate</title><description>Lately I've seen a number of Web sites and emails exhorting Americans to press their government to explore for oil in a parcel of land in &lt;a href="http://en.wikipedia.org/wiki/Arctic_National_Wildlife_Refuge"&gt;ANWR&lt;/a&gt;, the Arctic National Wildlife Refuge in the northeast corner of Alaska.&lt;br /&gt;&lt;br /&gt;The ANWR debate is nothing new and it was a hot topic back in the 1970's oil crisis. Proponents argue that this location may hold vast deposits of oil which could bring relief to the current shortages of oil and thus tame the high prices in the US and the rest of the world. Opponents include the natives and environmentalists who fear that such exploration and subsequent drilling could endanger this natural setting robbing it and its inhabitants (humans and animals) of its ecological diversity and wealth.&lt;br /&gt;&lt;br /&gt;I am not sure which side of the debate holds the better argument. Personally I don't like to see natural settings overrun by industrial concerns, i.e. the oil companies. What I do know is that Exxon-Mobil's earnings &lt;a href="http://sec.edgar-online.com/2008/02/28/0001193125-08-041781/Section25.asp"&gt;topped $40 billion in 2007&lt;/a&gt; and surely they will easily exceed that figure this year. As people learn of these outlandish profits by the big oil while their savings are being squeezed, there is bound to be some backlash. That has manifested itself in the form of calls for special taxes on oil companies.&lt;br /&gt;&lt;br /&gt;Couple that with the inevitable emergence of fuel economics and alternative energy and it's not hard to guess that oil companies are worried about their prospects. To me, these pro- oil exploration campaigns are not about alleviating oil shortages, but more about distracting the public from the abuses of the oil companies. Many go even further to shift the spotlight away from the big oil and cast it on the liberals, democrats, or Arabs in a shameless effort to create public sympathy and support for the oil companies. One wonders who the real authors are.&lt;br /&gt;&lt;br /&gt;Oil companies already have millions of acres of land they can start exploring, but that's not enough. ANWR may hold large reserves of oil, but this campaign smells more like a land-grab and less like a sincere effort to help calm the oil crunch. Blaring their propaganda machine in times of panic and despair is always a good way to assure power and profits.&lt;br /&gt;&lt;br /&gt;Review history and see how dictators and tyrants have come to power. Their reigns have almost always preceded by periods of unrest and panic when people are at their most vulnerable and can be easily deceived by empty promises and blustering rants. Once they tap into the herd mentality, they are assured of their golden positions. I want a way out of this oil mess too, but not enough to sell out this country to oil thugs. They're beyond rich enough already.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/oil" rel="tag"&gt;oil&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/anwr" rel="tag"&gt;anwr&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/alaska" rel="tag"&gt;alaska&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/oil companies" rel="tag"&gt;oil companies&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/exxon" rel="tag"&gt;exxon&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/07/anwr-oil-debate.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-477788971013396053</guid><pubDate>Mon, 30 Jun 2008 01:20:00 +0000</pubDate><atom:updated>2008-06-29T21:35:00.755-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>programming</category><title>RSS/ATOM SyndicationFeed in .NET 3.5 Framework</title><description>&lt;img style="float:right; margin:0 0 10px 10px;width:100px;" src="http://www.hashemian.com/blog/images/rss-icon.jpg" border="0" alt="RSS/ATOM Feed" /&gt;Among some of the new classes introduced in Version 3.5 of the .NET Framework Class Library (FCL) were the syndication-related classes. While other technologies such as LINQ, extension methods and lambda expressions have been grabbing most of the attention the new syndication classes also deserve a nod. Part of the System.ServiceModel.Syndication namespace the classes offer a variety of methods to easily generate or consume syndication feeds in RSS 2.0 or ATOM 1.0 formats.&lt;br /&gt;&lt;br /&gt;It's not that reading or writing feeds were exceedingly difficult before. FCL comes with a number of XML classes that facilitate working with XML data which all syndication feeds emanate from. No doubt there are plenty of sample code out there that made the task as easy as copy, paste and tweak. But now FCL comes with its own native classes to handle feeds, with advanced settings, intellisense, and potential of extension.&lt;br /&gt;&lt;br /&gt;To demonstrate ease of use, here's a sample code that pulls in a sample feed from Google, and scrapes and saves the content of each link to a file:&lt;pre style="font:x-small;background-color:LightCyan"&gt;var wc = new WebClient();&lt;br /&gt;using (var rss = XmlReader.Create(&lt;br /&gt;       "http://finance.google.com/finance?morenews=10&amp;q=NASDAQ:INTC&amp;output=rss")) {&lt;br /&gt;  var feed = SyndicationFeed.Load(rss);&lt;br /&gt;  foreach (var x in feed.Items) {&lt;br /&gt;    var uri = x.Links.Last().Uri;&lt;br /&gt;    wc.DownloadFile(uri, @"c:\rss\" + Regex.Replace(uri.LocalPath, @"^.*/", ""));&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;That was easy, eh? Just remember to add System.ServiceModel.Web.dll as a reference to your project. Happy syndicating.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/rss" rel="tag"&gt;rss&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/atom" rel="tag"&gt;atom&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/net" rel="tag"&gt;net&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/asp.net" rel="tag"&gt;asp.net&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/xml" rel="tag"&gt;xml&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/06/rssatom-syndicationfeed-in-net-35.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5804397.post-5601071243459190858</guid><pubDate>Wed, 18 Jun 2008 04:18:00 +0000</pubDate><atom:updated>2008-06-18T00:38:23.047-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>internet</category><category domain='http://www.blogger.com/atom/ns#'>networks</category><category domain='http://www.blogger.com/atom/ns#'>web</category><title>DNS Mystery, NameServers, IP addresses</title><description>Today I was trying to reach 1&amp;1's home page, but the browser kept failing to pull up the site. Mysteriously I was able to reach 1&amp;1's home page when I changed my DNS servers to those of &lt;a href="http://www.OpenDNS.org/"&gt;OpenDNS.org&lt;/a&gt;. Feeling curious I decided to investigate the matter in depth. My default DNS server was reporting the IP address of &lt;a href="http://www.1and1.com"&gt;www.1and1.com&lt;/a&gt; to be 217.160.232.1. While that address belongs to 1&amp;1, it's really one of their routers or gateways and not a Web server. No wonder I was unable to access the site. the working IP address reported by OpenDNS.org and a number of other DNS servers was 217.160.226.203. That is indeed the correct IP address for www.1and1.com. So why was I seeing different results from different DNS servers?&lt;br /&gt;&lt;br /&gt;As you may know the job of translating a host name to an IP address falls on a program known as the &lt;a href="http://en.wikipedia.org/wiki/Resolver_%28DNS%29#DNS_resolvers"&gt;resolver&lt;/a&gt; which queries its designated DNS server for the answer. If the DNS server can not produce the translation (from its cache or authority zone), it issues what it's know as a recursive query to the DNS network on the Internet. The host name is broken to its fragments and each fragment from right to left is queried successively. The results generally consists of hosts known as NameServers, which get the query one step closer to the final result. The final NameServers produce the IP address translation. However, if any of the NameServers along the way can produce the translation, the query stops and the IP address is sent back to the resolver.&lt;br /&gt;&lt;br /&gt;Using the Unix/Linux &lt;a href="http://en.wikipedia.org/wiki/Domain_Information_Groper"&gt;dig&lt;/a&gt; command I followed the name resolution for www.1and1.com one step at a time. Results are shown here and shortened for brevity.&lt;br /&gt;&lt;br /&gt;This command displays the root servers:&lt;pre style="font-size:x-small;background-color:Beige"&gt;# dig&lt;br /&gt;;; ANSWER SECTION:&lt;br /&gt;.                       451081  IN      NS      M.ROOT-SERVERS.NET.&lt;br /&gt;.                       451081  IN      NS      A.ROOT-SERVERS.NET.&lt;br /&gt;.                       451081  IN      NS      B.ROOT-SERVERS.NET.&lt;br /&gt;.                       451081  IN      NS      C.ROOT-SERVERS.NET.&lt;/pre&gt;&lt;br /&gt;This command queries one of the root servers and produces NameServers for "com." TLD (Top Level Domain):&lt;pre style="font-size:x-small;background-color:Beige"&gt;# dig +norec @A.ROOT-SERVERS.NET www.1and1.com&lt;br /&gt;;; AUTHORITY SECTION:&lt;br /&gt;com.                    172800  IN      NS      K.GTLD-SERVERS.NET.&lt;br /&gt;com.                    172800  IN      NS      L.GTLD-SERVERS.NET.&lt;br /&gt;com.                    172800  IN      NS      M.GTLD-SERVERS.NET.&lt;br /&gt;com.                    172800  IN      NS      A.GTLD-SERVERS.NET.&lt;/pre&gt;&lt;br /&gt;This command queries one of the "com." NameServers:&lt;pre style="font-size:x-small;background-color:Beige"&gt;# dig +norec @A.GTLD-SERVERS.NET www.1and1.com&lt;br /&gt;;; ANSWER SECTION:&lt;br /&gt;www.1and1.com.          172800  IN      A       217.160.232.1&lt;br /&gt;;; AUTHORITY SECTION:&lt;br /&gt;1and1.com.              172800  IN      NS      ns27.1and1.com.&lt;br /&gt;1and1.com.              172800  IN      NS      ns28.1and1.com.&lt;/pre&gt;&lt;br /&gt;Generally the previous command shouldn't produce and IP address, instead the authority section would prompt a final query to one of the 1and1.com NameServers (which by the way have the correct IP translation.) Instead somehow an IP address is produced at this level and the query ends with this inaccurate IP translation. I've tried the same query with the homepage URL's of Microsoft, Google, Yahoo and a few other sites and none return an IP address at this level.&lt;br /&gt;&lt;br /&gt;It remains to be seen if this erroneous translation would eventually spread around, causing 1&amp;1's homepage to become widely inaccessible. Anyone knows how that IP translation ended up in of the "com." NameServers? Am I making wrong assumptions here? Feel free to let me know.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hashemian.com/market/books/dns" rel="tag"&gt;dns&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/nameservers" rel="tag"&gt;nameservers&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/domain names" rel="tag"&gt;domain names&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/ip addresses" rel="tag"&gt;ip addresses&lt;/a&gt;,&lt;a href="http://www.hashemian.com/market/books/internet" rel="tag"&gt;internet&lt;/a&gt;</description><link>http://www.hashemian.com/blog/2008/06/dns-mystery-nameservers-ip-addresses.htm</link><author>noreply@blogger.com (rh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item></channel></rss>