Archive for June, 2009

Ever wonder how .NET finds the assemblies that you reference ?

From the Developers Guide

To successfully deploy your .NET Framework application, you must understand how the common language runtime locates and binds to the assemblies that make up your application. By default, the runtime attempts to bind with the exact version of an assembly that the application was built with. This default behavior can be overridden by configuration file settings.

The common language runtime performs a number of steps when attempting to locate an assembly and resolve an assembly reference. Each step is explained in the following sections. The term probing is often used when describing how the runtime locates assemblies; it refers to the set of heuristics used to locate the assembly based on its name and culture.

Here are some links that describe the steps in the resolution process.

http://msdn.microsoft.com/en-us/library/yx7xezcf(VS.71).aspx

http://msdn.microsoft.com/en-us/library/8f6988ab(VS.71).aspx

http://msdn.microsoft.com/en-us/library/aa98tba8(VS.71).aspx

http://msdn.microsoft.com/en-us/library/4a9t8a9a(VS.71).aspx

http://msdn.microsoft.com/en-us/library/15hyw9x3(VS.71).aspx

OFF TOPIC – A note from my Iranian Friend.

I have never posted here on my blog anything that related to politics, and this post will only appear here (not syndicate to www.asp.net)

For all the folks who have watched with dismay the recent events in Iran, I wanted to share this.

This note is from a young Iranian friend who I have corresponded with for several years. We met when he emailed me a question as he was learning ASP.NET.

Over the years we have discussed many things about our peoples and our countries. I’ve learned that there ARE many people in the Middle East that loath the fascism and terrorist violence.

He has become like “my little brother” over the years.

I wanted to share this so the rest of us can remember how lucky we are …………

I’ve removed his name for his own safety and made some minor edits for English language clarity

 

Hey buddy,

How is it going there?

Here, after the day that the government guards has beaten down the people and killed a lot ,we are thinking to find some other ways to protest because street is now full of armed guards, in every meter there’s one.

Man i hope you never taste the batons and gas and whatever stuff that they’ve used to beat us with , it hurts like hell and since i had the surgery i couldn’t run much. I got kicked in my surgery spot a couple of times too !!

To tell you a very sad fact, when guards kills someone they’ll have the body and they’ll contact her/his family and tell them that they have to pay for the bullets if they want to recover the body, one of my friends died with 2 bullets, and they’ve contacted his family and said you have to pay 3 million Tomans for each bullet to get his body, it’s an unbelievable situation, they kill someone and they want to get played for it !!!!  What a disaster !!!

Hopefully they’re going soft on blocking the internet now, cause they can’t ban it for ever because it’ll cause problems in their own departments and organizations, and till now it did cause lots of problems, so internet is on right now but the speed is much less than before .

I’m lucky that I’m not dead right now, I  felt the bullets right beside my body a couple of times, I wonder where god would take me to :), but I’m okay now :)

And thanks my friend for showing your support in twitter, love for all the American people specially for my dear brother and his family over there :)

Love

Your friend

.NETOOP high level configuration storage decision.

In designing .NETOOP we have this issue:

Since .NETOOP will be an adaptable application designed to meet the needs of many users, some of the things that one might hard code in an application like “Web Site Name” will need to be set at installation time.

For “system”  configuration settings we have the web.config file.

For language and culture variations we have resource files.

But this type of site configuration doesn’t really  fit nicely into either of these categories.

We could use…….

  • web.config
  • .res files
  • .xml files
  • a table in the database.

There are a number of considerations.

  • Since these are not really the same kind of configurations issues that we normally put in the web.config file (like a connection string) it would seem that web.config is not the right place for them and it’s a good thing to minimize the number of times someone edits the web.config file. Even if we created web UI for editing these settings folks will hand edit it. It might grow large and I don’t even know you you can store MCBS strings in the web.config.
  • We could use resource files and create/edit them via System.Resources, but these file would not be “hand editable”.
  • .xml files are easy to edit but in an environment where the database and the web server run on different machines, I/O from a database will probably be faster. (Especially in lower end shared hosting environments.)
  • We could use a hybrid approach when edits are made in an XML file and imported into a database.
  • We could address performance issues by using one of the many ASP.NET caching facilities and storing some commonly used items in application state (like site title.)

