personal, dotnet comments edit

I just finished my MS 070-300 test, Analyzing Requirements And Defining Microsoft .NET Solution Architectures, and I PASSED. That means I’m now a Microsoft Certified Solutions Developer in .NET. According to MCP Magazine, as of November 6, 2003, there are only 4,711 people in the world with that certification, so it still might hold a little weight.

Regardless, I passed what I figured to be probably the hardest of the tests in the MCSD.NET series. It was case studies with questions over each case study rather than a simple set of questions (which is what all my others were). I don’t like the case studies because they sort of imply certain “right” and “wrong” answers that may or may not be quite what you do in real life. They’re very… subjective. In other tests, it was much more clear which answers were “right” and “wrong.” If the answers were skewed a certain way, it was kind of obvious from the question which way they would want you to skew them. Not so in this latest test, and I think that was the tough part.

I suppose it’s moot now. I PASSED!

personal comments edit

I’ve been meaning to say something here about this travesty for a while, but I’ve kept forgetting.

There’s this booger on the wall next to the sink in the men’s restroom here at work and it’s been there for probably a couple months now. It was there when I left for training in mid-December, and it’s still there. It’s probably half a centimeter in diameter.

I tried taking a picture of it (I was going to put a ruler next to it so you could see how huge it is) but my camera doesn’t do close-up very well, so it was just a dark blur on the wall.

I have only two questions about this. First, who was so unhygienic as to flick a fucking booger on the wall? Second, how come housekeeping hasn’t dealt with it?!?!

home comments edit

I got my Linksys WRT54G Wireless-G Router hooked up and locked down - no SSID broadcast, MAC address filtering, 128-bit WEP encryption… so wireless networking is in the hizzouse! I’ve tested it out using my laptop from work and it’s awesome.

While I was doing that, I noticed there was a new wireless network called “Ladybug” in my area, broadcasting its SSID. I didn’t try to connect, but I find that interesting since the average age in the apartment complex is like 90. I’m thinking it has to be the guys next door; they’re the only ones I can imagine having such a thing (they’re probably in their mid 30’s).

Anyway, I’m stoked. Wireless networking, router/firewall installed. Set to frickin’ GO.

personal comments edit

I’ve gone through and re-listed all of my t-shirts (individually, this time) on eBay. Since the “lot of 10” didn’t sell, here’s hoping they’ll sell individually. I also put in starting prices instead of reserves, since it seems folks don’t like reserve auctions (at least, the people I talk to don’t).

We’ll see what happens this time. Luckily it only costs me like $0.35 per shirt to list the things.

gists, sharepoint, csharp comments edit

For those writing web parts for SharePoint Portal Server 2003 or Windows SharePoint Services, you may want to determine what context your web part is running in - is it WSS or SPS? I wrote a web part that had optional use of Audiences in SPS, but I wanted it to work (and ignore Audience settings) in WSS, too.

Here’s a static method to help you out.

/// <summary>
/// Returns a Boolean indicating whether we're running in SharePoint Portal Server
/// or not.
/// </summary>
/// <returns>True if we're running in SPS; false otherwise.</returns>
public static bool ContextIsSPS()
{
    var assemblyInstance = (Assembly)null;
    try
    {
        // Try to bind to the Microsoft.SharePoint.Portal assembly.
        // If it isn't there, we're not in SPS.
        assemblyInstance = Assembly.LoadWithPartialName("Microsoft.Sharepoint.Portal");
        if (assemblyInstance != null)
        {
            // We've successfully bound to the assembly, so now let's try to determine
            // the current PortalContext.
            var oType = assemblyInstance.GetType("Microsoft.SharePoint.Portal.PortalContext");
            var oInfo = oType.GetProperty("Current");
            var result = oInfo.GetValue(null, null);
            if (result == null)
            {
                // SPS Installation, but WSS context
                return false;
            }
            else
            {
                // Running in SPS context
                // To determine SPS site URL:
                // PropertyInfo oSiteURLInfo = result.GetType().GetProperty("SiteUrl");
                // string siteurl = (string)oSiteURLInfo.GetValue(result,null);
                return true;
            }
        }
        else
        {
            // We couldn't bind to the Portal assembly, so we're not on an SPS box
            return false;
        }
    }
    catch (Exception err)
    {
        System.Diagnostics.Debug.WriteLine("ContextIsSPS(): Exception determining SPS context; returning FALSE.");
        System.Diagnostics.Debug.WriteLine(err.Message);
        return false;
    }
    finally
    {
        assemblyInstance = null;
    }
}