July 27, 2009

Google Chrome for Mac now Available (sort of)

I don't know if I've been under a rock or what, but after my last post about Firefox, Safari, and a brief mention of the lack of Chrome for Mac, Chris Heath pointed out that Google's Chrome Browser - aka Chromium- is already available for mac!

The developers that are working on the Mac version are publishing nightly builds at http://build.chromium.org/buildbot/snapshots/ . I'm guessing that the faint of heart should not download these builds, as they are pre-pre-pre-beta no doubt. However, I've spent a little time with the browser on Mac and the little browser didn't do anything they should be embarrassed of at this early stage.

July 24, 2009

Sorry little Gecko, but Firefox needs WebKit

I love Firefox. I love my extensions (most importantly delicious, AdBlock Plus, and FireBug). I love the search engines (most importantly, Google, FogBugz, Wikipedia, and Amazon), and I love the keyboard shortcuts in Firefox. I have come to love my user experience in Firefox (except the tear-off tabs came out quite ugly in Firefox compared to Safari). I don't care if there is a better user experience anymore, I just like Firefox's.

I like Safari. It is blazing fast and there is something about the way Safari loads and renders web pages that Firefox doesn't have (i.e. WebKit). I can't put my finger on it, but in Safari, pages have this "crisp" feel to them that is lacking in Firefox. For the past year or two I have been compulsively switching back and forth between Safari and Firefox. As much as I have tried -and I have tried- I can't make up my mind...

I have also tried Google Chrome and IE 7/8. IE just doesn't do it for me. I just can't find anything about it that makes me want to continue using it. Chrome is nice on Windows, and has that same crisp feel to it that Safari has (again, obviously WebKit). But it is only on windows (for now) and despite the minimalist UI that I like and the benefits of Safari, it has the same faults as Safari - I miss my extensions and keystrokes from Firefox.

As I can't seem to settle on one, I have come up with a few proposals for the browser teams to consider:

  1. Firefox should embed WebKit as it's rendering engine. Forgive me, I have followed Gecko development and I know this is blasphemy. I'm also a programmer and have a bit of understanding about how Firefox works, how it's chrome is rendered (not that chrome, this chrome) and XUL, but still. It could be perfect. Seeing how unlikely that is, I have more ideas. So don't give up on me yet...
  2. Alternatively, or maybe in addition, safari and chrome should implement hosting for Firefox's search engine's (i.e. open search) and extensions. Mozilla's JetPack Project is perfect for that, but I imagine it will be a while yet before all those handy Firefox extensions are ported. So for now, just make Firefox's extensions work in the other browsers (hints: 1, 2).
  3. Safari, Chrome, etc. should all implement keyboard profiles just like Firefox. Remember how Word used to provide keyboard mapping for WordPerfect users when WordPerfect was king? Do that for the current king of browsers.

So if the various browser teams out there want to make me happy that's all that I ask :)

July 8, 2009

Fixing another "HTTP Error 500.0 – Internal Server Error" in IIS7

Today I had a problem with IIS7 on Vista while testing and ran into an elusive problem that I thought I'd share the solution to. I created a new Website and a new corresponding Application Pool and started receiving the following error message in the browser when visiting the site: "HTTP Error 500.0 – Internal Server Error"
As usual it was followed by the normal additional error text on the page but nothing useful was there. I found the following two event log entries were also created:

Failed to initialize the AppDomain:/LM/W3SVC/0/ROOT

Exception: System.ArgumentException

Message: Value does not fall within the expected range.

StackTrace: at System.Web.Hosting.IProcessHostSupportFunctions.GetConfigToken(String appId)
at System.Web.Hosting.ISAPIApplicationHost.System.Web.Hosting.IApplicationHost.GetConfigToken()
at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)

followed by:

An error occurred while trying to start an integrated application instance.

Exception: System.ArgumentException

Message: Value does not fall within the expected range.

StackTrace: at System.Web.Hosting.IProcessHostSupportFunctions.GetConfigToken(String appId)
at System.Web.Hosting.ISAPIApplicationHost.System.Web.Hosting.IApplicationHost.GetConfigToken()
at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
at System.Web.Hosting.ApplicationManager.GetAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
at System.Web.Hosting.ApplicationManager.CreateObjectInternal(String appId, Type type, IApplicationHost appHost, Boolean failIfExists, HostingEnvironmentParameters hostingParameters)
at System.Web.Hosting.ProcessHost.StartApplication(String appId, String appPath, Object& runtimeInterface)

Searching Google for this information revealed nothing exactly like my problem and no solutions worked for me. - No it was not permissions!

Creating a fresh new Application Pool, as well as many other small attempts didn't fix the problem either. None of those attempts really made sense anyway, but then again neither does the solution:

Solution

Finally on a whim I tried the following:
  1. Visit the "Internet Information Services (IIS) Manager".
  2. Select the site and choose "Advanced Settings..."
  3. In my case the value for ID is 0.
  4. I changed that to 100 and restarted the site.
Now when I visit the site from a browser everything works fine.