Technical Babble

Quite often I see people either at work or on forums asking why they can’t see .Net Framework 3.5 in IIS. Then, someone of much experience will tell them to use 2.0 with no further explanation since in most cases the person asking the question just wants it to work. Well, I want you to know the answer, so let me explain that.

In .Net there are 2 versions of consideration: the CLR and the Framework. A .NET CLR can contain several .Net frameworks, since .Net CLR’s are incremental versions (contain content from the earlier version and build upon them like a foundation). To get a visual idea of how this is laid out:

.NET Framework Versions and Dependencies

As you can see, there is not necessarily a new CLR every time a new Framework version is released. In many cases, you can consider the 3.5 framework to be a massive service release update to 2.0.

When configuring IIS, remember to look to the CLR version number and you will be okay. If you can’t find those numbers then you need to check that the right frameworks are installed.

The link posted above from Microsoft lays it all out in nice charts which include the versions of Windows these frameworks are included by default.

That’s all for now…

The Question:
Can I actually get a return value from an Action?

In my travels during research and development efforts on exciting coding projects I have seen this question get asked time and time again. The answers I usually see are:

No, or
Create your own Action object.

I think the point is missed here. The issue with passing a simple object into an Action and then setting your method result to that object, is that the object gets overwritten. Why? Because it’s an object. Once you assign something else to that object, the reference is changed. Therefore the original object is no longer in context.

How can we resolve this? We can easily do this with a complex object.

Our object:

public class MyComplexObject
{
    /// <summary>
    /// Name provided for the result.
    /// </summary>
    public string Name { get; set; }

    /// <summary>
    /// Value of the result.
    /// </summary>
    public object Value { get; set; }
}

Now, let’s add this to a new Action of type MyComplexObject:

Action<MyComplexObject> myAction = (MyComplexObject result) =>
{
    result.Value = MyMethodThatReturnsSomething();                                              
};

If you reference your MyComplexObject, you will be able to use the value assigned to it’s “Value” property.

I know this isn’t Earth-shaking, but I hope this tip helps you along the way.

Happy Coding.

The value of a good graphic artist

Categories: Business
Comments: 1

In the world of web design, we are constantly facing the challenge of making a site as good looking as it is functional. And though many of us have attempted to do graphic design work on our own, it is usually proven that our scope is limited resulting in the pumping out of the same old templates to our customers.

With that in mind, we usually have to hire a graphic artist to assist in the web design process. It is well known that this can be a troublesome if not completely undesirable with the wrong people on board.

Here are the basic dilemma’s web designers face when dealing with graphic artists:

The client provides one to help supplement the job: The issue here is trust and collaboration. Many times when two contractors are working together because the client forces the relationship, competitive interests come to the surface making the relationship difficult. If the chemistry is not perfect, one of the contractors may abandon the project entirely. Even if you are not the one that left and finished the site, it still leaves a bad note with the client since you didn’t “work it out”.

The artist does good work, but is a diva: This one is pretty common. I have dealt with many artists who work on “their” schedule. This translates to “when I get my lazy butt in gear and care enough”. These people are usually very difficult to deal with, and don’t like to revise their work to meet client expectations should the planning phase drag on long enough.

The artist does poor work but refuses to accept it: Ever have an artist on contract that doesn’t meet the client expectations because the quality of the mocks and design assets are not good enough within realistic requirements? Then trying to convince them to update their stuff without hurting their feelings is near impossible.

Now, all that being said we are not without hope. I personally have found an awesome graphic artist who I will call “Rebecca” in this context, so as to not publish her real name on this blog. Xcalibur Systems asked Rebecca to design mocks for our new site, and I have to say; we are thrilled at what she has come up with. Take a look at the below image to see what I mean:

In summary, working with a graphic artist can be a huge challenge. However, there are plenty of Rebecca’s out there that will make the experience worthwhile. With patience and continued research, you’ll find one too.