How many times have you thought to yourself that you want to help those less fortunate than yourself but you just can't seem to get past the inertia to get involved. What do I do? Will my skills be useful to any charities? Is it a big commitment? What if I can't stand it; will I be stuck having to work on it for the rest of my life? Maybe it's just easier to do nothing...

Well, what if I told you that you can do something for a very worthy cause all within the confines of a single weekend in October and that's it. Period. No further commitment.

That's the idea behind Seattle GiveCamp. Nothing to do before the weekend begins on Friday, October 19 and nothing to do after it all ends two days later on Sunday, October 21. But the two days in between Friday and Sunday could easily be the most rewarding weekend of the year! I know it was for me last year when I led Seattle GiveCamp 2011.

Why GiveCamp?

So why Seattle GiveCamp? What goes on there? It's pretty simple: Seattle GiveCamp is a weekend where a number of worthy non-profits ask us to help them with a software project that can be accomplished in a weekend. Things like putting together a new website, automating some aspect of the organization's fundraising, moving data from point a to point b, creating a mobile version of their website, or hooking their organization up to social media. Charities like FareStart, Plumbers without Borders, Pacific Northwest Diabetes Research Institute, EarthCorps, Hearing, Speech, and Deafness Center, and Southwest Youth and Family Services to name just a few of the likely organizations we will help this year.

So that's the first (needy) half of the Seattle GiveCamp story. The other half is where you come in -- filling that need with a little software genius. Those volunteers coming to Seattle GiveCamp will get to hear about the projects on Friday night and then form teams of software gurus, programmers, designers, program managers, website wonks, and other software professionals to solve the problems brought to us by the non-profits. Any software experience is appreciated, whether that be C#, Java, Ruby, Android, iOS, Windows 8, WordPress, Facebook, or some other expertise. And all skill levels are welcome, everyone from the beginner to seasoned professional are needed. If you know how to contribute to a software project, we can use you.

And even if you don't consider yourself a techie, we can use you in some supporting position checking people in, serving food and beverages, etc. The important point is that we need you to help make magic during the Oct 19-21 weekend.

Your Call to Action!

Your call to action is simple: Visit the Seattle GiveCamp website. Read some more about this amazing weekend and then click on the Volunteer link to commit to that single weekend in October. You won't regret it.

As part of my job at Fred Hutchinson Cancer Research Center in Seattle, I work with SAS, a popular statistical software package. Well, like many real programs that still exist today, SAS uses Microsoft's ancient DDE protocol to allow one to automate Excel and send data to excel. SAS and Excel actually make a great statistical reporting duet that we use often here.

Anyway, I currently maintain a set of SAS scripts that manipulate and analyze the data via SAS, open a report template, export that data to a Excel via DDE, and then save the report to a folder. These scripts, which were originally developed by others, have been working for years and save us a lot of time, obviating the need to manually cut and paste statistics from SAS output to Excel files. (For those who use SAS, here is a great whitepaper on using SAS, DDE, and Excel.)

Anyway, I don't use these scripts as often anymore but needed to a month ago and damn they wouldn't work. Today, I went to use them again, and SAS and Excel freeze and require me to kill the SAS process. So I spent half the day fiddling around trying to make the damn thing work, constantly simplifying the problem but without success. Then, I ran across this post using Google that implicates a recent (sometime in 2011) update of the Google Chrome browser.

So if Chrome (my default browser of late) is running when I try to run the SAS script, the DDE part of the script fails hard and SAS locks up. But if I close all instances of Chrome before I run the script, all is well.

Hoping this gets fixed soon, but in the mean time, I know now to kill Chrome prior to using SAS or any other program that uses DDE.

Dear Colleague,

We would like to extend you an invitation to submit abstracts for consideration to speak at the Fall 2012 Microsoft ASP.NET Connections conference (part of DevConnections) in Las Vegas, October 29-Nov 1, 2012.

The deadline for submissions is Tuesday, April 3, 2012.
For submitting sessions, please use this URL: http://www.deeptraining.com/devconnections/abstracts

Please keep the abstracts under 200 words each and in one paragraph. No bulleted items and line breaks, and please use a spell-checker. Do not email abstracts, you need to use the web-based tool to submit them. Please submit at least 3 abstracts, but it would help your chances of being selected if you submitted 5 or more abstracts. Also, you are encouraged to suggest all-day pre or post conference workshops as well. We need to finalize the conference content and the tracks layout in just a few weeks, so we need your abstracts no later April 3rd! No exceptions will be granted on late submissions!

NOTE: At the above URL, you will note there are several other co-located conferences, including HTML 5 Connections, Visual Studio Connection, etc. Feel free to submit abstracts to multiple shows.

