There have been a couple of items that people kept pinging me about. Here they are:
The Cuyahoga Project is a .Net CMS based on NHibernate. It used to be the best application to look for NHibernate patterns for beginners. Now I suggest people should look at this as a great sample app in general, not just for NHibernate patterns.
Among other things, it has been the engine behind ayende.com for the last four years or so. Along the way, it gave me very little trouble, and allowed me to manage my site without much trouble. A CMS, by nature, is an extensible system. But it is a tribute to Cuyahoga (and to what I am doing in the main site) that up until now, I didn't actually have to go into the code to make it do what I want.
I did my usual read-the-code-before-use, of course, but that was about it.
Today, I spent several hours implementing a very simple module in Cuyahoga. This module simply displays and redirect links. You can access the source for this module here, and general instructions about how to build Cuyahoga modules can be found here.
The reason for this post is that I had a change of mind regarding Cuyahoga. Before, I thought about it just as a good application. After, I think about it as a great framework. There is very little need for me to actually do anything in the module except what I actually want, and the overall design is clean, easy to understand and easy to follow. The hardest part was doing the UI, and that is as it should be.
But I do wonder about the name, why Cuyahoga?
Well, looks like I don't have free bandwidth :-) The recent release of Hibernating Rhino #8 has made it clear, since it resulted in a bill.
Now I am looking for a solution for that. We are talking about files on the ~100 - 200 MB range, downloaded tens of thousands of times, over long period of time.
I thought about setting up a torrent server, but I can't find any viable torrent server for Windows, and I don't want to run the torrents from my machine. (I have a server available, if needed)
The other option is hosting it someplace that doesn't mind the bandwidth. Any suggestions?
After getting hooked into FireBug, it looks like YSlow it going to be another essential tool. Just the screen shots makes me want to drool...
All of a sudden, I get an email telling me that my blog is down. I go and check it out, and it is indeed down. With the following error message.
Server Error in '/Blog' Application.
Could not load file or assembly 'App_Web_g5ujsn49, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'App_Web_g5ujsn49, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
I tried restarting the appication by renaming web.config, but it didn't work. The only thing that worked was changing the compilation debug mode from false to true, and then to false again.
Search for the error brought this post, and it looks like there my be a hotfix avialable. The problem is that my scenario doesn't match the conditions on the hotfix, so I really don't know what to think. I am going to ping my host and check if there is anything that can cause file locks on the server (anti virus, indexing service, etc), although I would have expect this kind of error to occur much earlier if that was the case.
Why does it have to be like this?
if($F('<%= PolicyDescription.ClientID %>')==
'<asp:Literal runat="server" Text="<%$ Resources:PolicyResources, DescriptionNotFound %>"/>')
alert('<asp:Literal runat="server" Text="<%$ Resources:PolicyResources, EnterValidPolicyNumberOrDescription %>"/>');
Bob Lewis (opps!) Bob Grommes is talking about Real Developers. Since he touches on some of the things that I have talked about recently, I want to make something clear. I don't think that WebForms are bad because you are not manually parsing the query string and form data yourself (to an unprotected buffer, in assmebly).
I like a lot of the things that ASP.Net has to offer. I don't like the attempt to put a Shambling Facade in front of the way things work to make the easy scenarios demoable, and the hard scenarios harder.
I am going to upgrade my site from Cuyahoga 1.0 to 1.5, the blog should not be affected, but the main site may be down.
Update: I have successfully migrated the site to Cuyahoga 1.5. The process was very painless, and I can see visibile improvement in the performance of the site.
I also fixed the problem with downloads from IE not working correctly. :-)
Well, if you are reading this I have successfully moved to orcs web.
The transfer was fairly smooth, except they don't support MySQL. That wasn't an issue, as a matter of fact, since I am using Cuyahoga, it was a simple matter to change the config and make it work with SQL Server. I was worried about transferring the data, but it looks like MySQL has fairly strongly export capabilities, including into formats that SQL Server can consume.
Beyond that, it was a breeze...
Now I only have to wait for the DNS records to update.
I am posting this because I am extremely annoyed. I moved from my previous host because of reliability issues, I had to do it fairly quickly, so I didn't have time to really ask around and find out the best host. I went to webhosting4life because it was fast to setup, and I believed that they were big enough to be competent.
I do not have a very big site, or a very complex setup, I run two applications, one needing MySQL, the other needing SQL Server. Neither of which is particularily tasking on the server.
As you can see, I had 6 outages in the last 20 days, some of them lasting mutliply hours. In nearly all cases, the reason that I was given was:
I could accpet it once or twice, but when it go to this level... below is a chat transcript of me and a tech from webhosting4life. It is complete with spelling mistakes and everything. As a result of this, and the evasive answers that I got, I am now on the lookup for a new host.
Notice that the operator simply left the chat when I tried to get additional information about the root cause of the problem. The chat equilent of hanging in my face! They have "Email our CEO" link on the help desk page, which I used to send a question regarding the frequent outages, I never even got a "Thank you for email us".