Archive for October, 2007

Goodbye NTC

I just read an article on Slashdot stating that:

The New York Times is reporting that on Wednesday the FCC will end exclusive contracts to provide cable service to apartment buildings. Commission Chairman Kevin J. Martin is quoted as saying that cable prices have risen ‘about 93 percent in the last 10 years’ and that the FCC hopes to see more competition out of this move. This is a step in the right direction. In my apartment, for example, I have (dead) outlets for one cable company but am forced to go with the higher-priced firm. Moves like this will help those who live in areas where competition — even minimal competition — exists. The article also discusses the impact this may have on low- to middle-income families, who disproportionately live in apartment complexes.

NTC is one of these cable companies that, in my opinion, targets college kids and gives them sub-par service for high prices. They place per-room internet restrictions and offer an absolutely awful cable service. It is about time to allow fair competition for cable companies, because there is no way NTC will win over companies like Comcast, even though Comcast isn’t even that great.

IIS 6.0 and ASP.NET 2.0 on Windows Server 2003 x64

Today, I ran into an interesting issue trying to run an ASP.NET 2.0 web application through IIS 6.0. Usually, it isn’t a problem, but since the host machine is running 64 bit windows, some issues were encountered.

The first symptom I ran into was a 503 Service Unavailable response when accessing the website from a browser. Checking the IIS error logs showed a AppOffline DefaultAppPool error description, not very helpful. The event log had a better message:

ISAPI Filter ‘C:\Program Files (x86)\Common Files\Microsoft Shared\Web Server Extensions\50\bin\fpexedll.dll’ could not be loaded due to a configuration problem. The current configuration only supports loading images built for a x86 processor architecture. The data field contains the error number. To learn more about this issue, including how to troubleshooting this kind of processor architecture mismatch error, see http://go.microsoft.com/fwlink/?LinkId=29349.

Googling found two related articles, one on the 503, and another on the ISAPI issue.

The solution recommended running the following command:
CSCRIPT %SYSTEMDRIVE%\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

When this command was ran, nothing was fixed. I tried running the inverse, and setting to only allow 64 bit applications, and it worked.
CSCRIPT %SYSTEMDRIVE%\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0

Thoughts on ASP.NET

Originally, I had planned on blogging about each major ASP.NET 2.0 feature independently. Themes, Membership, Roles, ADO.NET, Controls, and many more were already on my list, but I began to realize I had the same thoughts on most of them. Although I still plan to give a detailed review of each feature, I wanted to go ahead on voice my opinions on ASP.NET.

The Bad

ASP.NET, in my opinion, attempts to provide a RAD environment for developing new applications. DataSets, Membership, Roles, and Data-bound controls all show how ASP.NET doesn’t want the developer to waste time on mundane tasks. What I hate is the lack of flexibility with these approaches. For the same reason I dislike Rails, I dislike many of the extras ASP.NET has to offer.

For example, I don’t want to use the Membership API because I am porting an existing application to ASP.NET. Membership has a strict set properties a MembershipUser must have. This is inflexible. I don’t want to adapt my application to fit with Membership, I want Membership to adapt to my application. The same goes for many of the other tools in ASP.NET.

The Good

ASP.NET is a great foundation. It provides all the necessary tools to create a great web application. Although ASP.NET is a framework, it lets you pick the tools you need and want for your application. If you want to implement a custom authentication system, you don’t have to use Membership. If you hate DataSets, don’t use them.

For developing new Web 2.0 applications, I have no doubt that using all the built-in ASP.NET tools could greatly speed up development. For existing applications, or enterprise applications, many of the tools probably won’t work. But at least you have the option to pick and choose.