<?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-8121273461674272666</id><updated>2011-11-27T19:08:30.368-05:00</updated><category term='asp.net webrequest html web scraping'/><category term='WebHost4Life Arvixe Webhosting'/><title type='text'>IM Abev</title><subtitle type='html'>Adventures In Workarounds</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://imabev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8121273461674272666/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://imabev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anthony (Abev)</name><uri>http://www.blogger.com/profile/04125728450332605983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8121273461674272666.post-6116664350350684867</id><published>2010-05-29T15:49:00.005-04:00</published><updated>2010-05-29T16:26:47.683-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebHost4Life Arvixe Webhosting'/><title type='text'>Why I dumped WebHost4Life</title><content type='html'>I have been a customer of WebHost4Life for about 4 years. In that time, there were no real problems. The uptime was very good, the support was pretty good. I really had no complaints.&lt;br /&gt;&lt;br /&gt;Late 2009, I received an email from WebHost4Life that my sites would be migrated to a new platform on a new server. The scheduled migration date was February 12, 2010. This sounded great to me. New servers? It's probably going to faster. They will probably add more bell and whistles. I thought it all sounded like a great idea.&lt;br /&gt;&lt;br /&gt;My migration date of February 12, 2010, came and went. No notification that it's being delayed other than logging in to the "Migration Kiosk" and seeing that the migration is taking longer than expected. No big deal. These things take time. I had a pretty good experience with WebHost4Life, so I just figured they were dotting their i's and crossing their t's.&lt;br /&gt;&lt;br /&gt;On Friday, May 21, 2010, I went to one of my sites fakepuppy.com and noticed something was terribly wrong. Fakepuppy.com is a fantasy betting site where you can "fake" bet on actual current sports events. So when I went to the site and noticed that the games showing up were from May 10, 2010, I knew something bad happened. Had I been hacked? Did someone just mess with me and delete 10 days worth of data? I had no idea what went wrong.&lt;br /&gt;&lt;br /&gt;I logged in to the sql database and reviewed the data in the tables. All of the data was there, and it was up to date. I was really confused now. I opened a chat session with WebHost4Life and asked them what had happened. They told me that the site has been migrated to the new platform. "Great!" I told them, but the something is wrong with database. It's 10 days old! They told me that something was wrong with the "original" version and this was the only copy they could restore. Seems a little unusual, being that I could connect to the old database with my local copy of the application and I could make a backup of the good copy and restore is locally. (The database I was logging in to was the "old" sql server, they had moved the db to a new server)&lt;br /&gt;&lt;br /&gt;They told me that it would take 24-48 hours to correct the database. I asked to speak to Tier 2. They told me I couldn't ("They don't take calls"). Not only do I run fakepuppy, but I have several other websites and databases that all had issues.&lt;br /&gt;&lt;br /&gt;My first inclination is to remain patient. I gave them the benefit of the doubt. I called back on Saturday May 22 at 9 am and explained to the representative what my problem was. He said he's seen this before and that he created a support ticket that would restore my databases to the up to date versions in 1 to 4 hours. I figured this was just another ploy to get me off the phone.&lt;br /&gt;&lt;br /&gt;I called back at 2pm, still without the correct databases. They told me that tier 2 has the ticket, that "I can see he's working on it" and I need to wait the required 24-48 hours. He also told me that everytime I update the ticket, the 24-48 hour timer restarts and it's only prolonging the fix.&lt;br /&gt;&lt;br /&gt;In a bit of a panic I got off the phone around 3pm and made the decision that I needed to move. I couldn't wait 48 hours and still have the same issues. I no longer trusted WebHost4Life.&lt;br /&gt;&lt;br /&gt;I did some google searches on a new web host. As anyone who has looked for a webhost knows, there are 1000s of web host out there and 10 times as many reviews about webhosts.&lt;br /&gt;&lt;br /&gt;I don't know how I ended up with Arvixe, but I did. I made a phone call and it was promptly answered. I explained my problem and was assured that I would have no problems. I specifically asked about restoring my databases and was told "if you have any trouble restoring the databases, I will do it for you." Ok, another salesmen?&lt;br /&gt;&lt;br /&gt;20 minutes later, after setting up a new hosting account, I called back to get my database's restored ( a few of the restore's failed on the web based tool). Like they promised, 4 of my database's were restored &lt;span style="font-style: italic;"&gt;while I waited on the phone, &lt;/span&gt;and it took less than 2 minutes. Now THAT'S service!&lt;br /&gt;&lt;br /&gt;So by 8pm I had all of my sites and databases in the correct places and domains propagated. The extra cherry on top was the speed difference! Wow! What a difference. I always thought my code was a bit hacky. I thought my stored procedures were chatty. Apparently not. Stored procedures that took 8 seconds on WebHost4Life were not executing in less that 2 seconds on Arvixe. I have one page that is database intensive on FakePuppy.com and would sometimes load &gt; 10 seconds. Now, less than 2.5 seconds on average.&lt;br /&gt;&lt;br /&gt;Arvixe relatively speaking is a little more expensive than WebHost4Life, but in the big picture it's &lt;span style="font-style: italic;"&gt;nothing - &lt;/span&gt;maybe $10 more a month. But the difference is I know it works, I know it's fast, and I know Arvixe is committed to helping me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8121273461674272666-6116664350350684867?l=imabev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imabev.blogspot.com/feeds/6116664350350684867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://imabev.blogspot.com/2010/05/why-i-dumped-webhost4life.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8121273461674272666/posts/default/6116664350350684867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8121273461674272666/posts/default/6116664350350684867'/><link rel='alternate' type='text/html' href='http://imabev.blogspot.com/2010/05/why-i-dumped-webhost4life.html' title='Why I dumped WebHost4Life'/><author><name>Anthony (Abev)</name><uri>http://www.blogger.com/profile/04125728450332605983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8121273461674272666.post-3903948606003488581</id><published>2009-08-17T12:21:00.003-04:00</published><updated>2009-08-17T12:26:23.651-04:00</updated><title type='text'>Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.</title><content type='html'>I was creating an aspx page where I would bind a datatable to a gridview, something I have done many times before. But I kept getting "&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;span style="font-size:130%;"&gt;&lt;i&gt;&lt;i&gt;Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.&lt;/i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/h2&gt;&lt;br /&gt;Yuk. I had no constraints. All rows had data e.g we NOT non-null. Primary Key fields were unique.&lt;br /&gt;&lt;br /&gt;What finally happened was I realized that I hade changed the row size in table in SQL Server but never updated the datatable. So the SQL table was varchar(500) but the datatable maxlength was 100.&lt;br /&gt;&lt;br /&gt;Maybe that error does say that, but it doesn't say that to me - well now it does. And hopefully it does to you to. Check to make sure that row sizes match in your table and datatable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8121273461674272666-3903948606003488581?l=imabev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imabev.blogspot.com/feeds/3903948606003488581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://imabev.blogspot.com/2009/08/failed-to-enable-constraints-one-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8121273461674272666/posts/default/3903948606003488581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8121273461674272666/posts/default/3903948606003488581'/><link rel='alternate' type='text/html' href='http://imabev.blogspot.com/2009/08/failed-to-enable-constraints-one-or.html' title='Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.'/><author><name>Anthony (Abev)</name><uri>http://www.blogger.com/profile/04125728450332605983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8121273461674272666.post-2856436874790528328</id><published>2009-06-29T15:35:00.004-04:00</published><updated>2009-06-29T15:47:46.209-04:00</updated><title type='text'>The Whole Thing Should Take You Less Than...</title><content type='html'>Don't you just love when someone asks you to do them a favor fixing their computer or some other similar tech task?&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic; font-weight: bold;"&gt;"The whole thing should take you about a half hour"&lt;/blockquote&gt;&lt;br /&gt;So many things cross my mind when someone says this to me:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;ol&gt;&lt;li&gt;30 minutes is not really a long time to get something &lt;span style="font-style: italic;"&gt;you&lt;/span&gt; need done. Why don't you do it?&lt;/li&gt;&lt;li&gt;It sounds pretty simple. Is your time more valuable than mine?&lt;/li&gt;&lt;li&gt;It's going to take me 2 hours.&lt;/li&gt;&lt;li&gt;You are going to ask me to do other things.&lt;/li&gt;&lt;li&gt;Since I am doing you a favor, I am not getting paid for it. &lt;/li&gt;&lt;/ol&gt;I almost always end up doing it for the "asker". And it's never simple, it's never just 'one thing', and of course I just donated my time. Not to mention that I am now your emergency tech support for anything that goes wrong with your computer.&lt;br /&gt;&lt;br /&gt;Such is the burden for understanding technology.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8121273461674272666-2856436874790528328?l=imabev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imabev.blogspot.com/feeds/2856436874790528328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://imabev.blogspot.com/2009/06/whole-thing-should-take-you-less-than.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8121273461674272666/posts/default/2856436874790528328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8121273461674272666/posts/default/2856436874790528328'/><link rel='alternate' type='text/html' href='http://imabev.blogspot.com/2009/06/whole-thing-should-take-you-less-than.html' title='The Whole Thing Should Take You Less Than...'/><author><name>Anthony (Abev)</name><uri>http://www.blogger.com/profile/04125728450332605983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8121273461674272666.post-1980889347908058121</id><published>2009-06-09T10:20:00.000-04:00</published><updated>2009-06-09T10:39:41.664-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net webrequest html web scraping'/><title type='text'>"The underlying connection was closed: An unexpected error occurred on a receive."</title><content type='html'>This one was really getting to me. I was setting up an 'quick' script to grab some data from a web page. It was from an XML page and instead of grabbing it with a XML reader I wanted to 'web scrape' it and dump it in to a SQL database.&lt;br /&gt;&lt;br /&gt;There are too many would be solutions on the internet for this one, none of which worked for me. The request kept getting kicked out immediately after the response:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204); font-style: italic;"&gt;Dim oResponse As WebResponse = oRequest.GetResponse()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The pages were tiny (&lt;100k) so it was not a size issue. And the request was kicked out immediately so it was NOT a timeout issue.&lt;br /&gt;&lt;br /&gt;After a few days on and off trying to come up with something I figured that there had to be some difference in how a remote server (web site) views requests from an asp.net script as opposed to a web browser. And apparently there is. I added the following line of code just after I created the request object:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And it worked! Is this by design on the server side? Is it intentional that they refuse connections from certain user agents?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8121273461674272666-1980889347908058121?l=imabev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imabev.blogspot.com/feeds/1980889347908058121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://imabev.blogspot.com/2009/06/underlying-connection-was-closed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8121273461674272666/posts/default/1980889347908058121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8121273461674272666/posts/default/1980889347908058121'/><link rel='alternate' type='text/html' href='http://imabev.blogspot.com/2009/06/underlying-connection-was-closed.html' title='&quot;The underlying connection was closed: An unexpected error occurred on a receive.&quot;'/><author><name>Anthony (Abev)</name><uri>http://www.blogger.com/profile/04125728450332605983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
