Welcome

You have reached the blog of Keith Elder. Thank you for visiting! Feel free to click the twitter icon to the right and follow me on twitter.

Day of .Net and Ann Arbor User Group – I’m on my way!

Posted by Keith Elder | Posted in Uncategorized | Posted on 03-05-2007

3

In the morning I’ll be jumping on a plane and leaving the great state of Mississippi.  Destination, Day of .Net in Ann Arbor, MI.  Technically I’ll be staying in Livonia, MI which is about 20 miles from Ann Arbor since the up and coming week I’ll be working onsite at Quicken Loans.  Day of .Net is going to be held at Washtenaw Community College in Ann Arbor where I used to teach so I’m looking forward to going back to Ann Arbor. I haven’t been there since I moved in 2005.

At Day of .Net I’ll be doing a talk on Smart Clients.  I actually wanted to do a talk on Workflow Foundation but Jason Follas hates me and thus I am doing Smart Clients.  I think he secretly wants to learn more tips and tricks from me so he can make more money as a consultant selling Smart Clients.  I’m onto you Follas!  🙂

Several days later, Wednesday to be exact, I’ll be back in Ann Arbor speaking at the Ann Arbor .Net User Group organized by Darrell Hawley.    I’ll be doing a brand new talk that I haven’t done yet nor have I seen anyone speak about.  Hopefully it will be beneficial for everyone and it will keep the tomatoes and eggs thrown at me to a minimum.  Here is the abstract:

Structure and Guidance for Organizing Applications within Visual Studio

Visual Studio is an outstanding tool when it comes to building applications on the .Net Framework.  It can be confusing for users when trying to initialize a new software deliverable though.  For example, how do you name your projects?  Where do you put third party assemblies so they can be re-used?  How do you set things up for an n-tier architecture?  And the list goes on.  I’ve given various talks throughout the US and it never fails that I end up in a conversation with multiple people on what are the best ways to organize projects within Visual Studio.  This session should answer these questions and provide some proven guidance that works.  In this session we’ll cover some best practices on how to organize your projects and solutions.   We’ll also look at some tricks and guidance on how to map your folder structure to your namespaces.  During the session we are going to build a new application from scratch and cover how to initially incorporate an n-tier design when initializing your project.  Even if you are an experienced .Net developer this is one session you will not want to miss!

I look forward to see old friends, new friends, team members, ex-students, faculty and more this week.

Test your .Net Application with Mono Migration Analyzer

Posted by Keith Elder | Posted in Uncategorized | Posted on 20-04-2007

5

For those of you that aren’t involved at all with open source software the Mono project is an open source effort to run .Net applications on various platforms. 

About Mono

If you watch Miguel from Novell speak about the Mono project the main reason they started it is to be able to open up more application to the Linux platform.  One way to do this is to write them from scratch.  The other is to use what is already out there.  Linux has browsers, music players and is good at server protocols but lacks productivity business entrenched applications (I’m not talking about openoffice, go deeper).  Examples Miguel has given are medical applications, finance applications and more.   This is where Microsoft has a strong application base and these are the apps that Linux doesn’t have today.  So instead of writing those apps from scratch, Mono would provide a way to run those applications without having to rewrite all the code.  Definitely a noble project to bring more applications to the Linux platform.

It never fails when I talk to one of my friends who is heavily involved with open source software they bring up Mono.  They of course know that I do .Net development and they quickly ask, “Hey, why don’t you use mono and run your applications on Linux?”  My first response (after I slap them for being stupid) is to point out that Mono still has a long way to go to be completely compatible with .Net. 

Trust me when I say I would love to be able to write a .Net application, run it on Windows, then run it on Linux or Mac OS X with no effort.  The problem is we just aren’t there today.  I think one day we’ll get there and I will rejoice when we do.  Until then I’ll check into the Mono project and see how things are progressing every now and then.  Tonight is one of the those “I’m checking in to see where things are at” nights. 

Console Application Analyzed

There is an easy tool we can use to test our .Net applications to see if they are compatible using Mono.  It is called the Mono Migration Analyzer.  Once you download it launch the executable and add a DLL or EXE you want to analyze for compatibility.  The first thing I checked was a simple console application we wrote the other day to parse a bunch of XML files on a network share and then submit those into a web service. 

The console application is apparently compatible with Mono.  This is good because I could send it to a Unix admin at work and have him run it in a cron job or something.  That is pretty cool. 

Simple Winform Application Analyzed

Next I went with a slightly more complicated WinForm app.   I took a utility WinForm app that I built to replay Soap Messages.  Sometimes we get emails when soap requests blow up and we need to either replay them to debug them or simply just resubmit the message once we fix a bug.  This is the utmost simple windows form you could probably build.  Here it is:

Once you get over the initial shock of how cool my user interface design is, you’ll notice that it isn’t complicated at all. There is a textbox where you put a soap message, a SoapAction textbox, and you select the URL you want to post to in the drop down.  Press the button and away the message goes.  Here we see our first problem, but not too bad using the analyzer.

As you can see we have 3 MonoTodo’s flagged.  Here is the report:

 

Nothing too major in the report.  Mostly just some resize calls from the InitializeComponent() in the constructor of the form.  I suspect this form would in fact work on Linux.  As a utility it is pretty handy.  Thus far, yeah! I have two .Net apps I can now run on Linux although they really haven’t provided much value for my business.  Let’s try one of those next. 

