Microsoft Releases Windows 8 Consumer Preview

Today Microsoft has released a consumer preview of the Windows 8, the next version of the Windows Operating System.  Download the Windows 8 Consumer Preview here.


Microsoft Developer Evangelist Jennifer Marsman has posted an awesome list of resources to help you get started developing applications for Windows 8.

I have also gathered some useful links for Windows 8 on

Nwa GiveCamp 2012 - March 30, 2012 to April 1, 2012

NwaGiveCampLogo The 2nd Annual Northwest Arkansas GiveCamp is on it’s way.

This year it will be from March 30, 2012 to April 1, 2012 and will be hosted at the Center for NonProfits located in Rogers, AR.

What is a GiveCamp?

GiveCamp is a weekend-long event where software developers, designers, and database administrators donate their time to create custom software for non-profit organizations. This custom software could be a new website for the nonprofit organization, a small data-collection application to keep track of members, or a application for the Red Cross that automatically emails a blood donor three months after they’ve donated blood to remind them that they are now eligible to donate again. The only limitation is that the project should be scoped to be able to be completed in a weekend.

During GiveCamp, developers are welcome to go home in the evenings or camp out all weekend long. There are usually food and drink provided at the event. There are sometimes even game systems set up for when you and your need a little break! Overall, it’s a great opportunity for people to work together, developing new friendships, and doing something important for their community.

At GiveCamp, there is an expectation of “What Happens at GiveCamp, Stays at GiveCamp”. Therefore, all source code must be turned over to the charities at the end of the weekend (developers cannot ask for payment) and the charities are responsible for maintaining the code moving forward (charities cannot expect the developers to maintain the codebase).

Participating in NWA Give Camp last year was perhaps the most exciting professional experience of my life. The creativity, energy, commitment, and talent were inspiring! The recipient charities were so grateful and excited to see their projects being born.

Join us this year for an experience you won’t forget! The food is pretty good, too! Karen – System Analyst

Get Involved!

Attending a GiveCamp is a great way to give back to the community in a way that impacts in a huge way.  For a single weekends efforts you could be the difference in a charity being able to achieve it’s goal for the year, or even the foreseeable future.   You can volunteer at, better yet build a team and adopt a charity.  Challenge other departments in your company to get more people involved and make it fun.  I guarantee this will be one of the most rewarding weekends you have experienced as a technical professional.  You can make a difference!

Arkansas User Group Meetings–February 2012

Here is the listing of all the User Group meeting in February 2012 that I know of.  If you know of a User Group meeting in the area please add to the comments.

Little Rock .NET User Group

Exploring iOS Development - Chris Varn

Mobile development is a necessity to stay relevant in today’s day and age. iOS, along with Android, is the leading platform for mobile development. Join us as we discuss the mobile landscape and where iOS fits. We will explore the differences between Objective-C and C# and what it takes to get started in iOS development. We will then go through the process of writing an app.

When: February 9, 2012 – 6:00 PM
Where:  Pulaski Technical College - Lecture Room B Campus Center - 3000 West Scenic Drive North Little Rock, AR 72118

Fort Smith .NET User Group 

Ruby on Rails on Windows – Taylor Otwell

If you're a Windows person, getting started with Rails hasn't always been easy. Thankfully, that has changed! We'll quickly walk through installing Ruby, Rails, and Git on your machine. Then, we'll take a look at some of the slick features of the Ruby on Rails web framework while making a few comparisons to ASP.NET MVC. Finally, we'll deploy a simple application to the cloud using Git and Heroku!

New Location: ABF General Office
When: February 13, 2012 – 6:00 PM
Where: ABF General Office - 3801 Old Greenwood Rd Fort Smith, AR 72903

Northwest Arkansas Project Management Institute

The Art of Stakeholder Management – James T. Brown Ph.D, PMP, PE, CSP, President SEBA Solutions Inc.

Great project managers know that success goes beyond the triple constraint deliverables and includes managing stakeholder expectations. Three aspects of managing stakeholder expectations are:

  1. Know your stakeholders
  2. Know what you are supposed to deliver from the perspective of the stakeholder
  3. Hold your stakeholders accountable to the realities of the project (regardless of the position of the stakeholder, the attitude of the stakeholder, or the availability of the stakeholder).

This presentation provides tactics to identify, herd and lead stakeholders to ensure a successful project deliverable with minimum project manager stress level.