Topics of interest include (but are not limited to):
* ASP.NET WebForms
* jQuery
* ASP.NET MVC
* Single Page ASP.NET Apps
* Web API
* Data access in ASP.NET (Entity Framework, etc.)
* Orchard
* Web Matrix
* Anything else related to ASP.NET
* Agile Development and other talks about process and professional development

Please realize that while we want a lot of the new and the cool, it's also okay to propose sessions on the more mundane "real world" stuff as it pertains to ASP.NET.
What you will get if selected:
* $500 per delivered talk.
* Compensation for full-day workshops ranges from $500 for 1-20 attendees to $2500 for 200+ attendees.
* Coach airfare and hotel stay paid by the conference.
* Free admission to all of the co-located conferences
* Speaker party
* The adoration of attendees
* etc.

To repeat: the deadline for submissions is Tuesday, April 3, 2012.
And the URL once again is: http://www.deeptraining.com/devconnections/abstracts

Your continued support of Microsoft ASP.NET Connections and the other DevConnections conferences is appreciated.

Good luck and thank you,
Paul Litwin
Microsoft ASP.NET Connections Conference Chair

A few months ago I got an email asking me if I was available to talk about on camera what I liked about Visual Studio 2010 and how it made me more productive. I said sure and a week or so later spent a few hours at the Microsoft video studio at Redmond recording a video. I only spent a few minutes beforehand considering what I was going to say and frankly I thought it came out pretty well with me espousing some great new features without sounding like a total Microsoft rah-rah fan boy.

MoreTimeForWhatYouLove

In case you missed it, my video was one of three that can be seen at Visual Studio More Time for What You Love (or The Day I Went Home Early) page on microsoft.com.

Dear Colleague,

We would like to extend you an invitation to submit abstracts for consideration to speak at the Spring 2012 Microsoft ASP.NET Connections conference (part of DevConnections) in Las Vegas, March 26-29, 2012.


The deadline for submissions is Monday, October 31, 2011.

For submitting sessions, please use this URL:
http://www.deeptraining.com/devconnections/abstracts

Please keep the abstracts under 200 words each and in one paragraph. No bulleted items and line breaks, and please use a spell-checker. Do not email abstracts, you need to use the web-based tool to submit them. Please submit at least 3 abstracts, but it would help your chances of being selected if you submitted 5 or more abstracts. Also, you are encouraged to suggest all-day pre or post conference workshops as well. We need to finalize the conference content and the tracks layout in just a few weeks, so we need your abstracts no later than Haloween. Boo! No exceptions will be granted on late submissions!


Topics of interest include (but are not limited to):
* ASP.NET WebForms
* ASP.NET AJAX
* ASP.NET MVC
* Data access in ASP.NET
* Orchard
* Web Matrix
* Anything else related to ASP.NET
* Agile Development and other talks about process and professional development


Please realize that while we want a lot of the new and the cool, it's also okay to propose sessions on the more mundane "real world" stuff as it pertains to ASP.NET. 

What you will get if selected:
* $500 per regular conference talk.
* Compensation for full-day workshops ranges from $500 for 1-20 attendees to $2500 for 200+ attendees.
* Coach airfare and hotel stay paid by the conference.
* Free admission to all of the co-located conferences
* Speaker party
* The adoration of attendees
* etc.

To repeat: the deadline for submissions is Monday, October 31, 2011.
And the URL once again is:
http://www.deeptraining.com/devconnections/abstracts

Your continued support of Microsoft ASP.NET Connections and the other DevConnections conferences is appreciated.

Good luck and thank you,
Paul Litwin
Microsoft ASP.NET Connections Conference Chair 

Let's be frank...Most of us developers have it pretty good. We happen to have hung our hats on an industry that has plenty of work, even in the midst of a protracted recession. (Okay, this might not be true for every developer but as a general rule, employment for software professionals is better than many other sectors. If you are currently unemployed, I wish you the best in locating a job.)

We possess unique and valuable skills that would be valuable to charitable organizations if they just could afford to hire us.

Now woudn't it be nice if there was a low-barrier, low-pain, short-term-commitment way to hook up worthy non-profits with software professionals to crank out a few apps in a short amount of concentrated time? Well there is and it's called GiveCamp!

GiveCamp is a weekend-long event where software developers, project managers, designers, database administrators, and other software professionals donate their time to create custom software for non-profit organizations. The next National GiveCamp is being held October 21-23 in 20+ cities.

I am leading the Seattle instance of GiveCamp. If you are in the Seattle area (or close enough to drive to Seattle) and are a software professional, we'd love to have your help in helping a great bunch of charities. You can volunteer here. (BTW, we need both technical and non-technical volunteers.)

[And if you are part of a charity (or know a worthy charity) that might be interested in applying for help at Seattle GiveCamp, you can submit an application here. But hurry so you can get your app in by our deadline (first deadline is Sept 15; last deadline is Oct 7).]