The Real Test

After the first two tests were successful I wanted to throw a “real” business application at Mono.  What I mean by “real” application is an enterprise level application that was built from scratch using .Net 2.0, the type of application that adds value and is used 24/7.   This should REALLY test where the Mono project is from a holistic standpoint.  I checked the latest source code out for our in-house .Net 2.0 CRM application.  I then did a build and pointed the analyzer at the files.  The results were not so shiny.  Lots of red.  Here’s the results.

Methods that are still missing in Mono: 1878
P/Invokes called : 10
Methods called that throw NotImplementedException: 168
Methods called marked with [MonoTodo]: 831

Wow, that’s not as rosy as the first two simple tests needless to say.  Hopefully this will prove to some of my friends that Mono isn’t ready for prime time yet so they’ll shutup and leave me alone about it for at least another year.  For simple stuff its ok, for anything that is more complicated, not so great (yet). 

Miguel, I’m rooting for you though!  You only have 1878 methods to fix and 831 Methods marked as todos before we can run our CRM in Mono.  I’m also rooting for you to break through the web hosting space so Linux hosts can host Asp.Net applications, something that is needed.  That’s my nightly report, I’ll check in about a year out to see where we are at then.

 

Technorati tags: ,

What would my product be called? Microsoft Elder?

Posted by Keith Elder | Posted in Uncategorized | Posted on 18-04-2007

3

I posted the other day about WPF/E being renamed to Silverlight.  As I was writing the post, I thought to myself, hey I know a guy named David Silverlight that I met at the MVP Summit this year.  We chatted over a glass of Guinness, exchanged cards, then later emails.  I thought about David immediately when I heard they renamed WPF/E.   I didn’t give it any further thought though.  Nah, they wouldn’t name a product after him.

Turns out WPF/E was in fact named after David!  Holy cow, he had a product named after him.  David has a post on his blog  where he talked about how the name came about when he met Bill Gates (very cool) at his house (strong!).    Wally sheds some insight on why David couldn’t tell him why he was in Redmond for four extra days too.

I have a new goal in life and that is to see a product named after me.  Maybe instead of Smart Clients we can start calling them Smart Elders or Elder Clients.  Just doesn’t have quiet the ring to it.  The name Elder doesn’t have as good of a ring as Silverlight so they would probably just ask me to name the product.  I’ll get right on that because I know my phone is about to ring.

David, let me just say congratulations, it is a heck of an honor and now I can stop making fun of Microsoft as to why they came up with the name, it is officially cool now.  Congrats!

WPF/E Is Now Silverlight

Posted by Keith Elder | Posted in Uncategorized | Posted on 16-04-2007

0

Mix 07 is getting ready to heat up in a few weeks and there have been rumors floating around about Mix 07.  Mainly that it is going to shock a lot of people with some of the cross platform announcements coming out of it (OS X users pay attention). 

It seems today we get our first official taste in preparation for Mix 07 and that is WPF/E is now known as Silverlight.  The name doesn’t make me jump up and down but like Shawn said, it beats something like “Microsoft Enterprise Web Visualization Media Platform 2007” or something like that.  

Since I am a Smart Client guy I tell people all the time the web is dead to me but I do find a rekindled interest in the web with Silverlight.  People are going to make some amazing stuff with this technology.

Ruby on Rails vs .Net Performance

Posted by Keith Elder | Posted in Uncategorized | Posted on 16-04-2007

8

Actually the title of this post isn’t even fair.  The reason I am posting on these two topics is I have known for a long time that I wasn’t a Ruby on Rails fan.  I like the concepts and have played with Ruby a bit but I never bought into it.  It is fairly common place that everyone knows it is slow.  I even watched a video today of Miguel presenting on Mono (the open source .Net framework) and he even made fun of Ruby and its speed. 

Today I ran into two very different scenarios through different means. One was a good friend of mine who posted an article about Ruby on Rails and how it doesn’t scale very well.  I won’t repeat his comments so read his blog post.  The bottom line is I agree and have been saying the same thing all along.  Ruby on Rails demos really great, but when you get into real world apps you have to break the mold and everything falls apart.  Basically we share the same sentiment and thus he will continue to be a friend even though he writes PHP for Digg.Com

The flip side of the coin is a team member sent me an IIS Show post about IIS scalability from Channel9.  Basically the show is about a web site running on one server doing 31 million page views a day with IIS and .Net 2.0.  Yes, you read that correctly!  Here are the numbers talked about in the audio conversation:

Web site:  http://www.plentyoffish.com
Server OS:  Windows Server 2003 32bit OS
Framework:  .Net 2.0
Page views per day:  31 million
Pave views per hour:  2 million
Concurrent users:  40-50K
Servers:  1 IIS Server at 65% capacity and 1 Database Server

Talk about two extremes holy cow!  For those nay sayers, MoneyGeek has some interesting numbers and information on the founder Markus Frind here just in case you think Channel9 made this stuff up.  Do read the info on MoneyGeek, some fascinating stats there.  Combine the audio with the additional information on MoneyGeek and if you aren’t just dumb founded and blown away I can’t help you.