Please take the poll at http://twtpoll.com/st6sa4.

I’m hoping to do some coding on this issue TONIGHT !

THANKS !

Technorati Tags: ,ASP.NETOOP,.NETOOP

Patterns and Practices of Lean Software Development

J. D. Meier emailed me this week to ask my opinion on “Lean” and referred me to [ THIS POST ]

For almost 30 years (yes, I wrote my first program for money in the 70’s as a teenager) I’ve been a “practical” geek. I don’t invest much in methodologies, or teh business / development fad of the era. I’ve seen dozen of Silver Bullets come, and go. Only to be replaced by the newest “holy grail” of software development,

Here is a quote from the blog post ……

A central concept in Lean is that planning, executing, and delivering work in small batches minimizes waste. The ideal limit of working in small batches is the single unit. Creating one piece at a time with zero waste is the ideal of one-piece flow.

Though I haven’t seen the process articulated before, many MANY software development teams use this process for building great applications, though perhaps calling it by a different name or even no name at all.

When it comes to process, sometimes, less – is more.

If a team produces great applications  that are delivered on time and within budget, are secure and meet the organizations / customers needs – isn’t the use of a heavily academic process irrelevant?

Check out the post and let me know what you think.

Podcast – Does VB have a Future ?

Episode – Lisa Feigenbaum from the .NET Managed Languages Group

 In this episode – The Misfit Geek talks with Lisa Feigenbaum from the .NET Managed Languages Group about Visual Basic .NET. Does VB.NET have a future ? Does Microsoft love C# more than VB.NET? Listen and find out.

 Resources ……

 I’m still getting the hang of it all and I don’t have audio engineers, production staff, or SPONSORS !

If you are interested in advertising, have suggestions, or advice…. Please CLICK HERE and send them to me. 


Download Now !


Download WMA Download WMA-Fi Download ACC 

24 JavaScript Best Practices for Beginners

I wanted to share a great article by Jeffery Way over on Nettuts+ on best practices for JavaScript developer.

If your developing web applications, sooner of later JavaScript is inevitable.

I hope you find it useful.

[ Read the article HERE ]

Technorati Tags:

My Windows XP VMWare / Fusion Instance was hung on shutdown.

I use a Mac Book Pro for Virtualization.

Though I HATE OS/X – VMWare Fusion runs just about everything and does it pretty well.

One of my devices is Windows XP

After running Windows Update, Windows XP got “stuck” shutting down.

Using the VMWare Fusion menus to try to force a shut down.

The solution was easy, but FINDING the solution was hard so I thought I’d blog it here.

Pull down the “Virtual Machine” meny

Fsion-ShutDown-Guest

Hold down the “Option Key”

Fusion-Power-Off

Now just choose “Power Down”

I’M NOW UP AND RUNNIG AGAIN !

Technorati Tags: ,,,,,

6-15-2009 11-21-54 AM 

I saw this posted in a support forum …..

I can’t create New Project on my Visual Web Developer 2008 Express with SP1.

(I can only create New Website)

My colleague has the exact same version (if you go to Help – About) but they can create both New Website and New Project.

Did you install Visual Web Developer with SP1 and NOT get the “New Project” Options.

I did ! :)

Here is the fix.

 Go to “Tools –> Import and Export Settings.

ResetSettings-1234

 Select the BOTTOM Option “Reset All Settings”

6-15-2009 11-28-18 AM 

Click next and complete the wizard.

That’s it – “Projects” should now appear in your default view !

Contest – NETOOP Needs a Logo !

Visual identity is important. (Plus, you need something besides the url to put on a tee-shirt.)

Cool open source applications all have cool logos. Since this is a collaborative project and since I have NO artistic ability, I thought we could get some artistically capable folks involved in NETOOP by starting a logo contest. (Remember, good applications should be theme-able so were are going to NEED aesthetically creating folks involved after we implement a skinning and teeming strategy.)

So, if you have an idea for a log, email me a file (.png, .gif, .jpeg ONLY) .

I’ll create a wiki page and we’ll collectively decide which one to use.

When you email the file, include whether you want it posted with a URL or email address or not.

Technorati Tags: ,,,NETOOP