Copyright 2010 Michael Knopf's Blogapplication architecture, asp.net programming, c# programming, website design and developmentRecently I read an article by Sean Wildermuth concering the State of Data Access in Silverlight 4. He provided an excellent chart outlining the Pros and Cons of each data access choice.http://www.mknopf.com/articles/databind-options-in-silverlight-pros-and-cons-of-each.htmlWed, 21 Jul 2010 09:04:58 GMT2010-07-21T09:04:58Databind Options in Silverlight: Pros and Cons of eachA frank and easy to understand overview, in straight forward language, of the latest buzz word MVVM: what it is, how to use it, and if we should even care about at all.http://www.mknopf.com/articles/whats-this-mvvm-thing-and-why-should-i-care.htmlFri, 26 Mar 2010 18:10:11 GMT2010-03-26T18:10:11What's This MVVM Thing and Why Should I Care?Developers spend significant time reading and navigating code fragments spread across multiple locations. The file-based nature of contemporary IDEs makes it prohibitively difficult to create and maintain a simultaneous view of such fragments. We propose a novel user interface metaphor for code understanding and maintanence based on collections of lightweight, editable fragments called bubbles, which form concurrently visible working sets.http://www.cs.brown.edu/people/acb/codebubbles_site.htmThu, 11 Mar 2010 09:18:01 GMT2010-03-11T09:18:01Rethinking the IDE: Coding with BubblesRethinking the User Interface Paradigm of Integrated Development EnvironmentsA brilliantly executed video that delivers a compelling and emotional message to the audience about seat belt safety.http://www.mknopf.com/articles/embrace-life---always-wear-your-seatbelt.htmlWed, 24 Feb 2010 11:51:43 GMT2010-02-24T11:51:43Embrace Life - Always Wear Your SeatbeltIn this fascinating talk given by Ed Catmull, a founding member of PIXAR, he provides critical insight into the success and failures of teams of people and companies as a whole. You should really watch the entire talk, it is well worth your timehttp://www.mknopf.com/articles/its-all-about-the-development-team.htmlFri, 12 Feb 2010 12:18:55 GMT2010-02-12T12:18:55Its all about the development teamDevelopers (good and bad) can grow stronger by stretching themselves and learning new ideas and approaches. Even if they ultimately don’t use something new directly, the act of learning it can sharpen them in positive ways.http://weblogs.asp.net/scottgu/archive/2010/01/24/about-technical-debates-both-in-general-and-regarding-asp-net-web-forms-and-asp-net-mvc-in-particular.aspxMon, 25 Jan 2010 11:14:44 GMT2010-01-25T11:14:44Growing stronger by stretching yourselfAbout Technical DebatesThere is never only “one right way” to develop something. As an opening interview question I sometimes ask people to sort an array of numbers in the most efficient way they can. Most people don’t do well with it. This is usually not because they don’t know sort algorithms, but rather because they never think to ask the scenarios and requirements behind it – which is critical to understanding the most efficient way to do ithttp://weblogs.asp.net/scottgu/archive/2010/01/24/about-technical-debates-both-in-general-and-regarding-asp-net-web-forms-and-asp-net-mvc-in-particular.aspxMon, 25 Jan 2010 11:04:57 GMT2010-01-25T11:04:57There is never only “one right way” to develop somethingAbout Technical DebatesIf you design applications that anyone in the world, other then yourself, will use then you really need to be thinking about usability during the entire development process. Some of you (hopefully) have heard of Steve Krug, the author of Don't Make Me Think. This is a great video of a talk Steve gave that covers The Least We Can Do to create usuable software.http://www.mknopf.com/articles/the-least-i-can-do-designing-applications-people-can-actually-use.htmlWed, 06 Jan 2010 17:04:09 GMT2010-01-06T17:04:09The Least I Can Do: Designing Applications People Can Actually UseBing has release a Maps SDK for use in your Silverlight projects. In this white paper we will cover how to use the SDK to display weather conditions for cities across the United States. The real-time weather data will be retrieved using the WeatherBug API and shown on the map. We will animate the weather conditions (a glowing sun for Sunny conditions, a raining cloud for Rain, etc...) and cover some core concepts along the way, specifically use of a Controller mechanism in your Silverlight projects, parsing XML into your own data model that can be returned from a Web Service, and of course getting up to speed with the Bing Maps SDK for Silverlight.http://www.mknopf.com/articles/creating-a-weather-map-using-the-bing-silverlight-map-sdk-and-weatherbug.htmlWed, 23 Dec 2009 19:55:08 GMT2009-12-23T19:55:08Creating a Weather Map using the Bing Silverlight Map SDK and WeatherBugBuilding Silverlight application takes time, effort, patients, and tools (yes, you have to have some tools). In this post we will cover: where to get the necessities and some useful additional tools, as well as straight talk about the awesomeness, disadvantages, and difficulties of building Silverlight applications. We will also cover the basics of XAML, referencing and using related assemblies, and the how Expression Blend and Visual Studio make it all happen.http://www.mknopf.com/articles/silverlight-straight-talk-the-awesomeness-disadvantages-and-difficulties-in-silverlight.htmlMon, 07 Sep 2009 20:03:27 GMT2009-09-07T20:03:27Silverlight Straight Talk: The Awesomeness, Disadvantages, and Difficulties in SilverlightIn this post we will cover Silverlight from start to finish; including architecting, coding, testing, and deploying real-world Silverlight apps. We will also discuss security, its limitations, and what you need to know to secure your application and WCF services and deploy them to IIS.http://www.mknopf.com/articles/building-real-world-data-driven-silverlight-applications.htmlSat, 29 Aug 2009 22:43:54 GMT2009-08-29T22:43:54Building Real-World Data-Driven Silverlight ApplicationsI've been working for several months on a Silverlight project and decided to upgraded from Silverlight 2 to Silverlight 3. The installs of the Toolkit and Visual Studio SDK's went well as did the upgrade to the project, however once the upgrade was done I compiled the project and was promptly smacked in the face with 182 compilation errors, 4 of which were Error 6 Custom tool error: Failed to generate code for the service reference 'Your Service Ref Name Here'. Please check other error and warning messages for details. 'Path to your Service Ref Resources File Here' and the rest were the typical cannot find, are you missing an assembly reference?http://www.mknopf.com/articles/upgrading-from-silverlight-2-to-silverlight-3-breaks-existing-wcf-service-references.htmlMon, 13 Jul 2009 12:46:30 GMT2009-07-13T12:46:30Upgrading From Silverlight 2 to Silverlight 3 Breaks Existing WCF Service ReferencesHave you ever been at the gym, running on a treadmill, while the guy next to you (who is in much better shape I might add) is not only running faster than you but appears to be doing it with ease. You adjust your speed trying keep up, it works for awhile and you feel good about it, but eventually fatigue sets in and you find it increasingly more difficult to stay on pace. Eventually you have to slow down to something thats "sustainable", something you can keep up for your entire workout. Learning (and working) can, and often is, just like this.http://www.mknopf.com/articles/learning-fatigue-sustainable-pace-and-a-programmers-death-march.htmlSat, 23 May 2009 16:28:39 GMT2009-05-23T16:28:39Learning Fatigue, Sustainable Pace, and a Programmers Death MarchAt some time in your career you will need to interview for a job, if you own your own consulting firm then you are most likely interviewing for jobs on a weekly basis (by pitching clients to contract you for work). Preparing for technical job interviews requires a great deal of research, work, and most of all patience. This article provides a list of questions and answers that I fielded while interviewing for senior level software development positions, it is a collection of my experiences during 17 different job interviews with 10 companies including NASA (who offered me a job)...http://www.mknopf.com/articles/preparing-for-technical-job-interviews.htmlFri, 27 Mar 2009 00:00:00 GMT2009-03-27T00:00:00Preparing for technical job interviewsThe GET method appends name/value pairs to the URL, allowing you to retrieve a resource representation. The big issue with this is that the length of a URL is limited (roughly 3000 char) resulting in data loss should you have to much stuff in the Form, so this method only works if there is a small number of parameters. What does this mean for me? Read more and find out...http://www.mknopf.com/articles/whats-the-difference-between-the-get-and-post-http-request-methods.htmlFri, 14 Nov 2008 00:00:00 GMT2008-11-14T00:00:00What's the Difference Between the GET and POST HTTP Request MethodsRepresentational state transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web. As such, it is not strictly a method for building what are sometimes called "web services." The terms “representational state transfer” and “REST” were introduced in 2000 in the doctoral dissertation of Roy Fielding, one of the principal authors of the Hypertext Transfer Protocol (HTTP) specification...http://en.wikipedia.org/wiki/Representational_State_TransferThu, 13 Nov 2008 00:00:00 GMT2008-11-13T00:00:00What is REST and why we care about itWikipediaWith REST gaining popularity at an exponential rate Microsoft released the ASP.NET WCF REST Starter Kit Alpha on Oct. 27, 2008 to provide a solid starting place for developers interested in building WCF applications using Representational state transfer (REST).http://www.mknopf.com/articles/windows-communication-foundation-rest-starter-kit.htmlThu, 13 Nov 2008 00:00:00 GMT2008-11-13T00:00:00Windows Communication Foundation (WCF) REST Starter KitMicrosoft's newest initiative for ASP NET, the Model View Controller (MVC) Framework, has been released as a Beta 1 after 5 iterations in "Preview" mode. After many years of ASP.NET's major reliance on its Web Forms technology, which has regularly under performed especially in larger application, we see ASP.NET moving back toward the traditional HTML posting...http://www.mknopf.com/articles/aspnet-mvc-framework-beta-1-is-released.htmlTue, 21 Oct 2008 00:00:00 GMT2008-10-21T00:00:00ASP.NET MVC Framework Beta 1 is releasedORM (Object Relational Mapping) systems are useful in getting you started with a project. They help you to quickly create objects that model your Data Source letting you interact with the data in a simple and intuitive manner, however there are problems that you need to be aware of...http://www.mknopf.com/articles/when-orm-becomes-a-problem.htmlSat, 18 Oct 2008 00:00:00 GMT2008-10-18T00:00:00When ORM becomes a problemMaking your website project a success requires effort from everyone involved. Finding a talented reliable and responsive development firm that has the skills you need can be an enormous challenge. Here's some information you need to know...http://www.mknopf.com/articles/making-your-website-project-a-success.htmlTue, 14 Oct 2008 00:00:00 GMT2008-10-14T00:00:00Making your website project a successthe basics of building a site using ASP NET are straight forward and made easy with tools such as Visual Studio. ASP.NET web forms have come a long way since they were first introduced with the .NET framework, however we have come to discover that Web Form are problematic and regularly under-perform...http://www.mknopf.com/articles/aspnet-web-form-disadvantages.htmlMon, 15 Sep 2008 00:00:00 GMT2008-09-15T00:00:00ASP.NET Web Form DisadvantagesWhen most of us design our databases we tend to think of them as related (and un-related) tables that contain data. It is common to normalize our tables in order to create a cleaner, more manageable, and intuative Database design. Normalized means separate tables via foreign key relationship, there are however things that we should consider before we normalize our system...http://www.mknopf.com/articles/normalized-vs-denormalized.htmlTue, 09 Sep 2008 00:00:00 GMT2008-09-09T00:00:00Normalized vs. DenormalizedBoth Double and Float are calculated values, meaning they can result in “off by one” errors. What's an "off by one" error and why should i care? Both the Double and Float values in .NET will have their decimal points truncated results in precision errors. This really comes in to play when dealing with money of any kind, especially if you use the Math.Round() method...http://www.mknopf.com/articles/double-vs-decimal--why-you-need-to-know-the-difference.htmlMon, 04 Aug 2008 00:00:00 GMT2008-08-04T00:00:00Double vs. Decimal - Why you need to know the differenceLazy Loading is the idea of providing an objects related information only when you actually need it, instantiating related objects and populating its properties when its first requested and not before. This reduces the amount of processing power required by giving you what you ask for in smaller bites (or should i say Bytes)...http://www.mknopf.com/articles/basics-of-lazy-loading.htmlMon, 21 Jul 2008 00:00:00 GMT2008-07-21T00:00:00Basics of Lazy LoadingThe Class Card object modeling technique is an extremely easy and simple way to design your applications objects. As an alternative to UML Diagrams, Class Cards are simply 3.5in X 5in pieces of paper (index cards) that you write information on about each object in your application. It helps you think about your design in a "object oriented" manner, something most of us can relate with because we deal with "objects" each and every day of our lives...http://www.mknopf.com/articles/responsibility-driven-design-using-the-class-card-technique.htmlWed, 18 Jun 2008 00:00:00 GMT2008-06-18T00:00:00Responsibility-Driven Design using the Class Card Techniquehttp://www.mknopf.com/articles.rssMichael Knopf's BlogSun, 13 Jan 2008 11:25:38 GMTen-us