When: February 20, 2012 – 6:00 PM
Where: NWACC Jack Shewmaker Center – 1100 SE Eagle Way Bentonville, AR 72712

Northwest Arkansas .NET User Group

Model-View Patterns: Making Sense of MVC, MVP and MVVM – Rob Vetter

The separation enforced by 'Model View' patterns can quickly transform your application into a maintainable, modular and rapidly developed package. New features are easily added, new screens are a snap, testing is enhanced and developers and designers can more easily work simultaneously.

Come compare the Model-View-Controller (MVC), Model-View-Presenter (MVP) and Model-View-View-Model (MVVM) patterns. In this session, we'll...

  • Explore the foundation, benefits and drawbacks of each pattern at an architectural level
  • Contrast differences between each pointing out applicable situations where each may apply
  • Walk through a variety of examples on the Microsoft platform, including Microsoft MVC, ASP.Net, Silverlight and Windows Presentation Foundation

    You'll walk away with a clear understanding of each pattern, with examples that you can implement in your projects.

    When: February 28, 2012 – 6:00 PM
    Where:  University of Phoenix -  1800 S. 52nd St, Suite 100 Rogers, AR 72758

    Northwest Arkansas SQL Server User Group

    Entity Framework for DBA’s – Rob Vetter

    While most enterprise applications are object-oriented, the data upon which they depend is not. Often, binding these two platforms together can result in significant amounts of lost productivity and a less than optimal solution.

    To resolve these shortcomings, Microsoft has created the ADO.NET Entity Framework and is now strongly recommending that development teams implement it in their applications.

    As a DBA, you’ll need to understand how the Entity Framework works and how it affects your role as a DBA.
    In this session, we’ll…

    • Explore the Entity Framework 4.0, its related components and show how it all works
    • Demonstrate the various ways to build a business object model (Entity Data Model) and map it to an underlying database
    • Walk through a variety of examples of how to interact with the model, including LINQ, Entity SQL and Stored Procedures
    • Show how the Entity Framework can generate select, insert, update and delete SQL statements on the fly
    • Explore the Entity Framework’s impact on permissions, connections, transactions, performance, security and concurrency

    You’ll walk-away with a clear understanding of how the Entity Framework 4.0 works, why developers and architects want to implement it and how it affects your role as a DBA.

    When: February 29, 2012 - 11:30 AM – 1:00 PM
    Where: University of Phoenix - 1800 S. 52nd St, Suite 100 Rogers, AR 72758

    LINQ: Exception, Null or Object?

    I have run into a problem.  LINQ didn’t behave as I had expected when trying to query an object from a list.  So I set out to figure out what I didn’t know.  Turns out I am not alone in this since I have been asked about it several times. This post  will look at what you can expect to happen when you query a list of objects that does not contain the item you are looking for.  This can produce three different outcomes depending on the way you approach it.  You will either get an exception, a null object or an empty object.

    Before we begin we need a class to give us some useful data to query against.

    I created a real simple Item object with just an id and name, as well as, a simple class to build up a IQueryable<Item> for us to run some LINQ queries against.

       1:      public class Item
       2:      {
       3:          public int Id { get; set; }
       5:          public string Name { get; set; }
       6:      }
       8:      public class ItemData
       9:      {
      10:          public IQueryable<Item> GetItems()
      11:          {
      12:              var users = new List<Item>
      13:                  {
      14:                      new Item {Id=1, Name = "Item 1"},
      15:                      new Item {Id=2, Name = "Item 2"},
      16:                      new Item {Id=3, Name = "Item 3"},
      17:                      new Item {Id=4, Name = "Item 4"},
      18:                      new Item {Id=5, Name = "Item 5"},
      19:                  };
      21:              return users.AsQueryable();
      22:          }
      23:      }



    var single = items.Single(x => x.Id == 10);

    Single returns the single, specific item from a sequence of values that matches your query.  Single throws an exception if there is not exactly one element in the sequence.  In my testing when looking for an item not in the sequence it threw [System.InvalidOperationException] = {"Sequence contains no matching element"}.

    Single with DefaultIfEmpty

    var singleDefaultIfEmtpy = items.DefaultIfEmpty(new Item()).Single(x => x.Id == 10);

    So what changes of we add the .DefaultIfEmpty(new Item()) to the query?  None at all, it still throws [System.InvalidOperationException] = {"Sequence contains no matching element"}.


    var singleOrDefault = items.SingleOrDefault(x => x.Id == 10);

    This one is a little better, it doesn’t throw an exception it returns null.  Why didn’t it return an empty Item object?  You’d think that would be the default and that it could figure it out because it knows what type of object we are querying for.  Nope, if you don’t specify the default value you get null.

    SingleOrDefault with DefaultIfEmpty

    Ok, so lets specify a default value with .DefaultIfEmpty.

    var singleOrDefaultIfEmpty = items.DefaultIfEmpty(new Item())
                    .SingleOrDefault(x => x.Id == 10);

    I expected to get a new Item object, but guess what I got null.  I couldn’t figure out why, the documentation states ‘The SingleOrDefault method does not provide a way to specify a default value. If you want to specify a default value other than default(TSource), use the DefaultIfEmpty(Of TSource)(IEnumerable(Of TSource), TSource) method as described in the Example section.’

    I did that yet I still got a null, and not an empty Item object.  Hopefully, you guys can tell me why.

    First and FirstOrDefault, Last and LastOrDefault

    First, FirstOrDefault and Last and LastOrDefault gave the same results as their respective counterparts.  It appears that the OrDefault doesn’t mean anything.


    Let’s look at using Where(), cause hey let’s be honest this is the way I write most of my queries anyway.  Where by itself returns IQueryable<T> which what we expect, but let’s look at what happens when use DefaultIfEmpty by itself and with First and FirstOrDefault.

    Where with DefaultIfEmpty

    var whereDefaultIfEmpty = items.Where(x => x.Id == 10)
                    .DefaultIfEmpty(new Item());

    Hey, we are finally starting to get some results, this returned a new Item object.

    Where with First

    Ok, so what if we put First?

    var whereFirst = items.Where(x => x.Id == 10).First();

    Oh, here is our old friend InvalidOperationException, no joy!

    Where with First and DefaultIfEmpty

    So, for fun let’s see if adding the DefaultIfEmpty makes a difference.
    var whereFirstDefaultIfEmpty = items.Where(x => x.Id == 10)
                    .DefaultIfEmpty(new Item())

    This return a new Item object. Ok, so now we are starting to see when DefaulIfEmpty helps. Remember just using it with First without Where just threw an exception.

    Where with FirstOrDefault

    var whereFirstOrDefault = items.Where(x => x.Id == 10).FirstOrDefault();

    This behaved no different than just using FirstOrDefaul(x=> x.Id == 10), we got a null.

    Where with FirstOrDefault and DefaultIfEmpty

    Ok, so DefaultIfEmpty made a difference when using First, let’s hope it does the same for FirstOrDefault.

    var whereFirstOrDefaultIfEmpty = items.Where(x => x.Id == 10)
                    .DefaultIfEmpty(new Item())

    Eureka! A new Item object.


    From what I was able to figure out reading the online documentation and my own testing it I recommend using DefaultIfEmpty() with Where() alone or with FirstOrDefault.  But remember using it with Single, SingleOrDefault, First, FirstOrDefault, Last, or LastOrDeafult will not get you the default object, you will either get an InvalidOperationException or  null.

    Now that I understand how and when DefaultIfEmpty makes a difference I can create LINQ queries that return the results I expect and I will be able to predict if I will get an Exception, Null or Object.

    If you have experienced something different, disagree, or have a better way to approach this please post a reply.  The discussion just makes all of us better.

    Definitions of Designations

    Saw this on Google+ posted by Eric Miao and just had to share it.  I am not sure where he got it but it sure made me laugh.

    Definitions of Designations

    • Project Manager is a Person who thinks nine women can deliver a baby in One month.
    • Developer is a Person who thinks it will take 18 months to deliver a Baby.
    • Onsite Coordinator is one who thinks single women can deliver nine babies in one month
    • Client is the one who doesn’t know why he wants a baby.
    • Marketing Manager is a person who thinks he can deliver a baby even if no man or woman are available
    • Resource Optimization Team thinks they don’t need a man or woman; they’ll produce a child with zero resources
    • Documentation Team thinks they don’t care whether the child is delivered, they’ll just document 9 months
    • Quality Auditor is the person who is never happy with the PROCESS to produce a baby
    • Tester is a person who always tells his wife that this is not the Right baby
    • HR Manager is a person who thinks that a donkey can deliver a human baby in given 9 months


    <<  February 2023  >>

    View posts in large calendar

    Widget Category list not found.

    Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))X

    Tag cloud

      Widget Month List not found.

      Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))X

      Widget AuthorList not found.

      Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))X

      Widget TextBox not found.

      Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))X