Not a User Error: Moving my DasBlog directory

If your rss feed reader just went crazy over my site, I apologize.  I recently moved my blog from the application root to a subdirectory in order to allow other .NET applications to run properly in other subdirectories.

In order to make the imaginativeuniversal site still work with searches that expect to find content at the old location, I had to create an HttpHandler to redirect page requests to the “/blog” subdirectory, including requests for the rss feed.  This had some unintended results, such as republishing all the old rss entries.

This was a migration of a DasBlog application to another directory.  Should anyone be interested, this is how I wrote the HttpHandler CategoryHandler to redirect all requests to the root to my “/blog” subdirectory:

using System;

using System.Web;

using System.Web.UI;

 

namespace IUHandlers

{

    public class CategoryHandler : IHttpHandler

    {

 

        public bool IsReusable

        {

            get { return true; }

        }

 

        public void ProcessRequest(HttpContext context)

        {

            string path = context.Request.Path;

            string syndicationPath = “/SyndicationService.asmx”;

            if (path.IndexOf(“/blog”) == -1)

            {

 

                int lastSlash = path.LastIndexOf(‘/’);

                string pre = path.Substring(0, lastSlash);

                string post = path.Substring(lastSlash);

                if (path.IndexOf(syndicationPath

                    ,StringComparison.CurrentCultureIgnoreCase) > -1)

                {

                    post = syndicationPath + post;

                }

                context.Response.Redirect(“~/blog” + post);

            }

        }

    }

}

I compiled my handler and placed it in the bin folder at the root of my site.  I then added a web.config file to the root with this setting:

<httpHandlers>

      <add verb=GET path=*.asmx type=IUHandlers.CategoryHandler, IUHandlers/>

      <add verb=GET path=*.aspx type=IUHandlers.CategoryHandler, IUHandlers/>

This allows me to run other ASP.NET applications beneath the root directory of my site as long as I remember to add the following two settings to each of their web.config files:

    <httpHandlers>

      <remove verb=GET path=*.asmx/>

      <remove verb=GET path=*.aspx/>

I’m not sure if it’s the most elegant solution, but it seemed to do the job.

Haecceity

porphyrianTree

Out of the Medieval intellectual battles between Realists and Nominalists, one of the more interesting fruits to fall was Duns Scotus’s notion of Haecceity (this-ness), which in modern philosophy is often reformulated as a person’s essence.  Possibly against a straw-man, Scotus argued that those who sought after the principle of Quiddity (what-ness) were misguided.  The truly interesting question is not how quiddity is possible, but rather how the individuation of universals is possible.  In other words, rather than look into how we know that Socrates is a man, we should examine how the concept of ‘man’ can be broken up in such a way that gives us a Socrates.

Another way of looking at this is in terms of Porphyry’s tree.  Each genus can be divided by a differentia into species.  For instance a Substance can be either be extended or not.  If it is, then it is a a Body.  A Body can be animate or not and if so it is an Animal.  An Animal, if rational, is in turn a Human Being.  But what is the differentia that produces an individual like Plato or Socrates?

For Scotus, this differentia is a person’s haecceity.   An interesting marginal note to a person’s haecceity is that we cannot have a adequate word for a person’s this-ness.  Words fail.  The only clear way to indicate haecceity is by extending one’s finger and pointing.  Saying “this guy” tells us nothing unless we accompany the words with a gesture to represent ‘this guy’s’ haecceity.

My haecceity for the week includes unexpectedly finding out that I passed a Microsoft certification exam.  I had taken Designing and Developing Enterprise Applications using Microsoft .NET Framework 3.5 (exam 565 for short) back in November and had forgotten about it until I received notice a week ago that I had actually passed it.

Then last Thursday I did an internal presentation for Magenic on the new Prism V2 framework.  This was rather fun, thanks to my colleagues Sergey Barskiy, Colin Whitlatch, Tim Price-Williams and Wells Caughey, who helped me start taking the technology apart.

On Friday I received a request to do a brief presentation for the MS Pro’s user group.  I took the short notice as license to do something a bit off beat and ended up presenting on “The Medieval Problem of Universals and Object-Oriented Programming.”  The audience was remarkably gracious about the whole thing.   For me it was a perfect evening which started with lunch at the bar of Pappadeux with Wally McClure, the host of the ASP.NET podcast, over martinis and oysters and ended with presenting on, all things considered, a slightly mad and rather dry topic — the kind I learned to love in grad school.

The 3rd of March, furthermore, marks one year since the wonderful Carole Cuthbertson formally offered me a job with Magenic Technologies.  It is without a doubt the best job I’ve ever had.

Finally, what has two thumbs and a birthday today?

This guy.

Playing with the Kindle 2’s Web Browser

small_browser

I have been spending the day trying to upload PDF’s from my safaribooksonline account to my Kindle, so far without much success.  Mobipocket Creator, which is recommended for converting various file formats to the Mobi format used by the Kindle, seems to get mixed up over the images.  I am currently trying to see if Amazon.com’s converter handles them any better.

On the other hand, I’ve found that the new http://m.safaribooksonline.com site works fairly well on the Kindle’s simplified browser (though not perfectly).  I can access my bookshelf and browse through my books.

The Basic Web browser seems very well suited for twittering, though. You can access your twitter account on the Kindle by going through http://m.twitter.com

To access the Basic Web browser on the Kindle, click on the Menu button from your home page.  Then select Experimental.  From the Experimental page, you will be able to start the Basic Web browser, which lets you search google, search Wikipedia, or simply browse to a url.

Also, contrary to my expectations, the Text-to-Speech feature on the Kindle 2 is actually rather good.  It even attempts to modify intonation based on the sentence structure.  Still not up to Morgan Freeman standards, however.