And if you are not in the Seattle area, but still want to help, please check out the National GiveCamp site where you can find the closest GiveCamp with which to hook up (charities can go here too to find an event in your locale).

Note that your volunteer committment is only for 1-3 days. That's it. GiveCamp is not about supporting the apps you work on for life. (Of course, if you want to make a longer-term committment, I'm sure the charities will be happy to sign you up outside of the event--but that's not what GiveCamp is about.)

With your help, we can make National GiveCamp a success that we can all be proud of! Thank you.

I will be presenting three sessions at Microsoft ASP.NET Connections, one of the conferences that is part of DevConnections. Two of my talks are especially targeted at ASP.NET Web Forms developers who are in the process of learning or coming up to speed with ASP.NET MVC.

On Wednesday, November 2nd at 11:30 AM I will be delivering ASP.NET MVC 3 in 75 Minutes. This talk is especially suited for MVC neophytes. Check out the abstract...

Trying to come up to ASP.NET MVC in a hurry? The session will begin with a brief introduction to ASP.NET MVC 3. During the remainder of the session, Paul will present a series of step-by-step demos, building a data-driven ASP.NET application utilizing the Razor View Engine, LINQ, and the Entity Framework. The demos will cover creation of a data model with Entity Framework 4.1, the population of select controls, the incorporation of input validation, unobtrusive JavaScript, jQuery, remote validation, and more.

Then at 3:45 PM that same day I will be delivering another interesting session entitled Lightning Development with MVC Scaffolding. Here's the session abstract....

Steve Sanderson and Microsoft have created an amazing Nuget package called MVC Scaffolding. This package with a very unasuming name is packed with features to help you develop ASP.NET MVC applications rapidly. This session will get you started using MVC Scaffolding with a series of demos that illustrate the scaffolding controllers, views, data models, tests, and lots more. During this session, you’ll learn how to scaffold various parts of your MVC apps, change scaffolding defaults, and even modify the scaffolding templates used by MVC Scaffolding.

During this talk I will show you how to use MVC Scaffolding for both CodeFirst and DatabaseFirst development. If you are interested in the latter, see my blog post on this topic.

Not ready to make the jump to ASP.NET MVC? I will also be presenting a Web Forms talk as well: What's So Funny About Peach, Love, and Server Controls? It's a light-hearted title, but the topic is nonetheless very important. I'll be giving this talk on Thursday, November 3 at 9:30 AM. Here's the abstract...

Server controls are both the good news and bad news for Web Forms developers. They can be quite good because their rich event model makes things so easy. But they can also be very bad once you start pushing their inconsistent programming model. In this session, Paul will explore in depth the "out-of-the-box" data-bound server control event model, make sense of the programming model, and show you how to maximize your use of the data controls while minimizing your pain.

Of course these are just my talks. There are lots of other talks on MVC and Web Forms at varying levels. Plus lots of talks on WPF, Silverlight, SQL Server, Windows Phone 7, HTML 5, Exchange, and Windows.

Hope to see you there!

Microsoft ASP.NET Connections

Steve Sanderson's MVC Scaffolding NuGet package is awesome and goes far beyond the very good scaffolding available from the Add Controller dialog in Visual Studio 2010 (after installing the MVC 3 Tools Update).

But a shortcoming of MVC Scaffolding is that, out of the box, it works only in Code First mode. However, with a little finagling you can get it work in a database first scenario. I'm sure there are several different ways to do this but here is what I did that was pretty easy. This assumes the database schema has already been created using SQL Server.

  1. Add an ADO.NET Entity Data Model to the Models folder of your ASP.NET MVC 3 application.
  2. Select Generate from database from wizard and generate the entity model for your database objects.
  3. Right-click on the .edmx model file and select Add Code Generation Item... from the pop-up menu.
  4. Under Code tab of dialog, select ADO.NET DbContext Generator. This changes the EF model to use DbContext instead of ObjectContext and creates a DbContext class for the database, by default, with the name databaseEntities. For example, I have a database named BPath. So for this database, EF creates a DBContext class named BPathEntities. This step is key because it will make the database-first classes you generate compatible with the code-first classes that MVC Scaffolding generates later.
  5. Now use MVC Scaffolding to generate the controllers for your app utilizing the entity classes that the DbContext generator generated for you in step #4, which, by default, will have the same name as the tables/views from your database that you selected in step #2.
    For example, in my database I have a table named Participant so I would enter
    Scaffold Controller Participant -force -repository
    into the Package Manager Console to scaffold a controller and views for the Participant entity from the model. The -force option overwrites any existing items and -repository creates repository classes for the entity.
  6. Now open the repository class that MVC Scaffolding created. It will be named, by default entityRepository. So in my example, I would open ParticipantRepository in the code editor in Visual Studio.
  7. Now you will note that MVC Scaffolding created a different DbContext for itself named, by default, projectnameContext that it references in the ParticipantRepository class.
  8. Change the context statement so it now uses instead your db-first context instead of MVC scaffolding's code-first context.

In my example, I have commented out the code-first context named BPathMVCContext and replaced it with the database-first context named BPathEntities:

ParticipantRepository Class Changes

Repeat the process for any additional controllers and you are done. Hope this helps.

I don't know about you, but I find it kind of crazy at times figuring out if I have the latest of everything there is for the Visual Studio 2010 developer from Microsoft. (This does not include any third-party components, just recommended updates from Microsoft.) And the be honest, the msn.microsoft.com and asp.net sites are not that helpful in figuring this out.

In an effort to help, I have enumerated here what the latest VS 2010 setup should include, complete with download links. When you install everything here, you will be able to develop ASP.NET 4.0 Web Forms and ASP.NET MVC 3 applications and web sites in addition to the other stuff your version of Visual Studio supports (e.g., Silverlight, WPF, etc.). These downloads will also include NuGet and the Entity Framework 4.1, so there is no need to download this software separately.

  1. Visual Studio 2010.
    First of all, you need to purchase and install Visual Studio 2010 itself. For the free Express version, you can download it from Visual Web Developer 2010 Express

  2. Visual Studio Service Pack 1 (released Spring 2011).
    This is a must-have download that fixes a bunch of bugs and a number of enhancements too including preliminary support for HTML5 and CSS3. See #4 below for better support of these web technologies. Download and install from VS 2010 SP1 download page. You can find details on the features of the service pack here.

  3. ASP.NET MVC3 Tools Update (released Spring 2011)
    If you are using ASP.NET MVC 3, then you should also download install this update for Visual Studio from ASP.NET MVC3 Tools Update download page. This update improves Visual Studio's support for MVC 3, including better scaffolding, NuGet, Entity Framework 4.1, and more. A good overview of the updates can be found in Phil Haack's blog post.

  4. Entity Framework 4.1 (update released July 2011)
    Not in the original post but I realized that a project I created would not work on a co-worker's workstation until they had installed EF 4.1, not just the nuget package. Download from EF 4.1- Update 1 download page. This is the link to the update of the original EF 4.1 download that was released in the Spring of 2011.

  5. Web Standards Update for Microsoft Visual Studio 2010 SP1 (released June 2011)
    This is an update to VS 2010 SP1 that "brings VS 2010 intellisense & validation as close to W3C specification as we could get via means of an extension". Download and install from Web Standards Update download page. A good description of the changes can be found in the Visual Web Developer Team blog post.

  6. Latest version of NuGet (currently--as of Oct 31, 2012--at version 2.1)
    Update to NuGet package manager is required for some packages. Download and install NuGet

Note: I don't control these download pages, so it is possible they will change. If so, I will do my best to update these links. Post last updated on October 31, 2012.

Dear Colleague, 

We would like to extend you an invitation to submit abstracts for consideration to speak at the Fall 2011 Microsoft ASP.NET Connections conference (part of DevConnections) in Las Vegas, October 31- Nov 3, 2011.  

The deadline for submissions is Friday, April 22, 2011. 
For submitting sessions, please use this URL: http://www.deeptraining.com/devconnections/abstracts  

Please keep the abstracts under 200 words each and in one paragraph. No bulleted items and line breaks, and please use a spell-checker. Do not email abstracts, you need to use the web-based tool to submit them.  Please submit at least 3 abstracts, but it would help your chances of being selected if you submitted 5 or more abstracts. Also, you are encouraged to suggest all-day pre or post conference workshops as well.  We need to finalize the conference content and the tracks layout in just a few short weeks, so we need your abstracts by April 22nd. No exceptions will be granted on late submissions!  

Topics of interest include (but are not limited to):
* ASP.NET WebForms
* ASP.NET AJAX
* ASP.NET MVC
* Data access in ASP.NET
* Orchard
* Web Matrix
* Anything else related to ASP.NET
* Agile Development and other talks about process and professional development 


Please realize that while we want a lot of the new and the cool, it's also okay to propose sessions on the more mundane "real world" stuff as it pertains to ASP.NET. However, we want new abstracts this time around. 

 

 What you will get if selected:
* $500 per regular conference talk.
* Compensation for full-day workshops ranges from $500 for 1-20 attendees to $2500 for 200+ attendees.
* Coach airfare and hotel stay paid by the conference.
* Free admission to all of the co-located conferences
* Speaker party
* The adoration of attendees
* etc.  

To repeat: the deadline for submissions is Friday, April 22, 2011. 
And the URL once again is: http://www.deeptraining.com/devconnections/abstracts  

Your continued support of Microsoft ASP.NET Connections and the other DevConnections conferences is appreciated.

Good luck and thank you,  
Paul Litwin
Microsoft ASP.NET Conference Chair  

 

More Posts Next page »