Bootstrap Slider
World News
Mark Sheldon is a Northern California Web Developer who has been building Database Management Systems since 1987, and Internet Systems since 1996, acting as sole or lead developer on projects for clients that include Corporate Clients, Government Agencies, and Small Businesses. He has worked with the .NET Platform since mid 2001 and adopted it as his primary development platform on its 1.0 release in 2002 ...

To quote musician Paul Simon, we live in an age of miracle and wonder. And yet, I can't make my printer behave.
The Engineer’s Path: Two Decisions That Define a Career
To manage or not to manage--that is the question facing many engineers. But Krishnan Rangachari says the true, fundamental question for engineers is one of courage.
DDD-Friendlier EF Core 2.0, Part 2
Julie Lerman continues her discussion of EF Core 2.0 features that align nicely with Domain-Driven Design (DDD) principles, this time evolving the classes to look more like what you’d write for a real-world implementation of DDD patterns.
How To Be MEAN: Angular Plays Fetch
In his latest MEAN stack exploration, Ted Neward shows how an Angular service can fetch data from an HTTP API.
Exploring Azure ML Studio
Modern Apps columnist Frank Lavigne transitions to covering artificial intelligence, machine learning and data science in his newly rebranded column, Artificially Intelligent.
From Algorithms to Coroutines in C++
It's often said that C++ developers should expunge all naked for loops and replace them with algorithms. Kenny Kerr gets after that goal with his effort to build a range algorithm using C++ coroutines.
Write a Windows Device Portal Packaged Plug-in
Windows Device Portal (WDP) is a Web-based diagnostics system that is built into most editions of Windows. With the Windows 10 Creators Update, developers can extend their Windows Store apps with custom REST APIs, by using the Windows Device Portal API to implement a WDP packaged plugin.
Building Better Cloud Deployments: 5 Steps to Immutability
Cloud deployments present a host of challenges and compromises. Immutable infrastructures help developers gain control over complex deployments and prevent creeping changes from producing failures. Here’s how.
Speed Thrills: Could Managed AJAX Put Your Web Apps in the Fast Lane?
Speed is king when it comes to Web sites and Web apps. Now Thomas Hansen says he’s developed a scheme to sharply reduce bandwidth consumption and make it possible for Web apps to be much mire responsive than before.
Multiplayer Networked Physics for Web Game Development
Is it possible to write a good game for the browser? Gary Weiss explores this question, with a hands-on implementation of a JavaScript-based, multiplayer game employing networked physics.
Policy-Based Authorization in ASP.NET Core
ASP.NET Core adds support for authorization policies, which are more powerful and flexible than the traditional role-based approach.
Time-Series Regression Using a C# Neural Network
Time-series regression is used to make predictions based on historical time data. James McCaffrey demonstrates how to perform this kind of analysis using rolling-window data combined with a neural network, which can lead to more accurate results.
A Measure of Displeasure
An evening spent trying to connect to Harvard's WiFi network inspired David Platt to concoct a metric for determining the pain wrought by bad UX.
Hard Core: Focus on .NET Core 2.0 and .NET Standard 2.0
Version 2.0 of Microsoft's cross-platform ,NET pivot changes everything. Join us as we explore .NET Core 2.0, ASP.NET Core 2.0, and .NET Standard 2.0.
Cookies, Claims and Authentication in ASP.NET Core
Dino Esposito explains plain direct claims-based authentication in ASP.NET Core.
DDD-Friendlier EF Core 2.0
Learn how EF Core 2.0 understands one-to-one uni-directional relationships and how it can persist data from entities where scalar, navigation and collection properties are fully encapsulated. You’ll also see how to use value objects in your domain model and how to persist those as well.
Demystifying .NET Core and .NET Standard
As the newest members of the .NET family, there is a lot of confusion about the differences between .NET Framework, .NET Core, and .NET Standard. Immo Landwerth explains exactly what each of these are, and looks at when you should choose to use each one.
Write .NET Apps How and Where You Want
.NET developers now have the ability to write applications targeting the platform of their choice, while using the same great developer tools that have been a hallmark of .NET development. Learn about the first-class tooling available to you no matter your personal work style or operating system.
Getting Started With ASP.NET Core 2.0
Mike Rousos walks you through developing a simple ASP.NET Core Web site, showing what role each file in an ASP.NET Core project plays and explaining important ASP.NET Core concepts along the way.
Simpler ASP.NET MVC Apps with Razor Pages
Steve Smith explains why you shouldn’t write off Razor Pages as just a “training wheels” feature meant for hobbyist programmers. Learn how Razor Pages (alone or in combination with traditional controller-and-view pages) can improve the design of your ASP.NET Core applications.
Snapshot Debugging for Production Apps and Services in Azure
Nikhil Joglekar gives an overview of snapshot debugging and how it can help diagnose production code bugs, details on how to use the snapshot debugger with VS and App Insights, and a technical overview of how it’s achieved.
Deep Neural Network Training
James McCaffrey explains how to train a DNN using the back-propagation algorithm and describes the associated "vanishing gradient" problem. You'll get code to experiment with, and a better understanding of what goes on behind the scenes when you use a neural network library such as Microsoft CNTK or Google TensorFlow.
How To Be MEAN: Servicing Angular
Ted Neward introduces the concept of an Angular service, shows how it relates to component-oriented design, and begins refactoring a sample project over to using services to manage the data access against the HTTP API built earlier in the series.
Protocol Registration and Activation in UWP Apps
Easily extend the features set of your Universal Windows Platform apps by launching other apps pre-populated with data using protocol activation.
When Software Sucks
Bad software is more than an inconvenience. It's an obstacle to productivity and achievement. David Platt's daughter Annabelle Platt shows how bad software is hard at work in the educational space.
MEAN Machine
The Working Programmer column has been exploring the MongoDB, Express, Angular and Node.js (MEAN) stack since August 2015. Ted Neward talks about his two years with MEAN and what to expect next.
3 Demands: Mastering the Job Hunt
Skills, experience, achievement. Prove to employers your worth in these three areas, and you'll stand out from the crowd.
Creating Extensions for Multiple Visual Studio Versions
Each new version of Visual Studio produces challenges for developers creating extensions for the IDE. Learn how to create a single Visual Studio package that can work on every version of Visual Studio from 2012 to 2017, by following best practices.
How Xamarin.Forms Customization Took an FAA Drone App Higher
Xamarin.Forms is the Federal Aviation Administration’s first choice to build an iOS and Android app for drone flyers. The critical map portion of the project depends on platform-specific development using the broad range of customization options in Xamarin.Forms.
Git Internals: Architecture and Index Files
Jonathan Waldman continues his series on Git internals with an exploration of the Git “three-tree” architecture and the importance of its index file.
Actionable Messages for Outlook
Actionable Messages let users execute actions and complete tasks within Outlook. The author describes how they work and walks through the steps to create Actionable Messages and execute actions safely and securely.
Batch Processing Using a Serverless Architecture
Cloud computing services provide an ever-increasing array of capabilities that may simply be configured and consumed. This article explores a simple architecture and implementation for batch processing of Azure usage data.
Deep Neural Network IO Using C#
Many of the recent advances in machine learning, like making predictions using data, have been realized using deep neural networks (DNNs). James McCaffrey introduces you to DNNs and explains how they work.
How To Be MEAN: Up-Angular-izing
As Angular applications grow and evolve, the required work to keep them up-to-date with the latest versions of Angular is (for the moment, anyway) trivial.
C# 7.0: Tuples Explained
Mark Michaelis delves into the workings of tuples, a new feature of C# 7.0, covering the full breadth of the syntax options.
Salt and Pepper
On the 50th anniversary of the Beatles album, "Sgt. Pepper's Lonely Hearts Club Band," David Platt considers how technology has changed the consumption of art.
Machine Learning Goes Mainstream
Machine learning isn't just for researchers and data scientists anymore. The July issue of MSDN Magazine highlights the tooling and platforms that are bringing machine learning to the masses.
The First Quarter
You get one chance to make a first impression, and one chance to make a good start at a new job. Here's six ways to ensure you hit the ground running.
Finding the Cheese in ASP.NET Core
Dino Esposito focuses on registering the MVC application model in ASP.NET Core, defining conventional routes and controllers, and passing global data around.
On-the-Fly SQL Servers with Docker
Julie Lerman shows you a simple way to share a pre-configured database along with a SQL Server across your team, allowing everyone to have a locally running server and a local copy of the database. And, because you’re doing it all with a container, nobody needs to install SQL Server on their computer or execute any scripts to get the database set up for use.
Cognition at Scale with U-SQL on ADLA
Companies providing cloud-scale services have an ever-growing need to store and analyze massive data sets. U-SQL provides the expressibility necessary for advanced analytics tasks, like machine learning and operating seamlessly on cloud-scale data.
Introduction to the Microsoft CNTK v2.0 Library
Learn how to use the Microsoft Cognitive Toolkit (CNTK), a powerful, open source library that lets you create machine learning prediction models—in particular, deep neural networks that are at the forefront of artificial intelligence efforts such as Cortana and self-driving automobiles.
Doing Data Science and AI with SQL Server
Learn how to leverage your experience working with databases to do data science. SQL Server 2016 is bursting with exciting intelligence capabilities that enable you to run R code right where the data is.
Scale Applications with Microsoft Azure Redis and Machine Learning
Stefano Tempesta presents design best practices and code examples for implementing the Azure Redis Cache and tuning the performance of ASP.NET MVC applications. Learn to optimize cache hit ratios and reduce “miss rates” with smart algorithms processed by machine learning.
ASP.NET Core with Angular, Web API and Azure DocumentDB
Angular, Web API and Azure DocumentDB are each great technologies to have in your development arsenal. Combined they enable developers to quickly build apps at scale.
How To Be MEAN: Angular Ins and Outs
Ted Neward adds an “upvote”’ component to the Angular front end, and in doing so, demonstrates how to handle input and output to an Angular component.
Launch Other Applications from Your UWP App
Easily extend the feature set of your Universal Windows Platform apps by launching other apps pre-populated with data using protocol activation.
Live and in Concert
David Platt attended the Microsoft Build 2017 conference in Seattle this year. Here's what he came away with.
Grokking Git
Git is a powerful, decentralized version control system and repo, but developers face a learning curve if they want to take full advantage of its capabilities.
Stop Stalling: 8 Steps to Better Productivity
The costs of procrastination can pile up, creating stress, frustration and a parade of broken deadlines, Break the cycle with these simple tricks.
Visual Studio Code: Create a Database IDE with MSSQL Extension
Julie Lerman shows how you can turn VS Code into a smart IDE for a variety of SQL Server databases—Microsoft SQL Server, Azure SQL Database and SQL Data Warehouse—by taking advantage of the mssql extension.
Use Azure IoT Suite to Boost IoT Development
The Azure IoT Suite preconfigured solutions can help mitigate the complexity of building comprehensive IoT applications. Dawid Borycki shows how to set up the preconfigured remote monitoring, which collects and displays information about images acquired with the webcam attached to the remote device, and also lets you remotely control the IoT device.
Git Internals for Visual Studio Developers
Learn how Git works within the newly released Visual Studio 2017 IDE and how the Git repo is implemented in the file system. Then delve into the topology of the Git data store, the structure and content of its various storage objects, and the make up of Git branches..
Authentication and Data Access with Visual Studio Mobile Center
Learn how the Visual Studio Mobile Center eases implementation of authentication and tables for mobile apps with a cross-platform example based on Xamarin.Forms
Make C# More Dynamic with Hyperlambda
Thomas Hansen explains Hyperlambda, his “non-programming language” that makes C# dynamic, and provides all the benefits of interpreted languages within the context of the static typing of C#.
Restricted Boltzmann Machines Using C#
Restricted Boltzmann Machines are fascinating software components somewhat similar to basic neural networks. James McCaffrey describes how they work, shows a demo program, and gives an example of how RBMs can be used.
Custom Iterators with Yield
Mark Michaelis continues his exploration into the internals of the C# foreach statement, with a focus on the new contextual keyword—yield—that C# uses to generate the underlying CIL code that implements the iterator pattern used by the foreach loop.
I’m Still Flying, Part 2
When David Platt set his students on prototyping a medical app, he thought it would be a powerful case-in-point lesson. As it turned out, it became so much more.
Build Quality
Build 2017 promises to set the agenda for Microsoft's development efforts for the next year and beyond. What can we expect from the event?
Acing Interviews: Displaying Technical Skill Is Only Half the Battle
Technical skill alone isn't enough to get an offer from an interview. Krishnan Rangachari describes five major skills you need to project excellent behavioral performance and to improve you pay and position.
ASP.NET Core for ASP.NET Developers
ASP.NET Core provides a couple of capabilities you won't find on any other ASP.NET platform: full control over the pipeline with the ability to create super-simple minimal Web services and applications that can run outside Windows.
Cross-Platform Code Generation with Roslyn and .NET Core
Alessandro Del Sole shows you how set up a C# project on .NET Core to use the Roslyn APIs. Now you can write C# code to build cross-platform Console and Web applications that run on Windows, Linux and macOS.
Protect Web Apps Using Microsoft Content Moderator
With the proliferation of user generated content, curation and moderation is critical to keep your Web apps clean from offensive content. Microsoft Content Moderator provides a unique hybrid solution where Machine Learning and Computer Vision complement human reviewers.
Compliance as Code with InSpec
InSpec is an open source project that lets you define your compliance requirements in a human- and machine-readable language. Once you’ve codified your requirements, you can run them as automated tests that audit your systems.
Optimize Telemetry with Application Insights
Service monitoring can consume a lot of resources to process and store telemetry data. How do you reduce the burden while preserving accuracy and analytical depth? Victor Mushkatin and Sergey Kanzhelev show how Application Insights can help with the challenge.
Working with Raspberry Pi and Windows 10
Although small, the Raspberry Pi is a powerful computer. Now you can run Windows 10 applications on the popular IoT client platform the same way you could on a desktop machine. This article shows how to use Raspberry Pi to develop projects using C#.
Use Modern C++ to Access the Windows Registry
Access the Windows registry using modern C++. Learn how the complex RegGetValue C-interface API is wrapped in higher-level convenient C++ code to easily read values of different types from the registry. Several C++ techniques discussed in this article for the Registry API can be applied to other Win32 C APIs, as well.
How To Be MEAN: Angular CRUD
Ted Neward explores the Angular components in detail, and shows how the time and effort spent building them can pay off down the road.
Deep Dive into Map Control
The Map control for the Universal Windows Platform (UWP) does much more than simply render maps or show traffic. The control has access to all of the rich features of Bing Maps, including 3D Cities and StreetSide view. It’s also possible to create rich, interactive mapping solutions
I'm Still Flying
David Platt recounts his experience leading an intensive application design effort as part of his Advanced UX class at Harvard Extension.
The Things We Leave Behind
The Internet of Things has a burgeoning ownership lifecycle problem, and once again the auto industry is helping lead the way.
A Plan for Promotion
The key to getting a job promotion isn't asking for one, it's investing the time and effort into showing that you deserve one. Krishnan Rangachari shows how.
Query JSON Data in SQL Server 2016
Dino Esposito presents JSON-to-rowset native support in SQL Server 2016 and offers a realistic perspective of data query when you have JSON data stored in the database.
Tips for Building Tests with EF Core and Its InMemory Provider
The new EF Core InMemory provider can prove useful when your tests don’t require actual database interaction. Julie Lerman provides an introduction to this handy tool and shares some tips and tricks about creating automated tests with EF Core she discovered while learning to use it.
Bringing Docker To Windows Developers with Windows Server Containers
The release of Windows Server 2016 opened the world of containers to Windows developers. Taylor Brown explores how the partnership with Docker expands those possibilities, leading to benefits for both Windows developers and IT pros.
Modernizing Traditional .NET Apps with Docker
Docker and Windows Server 2016 give apps a new lease on life, adding features, increasing security and performance, and moving toward continuous deployment without a lengthy and expensive rebuild project.
The New Azure App Service Environment
Microsoft Azure provides an updated version of the App Service Environment (ASE), which offers improved scaling and performance while enabling network isolation for cloud-based apps.
Develop Hosted Web Apps for UWP
The Project Westminster bridge enables Web developers to bring their responsive Web applications to the Windows Platform by leveraging existing code. Learn how to align Web apps to deliver the best UX possible, while running as a platform app.
Kernel Perceptrons using C#
Unlike ordinary perceptrons, which can perform binary classification on simple, linearly separable data, a kernel perceptron can be used to handle non-linearly-separable data. The demo program in this article creates a prediction model using a kernel perceptron, as James McCaffrey explains.
Understanding C# foreach Internals and Custom Iterators with yield
Mark Michaelis delves Into the internals of a core construct of C# —the foreach statement—then explores implementing the foreach collection interfaces using the yield statement.
Exploring the Map Control
The UWP comes equipped with a fully functional Map control that leverages the power and imagery of Bing’s mapping services. In this column, you’ll explore the Map control and learn just how easy it is to add to your apps.
In the grand tradition of Rich Hall's Sniglets, our own David Platt offers a selection of apps that don't exist but really, really need to.
Betting on Bots
Microsoft has been pushing hard on bots and what it calls "conversation as a platform." What does it mean for developers?
Dodging Disaster: Networking Gaffes to Avoid
A networking event or hiring mixer is a great opportunity to advance your career. Unfortunately, too many developers blow it.
Soft Updates with Temporal Tables
In this month's Cutting Edge column, Dino Esposito delves deeper into SQL Server 2016 temporal tables and their use from within Entity Framework.
Hashing Source Code Files with Visual Studio to Assure File Integrity
Mike Lai describes the new Visual Studio switch for choosing the strong SHA-256 hashing algorithm. He explores scenarios where such hashes can prove useful and how to use Visual Studio to generate source code hashes.
Making Bots More Intelligent
Bots offer unparalleled reach with their conversational interfaces and support for channels like Skype and Facebook Messenger. Kevin Ashley shows how to add intelligence to a simple thanks, using Microsoft Cognitive Services.
Active Events: One Design Pattern Instead of a Dozen
Active Events is a design pattern that enables encapsulation and polymorphism. It allows you to separate concerns by creating extendable, reusable components that can be assembled almost as if they were Lego pieces.
Simplify Safe Array Programming in C++ with CComSafeArray
This article shows C++ programming techniques involved in producing arrays of data using the SAFEARRAY data structure and convenient ATL helper classes like CComSafeArray.
Immutable Collections
Immutable collections provide an alternative to mutable and concurrent collections that can be much more suitable in certain scenarios. This article discusses the design and implementation of immutable collections and illustrates how and when to use them.
Chi-Squared Goodness of Fit Using C#
If you have an array of observed counts and an array of expected counts, you can calculate how closely they match using the chi-squared statistic. James McCaffrey explains how to use this goodness of fit test in your software.
How To Be MEAN: Angular Components
Ted Neward examines major Angular concepts, focusing on “components” and how they drive the design and organization of an Angular project.
Stranger Things
Voice-driven hub devices like Amazon Echo and Google Home seem innovative, until you consider that 1960s TV show The Addams Family boasted a hub of its own.
Our Serverless Future
The march toward a services-dominated future continues, as serverless approaches change the way applications are written and deployed.
Age Before Beauty: Success and the Older Developer
"Don't trust anyone over 30." The counter-culture catchphrase of the 1960s could easily be the mantra for hiring managers in the tech industry. Here's how to fight it.
In-House Business Intelligence with Events and CQRS
Once you have raw information saved at the lowest possible level of abstraction, you can use it in many different ways at many different times. This articles show how to add business intelligence capabilities to an event-sourcing solution.
First Look at Azure Search—a Handheld Walk-Through
Julie Lerman explores Azure Search, a service that lets you use Microsoft’s processing and intelligence to add sophisticated search capabilities to your own data.
Serverless Architecture with Azure Functions
Serverless compute is transforming the way we build applications for the cloud, by abstracting application infrastructure from the code and providing unlimited scaling capabilities. Joseph Fultz and Darren Brust dive into serverless concepts and explore how they are supported by Azure Functions.
Inside the Azure App Service Architecture
Azure App Service is a rich Platform-as-a-Service that enables Web, mobile and API applications to scale to global levels with minimal complexity. Learn how applications map to App Service scale units and how applications run within the App Service infrastructure.
Driving Development with Active Monitoring of Apps and Services
In the final installment of his Mobile DevOps series, Kraig Brockschmidt, along with Thomas Dohmke and Alan Cameron Wills, delves into the tools and practices that enable monitoring of apps and services, and also explores Application Insights and HockeyApp.
Moving from Virtual to Mixed Reality
Mixed reality goes beyond virtual reality by combining the virtual world with the real to create an overall experience. Tim Kulp updates the virtual reality app he created in the September issue to enable a mixed reality app that employs gaze, gesture and voice for interactivity.
The Sign Test Using C#
In this article you’ll learn what type of problem the sign test solves, get to know exactly how to perform a sign test using C#, and understand how to interpret the results of a sign test.
How To Be MEAN: Working the Angular
In this month’s The Working Programmer column, Ted Neward gets started working with Angular 2, starting with a basic “Hello World” and exploring some of the big concepts that Angular 2 espouses.
Twitter-Searching Utility
Frank La Vigne shows how to make a Twitter search client for the Universal Windows Platform with the UWP Community Toolkit.
In the era of AI and machine learning, David Platt things there are important lessons to be learned in literature.
Outside In: How Kenny Kerr Brought C++/WinRT to Microsoft
This month Kenny Kerr writes about C++/WinRT, the standard C++ language projection for Windows Runtime that he created outside of Microsoft and now works on internally as part of the Windows team.
You're Hired: 11 Things to Consider with Side Projects
Side projects are a great way to fill out your resume and make yourself more attractor to recruiters. That is, as long as you do it right.
EF Core 1.1: A Few of My Favorite Things
Julie Lerman explores the latest version of Entity Framework Core—the 1.1 Preview—taking note of fixes, additions that bring it closer to EF6, and some brand new capabilities.
Introducing C++/WinRT
C++/WinRT is a standard C++ language projection for the Windows Runtime (WinRT) implemented solely in header files. It lets you both author and consume WinRT APIs using any standards-compliant C++ compiler, and is designed to provide C++ developers with first-class access to the modern Windows API.
Enable Natural Language Interaction with LUIS
The Language Understanding Intelligence Service (LUIS) enables parsing and the breakdown of natural language queries into actionable intents and entities. This article looks at the capabilities of the LUIS service, shows how to create language-understanding models, and explores training LUIS apps to better understand the spoken language.
Introduction to the HoloLens, Part 2: Spatial Mapping
In his second article on developing for the HoloLens, Adam Tuliper looks at spatial mapping, which provides a detailed representation of the environment around the HoloLens, allowing you to create a compelling mixed-reality experience.
Automate Complex Deployments with Release Management
Kraig Brockschmidt continues his series on the Mobile DevOps release pipeline by exploring release management—managing the flow of all the build artifacts through multiple pipelines on the journey to deployment.
Exploring the Microsoft CNTK Machine Learning Tool
The Microsoft Computational Network Tool Kit is a very powerful, command-line system that can create neural network prediction systems. In this article I walk through the process of installing CNTK, setting up a demo prediction problem, creating a neural network model, making a prediction, and interpreting the results.
How To Be MEAN: Type Script with TypeScript
In this month’s The Working Programmer column, Ted Neward looks at TypeScript, the AngularJS-endorsed language for building AngularJS 2 applications.
Essential MSBuild: A Build Engine Overview for .NET Tooling
The project file for .NET Core projects has finally stabilized into an MSBuild file, but simplified and improved over the old version. Mark Michaelis describes the new MSBuild and provides a broad overview of the places where MSBuild is leveraged within the .NET Tooling suite.
Exploring the UWP Community Toolkit
The UWP Community Toolkit makes it easier to create great apps that leverage the power of the cloud and of the Universal Windows Platform. It includes a collection of helper functions, custom controls, and app services that simplify common developer tasks.
For the Defense
A man who dedicated his career to defending the accused has some interesting things to say about encryption. David Platt thinks we might want to listen to him.
The Internet of Pwned Things
Some of the worst fears about securing the Internet of Things were realized in October, when millions of compromised devices mounted the largest DDOS attack in history.
Big or Small
Krishnan Rangachari and the Upstart column return to MSDN Magazine, providing career advice for developers.
Rewrite a CRUD System with Events and CQRS
CQRS and Event sourcing are not limited to high-end systems. With some infrastructure around that lets you easily work with aggregates and business workflows, any of today’s CRUD system can be rewritten in a way that brings many benefits, such as preserving the history of the application, potential for scalability, and code resiliency.
Exploring Visual Studio Mobile Center
Microsoft is taking Mobile DevOps to the next level with Visual Studio Mobile Center. Connect your repository, then build, test, deliver and monitor your apps all from a single dashboard and connect it with your Azure backend.
Scale Your Automated Mobile App Testing with Xamarin Test Cloud
The mobile ecosystem presents unique challenges to developers and QA professionals with its breadth of mobile devices and OSes. Xamarin Test Cloud makes it simple to scale your local testing to cover hundreds of unique device configurations in just a few minutes.
Extensibility in U-SQL Big Data Applications
Learn how to use U-SQL extensibility mechanisms to process a variety of different data ranging from JSON to image data, along with guidance on how to add your own operators.
Generate JavaScript with Roslyn and T4 Templates
Combine the power of T4 and the .NET Compiler Platform (aka Roslyn) to automate the creation of a JavaScript class that makes it easier to interact with a WebAPI.
File System Monitoring in Universal Windows Platform Apps
Inspection apps are very common tools for enterprises, and they frequently require watching the file system for changes. Luckily the new change-tracking APIs in Windows 10 Anniversary Update make it easy to monitor the file system in Universal Windows apps.
Use Bot Framework for Anytime, Anywhere Access to Application Data
The second in a two-part article on Bot Framework explores how to create and deploy a bot application that can consume information drawn from line-of-business apps and indexed via Azure Search, and provide interactive access to that information for users via channels such as Skype or Short Message Service (SMS).
Capture and Analyze Brain Waves with Azure IoT Hub, Part 2
In the second of a two-part exploration, Ben Perkins shows how to store brain frequency values in a SQL Azure database, use Stream Analytics to move the data to Azure IoT, and leverage Power BI to perform analysis.
What, Me Mentor?
David Platt recounts how he ended up acting as a mentor to his daughter’s high school robotics team, and the lessons he learned in the process.
It's been two years since the first Microsoft Connect(); conference, which plotted a course toward cross-platform, open source, mobile and cloud. This year's Connect(); event sees Microsoft redoubling its efforts.
Productivity Enhancements in Visual Studio 2017 RC
Explore the new and improved features in Visual Studio 2017 RC, including easier navigation with GoTo and Find All References, enhancements to IntelliSense across C#, VB and XAML, and an expansion of live code analysis. Also covered is Live Unit Testing and improved debugging with the new exception helper.
Introducing Visual Studio for Mac
Mikayla Hutchinson introduces Visual Studio for Mac, outlining the evolution of the Xamarin Studio IDE into a true mobile-first, cloud-first development tool for .NET and C# that brings the Visual Studio experience to the Mac.
What's New in C# 7.0
The team is now buttoning down development on C# 7.0, and Visual Studio 15 Preview 5 is expected to implement virtually all of the new features. Come along as Mark Michaelis explores each of the new features in detail, including deconstructors, pattern matching with is and switch, local variables, and more.
Xamarin and the Universal Windows Platform
Use Xamarin to target the Universal Windows Platform and add users and increase engagement with your app and content across your entire app ecosystem, including iOS and Android.
Embedding Native Views in Your Xamarin.Forms Apps
Native view embedding allows you to directly reference iOS, Android and Windows native controls right in your Xamarin.Forms XAML files. You can assign them properties, handle events, and use them with nearly as much flexibility as the standard Xamarin.Forms controls to improve cross-platform mobile development.
The (Interactive) Future of Technical Docs
Xamarin Workbooks bring interactive documentation plus live coding to mobile and desktop application development, letting you learn and experiment with the entire native SDKs for Android, iOS, Mac, and WPF. Craig Dunn gets you started.
Secure and Deliver with Rugged DevOps
DevOps is about going fast. Security is about minimizing risks. Rugged DevOps is a set of practices designed to meet both goals more effectively. This article reviews the practices, the partners and how to set CI/CD for Rugged DevOps.
Microsoft Graph: Gateway to Data and Intelligence
Yina Arenas dives into Microsoft Graph and how it's used to build smarter and context-aware people-centric applications that use the latest APIs from SharePoint, Exchange, Azure Active Directory and other services in Office 365 and the Microsoft cloud, all under a single endpoint and with a single auth flow.
Big Data Development Made Easy
The development model and tools in Azure Data Lake (ADL) radically simplify working with scale-out, distributed queries over non-traditional data. This article shows some of the development and debugging strengths in ADL with U-SQL.
We Come from the Future
Maybe the future ain't what it used to be. But with Microsoft HoloLens, Bot Framework and Cognitive Services, it promises to be something else.
Any Developer, Any App, Any Platform
Cross-platform, open source, cloud-ready and mobile-savvy. The nature of software development has changed, and Microsoft has changed with it.
Code First and Database Initialization
Dino Esposito reviews Code First as a multi-customer application, focusing in particular on how to create and fill a database and how to programmatically define its name and connection string.
CQRS and EF Data Models
Command Query Responsibility Segregation (CQRS) is a pattern that has a lot of benefits—and some drawbacks—when you’re defining data models with Entity Framework. Julie Lerman explains why it’s worth considering.
Seeing the World with Xamarin and Microsoft Computer Vision APIs
Learn how the Microsoft Computer Vision API allows images to be described and analyzed using natural, human-readable language. You can upload a picture to the Computer Vision service or point to an image URL, and expect a fully natural description back, without the need to construct and format descriptions on your own.
Capture and Analyze Brain Waves with Azure IoT Hub
Ben Perkins uses the Emotiv Insight headset to capture brain activity and load it on to the Azure IoT Hub for machine language analysis via Stream Analytics. Welcome to the future.
Solving Business Problems with the Microsoft Bot Framework
Organizations face a keen challenge tapping information spread across multiple applications and systems. This article explores how Microsoft Flow and Azure Search can be leveraged to access data, and sets the stage for employing bots to surface information within familiar applications.
Introduction to the HoloLens
Microsoft HoloLens and Windows Holographic open new horizons in application development. Adam Tuliper explores the HoloLens development environment and the three primary ways users interactwith the HoloLens—gaze, gesture and voice.
Hidden Disposables
Learn about disposable types and some of the non-obvious ways they are being used by developers. The article also exposeshidden usage patterns for disposable types and illustrates ways to eliminate them.
Solving Sudoku Using Combinatorial Evolution
James McCaffrey explains how write a program to solve difficult Sudoku problems, using a technique he calls combinatorial evolution, a set of general guidelines that can be used to design a concrete algorithm to solve a specific optimization problem.
How To Be MEAN: Take a Gulp
Ted Neward examines Gulp, an ECMAScript development automation tool, and looks at a few helpful tools that Gulp can “turn on” in your Node.js projects as a side benefit.
Add Facial Recognition Features to Your App
Cognitive Services provides a rich feature set around computer vision, facial detection, and recognition. Frank La Vigne explores how the Universal Windows Platform allows developers to implement face detection in UWP apps.
Brain Droppings
David Platt offers timely ruminations on everything from the state of .NET development to handy tips on herding cats.
Everything I Need to Know I Learned in Monty Python and the Holy Grail
Monty Python and the Holy Grail may be the funniest movie ever made. It also offers surprising wisdom for developers.
Event-Command-Saga Approach for Business Logic
Dino Esposito presents a .NET-based framework specifically devised to implement the business logic of applications using relatively new concepts such as commands and sagas.
Run EF Core on Both .NET Framework and .NET Core
Entity Framework Core (EF Core) is the newest version of EF and runs equally well on both the full .NET Framework and the cross-platform .NET Core. Julie Lerman walks you through two projects that explore how to use EF Core in APIs and applications that run across both frameworks.
Face and Emotion Recognition in Xamarin.Forms with Microsoft Cognitive Services
Use the new Face and Emotion APIs in Microsoft Cognitive Services to recognize face attributes and emotions in Xamarin.Forms, either by loading existing pictures or taking pictures from the camera.
Working with Memory Limits and Task Priorities in the UWP
Learn how system resource management affects Universal Windows Platform (UWP) apps, and the techniques that you can use to take part in this management and to profile and tune your app.
Create Interactive Geo-Applications Using Bing Maps 8
Learn how to build interactive geo-applications with the new Bing Maps 8 library. James McCaffrey presents two Web applications that demonstrate some of its most interesting features, which respectively enable user interaction and allow users to deal with large amounts of data.
Transform Source Code to Deployable Artifacts with TFBuild
Kraig Brockschmidt continues his series on Mobile DevOps with a focus on the build/continuous integration stage of the release pipeline, setting up an automated Team Foundation Build with continuous integration for a Xamarin app to demonstrate.
Create a Customizable FileSystemWatcher Windows Service
Learn how to write a Windows service application that monitors file system changes and allows you to easily change the application’s settings simply by updating an XML file and restarting the service.
ANOVA with C#
James McCaffrey explains and shows how to code a classic statistical technique—analysis of variance (ANOVA), which is used to tell if the averages of three or more groups are equal, in situations where you only have sample data.
How To Be MEAN: Exploring Yeoman
Ted Neward examines Yeoman, the ECMAScript scaffolding tool, which serves the same purpose as the project template facility in Visual Studio.
Windows PowerShell Just Keeps Getting Better
Mark Michaelis explores new features that significantly improve Windows PowerShell. These include the addition of cross-platform support (PowerShell now runs on Linux!) and the transition to open source on GitHub.
A Technical Solution to a Political Problem
Throw the bums out is a popular election year refrain, and for good reason, says David Platt.
Our Virtual Future
Depending on who you ask, Pokemon Go is either destroying civilization or heralding its progression. Either way, the game is revealing the challenge facing virtual, augmented and mixed reality applications.
Message-Based Business Logic in Practice
Expressing the logic of a business domain can be a real challenge. An emerging solution is to use business events to express the logic of the domain in a more natural and user-friendly way, as Dino Esposito explains.
Building Virtual Reality Applications
Virtual, augmented and mixed (VAMR) reality development is taking off, as capable devices and platforms mature. Tim Kulp introduces the basics to building a VR application in Unity, showing how to work with connected services, build a UI with dimensionality and interaction, and organize code components for troubleshooting.
The Source of Truth: The Role of Repositories in DevOps
Free your mind. Source control provides automation that empowers DevOps and liberates developers from a raft of tedious activities. Learn more about source control repositories and the foundational role they play in an automated release pipeline.
Feature Slices for ASP.NET Core MVC
The new Feature Slices functionality gives developers a way to organize their ASP.NET Core MVC projects by Feature, rather than by Models, Views, and Controllers.
Build Asynchronous AJAX-Enabled Web Pages with Reactive Extensions
Leveraging Reactive Extensions and the RxJS-DOM plug-in gives you a flexible, high-level way of integrating client-side DOM events and AJAX requests in a loosely coupled way that enables you to make significant changes to your application without having to restructure all of your code.
Cross-Platform Productivity with Xamarin
Learn how using a powerful and efficient cross-platform technology like Xamarin is the key to an effective and consistent development strategy—and greater productivity.
Unicode Encoding Conversions with STL Strings and Win32 APIs
Giovanni Dicanio presents C++ techniques for converting Unicode text between UTF-8 and UTF-16, using the Win32 APIs MultiByteToWideChar and WideCharToMultiByte. These Win32 C-interface APIs are wrapped in modern C++ code, using STL string classes to store Unicode text, and exceptions to signal error conditions.
The Secretary Problem
In machine learning, it's often necessary to come up with an approach for stopping training in a way to optimize the probability of selecting the best prediction model, and solutions to best choice problems can help. To illustrate, James McCaffrey shows how to tackle the Secretary Problem.
Command-Line Processing with .NET Core 1.0
Mark Michaelis details how to configure the CommandLineApplication, and discusses how to trigger command-line parsing and what happens immediately after the parse invocation.
Build a City-Wide Wi-Fi Scanner with UWP and Azure
In his July column, Frank La Vigne showed how to build an IoT device to capture Wi-Fi signals. This month, he shows how to connect it to the cloud to realize its full potential.
Mary Jane Grows Up
Microsoft has never been one to shy away from emerging markets, as David Platt explains in this months column.
DevOps Directive
Writing good software is hard. Managing the process of writing, maintaining and delivering good software is even harder. Which is why DevOps is such a hot topic at Microsoft right now.
Beyond CRUD: Commands, Events and Bus
In a simple CRUD system, each business event is pertinent to a single aggregate and only rarely the same event touches on multiple aggregates. However, when this happens, and aggregates and events are too numerous, the complexity of the resulting software grows considerably.
EF Core Change-Tracking Behavior: Unchanged, Modified and Added
Julie Lerman examines how the change-tracking behavior of Entity Framework Core differs from that of EF6, pointing out that while much of the syntax and behavior has been replicated, EF Core is a brand new API and should be treated accordingly.
From Code to Customer: Exploring Mobile DevOps
The first article in a multipart series looks at the release pipeline for mobile apps and explores how the Microsoft DevOps stack comes into play at each stage.
Applying DevOps to a Software Development Project
DevOps isn't just for mobile. This article explores the role that a DevOps culture can play in a software project and guides readers through DevOps stages, from planning, continuous integration and deployment, to monitoring and learning excursion.
Commit to Git: Source Control in Visual Studio 2015
Visual Studio 2015 includes full support for Git, the enormously popular source code management system that has upended many traditional options. In this article, Jonathan Waldman covers how Git differs from Team Foundation version control; how to place source code into a Git repository; and how to pull, commit and push code.
Write Apps with Visual Studio Code and Entity Framework
This article explains how developers working on any platform can write data-oriented Web applications that run on Linux, Mac OS X, and Windows leveraging the new ASP.NET Core 1.0 and the Entity Framework, using Visual Studio Code as the development environment.
Real-World ASP.NET Core MVC Filters
Filters are a great, often underutilized feature of ASP.NET MVC and ASP.NET Core MVC. They provide a way to hook into MVC’s action invocation pipeline, which makes them great for pulling common, repetitive tasks out of your actions, as Steve Smith explains.
Lightweight Random Number Generation
Despite the existence of the easy to use .NET Random class, there are times you’ll want to write your own random number generator. In this article, James McCaffrey presents four different algorithms for doing so.
How To Be MEAN: Exploring ECMAScript
In this column, Ted Neward examines the nascent ECMAScript 2015 Standard, the next-generation leap for JavaScript.
Sing a Song of Silicon
McAndrew's Hymn, the Rudyard Kipling poem celebrating the great steamships of the day, holds a lot of meaning for developers.
Bad Medicine
Over 18 months from 1985 to 1987, the Therac-25 radiation therapy system overdosed six patients, killing at least two. And poor software design was directly at fault.
Reflections on Code First, Persistence and Domain Modeling
Code First is about persistence of an object-oriented model through an aptly created set of tables. Domain modeling is about implementing business rules and workflows through an object-oriented model. Logically speaking, the two models are distinct, but sometimes they can be considered just one.
The New Azure DocumentDB Node.js SDK
Over the past year, Julie Lerman has been developing a sample app that uses Aurelia on the front end, a server-side API written in Node.js, and Azure DocumentDB for its data store. But all these parts have changed, so it’s time for an update.
A Better Way to Implement Data Binding in .NET
Data binding can be a powerful approach for developing UIs in the Microsoft .NET Framework: It makes it easier to separate view logic from business logic, and easier to test the resulting code. However, despite the various toolkits that aim to help, implementing data binding is typically painful and tedious. Mark Sowul shows you a better way.
Working with Local Databases in Xamarin.Forms Using SQLite
Learn how to store and query local data in your Android, iOS, and Universal Windows apps with SQLite databases using Xamarin Forms and Visual Studio 2015.
Leverage CQRS to Create Highly Responsive Systems
Peter Vogel reviews how Domain-Driven Design (DDD) integrates with CQRS in a real-world sales system that requires fast response times.
Applying AI to a Multi-Agent 'Mini-Basketball' Game
In this article you'll learn the basics of AI in a mini-basketball game. Explore intelligent agents and their various architectures (reactive, pro reactive) as you learn the basics of multi-agent systems and the traditional approach for game AI behavior modeling through finite state machines.
Matrix Inversion Using C#
Matrix inversion is a fundamental technique in machine learning, but the .NET Framework doesn't seem to have a matrix inversion method. James McCaffrey remedies this with a method that uses an algorithm called Crout's LU decomposition.
How To Be MEAN: Let's Be DEAN
Ted Neward examines the work required to replace the M in MEAN (MongoDB) with another non-relational database--DocumentDB running in Microsoft Azure. This flexibility lets developers take advantage of DocumentDB's enterprise-friendly capabilities, including server-side code execution and SQL-like query language.
Visual Studio 2015 with .NET Core Tooling
Mark Michaelis discusses the various .NET Core project types, explains the details of the new files types and their function, and delves into how the new project structure supports side-by-side debugging of open source NuGet packages.
Build a Wi-Fi Scanner in the UWP
In this month’s Modern Apps column, Frank La Vigne explores the basics of scanning Wi-Fi networks using the APIs built into the Universal Windows Platform.
Missing the Target
From the failed effort by retail giant Target to break into the Canadian market, to mounting frustration among health care professionals with computerized processes, columnist David Platt finds rotten UX at the core of some troubling challenges.
Cognitive Bias
Author Upton Sinclair perhaps said it best when he wrote: “It is difficult to get a man to understand something, when his salary depends on his not understanding it.”
Building an Historical CRUD, Part 2
An historical CRUD lets you track all business events, thus giving you the chance to check the state of business at any given point in time.
Use Custom Middleware to Detect and Fix 404s in ASP.NET Core Apps
Steve Smith shows how you can use a bit of middleware to add a “lost and found” to your ASP.NET Core app that will keep your users from encountering 404 errors.
Scale Asynchronous Client-Server Links with Reactive
The observer pattern can be an important tool for asynchronous applications when working with long-running processes. The .NET ObservableCollection and Rx provide two toolsets to handle both simple and sophisticated implementations of that pattern.
Language-Agnostic Code Generation with Roslyn
Learn how to perform language-agnostic code generation using the Roslyn SyntaxGenerator class and its methods, which provide a unified programming model to generate syntax nodes that can target both C# and VB simultaneously.
Microsoft Azure Media Services and Power BI
This article focuses on helping developers build an analytics platform on top of Azure Media Services (and Player) to surface out usage trends. The solution space includes usage of an intermediate (WebAPI) service and database, with visualization enabled with Power BI.
Using Azure App Services to Convert a Web Page to PDF
Learn how to give Web site visitors a way to convert a Web page into a PDF document, by creating an Azure App Service Web app that calls a WebJob API. The WebJob can then place the PDF file into an Azure Storage container and return its Internet location using SignalR in real-time.
Speed Up Your Mobile Development Using an MBaaS Platform
Learn how Mobile Backend-as-a-Service (MBaaS) can make mobile app development quicker and easier by providing components for critical but common operations, such as authentication, file storage, and much more.
Introduction to Prediction Markets
James McCaffrey describes the math behind prediction markets and shows you how to implement the key functions in code. Though you’ll probably never have to create a prediction market, the ideas and techniques are quite interesting.
How To Be MEAN: Passport
PassportJS is arguably the most successful authentication project ever developed, across any language or platform. It manages to provide the necessary authentication “hooks” while leaving open the actual means of authentication when you want to control that. Yet, it can still slip in and do the heavy lifting when needed.
Dependency Injection with .NET Core
Mark Michaelis explores the dependency injection (DI) capabilities of .NET Core, and shows why the simple and lightweight implemenatation provides a great way to for developers new to the technology to get started.
Playing with Audio in the UWP
The UWP has several effects that can be applied to audio. Among these are echo, reverb, equalizer and limiter. Frank La Vigne explores some of the basics of audio recording and applying special effects, by creating a UWP app that can record audio, save it, and apply various filters and special effects.
The Joy of UX
Columnist David Platt and author of the book "Why Software Sucks" says that software UXs are too often broken, and that developers are too busy to fix them. His solution? Why, write another book of course.
Going Solid
Old habits die hard, and old training even harder. Hidden among the lessons of the Three Mile Island nuclear accident was the role that received wisdom from another domain had in the meltdown of the reactor.
Building an Historical CRUD
Create, Read, Update, Delete operations (CRUD) that were modeled on top of plain relational tables are now evolving into what we can generically refer to as historical CRUD, which is a CRUD codebase where the implementation manages to track down the entire list of changes.
Dapper, Entity Framework and Hybrid Apps
A popular micro-ORM called Dapper can help solve performance issues, and you don’t have to give up Entity Framework to take advantage of it. Julie Lerman explains how hybrid apps may be just what you need.
Writing Clean Code in ASP.NET Core with Dependency Injection
Dependency Injection (DI) is a technique that allows applications to be constructed from loosely coupled modules. ASP.NET Core has built-in support for DI and uses it to provide services to applications built on it. Learn how to use DI to access ASP.NET services as well as your own application services.
Hosted Web Applications for the Enterprise
Universal Windows Platform (UWP) apps are well within reach for any enterprise with an intranet. This article explores how to take an existing intranet Web app and convert it to a UWP app through a hosted Web application while leveraging the Windows API.
Maximize your Model-View-ViewModel Experience with Roslyn
Learn how to simplify the implementation of the Model-View-ViewModel pattern with custom Roslyn refactorings. Del Sole shows you how to take advantage of the Roslyn APIs to automate the generation of common objects in MVVM, starting with plain text analysis and moving on to creating new syntax nodes.
Writing Windows Services in PowerShell
This article presents a novel and easy way to create Windows services, by writing them in the PowerShell scripting language rather than C# or C++. No more compilation, just a quick edit/test cycle that can be done on any system.
Nurturing Lean UX Practices
When Microsoft developed the new debugging and diagnostic features in Visual Studio 2015, it employed an iterative, "Lean UX" approach to inform the design. This article goes behind the scenes to explore the making of the PerfTips feature in Visual Studio 2015.
Enterprise Application Integration Using Azure Logic Apps
With Azure Logic Apps, developers can visually compose integration flow and easily handle scenarios that involve long-running transactions, handling condition-based routing of workflows, retry logic to handle transient failures, and more. The suite of Standard and Enterprise Connectors provided by Azure Logic Apps can be leveraged to implement an end-to-end enterprise application integration scenario.
The Multi-Armed Bandit Problem
James McCaffrey provides an implementation of the multi-armed bandit problem, which is not only interesting in its own right, it also serves as a good introduction to an active area of economics and machine learning research.
How To Be MEAN: Getting the Edge(.js)
Certain kinds of applications are much easier to write using the various packages available in the npm repository that EdgeJS now opens up to the traditional .NET developer.
Left Brains for the Right Stuff
“We didn’t know what we couldn’t do. So we just went ahead and did it.” Those are the words David Platt heard repeated during a recent gathering of engineers who worked on the Apollo moon missions.
Build's Bold Direction
Cross-platform development is top of mind this year at the annual Build conference, with .NET Core, Visual Studio Tools for Cordova, and the Xamarin purchase announcement all hot topics at the event.
Ordinary People
The things that make us exceptional can often be the same things that make us so ordinary, writes Krishnan Rangachari. Learn how reshuffling your priorities might kindle a career renaissance.
Pushing Notifications to Mobile Apps
Dino Esposito explains what it takes to add a notification layer on top of mobile applications, regardless of the mobile operating system itself. He also reviews the services of the Azure Notification Hub platform.
Handling the State of Disconnected Entities in EF
Julie Lerman looks at the enduring problem of disconnected data and presents a simple recipe for dealing with it in EF6 and the upcoming EF Core.
.NET Goes Cross-Platform with .NET Core
Phillip Carter and Zlatko Knezevic give a clarifying explanation about what .NET Core is and how it’s positioned relative to the Microsoft .NET Framework, plus they provide an overview of the command-line experience that Microsoft is currently shipping.
Microsoft Pushes C++ into the Future
Visual C++ is ground zero for many new proposals to the C++ language and standard library. Kenny Kerr highlights a few new or improved features in the Visual C++ Update 2 release that he finds particularly compelling.
Using Ionic and TACO to Create Cross-Platform Mobile Apps
Build an advanced UX for a hybrid, cross-platform Cordova app using the Ionic 2 framework, and explore the new Cordova Tools extensions for IntelliSense and debugging in Visual Studio Code.
Data Processing and Machine Learning on Spark
The open source Apache Spark framework is the current leader in the Big Data processing and analytics space. This article shows how to deploy Spark on Azure and use it to solve machine learning (ML) problems.
Develop an Azure-Connected IoT Solution in Visual Studio with C++
Marc Goodner shows you how to connect a device to Azure IoT using C++ project templates in Visual Studio, how to set up an Azure IoT hub to ingest the device data, and how related Azure services can act on that data.
Logging with .NET Core
Why on earth would you need a new logging framework? Because there are already so many available, and the new Microsoft.Extensions.Logging API lets you take advantage of them without having to write a wrapper of your own.
Writing UWP Apps for the Internet of Things
For developers used to writing code, creating the actual “things” for the Internet of Things might be intimidating. This article aims to make Makers out of coders, building a Raspberry Pi 2-based device running UWP apps on Windows 10 IoT Core.
Gods and Fools
From the Greek myth of Pygmalion to the 2015 feature film "Her," the archetype of the human creation brought to love and to life transcends both cultures and epochs.
Chasing Fogbank
What happens when technical knowledge is lost? The United States government found out when it realized that it had lost the formula to a critical component for its nuclear stockpile. Are there lessons here for the software world?
The Gift of Anger
It's time to embrace your inner idiot, says Krishnan Rangachari. Rather than gnash your teeth at dim-witted colleagues, he says its time to realize that everyone has a thick side.
The Query Stack of a CQRS Architecture
In the implementation of a modern query stack, the LINQ language backed in the .NET Framework is immensely helpful. Dino Esposito goes through a possible implementation of a read stack where the storage is designed to be close to the organization of data required by the presentation.
Debugging Improvements in Visual Studio 2015
Visual Studio 2015 included a large number of improvements for debugging everyday problems. In this article we’ll take a tour of what’s new and how you can be more productive than ever debugging complex problems
Managed Profile-Guided Optimization Using Background JIT
Background JIT is an optimization technique for managed code that can boost performance by as much as 50 percent and requires little effort to use. This article explores how to use the technology to best effect.
Discrete Event Simulation: A Population Growth Example
Discreet event simulation (DES) models a system or process as an ordered sequence of individual events over time, from the time of one event to the time of the next event. This article show how to use C# to create a DES for modeling the growth of a population.
Introduction to SciPy Programming for C# Developers
James McCaffrey takes you on a quick tour of programming with SciPy, then walks you through a representative program that uses SciPy to solve a system of linear equations, in order to demonstrate similarities and differences with C# programming.
Neural Network Regression
Neural network regression is arguably the most powerful form of regression. If you want to explore this potent tool for predicting the values of certain variables based on one or more independent variables, James McCaffrey helps get you get up and running.
How To Be MEAN: Robust Validation with MongooseJS
How to validate with MongooseJS, a software layer that sits on top of MongoDB and provides not only a schema-like, language-verified validation layer, but also an opportunity to build a layer of “domain object.”
Parsing CSV Files in UWP Apps
Excel’s implementation of CSV import and export has become the de-facto standard. While most CSV files will fall in line with Excel’s implementation, not every file will. Frank La Vigne introduces a strategy to handle such uncertainty.
The Internet of Invisible Things
Cortana will be at its best when we hardly notice it at all. As Harry Shum, director of Microsoft Research, put it recently: “Any sufficiently advanced technology is invisible."
MEAN Streak
For the past several months, Working Programmer columnist Ted Neward has been writing about MongoDB, Express, AngularJS and Node.js—collectively known as the MEAN stack. Is it time for your development to get MEAN?
Loyalty Test
It's easy to confuse gratitude with loyalty, says Krishnan Rangachari, who urges developers to consider why they are staying with an organization. As it turns out, the best thing you can do for your company might be to leave it.
Architecture Spinoffs of UXDD
Software architecture is not an act of faith. Learn how the UXDD design methodology ties together important concepts like CQRS, Event Sourcing and Polyglot Persistence.
Refactoring an ASP.NET 5/EF6 Project and Dependency Injection
Taking advantage of the dependency injection capabilities in ASP.NET 5--recently renamed ASP.NET Core 1.0--Julie Lerman refactors an existing EF6 solution to leverage an IoC container that makes it easier to inject object instances into logic that needs to use them.
Universal Windows Platform Apps for Web Developers
Building cross-browser apps has long been the domain of the Web developer, and those skills translate neatly to Universal Windows Platform (UWP) apps that run on Windows 10. Learn how to leverage Web app dev skills when working with UWP apps.
Implementing a UWP App with the Official OneDrive SDK
In the second part of a two-part series, Laurent Bugnion looks at the OneDrive SDK built by Microsoft, showing how the library can be added to a Universal Windows Platform app and how to work with the authentication scheme.
Progressive Enhancement with ASP.NET and React
Graham Mendrick resolves the progressively enhanced Web application versus single page application dilemma by building a stripped-down version of a TodoMVC project as a progressively enhanced SPA using React and ASP.NET.
Customizable Scripting in C#
Learn how to build a custom scripting language using C#—without using any external libraries. Vassili Kaplan extends his Split-And-Merge algorithm to parse not only mathematical expressions but also a user-defined scripting language.
Azure Service Fabric, Q-Learning and Tic-Tac-Toe
Jesus Aguilar describes a machine learning technique for creating an intelligent back end powered by the Azure Service Fabric for determining the best play in a game of tic-tac-toe.
Roach Infestation Optimization
In machine learning, some numerical optimization algorithms are based on the behaviors of natural systems. James McCaffrey explores a relatively new technique called roach infestation optimization, which loosely models the foraging and aggregating behavior of roaches.
How to Be MEAN: Inside MongoDB
Ted Neward continues his exploration of the MEAN stack, consisting of MongoDB, Express, AngularJS and Node.js. In this installment, he explores the MongoDB NoSQL database.
Configuration in .NET Core
Mark Michaelis introduces the new open source configuration support in ASP.NET 5, which is available in the Microsoft.Extensions.Configuration collection of NuGet packages, and includes both several built-in configuration providers and support for custom providers.
VB6: Waking a Sleeping Giant
In previous columns David Platt has described Visual Basic 6 as the programming language that will not die. Now he proposes to give VB6 new life by turning it into the flagship, rapid app development language for the Web. Call it VB*.
Go Big or Go Home
MSDN Magazine kicks off the new year with a deep-dive into the powerful new platforms, languages and tools enabling Big Data development.
A Winning Plan
Even the longest journey starts with a single step. Krishnan Rangachari explores how he managed the challenge of taking on large projects and adopted a winning attitude.
Don’t Gamble with UX—Use Wireframes
Effective wireframes and domain-driven design ubiquitous language provide a means for developers to communicate concepts and ideas in software development.
EF7 Migrations: Not New but Definitely Improved
Code First Migrations has undergone some dramatic changes with Entity Framework 7. The workflow is much cleaner and more straightforward, and source control is far easier, as Julie Lerman explains.
Making Big Data Batch Analytics Easier Using U-SQL
Michael Rys introduces the new Big Data language U-SQL with its combination of SQL and C# semantics and demonstrates its power for solving batch-oriented analytics problems using a sample dataset. He also shows how to use Visual Studio to speed up development.
Real-Time Data Analytics for .NET Developers Using HDInsight
Omid Afnan explores the question of how to collect, analyze and act on continuous streams of data in real time, and walks through a simple but powerful scenario that deals with a stream of tweets, using Apache Storm as the key tool to enable real-time, continuous analytics.
Creating Big Data Pipelines Using Azure Data Lake and Azure Data Factory
Learn how to build a big data pipeline using Azure Data Factory to move Web log data to Azure Data Lake Store, then process that data using a U-SQL script on the Azure Data Lake Analytics service.
Using the OneDrive REST API in a UWP App
In part one of a two-part series, Laurent Bugnion looks at Microsoft OneDrive and the low-level REST APIs that enable developers to work with the HttpClient, async/await keywords and the package.
Babylon.js: Advanced Features for Enhancing Your First Web Game
Raanan Weber continues his tutorial on game development with Babylon.js by enhancing his simple bowling game with advanced features like collision detection, physics integration, audio effects and more.
How To Be MEAN: Test Me MEANly
In the latest installment of his series on the MEAN stack, comprised of MongoDB, Express, AngularJS and Node.js, Ted Neward explores automated tests that exercise the API he's built over previous issues.
C# Scripting
Mark Michaelis delves into the new C# scripting environment of Visual Studio 2015 Update 1, which brings a new C# read-evaluate-print-loop (REPL), available as an interactive window within Visual Studio 2015 or as a command-line interface.
Moving Forward, Looking Back
The twin Voyager spacecraft, launched in 1977, today are exploring the edges of our solar system and beyond. David Platt asks, who will write and maintain the code for the probes, which are nearly 40 years old?
Goodbye, Kenny
Long-time Windows with C++ columnist Kenny Kerr is leaving our pages to join the Windows engineering team with Microsoft, where he will be working on C++ and the Windows Runtime.
The Long Game
Over-long hours and frequent career changes can be a sign that you are taking a short-sighted approach to career success. Krishnan Rangachari explains how he learned to play the long game.
Aurelia Meets DocumentDB: A Matchmaker’s Journey, Part 2
In the second of her two-part series detailing the difficulties in learning how to useDocumentDB and the Aurelia framework together, Julie Lerman presentsthe path to the solution that ultimately proved successful.
Modern Tools for Web Development: Grunt and Gulp
In the second part of his series on front-end Web development, Adam Tuliper covers Grunt and Gulp, two JavaScript-based task runners that let you perform all sorts of tasks, like copying files, minification, concatenation, and even compilation.
Azure Service Fabric and the Microservices Architecture
The microservices approach provides a compelling way to build robust, scalable and manageable cloud-based apps and services. Learn how microservices and the new Microsoft Azure Service Fabric combine to enable hyperscale solutions.
Babylon.js: Building a Basic Game for the Web
Raanan Weber begins his two-part series on game development with Babylon.js by building a simple bowling game. Follow along as he creates meshes and textures them, adds cameras and light sources, and enables simple user interaction.
Build a Cross-Platform UX with Xamarin.Forms
With Xamarin, C# developers write applications for iOS, Android, Windows Phone and the Mac OS X, while writing a custom UI for each target. Learn how Xamarin.Forms lets developers reuse UI code by leveraging common UI concepts across target mobile platforms.
How Azure, Web API and Redis Helped Deliver Data Faster
Learn how to achieve top performance and responsiveness in intenstive data lookup operations, using the Redis in-memory database with Web API and Microsoft Azure.
Introduction to Spark for .NET Developers
Here’s an overview of Spark, an open source framework for big data. With its exceptional performance characteristics, Spark is well-suited for use with machine learning systems. James McCaffrey shows how you can install and run it on a Windows machine.
How To Be MEAN: Express Input
The MongoDB, Express, AngularJS, Node.js (MEAN) stack is an alternative “Web stack” to ASP.NET. In this installment, learn about processing input—the ability to put a new person into the system, remove a person from the system and update an existing person.
Designing C# 7
The C# 7 design team has been discussing, planning, experimenting and programming for about a year. Get an inside look at the next version of C# as Mark Michaelis samples some of the ideas they have been exploring.
What You Need to Know About Windows 10 App Development
A lot has changed with the arrival of Windows 10. Rachel Appel looks at the top 10 things developers need to know to stay ahead of the curve.
Refactoring Higher Education
The days of university professors subjecting students to endless lectures may be at an end. David Platt reflects on recent changes at the Harvard Medical School, where instructors are ditching rote presentation in favor of digital instruction and interactive teaching.
Welcome Essential .NET
Mark Michaelis has written two of the most widely-read articles published by MSDN Magazine over the past five years. Now he joins the publication as author of the new Essential .NET column.
Going Critical
Organizations that can receive and respond to criticism are organizations that do best. Ryder Donahue explores how critical thinking and feedback can improve your dev shop.
Better Architecture with UX-Driven Design
The UX-driven design approach focuses on the business processes that end users need for a system to perform well and as the customer expects.
Aurelia Meets DocumentDB: A Matchmaker’s Journey
After exploring both DocumentDB and the new Aurelia framework, Julie Lerman decided it was time to use them together, but that proved more difficult than expected. Learn how she finally found the path to the correct solution.
Accelerate File Operations with the Search Indexer
With Windows 10, the power of the search indexer is available to all Universal Windows Platform apps running on any platform. In addition to enabling better Cortana searches, the new indexer improves how apps interact with the file system.
Async from the Start
Recent versions of .NET make it easier than ever to write responsive, high-performance applications via the async and await keywords. Learn how, as Mark Sowul takes the default UI startup code for Windows Forms and WPF and transforms it into an object-oriented design with support for async and await.
Use ASP.NET as a High-Performance File Downloader
Learn how to create a utility to address the problem of resuming and continuing failed downloads that can be caused by slow, faulty connections prone to going offline during large file transfers.
Manage Technical Debt with SonarQube and TFS
Learn how to set up TFS and SonarQube at an enterprise level, how to identify and prioritize technical debt on SonarQube/TFS, how to handle it through the agile lifecycle with TFS, and how to measure improvements and close the loop.
The T-Test Using C#
The t-test is one of the most fundamental forms of statistical analysis, but integrating t-test functionality directly into your software using a standalone tool can be awkward or impossible. James McCaffrey explains how to use raw C# code to perform a t-test.
How To Be MEAN: Express Routing
The MongoDB, Express, AngularJS, Node.js (MEAN) stack is an alternative “Web stack” to the ASP.NET stack. In this installment, learn about Express routing and discover how to use it more effectively.
C# Exception Handling
Many changes have occurred in the last five versions of C# and the corresponding Microsoft .NET Framework. In his inaugural column, Mark Michaelis reviews many of these changes and provides updated coding guidelines as they relate to exception handling and catching exceptions.
Alan Turing and Ashley Madison
The Ashley Madison hack exposed millions as users of the cheating-spouse service. It also revealed that many of the female "members" were in fact nothing more than chat bots designed to lure subscribers into its premium service.
Chain of Disaster
Fraught with high stakes and increasing complexity over time, the discipline of computer security has more than a little in common with airline flight safety.
The Yoga of Rookie Success
Sometimes, the best way to get ahead is to stop focusing so hard on getting ahead. Krishnan Rangachari explains how letting go can help motivated professionals achieve their goals.
Coroutines in Visual C++ 2015
Learn how concurrency has been updated in Visual Studio 2015 with an experimental compiler option called /await that unlocks an implementation of coroutines directly supported by the compiler.
Microsoft Azure--the Big Picture
Get a big-picture view of Microsoft Azure, and see how giving up some control over your environment can yield benefits in terms of resilience, scalability, and manageability.
ASP.NET 5 Anywhere with OmniSharp and Yeoman
ASP.NET 5 no longer requires that developers work only with Visual Studio in Windows. Learn how to create cross-platform Web applications with tools such as OmniSharp and Yeoman.
Bower: Modern Tools for Web Development
Front-end Web development typically involves a variety of libraries, frameworks, tools and more. Learn how Visual Studio extensions let you use Bower, a JavaScript-based tool, to manage them.
Build and Deploy Libraries with Integrated Roslyn Code Analysis to NuGet
Learn how to package and deploy your APIs with integrated live code analysis powered by the .NET Compiler Platform.
A Split-and-Merge Expression Parser in C#
Vassili Kaplan presents a C# implementation of the split-and-merge algorithm for parsing a string containing a mathematical expression. This algorithm represents an alternative to Dijkstra's algorithm, published more than half a century ago.
Develop a Windows 10 App with the Microsoft Band SDK
Microsoft Band provides powerful SDKs and community support for multiple platforms—Windows, Android and iOS. In this article, Kevin Ashley shows you how to build an app using the Microsoft Band SDK for Windows 10.
Linear Discriminate Analysis Using C#
James McCaffrey examines linear discriminate analysis--one of the oldest approaches to solving binary classification problems--and concludes that while the math is elegant, other algorithms may be more practical.
How To Be MEAN: Express Install
The MongoDB, Express, AngularJS, Node.js (MEAN) stack is an alternative “Web stack” to the ASP.NET stack. In this installment, you’ll read about the Express library, which handles HTTP processing on the server.
More and more users have not even seen a floppy disk, much less used one to save and transfer files. So why is the floppy disk image still the universal icon for "save?" David Platt explores this and other anachronisms.
The Road from 3.0
A quarter century ago, Microsoft released Windows 3.0 and changed the direction of the PC industry. Might Windows 10, the third iteration of Microsoft's new-look OS, do the same?
.NET and Universal Windows Platform Development
Learn how you can use the latest .NET technology to build Universal Windows Platform applications that run on all Windows 10 devices.
Windows Composition Turns 10
Dive into the new Windows composition API with Kenny Kerr. It’s built on the Windows Runtime and provides the foundation for high-performance rendering. And, for the first time, composition works the same whether you’re targeting your multi-display desktop powerhouse or the lowly smartphone in your pocket.
Keep Apps Alive with Background Tasks and Extended Execution
Windows 10 and the Universal Windows Platform introduce new ways for your application to run in the background. Extended execution and background tasks help you keep users engaged with your application even when they’re not using it.
Adaptive and Interactive Notifications in Windows 10
Learn how to increase user engagement with new notification capabilities across a variety of devices and form factors.
Linking and Integrating Apps on Windows 10
As your app portfolio matures, it becomes important that apps communicate with each other while running on users' devices--especially if you want to build up complex experiences by linking apps together and sharing data among them.
NuGet Features Enhance Windows 10 Development
There are some new tools in the recent version of NuGet that can streamline the process of developing apps for the Universal Windows Platform, and can better describe and define project dependencies and configuration.
Responsive Design for Universal Windows Apps
The Universal Windows Platform lets your apps run on a spectrum of devices, from wearables with tiny screens to the Surface Hub. Learn how responsive design techniques help you create great user interfaces on devices of all sizes and shapes.
Adaptive Apps for Windows 10
Adaptive apps change their behavior based on the device type and OS version they run on. This article shows how apps can adapt to available features via API contracts and make best use of available display space and orientation.
Ink Interaction in Windows 10
Learn how to use new digital ink capabilities in Windows 10 to promote natural user interactions ranging from simple doodling to more scenario-focused features such as note-taking and collecting signatures.
Write Games for the Universal Windows Platform with Unity
Here’s a hands-on example of optimizing a simple Windows 8.1 game for Windows 10, demonstrating how to take advantage of new features offered by the Universal Windows Platform.
Welcome to Windows 10 App Development
Kevin Gallo, vice president of the Windows Developer Platform team at Microsoft, says Windows 10 and the Universal Windows Platform are creating exciting new opportunities for developers.
The Internet of Car Wrecks
A pair of hackers recently demonstrated how they could remotely hijack--via cellular links--the controls of a new Jeep Cherokee using Chrysler's UConnect infotainment system. How is stuff like this even happening?
Radio Free Internet
Internet streaming radio got its start in 1994 at a tiny college radio station at Western Washington University. MSDN Magazine Director Keith Boyd describes how he helped a media revolution get its humble start.
Event Sourcing for the Common Application
Event Sourcing is a relatively new storage architecture. It’s not just about auditing and recording business relevant events in a persisted domain. It’s about using a lower abstraction level for saving your data and using ad hoc tools and patterns to create multiple data projections.
Classy Types in the Windows Runtime
COM is all about interfaces, and while the Windows Runtime is built on COM, it's able to present a classy type system. How is this possible? Kenny Kerr explains.
Revisiting JavaScript Data Binding -- Now with Aurelia
Julie Lerman has long been a fan of the Knockout JavaScript framework and its data binding talents. Here she explores the new Aurelia framework, which is quickly gaining momentum with Web developers, and finds that it offers a lot to like for data-oriented programmers.
Build a Xamarin App with Authentication and Offline Support
In the second article in their series, the authors discuss how they use Xamarin to target multiple mobile client platforms, and show how to implement authentication and maintain a synchronized client-side cache of the data.
Fault Tolerance Pitfalls and Resolutions in the Cloud
Microsoft Azure offers several instruments to help achieve high availability. Understanding fundamental concepts like fault domains is critical to establishing an effective architecture for those instruments. This article explores the working of these fundamental concepts and helps developers adjust the internals to enable true, highly-available applications.
Creating Unified, Heroku-Style Workflows Across Cloud Platforms
With this installment of Azure Insider, the series moves on to examine real-world projects and deployments. This month, Bruno Terkaly explores how a number of related technologies came together to help Gabriel Monroy produce Heroku-style developer workflows on multiple cloud platforms.
Streamline Code with Native Profile-Guided Optimization
Profile-Guided Optimization (PGO) is an important type of optimization supported by the Visual C++ compiler. Although it requires some effort to use, PGO almost always results in significant reductions in the size of the generated executable and improved performance.
Protect Sensitive Information with Azure Key Vault
With the rise in security vulnerabilities and data breaches, managing and securing sensitive information has become more critical than ever. The Microsoft Azure Key Vault service helps safeguard your cryptographic keys and other sensitive information in the cloud.
Enabling DevOps on the Microsoft Stack
There are many technologies and tools that can help with DevOps. These tools and processes support rapid release cycles and data collection on production applications, and are essential aspects of a successful DevOps strategy.
Computing with Artificial Spiking Neurons
James McCaffrey discusses artificial spiking neurons—small software components that model the behavior of biological neurons and just might lead to a fundamentally new approach to computers and programming
How To Be MEAN: Node.js
The MongoDB, Express, AngularJS, Node.js (MEAN) stack is quickly becoming a key player in the new technology world. It’s a favored development software stack for the Node.js platform. This installment takes the Node.js aspect a bit further.
Usability Practices for Modern Apps
Usability is an essential aspect of application development. Keeping in mind a few simple practices and exercising good judgement can go a long way to ensuring your apps are accessible and therefore usable.
Darwin's Camera
Seflies used to be considered harmless fun, until so many citizens started dying taking increasingly bold snapshots that the Russian government launched a campaign to encourage safe photography.
The Importance of Play
From back-end development in Azure to cross-platform development in Unity and Cordova, game developers are facing—and solving—many of the same challenges that vex their business-minded counterparts.
Committing to Cross Platform: The ABCs of iOS
There are now three ways for developers to create iOS apps on the Microsoft platform: Visual Studio 2015 Tools for Apache Cordova, the cross-platform agent in Visual Studio Online, and the new Visual Studio Code cross-platform editor.
Games Revolution
Michael Thompson explores how frameworks like Unity, Unreal Engine 4 and Cocos2D have revolutionized game development, making it available to a broader range of coders than ever before.
CQRS and Events: A Powerful Duo
Any action is a command or a query—but never both. A command alters the system state. A query reports on the state of the system. This is sometimes referred to as the Command-Query Responsibility Segregation, a potentially groundbreaking architecture.
Windows Runtime Components with MIDL
The Microsoft Interface Definition Language (MIDL) defines interfaces between client and server programs. Kenny Kerr continues his exploration of the Windows Runtime with a look at the MIDL compiler.
Modern Drag and Drop for Windows Universal Applications
Modern drag and drop offers new possibilities, such as various options to customize visual feedback. Learn how to implement drag and drop in XAML applications and leverage the new features to offer a rich user experience without impacting application responsiveness.
Create a Web Service with Azure Web Apps and WebJobs
In the first part of a two-part article, the authors explore some of the issues involved in creating a cloud back end that aggregates and processes data and serves it to mobile clients.
Azure Mobile Services: A Great Back End for AngularJS
If you want to use AngularJS on your front end, you don’t have to abandon the Microsoft stack on the back end. Azure Mobile Services integrates with AngularJS seamlessly, as Jonathan Miller explains.
Introduction to 3D for Web Games
In the first of a three-part series on 3D Web game development, Michael Oneppo starts building a simple game using the popular and powerful THREE.js library.
K-Means++ Data Clustering
Clustering is useful for revealing patterns in huge sets of data. One of the most common clustering techniques is the k-means algorithm. This article explains a relatively recent variation called k-means++, which improves the selection of initial means.
How To Be MEAN: Getting Started
The MEAN (Mongo, Express, Angular, Node) stack is quickly emerging as one of the favored development software stacks for the Node.js platform. Ted Neward introduces MEAN in the first of a series.
Why Can't We Be Friends?
Developers and IT pros should be staunch allies in an era where ALM tooling and integration blur the lines and blend testing and deployment in a single ecosystem.
MSDN Magazine Reader Survey: Who We Are
The bi-annual MSDN Magazine reader survey offers an opportunity to explore the changing face of our developer readership.
Journey to Windows 10
Star Trek movies and Windows releases seem to capture critical praise with every other release. Could Windows 10, due for release in July, end up regarded as a summer smash hit?
Why It’s Hard to Talk About Tech
The hardest part about developing software could be talking about it. Ryder Donahue explores the unique challenges and dynamics that make communicating about software development such a fraught exercise.
CQRS and Message-Based Applications
Command and Query Responsibility Segregation (CQRS) is a software design philosophy that separates the code that alters state and the code that just reads state. The core element of the CQRS approach is simplicity of design.
Windows Runtime Components
Join Kenny Kerr as he explores the essentials of the Windows Runtime over the next few months, beginning by writing a simple Windows Runtime component.
Explore Entity Framework Behavior at the Command Line with Scriptcs
Julie Lerman learns how to explore Entity Framework behavior interactively using Scriptcs.
Analyze Architecture with Visual Studio Code Maps
Use the architectural visualization and dependency analysis capabilities of Visual Studio 2015 Code Map to improve the architecture of your application and assess the impact of potential code changes.
Brownfield Async Development
The best approach to converting existing synchronous code into asynchronous code is to start at the lower-level layers and work your way up toward the user levels. If your code doesn’t have well-defined layers, you can still do it; it will just be a bit more difficult.
Analyze User Behavior in Windows Apps with Google Analytics
Find out how your customers are really using your Windows or Windows Phone app with Google Analytics. Collect and analyze telemetry data to discover useful information like app installed versions, usage geographic distribution and user behaviors.
Event Hubs for Analytics and Visualization, Part 3
In this third and final installment of the Internet of Things project, Bruno Terkaly takes the collected data, stores it in a DocumentDB and creates a Node.js Web server app to display the data. He then shows how to visualize it on a Windows Phone.
Using STL Strings at Win32 API Boundaries
Giovanni Dicanio presents C++ programming techniques for using STL string classes at the Win32 API C-interface boundaries.
Introduction to R for C# Programmers
In this era of data acquisition and analysis, it makes sense to add a language for statistical computing to your toolbox. R is one such language and James McCaffrey helps C# programmers get up to speed.
Linear Regression Using C#
There aren’t many examples of how to perform linear regression using a programming language on the Internet. James McCaffrey explains how to do this using C#.
100 Years of Solitaire
Fact: Windows didn't take off as an operating system until it was shipped with Solitaire. David Platt looks back at the iconic game as it turns 25 years old.
Defragmenting Windows
Microsoft has unveiled a bold new vision for developers, in the form of the Unified Windows Platform, that presents a common set of APIs for Windows apps running on all manner of devices.
Job Hunting
Ryder Donahue offers advice for aspiring developers looking for their first job, and current devs contemplating a switch from their old one.
CQRS for the Common Application
The CQRS approach to software development is essentially a rework of the classic, multi-layered architecture that leaves the door open for more significant changes and evolution.
An Overview of Microsoft Azure DocumentDB
Julie Lerman takes a first look at the Microsoft entry into the document database field—Azure DocumentDB.
Implementing and Using Data Binding in Xamarin
Laurent Bugnion discusses data binding in XAML and Xamarin and shows how it can be implemented, using examples based on the MVVM Light Toolkit
MapReduce Without Hadoop Using the ASP.NET Pipeline
Use the ASP.NET Pipeline as a MapReduce Pipeline to add rich data analytics to existing applications, boost processing power to solve large problems, or transform parts of a single node system into a distributed system. Set up is ridiculously easy and access is through a simple REST API.
Building Responsive Web Sites with Bootstrap
Learn how Bootstrap--a framework that enables responsive Web design--can help you create Web sites that will please users across all form factors using a single code base.
Create Your Own Visual Studio Templates with SideWaffle
Learn how easy it is to create your own template pack for Visual Studio using the SideWaffle extension and TemplateBuilder.
Event Hubs for Analytics and Visualization, Part 2
Event Hubs can store massive amounts of data, but you have to make informed decisions about how and where to do so in order to effectively consume data stored in Event Hubs data stores.
Firefly Algorithm Optimization
James McCaffrey explains a relatively new numerical optimization technique called firefly algorithm optimization, which loosely models the behavior of a swarm of fireflies.
Natives, Immigrants and Symbionts
The generation now being born will never experience the world without digital enhancement, says David Platt. How will that change the way future generations live, learn and love?
Windows 10 - An Introduction to Building Windows Apps for Windows 10 Devices
Windows 10 is the first OS to work across every Windows device. Andy Wigley and Jerry Nixon explore the emergence of Windows 10 and present a sample XAML app to demonstrate how developers can build universal apps for all Windows devices.
Visual Studio 2015 - Analyze Performance While Debugging in Visual Studio 2015
The new Diagnostic Tools window in Visual Studio 2015 can help you analyze performance as a regular part of your debugging workflow. You can use the new PerfTips feature to time sections of code between breakpoints and steps, the 6Diagnostic Tools window to monitor CPU and Memory, and take snapshots to drill deep into memory growth and leaks.
Visual Studio 2015 - Use IntelliTrace to Diagnose Issues Faster
IntelliTrace extends the debugger in Visual Studio 2015 and lets developers record historical debugging information as applications are running. In this article, learn how IntelliTrace helps developers execute testing steps to reproduce issues, then use historical debugging to identify the root causes.
Compilers - What Every Programmer Should Know About Compiler Optimizations, Part 2
Hadi Brais continues his series on theoptimization capabilities of the Visual C++ compiler by delving into register allocation and instruction scheduling.
Game Development - 2D Game Engines for the Web
Michael Oneppo builds the same game in three different popular 2D Web game engines, showing what the modern Web has to offer for new game developers.
Editor's Note - Introducing Upstart
The times they are a-changin', and Microsoft understands that it needs to change with them, too. The challenge: Capture the attention and loyalty of young developers who best know Windows as that operating system their parents use at work.
First Word - Any App, Any Developer
S. "Soma" Somasegar guides development of programming languages, runtimes and other developer tools and services at Microsoft. With the Microsoft Build conference kicking off in San Francisco, Somasegar offers insight into Microsoft's priorities now and moving forward.
Upstart - First Day
It's one thing to start a new job. It's quite another to go from full-time student and part-time coder to a member of Microsoft's Xbox development team. In the inaugural Upstart column, Ryder Donahue talks about the challenges, surprises and frustrations he encountered during his first six months at Microsoft, and reveals some of the lessons he learned in the process.
Windows with C++ - Adding Compile-Time Type Checking to Printf
Kenny Kerr continues to improve printf in modern C++ by adding compile-time type checking without sacrificing performance.
Data Points - The EF6, EF7 and ASP.NET 5 Soup
Julie Lerman discusses the difference between the next version of .NET and what ASP.NET 5 apps will run on, then explains how Entity Framework 6 and Entity Framework 7 fit into the mix.
Modern Apps - End-to-End Testing in Modern Web Sites and Apps
As software and apps for all platforms become increasingly complex, it becomes more important than ever to add testing to your development process. Testing helps ensure app performance and accuracy, and can greatly improve the quality of your apps.
Don't Get Me Started - Gone Viral
Thirty six years ago, humanity all but eradicated the deadly smallpox virus. Now the disease that killed nearly half a billion people in the 20th century alone has found a new host--the computer. David Platt explains why this idea should concern us all.
Microsoft Azure - Azure Notification Hubs: Best Practices for Managing Devices
Sara Silva explores the best practices for sending cross-platform and customized push notifications using Azure Notification Hubs and shows how they are integrated into Azure Mobile Services.
Azure Insider - Event Hubs for Analytics and Visualization
When dealing with massive stores and sources of data, you need advanced data analytics and visualization techniques to get the most out of that data. This sample project will show you how to do just that.
Microsoft Azure - Automate Creating, Developing and Deploying Azure Websites
Enable your Azure Website with continuous and automated deployment and authentication for all types of different environments.
OData - Visualize Streaming Data the Easy Way with OData
Louis Ross explores the use of OData for exposing near-real-time time-series streaming data, and demonstrates a sample implementation of an industrial automation time-sequence data streaming capability that uses an OData service.
Game Development - 2D Drawing Techniques and Libraries for Web Games
High quality 2D graphics are the lifeblood of many Web games. Michael Oneppo examines the technologies at play for Web graphics and explores some libraries that make drawing for 2D games easier and faster.
Windows PowerShell - Authoring Desired State Configuration Custom Resources
DSC Resources are a core component that enables authoring configurations. This article will provide comprehensive information to start authoring DSC custom resources from group-up. It would also provide steps to deploy and use them in configurations.
Editor's Note - Fished Out
The Lenovo Superfish fiasco is a cautionary tale about a trusted enterprise computing company that should have known better.
Cutting Edge - Queryable Services
Organizations need to maintain the backend business services they expose as plain HTTP endpoints. Using OData to implement queryable services on top of an ASP.NET Web API lets you give clients the flexibility to download only the fields in which they’re interested.
Windows with C++ - Visual C++ 2015 Brings Modern C++ to Legacy Code
Kenny Kerr revisits the topic of smart handle class templates and explores how to use modern C++ to enhance some old C-style libraries.
Data Points - EF6 Code First Migrations for Multiple Models
The new support for Code First Migrations in Entity Framework 6 makes it easier to store data for multiple models in a single database. But that support may not be what you imagine. Julie Lerman explains what this feature does and doesn’t do, and how to use it.
Test Run - Multi-Class Logistic Regression Classification
James McCaffrey explains how standard logistic regression classification can be extended using multi-class logistic regression, which allows the variable to predict to have three or more values.
Modern Apps - A Mobile-First Approach to Modern App Development
When it comes to mobile development, native apps have different development, architecture and sometimes business requirements than Web applications. Keep in mind such considerations as UI, navigation, power usage and scalability, and you’ll be ahead of the game.
Don't Get Me Started - Siri and Cortana Tangle
David Platt consults his inner dialog and recounts a recent conversation between mobile avatars Apple Siri and Microsoft Cortana.
ASP.NET 5 - A Deep Dive into the ASP.NET 5 Runtime
Daniel Roth takes a deep look under the hood of the new ASP.NET 5 runtime and the flexible, layered architecture that allows it to run on the .NET Framework, .NET Core and even the cross-platform Mono framework.
.NET Micro Framework - The Microsoft .NET Framework in Embedded Applications
The Microsoft .NET Framework and Visual Studio greatly increase the efficiency of programmers. Now these tools extend to embedded devices, enabling the same programming skills to be used on both the desktop and small devices
.NET Core Framework - Go Cross-Platform with the .NET Framework
While it may seem an unreachable goal to have your apps easily target multiple platforms with minimal revision, the .NET Portability Analyzer can examine your projects and provide recommendations about the APIs you should use to increase compatibility.
Game Development - A Web Game in an Hour
Moving from Web development to game development is easier than it looks. Michael Oneppo shows how to build a simple Web game from scratch in under an hour, using only jQuery and a library for making the game touch-capable.
.NET Micro Framework - Create an IoT Device Using the Gadgeteer with Azure Blob Storage
Benjamin Perkins shows how to create an IoT device using the Gadgeteer to capture data and store it on the Microsoft Azure platform, and explains how you can use some of the Azure Big Data services to unlock the hidden secrets in that data.
Microsoft Azure - Enhance Data Exploration with Azure Search
The need for effective search is growing as rapidly as massive data stores. Azure Search is a fully managed, cloud-based service that includes type-ahead suggestions, full-text search with weighting, ranking, and your own search behaviors based on a schema defined by field-attribute combinations.
Editor's Note - Not Your Father’s .NET Framework
This month, MSDN Magazine dives into key innovations in the .NET Framework, including an exploration of the latest version of ASP.NET.
Cutting Edge - Type Ahead
A well-done search function is a must in larger sites. This article presents an auto-completion framework built around Twitter typeahead.js.
Windows with C++ - Using Printf with Modern C++
Kenny Kerr explores how to improve the productivity and reliability of printf without sacrificing performance.
Test Run - Gradient Descent Training Using C#
James McCaffrey explains gradient descent and demonstrates how to use it to train a logistic regression classification system.
Modern Apps - Design and Develop Accessible Modern Apps
Want to reach the broadest available audience with your app or Web site? Rachel Appel shows how accessibile design and assistive technologies can help you do just that.
Don't Get Me Started - Hitting a New Wall
Computers and software are supposed to make us more efficient. So why are some people in the medical field discovering just the opposite?
Cross-Platform - Share UI Code Across Mobile Platforms with Xamarin.Forms
The head of the Xamarin.Forms project shows how it provides access to all the native power of the major mobile platforms, as well as all the goodness of a simplified API for those things that dont need the complex native APIs.
C# - Adding a Code Fix to Your Roslyn Analyzer
In the second part of Alex Turner's exploration of live code analyzers in the .NET Compiler Platform, he shows how to add a code fix provider to clean up errors found by the regex diagnostic analyzer presented in part 1.
Microsoft Azure - The Rise of Event Stream-Oriented Systems
With the rise in prominence of event data streams, managing and processing those streams becomes more essential. The new Azure Event Hubs helps you predict and parse data streams.
Visual Studio 2015 - Build Better Software with Smart Unit Tests
Smart Unit Tests lets you specify the intended behavior of software in terms of its source code, and uses automated white-box code analysis in conjunction with a constraint solver to generate and maintain a compact suite of relevant tests with high coverage for your .NET code.
Compilers - What Every Programmer Should Know About Compiler Optimizations
Hadi Brais introduces the sophisticated optimization capabilities of the Visual C++ compiler, which enable programmers to write understandable, maintainable code without compromising performance.
.NET Framework - Building an Enterprise Search for .NET
Big data warehouses allow companies to store huge amounts of information, but the challenge is how to retrieve just a small and specific piece of it. With Elasticsearch, things get easier.
Editor's Note - Analyze This
The new .NET Compiler Platform (aka "Roslyn") technology that is part of the Visual Studio 2015 Preview is already doing some pretty cool things. This month, we dive into Live Code Analyzers.
Cutting Edge - Lightweight Client-Side Device Detection
WURFL.js is a lightweight device description repository that can improve the user experience in client-side intensive Web applications running on mobile and desktop browsers.
Windows with C++ - COM Smart Pointers Revisited
it’s time to apply some of the modern C++ offered by Visual C++ 2015 to the design of a new smart pointer for COM interfaces, as Kenny Kerr explains.
Test Run - L1 and L2 Regularization for Machine Learning
James McCaffrey looks at how regularization can help to reduce overfitting, a common result of machine learning that undermines the predictive accuracy of the model.
The Working Programmer - Rise of Roslyn, Part 2: Writing Diagnostics
Dig into writing diagnostics as Ted Neward and Joe Hummel show how to use the open source .NET Compiler Platform (formerly known as "Roslyn") to write language tools when developing for the platform.
Modern Apps - Implement Search in Windows Store and Windows Phone Store Apps
Search is arguably the most important feature in any app these days. If you want to make your app popular and easy to use, you had better add a search function.
Don't Get Me Started - 5 Years Down the Road
Has it been five years already? David Platt looks back at half a decade as the back page columnist at MSDN Magazine.
Visual Basic .NET - 14 Top Improvements in Visual Basic 14
Microsoft has rebuilt Visual Basic 14 from the ground up. VB team member Lucian Wischik presents the Microsoft VB Language Design Team’s top 14 improvements in the new Visual Basic 14.
Visual Studio 2015 - Web-Based Test Case Management with TFS
Manoj Bableshwar shows you how to plan, create, run and track manual tests on any platform with Visual Studio Online.
Azure SDK 2.5 - Hadoop Made Easier for Microsoft Developers
HDInsight enhances big data processing in Microsoft Azure using the popular suite of Hadoop tools. Now the new Visual Studio tooling for HDInsight makes it easier than ever to take on big data projects using familiar frameworks.
Big Data - Protect Your Online Services with Big Data and Machine Learning
This article explores how big data and machine learning techniques are used to protect the online assets in the Microsoft Application & Services Group, including large services like Bing and MSN properties.
Microsoft Azure - Occasionally Connected Data in Cross-Platform Mobile Apps
Learn how Xamarin and Microsoft Azure Mobile Services enable cross-platform mobile apps to work regardless of connectivity and to synchronize data gracefully with the cloud in Windows, iOS and Android.
Azure Insider - BYOD Challenge: Connect Mobile Devices to the Enterprise
In this month’s issue we’ll take a closer look at what it takes to support more complex scenarios when connecting mobile applications to resources in the enterprise.
TypeScript - Understanding TypeScript
TypeScript is a lot more than just syntactic sugar for JavaScript. With its support for data typing, Intellisense and compile-time checking, TypeScript is a programming language worth considering on its own merits.
Windows Phone 8.1 - Adding Application Data to the Windows Phone 8.1 Map Control
In his second article on the mapping capabilities of Windows Phone 8.1, Keith Pijanowski shows you how to get application data into the map control and how to use that data so your maps can be used offline as well.
Microsoft Azure - Cross-Platform Cloud Automation with JavaScript
Linux developers working with Azure resources can't turn to PowerShell. For them, the best scripting solution is the Azure Cross-Platform Command-Line Interface (xplat-cli), which provides a set of open source, cross-platform commands to work with.
Editor's Note - Back to Basic
Lucian Wischik's "14 Top Improvements to Visual Basic 14" leads off this month's issue, and for good reason. Microsoft has performed a ground up rework of the #2 .NET programming language, and the improvements are striking.
Cutting Edge - Mobilize an Existing Web Site
Mobile users expect as seamless and smooth an experience working with Web sites on their mobile devices as they have on their desktops. While responsive Web design is one approach, creating discrete sites may be the best answer.
Data Points - Looking Ahead to Entity Framework 7
In this first look at EF7, Julie Lerman discusses what EF7 will bring to developers, the motivations behind decisions being made about the framework, and what this version means to existing apps that use EF6 or earlier.
Test Run - Logistic Regression Classification with Multi-Swarm Optimization
James McCaffrey takes a look at one of the most fundamental forms of machine learning—logistic regression classification—and presents a technique called multi-swarm optimization that can be used for training.
Don't Get Me Started - An Upstart Again
Microsoft has done a fine job remaking itself in the image of an increasingly cloud- and mobile-centric world, and the company's partnership with Xamarin is one reason why.
Cross-Platform - Write Cross-Platform Hybrid Apps in Visual Studio with Apache Cordova
Explore the cross-platform capabilities of Apache Cordova by building a simple selfie app that captures a camera image from a mobile device and shares it along with an editable location string to a social network of the user’s choosing.
Cross-Platform - Cross-Platform Game Development with Visual Studio Tools for Unity
Microsoft made a great investment in the game development community with Visual Studio Tools for Unity. Learn about what it is, how to use it, and some great new features arriving for Visual Studio.
Visual Studio 2013 - Expand Visual Studio 2013 with Extensions
Visual Studio Community 2013 opens up the world of Visual Studio Extensions to students, hobbyists, and others looking to harness the power of the Visual Studio IDE. Learn how to create a menu extension for the IDE and master the key points for developing extensions with the Visual Studio SDK.
Azure SDK 2.5 - Azure SDK 2.5 for .NET and Visual Studio 2015 Overview
From QuickStart templates to speed project development to new tools for working with big data in HDInsight, this overview of the new capabilities in Azure SDK 2.5 for .NET will help developers get up to speed.
Microsoft Azure - Push Notifications to Cordova Apps with Microsoft Azure
Learn how Visual Studio makes it easy to send cross-platform push notifications to your Cordova app users with Microsoft Azure services.
ASP.NET 5 - Introducing the ASP.NET 5 Preview
ASP.NET 5 has been rebuilt from the ground up to support building modern Web applications and services with faster development, cross-platform support, cloud features and much more.
C# - How C# 6.0 Simplifies, Clarifies and Condenses Your Code
Mark Michaelis delves into the details of the new C# 6.0 feature set that remove some of the ceremony and make it easier to focus on business logic.
C# and Visual Basic - Use Roslyn to Write a Live Code Analyzer for Your API
Can the .NET Compiler Platform change what it means to write a Microsoft .NET Framework API? Learn about diagnostic analyzers, a key new feature of Visual Studio 2015 that lets a NuGet package introduce custom warnings and errors to your build.
C++ - Visual C++ 2015 Brings Modern C++ to the Windows API
Kenny Kerr shows you how to implement IUnknown and IInspectable entirely in modern C++, without any language extensions, interface tables, or other macros.
Editor's Note - Building on Connect();
The Visual Studio 2015 and Microsoft Azure special issue of MSDN Magazine offers a glimpse at the broad and deep innovation unveiled at the Microsoft Connect(); event in New York City.
Last Word - Connect(); the Past to the Future
It's been years in the making, but MSDN Magazine Director Keith Boyd says that Microsoft has made the transformation from PC and server software company to a true cloud-first, mobile-first innovator.
Windows Runtime - Roaming Data Between Windows Store Apps and Windows Phone Store Apps
In today's world, users want to feel always connected to their apps. A big part of that is being able to run an app on one device and sharing that data with the same app running on a different device. To extend that even further, how about sharing data between Windows Store and Windows Phone apps? This able will look at how to use roaming data and using it between Windows Store and Windows Phone apps.
Unity - Developing Your First Game with Unity and C#, Part 4
In the final part of his series on Unity, Adam Tuliper looks at the process of taking a game developed in Unity to Windows, and shows how Unity 4.5 supports new shared code Universal Projects that generate packages for Windows Phone and Windows Store.
Universal Apps - Equip Your Apps with OBEX
Uday Gupta shows how a Universal Windows app project can be leveraged to enable new functionality across Windows Store and Windows Phone platforms. In this instance, Gupta adds Bluetooth file sharing via the Object Exchange (OBEX) protocol.
Mobile Apps - Advanced Push Notifications and Mobile Analytics
Push notifications is a powerful mechanism. As mobile apps evolve, there’s a need to enable analytics, reach, advertising and coordinated marketing campaigns with push. The Capptain platform provides a next-level, push notifications analytics tier needed by many mobile developers.
Voice Recognition - Speech Recognition with .NET Desktop Applications
Apple Siri and Windows Phone Cortana have shown the compelling value of speech-enabled applications. This articles shows how to enable speech recognition and synthesis in applications for Windows console, Windows Forms and Windows Presentation Foundation.
Node.js - Building Web Apps on the MEAN Stack with OData in Microsoft Azure
Here’s another option for building robust Web applications in Azure—the MEAN stack: MongoDb, Express, AngularJS and Node.JS—as Long Le explains.
Editor's Note - The Greatest Game of All Time
The future was on full display in 1978, when a little game called Mattel Electronics Football revolutionized personal, portable game play, and foretold the grip that handheld devices like smartphones would eventually have on our lives.
Cutting Edge - Effective Image Handling in Responsive Web Sites
Responsive Web Design (RWD) creates a unique experience through a fluid and adaptive Web layout. Dino Esposito explores the state of the art of RWD and dives into the critical issue of image handling and performance.
Data Points - A Pattern for Sharing Data Across Domain-Driven Design Bounded Contexts, Part 2
Julie Lerman continues her exploration of sharing data across DDD bounded contexts using a publish-subscribe pattern by looking into when it makes sense to publish messages.
Test Run - Fireworks Algorithm Optimization
James McCaffrey describes a relatively new optimization technique called fireworks algorithm optimization that, when displayed visually, resembles the geometry of exploding fireworks.
Modern Apps - Build a Better UX with Live Tiles
Live Tiles, a user experience feature of the Windows platform, are a way to display information about the app without the user having to enter or use the app itself. Lives Tiles should be alluring and inviting, filled with relevant, click-worthy content.
Don't Get Me Started - My Biggest Misteaks
David Platt has made his share of bold predictions over the years. Now he looks back at some of his biggest misses.
Async Programming - Unit Testing Asynchronous Code
Stephen Cleary considers the current state of async support in unit test and mocking frameworks, focusing on MSTest, NUnit, and xUnit.
Async Programming - Unit Testing Asynchronous Code: Three Solutions for Better Tests
Sven Grand presents ways to design and refactor code for better testability, including their advantages and limitations.
Windows Phone 8.1 - Mapping in Windows Phone 8.1
Keith Pijanowski explores the new Map control for Windows Phone 8.1, including basic map display and adding images and controls, as well as the underlying Mapping Services API, which enables geocoding, reverse geocoding, and route calculations.
Azure Insider - Security and Identity Management with Azure Mobile Services
Supporting the world of bring your own device in the enterprise is a top priority. The cloud can help developers create, support, and securely manage iOS, Android, and Windows Phone apps.
Application Instrumentation - Application Analysis with Pin
Get started with Pin, an instrumentation framework from Intel that enables you to build your own tools to profile applications while they are running. Learn how to build a Pintool in C++ that can help you detect common memory problems in your applications.
Load Testing - Load Testing Made Easy with Microsoft Azure and Visual Studio Online
Visual Studio Online includes Cloud Load Test, which enables automatic provisioning and hosting of load testing infrastructure. With Visual Studio 2013 Learn how developers can use Cloud Load Test to gain invaluable insight into application behavior under load.
MVVM - WPF Commanding with the State Machine Pattern
You can use the state machine pattern to simplify commanding in Windows Presentation Foundation apps. This can help you encapsulate the complex logic that determines whether a command can execute within the state machine pattern.
Editor's Note - Putting Async to the Test
Unit testing asynchronous code poses a variety of challenges, which may trip up unsuspecting developers. This month’s issue can get you up to speed.
Cutting Edge - Store User Data in ASP.NET Identity
You can use ASP.NET Identity in Visual Studio 2013 to simplify standard tasks such as managing and controlling access to user data.
Data Points - A Code First Migrations Mystery: Solved
Julie Lerman solves the mystery of why a friend’s Microsoft Azure database migrated automatically.
Test Run - Consensus Classification Using C#
James McCaffrey presents a custom machine learning technique that uses a rule set to create a prediction model.
The Working Programmer - Rise of Roslyn
When Microsoft open-sourced the Roslyn compiler project, it gave developers free access to both the compiler and its inner workings. Ted Neward dives into this intriguing technology.
Modern Apps - Mobile Web Sites vs. Native Apps vs. Hybrid Apps
There are pros and cons to developing any of the three primary types of apps—mobile Web, native and hybrid. Examine the intended audience and the intended platform and that will guide your decisions.
Don't Get Me Started - Next Flight Out
Disaster relief is a hard business that demands a lot more than brave souls and deep pockets. As David Platt observes, no recovery effort is complete without cutting edge IT.
C# - The New and Improved C# 6.0
The new C# 6.0 is now in CTP3. There have been myriad enhancements and improvements, as well as some features that have dropped. Here’s a full rundown on what to expect and what to look for in the new language.
Async Programming - Introduction to Async/Await on ASP.NET
Stephen Cleary provides a conceptual overview of asynchronous requests on ASP.NET, as well as references to the best online resources.
Azure Insider - Connect Your IoT Device to the Cloud
In this next installment of the Internet of Things (IoT) project, we take the connected SmartDoor and Raspberry Pi, and develop policies to manage the message and photo traffic with service bus and message bus queueing.
Unity - Developing Your First Game with Unity and C#, Part 3
In the third part of his series on Unity game development, Adam Tuliper delves into 3D games, including creating characters, animations and terrains.
SQL Server - Use Updatable Tables for Responsive Real-Time Reporting
Managing massive data stores in a single table can slow down queries and, therefore, business activities. Using a combination of partitioning and columnstore indexes solves the problem.
Universal Windows Apps - Reuse Code Assets with Universal Windows Apps
Joel Reyes explores the universal app capabilities built into Visual Studio 2013, including templates, language, API and compiler support, and considers strategies for sharing code across apps, as well as best approaches for updating disparate apps into a universal Windows version.
SQL Server - Implement Large, Fast, Updatable Tables for Responsive Real-Time Reporting
This article builds on the October MSDN Magazine print article, “Use Updatable Tables for Responsive Real-Time Reporting,” that describes a combination of table partitioning and columnstore indexing to support a large table you can query rapidly for reporting and update concurrently.
Editor's Note - Arrivals and Departures
Charles Petzold is stepping down as a columnist at MSDN Magazine to work at Xamarin.
Cutting Edge - Source Code Readability Tips
Readability must be an essential attribute of your coding practices. Follow the three C’s—comments, consistency and clarity—to create code that’s easier to read.
Data Points - A Pattern for Sharing Data Across Domain-Driven Design Bounded Contexts
Julie Lerman explores a way to mirror data as one scenario for sharing data across DDD bounded contexts.
Test Run - Probit Classification Using C#
James McCaffrey explores probit classification, a machine learning technique for making predictions in situations where the dependent variable to predict can take one of just two possible values.
Modern Apps - Use SignalR to Build Modern Apps
SignalR is a set of server and client libraries that lets you develop apps with dynamic, real-time, two-way communication.
DirectX Factor - Pixel Shaders and the Reflection of Light
Charles Petzold brings his series on DirectX to a close with an exploration of the classic Gouraud and Phong 3D light shading models.
Don't Get Me Started - Raising Higher Education
David Platt's Harvard University Extension School class on UX engineering and management aims to create a cadre of UX first responders, who leverage awareness of basic concepts in UX design to enable a more robust and functional design process.
Azure Insider - Soup to Nuts: From Raw Hardware to Cloud-Enabled Device
There is a new gold rush happening and it’s not about precious metals. It’s about building innovative, consumer-based devices and connecting them to the cloud. In this month's Azure Insider feature, the authors roll up their sleeves and explore what it takes to embrace this new computing paradigm.
Microsoft Azure - Introduction to Machine Learning Studio
Machine learning systems use data to make predictions. The Azure Machine Learning Studio gives you a much easier way to create a machine learning model than writing code from scratch.
Windows Store - Creating a Location-Aware App with Geofencing
Tony Champion explores the concept of geofencing and shows how to develop a location-aware Windows Store app that uses this feature.
Unity - Developing Your First Game with Unity and C#, Part 2
In the second article in this series on game development with the Unity framework, Adam Tuliper explores the features used in C# and JavaScript to add common functionality to a game.
ASP.NET - ASP.NET Web API Security Filters
Learn how to use the new authentication filter in ASP.NET Web API 2 and the existing authorization filter to cleanly separate authentication and authorization concerns.
Editor's Note - Six Degrees of Live! 360
From editors to authors, MSDN Magazine has plenty of ties to the Visual Studio Live! and Live! 360 developer conference events.
Cutting Edge - A Look at ClearScript
Add ClearScript into any .NET application to add scripting capabilities, publish objects and enable users to create and run their own scripts within the application.
Windows with C++ - DirectComposition: Transforms and Animation
Building on his previous columns on the DirectComposition API and Direct2D, Kenny Kerr shows how easy it is to add some powerful effects to last month’s project using transforms and animation.
Data Points - Git: It’s Just Data!
Julie Lerman had struggled with Git, until a colleague showed her that Git is really just a database. Follow along as Julie explores the lower level plumbing commands of the Git source control system.
Test Run - Winnow Classification Using C#
James McCaffrey explores the Winnow algorithm, a relatively simple technique for predicting the results of binary classification problems.
The Working Programmer - Fun with C#, Part 2
Ted Neward completes his F# adventure, showing how the functional language can be used to solve a thorny C# programming challenge.
Modern Apps - Build Universal Apps for the Windows Platform
Windows platform developers can now write apps that target both Windows 8.1 and Windows Phone 8.1 with a single, shared codebase by creating a Universal App. Rachel Appel shows how you can get started.
DirectX Factor - Vertex Shaders and Transforms
Charles Petzold presents the ThreeRotatingTriangles program, which does some 3D graphics processing without Direct3D, using the powerful feature of Direct2D effects.
Don't Get Me Started - A Girl’s Road to Geekdom
Annabelle Rose Platt is a teenage geek-in-the-making (who also happens to be David Platt's daughter). She guest-writes this month's column on the challenges of attracting girls into IT and software development.
Windows Store - Integrating OneDrive into Your Windows Store Apps
If you’re building an app that involves user files, integrating OneDrive into that app should be an important feature. Learn how to implement the OneDrive API in a Windows Store app and see some of the opportunities this API presents.
Unity - Developing Your First Game with Unity andC#
Get started with cross-platform game development with the Unity framework. In the first article in a four-part series, Adam Tuliper explores the interface and architecture of Unity.
Windows Phone - Build MVVM Apps with Xamarin and MvvmCross
MVVM is a powerful pattern to develop Windows Phone and Windows Store apps, allowing developers to easily unit test applications and separate concerns between the view and the code. This article shows how to do the same thing on iOS and Android using Xamarin and MvvmCross.
Microsoft Azure - Microsoft Azure Media Services
Hosting live video events at scale can be a daunting task. This article explores Windows Azure Media Services Live and how it can be used to enable streaming video of a live event.
Microsoft Azure - Use Distributed Cache in Microsoft Azure
This article explains how ASP.NET application developers can use a distributed cache in their ASP.NET or WCF Web services applications running in Windows Azure. It details how distributed caching can also handle special requirements if the application is deployed in multiple data centers, either in an active/passive or active/active scenario.
Editor's Note - Everything I Need to Know I Learned from Bloom County
Back in March, Michael Desmond wrote about the lessons the comic strip Calvin and Hobbes has to offer working developers. This month, Desmond seeks wisdom in Berkely Breathed's comic strip, Bloom County.
Cutting Edge - Documents, Databases and Eventual Consistency
The decision to use relational SQL stores or NoSQL stores to hold disparate types of data will depend on the data and the application. Ultimately, it might not even be necessary to rely on one or the other, says Dino Esposito.
Windows with C++ - DirectComposition: A Retained-Mode API to Rule Them All
Kenny Kerr shows how you can use retained-mode APIs to manipulate visuals drawn with Direct2D in a way that’s very appealing to experienced developers.
Data Points - Cool (and Free) Tools for Entity Framework
Julie Lerman highlights some handy, community-based tools that can enhance your productivity with Entity Framework.
Test Run - Solving Sudoku Puzzles Using the MSF Library
James McCaffrey explains how to use the Microsoft Solver Foundation (MSF) library to solve Soduku puzzles programmatically.
Don't Get Me Started - Unwritten Rules
Knowing when to follow the written rules, and when to ignore them in favor of the unwritten ones, is what software engineering is all about.
Azure Web Sites - Scaling Your Web Application with Azure Web Sites
Yochay Kiriaty kicks off our July issue themed on Microsoft Azure Web Sites development, with an article that shows how to modify Web applications to handle millions of HTTP requests across both multiple instances and multiple regions.
Azure Web Sites - Architect for the Cloud Using Azure Web Sites
Sometimes bad things happen to good apps, and when they do you need to react fast. This article explores the tools and patterns you can adopt to make your Web applications even better and more resilient in a sometimes-hostile cloud environment.
Azure Web Sites - Building a Node.js and MongoDB Web Service
Tejaswi Redkar shows you how to develop a RESTful Web service in Node.js that accesses a MongoDB database in the cloud, and how to deploy it to Azure Web Sites.
Azure Web Sites - Hybrid Connectivity: Connecting Azure Web Sites to LOB Apps Using PortBridge
Hybrid apps bring the power of the cloud to existing software services that run on-premises in your datacenter. This article takes a deep look at connecting a Web site to a line-of-business application running on-premises and shows how to enable seamless connectivity.
Azure Web Sites - Teaching from the Cloud
Using Azure Web Sites, MVC 5, SignalR and Azure SQL, this article explores the creation of an e-learning application that provides course modules, lessons and basic user administration. The result is a Web site that allows an instructor to "push" content to the students' browsers, keeping all students in sync with the current lesson.
Editor's Note - Introducing Azure Web Sites Services
Microsoft has been very busy of late improving the Microsoft Azure cloud platform. This issue of MSDN Magazine explores how developers can leverage the improved capabilities of Azure Web Sites.
Windows with C++ - Embracing the Windows Composition Engine
Kenny Kerr explores the Windows composition engine and shows how an alpha-blended window from his previous column can be reproduced using a composition surface rather than a swap chain.
Data Points - Tips for Updating and Refactoring Your Entity Framework Code, Part 2
Julie Lerman breaks out a small Entity Data Model and, using that model, works through some of the problems you might encounter when switching from the ObjectContext API to the newer DbContext API.
Test Run - Distorting the MNIST Image Data Set
James McCaffrey presents a demo program that generates deformed images in order to create additional training data for an image recognition system.
The Working Programmer - Fun with C#
Both F# and C# are languages based on the Microsoft .NET Framework, so you can often resolve a programming problem in one language, then transfer the code over to the other. This functional programming approach opens new avenues to problem resolution.
Modern Apps - Authentication and Identity in Windows Store Apps
Since many Web sites and apps require some sort of user sign in, it’s up to us as developers to make it as easy as possible. Here you’ll learn the basics of enabling application authentication on the Windows platform.
DirectX Factor - Breaking the Z Barrier with Direct2D Effects
Using custom effects you can get much closer to authentic 3D programming than otherwise possible with Direct2D, as Charles Petzold explains.
Don't Get Me Started - Windows XP: An Old Soldier Fades Away
Years after it helped change the computing world, Microsoft support for the Windows XP operating system is finally ending. But that doesn't mean we've seen the last of Microsoft's venerable OS.
TypeScript - Enhance Your JavaScript Investment with TypeScript
Don't throw away your JavaScript investment. Migrating to TypeScript preserves the work you've put into your JavaScript code and encourages the adoption of new features that support greater productivity on large scale applications.
ASP.NET MVC - Override the Default Scaffold Templates
While repeatedly coding create, retrieve, update and delete operations (CRUD) can be tedious, you can automate the process using scaffolding templates. Doing this typically prevents updates or edits to controllers or views, but there are ways to customize them.
ASP.NET - Topshelf and Katana: A Unified Web and Service Architecture
Thanks to the Katana project, the open-source Topshelf library, and the OWIN specification, you can now create a unified Web and service architecture with a ridiculously simple deployment process.
MVVM - The MVVM Light Messenger In-Depth
Laurent Bugnion finishes his series on MVVM development with an in-depth look at the MVVM Light Messenger, exploring both its ease of use benefits and associated potential risks.
SharePoint - Using JSLink with SharePoint 2013
A new feature in SharePoint 2013 called JSLink provides a much easier and more responsive way to display custom fields on the client, as Pritam Baldota explains.
Editor's Note - Bleeding Heart
The Heart Bleed vulnerability in OpenSSL makes clear an inescapable truth: Software is only as good as the people who write and review it.
Cutting Edge - External Authentication with ASP.NET Identity
Dino Esposito shows how to perform authentication through an external OAuth- or OpenID-based server, such as a social network, and the steps you might want to take once authentication is complete.
Windows with C++ - High-Performance Window Layering Using the Windows Composition Engine
Kenny Kerr shows how to tap into system capabilities previously inaccessible from applications to produce the layered window effect without compromising performance.
Azure Insider - Telemetry Ingestion and Analysis Using Microsoft Azure Services
It’s one thing to gather a large amount of telemetry data; it’s another entirely to analyze and process it in a meaningful way. You can use Microsoft Azure services to help streamline the process.
Test Run - Working with the MNIST Image Recognition Data Set
James McCaffrey introduces you to the MNIST data set and image recognition, one of the most fascinating topics in the field of machine learning.
DirectX Factor - The Canvas and the Camera
When moving from 2D to 3D programming, the metaphorical canvas needs to be supplemented with a metaphorical camera. Charles Petzold explains how.
Don't Get Me Started - VB6 and the Art of the Knuckleball
David Platt's last VB6 column remains one of the most widely-read (and commented upon) MSDN Magazine articles in recent history. Platt thinks he knows why.
C# - A C# 6.0 Language Preview
Mark Michaelis presents some of the useful new features in the next version of C#, including indexed members and element initializers, auto-properties with initializers, primary constructors, static using statements, and exception-handling improvements.
Visual Studio 2013 - Next-Generation Development with Application Insights
Application Insights delivers a set of services that integrates developer and operations tools to reduce friction in the development process. This articles explores services like availability monitoring, application performance monitoring and usage analytics to ensure that applications are available, performant and functional.
Async Programming - Patterns for Asynchronous MVVM Applications: Services
In the third article in a series that looks at patterns for combining the async and await keywords with MVVM, Stephen Cleary looks at the service layer and discusses asynchronous services.
ALM Rangers - Software Development with Feature Toggles
Feature toggles are a programming concept that enables parallel, concurrent feature development as an alternative to branching for parallel development (feature branches), and allows continuous integration of features while they are being developed.
C# Best Practices - Dangers of Violating SOLID Principles in C#
SOLID Principles are a well-known guideline for effective software development. Brannon King looks at several C#-specific patterns that violate these principles and, in so doing, help illuminate their value to programmers.
Editor's Note - Building Bridges
Last month's Build Conference set the agenda for Microsoft developers for years to come.
Azure Insider - Microsoft Azure and Open Source Power Grid Computing
Developing and deploying something as potentially complex as a grid or distributed computing implementation can be daunting. Bruno Terkaly and Ricardo Villalobos discuss coding tools that can help establish the necessary communication.
Data Points - Tips for Updating and Refactoring Your Entity Framework Code
Updating to a new version of Entity Framework and refactoring your code presents some real challenges. Julie Lerman’s tips can help ease the pain.
Test Run - Association Rule Learning
James McCaffrey explains association rule learning, an exploratory technique intended to reveal interesting and possibly useful relationships between items.
The Working Programmer - Growl Notification System: Simpler Is Better
Sometimes the simplest approach is best, as Ted Neward illustrates with the Growl notification utility, which makes it easy for developers to add reliable notificiations to their software.
Modern Apps - Design a Cross-Platform Modern App Architecture
Considering the wide range of devices available these days, the need to develop apps for cross platform use is inevitable. Make the right choice of development platform and process to ensure you can develop the app you need.
DirectX Factor - Manipulating Triangles in 3D Space
Charles Petzold explores 3D concepts as he shows you how to give 2D graphical objects depth and body as they arise from screen and float in 3D space.
Don't Get Me Started - Mayday!
David Platt takes Amazon's Mayday interactive help feature of the Kindle HDX for a spin and wonders, could it replace the neighborhood bartender?
Windows Store - Windows Store C++ for C# Developers: Understanding the Domain
Modern C++ offers power and performance for developing Windows Store applications, but a blizzard of information and disinformation can stymie C# developers. Bill Kratochvil helps you get started phasing in C++ components where they’ll be most useful.
MVVM - Multithreading and Dispatching in MVVM Applications
Laurent Bugnion continues his series on the MVVM pattern with a look at a common scenario in modern client applications—handling multiple threads and helping them communicate with each other.
Async Programming - Patterns for Asynchronous MVVM Applications: Commands
In this second article in a series that looks at patterns for combining the async and await keywords with MVVM, Stephen Cleary shows how to develop an asynchronous implementation of ICommand.
Windows Phone - Build a Cross-Platform, Mobile Golf App Using C# and Xamarin
Golf season is here! Learn how to build a cross-platform mobile app (Windows Phone and iOS) that uses Azure Mobile Services to track drives in a long drive contest.
Windows Phone - Build an Advanced Camera App for Nokia Lumia Phones
Learn how to use the Nokia Imaging SDK to create enhanced photos through the use of multiple filters and effects as Rajesh Lal builds an advanced tilt-shift camera app.
C# - Using Survival Analysis
Survival analysis is a discipline in statistics that focuses on estimation of time to events. Typically applied in disciplines like drug research, engineering systems design and credit analytics, this feature shows how survival analysis can apply to software development.
Editor's Note - Survey Says
The 2013 MSDN Magazine Reader Survey offers an insightful snapshot of our readership and provides a glimpse of the trends shaping the dev space during a time of transition for Microsoft.
Windows with C++ - Using Databases on Microsoft Azure
First it was ODBC, then it was OLE DB, and more recently the relational data access technology favored by Microsoft has switched back to ODBC. But don't worry, Kenny Kerr explains how modern C++ makes it easy to use this older C-style API to access databases on Azure.
Data Points - Adding New Life to a 10-Year-Old ASP.NET Web Forms App
Legacy code: can’t live with it, can’t live without it.Julie Lerman figures out how to update an old ASP.NET WebForms app using Knockout.js and Breeze.
Modern Apps - What’s New in Windows 8.1 for Windows Store Developers
Get the lowdown on better management of windows and tiles, new project templates, updated and new HTML and XAML controls, new networking and security APIs, and much more.
DirectX Factor - 3D Transforms on 2D Bitmaps
Achieving fluency in 3D transforms is crucial if you want to become a 3D graphics programmer. Charles Petzold shows how you can explore them within the relative familiarity and comfort of Direct2D.
Don't Get Me Started - We Didn't Start Computing
Billy Joel's 1986 hit "We Didn't Start the Fire" inspires David Platt to stream a bit of consciousness of his own.
Async Programming - Patterns for Asynchronous MVVM Applications: Data Binding
Async and Await are great, but they don't fit seamlessly with MVVM. This is the first in a series of articles that will explore using async within an MVVM application. This article covers how to use tasks with data binding, essentially creating an "asynchronous property."
Async Programming - Asynchronous TCP Sockets as an Alternative to WCF
New features in .NET 4.5 that make it much easier to work with an effective alternative to Windows Communication Foundation called async socket programming. James McCaffrey shows how async socket programming works.
ASP.NET MVC 5 - A .NET Developer Primer for Single-Page Applications
Long Le shows how traditional ASP.NET MVC developers focused on the server side can seamlessly transition to building client-side, single-page applications.
Windows 8.1 - Building a Netduino-Based HID Sensor for WinRT
Donn Morse builds a HID-based temperature sensor for the WinRT API that connects to a Windows 8.1 tablet or laptop, and creates an app that can take the sensor data and display the current temperature.
Editor's Note - Everything I Need to Know I Learned from Calvin and Hobbes
The Calvin and Hobbes comic strip offers surprising wisdom for software developers, from the elegant genius of the Transmogrifier to the convoluted security around the clubhouse tree fort.
Cutting Edge - A First Look at ASP.NET Identity
Dino Esposito explores the basics of ASP.NET authentication and the new ASP.NET Identity system from the perspective of the ASP.NET MVC 5 developer.
Azure Insider - The Microsoft Azure Service Bus and the Internet of Things, Part 2
Walk through a proof-of-concept solution to see how a Service Bus queue provides an elegant way to incorporate resiliency and occasional connectivity for IoT applications.
The Working Programmer - Getting Started with Oak: Data Validation and Wrapping Up
Ted Neward wraps up his four-part examination of the Oak framework’s dynamic approach to Web development by diving into data validation and explaining why Oak is going into his personal toolbox.
Modern Apps - A Look at the Hub Project and Control in Windows Store Apps
Rachel Appel looks at how the Hub project template in Visual Studio works with the Hub control to help you code HTML and XAML Windows Store apps that showcase large amounts of data in an aesthetically pleasing, functional and modern layout.
DirectX Factor - Triangles and Tessellation
Though triangles are far less integral to 2D graphics programming than to 3D, Charles Petzold explores some interesting effects created with tessellated triangles in two dimensions.
Don't Get Me Started - The Peasants Are Revolting!
When Avon field reps revolted against the company's new order management software, it sent a stark message. In the age of iPads, companies can no longer afford to foist bad software on their users.
.NET Framework - Explore the Microsoft .NET Framework 4.5.1
Learn all about the new capabilities of the Microsoft .NET Framework 4.5.1, including features such as improved debugging, ASP.NET App Suspension and async-aware debugging.
WinJS on Windows 8.1 - Build More Efficient Windows Store Apps Using JavaScript: Performance
With Windows 8.1, Microsoft introduces to the WinJS library the scheduler and the predictable object lifetime model, allowing developers greater control over app performance. In this article, I describe some best practices for building an efficient app, using the WinJS APIs in both Windows 8.1 and Windows 8.
Aspect-Oriented Programming - Aspect-Oriented Programming with the RealProxy Class
Aspect-oriented programming lets you separate the code that’s not directly related to your layers—such as logging, validation or authentication—in different classes. Here, Bruno Sonnino shows how to use the RealProxy class to apply aspects to your code in an easy and flexible way.
Async Programming - Intercepting Asynchronous Methods Using Unity Interception
Learn several strategies for intercepting asynchronous methods,demonstrated using an example that logs the completion of asynchronous operations.
Editor's Note - Conference Calling
Microsoft will hold its Build conference for developers again in San Francisco, April 2-4. Michael Desmond expects developers will get a lot out of the show--even if they can't manage to get in.
Cutting Edge - Content Negotiation and Web API for the ASP.NET MVC Developer
Dino Esposito discusses Web API from the perspective of the average ASP.NET MVC developer, focusing on the improved content negotiation functionality.
Windows with C++ - Write High-DPI Apps for Windows 8.1
Windows 8.1 brings new life to multi-monitor configurations and lets you develop applications that are per-monitor DPI-aware to give users the best possible resolution. However, few applications have achieved this yet, so Kenny Kerr shows you how.
Data Points - Data, Meet My Friend, F#
Julie Lerman explores functional languages and finds that they’re really good at working with sets of data.
Azure Insider - Microsoft Azure Service Bus and the Internet of Things
Learn how the Azure Service Bus can help you meet the challenges of connecting to just about any device that comes along, no matter what hardware and software it relies on.
DirectX Factor - A 2D Portal into a 3D World
Did you know you can get your 3D feet wet in Direct2D, so a later plunge into Direct3D programming won’t be quite so shocking? Charles Petzold shows you some 3D features in Direct 2D that let you get started.
Don't Get Me Started - Jose, Can You C?
David Platt recounts the courageous story of a Cuban immigrant to America, and why the country should be anxiously courting more like him.
.NET Framework - Explore the Microsoft .NET Framework 4.5.1
Learn all about the new capabilities of the Microsoft .NET Framework 4.5.1, including features such as improved debugging, ASP.NET App Suspension and async-aware debugging.
WinJS on Windows 8.1 - Build More Efficient Windows Store Apps Using JavaScript: Performance
With Windows 8.1, Microsoft introduces to the WinJS library the scheduler and the predictable object lifetime model, allowing developers greater control over app performance. In this article, I describe some best practices for building an efficient app, using the WinJS APIs in both Windows 8.1 and Windows 8.
Aspect-Oriented Programming - Aspect-Oriented Programming with the RealProxy Class
Aspect-oriented programming lets you separate the code that’s not directly related to your layers—such as logging, validation or authentication—in different classes. Here, Bruno Sonnino shows how to use the RealProxy class to apply aspects to your code in an easy and flexible way.
Async Programming - Intercepting Asynchronous Methods Using Unity Interception
Learn several strategies for intercepting asynchronous methods,demonstrated using an example that logs the completion of asynchronous operations.
Editor's Note - Conference Calling
Microsoft will hold its Build conference for developers again in San Francisco, April 2-4. Michael Desmond expects developers will get a lot out of the show--even if they can't manage to get in.
Cutting Edge - Content Negotiation and Web API for the ASP.NET MVC Developer
Dino Esposito discusses Web API from the perspective of the average ASP.NET MVC developer, focusing on the improved content negotiation functionality.
Windows with C++ - Write High-DPI Apps for Windows 8.1
Windows 8.1 brings new life to multi-monitor configurations and lets you develop applications that are per-monitor DPI-aware to give users the best possible resolution. However, few applications have achieved this yet, so Kenny Kerr shows you how.
Data Points - Data, Meet My Friend, F#
Julie Lerman explores functional languages and finds that they’re really good at working with sets of data.
Azure Insider - Microsoft Azure Service Bus and the Internet of Things
Learn how the Azure Service Bus can help you meet the challenges of connecting to just about any device that comes along, no matter what hardware and software it relies on.
DirectX Factor - A 2D Portal into a 3D World
Did you know you can get your 3D feet wet in Direct2D, so a later plunge into Direct3D programming won’t be quite so shocking? Charles Petzold shows you some 3D features in Direct 2D that let you get started.
Don't Get Me Started - Jose, Can You C?
David Platt recounts the courageous story of a Cuban immigrant to America, and why the country should be anxiously courting more like him.
WinJS on Windows 8.1 - Build More Efficient Windows Store Apps Using JavaScript: Error Handling
Eric Schmidt explores fundamental concepts of the Windows Library for JavaScript (WinJS), including promises, asynchronous debugging and error handling. He also demonstrates a new tool in Visual Studio 2013 for tracking down errors in asynchronous promise chains in JavaScript.
Visual Studio 2013 - Introducing Visual Studio Online
Whether you’re part of a team or a team of one, with Visual Studio Online you can easily create and monitor seriously demanding applications, from anywhere.
WPF - Build Fault-Tolerant Composite Applications
Learn how to host Windows Presentation Foundation plug-ins in separate processes to improve robustness and increase flexibility.
Windows 8.1 - Create Modern Microfiche with the Chronicling America API
Chronicling America provides a straightforward API that enables access to historical newspapers for apps used in research, education and family histories.
ASP.NET - Troubleshooting Applications with IIS Logs
Learn useful techniques to help you troubleshoot any application or system running under IIS, no matter what platform it’s coded on.
SQL Server - Unit Testing SQL Server OLAP Cubes Using C#
Much time can be wasted testing complex OLAP Cubes only to find they weren't created correctly. Mark Nadelson draws on his real-world experience to show how to unit test Cubes to ensure they were built the right way.
Editor's Note - WinJS Takes the Next Step
This month Eric Schmidt explores error handling in the Windows Library for JavaScript, also known as WinJS.
Windows with C++ - Using Regular Expressions with Modern C++
Regular expression grammar can humble the most seasoned developer. Kenny Kerr shows how modern C++ lets you produce elegant and efficient abstractions to make the job easier.
Data Points - Code First Goodies in Entity Framework 6
Julie Lerman rounds out her coverage of Entity Framework 6 with a discussion of new Code First features relating to mappings and migrations.
Test Run - Frequent Item-Sets for Association Rule Learning
Extracting frequently occurring item-sets from a list of transactions is a surprisingly tricky but useful task. This article explains the Apriori algorithm and presents a complete demo program.
The Working Programmer - Getting Started with Oak: Database Interaction
Digging deeper into the workings of the Oak dynamic Web development framework, Ted Neward shows how to wire up a SQL Server instance, build a database, add a related type and more.
Don't Get Me Started - The Steam Drill
The folk tale of John Henry describes a man who hammered steel drill rods into rock to make holes for blasting railroad tunnels. He died working to best a steam-powered drill. Does a similar fate await old developers unwilling to embrace increasing abstraction?
Entity Framework - Entity Framework 6: The Ninja Edition
Entity Framework 6 is no longer part of the .NET Framework—and it’s open source, Find out what else is new as Julie Lerman takes you for a tour.Julie Lerman explores Entity Framework 6.0, which introduces key new features of Microsoft object relational mapping solution.
ASP.NET Web API - CORS Support in ASP.NET Web API 2
The long-requested support for cross-origin resource sharing (CORS) is now built into ASP.NET Web API 2. Brock Allen, the original developer of the CORS framework, shows how to configure policy to allow JavaScript clients to access APIs from a different origin.
Visual Studio 2013 - Cross-Browser, Coded UI Testing with Visual Studio 2013
Learn how new testing features in Visual Studio 2013 let you not only test your UI against all modern browsers, but also search for specific UI elements.In the past few years web based applications become most wanted solutions in the IT market. New approach for modern web based solutions required modern techniques for testing it in fully automated way. Visual Studio 2013 meets market needs by offering end-to-end framework to make UI test automations in kind and understandable way.
Model Based Testing - An Introduction to Model-Based Testing and Spec Explorer
Learn the advantages of model-based testing when formal, systematic testing is warranted, and how Spec Explorer, together with Visual Studio, eases the process.
Windows Store Apps - Freedom of Information Act Data at Your Fingertips
Vishwas Lele walks through the building of a custom Windows Store app to help citizens work with data requested through the Freedom of Information Act.
Windows 8.1 - Rendering PDF Content in Windows Store Apps
Learn the new ways Windows 8.1 provides to render PDF documents in Windows Store apps, with options for using Windows Runtime or native APIs.
Editor's Note - In Praise of Entity Framework 6
Julie Lerman's feature on Entity Framework 6 reveals that developers have a lot to be excited about with the latest version of Microsoft's object-relational mapping framework.
Azure Insider - Meet the Demands of Modern Gaming Microsoft Azure
Learn how Azure can help with the common tasks related to building a gaming backend—leaving you to concentrate on developing your game.
Test Run - Radial Basis Function Network Training
Following on his previous column in which he explained the details of RBF networks, James McCaffrey now provides practical guidance on implementing RBF network training.
The Working Programmer - Getting Started with Oak: A Different Approach
Ted Neward explores developing an application in the Oak Web framework, which provides a dynamic environment similar to Ruby on Rails that’s well-suited for rapid application development.
Modern Apps - Everything You Need to Know About the WinJS ListView Control
Get up to speed with the primary data display control in Windows Store apps built with JavaScript, including some new features in Windows 8.1.
DirectX Factor - Character Outline Geometries Gone Wild
Manipulating character outlines lets you create weird and wonderful text effects. Charles Petzold shows you how to obtain character outline geometries in a Windows 8 application.
Don't Get Me Started - Original Sin?
Computer pioneer Grace Hopper worked on the legendary Harvard Mk 1 computer to help design the first atom bomb. It was an epic achievement, and perhaps our industries first and greatest sin.
Visual Studio 2013 - Build Office 365 Cloud Business Apps with Visual Studio 2013
Visual Studio experts detail the complete lifecycle of a Cloud Business App from building, running and publishing to setting up continuous integration.
ASP.NET - Single-Page Applications: Build Modern, Responsive Web Apps with ASP.NET
Learn how to create modern HTML5 Web apps using ASP.NET Web API combined with open-source JavaScript frameworks.
ASP.NET Web API - Secure ASP.NET Web API with Microsoft Azure AD and Microsoft OWIN Components
Learn how to take advantage of new Visual Studio 2013 features to create a simple Web API protected by Azure AD, and how to create a test client so you can see the API in action.
MVVM - Writing a Testable Presentation Layer with MVVM
Brent Edwards concludes his series on writing a testable presentation layer for Window 8 and Windows Phone 8 applications using the MVVM pattern with a look at how he approaches the actual testing process.
Editor's Note - Standing on Principle
MSDN Magazine contributor Jason Bock says about half of the developers he polls during presentations fail to employ unit testing or other core development principles in their projects.
Cutting Edge - Programming CSS: Do More with 'LESS'
The LESS Framework enables dynamic generation of CSS content and gives developers and designers alike sophisticated tools for managing and organizing CSS code.
Windows with C++ - Exploring Fonts with DirectWrite and Modern C++
Kenny Kerr shows how DirectWrite comes to life with help from Direct2D and modern C++, providing color fonts, hardware-accelerated text rendering, and elegant and efficient code.
Azure Insider - Migrating Database Workloads to the Cloud
Many companies today are thinking about moving their database workloads to the cloud, but there are many choices and challenges. Learn about your options when it comes to SQL Server and data storage in the Microsoft Azure Platform.
DirectX Factor - Who’s Afraid of Glyph Runs?
If you’re writing a Windows Store app, you may want to use glyphs to display text. Charles Petzold explains the rationale behind using glyphs, as well as how to take advantage of DirectX to use them.
Don't Get Me Started - Advice to the New CEO
With Microsoft CEO Steve Ballmer poised to step down, columnist David Platt offers some completely unsolicited advice to whoever it is that finally takes his place.
Geo-Data Visualization - Geo-Visualization of Government Data Sources
Using SQL Azure with geographic fields to normalize content from multiple, publicly available data sources can provide many interesting opportunities for data analysis and visualization.
OData - Harness Open Data with CKAN, OData and Microsoft Azure
Learn how Microsoft uses open standards and interoperability technologies to help government organizations and developers deliver better services via new innovative open data services across enterprise platforms.
Windows 8.1 - Engage Governments and Communities with Open311
Open311 provides a vehicle for the community to report social and infrastructure issues to the government. Learn how Windows Store apps can extend Open311 into a platform for civic engagement, collaboration and social action.
HTML - Leverage Existing Web Assets as Data Sources for Apps
Screen scraping is rarely an ideal solution, but the ShaZapp app makes the process both easy and resilient—an excellent option for cash-strapped government organizations needing to leverage Web data assets.
Windows Phone - Enhance Citizen Services with Windows Phone 8 Wallet and NFC
City governments struggle with shrinking budgets as they work to provide high-quality services to tech-savvy citizens. Learn how the digital wallet technology built into Windows Phone 8 can, in conjunction with Near Field Communication (NFC), enable compelling new scenarios for citizen services.
Dynamics CRM - Building Government Business Applications with Microsoft Dynamics CRM
Microsoft Dynamics CRM offers a powerful platform for building a wide range of government business applications. Learn about the many benefits it provides for developers that result in a shortened time-to-value.
Editor's Note - Whiskey, Keys and Software
P.J. O'Rourke famously compared government to teenage boys. Could the Digital Government Strategy be a sign that the teenagers are growing up?
First Word - Software Citizens
Rapid-fire advances in cloud, mobile and Web computing have prompted government agencies to unlock vast data assets in an effort to improve services and reduce costs.
Azure Insider - Choosing a Cloud Network for Government-Compliant Applications
Hybrid cloud networks provide different advantages to government agencies designing solutions that need to follow specific privacy, security and compliance policies.
Test Run - Implementing the National Institute of Standards and Technology Tests of Randomness Using C#
The Computer Security Division of the U.S. government's National Institute of Standards and Technology provides resources to protect information systems against cyber threats. This article implements the NIST's tests of randomness using the C# language.
Don't Get Me Started - Singing Your Song
Google uses computers for what computers are good at, so humans can do what humans are good at. You should aim for the same, says columnist David Platt.
ASP.NET - Getting Started with the Katana Project
Project Katana lets you compose a modern Web application from a wide range of different Web technologies and then host that application wherever you wish. Howard Dierking presents a sample application to get you started.
Windows 8.1 - Building an Alarm App in Windows 8.1
Windows 8.1 adds the new concept of an alarm app. Tony Champion walks through the process of building a fully-functional alarm app from the ground up.
Windows Phone - Programming the Nokia Sketch Effect in Windows Phone 8
The Nokia Imaging SDK for Windows Phone 8 enables powerful photo effects in real time when taking pictures with Nokia Lumia smartphones. Author Srikar Doddi builds a Windows Phone 8 app that explores the new capabilities.
.NET Framework - Adaptive Access Layers + Dependency Injection = Productivity
Saxo Bank's custom-built Adaptive Access Layers provides developers a simple, uniform interface to most of the external resources needed when implementing business logic. Combined with a Dependency Injection container, this approach enables enterprise solutions with clear, testable designs.
ALM Rangers - Implementing Static Code Analysis with StyleCop
Learn how StyleCop helps you maintain style and format consistency in your source code while implementing static code analysis in your Team Build.
Editor's Note - Microsoft Swings Its Web Sword
Microsoft's Katana project aims to turn framework-based model of application development on its ear. Howard Dierking offers insight into what developers can expect from Microsoft's OWIN-based effort.
Cutting Edge - Programming CSS: Bundling and Minification
Learn about bundling and minification of CSS files from the unique perspective of software tooling available in ASP.NET MVC 4.
Windows with C++ - Rendering for the Windows Runtime
The Windows Runtime application model is optimized for rendering with DirectX. Kenny Kerr shows how to take what you’ve learned in his previous columns about Direct2D and Direct3D rendering and apply it to your WinRT apps.
Data Points - Coding for Domain-Driven Design: Tips for Data-Focused Devs, Part 3
Julie Lerman explores two important technical patterns of Domain Driven Design (DDD) coding--unidirectional relationships and the importance of balancing tasks between an aggregate root and a repository--and how they apply to the Object Relational Mapper (ORM), Entity Framework.
Test Run - Radial Basis Function Networks for Programmers
Radial basis function (RBF) networks are software systems that have certain similarities to neural networks. This article will describe exactly what RBF networks are, explain how RBF networks compute their outputs, and present a complete RBF network input-output demo program.
The Working Programmer - Getting Started with Oak
Ted Neward begins an exploration of Oak, an open source project built to leverage the dynamic capabilities inherent within C# while gaining the productivity benefits of a system such as Ruby on Rails.
Modern Apps - Build a Responsive and Modern UI with CSS for WinJS Apps
Learn how the core CSS in the JavaScript Library for Windows helps to create a modern, fluid and flexible UI with controls such as AppBars, Flyouts and ListViews.
DirectX Factor - Text Formatting and Scrolling with DirectWrite
DirectX splits the subtle task of working with text into two major subsystems: Direct2D and DirectWrite. In this column Charles Petzold explores how DirectWrite is used to format and scroll text, and sets the stage for exploring more advanced text handling and effects.
Don't Get Me Started - Remaking Higher Education
Georgia Tech's online-only, masters degree program in computer science should have traditional four-year colleges quaking in their boots, says David Platt.
MVVM - Writing a Cross-Platform Presentation Layer with MVVM
By leveraging MVVM, some other common design patterns, and a few tricks, you can write a cross-platform presentation layer that will work on both Windows 8 and Windows Phone 8, as Brent Edwards explains.
C++ - Using the C++ REST SDK in Windows Store Apps
Learn how to use authentication while uploading a file to Dropbox, using as much portable C++ code as possible, and interfacing with the Windows Runtime only when necessary.
Windows 8 - Getting Started with Debugging Windows Store Apps
Modern compilers can do only so much to protect your projects from faulty runtime behavior. Here’s a quick look at some of the tools and techniques you can use to debug your Windows Store apps.
Windows Phone - Upgrading Windows Phone 7.1 Apps to Windows Phone 8
Migrating your projects to Windows Phone 8 can help you take advantage of the advanced features in the new mobile operating system. Michael Crump explores the new tooling and templates, as well as several new must-have features for your apps.
Windows Phone - Adding FTP Support in Windows Phone 8
Windows Phone 8 lacks support for FTP. Learn how to create an FTP library and a simple FTP client application for your Windows Phone 8 devices and enable your enterprise users to access files over their phones.
Editor's Note - Standing Down
A year after moving to a standing desk, Michael Desmond is back in the chair. And he's not happy about it.
Data Points - Coding for Domain-Driven Design: Tips for Data-Focused Devs, Part 2
In the second column in her series on Domain Driven Design, Julie Lerman shares more tips for data-first developers who are interested in benefiting from some of the coding patterns of DDD.
Azure Insider - Hadoop and HDInsight: Big Data in Microsoft Azure
This month’s column explores Hadoop, the standard for distributed data crunching today, and HDInsight, the Microsoft service that brings Hadoop to the cloud. Learn how they can help you take advantage of your company's big data.
Test Run - Multi-Swarm Optimization
Multi-swarm optimization, a technique for estimating the solution to difficult or impossible numerical problems, may be simpler to implement and easier to customize than other general-purpose numerical optimization approaches, as James McCaffrey explains.
The Working Programmer - Exploring NSpec
Regardless of your feelings in the Test-Driven Development (TDD) versus Behavior-Driven Development (BDD) debate, Ted Neward shows you why the open source NSpec testing tool from the BDD camp is worth a look.
Modern Apps - Understanding Your Language Choices for Developing Modern Apps
When creating Windows Store and Windows Phone apps, you have a variety of choices in languages for every project scenario. Rachel Appel explores which languages go best with different development scenarios.
DirectX Factor - Direct2D Geometries and Their Manipulations
Charles Petzold explores the ID2D1Geometry interface and some of the intriguing methods it defines for manipulating geometries to create different geometries.
Don't Get Me Started - Teenagers
Every generation, at the height of its powers, needs to step aside for the next one, says David Platt. But first, we all have to survive the absurdity of our teenage children.
C++ - Bringing RESTful Services to C++ Developers
Learn how to use the C++ REST SDK to build a simple Windows-based client application that uploads a file to Dropbox, along with a standard C++ class that supports OAuth.
DirectX - Real-Time, Realistic Page Curling with DirectX, C++ and XAML
Project Austin is a digital note-taking app for Windows 8 that’s written in C++ and uses DirectX and XAML. Eric Brumer explores the geometry and programming that underlie pages that visually curl and uncurl like real paper.
.NET Web Services - Building Cross-Platform Web Services with ServiceStack
ServiceStack is an open source Mono Web service framework that's gaining popularity. Learn how it can enable .NET developers to deploy Web services in cross-platform scenarios.
SQL Server - Unit and Integration Testing of SSIS Packages
Pavle Gudurić explains how to use his SSISTester library to perform unit and integration testing of SSIS packages to automate testing of SSIS projects and improve the quality of SSIS-based ETL processes.
WPF - Architecture for Hosting Third-Party .NET Plug-Ins
This article presents a general-purpose architecture for hosting third-party “untrusted” .NET applications, with a sample plugin demonstrating use of the Bloomberg API
Editor's Note - A Better Windows 8
Microsoft has a long history of investing in strategic technologies, even in the face of early struggles. Which is why the Windows 8.1 Preview release at the Build 2013 conference was so very important.
Cutting Edge - Creating Mobile-Optimized Views in ASP.NET MVC 4, Part 2: Using WURFL
Dino Esposito follows up on how to serve up ad hoc Web site markup to different classes of devices by using server-side device and feature detection with the Wireless Universal Resource File.
Windows with C++ - The Windows Runtime Application Model
Kenny Kerr explains how the best way to understand the Windows Runtime abstraction is to get down to the basics, eschewing language projections in favor of standard C++ and classic COM.
Data Points - Coding for Domain-Driven Design: Tips for Data-Focused Devs
Domain Driven Design can help handle complex behaviors when building software. But for data-driven devs, the change in perspective isn’t always easy. Julie Lerman shares some pointers that helped her get comfortable with DDD.
Test Run - Converting Numeric Data to Categorical Data
There are many scenarios where you need to discretize data—convert numeric data to categories—but few resources exist to tell you how. James McCaffrey presents a powerful discretization algorithm and discusses how and why you’d use it.
The Working Programmer - Going Dynamic with the Gemini Library
The open source Gemini library builds on the dynamic keyword/type functionality of C# and provides the option of using traditional static type definitions or new flexible type definitions.
Modern Apps - Navigation Essentials in Windows Store Apps
Learn how to properly use different navigation techniques, including some new ones in the Windows 8.1 update.
DirectX Factor - Finger Painting with Direct2D Geometries
In a multi-touch environment like Windows 8, one kind of program every developer should know how to code is a finger painting app, which involves tracking individual fingers to draw lines on the screen. Charles Petzold explores how to do this using DirectX.
Don't Get Me Started - The Decade of UX
Not only do companies need to increase their UX efforts, but every developer now needs to know UX, even if it’s not his primary job, just as every soldier needs to know battlefield first aid.
Compilers - How Microsoft's Next-Gen Compiler Project Can Improve Your Code
One of the best tools .NET developers can use to analyze their code is the compiler, but until recently they couldn’t use that hard-won knowledge because the C# and VB compilers don’t provide APIs for you to access. This changes with the Microsoft Roslyn project, a set of compiler APIs that give you full access to the compilation process, as Jason Bock explains.
MVVM - Leveraging Windows 8 Features with MVVM
Brent Edwards explores how to let an application use cool Windows 8 features and still keep the presentation layer unit-test friendly.
Windows Phone - Create a Windows Phone 8 Company Hub App
One of the new features of Windows Phone 8 is the ability to create company hub apps that are responsible for installing and updating your company’s apps on a device without having to go through the store or use a mobile device management solution. This article explores what it takes to create and deploy company hub apps to your user base.
Windows 8 - Building Apps for Windows 8 and Windows Phone 8
There are times you can share code between Windows 8 and Windows Phone 8, and times you can’t. Joel Reyes tells you what you need to know to maximize code reuse when building applications that target both platforms.
LightSwitch - Build Modern Business Productivity Apps with Visual Studio LightSwitch
The latest version of Visual Studio LightSwitch adds support for touch-based user interfaces and HTML5 and JavaScript, while hooking into SharePoint 2013 and Office 365 for better business integration.
Editor's Note - Dev/Test in the Cloud
Why Microsoft thinks Azure is poised to win over developers with its flexible solutions for supporting dev and test in the cloud.
Cutting Edge - Creating Mobile-Optimized Views in ASP.NET MVC 4
Learn how to use server-side logic to offer up the best display for a given device, incorporating a new feature of ASP.NET MVC 4 called display modes.
Data Points - Behavior-Driven Design with SpecFlow
Julie Lerman demonstrates how behavior driven development focuses on building up logic and tests around user stories, helping to ensure that your software actually meets the required specifications.
Azure Insider - Meter and Autoscale Multi-Tenant Applications in Microsoft Azure
In the second of a two-part series, Bruno Terkaly and Ricardo Villalobos continue their discussion of multi-tenant architecture by exploring metering and autoscaling of resources.
Modern Apps - Mastering Controls and Settings in Windows Store Apps Built with JavaScript
Learn how to take advantage of Windows Library for JavaScript controls to create great user experiences in Windows Store apps by presenting data to users in natural and intuitive ways regardless of the device they use.
DirectX Factor - Simulating an Analog Synthesizer
Charles Petzold creates a digital simulation of a small 1970s-era analog synthesizer using XAudio2 audio effects.
Don't Get Me Started - Activation Energy
A well-known concept from the world of chemical engineering -- activation energy versus released energy -- can help you anticipate the impact of your UI strategies.
Windows 8 - Code-Sharing Strategies for Windows Store and Windows Phone Apps
If you’ve been thinking about building apps for Windows 8 and Windows Phone 8, you’ve probably wondered whether you’ll be able to share any code between the different versions of your apps. You can, and Doug Holland shows you how.
Windows 8 - Getting Your App into the Windows Store
With the right guidance, getting an application into the Windows 8 Store is surprisingly easy. Bruno Terkaly shows you how in 10 simple steps.
ASP.NET - Enabling and Customizing ASP.NET Web API Services Security
If you’re calling Web API service from secured ASP.NET pages, you probably have all the security you need. But if you want to extend Web API’s security system, protect from CSRF attacks, or just access your service from other clients than Web pages on your site, you’ll need to leverage the underlying ASP.NET security framework.
Microsoft Office - Exploring the JavaScript API for Office: Mail Apps
This discussion of mail apps for Outlook and Outlook Web App provides code snippets to illustrate key features of the API, moving from basic techniques to more advanced concepts.
ALM Rangers - Extending Visual Studio Team Explorer 2012
Visual Studio 2012 introduced a completely redesigned Team Explorer and user experience. This article covers extensibility points in Team Explorer and builds a working sample to highlight the new architecture.
Microsoft Office - Exploring the JavaScript API for Office: A Sample Mail App
Here’s a step-by-step example of how to build a mail app with the JavaScript API for Office.
Editor's Note - Unbridled Expectations
The world is amazing and nobody is happy. Why comedian Louis C.K.'s observation on human nature applies so strongly to software development.
Windows with C++ - A Modern C++ Library for DirectX Programming
Kenny Kerr rolls his own header file that developers can use to build apps more easily with Direct2D. Along the way, he challenges those frustrating “C++ is hard” and “DirectX is hard” arguments that he’s tired of hearing.
Data Points - A New Option for Creating OData: Web API
Julie Lerman explores two ways of creating ODATA feeds—WCF Data Services and the new ASP.NET Web API—and discusses why you might choose one approach over the other.
Azure Insider - Architecting Multi-Tenant Applications in Microsoft Azure
Multi-tenant applications make sense from a business perspective, since compute and storage resources can be maximized by sharing them among multiple subscribers. This article introduces you to some key concepts and principles, and provides guidance on where you can get the hands-on skills you need in order to get up to speed.
Test Run - Amoeba Method Optimization Using C#
Some difficult problems, especially in the areas of machine learning and artificial intelligence, can't be solved easily using classical optimization techniques. In such situations, alternatives, such as amoeba method optimization, can be of value, as James McCaffrey explains.
Modern Apps - Use TypeScript in Modern Apps
TypeScript is a superset of JavaScript that allows you to write and generate JavaScript code that acts more strongly typed and object oriented, but retains the flexibility that developers love (or sometimes hate) about JavaScript.
DirectX Factor - An Introduction to Audio Processing Objects
Charles Petzold shows you how to create XAudio2 Audio Processing Objects (APOs) to perform customized processing of audio streams.
Don't Get Me Started - Getting Heisenberged
Heisenberg's Uncertainty Principle says that certain complementary properties are entwined such that knowing more about one means knowing less about the other. Devs can bump into Heisenberg when they try to figure out what users want in their programs.
JSON - Parse JSON Strings in Windows Runtime Components
Some aspects of working with managed code in Windows Store apps may surprise traditional .NET developers. One way to support structured messaging between the JavaScript layer and managed code is to rely on JSON objects. This article shows how to read JSON objects and hydrate strongly typed objects with the incoming values.
ASP.NET - Leverage Multiple Code Frameworks with One ASP.NET
Jeffrey Fritz demonstrates how you can use all four major ASP.NET code frameworks -- ASP.NET Web Forms, MVC and WebAPI, and SignalR -- together to create a cohesive solution.
Microsoft .NET Framework - Migrating Legacy .NET Libraries to Target Modern Platforms
.NET libraries that have served you well for years can prove equally useful in today’s new environments—provided you’re willing to expend the migration effort needed. Using the Sterling NoSQL OODB, Josh Lane looks at forward migration patterns and best practices that minimize potential difficulties and maximize opportunities for reuse across platforms.
Windows Phone - Windows Phone Video Capture: A Best-of-Breed Approach
Learn how to maintain your Windows Phone 7.5 project while giving a richer experience to your Windows Phone 8 users. The techniques discussed here go beyond video capture to apply to any of the APIs reinvented for Windows Phone 8.
SharePoint 2013 - Understanding and Using the SharePoint 2013 REST Interface
The SharePoint 2013 REST interface is extensive and powerful enough to provide most of what Web and mobile app developers will want to do. This article shows you how you can integrate SharePoint into your applications using the REST interface.
CLR - Shortest-Path Graph Analysis Using a CLR Stored Procedure
Graph analysis is becoming increasingly important in software applications, and this article shows how to perform shortest-path analysis with techniques that can also be used for many other data-access programming tasks.
Editor's Note - Design Matters
In the era of Windows 8 and Windows Phone 8, developers can't afford to ignore the importance of design anymore
Cutting Edge - Social Authentication in ASP.NET MVC 4
ASP.NET MVC 4 now includes an ad hoc framework to authenticate users via a number of social networks, and Dino Esposito shows you how.
Windows with C++ - Introducing Direct2D 1.1
Direct 2D has taken a major step forward, and is now supported on Windows 8, Windows RT, Windows Phone 8 and, now, Windows 7. Kenny Kerr explains how D2D 1.1 works and how to get started using it.
Azure Insider - Geo-Protection for Video Blobs Using a Node.js Media Proxy
Microsoft Azure blobs are very useful for storing video assets, but sometimes different levels of access are required based on location or domain. This article shows you how to manage these requirements by creating a reverse proxy server in Azure.
Test Run - Data Clustering Using Category Utility
James McCaffrey presents a powerful new clustering algorithm that is relatively simple to implement, has worked well in practice, can be applied to both numeric and categorical data, and scales well to huge data sets.
DirectX Factor - Exploring Filters in XAudio2
Charles Petzold explains how you can alter the harmonic composition of sound through the use of filters and he shows how to accomplish this using XAudio2 in Windows 8.
Don't Get Me Started - Do As I Say, Not As I Do
When Microsoft ignores its own UI design guidelines in Windows 8, it can only sow confusion.
Patterns in Practice - Adding Functionality to an Object: Building the Objects
Even with design patterns, eventually, you have to stop building infrastructure and actually implement some functionality. Peter starts to create the SalesOption objects that will add functionality to OrderLine objects when that functionality is needed.
Leading LightSwitch - Hello, Colors
Find out how you can use LightSwitch to add some color to your mobile apps to make them more visually appealing.
UX By Design - Is UX Investment Worth It?
Join UX expert Billy Hollis to find out how a designing a better user experience for your line-of-business application can increase productivity, revenue, and customer satisfaction and retention as well as decrease training time.
SDL - Using the SDL for a LOB Windows 8 App, Part 2
Part 2 of a two-part series, this article examines the design phase of the Secure Development Lifecycle (SDL) and describes its three critical components: developing an attack surface analysis and an attack surface reduction and performing a software architectural risk analysis, or threat model.
MVVM - Commands, RelayCommands, EventToCommand
In this article, I would like to take a closer look at one of the important components of any Model-View-ViewModel applications: the command.
Component Extensions - A Tour of C++/CX
Ready to write your first Windows Store app? One of the first decisions you’ll need to make is whether to use HTML/JavaScript, .NET, or C++. In this article, learn about what makes the C++/CX language extensions for building Windows 8 apps unique and when to use C++/CX to build your Windows Store app.
Microsoft Office - Exploring the JavaScript API for Office: Data Binding and Custom XML Parts
Here’s part 3 of a series of four in-depth walkthroughs exploring the JavaScript API for Office, focusing on data binding and support for working with custom XML parts.
TFS - Building and Validating Windows Store Apps with Team Foundation Service
Learn how to use Team Foundation Service to build your Windows Store apps and validate them using the Windows Apps Certification Kit.SLUG:LeBrun.Windows Store and TFS.0412msdn-1In this article, we'll see how to create and deploy a virtual machine that will be used by TFS Service to perform builds of Windows Store apps. We’ll also see how to use TFS Build to perform validation of Windows Store apps using the Windows Apps Certification Kit (WACK) tool, modifying builds reports to notify users of the good (or bad) execution of the tool
ALM Rangers - A Treasure Hunt Through ALM Readiness
Learn the UX design considerations, coding principles and techniques the ALM Rangers used in developing an instructional Windows Store “treasure map” app to help increase ALM proficiency.
CLR - Classification and Prediction Using Adaptive Boosting
James McCaffrey explain a fascinating technique called adaptive boosting classification, which uses training data to generate a large collection of very simple rules of thumb that are then weighted and combined to improve their predictive quality.
Editor's Note - Patterns in Practice
Check out the new Patterns in Practice on the MSDN Magazine Web site.
Cutting Edge - Essential Facebook Programming: Widgets and Timeline
Learn about the tools and techniques to view and retrieve content from a Facebook wall in order to share it through other means and catalog it for something else, such as business intelligence analysis.
Data Points - Why Does Entity Framework Reinsert Existing Objects into My Database?
Entity Framework sometimes reinserts existing objects into databases. In the first of a two-part series, Julie Lerman explains why this happens, and how you can avoid it.
Azure Insider - NoSQL Data in the Cloud with Microsoft Azure Tables
This column introduces you to Azure Tables, a NoSQL technology for storing massive amounts of data offered as a service in the cloud.
The Working Programmer - Capturing Important Business Logic
On April 1, Ted Neward pays homage to his feline friends and introduces an important language for your .NET programming toolbox: LOLCODE.
Modern Apps - Power Your Modern Apps with Microsoft Azure Mobile Services
It’s a complete set of cross-platform, back-end services for rapid modern app development, and Rachel Appel shows you how to set it up in Visual Studio, explains how the API works and demonstrates the necessary coding to get started.
DirectX Factor - Streaming and Manipulating Audio Files in Windows 8
Windows 8 makes it easy to write programs that can access individual music files. Using DirectX components is more difficult, but adds versatility, as Charles Petzold describes.
Don't Get Me Started - Coining Currency
One of the delights of writing this column is that I get to see lots of new things. Sometimes their creators forget to name them, so I get to do it.
MVVM - Maximizing the Visual Designer’s Usage with Design-Time Data
In his third MVVM article, Laurent Bugnion explains how you can simulate nonstatic data even at design time by tricking the visual designer into executing some design-time-only code.
SDL - Using the SDL for LOB Windows 8 Apps
Part 1 of a two-part series, this article examines the planning phase of the Secure Development Lifecycle (SDL). The article examines how to build security into a Windows Store project, describing how to compile a risk assessment and identify security and privacy requirements.
Patterns in Practice - Adding Functionality to an Object: Loading the Right Classes
In this column, Peter Vogel continues his exploration of implementing the roles pattern in a typical business scenario by using Microsoft’s Managed Extensibility Framework to select and load the SalesOption objects that the design pattern requires.
Leading LightSwitch - Hello, Mobile
Microsoft makes getting started with HTML5 even easier in the latest LightSwitch update.
ALM Rangers - Simplifying the Configuration of Lab Management 2012
Find out how to set up and configure Lab Management 2012 to maximize the benefits of each component and technology involved.
DirectX - Using XAML with DirectX and C++ in Windows Store Apps
Doug Erickson reviews SurfaceImageSource and VirtualSurfaceImageSource, two Windows Runtime XAML types that use the GPU to boost image rendering in Windows Store apps.
Microsoft Office - Exploring the JavaScript API for Office: Data Access and Events
Moving on from covering the basics in part 1 of this series, Stephen Oliver and Eric Schmidt discuss how to access data and handle events in the JavaScript API for Office.
Async/Await - Best Practices in Asynchronous Programming
Avoid common asynchronous programming errors and master techniques to take full advantage of the new async/await support in the Microsoft .NET Framework 4.5.
ASP.NET - Migrating ASP.NET Web Forms to the MVC Pattern with the ASP.NET Web API
Because the ASP.NET Web API leverages the fundamental building blocks of the HTTP protocol, it can provide a way of refactoring your existing ASP.NET applications into an AJAX-enabled, Test Driven Development world.
Microsoft Azure - Moving Your Applications to Microsoft Azure
Microsoft Azure lets you take advantage of Microsoft’s world-class global infrastructure to deploy your own applications, with the corresponding capabilities to reduce maintenance requirements, maximize performance and minimize costs.
Data Clustering - Data Clustering Using Naive Bayes Inference
James McCaffrey presents a clustering algorithm based on a technique called Naive Bayes inference, which works with either categorical or numeric data.
Editor's Note - Developing Apps for Office
The Apps for Office platform represents an important change in the way apps are developed for the Office suite.
Windows with C++ - Rendering in a Desktop Application with Direct2D
Kenny Kerr looks at the unique relationship between Direct2D and the desktop application window.
Data Points - Playing with the EF6 Alpha
Explore new features in the first packaged alpha release of Entity Framework 6, including asynchronous processing and custom Code First conventions.
Azure Insider - Real-World Scenarios for Node.js in Microsoft Azure
Walk through a pair of real-world scenarios where node.js is used for simple connectivity tasks, leveraging its single-threaded approach and modules created by the community.
The Working Programmer - Noda Time
Noda Time is a powerful, .NET library that can seriously amp up time and date support in your applications.
Modern Apps - Data Access and Storage Options in Windows Store Apps
Local or remote. WebStorage or IndexedDB. SkyDrive or SQLite. What's a developer to do? Here's what you need to decide on a storage strategy for your modern app.
Don't Get Me Started - Grieving
David Platt says your software isn’t successful until it’s been used in a way that you never imagined.
MVVM - Messenger and View Services in MVVM
This article, the second in a series about using the MVVM model in Windows 8, describes how the different layers of an application communicate, emphasizing communication between the ViewModel and the view using the MVVM Light Messenger event bus for status messages and a view service implementation for a dialog service.
Patterns in Practice - Adding Functionality to an Object: Designing the Object Model
Peter continues to explore implementing the Roles pattern to solve a typical business problem: supporting multiple sales options on an order line. This month he develops the object model design.
PowerShell - Managing an Outlook Mailbox with PowerShell
Rules in Outlook are useful for automatically managing e-mail, but it can be difficult to get a single e-mail into multiple folders. Learn how to create a PowerShell script that automatically sends messages to the appropriate folder based on values you assign.
Team Foundation Server - Agile Project Management using TFS 2012
Visual Studio Team Foundation Server 2012 can help teams plan, manage and track work. This articles explores how to use features such as the product backlog, sprint backlog and task boards in the context of Agile development frameworks.
Windows Store Apps - Windows Store Apps: A Guide for WPF and Silverlight Developers, Part 2
In this article, Joel Fjordén shows WPF/Silverlight developers how they can implement the MVVM pattern in Windows Store apps without compromising on architecture.
Microsoft Office - Exploring the New JavaScript API for Office
Here you learn about asynchronous programming, object model hierarchy, testing for application support and more basics of the new JavaScript API for the latest version of Office.
Async Programming - Async Causality Chain Tracking
Learn how .NET Framework 4.5 enables developers to track and deduce causality/return stacks while debugging or investigating production failures.
ASP.NET - Building a Simple Comet Application in the Microsoft .NET Framework
Develop interactive Web applications that don’t rely on polling or users posting back the page, using just .NET technologies.
Data Clustering - Detecting Abnormal Data Using k-Means Clustering
Learn how C# developers can use k-Means clustering to group data items into similar clusters and enable detection of abnormal data.
StreamInsight - Taming the Event Stream: Fast Approximate Counting
Explore the power of StreamInsight by developing a custom stream operator for fast approximation of event counts in a window.
Editor's Note - Inside Modern Apps
Rachel Appel's new Modern Apps column will guide developers into building compelling Windows Store apps.
Cutting Edge - Essential Facebook Programming: The JavaScript SDK
Dive into the principal tools you can leverage to add social plugins to your Web sites, with a mix of HTML markup, CSS and JavaScript code.
Windows with C++ - Creating Desktop Apps with Visual C++ 2012
Our resident C++ expert gets a lot of questions about the language and its relevance to developing desktop apps for Windows in these changing times. He answers those questions here.
Test Run - Naive Bayes Classification with C#
Naive Bayes classification is a fundamental machine-learning technique that can predict which category a data case belongs to. James McCaffrey explains how it works and gives you the foundation for adding prediction features to your .NET applications.
The Working Programmer - .NET Collections, Part 2: Working with C5
Ted Neward delves deeper into the Copenhagen Comprehensive Collection Classes for C#, explaining how their implementations and functionality go a bit beyond the .NET Framework Class Library.
Modern Apps - Create Windows Store Apps with HTML5 and JavaScript
Learn about the Windows Store market opportunity, as well what language, tool and technology choices are available to help you get started writing apps or games.
DirectX Factor - Constructing Audio Oscillators for Windows 8
Windows 8 combines a high-performance audio API with touch screens on hand-held tablets. Join with Charles Petzold as he explores the potential this combination offers for creating musical instruments.
Don't Get Me Started - What's Up, Doc?
The Internet still hasn't cracked the health-care industry, the way it has newspapers, media and most recently higher education. But it's about to, says David Platt, and in a big way.
Windows Store Apps - Windows Store Apps: A Guide for WPF and Silverlight Developers, Part 1
Find out what Windows Runtime changes WPF/Silverlight developers need to be aware of as they start creating Windows Store apps.
Patterns in Practice - Data Design for Adding Functionality to a Class
Peter moves on from designing an application that requires the role pattern to discussing how the pattern should be implemented, beginning with the data design.
MVVM - IOC Containers and MVVM
In recent years, dependency injection (DI) and inversion of control (IOC) have gained popularity as means for creating and retrieving instances of classes in applications and libraries. This article examines these mechanisms, using MVVM Light’s SimpleIoc to illustrate the usefulness of implementing an IOC container in MVVM-based applications.
Security - Access Online Services with the Windows Runtime and OAuth
Whether managing data with XHR or authenticating to a remote service with the WebAuthenticationBroker, WinJS and WinRT help you mash online services with your app.
JavaScript - TypeScript: Making .NET Developers Comfortable with JavaScript
TypeScript is a powerful, typed superset of JavaScript that presents developers with useful means for managing classes, modules and types. Learn how the open source TypeScript project broadens the appeal of JavaScript development.
C# - The C# Memory Model in Theory and Practice, Part 2
In part two of a series, learn how the C# memory model is implemented on different architectures and is helpful for understanding the behavior of programs in the real world.
ALM Rangers - Version Control in the TFS Client Object Model
Jeff Bramwell of the Visual Studio ALM Rangers explains how to use version control APIs in the Team Foundation Server client object model.
Editor's Note - The X Factor
Charles Petzold rebrands his ongoing column to explore DirectX and the world of native development in Windows Runtime.
Cutting Edge - Essential Facebook Programming: Building a Windows Client
Continuing his series, Dino Esposito builds a WPF client app that uses the Facebook API to authenticate users and post updates.
Windows with C++ - The Evolution of Threads and I/O in Windows
Explore the evolution of threading in Windows and C++ to understand the threading capabilities in your programs and work with concurrency building blocks.
Data Points - Shrink EF Models with DDD Bounded Contexts
Applying a concept from domain-driven design—Bounded Context—can help you build a targeted model with Entity Framework.
Azure Insider - Microsoft Azure Web Sites: Quick-and-Easy Hosting as a Service
Microsoft Azure Web Sites simplifies the deployment, management, and scalability tasks associated with hosting cloud applications.
ASP.NET - Building Hypermedia Web APIs with ASP.NET Web API
Learn why hypermedia is an interesting factor for achieving evolvability in Web API designs, and how it can be implemented in practice using ASP.NET Web API.
Test Run - Artificial Immune Systems for Intrusion Detection
Explore how artificial immune systems can model the behavior of the human immune system to detect harmful network packets.
The Working Programmer - .NET Collections: Getting Started with C5
Ted Neward explores the Copenhagen Comprehensive Collection Classes for C#, which he deems a worthy complement to System.Collections.Generic.
DirectX Factor - Windows 8 Sound Generation with XAudio2
Charles Petzold finds that XAudio2 offers sophisticated audio processing for Windows Store applications.
Don't Get Me Started - Lowering Higher Education, Again
A year ago, David Platt predicted that universities would get hammered by Internet-based alternatives. Looks like he was right.
Windows 8 Networking - Windows 8 and the WebSocket Protocol
Kenny Kerr explores the WebSocket protocol and its relationship to the larger TCP/IP suite. Learn how Windows 8 enables programmers to easily adopt WebSocket in their applications.
Windows Phone - Speech-Enabling a Windows Phone 8 App, Part 2: In-App Dialog
Learn how to use speech for input and output in Windows Phone 8 apps, starting with simple examples and working up to more complex scenarios.
Building HTML5 Applications - Designing Accessibility with HTML5
To reach the broadest possible audience, you’ll want to design your Web site for accessibility using the latest technologies That means using HTML5, as Rajesh Lal explains.
C# - The C# Memory Model in Theory and Practice
The first of a two-part series, this article describes the C# memory model, explaining the guarantees the model makes and the code patterns that motivate the guarantees.
C# - Matrix Decomposition
Matrix decomposition is an essential part of many important algorithms. Learn what matrix decomposition is, when it is used, and how to code it in C# and integrate it into your applications.
Editor's Note - Welcome Azure Insider

Cutting Edge - Essential Facebook Programming: Authentication and Updates
Integrate Facebook functionality into apps and use the Facebook C# API to authenticate users and post programmatically on behalf of the currently logged-in user.
Data Points - Pain-Free Data Access in JavaScript--Yes, JavaScript
Julie Lerman takes a look at Breeze, an open source data access API that makes working with JavaScript a whole lot easier.
Azure Insider - Microsoft Azure Service Bus: Messaging Patterns Using Sessions
Learn to take advantage of a robust and flexible implementation of the publish/subscribe pattern via a simple real-life scenario.
Test Run - Graph-Based Shortest-Path Analysis with SQL
Shortest-path graph analysis is likely to increase in importance as enterprises gather more data and store that data in a cloud environment. This article shows how to use this approach on your data.
Touch and Go - A Touch Interface for an Orienting Map

Don't Get Me Started - Being Fully Digital
Remember Cardfile? With Windows 8, Microsoft is telling app developers to stay away from tired meatspace analogies in their UIs.
SQL Server - Data Quality Testing Using SQL Server 2012 Data Quality Services
SQL Server 2012 Data Quality Services isn’t just for data stewards. Find out how this tool can help your IT team improve the data quality of your data-centric projects.
Kinect - Listening with Kinect
Explore how speech recognition works in Kinect for Windows applications.
JavaScript Security - Web to Windows 8: Security
Web developers switching to Windows 8 development with JavaScript need to update their views on security. With the tools available in Windows 8, you can transform JavaScript security from a facade to a multifaceted defense system that protects both your data and your users.
Windows Phone - Speech-Enabling a Windows Phone 8 App with Voice Commands
In Windows Phone 8 apps, developers can use two new features to delight their users: voice commands to launch the app and execute commands, and a flexible API for speech recognition and synthesis to interact with the app by voice.
C#, Visual Basic and C++ - Managing Memory in Windows Store Apps, Part 2
In the second of our two-part feature on identifying, diagnosing, and repairing memory leaks in Window Store apps, Chipalo Street and Dan Taylor focus on C#, VB, and C++ optimizations.
JavaScript - Building and Using Controls in Windows Store Apps with JavaScript
When using JavaScript to build controls in a Windows Store app, you have access to HTML elements, WinRT controls and WinJS controls. See how you can mix and match these or even build your own.
Team Foundation Service - Implementing Build Automation with Team Foundation Service Preview
Team Foundation Service Preview provides the ability to run builds entirely in the cloud. Here, the Visual Studio ALM Rangers show how to set up build automation on-premises for scenarios where the development team needs more control of the build machine than is available on Microsoft Azure.
Editor's Note - Standing Up
Michael Desmond continues to document his move to a standing desk at work.
Windows with C++ - The Evolution of Synchronization in Windows and C++
Some excellent synchronization primitives in Windows and the state-of-the-art C++ compiler make a compelling toolkit for producing lightweight and scalable concurrency-safe programs, says Kenny Kerr, who explains that there’s still work to be done to improve concurrency in the Standard C++ Library.
Data Points - Entity Framework Designer Gets Some Love in Visual Studio 2012
The new Entity Framework Designer in Visual Studio 2012 gets a couple of big improvements and a slew of smaller ones, all adding up to an enhanced user experience.
Azure Insider - Microsoft Azure Mobile Services: A Robust Back End for Your Device Applications
Microsoft Azure Mobile Services simplifies the life of mobile developers by automating the creation of a backend, based on open standards and supporting multiple types of devices and operating systems.
The Working Programmer - Cassandra NoSQL Database, Part 3: Clustering
Talk about big data, this database can scale to “ridiculous” sizes, says Ted Neward. One firm claimed to use Cassandra to store more than 50PB of information. Learn how clustering makes such implementations possible straight out of the box.
Touch and Go - Assembling Bing Map Tiles on Windows Phone
Getting a map on the Windows Phone screen is easy, but rotating it so that north on the map is actually pointing north is another matter entirely. Charles Petzold describes how he used the Bing Maps SOAP Service to get the results he wanted.
Don't Get Me Started - Here We Go Again
Every great advance in application design tools heralds a wave of execrable design. David Platt urges software developers to show judgment and restraint with their new WIndows Store apps.
Windows Runtime - Reimagining App Development with the Windows Runtime
The Windows Runtime is at the heart of creating Windows Store apps. Learn how it provides a powerful platform on which to create these new apps, with a development surface that’s rich in functionality and consistent and thoughtful in design.
Windows Runtime and the CLR - Underneath the Hood with .NET and the Windows Runtime
A look at how the CLR enables managed developers to talk to the Windows Runtime, exposing Windows Runtime APIs as if they’re just another managed class library for .NET developers to use.
Windows Runtime Components - Windows Runtime Components in a .NET World
Jeremy Likness walks you through the requirements needed to create a Windows Runtime Component in C#, how to reference and use it, and how it impacts other language selections when developing Windows Store applications.
Silverlight and WPF - Writing Silverlight and WPF Apps with Windows Runtime XAML in Mind
Business developers will continue to build new Windows Presentation Foundation and Silverlight applications in the years to come. This article shows you what you can do to make porting, reuse or dual targeting reasonable when considering Windows Store applications.
MVVM - Using the MVVM Pattern in Windows 8
The Model-View-ViewModel (MVVM) design pattern achieves a separation of logic and UX in Windows Store applications and also enables UX designers to create and test UIs without the existence of the underlying logic. Learn how to create an application using the MVVM design pattern in Visual Studio 12, using the MVVM Light Toolkit.
XAML and C++ - Introducing C++/CX and XAML
Learn how to take advantage of a modern, XAML-based UI framework in C++ to build Windows Store apps.
Windows Runtime and C++ - Porting Desktop Applications to the Windows Runtime
Diego Dagum discusses how to port C++ desktop applications to the Windows Runtime Library, using a sample calculator application as a practical example.
JavaScript - Managing Memory in Windows Store Apps
Users today want to rapidly switch among multiple apps to accomplish tasks, and they expect their machines to keep up. Learn how to identify, diagnose and repair memory leaks so you can be sure your Metro style app will give users the experience they’re looking for.
JavaScript - Data Binding in a Windows Store App with JavaScript
Learn how the JavaScript framework for building Windows Store apps and the underlying Windows Runtime allow you to build apps with client-side state, offline storage, controls, templates, binding and much more.
Design and UX - Authoring Windows Store Apps in Blend
Explore how Expression Blend for Visual Studio 2012 can be used to create UIs for Windows Store apps using XAML or HTML. Examples show the Blend Device panel, CSS editors, data template editing and interactive mode.
Editor's Note - All Eyes on Windows 8
Welcome to the Windows 8 special edition of MSDN Magazine.
Modern Apps - The Windows Store App Lifecycle
You’ll want to understand the nuances of the new WinRT application lifecycle so you can build apps that respond as they should at every point. Rachel Appel explains the different stages.
Azure Insider - Windows 8 and Microsoft Azure: Convergence in the Cloud
The inaugural edition of our Azure Insider column describes how to build a simple cloud-hosted service to support asynchronous clients, then shows you how easy it is to call into a Web service from a Windows Store application to retrieve data.
TPL - Horizontal Scalability for Parallel Execution of Tasks
The Task Parallel Library (TPL) provides all the necessary infrastructure to achieve optimal utilization of CPU resources within a single multicore computer. Now you can also implement an approach that scales across computer’s boundaries--useful for workload automation and batch processing scenarios.
OData - OData, the Entity Framework and Microsoft Azure Access Control
When Sean Iannuzzi was asked to secure a Web service for an existing database and Web application, he saw the benefits of using OData, but he didn’t think it was secure enough. See how he developed his own custom implementation with extra security.
Windows Phone - Building an App for Both Windows Phone and iOS
Find out how you can create an app from scratch that targets both Windows Phone and iPhone, while staying true to the design philosophy and UX features of each platform.
Windows Phone - Tombstoning and the Zen of Async for Windows Phone
Ben Day walks you through some of the architectural decisions and mistakes he made in his first Windows Phone application, and shows how you can avoid them in your own Windows Phone apps.
Numerics - Testing Math Functions in Microsoft Cloud Numerics
Suppose you are writing a computer program that calls a library to compute sin(x). You'll get a numeric answer containing up to 16 decimal digits, but how do you know the answer is correct? Learn how the math functions in the new Microsoft Cloud Numerics math library are tested.
Editor's Note - Cutting Edge
Dino Esposito has been writing for MSDN Magazine and its predecessors since 1996. Michael Desmond talks with the popular Cutting Edge columnist.
Cutting Edge - Mobile Site Development, Part 5: jQuery Mobile
Dino Esposito dives into the HTML5-based jQuery Mobile UI technology for popular device platforms. Is it all you need for mobile development?
Windows with C++ - Back to the Future with Resumable Functions
Kenny Kerr concludes his three-part series on concurrency in C++, and explores an even more fluid approach to writing efficient and composable asynchronous systems.
Forecast: Cloudy - Microsoft Azure In-Role Caching
Joseph Fultz shows how you can weather high demand on your site and services using dedicated and co-located roles for caching in Azure Caching (Preview).
Test Run - Neural Network Back-Propagation for Programmers
Back-propagation is a complex, but tricky to code, algorithm that can be used to train a neural network. James McCaffrey explains how to implement back-propagation.
The Working Programmer - Cassandra NoSQL Database, Part 2: Programming
Ted Neward explains how to connect to the Apache Cassandra NoSQL database from the Microsoft .NET Framework, how to read and write data to it, and more.
Touch and Go - Viewing the Night Sky on Your Windows Phone
Charles Petzold concludes his four-part exploration of motion sensors in the Windows Phone platform, building an application that lets users interact with planets and constellations in the night sky.
Don't Get Me Started - Brain Droppings
Have you ever wondered what grinds David Platt's gears?
Visual Studio 2012 - A More Productive IDE for Modern Applications
See how the latest release of Visual Studio—especially the improved IDE— helps to create an environment that lets developers do what developers want to do: work with code in a variety of technologies.
Visual Studio 2012 - What’s New for Web Development in Visual Studio 2012
Visual Studio 2012 has tons of new features for Web developers. Clark Sell discusses some of the most useful ones for builiding HTML5/CSS applications.
Microsoft Azure - Developing and Deploying Microsoft Azure Cloud Services Using Visual Studio
We walk through parts of the Azure application development lifecycle using Visual Studio and highlight the new features as we progress.
Visual Studio 2012 - What's New in Microsoft Test Manager 2012
The Visual Studio ALM Rangers team up to introduce some of the exciting new features in Visual Studio Test Manager 2012, including better exploratory testing, improved performance, video recording enhancements and many more.
Visual Studio 2012 - Testing for Continuous Development
The accelerated speed of Web development requires streamlined techniques for the entire process, including testing. Here, you learn how to efficiently test Web apps in Visual Studio 2012.
Visual Studio 2012 - Shape Up Your Data with Visual Studio LightSwitch 2012
Although initially dismissed by some professional developers, Visual Studio LightSwitch is evolving with the 2012 release to handle the requirements for modern enterprise applications to scale well, integrate with legacy systems, handle multitenant installations and many concurrent users, and much more, reports Jan Van der Haegen.
Editor's Note - Visual Studio 2012: The Next Big Thing
Visual Studio 2012 is another important update of the Microsoft flagship IDE.
Cutting Edge - Mobile Site Development, Part 4: Managing Device Profiles
Dino Esposito shows how to classify mobile devices in order to build a Web site that serves different markup to different devices based on their capabilities.
Windows with C++ - The Pursuit of Efficient and Composable Asynchronous Systems
Kenny Kerr follows up his column on lightweight cooperative multi-tasking by exploring how C++ might directly support asynchronous programming in a more natural and composable way.
Data Points - Moving Existing Projects to EF 5
To take advantage of enum support and other features added to Entity Framework in the Microsoft .NET Framework 4.5, you need the compatible version of EntityFramework.dll, EF 5. Julie Lerman helps to ease the migration.
Forecast: Cloudy - Humongous Microsoft Azure
NoSQL is a hot topic, and one of the most popular ways of approaching it is with MongoDB. Joseph Fultz looks at some of the design and implementation aspects of using MongoDB in a Azure environment.
Test Run - Coding Logistic Regression with Newton-Raphson
There are plenty of resources describing the complex mathematics behind finding logistic regression beta parameters using Newton-Raphson, yet few implementation guides. James McCaffrey explains how logistic regression with Newton-Raphson works, and how to implement a solution in C#.
Touch and Go - Exploring Spherical Coordinates on Windows Phone
Charles lays the conceptual, mathematical and programmatic groundwork for a program that lets you point a Windows phone at a spot in the night sky and show the planets and constellations.
Don't Get Me Started - On Honor, Cold Iron and Hot Silicon
Doctors swear to the Hippocratic oath. Should software engineers be pledging to uphold a code of conduct?
Visual Studio 2012 - Using PreEmptive Analytics for Team Foundation Server for Rapid Feedback in Production
PreEmptive Analytics for Team Foundation Server lets teams collect production information to analyze and fix defects in an Agile project.
Web Dev Report - Integrating jQuery Mobile into ASP.NET Web Forms and MVC Web Apps
This month, Rachel Appel explains how jQuery Mobile can make it easier for you to “go mobile” with your new or existing ASP.NET Web Forms or MVC Web apps.
Azure Insider - Running Any Workload at Scale
Find out how you can use Azure with Linux systems to run workloads that offer powerful capabilities.
Kinect - Working with Kinect Studio
Find out how you can use Kinect Studio to capture data feeds, save them as .xed files and reuse them to test your Kinect-enabled apps.
C++ - Functional-Style Programming in C++
The new C++ 11 standard greatly improves the language's suitability for functional-style programming, particularly with its support for lambdas. Learn how you can use functional-style programming in your C++ code.
Microsoft Azure - Microsoft Azure Comes to the Rescue
What do you do when marketing comes to you needing a fully functional conference registration system for a show just a month away? You leverage Azure, Silverlight and Windows Phone to build an app with all the social media trimmings, as Microsoft's Mark Kromer details here.
Windows PowerShell - Build User-Friendly XML Interfaces with Windows PowerShell
Joe Leibowitz explores a way to make reading and editing XML files easier and more convenient, even for nontechnical users,using algorithms that can parse the structure of any given file.
Building HTML5 Applications - A History (API) Lesson
Don’t know much about history? Clark Sell shows you how to access and manage session state using the new HTML5 History API.
ALM Rangers - Using the Team Foundation Server Client Object Model
The Visual Studio ALM Rangers introduce the Visual Studio Team Foundation Server (TFS) client object model and create the foundation for a new series of articles focused on practical guidance and common coding scenarios with TFS.
Microsoft Azure - CyberNanny: Remote Access via Distributed Components
What do you do when you’re a new dad and want to keep track of your baby at home? You use the Kinect sensor, C++, Azure, and local and cloud-based components to get e-mailed photos upon request, wherever you are.
CLR - .NET Development for ARM Processors
Coding in the .NET Framework means that you don’t normally have to worry about the many differences between ARM and x86-based processors. But there are a few fundamental design differences that may affect your code, as CLR team insider Andrew Pardoe explains here.
Editor's Note - On Point with Julie Lerman
Michael Desmond profiles Data Points columnist Julie Lerman.
Cutting Edge - Mobile Site Development, Part 3: Routing Requests
Dino Esposito explains how to route Web site visitors between the desktop and mobile versions of a site so they can easily jump between the two.
Windows with C++ - Lightweight Cooperative Multitasking
Kenny Kerr describes a technique—ideal for very lightweight concurrency—to write asynchronous code in C or C++ without the use of a runtime (such as those provided by Visual C++ and Windows).
Data Points - Pitfalls and Pointers for a Base Logging Class in EF Models
An unfortunate use of a base class to provide logging data for all classes in an Entity Data Model creates chaos in the database. Learn why this happens and how to avoid the problem.
Forecast: Cloudy - Decoupling the Cloud with MEF
Learn how to use the Microsoft Extensibility Framework to make a cloud deployment a little more manageable and flexible.
The Working Programmer - Cassandra NoSQL Database: Getting Started
Ted Neward explores Cassandra (the NoSQL database software, not the figure from Greek mythology), which is “an open-source, distributed, decentralized, elastically scalable, highly-available, fault-tolerant, tuneably consistent, column-oriented database that bases its distribution design on Amazon’s Dynamo and its data model on Google’s Bigtable.”
Touch and Go - Viewing a Virtual World from Your Windows Phone
Although we no longer believe that celestial spheres surround the Earth, that’s still a handy concept for programs that let you use a smartphone to view a virtual world. Such a program needs to determine its orientation in 3D space, and Charles Petzold explains how to accomplish this using the horizontal coordinate system.
Windows Phone - Pragmatic Tips for Building Better Windows Phone Apps
Andrew Byrne has had his coding ups and downs, but when he has stumbled, he has picked himself up and continued. Here, he points out some Windows Phone programming techniques to make your own road a little smoother.
ASP.NET MVC 4 - Test-Driving ASP.NET MVC
Learn best practices and techniques for enhancing the testability of your ASP.NET MVC applications.
Windows Phone - Writing a Compass Application for Windows Phone
Windows Phone now exposes sensors such as the accelerometer, GPS and compass (magnetometer). Here, Donn Morse walks through the creation of a compass app to demonstrate how developers can interact with that sensor.
Microsoft Azure - Hadoop on Microsoft Azure
What’s all the buzz about Hadoop? Find out as you learn how to set up a cluster on Azure, how to run a Map/Reduce job using Java, JavaScript and C# Streaming, how to run queries in HIVE, and more.
ASP.NET - How to Handle Relational Data in a Distributed Cache
Iqbal Khan discusses how developers handle data relationships while caching data, and shows through source code examples how those relationships can be mapped. The net effect is that the application doesn’t have to keep track of those relationships in the cache. Rather, the cache is aware of them and handles them correctly.
Internet of Things - A Smart Thermostat on the Service Bus
We continue our series on the Internet of Things by building a connected device—a smart thermostat—and wiring it up to the Azure Service Bus.
Editor's Note - The Long Test Run
Over the years, McCaffrey has proposed, written and reviewed innumerable article concepts. And, no surprise, he has some pointed thoughts on what makes an idea worthy of publication.
Cutting Edge - Mobile Site Development, Part 2: Design
Dino Esposito debunks some mobile site development myths as he explains how to present users with Web pages designed to work best with their individual devices.
Data Points - Create and Consume JSON-Formatted OData
JSON is an increasingly important format for application development. Make sure you know how to consume OData in JSON format and create WCF Data Services that return JSON.
Forecast: Cloudy - Mixing Node.js into Your Microsoft Azure Solution
Node.js is generating lots of buzz, and Joseph Fultz explains how heincorporated it into an existing Azure solution.
Test Run - Classification and Prediction Using Neural Networks
In the May issue, James McCaffrey explained the basics of neural networks. Now he shows you how to use neural networks to classify existing data into groups, and to predict the group membership of new data.
The Working Programmer - The Science of Computers
Our columnist enlists the help of a bona-fide computer scientist to explain how developers can make their lives a little easier by understanding the theories behind certain parts of computer science.
Touch and Go - Windows Phone Motion and 3D Views
When a Windows Phone program knows the orientation of the phone in 3D space, the phone can provide a portal into a 3D world. The new Motion class makes it possible, as Charles Petzold explains.
Don't Get Me Started - The Patient Knows What’s Wrong with Him
It's hard to create an effective user experience when your users struggle to tell you what they need. David Platt says good designers know how to gain actionable insight from their users.
CLR - What’s New in the .NET 4.5 Base Class Library
The .NET Framework 4.5 brings a number of improvments, big and small, to the base class library. Immo Landwerth explores these new features.
CLR - An Attribute-Free Approach to Configuring MEF
Learn the reasons for using the Managed Extensibility Framework, and how convention-driven configuration can streamline the development process.
Internet of Things - Using Microsoft Azure Service Bus for ... Things!
In this second in a series of articles about the Internet of Things, you’ll learn how to leverage the Azure Service Bus, not only to collect information from “things” but also to control them.
Building HTML5 Applications - CSS3 Effects, Transitions and Animations
Learn how CSS3 makes Web development a lot easier. With a few new CSS properties and some cool demos, you’ll see how to save countless development hours.
Microsoft Azure - Democratizing Video Content with Microsoft Azure Media Services
This article focuses on how to provide a scalable, video streaming service with little or no upfront investment in hardware or infrastructure. We walk through a step-by-step process using Azure Media Services and a Web-based client. For consumers, a Facebook implementation of these technologies will be presented.
Windows Phone - Behind the Scenes: A Windows Phone Feed-Reader App
See exactly how a group of Microsoft interns developed a robust Windows Phone feed-reader app with the latest technologies such as local database, background agent, Live Tiles and more.
SQL Server - Custom Indexing for Latitude-Longitude Data
Find out how to create custom indexes for geographical data that includes latitude and longitude location information so that you can retrieve real-time data faster than ever.
ASP.NET - Unit Testing in the Navigation for ASP.NET Web Forms Framework
The article will demonstrate the benefits of having a consistent approach to navigation and data passing in a Web Forms application, showing how this bears fruit when building Single-Page Interfaces.Although all the current buzz is around ASP.NET MVC, it will present a compelling argument for using the Navigation for ASP.NET Web Forms project I host on codeplex together with standard ASP.NET Ajax and DataBinding.
Editor's Note - Old Soldiers Never Die
Microsoft has announced that it has extended support for the Visual Basic 6 runtime to Windows 8. What makes classic VB such a compelling development platform?
Cutting Edge - Mobile Site Development: Markup
This column is the first of a series in which Dino Esposito approaches mobile site development from a perspective that isn’t primarily focused on technology. He says that too often mobile site development is associated with specific frameworks and their solutions without much thinking about use-cases and restructuring of the content. In this colum, he starts from the basics—the mobile markup.
Data Points - Data Bind OData in Web Apps with Knockout.js
Knockout.js brings many benefits to client side web apps. Julie Lerman looks at leveraging it to perform data binding with OData.
Test Run - Evolutionary Optimization Algorithms
Why should you be interested in evolutionary optimization algorithms? There are at least three good reasons, James McCaffrey points out, and he shows you how to code them.
The Working Programmer - Talk to Me, Part 4: Feliza Gets Her Voice
The final installment of Ted Neward's four-part series on creating an F#-based chatterbot modeled on the old ELIZA software. This time, Ted takes Feliza for a spin.
Touch and Go - Getting Oriented with the Windows Phone Compass
Smartphones get lots of input from the world through their sensors, but you can get even more by combining those sensors, as Charles Petzold shows with an example that combines the compass and accelerometer.
Don't Get Me Started - The Silent Majority: Why Visual Basic 6 Still Thrives
Until and unless Microsoft brings out another tool that does these things, Visual Basic 6 will keep scuttling around.
Kinect - Starting to Develop with Kinect
The first in our series of Kinect-themed features shows how you can use the skeleton-tracking capability of the Kinect in a WPF app without writing a single line of code.
Microsoft Azure - Comparing Microsoft Azure Queues and Service Bus Queues
Find out whether Azure queues or Service Bus queues are the best choice for the messaging queues in your application.
Leading Lightswitch - Tales of Advanced LightSwitch Client Customizations
Enjoy these tales of creating custom applications that show off the versatility and ease of use LightSwitch offers. You will also get a glimpse of how a real pro works with clients.
Web Dev Report - Working with Graphics on the Web: Canvas vs. SVG
In this installment of the Web Dev Report, find out whether to use Canvas or SVG when developing Web graphics.
Windows Phone - Creating Media Apps for Windows Phone
Learn about the various pieces a media app can use to create an immersive Windows Phone experience—such as integrating with the Music + Videos Hub—and how to make sure your app is a “good citizen” on Windows Phone.
HTML5 - Develop HTML5 Windows Phone Apps with Apache Cordova
As an introduction to Windows Phone development with Apache Cordova, HTML5 and JavaScript, Colin Eberhardt follows a Model-View-ViewModel approach with KnockoutJS to walk you through building a Twitter Search application.
Building HTML5 Applications - Using HTML5 to Create Mobile Experiences
Following on last month’s discussion of media queries, Brandon Satrom looks at the other two pillars of responsive Web design—fluid grids and flexible images.Media Queries are the engines that drive responsive, adaptive sites, but they are only effective when the designs of those sites are also responsive and adaptive. This month, I'll introduce you to some ideas around the other two pillars of "Responsive Web Design." I'll start with an overview of some up-and-coming CSS Layout modules, and then talk about some techniques for making non-textual elements like images and embedded video adaptive as well.
ASP.NET MVC 4 - What’s New for Mobile Development in ASP.NET MVC 4
With the popularity of mobile and tablet devices, it’s no surprise that improving the mobile Web site development experience was such a focus in ASP.NET MVC 4.What’s nice is how well it succeeded, as Keith Burnell explains.The article covers features in the upcoming release of ASP.NET MVC4 targeted specifically at mobile Web site development. These features range from making it easier to create a mobile specific sites to making it less work to get your standard MVC site displaying correctly on mobile devices and finally making your feel native with jQuery Mobile.
ASP.NET - Introducing the Navigation for ASP.NET Web Forms Framework
Take a fresh look at Web Forms with this new navigation framework that eliminates tight coupling and codebehind while providing for unit-tested data-bound code and many other advantages—enough to make an ASP.NET MVC application green with envy, according to creator Graham Mendick.
T4 Templates - Managing Complexity in T4 Code-Generation Solutions
Building monolithic code generation solutions is every bit as evil as building a monolithic application. Here are all the ways you can refactor your code generation solution into reusable components.
Kinect - Multimodal Communication with Kinect
Leland Holmquest continues to explore his virtual office assistant named “Lily,” created with a Kinect-enabled Windows Presentation Foundation application, in order to advance the means of context-aware dialogue and multimodal communication.
Editor's Note - MSDN Magazine Welcomes ScriptJunkie
MSDN Magazine has added Microsoft's popular Script Junkie site for cross-browser Web development to its growing online portfolio.
Cutting Edge - Understanding the Power of WebSockets
Achieving zero-lag connectivity between Web clients and servers requires going beyond the HTTP protocol. This is just what the WebSocket Protocol provides, and Dino Esposito explains how it's used and what it does.
Forecast: Cloudy - 5 Reasons to Start Working with Microsoft Azure
Joseph Fultz presents five reasons you should get started with Azure today.
Test Run - Dive into Neural Networks
Neural networks can be used to solve a variety of practical problems. James McCaffrey explains what they are and presents C# code that implements a neural network.
The Working Programmer - Talk to Me, Part 3: Meet the Therapist
After building a simple cloud-hosted voice-input system and a chat-bot named Feliza to respond to user input in the first two parts of this series, Ted Neward takes his project a bit further by combining the two systems, showing how the host, Tropo, offers voice/SMS access over HTTP/REST-like channels.
Client Insight - Advanced JsRender Templating Features
John Papa continues the exploration of JsRender in more scenarios such as rendering external templates, changing context with the {{for}} tag and using complex expressions. He also demonstrates how to use some of JsRender’s more powerful features including creating custom tags, converters, context helpers and allowing custom code.
Don't Get Me Started - The Myth of Informed Consent
Are your applications posing impossible questions to users? David Platt says too many developers are just protecting their own backsides when prompting users to make decisions they can't possibly understand.
Web Dev Report - Integrate HTML5 into Existing ASP.NET Web Forms and MVC Applications
In this installment of the Web Dev Report, Rachel Appel shows how HTML5 is more than just a shiny new toy when integrated into ASP.NET Web Forms and ASP.NET MVC applications.
Leading LightSwitch - Logging in to a LightSwitch Application Using Social Media Credentials
Find out how to create a LightSwitch application that lets users log into Web sites using their social media credentials no matter where they are.
ALM Rangers - Migrating from an On-Premise Team Foundation Server to TFS Preview Using the TFS Integration Tools
The ALM Rangers introduce a migration from an on-premise Team Foundation Server 2010 to TFS Preview, using the latest Team Foundation Server Integration Tool.
Building HTML5 Applications - Using CSS3 Media Queries to Build a More Responsive Web
Support for CSS3 Media Queries across all major desktop and mobile browsers means you can use context clues to deliver tailored experiences for a wide range of devices, as Brandon Satrom explains.
C++ - A Code-Based Introduction to C++ AMP
The C++ compiler shipping with Visual Studio 11 adds heterogeneous platform support through a technology called C++ Accelerated Massive Parallelism. C++ AMP is a data parallel API that enables developers to take advantage of the performance of accelerators such as GPUs for executing their data parallel algorithms. This article introduces the C++ AMP API.
C++ AMP - Introduction to Tiling in C++ AMP
In C++ AMP, the most common and first step to dialing up performance gains to the next level is through a technique called tiling. This article picks up where Daniel Moth’s introduction to C++ AMP left off, and explains how to tile your C++ AMP algorithms.
T4 Templates - Lowering the Barriers to Code Generation with T4
Microsoft’s T4 toolkit substantially lowers the barriers for incorporating code generation into your development process. Here’s how to build, implement, and debug your code generation solution—and how to recognize opportunities for code generation solutions.
Microsoft Office - Integrating Windows Workflow Foundation with the OpenXML SDK
Learn how you can use the OpenXML SDK 2.0 to integrate Microsoft Office-compatible documents with Windows Workflow Foundation,without having to interact directly with the Office applications.
Kinect - Context-Aware Dialogue with Kinect
Project Lily, a Kinect-enabled Windows Presentation Foundation application, represents an attempt to advance the means of context-aware dialogue as well as multi-modal communication through the creation of a virtual office assistant.
BizTalk - Batching EDI Data in BizTalk Server 2010
Learn how to quickly and easily extract data from a source database and implement mapping and batching using several example scenarios.
CLR - An Overview of Performance Improvements in .NET 4.5
It’s not always about new features. Sometimes a framework is differentiated by performance, stability and reliability. Here’s a rundown of upcoming performance improvements in the .NET Framework 4.5 that affect the CLR, ASP.NET, ADO.NET, Entity Framework and more.
Editor's Note - More of What You Came For
MSDN Magazine's expanded Web coverage includes in-depth tutorials and monthly columns like Rachel Appel's Web Dev Report and Bruno Terkaly's Azure Insider.
Cutting Edge - Long Polling and SignalR
Dino Esposito follows up on last month's column, discussing why long polling is useful and how you can use SignalR to facilitate real-time client/server communication.
Data Points - Let Power Users Create Their Own OData Feeds
Julie Lerman takes a look at the current preview of SQL Azure Labs Codename “Data Explorer,” and puts it to use to let a customer create his own OData feed.
Test Run - Bacterial Foraging Optimization
Facing a tough numerical optimization problem? A probabilistic technique that models the food-seeking and reproductive behavior of common bacteria might be able to help.
Client Insight - Using JsRender with JavaScript and HTML
John Papa explores JsRender, the emergent technology poised to replace jQuery Templates.
Touch and Go - Musical Instruments for Windows Phone
What could be more fun than combining audio streaming with multi-touch and turning your phone into an electronic music instrument? Charles Petzold shows you how.
Don't Get Me Started - Poetry of the Geeks
David Platt channels his inner muse, and gives new meaning to the phrase poetic license, as he surveys the verse of software and science.
Web Dev Report - 5 Things You Need to Know about CSS
In this second installment of her Web Development Report, Rachel Appel shows you how to create mobile-friendly HTML5 forms in ASP.NET MVC 4 projects that also use jQuery Mobile.
Azure Insider - Implementing Pub/Sub Applications with SignalR
Learn how SignalR enables you to implement asynchronous scalable pub/sub applications with real-time, persistent and long-running connections more easily than you’ve ever imagined.
Leading LightSwitch - The LightSwitch MVVM Model
In this month’s Leading LightSwitch column, Jan explains MV3, a variation of the MVVM application architecture used for LightSwitch apps that is even more powerful than the original application architecture.
Windows Phone - Transforming an Android App into a Windows Phone App
Go behind the curtain with Stan Chatman to see how he transformed his popular Hollywood Empire game app from an Android version to the Windows Phone platform.
Microsoft StreamInsight - Building the Internet of Things
Connected devices are opening up an exciting new world of applications—and the tools for building these Internet of Things applications are available from Microsoft today. Learn how you can use your .NET skills at the device level to feed data into the powerful analytics capabilities of StreamInsight.
ASP.NET MVC 3 - Develop Hybrid Native and Mobile Web Apps
Shane Church shows you how to build a mobile Web application with ASP.NET MVC 3 and take advantage of native mobile features such as the camera and accelerometer.
Azure AppFabric Service Bus - Create a Continuous Client Using Portable Class Libraries
David Kean shows how to build a simple continuous client application that spans multiple devices and platforms, using the new Portable Class Libraries and the Azure AppFabric Service Bus.
C++ - New Standard Concurrency Features in Visual C++ 11
Explore the new Visual C++ technologies that allow applications to run independent or semi-independent activities in parallel and provide mechanisms for synchronizing the way these activities handle data to avoid race conditions.
Windows Phone - Windows Phone Data Binding
Jesse Liberty shows the strength of XAML programming as he discusses hands-on code for data binding against runtime data, design-time data and binding one control to another.
Building HTML5 Applications - Adding HTML5 Drag and Drop to SharePoint Lists
SharePoint doesn't have any built-in HTML5 goodness, but don't let that stop you. Andrey Markeev demonstrates how easy it is to add HTML5 drag-and-drop support to SharePoint—and why that's just the beginning.
Editor's Note - What You Want
It's a serious challenge, balancing coverage of important new tools and technologies with those developers rely on every day.
Cutting Edge - Build a Progress Bar with SignalR
SignalR, a jQuery plug-in being developed by the ASP.NET MVC team, presents some extremely promising functionality currently missing from the Microsoft .NET Framework.
Data Points - Entity Framework Code First and DbContext FAQs
Lots of people have lots of questions about Code First and DbContext in Entity Framework 4.2. This month, Julie Lerman shares the answers to some of the most common ones.
Forecast: Cloudy - Exploring Cloud Architecture
Joseph Fultz uses Azure as the context in which to explore general architectural considerations and some base high-level designs for creating cloud-based solutions.
The Working Programmer - Talk to Me, Part 2: ELIZA
Ted Neward builds on the example in his last column with a side trip into artificial intelligence. Read on as he uses F# to create Feliza, a chatterbot based on ELIZA.
Client Insight - Knockout's Built-in Bindings for HTML and JavaScript
John Papa continues his exploration of the Knockout JavaScript library by delving into a number of the built-in bindings it offers.
Touch and Go - Streaming Audio in Windows Phone
Charles Petzold looks into streaming audio on Windows Phone. This occurs through a class derived from MediaStreamSource, which feeds the audio data to the OS's audio player on demand. Petzold shows how to stream audio in the background on Windows Phone OS 7.5.
Don't Get Me Started - Touch, Not the Mouse
Touch is excellent for selecting among alternatives presented on-screen, but it's not the best solution in many cases.
Web Dev Report - Manage Data in HTML5 Forms with Entity Framework
Rachel Appel digs deeper into her look at creating mobile-friendly HTML5 forms in ASP.NET MVC 4 projects, collecting feedback data and saving it back to a database using Entity Framework.
Azure Insider - Node.js: Cloud Scaling Goodness for I/O Operations
The new Azure Insider column kicks off with a look at Node.js, the exciting server-side JavaScript environment that can help scale your cloud applications
Leading LightSwitch - Consume a LightSwitch OData Service from a Windows Phone application
Jan Van der Haegen's first LightSwitch column explores one of the key features added in the beta release of the tool--the ability to create and consume OData services, which can in turn be consumed from any client, including custom Windows Phone applications.
Coded UI - Test Automation Using Visual Studio 2010 Coded UI
Leverage the coded UI features of Visual Studio 2010 to enable a continuous, consistent and standard approach to automation for build, deploy and test.
Asynchronous Programming - Asynchronous Programming in C++ Using PPL
Asynchronous operations are essential for building responsive and scalable applications, but using the raw WinRT API for this requires writing lots of boiler-plate code. The Parallel Patterns Libraryoffers a new task-based programming model that makes using asynchronous operations easy and productive.
Microsoft Azure - Building a Massively Scalable Platform for Consumer Devices on Microsoft Azure
Learn how to use RESTful Web services and Azure to build apps for the wide spectrum of mobile platforms and devices that could potentially be used by millions of users.
ASP.NET MVC - The Features and Foibles of ASP.NET MVC Model Binding
Dive deep into the heart of ASP.NET MVC’s model binding subsystem, examining each layer of the model binding framework and ways to meet your application’s needs.
Building HTML5 Applications - Practical Cross-Browser HTML5 Audio and Video
John Dyer explores the benefits of using HTML5 for media playback as well as some of the major issues developers face when doing so.
Windows Phone - Get Your Windows Phone Applications in the Marketplace Faster
Learn how to use the Marketplace Test Kit to identify issues with an application and the Performance Analysis tool to determine the source of the issues and how to fix them.
Windows Workflow Foundation - What's New in Windows Workflow Foundation 4.5
The next version of Windows Workflow Foundation introduces a range of new features and capabilities, based on lots of customer feedback. Leon Welicki gives you the details.
NuGet - Creating a NuGet Gallery
In the third article in our series on NuGet, Clark Sell and Mark Nichols tell you why you should consider hosting your own NuGet gallery, and how you go about setting one up.
Editor's Note - Calling out the Client
John Papa returns to MSDN Magazine with his new column on the fast-changing arena of rich client development technologies and platforms.
Data Points - A Few of My Favorite Things... in the Entity Framework 4.2 DbContext
The Entity Framework DbContext API simplifies many of the most common coding tasks, says Julie Lerman, who shows you her three favorite DbContext features.
Forecast: Cloudy - Microsoft Azure Deployment Domains
Joseph Fultz considers the complexities of updating a Web application deployment, focusing on the use of fault domains and upgrade domains.
Test Run - Ant Colony Optimization
James McCaffrey introduces the Ant Colony Optimization algorithm, an artificial intelligence technique based on the pheromone-laying behavior of ants.
The Working Programmer - Talk to Me: Voice and SMS in the Cloud
Ted Neward shows how to develop applications for Tropo, a free, cloud-hosted, voice-and-SMS solution.
Client Insight - Getting Started with Knockout
This inaugural Client Insights column explains how to get started with the Knockout JavaScript library by learning how and where to use it.
Touch and Go - Background Audio on Windows Phone 7.5
Windows Phone 7.5 introduces the concept of a background agent, which you can use for playing either music files or streaming audio while your program is suspended. Charles Petzold shows you how to play audio files in the background.
Don't Get Me Started - Ring Around My Neck
MSDN Magazine's "resident curmudgeon" looks at our obsession with smartphones, and how they draw us together even as they push us apart.
Web Development Report - Build Mobile-Friendly HTML5 Forms with ASP.NET MVC 4 and jQuery Mobile
In this second installment of her Web Development Report, Rachel Appel shows you how to create mobile-friendly HTML5 forms in ASP.NET MVC 4 projects that also use jQuery Mobile.
XAML - Optimizing C# for XAML Platforms
By carefully examining the code you use in your XAML applications, you can ensure that you make choices that enhance your application’s performance. Understanding the complexity of the dependency property system, the way LINQ uses collections, and the operation of the XAML layout system will help you enable faster retrievals, use loops more efficiently and optimize custom controls.
XAML - Creating a Single Codebase for Silverlight and Windows Presentation Foundation
Through five versions of Silverlight and three versions of WPF, component-maker Telerik overcame the challenges involved in creating a single codebase using both platforms. Find out what tips and tricks worked for them in handling the differences between the platforms, from optimizing theming with minimal code to implementing virtualization and container recycling to developing custom controls.
SQL Azure - Scaling Out with SQL Azure Federation
George Huey explores SQL Azure Federations, and how SQL Azure Migration Wizard and SQL Azure Federation Data Migration Wizard can help simplify the migration, scale out and merge processes.
Windows Phone 7 - Your First Windows Phone Application
Your first Windows Phone application should be interesting, but not so complex you’ll get bogged down. Jesse Liberty walks you through a simple yet handy application that touches on many aspects of building good-looking and useful XAML-based Windows Phone applications.
Windows Phone 7 - Using Cameras in Your Windows Phone Application
Windows Phone 7.5 devices can have both back and front cameras. Matt Stroshane introduces the camera APIs and associated capabilities and discusses a few ways you can use a camera in your next Windows Phone 7.5 app.
Windows Phone 7 - Design Your Windows Phone App!
Spend time up front designing your app, Mark Hopkins advises, and you’ll save time in the coding process and reap rewards in the Windows Phone Marketplace.
Building HTML5 Applications - Using HTML5 Canvas for Data Visualization
The new HTML5 canvas element gives you the power to create and manipulate images and animations on the fly. And it’s not just for complex projects like games.As Brandon Satrom demonstrates, you can use it to do some pretty cool data visualization as well.
NuGet - Becoming a NuGet Author
Clark Sell continues our series on NuGet by exploring what it takes to become a NuGet package author and how to incorporate NuGet into your development life cycle.
Orchard CMS - Orchard Extensibility
Orchard is a new open source Web CMS that puts a lot of emphasis on extensibility. This article presents some of the techniques you can apply to build unique sites and contribute to a growing ecosystem.
ASP.NET Security - Securing Your ASP.NET Applications
Continuing his exploration of ASP.NET security, Adam Tuliper takes a look at cross site scripting and cross site request forgery—how these attacks occur and what you can do to prevent them.
Screen-Based Input - Customized On-Screen Keyboards with the .NET Framework
Learn how to create an on-screen keyboard that uses key randomization in the .NET Framework to enhance security and the porting of applications to mobile platforms.
SQL Server Reporting Services - Extending SSRS: Developing Custom Charting Components and Rendering Extensions
Though SQL Server Reporting Services (SSRS) provides excellent charting capabilities, the native options may not always satisfy your requirements. Learn how you can create a custom charting component and integrate it with an SSRS report, and how you can develop a custom report renderer (by extending a native one) to render a report just as you’d like.
Editor's Note - A Quarter Century and Counting
For 25 years, Charles Petzold has been writing about software development in the pages of MSDN Magazine, going back to the very first issue of Microsoft Systems Journal.
The Cutting Edge - Enhancing the Context-Sensitive ASP.NET MVC Progress Bar
Canceling an ongoing server-side task from within a client browser is not a trivial operation, but Dino Esposito meets the challenge as he enhances last month’s context-sensitive progress bar with cancel capabilities.
Data Points - Making Do with Absent Foreign Keys
The absence of foreign key properties in classes adds some challenges to working in disconnected apps. In this column, Julie Lerman explores behavior with inserts and updates when no foreign key is available and demonstrates how to make Entity Framework toe the line.
Forecast: Cloudy - Microsoft Azure Caching Strategies
Joseph Fultz maps Azure caching capabilities to caching strategies for output, in-memory data and file resources, balancing the desire for fresh data with the desire for the best performance.
Test Run - Simulated Annealing and Testing
James McCaffrey explores an artificial intelligence technique based on the behavior of cooling metal.
The Working Programmer - Building Combinators
Ted Neward finishes his discussion of parser combinators by extending the Spache library to parse the exact number of parsers you pass to it, incidentally demonstrating the power of functional programming.
Touch and Go - Playing Audio Files in Windows Phone
Before he tackles the new background audio capability in Windows Phone OS 7.1, Charles Petzold explores the ins and outs of the more standard way to play songs.
Don't Get Me Started - Lowering Higher Education
The Internet is set to hammer the higher education industry in the same way it hammered the newspaper industry.I hope that my industry will respond to this challenge with creativity and imagination that will make the world a better place. I expect to find the landscape radically different when my daughters start college, 9 years from now.
Agile Development - Working with Agile in a Distributed Team Environment
Using what the author calls “de-Agile,” teams can tailor Agile processes to overcome the obstacles of working in a distributed environment. The article recommends best practices based on the author's experience working with remote teams.
Web Development Report - Getting Started with Mobile Web Development Using HTML5, jQuery Mobile and ASP.NET MVC 4
This first installment of the Web Development Report column explains how using jQuery Mobile library and ASP.NET MVC 4 with HTML5 can help you create small, maintainable code bases that work on many mobile devices. The key is data-* attributes.
MVPVM Design Pattern - The Model-View-Presenter-ViewModel Design Pattern for WPF
Bill Kratochvil delves deep into the history of design patterns as he presents the advantages of developing extensible enterprise apps with what he calls the MVPVM pattern, inspired by the Microsoft patterns & practices Prism project.
Building HTML5 Applications - Integrating Geolocation into Web Applications
Much of what the world is calling HTML5 is a set of technologies geared toward making real application development possible on the Web—and geolocation is a great example. Brandon Satrom introduces the Geolocation spec and shows you how to get started using it in your applications.
ASP.NET Security - Hack-Proofing Your ASP.NET Applications
Almost every day, the mainstream media reports that another site has been hacked. Luckily, many of these attacks are surprisingly easy to protect against. Adam Tuliper explains how these attacks occur and discusses best practices for preventing them.
Sysinternals ProcDump v4.0 - Writing a Plug-in for Sysinternals ProcDump v4.0
Capturing a memory dump of an application is a common troubleshooting tactic, but most dump capture tools give you either too much or too little. Now Sysinternals ProcDump v4.0 let you make the memory inclusion decisions, as Andrew Richards explains.
Video Encoding - Saving and Reusing Settings for Video Encoding
Here's a simple way to allow video-processing applications to save compressed video using any codec available on the machine, without the need to manually specify the codec settings each time the app is started or used on multiple/remote/embedded machines.
ALM Rangers - Visual Studio ALM Rangers -- Rise of the VM Factory
The Rangers are back with some ALM guidance about the use of the Virtual Machine Factory, exploring its concepts and advantages.
Editor's Note - 31 Days of Mango

The Cutting Edge - A Context-Sensitive Progress Bar for ASP.NET MVC
Dino Esposito tackles the issue of reporting the status of remote operations, providing context-sensitive feedback that faithfully represents the status of the operation for a given session.
Windows with C++ - Thread Pool Timers and I/O
Kenny Kerr finishes his series on the Windows 7 thread pool by delving into the two remaining callback-generating objects provided by the API—timer objects and I/O completion objects.
Data Points - Handling Entity Framework Validations in WCF Data Services
Windows 8 Metro Style adds yet another UI that can consume OData. Julie Lerman helps you sharpen your OData creation skills with WCF Data Services, Code First and the Entity Framework Validation API.
Forecast: Cloudy - Completing the Trip with AppFabric Queues
Joseph Fultz completes his store inventory project based on the new features found in the Azure AppFabric Service Bus, using a mix of Topics and Queues.
Test Run - Tabu Algorithms and Maximum Clique
Dr. McCaffrey wraps up his examination of the challenging and mysterious maximum clique problem—often used in social networking scenarios—with an advanced solution called the tabu algorithm.
The Working Programmer - Parser Combinators
Ted Neward puts parser combinators to work in a real-life scenario as he designs custom configurations for neuro-optical scientific experiments in which optical tissue is stimulated and the results are recorded.
UI Frontiers - Video Feeds on Windows Phone 7
While the initial release of Windows Phone included only one camera API, that deficiency has been corrected with two new sets of APIs that Charles uses to have some fun with video.
Don't Get Me Started - Jobs and Ritchie: Entangled Photons
Steve Jobs died on October 5, and the tributes resounded through the universe. Far less noted was the passing of Dennis Ritchie on October 8. He deserves more recognition than he’s gotten, because Jobs couldn’t have accomplished anywhere near what he did without Ritchie’s work.
Windows Phone - How To Translate Common Design Principles To The Windows Phone
Using the Metro design language, Windows Phone has set a new bar for smart phone navigation. The physical Back button, the Application Bar, and the built-in controls Panorama and Pivot are must-know navigation standards for developers designing applications for Windows Phone.
Windows Phone - A Mobile Phone Is Not Just a Small Computer
Designing applications for mobile phones poses a unique set of challenges for developers accustomed to desktop environments. An expert in Web and software UX design offers guidance on how to optimize your smart phone apps.
NoSQL Document Database - Embedding RavenDB into an ASP.NET MVC 3 Application
Nevermore shall we hear the cries of a lack of nonrelational love for the Microsoft stack, says Justin Schwartzenberger. He demonstrates how exploring the NoSQL world is easy with RavenDB, a .NET/Windows-centric document data store solution that can run in an embedded mode within an ASP.NET MVC application.
Windows Phone SDK 7.1 - Building a 'Mango' App
This article walks you through creating an application that uses three of the big new Windows Phone 7.1 features: local databases, live tiles and Silverlight/XNA integration. The theme of the application is mangoes—with mango recipes, mango cocktails and a mango shooter game.
LightSwitch and Azure - Deploying LightSwitch Applications to Microsoft Azure
In this article Mike Wade shows how to deploy an application built using Visual Studio LightSwitch to Azure, which eliminates the need to dedicate resources to infrastructure management.
Building HTML5 Applications - Better Web Forms with HTML5 Forms
A number of new input types in HTML5 make creating Web forms easier than ever, and the best thing about these new types is that they’ll work at some level in all browsers. Brandon Satrom shows you how to start using HTML5 forms in your applications today.
NuGet - Manage Project Libraries with NuGet
NuGet is a package manager for developers that puts the best .NET libraries just a click away. It provides acess to free developer libraries and supports a model where companies can set up a private “app store” to manage libraries in their company. Learn how to work with NuGet to streamline your projects.
SharePoint Security - Custom Claims-Based Security in SharePoint 2010
Learn about the new claims-based identity model in Microsoft SharePoint Server 2010 as you explore the process of building a custom claims provider in SharePoint, integrating it with FAST Search and managing claims-enabled content.
Silverlight 3D - Developing 3D Objects in Silverlight
Learn to create 3D objects in three different ways; the key elements needed to display a 3D object on the screen; and how Silverlight 5 will allow you to go beyond what’s available today and create much richer 3D objects.
Editor's Note - A Game of Risk
Microsoft's Windows Runtime announced at the BUILD Conference in September aims to broaden the definition of the Windows developer.
The Cutting Edge - Design of a Domain Model
Code First encourages the application of domain-driven design principles in the .NET space. However, writing an object model for a realistic scenario raises some issues that currently are not well-addressed. Dino Esposito takes up that challenge.
Windows with C++ - Thread Pool Synchronization
Blocking operations are bad news for concurrency. You need a way for the thread pool to wait on your behalf without affecting its concurrency limits. It can then queue a callback once the resource is available or the time has elapsed. Along with work objects, the thread pool API provides a number of other callback-generating objects. Here, Kenny Kerr shows how to use wait objects.
Data Points - What the Heck Are Document Databases?
Our resident database expert explores some of the major players in the NoSQL world and shares what she’s learned. If you’re a database developer wondering what all the fuss is about, this overview of the MongoDB, CouchDB and RavenDBdocument databases is for you.
Test Run - Greedy Algorithms and Maximum Clique
Dr. McCaffrey this month presents a greedy algorithm as a solution to the graph maximum clique problem, which is to find the largest group of nodes in a graph that are all connected to one another. He explains how to design and test these algorithms to solve the problem.
UI Frontiers - Finishing the E-Book Reader
Charles Petzold finishes his Windows Phone 7 e-book reader with a Web service that gets the catalog file from Project Gutenberg, and a Pivot control to display a search screen and a list of downloaded books.
Don't Get Me Started - BUILD: Microsoft's Call to Arms
David Platt says the Microsoft BUILD Conference revealed something he has not seen for a long, long time: Real excitement around Microsoft's platform strategy.
HTML5 - HTML5 Offline Applications: ‘Donut Hole’ Caching
The example in this tutorial demonstrates how to cache a “Contact Us” page that displays notifications of upcoming events to users. When a user is connected to the Web, live event listings are displayed; otherwise, a telephone number prompts the user to call for event information. This approach keeps the user informed and connected with or without access to the public Web.
HTML5 - Working with Media in HTML5
HTML5 delivers new ways to view and play audio and video files in an HTML page.The days of needing a Flash plugin to play a video or mp3 in your web pages will soon be over.In this article you will learn about the media capabilities in HTML5 and how you can use them in your modern web applications. In this article you will learn: What HTML5 is and why it is important for building media applications on the Internet; and how to play media in an HTML5 page.
HTML5 - 12 Cool Geolocation Ideas and How to Use Them
It used to be that users had to actively input their location and submit it to a site—either by typing it in, using a loooong drop-down list, or clicking a map. Now, with the help of Geolocation API, this once menial task can become virtually seamless.
HTML5 - Responsive Web Design
At the basis of Responsive web design there are three technical key features that define the concept: Media queries and media query listeners, Flexible images and media, either through dynamic resizing or CSS, A flexible grid-based layout (using em sizing)
Asynchronous Programming - Easier Asynchronous Programming with the New Visual Studio Async CTP
There are many different techniques for achieving a responsive user interface in a program that performs high-latency operations, but the difficulty factor of doing so is high. The next version of C# and Visual Basic will include a new form of asynchronous control flow that avoids both the dangers of multithreading and the pain of writing callback methods.
Asynchronous Programming - Pause and Play with Await
Asynchronous methods in the upcoming versions of Visual Basic and C# are a great way to get the callbacks out of your asynchronous programming. Mads Torgersen takes a closer look at what the new await keyword actually does, starting at the conceptual level and working down to the iron.
Asynchronous Programming - Async Performance: Understanding the Costs of Async and Await
It’s easy to get started writing asynchronous methods in C# and Visual Basic, but there can be hidden performance costs. Stephen Toub explores the ins and outs of asynchronous methods to give you a solid understanding of how they’re implemented under the covers and show some of the more nuanced costs involved.
LightSwitch Security - Securing Access to LightSwitch Applications
Visual Studio LightSwitch is an exciting new product that helps developers quickly and easily build business applications.This article explores the challenge of securing three-tier applications and describes how developers can use the access control features in LightSwitch to secure their applications.
F# Programming - Authoring an F#/C# VSIX Project Template
Encourage reuse and cut out those repetitive, time-wasting setup chores by creating a Visual Studio Extension project template composed of a C# ASP.NET MVC 3 Web app and two F# libraries.
Silverlight - Harnessing the Power of the Dynamics CRM 4.0 API from Silverlight 4
Building Silverlight applications that can interact directly with Microsoft Dynamics CRM 4.0 can prove challenging, but here’s a little help in the form of an in-depth walkthrough on how to do it right.
SharePoint Development - Building Information Architecture in SharePoint 2010
Learn how to use new SharePoint 2010 Enterprise Content Management capabilities to build and implement flexible information architecture for Internet-facing publishing and knowledge management portals.
HTML5 - Browser and Feature Detection
If you’re building a Web site, you don’t just want it to look terrific today; you want it to dazzle for a long time to come. That means your site has to work not only in today’s browsers, but also in future versions. Tthis article presents tips and best practices to help you achieve this goal.
HTML5 - Writing a Business-Oriented JavaScript Web Application
Microsoft sees HTML5 and JavaScript as key for Windows developers. To help you learn to write production-ready JavaScript, we walk you through creating a basic business application.
Editor's Note - Thinkin' About Async
The addition of asynchronous programming support to C# and Visual Basic marks the latest in a series of important evolutionary steps for Microsoft's flagship managed programming languages.
Cutting Edge - Objects and the Art of Data Modeling
Today’s apps are too often built around a single data model, says Dino Esposito. He discusses strategies to handle situations where multiple models provide more flexibility and help you develop more layered and robust applications.
Windows with C++ - Thread Pool Cancellation and Cleanup
Cancellation and cleanup are notoriously difficult problems to solve when it comes to multi-threaded applications. However, the thread pool environment enables cleanup groups, which make the thread pool’s objects and callbacks more manageable, as Kenny Kerr details.
Forecast: Cloudy - The Microsoft Azure AppFabric Service Bus: Topics
With the AppFabric CTP June Update, the AppFabric Service Bus now offers Topics, a rich, new publish-and-subscribe capability. Joseph Fultz shows how this new messaging technology can be used to facilitate inter-store inventory checks.
Test Run - Graph Structures and Maximum Clique
In computer science, the maximum clique problem is challenging and not completely understood. But the code used to solve it can help developers out in important areas such as social networking. So dig in.
UI Frontiers - Pages and Pop-ups in Windows Phone 7
Charles turns to the horror genre in celebration of Halloween as he improves his e-book reader with the addition of “a whole bunch of dialog boxes” to aid in navigation and enhance user interaction.
Don't Get Me Started - Imagine That
The finals of the 2011 Imagine Cup software competition drew 128 teams from across the globe to New York City. David Platt found that the innovative entries weren't the only amazing thing about the event
SQL Server Development Tools - The 'Juneau' Database Project
With the new Database Project in the latest version of SQL Server Developer Tools, you can now perform your database development in the same environment as your application development. We introduce the new release.
Entity Framework - New Features in the Entity Framework June CTP
The Microsoft Entity Framework (EF) June 2011 CTP brings support for a number of the features developers want most, like enums, spatial types, and TVFs. Srikanth Mandadi introduces these new features by walking you through some simple examples.
Open Data Protocol - Build Great Experiences on Any Device with OData
With smartphone shipments recently outpacing PC shipments for the first time, many organizations want to target client experiences on multiple platforms, such as the desktop, Web, phones and tablets. The Open Data Protocol can help, as you’ll see with here with several detailed examples.
Building Apps with HTML5 - No Browser Left Behind: An HTML5 Adoption Strategy
As much as the development community and latest browsers are pushing the HTML5 hype up to a fever pitch, the vast majority of people on the web aren’t using those brand new browsers and versions.But that doesn’t mean you have to put off using HTML5 till the next decade. In this column, Brandon Satrom provides some practical strategies for how you can adopt HTML5 technologies today.
F# Programming - Build MVVM Applications in F#
F# is known for its ability to simplify complicated problems, but it’s far more than that. Chris Marinos shows you how to use F# to build practical Silverlight and WPF MVVM applications. You’ll learn how useful F# can be for solving everyday problems, and you’ll see how to use F# to make even the simplest applications easier to read, write, and maintain.
ALM Guidance - Visual Studio ALM Rangers—Reflections on Virtual Teams
Who wants to get up at 3 a.m. for a status meeting? Learn valuable lessons about organizing and managing teams with members around the globe, who have various skills, motivations, commitments, project affiliations and restrictions.
Editor's Note - 'Mango': Innovation from the Inside Out
Michael Desmond's first Editor's Note looks to the broad implications of the Windows Phone 7 "Mango" update.
Cutting Edge - Software Disasters: Recovery and Prevention Strategies
Have you ever had to deal with the infamous “big ball of mud” clogging up your project? Learn the best practices to help fix a deteriorated system and patterns to prevent a growing system from growing badly and uncontrolled, degrading over time.
Windows with C++ - The Thread Pool Environment
Our resident C++ guru continues his exploration of the thread pool, this month examining objects that control the environment in which callbacks execute.
Data Points - Second-Level Caching in the Entity Framework and AppFabric
Sometimes useful state information about an Entity Framework context is lost when the context goes out of scope, but Julie Lerman explains how a second-level cache can help retain this information for further use, such as in automatically generated database persistence commands, for example.
Forecast: Cloudy - Reporting on Diagnostics Data
The SQL Azure Reporting CTP gives developers a familiar paradigm for developing and distributing reports—except that no one has to worry about the infrastructure to host it. Joseph Fultz demonstrates with a simple example that uses data from performance counters captured as part of the diagnostics for a Web Role.
The Working Programmer - Multiparadigmatic .NET, Part 10: Choosing an Approach
In this last article in his series on multiparadigmatic programming, Ted Neward helps you think about how to consider which paradigms to choose when designing an application.
UI Frontiers - Touch for Text
Text selection can be awkward on a touch interface, but it offers too many benefits to ignore. Charles Petzold shows you how to implement this feature in the context of an e-book reader, using concepts that can be applied to any Windows Phone program that displays text to the screen and allows the reader to interact with that text.
Don't Get Me Started - Development Is Design
The user experience is determined by your development skills, and not how pretty your UI is.
Visual Studio LightSwitch - Advanced Programming Made Easy With Lightswitch
Visual Studio LightSwitch dramatically simplifies the development of data-centric business applications because it takes care of all the plumbing for you, as Beth Massi illustrates with a sample application.
Visual Studio LightSwitch - Build Business Applications with Visual Studio LightSwitch
Get hands-on experience with this new product in the Visual Studio family aimed at developers of all skill levels who want to quickly create data-centric business applications for the desktop, Web and cloud.
HTML5 - Building Apps with HTML5: What You Need to Know
In this article — the first of a series that aims to show you how you can use HTML5 to build apps for the Web — Brandon Satrom introduces HTML5, describes Microsoft’s approach to the new standard and helps you think about how to adopt HTML5 technologies.
Team Foundation Server and Exchange - Build a Ticketing System Using Exchange and Team Foundation Server
What do you get if you combine the Team Foundation Server work item tracking functionality with the Exchange Web Services push notification? A unified support ticketing system that integrates e-mail and work items. Mohammad Jalloul shows you how to build it.
Parallel Programming - The Past, Present and Future of Parallelizing .NET Applications
In the world of multi-core and manycore everywhere, parallelism is now something every developer must at least consider, and something that the millions of developers that use managed languages must be able to take advantage of.Stephen Toub shows how parallelism is evolving in .NET.
Multi-Platform Development - Portable Class Libraries: A Primer
We walk you through a demo application to show how Portable Class Library projects can generate a managed assembly that can be referenced by Windows Phone 7, Silverlight, Windows Presentation Foundation (WPF) and Xbox 360 platforms.
Artificial Intelligence - Particle Swarm Optimization
Particle Swarm Optimization (PSO) is an artificial intelligence technique which can be used to find approximate solutions to extremely difficult or impossible numeric maximization or minimization problems. It's loosely modeled on group behavior such as bird flocking and fish schooling.
Editor's Note - F-Sharp Focus
The creator of the F# language explains why he felt it was necessary.
Cutting Edge - Static Code Analysis and Code Contracts
Dino Esposito delves into static code analysis and discusses how it can be used with Code Contracts to save you time in your builds and, more importantly, save you from nasty bugs that hit your software only in corner cases.
Windows With C++ - The Windows Thread Pool and Work
Concurrency means a lot of different things to different people, but at the heart of any contemporary approach is some kind of a thread pool. Here, Kenny Kerr explains how to best use the Windows thread pool API.
Forecast: Cloudy - Searching Microsoft Azure Storage with Lucene.Net
There isn’t yet a lot of support for a cloud-deployed search solution, but with Azure, Lucene.Net and a bit of OpenXML, just about any searching requirements can be met.Joseph Fultz gets you started with a sample implementation.
UI Frontiers - Font Metrics in Silverlight
Silverlight is a graphical environments that doesn’t provide font metrics to application program developers, so Charles Petzold shows you a workaround to help you lay out text and pages.
Don't Get Me Started - The Power of the Default
The default settings can make or break your program. Treat them with respect.
ASP.NET WebGrid - Get the Most out of WebGrid in ASP.NET MVC
Along with the recent WebMatrix release there are a set of productivity helpers including WebGrid and Chart. WebGrid provides a productive way to render tabular data. This article will show the productivity benefits of the WebGrid and to present a few key pointers for effectively working with WebGrid for ASP.NET MVC developers.
SharePoint Development - Build Workflow Solutions for SharePoint Online
In this follow-up to his March article, Chris Mayo illustrates workflow support in SharePoint Online by extending the purchasing solution to include a workflow solution, then extending the workflow with a custom workflow action developed with Visual Studio.
Web Development - Visual Studio 2010 SP1 for Web Developers
Check out the goodies for Web developers in the new Visual Studio service pack, including integration with new offerings of the Microsoft Web Platform, such as IIS Express, SQL Server CE, the Razor syntax, the Web Platform Installer and much more.
Silverlight Localization - Tips and Tricks for Loading Silverlight Locale Resources, Part 2
This article would be a follow up discussion from the March 2011 article, talking about server side components that are very helpful in rounding off the localization solution. There are a couple of very interesting techniques that we are using including inserting resources into dynamically generated XAP files and on demand generation of resource files.
Windows PowerShell with WPF - Secrets to Building a WPF Application in Windows PowerShell
Is it a command-line interface, a scripting language or an API? Windows PowerShell is all three, says Doug Finke, who shows you how to tweak Windows PowerShell to build a net present value calculator presented in classic Windows Presentation Foundation GUI style. Special bonus: Windows PowerShell creator Jeffrey Snover weighs in on the Ad Hoc development model and origin of the language.
MVC Filters - Easily Add Performance Counters to Your MVC Application
Ben Grover adds performance counters to a Model-View-Controller (MVC) app and explains how to use MVC filters to clean up and replace repeated, confusing code that was spread throughout numerous action methods in an application.
Mobile Browsing - Build a Better Mobile Browsing Experience
If you’re building a public Web site, you need to support mobile browsers. This article explains why this is more important than ever, and suggests techniques for building great mobile browser experiences on ASP.NET Web Forms and Model-View-Controller, including browser detection, generating mobile-specific markup and optimizing usability.
Editor's Note - Why C++ Still Matters
This month, we welcome the return of Kenny Kerr’s Windows with C++ column. To celebrate, we asked him some questions about where C++ fits into today’s development environment.
Toolbox - Tools and Techniques for .NET Code Profiling
Premature optimization may be the root of all evil, but at some point in your app's development cycle you're going to need to analyze your code for performance and memory use. Here's a collection of profiling tools and information that will help make you a lean, mean coding machine.
Cutting Edge - Code Contracts: Inheritance and the Liskov Principle
Dino Esposito goes further into his exploration of Code Contracts in the .NET Framework, explaining what they’re used for, how they compare to assertions and tests and how they can help you improve the quality of your software design.
Windows with C++ - C++ and the Windows API
Kenny resumes his monthly column with MSDN Magazine with a fresh new approach to Windows programming with C++. In this first installment you will learn how to manage Windows API resources in a way that is natural for the contemporary C++ developer. This is a critical first step in becoming a productive Windows developer.
Data Points - Demystifying Entity Framework Strategies, Part 3: Classes, Queries and Contexts
Julie Lerman takes on code generation in her third column exploring important decisions you have to make when using the Entity Framework, while also discussing the ObjectContext vs. DbContext choice and query building options.
Mobile Matters - Make Money with the Microsoft Ad Control
Even if you’re just a hobbyist Windows Phone 7 developer producing free apps, the easy-to-use (and free) Microsoft Ad Control lets you monetize your apps with automatic embedded advertising. See just how easy it is to get started.
The Working Programmer - Multiparadigmatic .NET, Part 9: Functional Programming
The ninth in our series on multiparadigmatic programming focuses on functional programming, which is about treating functions as values—and which offers operations similar to what LINQ-to-Objects provides.
UI Frontiers - Page Transitions in Windows Phone 7
For the most fluid page transitions in an e-book, the user interface needs to support three distinct pages—the current page, the next page, and the previous page. Charles Petzold describes a flexible way to implement this using three different page transitions.
Don't Get Me Started - When Security Doesn't Make Sense
It’s usually the fault of the developer --rather than the end user -- when security isn’t applied.
Agile C++ - Agile C++ Development and Testing with Visual Studio and TFS
One aspect of Agile development includes writing automated tests, but that gets complicated when your project mixes C# and C++ code. We'll show you how one team at Microsoft uses Visual Studio and Team Foundation Server to streamline native and managed development.
Agile Development - Make Agile Work for You in TFS 2010
Get an inside peek into internal Microsoft development practices as Chris Adams documents his team’s move to Agile using Team Foundation Server 2010, starting out with the Microsoft Solutions Framework Agile v5.0 process template and eventually switching to the Microsoft Visual Studio Scrum 1.0 template.
Debugger Engine API - Writing a Debugging Tools for Windows Extension, Part 3: Clients and Callbacks
In this third article of a series we delve deeper into the relationship between a debugger extension and the debugger, examining the architecture of debugger clients and debugger callbacks.
Multi-Targeting - Build Multi-Targeted Apps for the Desktop, Prism and Windows Phone 7
Why duplicate efforts when you can use a single codebase to create multi-targeted applications? We walk you through the process, using Prism, dependency injection and patterns such as MVP and MVVM
StreamInsight - Master Large Data Streams with Microsoft StreamInsight
Analyzing and responding to information in large, near real-time streams of data is crucial to many businesses, but traditionally it's been difficult to perform historical and real time queries using the same toolsets and query languages. We'll show you how StreamInsight changes that.
Windows Phone 7 - Sterling for Isolated Storage on Windows Phone 7
Learn how to leverage the Sterling open source database library to persist and query data locally in Windows Phone 7 apps with minimal effort, along with a simple strategy for managing state when an application is deactivated upon a user switching to another application.
Editor's Note - The Best of Times
If you’re a builder of software, take heart: You’re living in the greatest development era ever.
Cutting Edge - Invariants and Inheritance in Code Contracts
After discussing two of the most common types of software contracts—preconditions and postconditions—Dino this month introduces the third most important type of contract—the invariant—and proceeds to examine the behavior of contract-based classes when you apply inheritance.
Data Points - Demystifying Entity Framework Strategies: Loading Related Data
With the Entity Framework, modeling the data is just a first step. You'll also need to use the right tools for querying and loading your data. We'll show you the options and help you choose the right ones for your application.
Forecast: Cloudy - Multi-Platform Microsoft Azure Storage
Microsoft Azure is far from a single-platform environment. To demonstrate its power, we'll build the same app for three different mobile devices: Windows Phone 7, jQuery and Android.
Test Run - Curved Lines for Bing Maps AJAX
This month’s dual-purpose column provides a walkthrough of a JavaScript function to draw a Bezier curve on a Bing Maps AJAX map control along with guidelines for testing a nontrivial JavaScript function.
Working Programmer - Multiparadigmatic .NET, Part 8: Dynamic Programming
In as far as it goes, parametric metaprogramming provides some powerful solutions. But it’s not the be-all, end-all answer to every design problem. Dynamic languages take the concept of name-bound execution to its highest degree. Let's see how it works.
UI Frontiers - Principles of Pagination
E-book readers are simple, right? Just render some text and a way you go. Well, maybe it's not that simple after all. We start building an e-book reader for Windows Phone 7 by investigating the mechanism behind paginating the text.
Don't Get Me Started - Will Microsoft Learn DEC’s Lesson?
Microsoft, for all the things it does right, still thinks like a PC company. For it to survive, that needs to change.
Debugger Engine API - Writing a Debugging Tools for Windows Extension, Part 2: Output
Continuing to work on his Debugger Engine extension, Andrew Richards shows you how to avoid all the dangerous traps you might find as you enhance the tool’s output.
Web Migration - Moving Your Web App from WebMatrix to ASP.NET MVC 3
The Web Pages page-centric programming model supported by WebMatrix is a great way to get Web apps up and running. If you later decide that embracing ASP.NET MVC would give you more flexibility, you're covered. We’ll explain why you might choose to migrate and show you how to do it.
Windows API Wait Functions - DynWaitList: ID-Based Windows Event Multiplexing
Event signals are identified by indexes into an array of object handles, which is problematic with dynamic arrays where events are added or removed from the middle of the list. Here’s a container class to solve the problem.
Location-Aware Programming - Visualizing Bing Routes on Windows Phone 7
Learn how to bring location-aware features into your Windows Phone 7 applications and visualize routes and locations in different ways as you build an app that shows you the location of nearby restaurants.
Business Connectivity Services - Consuming External OData Feeds with SharePoint BCS
Business Connectivity Services (BCS) for Microsoft Office and SharePoint helps you bring external data sources into your SharePoint apps. We'll show you how to write a custom .NET Assembly Connector for BCS that lets you read from and write to an OData feed.
Entity Framework - Code First in the ADO.NET Entity Framework 4.1
The latest version of the Entity Framework includes two new main features: the DbContext API and the Code First development pattern. We show you how to use these to develop applications, starting with the basics and moving on to more advanced techniques.
Editor's Note - Staying Put
You don’t have to move to the “hot” areas of development. Old school still has its place.
Cutting Edge - Code Contracts Settings in Visual Studio 2010
Code contracts in the Microsoft .NET Framework 4 rely on a few features in Visual Studio 2010. We'll review the project options for code contracts, how they affect the rewriter tool and some best practices for argument validation.
Data Points - Demystifying Entity Framework Strategies: Model Creation Workflow
The Entity Framework now includes more ways than ever to create a conceptual model, starting first with just your code, a model created with the visual designer, or a legacy database. We help you choose which one’s right for you.
Forecast: Cloudy - Load Balancing Private Endpoints on Worker Roles
A client needed to load-balance private service endpoints on Azure Worker Roles without taking on the latency of a queuing operation. I'll walk you through one possible solution to this problem.
Mobile Matters - Windows Phone 7 Tombstoning
Windows Phone 7 deals with memory and resource constraints through feature called tombstoning. We'll discuss the role tombstoning plays in the application lifecycle and demonstrate how you can implement it in your own apps.
Test Run - Super-Simple Mutation Testing
Mutation testing is known for being difficult and expensive, but we’re here to show you a real-world system you can build in just a few hours with a little C# code and Visual Studio.
The Working Programmer - Multiparadigmatic .NET, Part 7: Parametric Metaprogramming
In this series we've examined procedural and structural programming, objects, and metaobjects. Now let's take a look at generics and put them to work as an example of parametric polymorphism in action.
UI Frontiers - Silverlight Printing Basics
Get a handle on the nuts and bolts of adding printing capabilities to your Silverlight apps as Charles walks through programs to print an ellipse, an image and a calendar.
Don't Get Me Started - R.I.P., DEC
Digital Equipment Corporation was an industry pioneer. Its eventual demise doesn’t change that fact.
Cloud Cache - Introducing the Microsoft Azure AppFabric Caching Service
Microsoft Azure AppFabric Caching service provides an easy-to-use cache in the cloud that you can employ for application data, maintaining session state, and other tasks. We'll show you how to start using the Cache service in your apps today.
Azure Development - CQRS on Microsoft Azure
Learn how Command Query Responsibility Segregation represents a shift from more classic, three-tier application architecture toward a message-based, asynchronous pattern. We walk you through a reservation booking app to demonstrate how CQRS lends itself to Azure development.
MapReduce in F# - Parsing Log Files with F#, MapReduce and Microsoft Azure
F# is a powerful new dynamic language for .NET developers. We'll show you how powerful by whipping up a MapReduce algorithm in F# for parsing Azure log files.
Team Foundation Server - Visual Studio TFS Team Project and Collection Guidance
Microsoft’s expert “Ranger” team presents guidance for organizing and provisioning Team Foundation Server Team Projects and Team Project Collections.
Natural Algorithms - Use Bee Colony Algorithms to Solve Impossible Problems
Simulated Bee Colony (SBC) algorithms model the behavior of honey bees and can be used to find solutions to difficult or impossible combinatorial problems. In this article I explain what exactly SBC algorithms are, describe the types of problems which can be solved using SBC algorithms, and present a complete end-to-end example which uses an SBC algorithm to solve the Traveling Salesman Problem.
ASP.NET Web Pages - Introduction to WebMatrix
This new site editor for ASP.NET Web Pages is different from the usual Microsoft product. See how it simplifies everything from site creation to data access to deployment and even Search Engine Optimization.
Editor's Note - Cancel This!
One man’s journey into the dark heart of a Web site.
Toolbox - F# Tools and Resources
F# is a new functional, type-safe programming language for the .NET Framework. It may be a relatively young language, but F# has quickly developed a cult following within the programming community. Here's a guide to the tools and resources that will help you get started.
Cutting Edge - Give Your Classes a Software Contract
With the .NET Framework 4, software contracts are available and even integrated with Visual Studio. We show you the benefits of a contact-first approach, such as code maintainability and ease of development.
Data Points - Composing WPF DataGrid Column Templates for a Better User Experience
Julie Lerman struggled for days with some vexing user experience problems related to the WPF DataGrid, so she’s saving you the bother by explaining how she solved them.
Mobile Matters - Windows Phone Navigation, Part 2: Advanced Recipes
Following up on last month’s examination of basic Windows Phone navigation techniques, we now present step-by-step instructions for more advanced scenarios.
UI Frontiers - Lissajous Animations in Silverlight
The pattern created by the interaction of two sine waves is a Lissajous curve – you've probably seen one on an oscilloscope. We'll show you how to make one in Silverlight for the Web or Windows Phone 7.
Don't Get Me Started - The Cat Butt Factor
Do you plan for all contingencies when building your program—including cat butts?
SharePoint Online - Cloud-Based Collaboration with SharePoint Online
Learn how SharePoint Online development is similar to and different from SharePoint 2010 development by following along with Chris Mayo as he builds solutions that run in the cloud.
BizTalk EDI Solutions - Processing Health Care Claims with BizTalk Server 2010
BizTalk Server 2010 introduces a variety of new functionality for developing and configuring EDI solutions. This article walks through each of the key stages to BizTalk EDI development and introduces a number of techniques to aid the developer.
Silverlight Localization - Tips and Tricks for Loading Silverlight Locale Resources
Your customers deserve to enjoy your Silverlight app with locale-appropriate resources. We'll show you some tricks for creating, loading, and changing locales at run time.
Debugging Engine API - Writing a Debugging Tools for Windows Extension
Learning how to debug is a crucial developer skill. Fortunately, Visual Studio provides great tools for helping you debug your code. We'll cover the basics of building a custom debugger extension so you can analyze dump files (and also live systems) with ease.
RIA Frameworks - Building Data-Centric Web Apps with ASP.NET MVC and Ext JS
JavaScript frameworks provide an alternative to plug-ins for rich web app front ends. We'll show you how to use the Ext JS library and ASP.NET MVC to quickly build a robust data-centric solution.
Cache Integration - Building and Using Custom OutputCache Providers in ASP.NET
With the .NET Framework 4.0, you can now boost performance by replacing the default ASP.NET output cache with your own implementation. We show you how to do this with the MongoDB "NoSQL" database in a simple ASP.NET MVC app and then we swap out the custom provider to leverage features of Azure AppFabric.
Editor's Note - How to Get Rejected
A guide to not getting published in MSDN Magazine.
Toolbox - Data Integration Tools and Resources
Data integration is the cornerstone of many apps these days, which means you’ll need to add database expert to the many hats you wear. Or maybe not. We’ll show you some handy tools and resources for maximizing data access while minimizing muss and fuss.
Cutting Edge - Application Extensibility: MEF vs. IoC
You can create extensible apps using the Managed Extensibility Framework (MEF), which is built right into the .NET Framework 4. We'll walk through an example to compare plug-in implementations using both MEF and Inversion of Control frameworks.
Data Points - Server-Side Paging with the Entity Framework and ASP.NET MVC 3
You don't always need to get huge amounts of data with your database queries. See how Julie Lerman uses new features of ASP.NET MVC 3 and Entity Framework to perform efficient server-side paging when you don't need to return those big data payloads.
Forecast: Cloudy - Cloud Services Mashup
Learn how to combine multiple cloud services into a single app, taking advantage of services offered by Microsoft Azure, Azure AppFabric Access Control, Bing Maps and Facebook.
Mobile Matters - Windows Phone Navigation: The Basics
In the first installment of our new monthly column focusing on Windows Phone 7 development, we present the basics of the page navigation model, best practices to get the most out of the current APIs and some actionable, easy-to-follow recipes to create complex navigations not implemented with those APIs.
Test Run - Diffusion Testing
The doctor prescribes a little-known technique that—under the right circumstances—lets you automatically generate new test case data from existing test cases that yield a pass result, saving time and work.
The Working Programmer - Multiparadigmatic .NET, Part 6: Reflective Metaprogramming
Code generation can simplify many programming tasks, but harnessing reflection gives you an entirely new kind of variability. Now names can refer to elements within the program at a much later time than the compiler traditionally permits. We'll show you how it works.
UI Frontiers - Touch Gestures on Windows Phone
Charles this month takes a look at multi-touch APIs and delves into the workings of the new gesture support in the Silverlight for Windows Phone Toolkit.
Don't Get Me Started - Missing the (Power) Point
It’s time to start licensing PowerPoint users until they learn the true point of the program.
Dynamic .NET - Understanding the Dynamic Keyword in C# 4
The dynamic keyword brings exciting new features to C# 4. We'll show you how it works and why it simplifies a lot of your coding tasks, including some handy COM interop possibilities.
Data Contract Inheritance - Known Types and the Generic Resolver
Developers often struggle with the hassles of data contract inheritance in WCF, a problem called known types. We'll explain the origin of the problem, then show you how to eliminate the problem altogether with the generic resolver.
Dynamic Data - Pattern Matching Database Records with F#
When migrating data from other sources into a single database used by your app, you'll probably have to employ some matching and de-duplication processes to end up with a useful data store. We'll show you four different matching algorithms and the F# code to implement them.
Business Connectivity Services - Managing Employee Rewards with Office and SharePoint BCS
When Microsoft designed a new employee rewards management platform, they turned to Business Connectivity Services (BCS), a feature of Office 2010 and SharePoint 2010, to edit employee information directly in Excel. We'll show you how they did it.
Parallel Computing - It's All About the SynchronizationContext
SynchronizationContext is a class (and concept) that is central to the correct operation of multithreaded components on .NET, but is often overlooked or misunderstood.
Windows Workflow - Securing WF 4 Workflow Services
We explain various security options for different workflow hosts, including a discussion of the Workflow Security Pack project and how its collection of activities can be used to bring end-to-end security to workflow solutions.
Team Foundation Server - Visual Studio TFS Branching and Merging Guidance
Learn firsthand from members of one of Microsoft’s expert “Ranger” teams how best to handle software development branching with Visual Studio Team Foundation Server.
Editor's Note - Quick Guide to Getting Published
So, you want to write for MSDN Magazine. Here are a few tips on getting started.
Toolbox - Windows Phone 7 Development Tools and Resources
Windows Phone 7 has a large, and continually growing, ecosystem of resources for developers. Here are some of the main ones.
Cutting Edge - Policy Injection in Unity
Dino Esposito follows up on his discussion of the Unity interception API by explaining how policy injection lets you concentrate on the details of the behavior you want, leaving the library to decide which methods it applies to based on the rules you give it.
Data Points - Slice and Dice OData with the jQuery DataTables Plug-In
OData lets you access data over the Web through simple HTTP commands. We’ll show you how the jQuery DataTables plug-in along with the Microsoft .NET Framework and Silverlight OData client libraries let you retrieve and display this data quickly, easily and with style.
Forecast: Cloudy - Branch-Node Synchronization with SQL Azure, Part 2: Service-Based Sync
Learn how using Azure to sync corporate databases lets you scale to many more end nodes than are possible with direct-to-database synchronization.
Test Run - Measuring Test Effort Progress with EVM
An important part of software testing -- or coding -- effort is the ability to measure the progress. One technique for doing this is a technique called Earned Value Management, and we'll show you how easy it is to apply EVM to your own projects.
UI Frontiers - Sound Recording in Windows Phone 7
Stripping down the UI to essentials is important when programming for a smartphone. We'll see just how stripped down an app can get while still being useful, and we'll explore the sound recording APIs in Windows Phone 7 along the way.
Don't Get Me Started - Never, Never Land
As in medicine, certain events in software development should never happen. Not ever.
Workflow Services - Scalable, Long-Running Workflows with Windows Server AppFabric
Windows Server AppFabric provides tools that make it easy to deploy, configure and run highly scalable web applications. We’ll show you how to use AppFabric to build highly scalable, long-running workflows with built-in persistence.
Windows Foundation 4 - Authoring Custom Control Flow Activities in WF 4
Control flow options in Windows Workflow Foundation 4 are not limited to the activities shipped in the framework. You can write your own and use them in combination with the ones provided in the box, as Leon Welicki describes.
Silverlight Exposed - Using MEF to Expose Interfaces in Your Silverlight MVVM Apps
Managed Extensibility Framework (MEF) lets you expose interfaces and classes in your Silverlight apps without having to expose the real implementation. We'll show you how it works.
Parallel Computing - Data Processing: Parallelism and Performance
How can you use parallel coding techniques to squeeze the utmost performance out of multi-core systems when processing data? There are many different approaches, but we show you the absolute best.
Visual Studio - Use Multiple Visual Studio Project Types for Cloud Success
Patrick Foley explains how he took advantage of the strengths of several different Visual Studio project types to solve a real-world problem with a cloud-based, data-centric Web site.
ASP.NET Dynamic Data - Build a Data-Driven Enterprise Web Site in 5 Minutes
It used to be a chore to build data-driven web apps with CRUD functionality. ASP.NET Dynamic Data makes it much easier to wire up a fully customized front end for your application. We'll show you how.
Editor's Note - Change the World!
Tim Berners-Lee brought about the World Wide Web. What about you?
Toolbox - Visual Studio Tools and Extensions
If Visual Studio is your IDE of choice, you have a plethora of tools to make it even better. Here’s a selection of some of the most valuable ones.
Cutting Edge - Interceptors in Unity
The Unity framework provides dependency injection for .NET applications. We'll show you how to leverage the interception API in Unity 2.0 to inject your own functionality into exiting code.
Forecast: Cloudy - Branch-Node Synchronization with SQL Azure
Learn how to use SQL Azure and the Sync Framework to move data between the corporate data center, various branches and individual devices.
The Working Programmer - Multiparadigmatic .NET, Part 5: Automatic Metaprogramming
Inheritance stands at the center of the object-oriented paradigm, but it isn’t always the best solution for all problems in OO programming, and despite its flaws and pitfalls, automatic metaprogramming, or code generation, is a useful tool to keep in your toolbox.
UI Frontiers - A Color Scroll for XNA
Charles this month serves up an introduction to XNA programming for Windows Presentation Foundation and Silverlight coders as he shows you how to build a color scroll control for Windows Phone 7.
Don't Get Me Started - Turn! Turn! Turn!
David Platt comes up with his own lyrics depicting the seasons of a developer.
Windows Phone 7 Development - Sudoku for Windows Phone 7
Get started with Windows Phone 7 development with this Silverlight-based game tutorial that demonstrates key concepts such as the Model-View-ViewModel design pattern, serialization, user storage and multiple orientations.
Windows Phone 7 Apps - Build Data-Driven Apps with Microsoft Azure and Windows Phone 7
The performance of data-driven Windows Phone 7 apps relies on both good UI coding practices and snappy access to data. We’ll cover some important design considerations for using Azure effectively with Windows Phone apps.
BDD Primer - Behavior-Driven Development with SpecFlow and WatiN
Behavior-Driven Development techniques let you test and code in the language of your business scenario. We’ll explain how the BDD cycle wraps traditional Test-Driven Development techniques and walk you through an example BDD development cycle for an ASP.NET application.
.NET Performance - Performance Diagnostics of .NET Applications Using ETW
Event Tracing for Windows (ETW) is a powerful logging technology that's leveraged in the .NET Framework 4 CLR to make profiling your managed application simpler than ever. ETW collects system-wide data and profiles all resources (CPU, disk, network and memory) making it very useful for obtaining a holistic view.
Azure AppFabric - Re-Introducing the Microsoft Azure AppFabric Access Control Service
See how to easily authenticate and authorize users from the likes of Windows Live ID, Facebook, Yahoo and Google within your Web sites and services.
Editor's Note - Windows Phone 7 Approval
One developer’s journey through the Windows Phone 7 application approval process -- and why screenshots need special attention.
Toolbox - Microsoft Azure Development Resources
The Azure platform is Microsoft’s stack of cloud computing resources. Here’s a collection of tools and information that will get you writing apps for Azure today.
Cutting Edge - Aspect-Oriented Programming, Interception and Unity 2.0
Learn about the aspect-oriented programming paradigm and the related capabilities you find in Unity 2.0 as Dino Esposito explores how to deal with cross-cutting concerns in your code.
Data Points - Profiling Database Activity in the Entity Framework
It’s important to profile your database queries to see what happens in response to Entity Framework queries and other data access activities, says Julie Lerman, who gives you the details on several profiling options to improve you coding.
Forecast: Cloudy - Pushing Content from SharePoint to Microsoft Azure Storage
We walk through a sample implementation that lets users selectively push content from SharePoint to Azure Storage, providing links to the new locations and taking into account access control to the files.
Test Run - Web Application UI Testing with jQuery
Although jQuery was created with Web development in mind, it has several characteristics that make it well-suited for lightweight Web UI test automation. We’ll show you how to build a simple jQuery-based test harness.
The Working Programmer - Multiparadigmatic .NET, Part 4: Object Orientation
Object-oriented developers may be too comfortable modeling commonality and variability with inheritance. As Ted Neward points out, that can lead to problems for the unwary.
Security Briefs - Improve ASP.NET Security with Visual Studio Code Analysis
Visual Studio code analysis and FxCop enable you to check your code automatically for design, performance and security issues. Now you can check your ASP.NET apps, too. We’ll show you how.
UI Frontiers - Silverlight, Windows Phone 7 and the Multi-Touch Thumb
The versatile, touch-enabled Thumb control is supported by Silverlight on both the Web and Windows Phone 7. We’’ll show you how to create a shared-code project for both platforms that uses Thumb for both mouse and multi-touch input.
Don't Get Me Started - The Secret to a Successful Windows Phone 7 App
Want to build a Windows Phone 7 app that sells? Forget cool; remember useful.
Azure Marketplace DataMarket - Introducing DataMarket
See how the former Microsoft Project Codename “Dallas” has matured into an information marketplace that makes it easy to find and purchase the data you need to power applications and analytics.
Cloud Data - Getting Started with SQL Azure Development
SQL Azure provides features similar to a relational database for your cloud apps. We’ll show you how to start developing for SQL Azure today.
Cloud Computing - Synchronizing Multiple Nodes in Microsoft Azure
Learn how to utilize elasticity—the ability to provision resources and remove them on the fly—to take full advantage of cloud computing.
Cloud Collaboration - Connecting SharePoint to Microsoft Azure with Silverlight Web Parts
There are many ways to integrate Azure applications with SharePoint 2010. We’ll walk you through one example: a Silverlight-based Web Part that consumes data from the cloud.
Task-Based Programming - Scalable Multithreaded Programming with Tasks
Getting the most out of multicore systems means diving head-first into multithreaded programming. Ron Fosner follows up on his previous article by introducing you to a more sophisticated multithreading technique called task-based programming.
"Hello World!" - A Coder’s Guide to Writing API Documentation
Creating documentation for your APIs may not be the most interesting part of the development process, but doing it right saves your users from confusion and frustration. We offer some useful tips to help you write effective API docs.
Editor's Note - Proactive Education
This Florida agency goes beyond talking about the problem of IT education: it’s getting involved in students’ lives.
Cutting Edge - Dynamic Action Filters in ASP.NET MVC
Action filters are a powerful feature of ASP.NET MVC controllers that can help you build aspect-oriented Web solutions. In this issue we dive deeper into creating your own dynamic action filters.
Data Points - Using the Entity Framework to Reduce Network Latency to SQL Azure
Your app may function as expected when you switch to using a cloud database, but profiling and tuning queries to account for the varying effects of network latency can help you boost overall performance.
Forecast: Cloudy - SQL Azure and Microsoft Azure Table Storage
When migrating your applications to Azure, there are several data storage options to choose from. We’ll look at strengths of SQL Azure and Azure Table Storage to help you understand which is the right choice for your app.
Test Run - Web UI Test Automation with the WebBrowser Control
Modal message boxes generated by a Web application pose a tricky problem for automated testing. We’ll show you a relatively simple technique for creating a test harness for these cases.
The Working Programmer - Multiparadigmatic .NET, Part 3: Procedural Programming
Procedural programming is often seen as “old school,” outdated and useless in modern software design, but the design paradigm still shows up in a surprising number of places—including the compiler and MSBuild.
Security Briefs - Web Application Configuration Security Revisited
Bryan Sullivan follows up on configuration security with some relatively obscure—but important—web.config settings that should be addressed, and discusses a new free tool to help you find potential problems.
UI Frontiers - The Intricacies of Touch Controls
Charles is intrigued by the Windows Phone 7 touch controls and tries to duplicate them in Windows Presentation Foundation, finding out that good multi-touch coding is a lot harder than it seems.
Don't Get Me Started - A Real Pain in the Neck
At a minimum, UI design shouldn’t cause physical pain to readers and users.
Thread Pools - Scalable Multithreaded Programming with Thread Pools
Getting the most out of multicore systems means diving head-first into multithreaded programming. In this issue, Ron Fosner demonstrates some simple methods for adding parallel operation to your code, along with techniques for measuring how much you’ve improved execution.
Bing Map Apps - Building a Real-Time Transit Application Using the Bing Map App SDK
Learn how to use the free Bing Map App SDK as we walk you through the creation of a real-time transit application for bus routes in King County and show you how to submit apps to the Bing Map site.
Embedded Programming - Connected Devices Using the .NET Micro Framework
Learn how .NET Framework programmers can now easily develop apps for the increasing number of small devices that are becoming interconnected—while you build your very own bicycle computer!
Interoperability - Runtime Data Sharing Through an Enterprise Distributed Cache
Learn how an enterprise distributed cache can help .NET and Java apps share data at run time, providing high performance and scalability.
WCF Architecture - AppFabric Service Bus Discovery
Learn how to roll your own discovery mechanism as we walk you through a small framework the author wrote to support discovery over the service bus, bringing it on par with the built-in support for discovery in WCF.
Mobile Apps - Getting Started with Windows Phone Development Tools
Windows Phone 7 has shipped, and now it’s your turn to start developing apps for it. We’ll introduce you to the Windows Phone Developer Tools and walk you through the creation of a Windows Phone application that accesses a web service.
Editor's Note - A Few of My Favorite App Things
For Windows Phone 7, mobile apps will be one of the keys to its success. Keith Ward lists what he thinks are the four most important features a Windows Phone 7 app should have.
Cutting Edge - Action Filters in ASP.NET MVC
Here’s an in-depth exploration of a powerful feature of ASP.NET MVC controllers that can greatly help you in the building of aspect-oriented Web solutions.
Data Points - Entity Framework Preview: code first, ObjectSet and DbContext
With the code first feature in Entity Framework, there is no visual data model and no XML describing that model. You simply create the classes for your application domain and go. We’ll show you this and several other nifty new features in the latest EF CTP.
CLR Inside Out - New Features and Improved Performance in Silverlight 4
Silverlight 4 brings a number of important changes including new GC modes, improved startup performance, and new base class features that enable new offline scenarios. We’ll walk you through the details.
Forecast: Cloudy - Performance-Based Scaling in Microsoft Azure
One of the great features of cloud computing is the ability to scale up or down to serve the needs of the application owner. We’ll show you a technique for programmatically scaling your app in Azure based on application performance.
The Working Programmer - Multiparadigmatic .NET, Part 2
Finding the commonalities and variabilities within a system, and expressing them, forms the heart of design.
UI Frontiers - Multi-Touch Inertia
One of the ways in which a multi-touch interface attempts to mimic the real world is by introducing inertia. We’ll show you how easy this is to duplicate in your own WPF apps.
Don't Get Me Started - The Devs and the Designers Should Be Friends
Instead of being at odds, developers and designers should work together from the beginning. Better software will result.
Async Tasks - Simplify Asynchronous Programming with Tasks
Asynchronous programming lets you run expensive operations concurrently without blocking the UI thread. We’ll show you three simple techniques for implementing asynchronous operations in your code.
Concurrency - Throttling Concurrency in the CLR 4.0 ThreadPool
The trend toward manycore architectures and parallel apps has resulted in many changes to the CLR 4.0 ThreadPool. If you’re emphasizing concurrency in new apps or adding it to old ones, or making use of ASP.NET or Parallel Extension technologies, this is for you.
Async Agents - Actor-Based Programming with the Asynchronous Agents Library
The agent model provides an effective method of hiding latency for efficient parallel execution. The Asynchronous Agents Library (AAL) lets you use this actor-based model with message-passing interfaces, and we’ll show you how it works.
App Migration - Migrate Your ASP.NET 1.1 Apps to Visual Studio 2010
Protect against obsolescence, gain new capabilities and increase your marketability by getting on board with the .NET Framework 4. You can start right here by learning how to migrate older applications to the latest and greatest.
Data-Bound Design - Create a Silverlight 4 Web Part for SharePoint 2010
When building custom SharePoint 2010 solutions, it makes a lot of sense to take advantage of Silverlight 4 on the front end. We’ll walk you through the process of building a Silverlight Web Part with Visual Studio and Expression Blend.
SQL Server and MapPoint - Making MapPoint 2010 and SQL Server Spatial Work Together
While SQL Server is a good repository for geospatial data, it doesn’t communicate with MapPoint as well as it could. So our geo-data experts show you how to read point and polygon objects from SQL Server and render them in MapPoint and how to write points and polygons back to SQL Server using Entity Framework 4.0 included with Visual Studio 2010.
The Working Programmer - Multiparadigmatic .NET, Part 1
Software development isn’t all about object-oriented design; it’s about finding what works best, and incorporating it into your solution.
Editor's Note - U.S. Schools Not Getting It Done
Readers weigh in on the question of whether U.S. schools are preparing students for software development jobs.
Cutting Edge - Better Web Forms with the MVP Pattern
The Model-View-Presenter (MVP) pattern is an evolution of MVC. We take a look at implementing MVP for ASP.NET Web Forms and compare it to ASP.NET MVC and MVVM for Windows Presentation Foundation (WPF) and Silverlight.
Going Places - IronRuby on Windows Phone 7
IronRuby expert Shay Friedman goes mobile and shows you how to build a Windows Phone 7 app with Microsoft’s implementation of the popular Ruby dynamic language.
Test Run - Request-Response Testing Using IronPython
Beef up your testing toolset by learning how to perform HTTP request-response tests of your ASP.NET Web apps using IronPython, a .NET Framework-compliant implementation of Python.
Security Briefs - The MSF-Agile+SDL Process Template for TFS 2010
The MSF-Agile project template for Team Foundation Server makes it easy for your team to implement Agile techniques. The new MSF-Agile+SDL template adds Security Development Lifecycle requirements. We’ll show you how it works.
UI Frontiers - Touch and Response
Charles Petzold continues his exploration of multi-touch Manipulation events in the Windows Presentation Foundation and shows you how to design custom classes to decorate elements and provide visual feedback to users.
Don't Get Me Started - Weasel Words
Euphemisms are the refuge of cowards.
Federated Identity - Passive Authentication for ASP.NET with WIF
The goal of federated security is to provide a mechanism for establishing trust relationships between domains. Platform tools like Windows Identity Foundation (WIF) make it much easier to support this type of identity federation. We show you how.
Microsoft Azure - Tips for Migrating Your Applications to the Cloud
Microsoft Azure is already helping many companies move their apps into the cloud. We’ll share some of the tips and tricks that we discovered working with customers on real-world migrations.
In Sync - Creating Synchronization Providers with the Sync Framework
The Sync Framework can be used to build apps that synchronize data from any data store using any protocol over a network. We’ll show you how it works and get you started building a custom sync provider.
OData and AtomPub - Building an AtomPub Server Using WCF Data Services
Learn how to use the AtomPub protocol to pump up your blogs. Chris Sells includes a practical demonstration of mapping so you can expose a standard AtomPub service from a Web site and use Windows Live Writer to provide a rich editing experience against the service.
Speed SQL - Tuning Your Database Calls with Tier Interaction Profiling
Tier interaction profiling (TIP) is a feature of the Visual Studio profiling tools that measures the duration of synchronous calls to ADO.NET-compliant data stores. We’ll show you how TIP works and provide some best practices for using TIP to diagnose performance problems in your apps.
Smart Client - Building Distributed Apps with NHibernate and Rhino Service Bus, Part 2
Smart client applications are responsive and promote interactivity with the user. In this article, we continue building a smart client application using NHibernate for data access and Rhino Service Bus for reliable communication with the server.
Windows Phone 7 - Windows Phone and the Cloud--an Introduction
See how easy it is to create a Windows Phone 7 app and tie it to a Web service as Ramon Arjona walks you through the creation of a language translation tool.
Editor's Note - Does Your Program Smell Like Bacon?
When building your program, are you content with “good enough”? If so, your expectations are fatally low.
Cutting Edge - Don’t Worry, Be Lazy
Being lazy in software development can be a good thing, but until the Microsoft .NET Framework 4, coders had to implement lazy behavior themselves. Dino Esposito shows how to use the new Lazy class to maximize your resources.
Data Points - Deny Table Access to the Entity Framework Without Causing a Mutiny
Julie Lerman shows database administrators how to limit access to databases from the Entity Framework by allowing it to work only with views and stored procedures instead of tables—without impacting application code or alienating developers.
Test Run - Fault Injection Testing with TestApi
Fault injection testing is the process of deliberately inserting an error into an application to determine whether it deals with the error properly. We’ll explain how you can introduce faults into .NET applications at run time using the Managed Code Fault Injection APIs of the TestApi library
The Working Programmer - Inside SQLite
After tackling NoSQL, Ted Neward turns back to the relational world of SQL—SQLite, that is. Learn all about the lightweight, embedded database whose running footprint can be as small as one file installed in a client file system.
UI Frontiers - Multi-Touch Manipulation Events in WPF
Multi-touch has progressed from being a futuristic prop of sci-fi films to a mainstream means of user interface. We’ll show you how support for multi-touch in Windows 7 has filtered down and settled into various areas of the .NET Framework.
Don't Get Me Started - Mars and Venus
It’s a fact that men and women don’t think alike—remember this when designing software for the half of users that aren’t like you.
Office Add-Ins - 3 Solutions for Accessing SharePoint Data in Office 2010
SharePoint 2010 introduces a number of new ways to access business data and present it to the user. We’ll show you several options that range from no-code solutions to fully integrated Office add-ins.
SharePoint Security - Trim SharePoint Search Results for Better Security
SharePoint search may return too much information, causing data security problems. Learn how to use the custom security trimmer to ensure users see only the documents they have permission to view.
OneNote 2010 - Creating OneNote 2010 Extensions with the OneNote Object Model
Learn how to build applications and plug-ins that interoperate with data from OneNote 2007 and 2010 using the OneNote Object Model library freely available on CodePlex. Andy Gray demonstrates how easy it is to integrate information from OneNote notebooks, sections and pages into smart client and Web apps.
Office Services - Merging Word Documents on the Server Side with SharePoint 2010
Office 2010 and SharePoint 2010 include a new set of components called Application Services. These put a rich set of tools in a developer's bag for Office automation. We’ll show you how to use Office OpenXML, Word Automation Services and SharePoint to build a simple application that merges separate status reports into a single document.
Smart Client - Building Distributed Apps with NHibernate and Rhino Service Bus
Smart client applications are responsive and promote interactivity with the user. In this article, we start the processes of planning and building a smart client application using NHibernate for data access and Rhino Service Bus for reliable communication with the server.
C# 4.0 - New C# Features in the .NET Framework 4
The C# language has been improved over the years with numerous features that make common tasks involving generic types, legacy interop, and working with dynamic object models much simpler.
Design Patterns - Problems and Solutions with Model-View-ViewModel
The Model-View-ViewModel (MVVM) design pattern describes a popular approach for building Windows Presentation Foundation or Microsoft Silverlight applications. Robert McCarter shows you how the ViewModel works, and discuss some benefits and issues involved in implementing a ViewModel in your code.
Editor's Note - Over-Educated, Yet Under-Qualified?
Are we teaching computer science graduates the right things to prepare them for the world of real work? If not, how do we fix it?
Cutting Edge - Expando Objects in C# 4
The .NET Framework 4 introduces some new features that enable you to go beyond static types. We explore dynamically expando objects and demonstrate how they can be used like dynamically updatable dictionary objects.
Data Points - Microsoft Azure Table Storage – Not Your Father’s Database
Let go of your traditional relational database thinking if you want to understand how Azure Table storage works, says Julie Lerman. Luckily for you, she’s done the hard work to grasp the new concepts and help you get up to speed.
Security Briefs - View State Security
Effectively managing user state in web applications can be a tricky balancing act of performance, scalability, maintainability and security. The security consideration is especially evident when you’re managing user state stored on the client. Here's what you need to know about view state security.
The Working Programmer - Going NoSQL with MongoDB, Part 3
Wrapping up his examination of MongoDB, Ted Neward discusses predicate queries, aggregate functions and LINQ support, and provides some tips on hosting the NoSQL database in a production environment.
UI Frontiers - The Fluid UI in Silverlight 4
Charles Petzold shows how to extend the limited fluid UI capabilities of Silverlight 4 with new techniques so you too can dazzle users with those cool object entrances and transitions.
Don't Get Me Started - Rejectionists Rejected
Standards for Windows Presentation Foundation and Microsoft Silverlight aren’t the enemy; in fact, they should be your starting point.
Silverlight Online - Silverlight in an Occasionally Connected World
We discuss the latest incarnation of occasionally connected Silverlight applications, which come with a highly interactive user experience and can run either inside or outside of a browser.
AppFabric Cache - Real-World Usage and Integration
Windows Server AppFabric provides a distributed cache for both web and desktop applications. Well show you how to integrate AppFabric caching into your apps, along with some hints for taking advantage of new cache features in the .NET Framework 4.
SOA Tips - Address Scalability Bottlenecks with Distributed Caching
SOA makes application scalability easier, but getting the best performance out of your SOA means paying close attention to the details. We’ll give you some tips for coding your app more effectively and using distributed caching to remove data access bottlenecks.
Thread Performance - Resource Contention Concurrency Profiling in Visual Studio 2010
Visual Studio 2010 includes new resource contention profiling features that help detect concurrency contention among threads. We walk through a profiling investigation to demonstrate how you can pinpoint and fix resource contention problems in your code.
Cloud Diagnostics - Take Control of Logging and Tracing in Microsoft Azure
It’s difficult to troubleshoot any application without a trail of clues to follow, and cloud apps are no different. We look at how logging and tracing are enabled for Azure, and how you can use Windows PowerShell to manage diagnostics for a running service.
Express Yourself - Encoding Videos Using Microsoft Expression Encoder 3 SDK
Video on the Web involves huge amounts of data. Learn the best way to manage and move that data with the help of Microsoft Expression Encoder 3.
Input Validation - Enforcing Complex Business Data Rules with WPF
Windows Presentation Foundation has a rich data binding system that includes flexible support for business data validation. We take a look at implementing some complex data input validation scenarios that include customized data errors for users.
Practical OData - Building Rich Internet Apps with the Open Data Protocol
See how you can build Rich Internet Applications that take advantage of the OData protocol to creatively interact with Silverlight, PowerPivot, SQL Server, SharePoint, the Azure platform, “Dallas” and more.
Editor's Note - We're All Ears
Help us help you, by sending your feedback on various topics.
Cutting Edge - C# 4.0, the Dynamic Keyword and COM
Are you a Microsoft .NET Framework programmer who struggles with critical legacy applications using COM objects that are beyond your control? Dino Esposito shows how to lessen the burden by going dynamic.
CLR Inside Out - F# Fundamentals
F# is a new, functional and object-oriented programming language for the Microsoft .NET Framework. To help you get started using it, we take a look at some of the core concepts in the F# language and its implementation on top of the CLR.
Test Run - Generating Graphs with WPF
A common software-development task is generating a graph from a set of test-related data. But if you're doing it by hand and the underlying data changes frequently, this particular task can become quite tedious. James McCaffrey shows you how to automate the process using Windows Presentation Foundation technology.
Basic Instincts - Multi-Targeting Visual Basic Applications in Visual Studio 2010
Visual Studio 2010 lets you create applications that target versions of the Microsoft .NET Framework from 2.0 to 4, and each step in between. We take a look at how multi-targeting works in Visual Studio today, and explain how you should approach multi-targeting in your projects.
The Working Programmer - Going NoSQL with MongoDB, Part 2
Ted Neward continues his dissection of the alternative MongoDB database system, using exploration testing to investigate the underlying technology.
UI Frontiers - The Ins and Outs of ItemsControl
Charles Petzold performs more UI magic by implementing a variation of the drag-and-drop that presents users with a natural, fluid look and feel.
Don't Get Me Started - Chainsaw Development
It’s time to standardize the UI for Windows Presentation Foundation.
Now Playing - Building Custom Players with the Silverlight Media Framework
The Silverlight Media Framework is an extensible and scalable video framework upon which you can create your own player experiences. We’ll walk you through a custom player project that displays suggested videos for further viewing after the current video ends.
Silverlight Security - Securing Your Silverlight Applications
Josh Twist explains the unique challenges developers face in securing Silverlight applications. He shows where to focus your efforts, concentrating on the key aspects of authentication and authorization.
RIA Services - Enterprise Patterns with WCF RIA Services
Learn how to leverage WCF RIA Services in your Silverlight applications. Michael D. Brown uses an extensive point-of-sale program to illustrate how to meet the needs of the simplest to the most complex business apps with various enterprise design patterns.
Workflow Services - Visual Design of Workflows with WCF and WF 4
The .NET Framework 4 makes it easier than ever to implement WCF services using WF. We’ll demonstrate just how easy it is by modeling a long-running, durable and instrumented workflow based on a real-world business case without having to write any code.
Editor's Note - This Way-Cool 'Internet' Doohickey
It wasn’t all that long ago that surfing meant grabbing a board and hanging 10.
Cutting Edge - Using the Dynamic Keyword in C# 4.0
C# 4 provide a new dynamic keyword that enables dynamic typing in what has traditionally been a strongly typed language. We explain how the dynamic keyword works and what it offers that casting, var, and System.Object cant’ match.
CLR Inside Out - Production Diagnostics Improvements in CLR 4
The Common Language Runtime (CLR) 4 includes new APIs that expand diagnostic support toward the production end of the spectrum. We explain how the debugging APIs support dump debugging for application crash and hang scenarios and make it easier to detect when hangs are caused by multi-threading issues.
Data Points - LINQ Projection Queries and Alternatives in WCF Services
LINQ's ability to project randomly shaped data into anonymous types can be a blessing and a source of frustration, says Julie Lerman. It’s great when you just need to grab a special view of your data, but it can be problematic in certain circumstances. She explains what the limitations are and how to get around them.
Test Run - Combinations and Permutations with F#
Understanding combinations and permutations is a fundamental skill in software testing. We show you how to work with combinations and permutations using code written in the new F# language.
Foundations - Service Bus Buffers
Learn some advanced Windows Communication Foundation programming techniques as Juval Lowy begins an in-depth examination of the Azure AppFabric service bus, focusing first on buffers.
Security Briefs - Regular Expression Denial of Service Attacks and Defenses
Microsoft security expert Bryan Sullivan believes denial-of-service blackmail attacks will become more common as privilege escalation attacks become more difficult to execute. He demonstrates how to protect your apps against regular expression DoS threats.
The Working Programmer - Going NoSQL with MongoDB
MongoDB is one of the principal tools of the NoSQL movement, which offers alternatives to the traditional relational database system. Learn its strengths and weaknesses as Ted Neward examines the document-based database in detail in the first of a series of columns.
UI Frontiers - Thinking Outside the Grid
In Windows Presentation Foundation and Silverlight, using a Canvas or a single-cell Grid seems very similar. The difference is in how the container appears to the rest of the layout system. Canvas doesn’t participate in layout, so you can use it whenever you need to transcend layout.
Don't Get Me Started - Fundamental Laws
Programmers will never develop great software until they learn that it’s not about themselves.
Better Coding - Better Coding with Visual Studio 2010
From functional IDE improvements to better support for parallel programming, Visual Studio 2010 comes with a host of new features to help meet the needs of today’s demanding, ever-changing development environment. Doug Turnure provides an overview of the more important ones and practical advice on how to use them.
Visual Basic - What’s New in Visual Basic 2010
Learn about what’s new in Visual Basic 10 straight from a program manager on Microsoft’s Visual Basic team. Jonathan Aneja demonstrates time-saving features that help developers get more done with fewer lines of code.
IntelliTrace - Debugging Applications with IntelliTrace
Justin Marks shows how to use the IntelliTrace feature coming with Visual Studio 2010 Ultimate, which gives developers powerful new debugging tools to "turn up the dial" and collect the complete execution history of an application, get deeper levels of information and quickly find bugs.
F# Basics - An Introduction to Functional Programming for .NET Developers
F# has clean syntax, powerful multi-threading capabilities, and fluid interoperability with other Microsoft .NET Framework languages. We’ll give you an introduction to functional programming concepts and how they're implemented in F#.
Visual C++ - Exploring New C++ and MFC Features Visual Studio 2010
Visual Studio 2010 offers huge benefits for C++ developers, from new C++0x features to MSBuild integration to a revived MFC Application Wizard. Join us for a tour of these new Visual C++ features.
Microsoft Azure - Developing and Deploying Cloud Apps in Visual Studio 2010
You’ll find direct support for building Azure applications in Visual Studio 2010 and Visual Web Developer 2010 Express. We’ll walk you through using Visual Studio 2010 for the entirety of the Azure application development lifecycle.
VS 2010 - Entity Framework 4.0 and WCF Data Services 4.0 in Visual Studio 2010
Elisa Flasko takes you through a sample weblog application to demonstrate how new improvements in Entity Framework and WCF Data Services work together to simplify the way data is modeled, consumed and produced in Visual Studio 2010.
Usability in Practice - The Decade of Convergence
As devices converge, user experience design needs to change, too.
Editor's Note - Scott Guthrie on Visual Studio 2010
The man most responsible for Visual Studio 2010 discusses what developers have to look forward to.
Cutting Edge - Revisiting Asynchronous ASP.NET Pages
If you need to scale up an existing Web application, you should first look to asynchronous operations, says Dino Esposito. He explains how new features coming in ASP.NET MVC 2 make this easier.
UI Frontiers - Projection Transforms Sans Math
See how to taper text, flip panels, animate a calendar and more--without resorting to complicated math--as Charles Petzold delves into new “pseudo 3D” capabilitie in Silverlight 3, made possible by the new Projection UIElement property.
Don't Get Me Started - In Praise of Dumbing Down
Making things easier for the end user isn't "dumbing down" -- it's smart design.
IIS Smooth Streaming - Enhancing Silverlight Video Experiences with Contextual Data
Adaptive streaming addresses the problem of smooth content delivery and decoding. We walk you through the basics of IIS Smooth Streaming and demonstrate how you can manipulate audio, video and caption data in your own Silverlight projects.
Finger Style - Exploring Multi-Touch Support in Silverlight
Touch isn't just a form of mouse input in Silverlight: Sometimes what's required are controls specialized and optimized for touch.
Thread Diagnostics - Performance Tuning with The Concurrency Visualizer in Visual Studio 2010
Understanding performance bottlenecks in multithreaded apps used to require significant instrumentation and analysis by expert developers. The Concurrency Visualizer in Visual Studio 2010 significantly reduces the burden of parallel performance analysis.
Test Run - Testing Silverlight Apps Using Messages
Silverlight greatly simplifies the process of building rich Web applications, and we’ll walk through an example of using Messages as a quick method of interactively testing simple Silverlight apps.
Editor's Note - Coming Out the Other Side
The worst is over for technology job-seekers, says executive.
Cutting Edge - ASP.NET Ajax Library and WCF Data Services
This month Dino takes a look at the JavaScript components coming in the ASP.NET Ajax Library and explains how they can be used for effective client-side data access.
CLR Inside Out - Migrating an APTCA Assembly to the .NET Framework 4
The CLR security model in the Microsoft .NET Framework 4 has undergone some substantial changes, including the adoption of ”Level2” transparency, similar to the Silverlight security model. Mike Rousos provides an in-depth explanation of how that will likely impact authors of AllowPartiallyTrustedCallers (APTCA) libraries.
Data Points - Precompiling LINQ Queries
Did you know that by precompiling LINQ queries you might actually be degrading your app’s performance if you’re not careful? Julie Lerman explains how to ensure you’re not re-precompiling queries each time and losing the expected performance benefits across post-backs, short-lived service operations and other code where critical instances are going out of scope.
UI Frontiers - MIDI Music in WPF Applications
Every PC contains a built-in 16-piece band ready to play some music. Charles shows you how MIDI support in the NAudio sound library lets you play tunes in your .NET apps.
Basic Instincts - Generic Co- and Contravariance in Visual Basic 2010
Dig into the new co- and contravariance features coming in Visual Studio 2010. Binyam Kelile provides hands-on Visual Basic examples to explain how they provide more flexibility when working with generic interfaces and delegates.
Extreme ASP.NET - Model Validation & Metadata in ASP.NET MVC 2
Scott Allen shows how to improve your user input validation with new features coming out in ASP.NET MVC 2 that easily allow validation on both the client and server.
Security Briefs - Add a Security Bug Bar to Microsoft Team Foundation Server 2010
Take a peek inside Microsoft’s strict development security structure as Bryan Sullivan describes the objective security bug classification system─the “bug bar”─used by internal product and online services teams. He will show you how to incorporate this classification system into your own development environment using Microsoft Team Foundation Server 2010.
Don't Get Me Started - Edge Cases
Developers should focus their time and effort on the 99 normal use cases, rather than the one unusual use case that often gets way too much attention.
Managed Extensibility Framework - Building Composable Apps in .NET 4 with the Managed Extensibility Framework
Glenn Block explains how the Managed Extensibility Framework, a new library coming in .NET Framework 4.0, tackles the longstanding issue of building applications and components that can be reused and extended by others. Learn how to build appsthat can use new functionality introduced by developers, framework authors and third-party extenders.
Robotics - Writing and Testing VPL Services for Serial Communication
VPL, part of Robotics Developer Studio is intended for novice programmers, but is also useful for testing and prototyping. We write a simple serial port service that allows you to send and receive data.
Dynamic .NET - Creating Interactive Bing Maps with Silverlight and IronRuby
Silverlight provides support for dynamic languages such as IronRuby and IronPython. We’ll walk you through the creation of a custom Silverlight control using Bing Maps and IronRuby.
Cloud Computing - Microsoft Azure Platform for Enterprises
Learn all about Microsoft’s Azure platform at the architectural level and how it addresses enterprise cloud computing concerns including economics, security, storage and more. Included are an Azure pricing table and a sample cost calculator.
Beyond MVP - Extending the MVP Pattern to Simplify UI Architecture
MVP has become a dominant pattern for UI design, but there are many interpretations of how to implement MVP. We take a look at some MVP-extending pattern and pull them into a holistic view of UI architecture.
Editor's Note - Not Your Father's MSDN
Changes are coming to MSDN Magazine. They begin this month, with the unveiling of a number of new, monthly columns.
Cutting Edge - Predictive Fetch with jQuery and the ASP.NET Ajax Library
Dino Esposito builds upon his exploration of new data binding features coming in the ASP.NET Ajax Library, explaining how to implement the predictive fetch design pattern.
Going Places - Gesture Magic
Windows Mobile 6.5 is the first version of the OS to expose gesture support to developers. Marcus Perryman explains how five touch screen gestures are handled, detailing message routing, the physics engine and some handy tips and tricks.
CLR Inside Out - Formatting and Parsing Time Intervals in the .NET Framework 4
Learn about enhanced TimeSpan formatting and parsing features coming in the .NET Framework 4, and some helpful tips for working with TimeSpan values.
UI Frontiers - Sound Generation in WPF Applications
A good case could be made that computers should not make noise except in response to a specific user command. We’re going to ignore that and show you how to play custom sounds in a WPF application.
Security Briefs - Security Compliance as an Engineering Discipline
Many companies starting out with the SDL are doing so in combination with a security compliance program. We’ll show you some best practices and pitfall we’ve seen when employing SDL principles for compliance.
Test Run - WCF Service Testing with Sockets
There are many ways to test WCF services, but the socket-based approach is flexible and very useful for security and performance testing. We show you show you how to test a WCF service using a network socket based approach.
Don't Get Me Started - The Human Touch
People aren't computers; keep this in mind when developing software. When developers confuse people and computers, bad things happen.
Cloud Patterns - Designing and Deploying Services for Microsoft Azure
To better understand how SOA patterns can be applied to Azure deployments, we walk you through a scenario in which a bank moves its services to the cloud.
Cloud Storage - Fueling Your Application's Engine with Microsoft Azure Storage
Yes, you can run background processes in the cloud. Kevin Hoffman and Nate Dudek use a shopping cart example to demonstrate how to build an application engine as well as implement asynchronous messaging and processing using Azure Storage.
Cloud Security - Crypto Services and Data Security in Microsoft Azure
Many early adopters cloud platforms have questions about security. We review some of the cryptography services and providers in Azure along with some security implications for applications in the cloud.
Code Cleanup - 9 Useful Tactics for Paying Back Technical Debt
Now that you’ve identified technical debt in your code base, let’s turn our attention to some specific tactics that will help you pay back that debt.
Editor's Note - Two Guys in the Cloud
Microsoft made a big Azure splash at its Professional Developer's Conference last fall. An overheard conversation gives insight on how developers see the potential of the cloud.
Toolbox - UI Mockups, User Experience Tips, JavaScript Checker and More
Scott Mitchell reviews a user interface mockup tool, a blog for user experience tips, a JavaScript code checker and a book that expertly explains the ins and outs SQL Server Reporting Services.
Cutting Edge - Master-Detail Views with the ASP.NET Ajax Library
When you think of data-driven Web pages, most of the time what you really have in mind is a master-detail view of some cross-related data. Dino builds an example with ASP.NET AJAX 4 and jQuery.
Patterns in Practice - Internal Domain Specific Languages
Jeremy Miller explains how internal Domain Specific Languages can help you craft code that is easier to read and write. His bag of tricks to improve your programming includes extension methods, fluent interfaces, object extensions and use of the semantic model.
Extreme ASP.NET - Text Template Transformation Toolkit and ASP.NET MVC
The Visual Studio T4 code generation engine lets you parse an input file and transform it into an output file. We give you a basic introduction to T4 templates and show you how ASP.NET MVC uses this technology.
The Polyglot Programmer - ACID Transactions with STM.NET
STM.NET allows developers to mark their code with ACID-style transactional semantics, and leaves the grunt work of managing locks to the underlying environment.
Extreme UI - Line Charts with Data Templates
Charles Petzold continues his investigation into robust XAML coding made possible by Windows Presentation Foundation, this time tackling the complicated process of creating line charts.
Foundations - Discover a New WCF with Discovery
Juval Lowy explains how the industry-standard discovery solution enables clients to discover available addresses for WCF calls at runtime, and he provides tools and helper classes to simplify the process.
Test Run - Web Application HTTP Request-Response Test Automation with JavaScript
Write a simple browser-based request-response test automation using JavaScript that’s platform independent and useful when you are working in a highly dynamic environment.
Generation Test - Automated Unit Tests for Legacy Code with Pex
Creating and maintaining a unit test suite for legacy code can be a challenge. Pex automatically produces a small test suite with high code and assertion coverage.
Code Cleanup - Using Agile Techniques to Pay Back Technical Debt
Every codebase contains some measure of technical debt – code that is maddeningly hard to test and maintain. We outline some ideas for identifying and dealing with the high-interest debt in your code.
Data Access - Building a Desktop To-Do Application with NHibernate
Building an NHibernate-based desktop application isn’t any harder than building a web application, and in many cases NHibernate simplifies elements of session handling and concurrency.
Team System - Building a Visual Studio Team Explorer Extension
There’s no magic behind how the TFS Power Tools were integrated with Team Explorer, and we’ll show you how to expose your own custom features inside the Team Explorer window.
SharePoint 2010 and BCS - Using Business Connectivity Services in SharePoint 2010
Kirk Evans shows how to take advantage of SharePoint 2010 Business Connectivity Services (BCS) to develop solutions with deep integration of external data and services. BCS builds upon its BDC predecessor in the key areas of presentation, connectivity, tooling and lifecycle management.
Editor's Note - Shaping a New Era in MSDN Magazine

Toolbox - Database and OR/M Tools, Oren Eini and Custom Visual Studio Tabs
This month we look at tools for enhancing the LINQ to SQL and Entity Framework designers, Oren Eini’s .NET development blog, Visual Studio tab customization, and more.
CLR Inside Out - In-Process Side-by-Side
The new .NET Framework 4.0 maintains backward compatibility while allowing core innovations by using a new feature called In-Process Side-by-Side. Learn about how it works and some problems it didn’t solve.
Cutting Edge - Live Data Binding in ASP.NET AJAX 4.0
Dino Esposito discusses various forms of client-side data binding as they are coming out in ASP.NET AJAX 4.0, focusing on some advanced features of data binding and observable objects.
Test Run - Pairwise Testing with QICT
In this month's column, James McCaffrey explains exactly what pairwise testing is and provides you with complete C# source code for a production quality pairwise testing tool named QICT.
Extreme ASP.NET - Looking Ahead to ASP.NET 4.0
When Visual Studio 2010 and.NET 4 arrive next year, ASP.NET developers will have two mature frameworks for building Web applications: ASP.NET Web Forms and ASP.NET MVC. This article highlights some of the important new features for these two frameworks.
Windows with C++ - Layered Windows with Direct2D
Layered windows provide the unique ability to compose a window on the desktop using per-pixel alpha blending. We take a look at how you can implement this drawing technique in Direct2D.
Going Places - Enhancing Windows Touch Applications for Mobile Users
This article describes how to use the Windows Touch API and related APIs to enhance mobile application. The discussion focuses on general usability, object selection and implementing a natural user interface.
Concurrent Affairs - Data-Parallel Patterns and PLINQ
Multicore processors are now ubiquitous on mainstream desktop computers, but applications that use their full potential are still difficult to write. Version 4 of the .NET Framework will deliver several tools that programmers can employ to make this task easier. This article explores the use of one of those tools: Parallel LINQ (PLINQ).
Usability in Practice - More Than Skin Deep
While style and slick visuals are important in Web site design, they shouldn’t detract from a site’s usability and functionality. Here are some hands-on tips for look and feel, readability, discovery of affordances, and more, with plenty of examples of good and bad design.
Claims-Based Apps - Claims-Based Authorization with WIF
Over the past few years, federated security models and claims-based access control have become increasingly popular.Platform tools in this area have also come a long way. Windows Identity Foundation (WIF) is a rich identity model framework designed for building claims-based applications and services and for supporting active and passive federated security scenarios.
AD FS 2.0 in Identity Solutions - Using Active Directory Federation Services 2.0 in Identity Solutions
This article explains how you can use Active Directory Federation Services (AD FS) 2.0 to claims-enable Windows Communication Foundation (WCF) services and browser-based applications. The focus is on the token issuance functionality in AD FS 2.0. You’ll find out how to use AD FS 2.0 as an identity provider; set up an AD FS 2.0 security token service (STS) to interact with WCF; federate AD FS 2.0 with your custom STS or another AD FS 2.0; enable Web single sign-on and federation with WS-Federation and SAML 2.0 protocols; and externalize authentication logic through Visual Studio. You’ll come away appreciating how AD FS 2.0 and Windows Identity Foundation make programming identity solutions in Windows less of a chore.
Digital Signatures - Application Guidelines on Digital Signature Practices for Common Criteria Security
This article is an overview of digital signature practices and user considerations necessary to write applications in compliance with ISO/IEC 15408 Common Criteria security. Signing categories are described, including those that are a potential risk to the implied trust association that goes with a digital signature.
N-Tier Apps and the Entity Framework - Building N-Tier Apps with EF4
This article is the third in a series about n-tier programming with the Entity Framework, specifically about building custom Web services with the Entity Framework and WCF. This article looks at features coming in the second release of the Entity Framework (EF4) and how you use them to implement the Self-Tracking Entities and Data Transfer Objects (DTOs) n-tier patterns.
Workflow Essentials - Collaborative Workflow Improvements in SharePoint 2010
In this article, the author covers the new features in SharePoint 2010 geared for workflow developers and then walks the reader through a couple of new user scenarios.
SharePoint's Sandbox - Developing, Deploying and Monitoring Sandboxed Solutions in SharePoint 2010
The challenge in SharePoint development has always been the balance between creating and deploying solutions that you can trust not to damage or impair a SharePoint farm. A new feature in SharePoint 2010, called Sandboxed Solutions, enables farm administrators to feel comfortable that the SharePoint farm is safe, gives site collection administrators the authority to manage applications in their site collection, and provides developers with the flexibility to create solutions they know will be deployed in a safe and rapid manner.
Editor's Note - Beginnings and Endings
Howard Dierking talks about the recent changes and updates to the MSDN Web sites and the MSDN Subscriptions program.
Toolbox - Database Documentation, API for Pre- and Post-Conditions, Blogs and More
In this month's column,Scott explores one-click database documentation, covers an API for pre- and post-conditions, takes a look at an interesting blog, and reviews the latest book about the ASP.NET MVC Framework.
CLR Inside Out - Exploring the .NET Framework 4 Security Model
The .NET Framework 4 introduces many updates to the .NET security model that make it much easier to host, secure and provide services to partially trusted code. This article dives into the many features and benefits of the .NET security model.
Cutting Edge - Conditional Rendering in ASP.NET AJAX 4.0
Last month, Dino covered the basics of the new DataView client control and the binding techniques most commonly used. In this article, he goes one step further and covers conditional template rendering.
Security Briefs - XML Denial of Service Attacks and Defenses
This article reviews what makes XML vulnerable to denial of service attacks and how to mitigate these attacks.
Under the Table - Visualizing Spatial Data
In this article, the author shows you three new arrivals on the SQL Server spatial visualization scene: the map control in SQL Server 2008 R2 Reporting Services (SSRS), the ESRI MapIt product, and the MapPoint Add-In for SQL Server 2008.
Foundations - Workflow Services for Local Communication
This month’s column describes how to use WCF for communication between a workflow and a host application in Windows Workflow Foundation 3. This knowledge should help developers with theirefforts using WF3 and prepare them for WF4, where WCF is the only abstraction over queues (referred to as “bookmarks" in WF4) that ships with the framework.
Windows with C++ - Windows Web Services
With the introduction of the Windows Web Services (WWS) API, C++ developers no longer have to think of themselves as second-class citizens in the world of Web Services. In this article, the author explores the features and benefits that the WWS API has to offer.
Usability in Practice - Search Is Key to Findability
In this column, Ambrose Little and Charlie Kreitzberg discuss best practices, design patterns, and other considerations related to implementing a search feature.
Inside Microsoft patterns & practices - Dependency Injection in Libraries
This article discusses how to write a library or framework that uses the Dependency Injection pattern and how the change in focus affects the usage of the pattern.
First Look - Visual Studio 2010 Tools for SharePoint Development
This article provides a first look at tools in Visual Studio 2010 designed to support development and deployment of SharePoint 2010 solutions. The article provides an example of designing and deploying a visual Web part.
SharePoint and Open XML - Generating Documents from SharePoint Using Open XML Content Controls
This article describes how to generate documents that contain data stored in SharePoint lists. The example demonstrates how OpenXML content controls can be defined to capture list data in a Word document and how LINQ to XML can be used to query the lists. The documents are generated from a SharePoint Web Part.
Event Tracing For Windows - Core Instrumentation Events in Windows 7, Part 2
In Part 2, the authors cover core OS Event Tracing for Windows (ETW) events as well as present simple scripts to demonstrate a few basic accounting techniques on some of the OS events introduced.
Contract-First Web Services - Schema-based Development with Windows Communication Foundation
Schema- first contract-first modeling of Web Services gives you the ability to model your contracts with an XML-centric mindset. This process keeps you focused on universally acceptable types and the hierarchical data structures that can be represented in XML.
Editor's Note - The Capability-Delivery Business
This month’s issue of MSDN Magazine takes a look at some of the new features and tools in Visual Studio 2010 and Microsoft .NET Framework 4 that will continue improving the experience of creating business applications that run on the Microsoft Office platform. This is an area of software development that holds tremendous potential in terms of solving the right problems—those being the business problems. To get to the next step of really transforming the manner in which business is conducted, highly domain-specific functionality must be developed below the metaphorical surface—and thus can only be meaningfully implemented by you.
Toolbox - User Interfaces, Podcasts, Object-Relational Mappings and More
This column covers common user interface groupings, configuring NHibernate using C#, and a look at interesting books and podcasts.
CLR Inside Out - Profiling the .NET Garbage-Collected Heap
In this article, the authors complete the picture for Garbage Collected (GC) heap related memory issues by providing step-by-step instructions on using the CLR Profiler for .NET GC heap memory investigations.
Basic Instincts - Collection and Array Initializers In Visual Basic 2010
Collection Initializers are a great addition to the language and allows concise syntax in order to initialize both framework and user defined collection types.
Data Points - Data Validation with Silverlight 3 and the DataForm
In this month’s column, John Papa shows you how the DataForm control works and how it can be customized.  He presents in detail a sample application that uses several features to bind, navigate, edit and validate data using the DataForm.
Cutting Edge - Data Binding in ASP.NET AJAX 4.0
In this article, Dino reviews the pillars of real-world AJAX development as supported in ASP.NET AJAX 4.0. In doing so, he mostly focuses on client-side templates and data-binding but doesn’t ignore other goodies, such as ADO.NET Data Services proxy classes and programming facilities.
Patterns in Practice - Functional Programming for Everyday .NET Developers
This article examines how the new support for functional programming techniques in .NET 3.5 can developers make code more declarative, reduce errors in code, and write fewer lines of code for many common tasks.
Team System - Customizing Work Items
Team Foundation Server’s work iIem tracking system provides a number of advanced customization options.This article explores custom control support that lets you link to date, enhance the user experience, present data, and more.
Test Run - Partial Anitrandom String Testing
This column presents an approach to Antirandom (AR) testing the author calls partial AR string testing, which can be used to test a wide range of software systems.
Service Station - Building RESTful Clients
This column how to build clients applications based on the REST architecture using HTTP AP1s. The article describes how to address the question of autogenerated types and code.
Foundations - Routers in the Service Bus
This article describes aspects of using routers with the .NET service bus, especially their use ina message-based architecture.
Concurrent Affairs - Four Ways to Use the Concurrency Runtime in Your C++ Projects
This article describes how to integrate the new parallel computing libraries in the Visual Studio 2010 Beta into existing C++ projects. Based on four common scenarios, the column explains a few of the ways developers can use the APIs and classes that are part of the Parallel Pattern Library (PPL), Asynchronous Agents Library, and Concurrency Runtime.
Usability in Practice - Getting Inside Your Users’ Heads
This article explores techniques developers can use to gather information about and incorporate their users' mental models in their software designs.
Windows Mobile and Accelerometers - Shake and Skip to Interact with Your Music
This article describes an approach to using accelerometers with Windows Mobile to control Windows Media Player Mobile.
Synchronization Coverage - Code Coverage for Concurrency
As more and more multi-threaded software applications get developed, software development professionals need to adopt new tools, techniques and metrics that can deal with multi-threaded software. Synchronization coverage is a simple, practical way to do this and this article covers a prototype synchronization coverage tool for .NET, called Sync Cover.
Parallel Debugging - Debugging Task-Based Parallel Applications in Visual Studio 2010
In Visual C++ 10 and the Microsoft .NET Framework 4, Microsoft is introducing new libraries and runtimes to significantly ease the process of expressing parallelism in your code base, together with new tool support for performance analysis and debugging of parallel applications. In this article, you will learn about debugging support in Visual Studio 2010, much of which is focused on task-based programming models.
Event Tracing for Windows - Core Instrumentation Events in Windows 7
In the first article of a two-part series, the authors present a high-level overview of the ETW technology and core OS instrumentation.
Message Orientation - Decouple Applications with SQL Server Service Broker

Editor's Note - Find Your Anchors
This month, Howard Dierking explores the value of maintaining a few discrete technology interests in order to avoid being swept away in a sea of buzzwords and new technologies.
Toolbox - Distributed Caching, Object-Object Mapping, Blogs and More
This column covers Web application performance with distributed caching, a utility for object-object mapping, and a look at interesting blogs.
CLR Inside Out - What’s New in the .NET Framework 4 Base Class Library
Just about everyone who uses Microsoft .NET uses the Base Class Libraries (BCL).When we make the BCL better, almost every managed developer benefits. This column will focus on the new additions to the BCL in .NET 4 beta 1.
Cutting Edge - Exploring ASP.NET 4.0—Web Forms and Beyond
The upcoming ASP.NET 4.0 platform has the same foundation as the latest 3.5 SP1 version, but it provides further refinement in the areas of Web Forms, Dynamic Data controls, and ASP.NET AJAX. In this article, Dino takes a look at what’s new and improved in the Web Forms model.
The Polyglot Programmer - Concurrency with Channels, Domains and Messages
Axum is not a general-purpose language like C# or VB, but one aimed squarely at the problem of concurrency, designed from the outset to be part of a suite of languages that collectively cooperate to solve a business problem.
Security Briefs - A Follow-on Conversation about Threat Modeling
This article explores the use of threat modeling to address security concerns in your applications.
Extreme ASP.NET - Search Engine Optimization with ASP.NET 4.0, Visual Studio 2010 and IIS7
In this article, the author takes a look at SEO practices that the reader can apply when using the latest Microsoft Web technologies.
Foundations - Charting with DataTemplates
For WPF programmers, one major revelation about the power of the DataTemplate comes with a demonstration of how XAML can turn business objects into bar charts. This column explores how to use DataTemplates to create different types of charts.
Windows With C++ - Drawing with Direct2D
In this article, the author shows you how to draw with Direct2D by introducing Direct2D’s color structure and its various types of brushes.
Going Places - An Introduction to IPsec VPNs on Mobile Phones
Many commercial phone models, including Windows phones, come with a VPN client. This article covers some of the basics of the technology behind IKEv2 and MOBIKE and how to use them to create and manage a VPN for a mobile phone.
Usability in Practice - The Tao of Screen Design
This article describes methods for designing screens in a user interface and the technology frameworks that support screen design.
.NET Visualization - Visualizing Information with .NET
Having the capability to draw pictures usually isn’t enough for a good information visualization platform. The key to building a visualization platform is capabilities such as interactivity, generating metadata, and overlaying related data. You need a level of flexibility that lets you render any data in any way at any time.
Entity Framework - N-Tier Application Patterns
This article examines n-tier patterns for success and some of the key APIs and issues specific to the Entity Framework. It also provides a sneak peak at features coming in the Microsoft .NET Framework 4 that should make n-tier development significantly easier.
Domain Models - Employing the Domain Model Pattern
In this article, we’ll go through the reasons to (and not to) employ the domain model pattern, the benefits it brings, as well as provide some practical tips on keeping the overall solution as simple as possible.
EF Data Access - EF v2 and Data Access Architecture Best Practices
Developers deploy a wide variety of development philosophies and architecture styles. This article explores three common perspectives on application development and describes how the Entity Framework can be employed in each. Specifically, the article looks at the forms-centric, model-centric, and code-centric development styles and their relationship to the Entity Framework.
SQL Data Services - The Relational Database of the Azure Services Platform
This article shows you the new face of SQL Data Services, explores its architecture, and shows how it is truly an extension of SQL Server in the cloud.
Inside Windows 7 - MultiTouch Capabilities in Windows 7
This is Part 3 of a multipart article series on Windows 7. Part 3 covers the Windows 7 multitouch capabilities.
Editor's Note - Editor's Note

Toolbox - Data Snapshots, Subversion, Source Code Organization and More
If you want to save, organize, and annotate snapshots of your database data, find an easy way to install and configure Subversion, and automate the organization of your source code, then you'll want to read more about these latest tools.
CLR Inside Out - Code Contracts
This article will share some of the best practices that the Base Class Libraries (BCL) team devised as they added the code contract libraries and started to take advantage of them in their own code.
Data Points - Data Performance and Fault Strategies in Silverlight 3
In this month’s column, the author shows how binary encoding works, the effect it has on an application’s performance, and how it behaves by demonstrating it in action.
Cutting Edge - Pros and Cons of Data Transfer Objects
After a brief refresher on procedural and object based patterns for organizing the business logic layer, the author focuses on data transfer objects and the impact they have on the development of the software project.
Patterns in Practice - Incremental Delivery Through Continuous Design
The end goal of software projects is to deliver value to the customer. Software design is a major factor in how successfully a team can deliver that value.The best designs are a product of continuous design rather than the result of an effort that tries to get the entire design right up front. This approach lets youstrive to apply lessons learned from the project to continuously improve the design, instead of becoming locked into an erroneous design developed too early in the project.
Security Briefs - Cryptographic Agility
Even if you use only the most secure algorithms and the longest key lengths, there’s no guarantee that the code you write today will remain secure. A better alternative is to plan for agility from the beginning. Rather than hard-coding specific cryptographic algorithms into your code, use one of the crypto-agility features built into the Microsoft .NET Framework. This article shows you how.
Under the Table - How Data Access Code Affects Database Performance
In this article, the author delves into some commonly used ways of writing data access code and looks at the effect they can have on performance.
Foundations - Windows Workflow Design Patterns
Design patterns provide a common, repeatable approach to solving software development tasks, and many different patterns can describe how to accomplish a certain goal in code. When developers begin working with Windows Workflow Foundation (WF), they often ask about how to accomplish common tasks with the technology. This month's column discusses several design patterns used in WF.
.NET Matters - Aggregating Exceptions
Exceptions in .NET are the fundamental mechanism by which errors and other exceptional conditions are communicated. This month’s column provides information about how to aggregate exceptions to help manage a variety of scenarios in which multiple exceptions might result from one operation, including scenarios involving parallelism and concurrency.
Inside Microsoft patterns & practices - Building WPF and Silverlight Applications with a Single Code Base Using Prism
This article discusses the Project Linker tool and other techniques to create applications that target both WPF and Silverlight from a single code base.
Silverlight - Composite Web Apps With Prism
This article reviews the Prism project developed by the Microsoft patterns & practices group and demonstrates how to apply it to composite Web applications using Silverlight.
RESTful XHTML - RESTful Services With ASP.NET MVC
This article describes how to use XHTML and ASP.NET MVC to implement REST services.
Scale Out - Distributed Caching On The Path To Scalability
Developers frequently face issues related to scalability bottlenecks when they have applications that need to handle a lot of load. This article describes the role of a distributed cache in building scalable applications.
Inside Windows 7 - Introducing The Taskbar APIs
This is Part 2 of a multipart article series on Windows 7. The focus of Part 2 is the Windows 7 taskbar.
Testable MVC - Building Testable ASP.NET MVC Applications

Editor's Note - Viva la Evolution!

Toolbox - Static Analysis Database Tools, Managing Remote Computers, And More
If you want to apply static analysis to your databases, connect to remote computers, find out more about the Entity Framework, or just check into some cool podcasts for your daily commute, then you'll want to read more about these latest tools and resources.
Usability in Practice - Usability Testing
This month's column describes the benefits and methodologies of usability testing.
CLR Inside Out - Building Tuple
In this column, the author lays out some guiding principles that you should follow when working with the ASP.NET MVC framework.
Basic Instincts - Stay Error Free With Error Corrections
Error corrections are an essential part of the Visual Basic coding experience. This article explores the many error correction features offered by Visual Basic and provides a glimpse at the future release of Visual Studio 2010.
Cutting Edge - Comparing Web Forms And ASP.NET MVC
In this month's column, we’ll explore the pros and cons of both ASP.NET Web Forms and ASP.NET MVC.
Test Run - Request-Response Testing With F#
This month we show you how to use F# to perform HTTP request-response testing for ASP.NET Web applications.
Service Station - More On REST
This month's column answers frequently asked questions about implementing REST.
Extreme ASP.NET - Guiding Principles For Your ASP.NET MVC Applications
In this column, the author lays out some guiding principles that you should follow when working with the ASP.NET MVC framework.
Wicked Code - Taking Silverlight Deep Zoom To The Next Level
With the help of Silverlight Deep Zoom and a remarkable control named MultiScaleImage, you can create scenes with many levels of zoom. Jeff Prosise illustrates with what else but the Mandlebrot set.
Foundations - Securing The .NET Service Bus
This column shows you how to secure the .NET Services Bus and also provides some helper classes and utilities to automate many of the details.
Test-Driven Design - Using Mocks And Tests To Design Role-Based Objects
Use Test-Driven Development with mock objects to design object oriented code in terms of roles and responsibilities, not categorization of objects into class hierarchies.
Entity Framework - Anti-Patterns To Avoid In N-Tier Applications
Danny Simmons explores some anti-patterns you should look out for when building n-tier applications with the Entity Framework.
Velocity - Build Better Data-Driven Apps With Distributed Caching
Microsoft Velocity exposes a unified, distributed memory cache for client application consumption. We show you how to add Velocity to your data-driven apps.
Peer Fun - A Peer-To-Peer Work Processing App With WCF
We demonstrate creating a peer-to-peer processing platform where multiple players function together for a common purpose: getting your work done.
Inside Windows 7 - Introducing Libraries
This is Part 1 of a multipart article series on Windows 7. This article is about the new user profile storage concept in Windows 7, called Libraries.
Usability in Practice - Agile Ux Development
This month the authors show you how to treat the user experience as an essential dimension of the development process while retaining the advantages of Agile.
Editor's Note - Architecture and Aggregates

Toolbox - Managing in the Cloud, UX Design Patterns, Anders Hejlsberg’sThe C# Programming Language, and More
Now that you're even managing projects in the cloud, you'll need some tools to help. This month we illustrate one, discuss UX design patterns, a book by Anders Hejlsberg, and more.
CLR Inside Out - Memory Usage Auditing For .NET Applications
Memory usage can have a direct impact on how fast an application executes and thus is important to optimize. In this article we discuss the basics of memory optimization for .NET programs.
Data Points - Building An Out-of-Browser Client With Silverlight 3
Silverlight 2 applications are restricted to running inside a browser. However, Silverlight 3 applications can run inside the browser or out. Here we build a social networking app as a standalone Silverlight 3 application.
Cutting Edge - Go Beyond HTML Forms With AJAX
This month we examine forms in the context of AJAX applications and look at various approaches to implementing features such as auto-saving, just-in-time validation, and submission throttling.
Patterns in Practice - The Unit Of Work Pattern And Persistence Ignorance
Jeremy Miller continues his discussion of persistence patterns by reviewing the Unit of Work design pattern and examining the issues around persistence ignorance.
Test Run - .NET Module Testing with IronPython
This month we demonstrate how easy it is to use IronPython to test .NET-based libraries.
The Polyglot Programmer - Reaping The Benefits Of Cobra
Cobra, a descendant of Python, offers a combined dynamic and statically-typed programming model, built-in unit test facilities, scripting capabilities, and much more. Feel the power here.
Foundations - Customizing the New WPF Calendar Controls
Late last year Microsoft released Calendar and DatePicker controls for WPF in the WPF Toolkit. We’ll show you how they work, and how you can customize them.
Concurrent Affairs - Solving The Dining Philosophers Problem With Asynchronous Agents
We use the new Asynchronous Agents Library in Visual C++ 2010 to solve the classic Dining Philosophers concurrency problem.
Windows With C++ - Introducing Direct2D
If you want to develop high-performance and high-quality commercial applications, you’ll still look to C++ and native code. Direct2D will help you deliver the graphics power you need.
{End Bracket} - Think Before You Speak

.NET RIA Services - Building A Data-Driven Expense App with Silverlight 3
.NET RIA Services provides a set of server components and ASP.NET extensions such as authentication, roles, and profile management. We’ll show you how they work.
Cloud Computing - Patterns For High Availability, Scalability, And Computing Power With Microsoft Azure
Here we examine the typical cloud platform architecture and some common architectural patterns, along with their implementation on the Azure offering from Microsoft.
Data Services - Access Your Data On Premise Or In The Cloud With ADO.NET Data Services
In this article the author looks at two versions of the same application--one consuming an on-premise Data Service, and one consuming an Azure Table Data Service to illustrate data access in the cloud.
SOA Simplified - Service Virtualization With The Managed Services Engine
By using Managed Services Engine service virtualization technology, you can begin participating in the cloud by simply configuring virtual service endpoints and operations that integrate with the .NET Service Bus.
Editor's Note - Head in the Clouds
This month Editor-in-Chief Howard Dierking comes down from Cloud 9 when he realizes that employing cloud services is less about magic and more about planning. Take a few tips from his recent experiences.
Toolbox - Easy File Backup, Exploring Files And Folders Inside Visual Studio, Multiple Monitor Software, And More
If the responsibility for creating, managing, and executing routine backups is yours, these tools will make it easier. Also see how you can browse folders and files from inside Visual Studio.
Basic Instincts - Documenting Your Code With XML Comments
XML comments provide an easy and effective way to document your code. We’ll show you how to use and customize XML comments in your Visual Basic projects.
CLR Inside Out - Understanding The CLR Binder
In this article, we cover some of the best practices for assembly binding and loading using the CLR.
Cutting Edge - Build Rich User Interfaces with jQuery
In this month's installment we build modal and modeless dialog boxes in jQuery and explain how to post data from them to the Web server.
Extreme ASP.NET - The Life And Times of an ASP.NET MVC Controller
Here the author dissects the ASP.NET MVC framework and looks at how controllers work. He then explains how the framework interacts with your controllers and how you can influence those interactions.
Foundations - Versioning Workflows
Developers often struggle with versioning workflows and their related classes. Matt Milner discusses the core issues related to workflow versioning and provides recommendations for making changes to workflow definitions, activities, and workflow services.
Going Places - Gaming In The Key Of Zune
Mike Calligaro shows you the basics of using XNA Game Studio 3.0 to write games for Zune.
Office Space - Custom Field Types for SharePoint 2007
Custom field types provide a powerful way to define a reusable SharePoint column definitions.
Security Briefs - A Conversation About Threat Modeling
Listen in on a chat between a developer and security pro that delves into some of the major Security Development Lifecycle (SDL) requirements we impose on product teams here at Microsoft
Under the Table - Programming with FileStreams in SQL Server 2008
There's always been disagreement about whether large blobs, such as document and multimedia items, should be stored in the database or file system. In SQL Server 2008 you don't have to choose; filestream storage provides the best of both approaches.
Patterns and Practices - Simplifying Patterns and Practices
This month we in introduce a new column that takes you inside the Microsoft patterns & practices group. This first installment focuses on ways groups inside Microsoft have implemented the Dependency Injection pattern in Microsoft products and tools.
Usability in Practice - Useful, Usable and Desirable: Usability as a Core Development Competence
In this month's installment, learn how to achieve the most important outcome of all UI design: ensuring that your software is useful, useable, and desirable.
{End Bracket} - TheUnconference: Where Geeks JIT Together
This month the author takes us on a tour of the unconference and other unconventional get-togethers. Learn how these unique approaches to conferences are being widely adopted.
Lessons Learned - Optimizing A Large Scale Software + Services Application
Udi Dahan explains how his team identified and overcame unforeseen problems while developing a large-scale software + services trading application.
Dynamic WPF - Create Flexible UIs With Flow Documents And Data Binding
Flow documents offer enormous flexibility in arranging text layout and pagination, but they don’t support data binding, so you can’t dynamically change content. Here we build a component to solve that problem.
Cloud Computing - Building Distributed Applications With .NET Services
We show you how .NET Services within the Azure Services Platform makes it easy to bring workflow apps to the cloud.
Take Control - Use SharePoint to Manage Your Windows Services
In this article, we show you how to integrate a Windows Services-based solution with SharePoint. The results enable you to provision, start, stop, and remove service instances through SharePoint 3.0 Central Administration.
Sync Up - Manage Your Data Effectively With The Microsoft Sync Framework
Synchronization Services for ADO.NET provide a set of tools to help you synchronize data between two database sources, synchronize files between machines, and synchronize with an RSS or ATOM feed. Learn more here.
Editor's Note - What's In Style
From fat to thin to fat again--Howard Dierking chronicles the dieting habits of a Web client and the technologies that continue to fuel the shifts.
Toolbox - Microsoft Chart Controls, Visual Studio Automatic Code Snippets, And More
In this installment we look at the Microsoft Chart Controls; Snippet Designer, a free, add-in for Visual Studio 2008 for creating and editing Code Snippets; refactoring SQL applications; and this month’s favorite blog.
CLR Inside Out - CLR Optimizations In .NET Framework 3.5 SP1
See the changes the CLR team made to the CLR .for NET Framework 3.5 SP1 and the improvements you’ll get running your existing CLR 2.0-based apps against this service pack.
Data Points - Using Silverlight 2 With ADO.NET Data Services
ADO.NET Data Services and Silverlight make a powerful combination, but to make them work well together, there are a few things you need to understand. Here, John Papa explains.
Cutting Edge - Explore Rich Client Scripting With jQuery, Part 2
Achieving cross-browser compatibility for events is no easy task. The jQuery event handling API addresses the differences in event handling across browsers, allowing you to write more predictable JavaScript.
Patterns in Practice - Persistence Patterns
Here we examine data persistence patterns to help you determine which best suits your needs. We look at a number of patterns, including the Active Record, the Data Mapper, the Repository, the Identity Map, the Lazy Loading, and the Virtual Proxy.
Service Station - Creating And Consuming Web Feeds
Jon Flanders demonstrates creating and consuming Web feeds with Windows Communication Foundation and AtomPub.
Foundations - Working With The .NET Service Bus
The .NET Services Bus is arguably the most accessible, powerful, and useful piece of the new Azure Cloud Computing initiative. See how it manages cloud communications.
Windows With C++ - The Virtual Disk API In Windows 7
This month we look inside the Windows 7 beta to examine the Virtual Disk API and the Microsoft Virtual Hard Disk (VHD) format.
.NET Matters - Parallelizing Operations With Dependencies
In this month’s installment, Stephen Toub examines some techniques for enforcing dependencies in the running order of asynchronous operations and builds a DependencyManagement class to help.
Usability in Practice - The Power of Personas
A persona is a description of a fictional person representing an amalgamation of traits found in a segment of your users. Emplolying personas arms you with a powerful foundation on which to base design decisions.
{ End Bracket } - Translate This Page
This month we examine the Microsoft translation Web service and show you how you can incorporate translation services into your own Web application.
Internet Explorer 8 - New Features To Slice, Store, And Accelerate Your Web Applications
Internet Explorer 8 sports some exciting new features including Web Slices, Accelerators, and search suggestions along with AJAX navigation and DOM storage.
Silverlight Patterns - Model-View-ViewModel In Silverlight 2 Apps
In this article, you’ll learn how to avoid problematic tight coupling by applying the Model-View-ViewModel pattern in Silverlight 2.
SharePoint - 10 Best Practices For Building SharePoint Solutions
Here we summarize a number of best practices for developing SharePoint solutions.
Database Development - Introducing New Features In The VSTS Database Edition GDR
This article describes features introduced in the GDR for Visual Studio Team Server Database Edition.
.NET Interop - Automate Acceptance Testing With IronRuby
Acceptance testing verifies that the system under development meets the customer’s requirements. Learn the benefits here.
MSBuild - Best Practices For Creating Reliable Builds, Part 2
Find out here how you can use MSBuild to better manage and control large build projects in Visual Studio.
Editor's Note - Growing Pains
An economic downturn is no time to stop moving forward. Remember the core goals of your business and forge ahead.
Toolbox - Rich AJAX Data Controls, Analyzing HTTP Traffic, And More
This month we look at rich data Web controls for AJAX, HTTP traffic analysis, and more.
CLR Inside Out - Isolated Storage In Silverlight 2
See how to get the most out of isolated storage in Silverlight to keep your applications safe.
Cutting Edge - Explore Rich Client Scripting With jQuery, Part 1
Thanks to selectors and function chaining, jQuery allows you to write compact, cross-browser code.
The Polyglot Programmer - Mixing And Matching Languages
See why you need to be a polyglot programmer and what mixing and matching languages can do for your projects.
Test Run - Automating UI Tests In WPF Applications
This month we describe techniques for automating UI testing in Windows Presentation Foundation applications.
Security Briefs - Protect Your Site With URL Rewriting
Learn the numerous ways in which you can rewrite URLs to defend against common Web vulnerabilities.
Extreme ASP.NET - Charting With ASP.NET And LINQ
The combination of the ASP.NET Chart Control and the data querying power of LINQ lets you build flexible charts. Learn how here.
Wicked Code - 3 Important Tips For Silverlight Development
As a Web platform, Silverlight should be fast. Don’t keep your users waiting by not heeding these performance tips.
Team System - Team Build 2008 Customization
See how to modify the default behavior of Team Build, extend your builds with custom tasks, and make use of theenhancements in Team Build 2008 SP1.
Foundations - Writing More Efficient ItemsControls
Here Charles Petzold explains several techniques for improving the performance of ItemsControls.
Usability in Practice - Strategies for Designing Application Navigation
Good navigation makes for happy users, and happy users are good for your business. See what makes users happy this month.
{ End Bracket } - Perfect API Design
Why is good API design so difficult when all you really need is perfection? Intrigued? Read on.
Best Practice - An Introduction To Domain-Driven Design
We give you a gentle introduction to designing and evolving rich domain models as part of integrating Domain-Driven Design (DDD) into your coding efforts.
.NET Interop - Getting Started With IronRuby And RSpec, Part 1
See how IronRuby lets you employ the straightforward Ruby language to create acceptance tests that interoperate with .NET-compliant code.
"Oslo" Basics - Build Metadata-Based Applications With The “Oslo” Platform
We introduce you to “Oslo” and demonstrate how MSchema and MGraph enable you to build metadata-driven apps. We’ll define types and values in “M” and deploy them to the repository.
Patterns - WPF Apps With The Model-View-ViewModel Design Pattern
In this article we explain just how simple it can be to build a WPF application the right way using the MVVM Pattern.
Silverlight - Build Line-Of-Business Enterprise Apps With Silverlight, Part 2
Here we wrap up the call center client application we began last month. The techniques we illustrate will help you build real-world enterprise solutions using Silverlight.
MSBuild - Best Practices For Creating Reliable Builds, Part 1
This article describes some basic practices and techniques that you can use in MSBuild to better manage and control your build projects in Visual Studio.
Editor's Note - Driving Design
Howard Dierking concludes that the business domain must drive software design—even if the natural paradigm is not what is most comfortable. See how he got there.
Toolbox - The Active Record Pattern, Aspect-Oriented Programming
This month we look at implementing the Active Record Pattern in your .NET application and how aspect-oriented programming yields separation of concerns.
CLR Inside Out - Handling Corrupted State Exceptions
There’s a danger in using one-size-fits-all exception handling, and you need to know how to avoid it by being as specific as possible about how you handle errors.
Data Points - Syndicated Data And Isolated Storage In Silverlight
Here we build a syndicated news reader application to illustrate the use of isolated storage and data syndication in Silverlight.
Cutting Edge - Managing Dynamic Content Delivery In Silverlight, Part 2
This month Dino continues his look at managing dynamic Silverlight content by discussing caching and isolated storage.
Patterns in Practice - Convention Over Configuration
We look at some techniques you can adopt to reduce the amount of housekeeping code you write so you can focus on the essence of the application.
Under The Table - Spatial Data Support In SQL Server 2008
New spatial data support in SQL Server 2008 opens the door to mapping and querying geometric and geographic data, allowing you to build exciting new applications.
Foundations - Error Handling In Workflows
Workflows often define long-running processes and an unhandled failure usually means termination. Avoid this scenario by handling exceptions properly.
Windows With C++ - Visual C++ 2010 And The Parallel Patterns Library
The Parallel Patterns Library allows you to more easily take advantage of parallelism. See what this and other Visual C++ 2010 features are in store.
.NET Matters - Ordered Execution With ThreadPool
This month we demonstrate how you can use the ThreadPool to support ordered execution without having to build custom thread pools yourself.
Going Places - Mobile Device Provisioning With SyncML
OMA Device Management (OMA-DM), based on a dialect of XML called SyncML, can be used to provision and manage mobile devices in an enterprise scenario. We'll show you how.
Stack Trace - Working With An Incomplete Or Invalid IRP

Stack Trace - What Are These System PTEs?

{ End Bracket } - Your Innovative Ideas
Having that next great innovative idea is only half the battle—getting it heard is the real challenge.
First Look - WCF And WF Services In The .NET Framework 4.0 And “Dublin”
We explore some of the key new WCF and WF features in .NET Framework 4.0 as well as the new application server capabilities provided by the “Dublin” extensions.
Geneva Framework - Building A Custom Security Token Service
A Security Token Service, or STS, acts as a security gateway to authenticate callers and issue security tokens carrying claims that describe the caller. See how you can build a custom STS with the “Geneva” Framework.
Silverlight - Build Line-Of-Business Enterprise Apps With Silverlight, Part 1
Take a walk through the creation of a call center client application to learn how to build real-world enterprise solutions using Silverlight.
Windows Mobile - Use GPS And Web Maps For Location-Aware Apps
We show you how to build a location-aware task list application for Windows Mobile devices that uses GPS to remind you of a task when and where it’s appropriate.
VSTS 2010 - Agile Planning Tools In Visual Studio Team System 2010
Visual Studio Team System (VSTS) 2010 introduces product backlog and iteration backlog workbooks and reports that will help agile teams plan and manage releases and iterations.
ASP.NET Workflow - Web Apps That Support Long-Running Operations
Integrating workflow into ASP.NET applications means communicating with activities via a workflow queue and hosting the runtime in the global application class. We’ll show you how.
Editor's Note - A Look Back As We Move Forward
Here’s a look at a year’s worth of coverage and changes at MSDN Magazine in response to reader requests.
Toolbox - C# JavaScript, Eric Lippert’s Blog, And More
Writing your JavaScript code in C# and having it converted, Eric Lippert’s programming blog, and reading up on T-SQL 2008.
CLR Inside Out - Best Practices For Managed And Native Code Interoperability
There are many factors to consider when building your app with both managed and native code. Find out how to employ interop and how to choose the interop that’s right for you.
Basic Instincts - Inspecting COM Objects With Reflection
Reflection is useful for debugging and logging and otherwise providing the type information you need. Here you’ll see how to use reflection on COM types.
Cutting Edge - Managing Dynamic Content Delivery In Silverlight, Part 1
This month Dino tackles the problem of large download size for Silverlight applications, explaining when to use streaming, when to divide the download, and other techniques for better performance over the wire.
Test Run - Analyzing Project Exposure And Risk Using PERIL
Here James McCaffrey uses some statistical methods and a technique he calls PERIL to estimate risks to software projects involving timing, costs, and other potential resource shortfalls.
Service Station - An Introduction To RESTful Services With WCF
We discuss some of the basic tenets of REST as well as present an implementation of a RESTful service using WCF.
Security Briefs - Getting Started With The SDL Threat Modeling Tool
The Security Development Lifecycle (SDL) threat modeling tool helps you develop great threat models as a backbone of your security process. We'll show you how it works.
Extreme ASP.NET - Routing with ASP.NET Web Forms
See how to get the benefits of rerouting while alleviating the risks with this in-depth look at URL rewriting in ASP.NET.
Foundations - Easily Apply Transactions To Services
Managing state and error recovery using transactions is the topic of this month’s installment of Foundations.
Net Matters - Round-Robin Access To The ThreadPool
Stephen Toub shows you how to add round-robin scheduling support on top of the ThreadPool for more granular processing control.
Usability in Practice - When Things Go Wrong
This month our usability experts explain what it takes to create informative, useful error messages.
{ End Bracket } - The Emergence Of Machine Translation
Vikram Dendi looks at how machine translation is poised to change the world and why it is so important to deliver information in multiple languages.
Team System - Streamline Team Projects With Process Templates
See how you can streamline your team projects using Process Templates in Visual Studio Team System (VSTS)
Real-World WF - Best Practices For Windows Workflow Foundation Apps
The heart of Windows Workflow Foundation is its declarative programming model. Here are some best practices to consider when using WF to realize software solutions in the real world.
Visual Studio OBA Tools - Simplify OBA Development With Interop API Extensions
To introduce you to VSTO Power Tools Office interop API extensions, we’ll walk through the development of an application that automates Outlook, Excel, and Word.
SOA Data Access - Flexible Data Access With LINQ To SQL And The Entity Framework
Building a data access layer using LINQ to SQL and the ADO.NET Entity Framework allows you to decouple your application from the persistence technology you're using.
Geneva Framework - A Better Approach For Building Claims-Based WCF Services
Here we introduce Microsoft Code Name “Geneva,” the new framework for building claims-based applications and services, and federated security scenarios.
Editor's Note - I Am The Business
At an open spaces conferencein Austin, Texas, Editor-in-Chief Howard Dierking realizes that software development and business goals can both coexist and benefit each other.
Toolbox - Static Analysis Tools For .NET, Matt Berseth’s Blog
This month we take a look at FxCop and other tools that enforce your design rules, along with jQuery.
CLR Inside Out - Thread Management In The CLR
Getting the performance you want in concurrent applications is not as straightforward as you might think. See how common threading issues can affect your application.
Advanced Basics - The ObservableCollection Class
Ken Getz shows how the CollectionChanged event lets you reflect changes to your underlying data source in your bound data controls.
Cutting Edge - ASP.NET Presentation Patterns
Choosing the right design pattern for your ASP.NET Web application can help you achieve the separation of concerns between your presentation layer and the layers beneath it.
Patterns in Practice - Design For Testability
Designing testability into your app means smaller tests that are cheaper to create, easier to understand, faster to run, and much simpler to debug.
Test Run - Configuration Testing With Virtual Server, Part 2
Because Virtual Server is built upon a set of COM modules, you can automate the creation and testing of virtual machines. Here we use Windows PowerShell to run the tests.
Foundations - Render Text On A Path With WPF
With Windows Presentation Foundation (WPF) you can lay out text on a path, then animate the individual points defining the path and watch the characters bounce around in response.
Windows With C++ - X64 Debugging With Pseudo Variables And Format Specifiers
This month we explain how pseudo variables and format specifiers provide a wealth of information for use in debugging.
Going Places - How Connection Manager Connects
Marcus Perryman explains the correct use of Connection Manager when a Windows Mobile application requires network data.
Usability in Practice - The Human Face Of Software
A great user experience is more than just a pretty face. In this new column we’ll look at some of the subtleties of building great user experiences.
{ End Bracket } - What Makes A Good Software Tester?
In this month's installment, James McCaffrey talks about the qualities and skills he looks for when searching for great software testers.
Security Quiz - Test Your Security IQ
Our security experts present 10 vulnerable pieces of code. Your mission is to find the holes (a.k.a. bad security practices) in the code.
Agile SDL - Streamline Security Practices For Agile Development
Bryan Sullivan discusses the new SDL for Web applications and Agile projects with more compressed release cycles.
Access Control - Understanding Windows File And Registry Permissions
Understanding the ACLs that govern permissions and rights before an operation is allowed to proceed is critical to enhancing security.
Utility Spotlight - 12 Steps To Faster Web Pages With Visual Round Trip Analyzer
Download Visual Round-trip Analyzer (VRTA) to uncover the root of your Web page loading problems and identify these 12 common ailments.
RIA - Light Up SharePoint With Silverlight 2 Web Parts
Find out how to integrate SharePoint and Silverlight by creating a Silverlight media player and deploying it as a SharePoint Web Part.
Editor's Note - Can I See Some Identification?
Security measures are highly context driven and change with circumstances. This month Howard Dierking spins a few security yarns to illustrate.
Toolbox - Online Scheduling, Jeff Smith’s SQL Blog, Easy Regular Expressions, And More
This month Scott looks at improving development skills, writing regular expressions, a web scheduling control and a SQL tips blog.
CLR Inside Out - International Applications
The CLR team takes a look inside the System.Globalization namespace to explain how to handle data formats for proper localization and globalization.
Data Points - Cloud Gazing From Silverlight 2
John Papa tackles questions about calling services from Silverlight 2 applications.
Cutting Edge - Browser Interoperability In Silverlight 2
This month Dino Esposito explains how the browser interoperability layer in Silverlight addresses a number of your Silverlight / Web page interaction needs.
Security Briefs - Threat Models Improve Your Security Process
Using threat models to drive your security engineering process helps prioritize the code review, fuzz testing, and attack surface analysis tasks.
Test Run - Group Determination In Software Testing
There is a large body of research on group techniques to determine the best alternative from a set of options. Dr. James McCaffrey outlines five of them.
Wicked Code - Silverlight 2 Transforms And Clipping Regions
Silverlight is powerful enough to let you easily build an image magnification feature for you web site with very little code, most of which is XAML. Find out how.
Foundations - Unit Testing Workflows And Activities
Matt Milner takes a look at some of the challenges and techniques related to testing Windows Workflow Foundation activities, workflows, and associated components.
Team System - Team Build 2008
Brian Randell introduces you to Visual Studio 2008 Team Foundation Server Build (Team Build). Then he creates and runs a team build.
{ End Bracket } - Engineers Who Write
Writing is good exercise for developers and software engineers. Richard Ward explains how writing can help you focus your thoughts and communicate more precisely.
Paradigm Shift - Design Considerations For Parallel Programming
This article presents an overview of the motivation behind new techniques that decompose problems into independent pieces for optimal use of parallel programming.
Coding Tools - Improved Support For Parallelism In The Next Version Of Visual Studio
We take a look at planned support for parallel programming for both managed and native code in the next version of Visual Studio.
Concurrency Hazards - Solving 11 Likely Problems In Your Multithreaded Code
Here we describe some of the more common challenges to concurrent programming and present advice for coping with them in your software.
ASP.NET AJAX 4.0 - New AJAX Support For Data-Driven Web Apps
Here is an ASP.NET AJAX data-driven Web application that takes the best features from server- and client-side programming to deliver an efficient, user-friendly experience.
Easy Async - Build Concurrent Apps From Simple F# Expressions
In this article, the author explores how the F# language helps you create asynchronous function libraries that can be called seamlessly from any other .NET-compliant language.
Editor's Note - new Thread(ReadEditorsNote).Start(); yourAttention.WaitOne();
Introducing the issue, Howard Dierking points out that you can't simply parallelize your code blindly if you expect to truly reap the benefits that parallelism promises.
Toolbox - Realistic Test Data, Dare Obasanjo’s Blog, Color-Coding Tools, and More
This month Scott shows how to generate realistic test data, visits Dare Obasanjo's blog, and demonstrates color coding code for better readability.
CLR Inside Out - Security In Silverlight 2
Andrew Dai of the CLR team discusses the Transparency model, which creates a strong isolation boundary between privileged and unprivileged code for Silverlight apps.
Basic Instincts - Dynamic Data Entry With XML Literals
Learn how to use Windows Presentation Foundation (WPF), XAML, and the deep XML support in Visual Basic to generate user interfaces dynamically.
Cutting Edge - Code reuse in WPF and Silverlight 2.
There’s a strong similarity between Web-based Silverlight 2 applications and desktop WPF applications. Enabling easy code reuse between the two is Dino’s focus here.
Patterns in Practice - Cohesion And Coupling
Here are some design patterns that allow you to achieve higher cohesion and looser coupling for more flexible, reusable applications.
Service Station - Authorization In WCF-Based Services
Windows Communication Foundation (WCF) provides an easy role-based system and a more powerful and complex claims-based API for implementing authorization in services.
Foundations - Managing State With Durable Services
This month Juval Lowy tackles questions such as when to keep proxies and services in memory for better state management in long-running workflows.
Windows with C++ - Exploring High-Performance Algorithms
See how you can gain efficiency in surprising ways by looking closely at your algorithms, the data they operate on, and the hardware you’re designing for.
Going Places - Ink-Enabled Apps For Tablet PC
We show you how to create ink-enabled appsquickly with the Tablet PC SDK and the InkEdit and InkPicture ActiveX controls.
.NET Matters - False Sharing
This month: memory access issues in multi-core systems and diagnosingand avoiding false sharing in your parallel computing applications.
{ End Bracket } - Don’t Be Afraid To Throw Away Your Work
With today's processing power at your disposal, Josh Phillips recommends speculative computation—performing operations ahead of time even if you may never need the results.
Hierarchy ID - Model Your Data Hierarchies With SQL Server 2008
Here we explain how the new hierarchyID data type in SQL Server 2008 helps solve some of the problems in modeling and querying hierarchical information.
Prism - Patterns For Building Composite Applications With WPF
We introduce you to the benefits of building composite applications with the Composite Application Guidance for WPF from Microsoft patterns & practices.
Data Services - Create Data-Centric Web Applications With Silverlight 2
ADO.NET Data Services provide Web-accessible endpoints that allow you to filter, sort, shape, and page data without having to build that functionality yourself.
Advanced WPF - Understanding Routed Events And Commands In WPF
See how routed events and routed commands in Windows Presentation Foundation form the basis for communication between the parts of your UI.
Editor's Note - Hanging Onto The Long Tail
Technology changes at a lightning-fast pace. This month Howard Dierking considers how the rapid changes affect developer priorities and magazine focus.
Toolbox - Easy LINQ Queries, Becoming A Better Developer, And Logging Help
This month Toolbox provides help with error logging, finds an app that helps you write LINQ queries, and explores the non-technical side of development.
CLR Inside Out - Unhandled Exception Processing In The CLR
In this installment of CLR Inside Out Gaurav Khanna explains everything you need to know about unhandled exception processing in the .NET Framework.
Data Points - Service-Driven Apps With Silverlight 2 And WCF
Here John Papa demonstrates how to build a Silverlight 2 user interface that communicates through WCF to interact with business entities and a database.
Advanced Basics - The LINQ Enumerable Class, Part 2
This month Ken digs deeper into the System.Linq.Enumerable class and shows readers how to perform some magic data operations usingSystem.Linq.Enumerable.
Office Space - Custom Auditing In SharePoint
Learn how to enable an auditing solution for Windows SharePoint Services (WSS) 3.0 with customized control pages in Microsoft Office SharePoint Server (MOSS) 2007.
Cutting Edge - Building A Secure AJAX Service Layer
This month Dino builds a service layer that authenticates users of Silverlight 2 and ASP.NET AJAX services to prevent illegal access to sensitive back-end services.
Test Run - Configuration Testing With Virtual Server, Part 1
This time James McCaffrey sets up a virtual environment to use for configuration testing to introduce you to software configuration testing with Microsoft Virtual Server
Security Briefs - SDL Embraces The Web
In this installment we introduce you to new Web-oriented security guidance and tools straight from the Security Development Lifecycle (SDL) team at Microsoft.
Foundations - Dependency Properties And Notifications
Windows Presentation Foundation dependency properties don’t always play well with others. Learn how you can compensate for their lack of notification events.
{ End Bracket } - A New Era In Visual Simulation
The ESP simulation engine, the basis for Microsoft Flight Simulator, handles visual rendering, physics, sound, and other virtual world capabilities.Take a look inside.
Data 2.0 - Expose And Consume Data in A Web Services World
The goal of the ADO.NET Data Services Framework is to create a simple REST-based framework for exposing and consuming data-centric services easily.
BizTalk EDI - Build a Robust EDI Solution with BizTalk Server
We introduce you to the EDI functionality within BizTalk Server 2006 R2, illustrating schema creation, document mapping, EDI delivery and transmission, and exception handling.
Silverlight - Create Animations with XAML and Expression Blend
In this excerpt from his upcoming book, Laurence Moroney explains the basics of Silverlight animation and the animation tools available in Expression Blend.
Write On! - Create Web Apps You Can Draw On with Silverlight 2
We build a Silverlight 2.0 application using the InkPresenter to let users annotate a pre-defined collection of images, perform handwriting recognition, and save the annotations and recognized text into a server-side database.
Wicked Code - Craft Custom Controls for Silverlight 2
If you're unfamiliar with Windows Presentation Foundation (WPF), building that first Silverlight custom control can be a daunting experience. This article walks through the process.
Editor's Note - More than Pretty Pictures
Complete freedom in creating the user experience can be a double-edged sword, but a little bit of artistry can transform an application's usability.
Toolbox - Serializing objects, Scott Allen’s blog, Site Performance, and more
Serialize and Deserialize Fixed Length and Delimited Files, Scott Allen's blog, inspecting Web Pages, and more.
CLR Inside Out - Program Silverlight with the CoreCLR
The CoreCLR provides the perfect set of CLR classes and functionality for the Web.
Basic Instincts - Increase LINQ Query Performance
Jared Parsons demonstrates a technique to achieve maximum performance from LINQ queries on large sets of data in order to create a responsive user interface.
Cutting Edge - Programming AJAX with ASP.NET Partial Rendering
Dino Esposito compares the use of AJAX patterns and DOM manipulations to the use of the ASP.NET partial rendering engine.
Patterns in Practice - Object Role Stereotypes
Object role stereotypes can help you better understand and clarify the responsibilities of the objects in your application.
Team System - Essential Power Tools.
Brian Randell introduces you to some crucial Power Tools for getting the most out of Team System.
Foundations - Workflow Tips and Tricks
Matt Milner addresses reader requests for information about safely sharing a persistence database across applications and using lesser-known parts of the framework such as ChannelManagerService.
Windows with C++ - Asynchronous WinHTTP.
This month's column explains how to use Windows HTTP Services, or WinHTTP, the new, powerful API for implementing HTTP clients.
Concurrent Affairs - More AsyncEnumerator Features
Jeffrey Richter shows you some additional cool features of his AsyncEnumerator class.
Going Places - What Can a Robot Teach You?
Learn about mobile device programming through WiMo, a Windows Mobile-powered robot.
{ End Bracket } - U.S. Imagine Cup
With the annual Imagine Cup student competition, competitors were asked to imagine a world where technology enables a sustainable environment, just as Microsoft is doing in its own business practices.
Data Services - Develop Robust and Scalable Apps with SQL Server Data Services
Here the author introduces SQL Server Data Services, which exposes its functionality over standard Web service interfaces.
ADO.NET - Achieve Flexible Data Modeling with the Entity Framework
Here the author answers questions regarding the Entity Framework and provides an understanding of how and why it was developed.
Data and WPF - Customize Data Display with Data Binding and WPF
Here we present techniques for programmatic and declarative data binding and display with Windows Presentation Foundation.
Transactions - Build Scalable Systems That Handle Failure Without Losing Data
Systems that handle failure without losing data are elusive. Learn howto achieve systems that are both scalable and robust.
WCF P2P - How To Design State Sharing in a Peer Network
Learn how you can peer-enable business applications by allowing them to share state in a serverless peer network.
Editor's Note - Flex Your Data
Filling in for Editor-in-Chief Howard Dierking, Ted Neward lends some insight into the state of data collection and manipulation.
Toolbox - Easy Wiki Hosting, Scott Hanselman’s blog, and Snagging Screens
Host a wiki the easy way, get the screen shots you need and mark them up, and read about LINQ this month in Toolbox.
CLR Inside Out - Extend Windows Forms Apps Using System.AddIn
See how Windows Forms applications can be adapted to use the new .NET Add-in framework (System.AddIn) this month.
Data Points - The Entity Framework in Layered Architectures
Here we build a solution that fits the Entity Framework into an n-tier architecture that uses WCF and WPF and the MVP pattern.
Advanced Basics - The LINQ Enumerable Class, Part 1.
Presented here is the LINQ Enumerable class, which allows you to manipulate data in any class that implements IEnumerable(Of T).
Office Space - Automated SharePoint Site Branding
Here's a custom branding solution for SharePoint sites that integrates Master Pages and CSS files at the level of the site collection.
Cutting Edge - The HTML Message Pattern
In this installment, the author provides an enhanced implementation of the BST pattern and compares it to HTM solutions.
Test Run - Introduction to WCF Testing
This month James McCaffrey builds a test harness for WCF applications that really puts them through the paces.
Security Briefs - Reinvigorate your Threat Modeling Process
In this column the author outlines some approaches to threat modeling that can be employed by development teams of any size.
Foundations - Adding Code Access Security to WCF, Part 2
This month's column continues the discussion around code access security in WCF and partially trusted services.
.NET Matters - Asynchronous I/O with WebClient
In this month’s installment of .NET Matters, columnist Stephen Toub answers reader questions concerning asynchronous I/O .
{ End Bracket } - Customize Windows Home Server
Chris Gray discusses custom applications he’s developed for Windows Home Server and explores applications for energy savings.
SAAS - Connect Enterprise Apps with Hosted BizTalk Services
In this article we introduce you to BizTalk Services, new technology that offers the Enterprise Service Bus features of BizTalk Server as a hosted service.
Concurrency - Tools And Techniques to Identify Concurrency Issues
Efficient parallel applications aren’t born by merely running an old app on a parallel processor machine. Tuning needs to be done if you’re to gain maximum benefit.
Robotics - Simulating the World with Microsoft Robotics Studio
Microsoft Robotics Studio is not just for playing with robots. It also allows you to build service-based applications for a wide range of hardware devices.
Form Filler - Build Workflows to Capture Data and Create Documents
Learn how to create a workflow that uses InfoPath forms and other office documents for passing data to targeted activities and for use in Office documents.
GUI Library - Bring the Simplicity of Windows Forms to Native Apps
In this article, author John Torjo presents a guide to his C++ GUI library called eGUI++ and explains how it makes user interface programming easier.
Editor's Note - In Case You Hadn’t Noticed …
Find out what's new for MSDN Magazine, including a print redesign and the introduction of virtual labs on our web site so you can experiment with our code.
Toolbox - Cross Browser Testing, Mock Objects, and Raymond Chen
This month test your web site on many platforms and browsers without setting up a test environment, use mock objects for unit testing, and visit Raymond Chen.
CLR Inside Out - Large Object Heap Uncovered
This month CLR Inside Out reveals the secrets behind the Large Object Heap—what’s there, when it’s released, how the garbage collector handles the objects there.
Cutting Edge - ASP.NET AJAX and Client-side Templates.
AJAX is meant to go beyond mere partial page rendering. Find out where Dino Esposito thinks dynamic pages are headed in the future with ASP.NET AJAX.
Patterns in Practice - The Open Closed Principle
Extending an existing codebase can be as productive and frustration-free as writing all new code when you employ the Open Closed Principle. We'll show you how.
Service Station - Building a WCF Router, Part 2.
Here we present a deep look into the workings of Windows Communication Foundation routers, exploring the details of pass-through router implementations.
Foundations - Bitmaps and Pixel Bits
Charles Petzold takes an inside look at the flexible bitmap pixel formats offered by the retained-mode graphics features of Windows Presentation Foundation.
Windows with C++ - Decoding Windows Vista Icons with WIC
In this month's installment, Kenny Kerr sings the praises of the new Visual C++ 2008 Feature Pack, which brings modern conveniences to Visual C++.
Concurrent Affairs - Simplified APM with the AsyncEnumerator
Here Jeffrey Richter introduces his AsyncEnumerator class, which drives an iterator so that different thread pool threads can execute the same code at different times.
Going Places - Adaptable Apps for Windows Mobile.
We show you the techniques for building adaptable applications that can make the best use of different screens and capabilities on Windows Mobile devices.
{ End Bracket } - Election Results Even Voters Can Trust
Surprisingly, cryptography can be applied to the electoral process to allow every individual voter to check the integrity of an election tally. Find out how here.
Office Apps - Integrate VSTO with SharePoint Content Types
See how to build a document-level Visual Studio Tools for Office customization and integrate it with a content type in SharePoint.
MOSS 2007 - Automate Web App Deployment with the SharePoint API
Learn how to automate custom SharePoint application deployments, use the SharePoint API, and avoid the hassle of custom site definitions.
C++ Plus - Beef Up Windows Apps with the Visual C++ 2008 Feature Pack
Kenny Kerr sings the praises of the new Visual C++ 2008 Feature Pack, which brings modern conveniences to Visual C++.
Security - Safer Authentication with a One-Time Password Solution
One-time passwords offer solutions to dictionary attacks, phishing, interception, and lots of other security breaches. Here's how it all works.
Alphabet Soup - A Survey of .NET Languages And Paradigms
Here we present a rundown of the various language paradigms of CLR-based languages via short language introductions and code samples.
Editor's Note - I Want to Believe
Editor-in-Chief Howard Dierking explains why it's wise to consider Microsoft Office a development platform, even though developers typically don't.
Toolbox - Database Audit Logs, Joel on Software, Code Handouts, and More
This month the Toolbox column takes a look at database logging, Joel Spolsky's blog, printing code projects, and ASP.NET reading.
CLR Inside Out - Measure Early and Often for Performance, Part 2
In the second of a two-part series, Vance Morrison delves into the meaning of performance measurements, explaining what the numbers mean to you.
Data Points - Entity Framework Q&A
The Entity Framework is a hot topic, but how do you know when to use EntityClient, Object Services, Entity SQL, or LINQ? Find out here.
Cutting Edge - Single-page Interface and AJAX Patterns
This month we begin a look at the Single Page Interface (SPI) model and some design patterns for designing AJAX applications.
Test Run - Request/Response Testing with Windows PowerShell
Did you know you can use Windows PowerShell to perform lightweight request/response testing for an ASP.NET Web app? Here's how.
Office Space - From VBA Macro to Word Add-in
See how to use Word to capture a VBA macro and use Visual Studio Tools for Office to wrap it up into a deployable Word add-in.
Wicked Code - Silverlight Page Turning Made Simple
As we'll show, with just a few lines of JavaScript you can build a general-purpose framework for incorporating page turns into Silverlight 1.0 apps.
Foundations - Loading Workflow Models in WF
When building workflows, you must consider the developer experience, available tools, long-term maintenance, and future versioning.
Security Briefs - Penetration Testing
In this installment of Security Briefs, James Whittaker explains the rules and the pitfalls of penetration testing so you'll know how to avoid them.
Team System - Team Foundation Server Event Service
Use the Team Foundation Server EventService to create and manage event subscriptions or create a Web service to receive and process events.
{ End Bracket } - Rich and Reach Applications
Rich or reach, rich or thin, thick or fat? Thus went the battle over how much functionality a client should have. Here's how it all turned out.
Talk Back - Voice Response Workflows with Speech Server 2007
Speech Server 2007 lets you create sophisticated voice-response applications with Microsoft .NET Framework and Visual Studio tool integration. Here’s how.
Performance - Scaling Strategies for ASP.NET Applications
Performance problems can creep into your Web app as it scales up, and when they do, you need to find the causes and the best strategies to address them.
Silverlight - Building Advanced 3D Animations with Silverlight 2.0
Animating with Silverlight is easier than you think. Here we create a 3D app that folds a polyhedron using XAML, C#, and by emulating the DirectX math libraries.
Interview++ - Bjarne Stroustrup on the Evolution of Languages
Howard Dierking talks to the inventor of C++, Bjarne Stroustrup, about language zealots, the evolution of programming, and what’s in the future of programming.
Office Development - Manage Metadata with Document Information Panels
Here the author uses Document Information Panels in the Microsoft 2007 Office system to manipulate metadata from Office docs for better discovery and management.
Editor's Note - A Service-Oriented Editor's Note
Here is what Howard Dierking has to say about the differences between services and distributed applications and how he has approached services in his projects.
Toolbox - Logging Web App Errors, Learning LINQ, and More
See how to log Web application errors for better health monitoring, what to read if you’re thinking about LINQ, and which blog Scott recommends reading this month.
Sustainable Computing - Imagine Cup 2008: Competing for Change
For the 2008 Imagine Cup, students have been challenged to use technology to enable a sustainable environment.Finalists in the U.S. competition recently presented their solutions in Los Angeles, and MSDN Magazine was there to see the innovative ideas participants have come up with.
CLR Inside Out - Measure Early and Often for Performance, Part 1
In this month’s column, get the inside scoop on how to build performance into your apps from the start, rather than dealing with the fallout after you deploy them.
Basic Instincts - My Namespace Extensions with My Extensibility
In this month’s column, learn how to integrate your own My Namespace extension into the Visual Basic development environment using the My Extensibility feature.
Cutting Edge - ListView Tips and Tricks
This month, use nested ListView controls to create hierarchical views of data and extend the eventing model of the ListView by deriving a custom ListView class.
Foundations - Code Access Security in WCF, Part 1
Here we discuss code-access security in Windows Communication Foundation (WCF) and present a solution for enabling partially trusted clients for WCF services.
Test Run - Testing SQL Stored Procedures Using LINQ
Language Integrated Query makes lots of things easier. Here we put LINQ, or more specifically the LINQ to SQL provider, to use testing SQL stored procedures.
Service Station - Building a WCF Router, Part 1
Here we take a look at WCF clients and services, and explain how to tweak the addressing and message filtering behaviors so you can route services between them.
Windows with C++ - Windows Imaging Component Basics
Windows Imaging Component (WIC) is an extensible framework for encoding, decoding, and manipulating images. See how to use WIC to encode and decode different image formats.
Going Places - Provisioning Mobile Devices
Learn how you can set up every mobile device in your company with a few lines of code and some XML--thanks to the provisioning APIs in the Windows Mobile SDK.
{ End Bracket } - The Magic of Software
Are the transparent computer screens in the movie Minority Report or the flashy fingerprint analysis software programs used on CSI closer than we think? Maybe so.
ASP.NET MVC - Building Web Apps without Web Forms
Chris Tavares explains how the ASP.NET MVC Framework's Model View Controller pattern helps you build flexible, easily tested Web applications.
Loosen Up - Tame Your Software Dependencies for More Flexible Apps
James Kovacs explains the dark side of tightly coupled architectures, why they're hard to test and how they limit adaptation. He then proposes a number of solutions.
CI Server - Redefine Your Build Process with Continuous Integration
Jay Flowers demonstrates how to set up and use a Continuous Integration server using both discrete tools and the more comprehensive CI Factory solution.
Performance - Find Application Bottlenecks with Visual Studio Profiler
We will introduce you to the Visual Studio Profiler by walking through a sample performance investigation, pinpointing code inefficiencies in some sample applications.
Office Development - OBA Solution Patterns In The Real World
OBA solution patterns help architects and developers build Office Business Applications (OBAs). This article introduces the seven core OBA solution patterns and applies one to a real-world problem.
Editor's Note - Too Many Swimming Pools
This month Howard Dierking cautions against designing applications in a vacuum with no connection to reality.
Toolbox - Easy Web Debugging, Extending Reflector, and More
This month, a better design-time experience for Web apps, Scott Guthrie's blog, extending Extend Lutz Roeder's Reflector, and more.
CLR Inside Out - Improving Application Startup Performance
Application startup performance matters to users, and there's plenty you can do to improve it. Here's a look at where to begin.
Data Points - Standard Query Operators with LINQ
LINQ to Objects and LINQ to Entities have an arsenal of Standard Query Operators that operate on sequences to perform a wide variety of operations.
Advanced Basics - Office 2007 Files and LINQ
LINQ to XML and the Microsoft SDK for Open XML Formats simplify access to the parts of a 2007 Office system Open XML document when retrieving or modifying data, resulting in shorter, less complex code.
Office Space - Simplify SharePoint Development with STSDEV
Ted Pattison shows how to use a new STSDEV utility to set up and deploy SharePoint development projects in Visual Studio in an easy and repeatable manner.
Test Run - Web UI Automation with Windows PowerShell
Here we show you how to use Windows PowerShell to create quick and easy UI test automation for ASP.NET and classic ASP Web applications.
Security Briefs - Protecting Your Code with Visual C++ Defenses
Michael Howard outlines some of the buffer overrun defenses available in Visual C++ 2005 and beyond.
Extreme ASP.NET - The Only Data-binding Control You'll Ever Need
Fritz Onion demonstrates how the ListView control in ASP.NET 3.5 makes data-binding tasks easier with support for styling with CSS, flexible pagination, and a full complement of sorting, inserting, deleting, and updating features.
Foundations - Vector Graphics and the WPF Shape Class
The System.Windows.Shapes namespace is Charles Petzold's namespace of choice for rendering two-dimensional vector graphics in WPF. Here he explains why.
.NET Matters - Asynchronous Stream Processing
This month Stephen Toub discusses asynchronous stream processing.
{ End Bracket } - What is ALT .NET?
Jeremy D. Miller explains the motivation behind the ALT .NET movement.
Mobile WCF - Write an IM App with the .NET Compact Framework
The .NET Compact Framework 3.5 provides a subset of Windows Communication Foundation (WCF) functionality that you can harness to communicate between Windows Mobile devices and desktop PCs. We'll show you how.
IIS 7.0 - Build Web Server Solutions with End-To-End Extensibility
Mike Volodarsky demonstrates the IIS 7.0 extensibility model by extending the Response Modification into a configurable Web server module and a custom management page for IIS Manager.
VSTO 3.0 - Developing Office Business Apps with Visual Studio 2008
With custom form regions in Outlook you can pull in data from designated data sources and truly customize your users' Outlook 2007 experience.
Unit Testing - Apply Test-Driven Development to your Database Projects
Jamie Laflen extols the benefits of TDD when applied to database development—and supplies some useful techniques along the way.
F# Primer - Use Functional Programming Techniques in the .NET Framework
Here we introduce you to some of the concepts behind the new F# language, which combines elements of functional and object-oriented .NET languages. We then help you get started writing some simple programs.
Editor's Note - A Large Release Wave is Headed your Way
This month Howard Dierking discusses the coverage of Windows Server 2008, SQL Server 2008, and Visual Studio 2008.
Toolbox - SQL Code Completion, Subversion Tools, Agile Development, and more
This month: help writing SQL code, modeling your database with SubSonic, and a review of Visual Studio Team System: Better Software Development for Agile Teams.
Cutting Edge - Modal Dialog Boxes with AJAX
This month Dino Esposito shows you how to get Windows-style modal dialog boxes for your Web applications thanks to theAjax Control Toolkit and some clever coding.
Test Run - Custom Test Automation with Team System
In this month's column Dr. James McCaffrey describes some of the ways you can use the Visual Studio 2005 Team System to manage custom software test automation.
Wicked Code - Silverlight Tips, Tricks, and Best Practices
: Jeff Prosise presents great tips for Silverlight development, which while it's gaining wide adoption, still needs more documentation and best practices so developers can make the most of the dazzling new features.
Service Station - Web Service Software Factory Modeling Edition
Web Service Software Factory: Modeling Edition is a collection of resources for modeling and building Web services for Windows Communication Foundation and ASMX.
Foundations - Workflow Services
With the NET Framework 3.5, Windows Workflow Foundation can now truly be integrated with Windows Communication Foundation. This column describes how the integration works and how to make use of it effectively.
Windows with C++ - Windows Services Enhancements
Windows Vista and Windows Server 2008 bring some significant changes that make it simpler to produce services that are more secure and responsive.
Team System - Check-in Notes and Policies
Learn how to add check-in notes and check-in policy support to a Word add-in, in this fifth and final installment of an ongoing discussion.
{ End Bracket } - The Digital Declaration of Independence
Bill Hill discusses his Digital Declaration of Independence.
Roll Your Own - Create a Language Compiler for the .NET Framework
Joel Pobar presents an introduction to how compilers work and how you can write your own compiler to target the .NET Framework.
WinUnit - Simplified Unit Testing for Native C++ Applications
Maria Blees introduces WinUnit, a handy new unit testing tool for native C++ projects.
Silverlight - Create a Custom Expression Encoder Publishing Plug-In
Laurence Moroney demonstrates how to employ the Expression Encoder plug-in APIs by building and debugging a simple FTP upload plug-in.
PIAB And WCF - Integrating the Policy Injection Application Block with WCF Services
Using the PIAB you can enhance WCF services with policies such as validation, performance monitoring, authorization and caching without having to change a line of code.
WF How-To - Building State Machines with Windows Workflow Foundation
State Machine workflows represent a different way of visualizing program logic.Rather than flowing from activity to activity like sequential workflows, State Machines transition from state to state.Learn about uses for State machines and see how to design and build a State Machine workflow with Windows Workflow Foundation.
Editor's Note - Overcoming Language Barriers with Elegant Design
This month Howard Dierking explains why the choice of a programming language can be a personal one.
Toolbox - Powerful Text Editing, Web Testing in .NET, Extended Unit Testing, and More
Powerful Text Editing, Web Testing in .NET, Extended Unit Testing, and More
CLR Inside Out - Dynamic Languages and Silverlight
DLRConsole gives you an interactive environment for playing with dynamic languages in Silverlight.
Basic Instincts - XML Programming in Visual Basic 9.0
With Visual Basic 9.0, working with XML gets much easier for developers.Here's a look at some of the new features, including LINQ support, XML literals, embedded expressions, XML properties, andXML Schema IntelliSense.
Data Points - Designing an Entity Data Model
With the Entity Framework, developers are given more flexibility by being able to design around a conceptual model rather than a relational data model.To get started, you need to know how to design an Entity Data Model. John Papa walks you through that process.
Cutting Edge - Customize Controls with AJAX Extenders, Part 2
This month Dino looks at AJAX control extenders again, adding more advanced features including masked editing and autocompletion.
Office Space - Security Programming in SharePoint 2007
This month Ted Pattison presents an overview of programming security and permissions for Windows SharePoint Services 3.0.
Test Run - The Microsoft UI Automation Library
James McCaffrey shows you how to get started with UI test automation using the new Microsoft UI Automation library.
Foundations - What's New for WCF in Visual Studio 2008
Visual Studio 2008 and the .NET Framework 3.5 provide new tools and support that extends Windows Communication Foundation (WCF). Visual Studio 2008 also automates a number of manual WCF tasks for the developer as well.
.NET Matters - Stream Pipeline
This month Stephen Toub explains how to make the most of dual processors when running encryption and compression tasks.
{ End Bracket } - Finding the Best of the Best
Passion, intelligence, and the love of learning exemplify the ideal Microsoft candidate. Howard Dierking explores these and other recruitingphilosophies.
IIS 7.0 - Enhance Your Apps with the Integrated ASP.NET Pipeline
Mike Volodarsky demonstrates how IIS 7.0 lets you add performance and security upgrades to PHP apps without touching a line of PHP code.
World Ready - Around the World with ASP.NET AJAX Applications
The .NET Framework has excellent internationalization support, but JavaScript does not. If you're using ASP.NET AJAX, learn what you need to do to adapt.
WCF Syndication - HTTP Programming with WCF and the .NET Framework 3.5
Introducing Web-centric features of Windows Communication Foundation in the .NET Framework 3.5, including the HTTP programming model and the new syndication API.
SQL Server - Uncover Hidden Data to Optimize Application Performance
SQL Server 2005 gathers a lot of useful data that you can use to identify areas where database performance can be improved. Here's what you need to improve performance.
Look it Up - Managing Directory Security Principals in the .NET Framework 3.5
Here's an overview of the new System.DirectoryServices.AccountManagement class in the .NET Framework 3.5 and how it simplifies working with directory services.
Editor's Note - A New Year—A Fresh Perspective
The results of our reader survey are in. This month, Howard Dierking shares the takeaways.
Toolbox - Advanced Unit Testing, Object Mocking, Profiling Your Apps and More
This month we look at advanced unit testing, object mocking, profiling, and lots more.
CLR Inside Out - Marshaling between Managed and Unmanaged Code
Marshaling is an important part of .NET interop. It allows you to call into unmanaged code from managed code. This column will help you get started.
Data Points - Accessing Data from a Mobile Application
This month John Papa takes a look at developing a mobile application that can access data on your application server.
Advanced Basics - Reflection and Generics
This month Advanced Basics flaunts the power of generics and reflection and shows how you get more flexible and efficient development by combining the two.
Cutting Edge - Customize Controls with AJAX Extenders
AJAX Extenders extend the behavior and features of ordinary Web controls so you can reduce postbacks and control input even better than with AJAX alone.
Wicked Code - Drag and Drop with ASP.NET AJAX
Jeff Prosise shows how you can implement drag-and-drop functionality in your Web app with ASP.NET AJAX.
Foundations - Templates for Uncommon Controls
Charles Petzold demonstrates how Windows Presentation Foundation (WPF) templates let you turn common controls into uncommon visual objects.
Extreme ASP.NET - Encapsulate Silverlight with ASP.NET Controls
To implement Silverlight in ASP.NET pages, you can encapsulate your Silverlight elements in ASP.NET controls. Here's how.
{ End Bracket } - Passion for the Craft
Scott Hanselman ruminates on the term "5:01 developer" and why success in any field requires passion and craftsmanship.
Map LINQ - Create Dynamic Maps with Visual Basic 9.0 and WPF
Scott Wisniewski uses Windows Presentation Foundation data binding along with LINQ and new XML features in Visual Basic to build an interactive app that maps demographic data.
VSTO - Build Office-Based Solutions Using WPF, WCF, And LINQ
With Visual Studio Tools for Office you can easily build Office-based services that harness the power of Windows Communication Foundation, Windows Presentation Foundation, and LINQ.
Cmdlets - Extend Windows PowerShell With Custom Commands
Jim Truher presents an introduction to writing and registering your own custom cmdlets to be used in Windows PowerShell.
Interop - Connect To Mainframe Apps With BizTalk Adapters and .NET
If you have a significant investment in legacy COBOL applications running on mainframes, you need the BizTalk Adapters for Host Integration Server .
Security - Authenticate Users Across Organizations Using ADFS
Jack Couch looks at how to set upADFS and when to use it; he then shows how to connect to an outside organization to offer single sign-on.
Editor's Note - Take a Deep Breath
This month Howard Dierking reflects on 2007 and looks forward to exciting possibilities in 2008.
Toolbox - Live Chat, Code Conversion, Multiple Monitors, and More
This month, more of the tools you need to get your job done.
CLR Inside Out - Writing Reliable .NET Code
Here's a look at how code fails and techniques for writing more reliable and resilient managed code.
Data Points - Data Binding in WPF
WPFis one of the most important new technologies in the .NET Framework 3.0. This month John Papa introduces its data binding capabilities.
Cutting Edge - Inside the Microsoft AJAX Library
Dino Esposito introduces the Microsoft AJAX Library and the JavaScript library for ASP.NET AJAX 1.0.
Test Run - UI Automation with Windows PowerShell
This installment of Test Run is a guide to using Windows PowerShell to perform ultra lightweight UI automation.
Service Station - Extending WCF with Custom Behaviors
WCF extensibility points allow you to customize the process by which messages are translated, formatted, and sent over the wire for more customized services.
Netting C++ - EEK!—Time to Design the Mouse
This month begins the design of the actual mouse class for EEK!
.NET Matters - IFileOperation in Windows Vista
The author creates a managed wrapper to use the new IFileOperations interface in Windows Vista from managed code.
Windows with C++ - Windows Template Library 8.0
Kenny Kerr takes a look at Windows Template Library (WTL) support for new Windows Vista control enhancements, including task dialogs, Aero wizards, and open file dialogs.
{ End Bracket } - You Should Learn SharePoint
Robert Bogue explains five reasons why you should make learning Microsoft SharePoint Technologies a priority, including its framework for user interface components and the embedded search engine.
Trustworthy Computing - Lessons Learned from Five Years of Building More Secure Software
Five years ago, Bill Gates issued a directive to enhance security across the board. Since then, many valuable lessons have been learned about building more secure software.
Crash Course - Analyze Crashes to Find Security Vulnerabilities in Your Apps
Here the authors analyze program crashes to help you understand if you have the potential for read or write violations in your applications, and how they can lead to security vulnerabilities.
Code Reviews - Find and Fix Vulnerabilities Before Your Application Ships
Code defects can be found using many approaches, but manual code reviews standout in terms of precision and quality. We provide some best practices for planning and executing code reviews on your own team.
Fuzz Testing - Create a Custom Test Interface Provider for Team System
Dan Griffin shows the extensibility of Visual Studio 2005 Team Edition for Software Testers by discussing the modification of the existing Test Interface Provider sample in the latest Visual Studio SDK and implements Fuzz Testing.
Editor's Note - Why Go to Extremes?
This month Howard Dierking sheds some light on what we really mean when we talk about security.
Toolbox - Updated grid controls, open-source comparison tools, and more
This time: Windows Forms grids, professional-looking date textboxes, file merging, and more.
CLR Inside Out - Managing Object Lifetime
Although the .NET Framework provides a managed execution environment, it is important to consider object lifetime management and write code that uses and releases resources correctly. The CLR team shows you how.
Basic Instincts - Extension Methods
This column discusses one of the new features of Visual Basic 2008—Extension Methods. This powerful new feature was introduced to support LINQ. See what extension methods are, how to apply them yourself, and get some great usage tips.
Office Space - Events in SharePoint 2007
Windows SharePoint Services (WSS) 3.0 provides a new and improved infrastructure for handling server-side events. In this installment of Office Space, we look at techniques for hooking up Before Events and After Events using both Features and code.
Cutting Edge - Managing the User Experience in AJAX
This month Dino takes a look at limitations and UI issues in Partial Rendering AJAX pages and techniques for managing the UI.
Team System - Custom check-in policies
Team Foundation Server provides APIs that let you create check-in notes (categorized string data) and custom check-in policy implementations. These features combine to give project administrators better control over the group development process.
Foundations - Synchronization Contexts in WCF
After a description of what synchronization contexts are and how WCF uses them, the author demonstrates various options for extending WCF to use custom synchronization contexts, both programmatically and declaratively.
Bugslayer - Measuring the Impact of View State
Bloated view state can be a real performance bottleneck for your Web app, but it can be difficult to diagnose. John Robbins creates a handy tool that records and reports the view state size for pages in your ASP.NET applications.
Concurrent Affairs - Simplified APM with C#
Jeffrey Richter introduces his AsyncEnumerator class and explains how it harnesses some recent additions to the C# programming language that make working with the asynchronous programming model significantly easier.
.NET Matters - Debugging finalizers
Find out how to use finalizers as a way to warn developers who use your custom types when they are garbage collected without having been disposed of correctly.
{ End Bracket } - WPF is for developers, too
There's still a role for developers in creating applications with WPF and XAML. In fact there are three: plumber, widget author, and ground breaker.
Pooled Threads - Improve Scalability With New Thread Pool APIs
The new threadpool APIs in Windows Vista and in the upcoming Windows Server 2008 provide advances that even native Windows developers can benefit from.
WPF Threads - Build More Responsive Apps With The Dispatcher
Understanding the Windows Presentation Foundation threading model helps when creating user interfaces that are both compelling and responsive.
Parallel LINQ - Running Queries On Multi-Core Processors
Use Parallel Language Integrated Query (PLINQ) to take advantage of multi-processor computers and the newer wave of multi-core processors.
Parallel Performance - Optimize Managed Code For Multi-Core Machines
While multi-core processors have become increasingly common, most applications still fail to take advantage of multiple cores. Here's an overview of creating multithreaded applications that benefit from these new processors.
Mobile Apps - Adjust Your Ring Volume For Ambient Noise
Here's an overview of designing and installing a Windows Mobile app that monitors the noise level in the surrounding environment and adjusts the ring volume of a Pocket PC accordingly.
Editor's Note - The Complexity of Complexity
This month our new Editor-in-Chief, Howard Dierking, ponders the convenience of metaphor and abstraction in both software design and magazine production.
Toolbox - Manage databases, easier FTP, and clustered caching
This month's products include DatabaseSpy, FileZilla, NCache, and more.
CLR Inside Out - IronPython and the Dynamic Language Runtime
This column uses the .NET version of the Python programming languages IronPython to demonstrate the value of dynamic languages and the new Dynamic Language Runtime.
Basic Instincts - Type inference in Visual Basic 2008
Visual Basic 2008 provides type inference to get the language ready to take advantage of LINQ and make your code more robust.
Data Points - Common Table Expressions
In T-SQL, views and derived tables serve similar purposes and have their advantages. But when working with SQL Server 2005,there's a third option--using Common Table Expressions (CTEs).John Papa explains.
Cutting Edge - AJAX application architecture, Part 2
The second of this two-part series delves into the script services programming model, which is useful if you're looking for a full paradigm shift in building AJAX applications.
Test Run - Test automation with Windows XP Embedded
This month's column explores how to create lightweight but powerful UI test automation for software systems that run on Windows XP Embedded.
Foundations - 3D text in WPF
This month Charles Petzold explores techniques for generating 3D text in Windows Presentation Foundation.
Windows with C++ - Task Scheduler 2.0
The new Task Scheduler in Windows Vista can do so much more than previous versions. We introduce some basic concepts and building blocks you can put to use in your own scheduled task projects.
Netting C++ - Describing the EEK!-osystem
This column crafts an XML document to hold the mouse environment simulation data and shows how to incorporate an XML file into the program using a DataSet.
.NET Matters - Deadlock monitor
This month Stephen Toub discusses deadlocks that can occur when synchronizing threads.
{ End Bracket } - Matrimony mashup
Our site manager Mike Richter leverages Virtual Earth, the Microsoft MapPoint Web service, and Visual Studio to automate the creation of a Web site for his future nuptials and to manage the guest list.
ASP.NET - ScriptManager Enables AJAX In Your Web Apps
Learn how to use the ScriptManager control, which provides much of the magic behind ASP.NET AJAX.
Find It - Integrate Search Into Your Site With ASP.NET
We implement search providers for both and SharePoint so you can take advantage of either in your own applications.
Networking - Get Connected With The .NET Framework 3.5
This article covers three core changes to networking support in Visual Studio 2008 and the upcoming release of the .NET Framework.
IIS 7.0 - Extend Your WCF Services Beyond HTTP With WAS
Learn about a new IIS feature called the Windows Process Activation Service (WAS) that makes it possible to host Web services beyond HTTP.
Unit Testing - Exploring The Continuum Of Test Doubles
Creating and using mock component servers simplifies unit testing. Use these examples to get started.
Editor's Note - Summer in New York
As the thermometer rises, we cool down with a look at AJAX technologies.
Toolbox - ASP.NET Controls, FTP, and More
ASP.NET controls, a comprehensive FTP library, rich imaging support, and a book about SQL Server 2005.
CLR Inside Out - COM Connection Points
We create an Active Template Library (ATL) connection point server.
Basic Instincts - Lambda Expressions
Sample the basic concepts of lambda expressions, explore their benefits, and witness how to use them to write more expressive programs.
Cutting Edge - AJAX Application Architecture, Part 1
In the first of a two-part column, Dino explains AJAX from an architectural standpoint to help developers, architects, designers, and administrators better understand the issues that affect their sites.
Team System - Work Items and Undo Support
Add support for work items to the Team Foundation Server version control add-in.
Foundations - Workflow Communications
Matt Milner introduces the Windows Workflow Foundation (WF) communication architecture and covers sending data out of a workflow and submitting data to running workflow instances.
Security Briefs - Exploring Claims-Based Identity
Keith Brown introduces you to the new identity model in the Microsoft .NET Framework 3.0.
.NET Matters - Tales from the CryptoRandom
Stephen Toub and Shawn Farkas discuss creating an adapter that takes the functionality of RNGCryptoServiceProvider and adapts it to the interface of Random.
{ End Bracket } - Turning the Pages with WPF
The British Library is digitizing some of its collection to reach a broad audience. Even better, the digitized versions are being turned into a rich interactive experience that brings the books to life.
Gadgets - Build Your Own Windows Vista Sidebar Gadget
A Sidebar gadget is a powerful little too that's surprisingly easy to create. Get in on the fun with Donavon West.
WPF - Flexible Content Display With Flow Documents
Markus Egger discusses all the flexibility and power of flow documents in Windows Presentation Foundation
OPC - A New Standard For Packaging Your Data
Open Packaging Conventions (OPC) defines a structured means for storing application data together with related resources. Learn about the benefits here.
Office Apps - Extend Your VBA Code With VSTO
VSTO brings you the full feature set of Visual Studio including LINQ, WPF, WCF, and the .NET Framework 3.5.
Excel Services - Develop A Calculation Engine For Your Apps
The Excel Services architecture lets users design their own algorithms and share workbooks on a server.
Editor's Note - Thanks for the Memories!
Stephen Toub gets nostalgic as he prepares to leave MSDN Magazine.
Toolbox - Create Graphs, Send E-Mail, Spell-Check, and More
Turn boring data into stunning graphs, create, parse, send, and receive mail messages from code, and more.
CLR Inside Out - Collections Best Practices
This month Inbar Gazit shows readers how to get the most out of the System.Collections namespace.
Basic Instincts - Query Comprehensions
Scott Wisniewski digs into LINQ and builds a custom query provider to create queries in real-world apps.
Office Space - Solution Deployment with SharePoint 2007
WSS 3.0 introduces a new deployment mechanism that lets you move your development efforts into a staging or production environment.
Cutting Edge - Canceling Server Tasks with ASP.NET AJAX
This month Dino explains how to remotely cancel tasks running on the server using ASP.NET AJAX.
Extreme ASP.NET - Web Client Software Factory
The Web Service Software Factory is designed to provide guidance and enhanced tools for building Web services using ASMX or WCF.
Foundations - Declarative WCF Security
Juval Lowy designs easily configured security settings for applications built on Windows Communication Foundation.
Netting C++ - Configuration with XML
Stanley B. Lippman explores the use of C++/CLI as a pure Microsoft .NET Framework-compliant language.
Windows with C++ - Windows Vista Control Enhancements
With the release of Windows Vista, C++ developers will be happy to know there's plenty of magic left to perform. This new column will provide the necessary insight.
{ End Bracket } - Dependency Management
Dependency management, in which one group provides a software component to be utilized by others, can really benefit from some structure and collaborative efforts.
Mobility - Make Your WPF Apps Power-Aware
Here Andre Michaud shows you how to use power notifications to make your applications power aware.
Share Code - Write Code Once For Both Mobile And Desktop Apps
If you're building .NET client apps already, target them toWindows Mobile using the same skills and toolsets.
NTFS - Enhance Your Apps With File System Transactions
Presented here is an overview of Transactional NTFS and how it revolutionizes transactions.
Security - Applying Cryptography Using The CNG API In Windows Vista
Cryptography Next Generation (CNG) is meant to be a long-term replacement for the CryptoAPI, providing replacements for all of the cryptographic primitives it offered.
Speak Up - Support Dictation With Text Services Framework
Learn how to make your apps speech-aware by supporting Windows Speech Recognition and the Text Services Framework.
Editor's Note - What Is Mobility?
Does mobility come from a motorized scooter, a cell phone, or a Pocket PC? It depends on who you are.
Toolbox - Find Bottlenecks, Code Similarities, and More
This month, find performance and memory bottlenecks, essential security reading, and more.
CLR Inside Out - Digging into IDisposable
This month: cleaning up resources that are not garbage collected by the CLR garbage collector.
Data Points - ADO.NET Entity Framework Overview
The new Entity Framework in ADO.NET will let you manipulate data using an object model. John Papa explains.
Cutting Edge - Context-Sensitive Feedback with AJAX
Beyond progress bars: talking to server-side apps with ASP.NET AJAX.
Service Station - WCF Bindings In Depth
The WCF programming model makes it easy to configure services with a variety of wire formats and message protocols, thanks to binding.
Bugslayer - Wait Chain Traversal
Windows Vista has a new API called Wait Chain Traversal (WCT), which allows you to determine when and why a process is deadlocked. Read on.
Security Briefs - Active Directory Cache Dependencies
If you're not taking advantage of Active Directory, you should be. Learn the benefits from Keith Brown.
Foundations - Extending the WPF Animation Classes
Learn what the WPF Animation Classes can do, what they can't, and how to extend them.
{ End Bracket } - Weaving Your Photos with Photosynth
See what the Interactive Visual Media Group at Microsoft Research is up to these days.
C# 3.0 - The Evolution Of LINQ And Its Impact On The Design Of C#
LINQ gives allows developers to take advantage of the power of queries. Find out how it came to be.
VISUAL BASIC - Unleash The Power Of Query In Visual Studio "Orcas"
LINQ, coming in the next version Visual Studio, codename "Orcas",adds type-safe data querying to .NET languages.
C++ - An Inside Look At The Next Generation Of Visual C++
The next version of Visual Studio (code-named “Orcas”) will help C++ developers take full advantage of the new capabilities in Windows Vista.
OFFICE UI - New VSTO Features Help You Customize Word And Outlook
See how to use Microsoft Visual Studio Tools for the Microsoft Office System to build powerful custom applications against the 2007 Microsoft Office system.
SILVERLIGHT - Get Started Building A Deeper Experience Across The Web
Build rich, compelling, cross-platform, interactive applications with Microsoft Silverlight.
CONCURRENCY - Synchronization Primitives New To Windows Vista
Windows Vista has lots of goodies for native C++ developers including condition variables, slim reader/writer locks, and one-time initialization.
Editor's Note - Visual Studio at 10
Ruminations on ten years of Visual Studio.
Toolbox - XML Comments, Online Payments, and More
This month, online payment processing services, XML comments the easy way, and more.
CLR Inside Out - Reflections on Reflection
This month's installment of CLR Inside Out takes on reflection and the System.Reflection namespace.
Data Points - SQL Server Management Objects
SQL Server Management Objects offer developers a robust toolset forbacking up and restoring databases, and issuing DDL commands, as John Papa explains.
Advanced Basics - Using RibbonX from Visual Basic
Ken Getz prepares Visual Basic developers to use RibbonX.
Cutting Edge - Transactional Workflows
When modeling business logic, workflows inevitably represent transactional tasks, so you need to know how to code transactional semantics in the Windows Workflow Foundation.
Service Station - WCF Addressing In Depth
This month Aaron Skonnard looks at addressing details surrounding endpoint communication, many of which enable more advanced messaging scenarios.
Wicked Code - UpdatePanel Tips and Tricks
Jeff Prosise explains when it's better to use UpdatePanel and when it's better to use asynchronous calls to WebMethods or page methods instead.
Foundations - ActivityExecutionContext in Workflows
This month Matt Milner explains a critical component in the execution, persistence, and compensation of workflows.
Concurrent Affairs - Asynchronous Device Operations
Jeff Richter uses the AsyncResult class to implement theCLR’s Asynchronous Programming Model to perform hardware device operations asynchronously.
Netting C++ - EEK! An Introduction
Stanley Lippman begins a look at using C++/CLI as a purely .NET-compliant language.
.NET Matters - Handling Messages in Console Apps
Many developers who use the Microsoft .NET Framework think that application type is tied to the libraries that can be used in that application. Stephen Toub clarifies.
{ End Bracket } - Proud to Be a Developer
A developer doesn't just code; he or she writes code that is fast, reliable, well-tested, secure, maintainable and globalizable.
JavaScript - Create Advanced Web Applications With Object-Oriented Techniques

Got Game? - Unleash Your Imagination With XNA Game Studio Express

WPF - Customizing Controls For Windows Presentation Foundation

Migration - Convert A Java Web Application To ASP.NET Using JLCA

BizTalk Server - 8 Tips And Tricks For Better BizTalk Programming

Collaborate - Help Teams Work Together With Web Services And Groove 2007

Editor's Note - Daylight Savings

Toolbox - Code Exploration, SQL Queries, and More

CLR Inside Out - 9 Reusable Parallel Data Structures and Algorithms

Office Space - Features for SharePoint

Cutting Edge - Subclassing and Overriding ASP.NET Pages—Part II

Test Run - Lightweight Testing with Windows PowerShell

Security Briefs - Events in Windows Vista

Foundations - WCF Transaction Propagation

{ End Bracket } - Exercising Agility

Identity - Secure Your ASP.NET Apps And WCF Services With Windows CardSpace
Windows CardSpace replaces traditional authentication with a more consistent and streamlined login process and improves trust between end-users, applications and services. Michèle Leroux Bustamante explains.
Aero Glass - Create Special Effects With The Desktop Window Manager
In this article we introduce the Desktop Window Manager, the new interface that manages how windows are rendered on the Windows Vista desktop.
XmlLite - A Small And Fast XML Parser For Native C++
XmlLite provides a high-performance, low-overhead XML reader and writer geared for applications written in native C++. Learn more here.
Event Tracing - Improve Debugging And Performance Tuning With ETW
Event Tracing for Windows (ETW) provides general-purpose, high-speed tracing of events raised by both user-mode applications and kernel-mode device drivers. Learn how ETW can improve your development and debugging work.
ASP.NET 2.0 - Enforce Web Standards For Better Accessibility
Web standards are about much more than closing HTML tags. They are a critical factor in how well software components can be used in future contexts.
Editor's Note - Winning Team
Josh Trupin discusses MSDN Magazine's awards from the Society for Technical Communication
Toolbox - WiX Installation, Creating PowerPoint Decks, and More
The WiX toolset’s use of a command-line environment allows for integration with automated build processes. The Toolbox column explains.
CLR Inside Out - New Library Classes in "Orcas"
The next version of Visual Studio currently code-named “Orcas”supports advanced encryption algorithms, Elliptic curve cryptography, big integers, and other security enhancements. The CLR team explains.
Data Points - Disabling Constraints and Triggers
What to do when you need to disable triggers and constraints to perform data synchronization and other tasks with an offline database.
Team System - Work Item Tracking
In this column, Brian Randell explains how to build a simple Work Item explorer and demonstrates the core operations needed to add work item support when building your own add-in.
Cutting Edge - Subclassing and Overriding ASP.NET Pages—Part I
There are a number of techniques that allow you to modify a running ASP.NET page without touching its source code. Dino discusses some this month.
Security Briefs - Improve Manageability through Event Logging
When something goes wrong, a manageable application will tell the administrator how to fix the problem. The Windows Event Log can provide the necessary information.
Service Station - WCF Messaging Fundamentals
This month Aaron Skonnard highlights some of the key messaging features behind the sophisticated XML-based messaging framework of Windows Communication Foundation.
Extreme ASP.NET - Web Deployment Projects
ASP.NET 2.0 development is the easiest ASP development yet. Fritz Onion reveals why.
Foundations - 3D Mesh Geometries
This month Charles Petzold focuses on a very important part of the Viewport3D assemblage—the MeshGeometry3D class that defines thegeometry of a 3D object in Windows Communication Foundation.
.NET Matters - Restart Manager and Generic Method Compilation
This month Stephen Toub answers questions pertaining to the Windows Vista Restart Manager API and generic method compilation.
Netting C++ - Mapping Templates to Generics
In this installment, Stanley Lippman continues to port his ISO-C++ Text Query Language application to the Microsoft .NET Framework and C++/CLI.
{ End Bracket } - Geopegging
Josh Trupin introduces geopegging--a special technique for storing GPS location data in a JPG.
IIS 7.0 - Explore The Web Server For Windows Vista And Beyond

.NET Security - Support Certificates In Your Applications With The .NET Framework 2.0

Digital Media - Add Video To Controls And 3D Surfaces With WPF

WiX Tricks - Automate Releases With MSBuild And Windows Installer XML

ASP.NET 2.0 - Manage Web Users With Custom Profile Providers

Editor's Note - Bring On the Swag

Toolbox - Share Your Desktop, Lightweight Code Editing, and More

CLR Inside Out - .NET Application Extensibility, Part 2

Test Run - Testing Custom Transform Streams

Cutting Edge - Validating ASP.NET Query Strings

Wicked Code - Scalable Apps with Asynchronous Programming in ASP.NET

Service Station - BizTalk Server 2006 Web Services

Bugslayer - GUI Control to Major Tom

Foundations - Tracking Services in Windows Workflow Foundation

Concurrent Affairs - Implementing the CLR Asynchronous Programming Model

{ End Bracket } - Developing the Virtual Earth 3D Control

RibbonX API - Extend The 2007 Office System With Your Own Ribbon Tabs And Controls
If you want to create your own professional looking tabs and controls in Office, check out the RibbonX API of the 2007 Microsoft Office system.
Smarter Art - Create Custom SmartArt Graphics For Use In The 2007 Office System
SmartArt incorporates a gallery of templates and predefined shapes that can quickly be inserted and configured in your Microsoft Office documents. Find out how.
Office Add-Ins - Develop Add-Ins For PowerPoint And Visio Using VSTO
Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System is more powerful than ever, allowing you to create add-ins for Word, Excel, Outlook, PowerPoint, Visio, and InfoPath.
Data Joins The Team - Introducing Visual Studio 2005 Team Edition for Database Professionals
Here Brian Randell presents everything you need to know to get started with Visual Studio 2005 Team Edition for Database Professionals.
SQL Server 2005 - Regular Expressions Make Pattern Matching And Data Extraction Easier
Now you can perform efficient, sophisticated text analysis using regular expressions in SQL Server 2005.
Editor's Note - Hello, Office
Nothing’s more disappointing than clever design paired with poor implementation.Bluetooth headsets come to mind: they’re tiny, wireless, and cute.But, they don’t pair properly, they turn on when you want them off, or off when you want them on.
Toolbox - Rich Web App UIs, Tools for Regular Expressions, and More
In this issue, create rich Web app UIs, explore tools for regular expressions, and create screen mockups.
CLR Inside Out - .NET Application Extensibility
This month the CLR team introduces the new System.AddIn namespace in the Base Class Library, which will be available in the next release of Visual Studio.
Data Points - Data Bound Applications with ADO.NET and Custom Objects
In this column see how to bind a custom list of business entities using the binding tools in the .NET Framework 2.0.
Office Space - Building Office Open XML Files
This new column explores how you can extend and customize Microsoft Office System applications and file formats.
Test Run - AJAX Test Automation
This month James McCaffrey presents a technique that allows you to write lightweight test automation to verify the functionality of AJAX Web applications.
Cutting Edge - Perspectives on ASP.NET AJAX
AJAX allows you to build rich browser applications using powerful combinations of existing client-side Web technologies. This month Dino delves into AJAX
Service Station - The Service Factory for WCF
This month Aaron Skonnard continues his exploration of software factories with a look at the Web Service Software Factory for Windows Communication Foundation.
Foundations - Build a Queued WCF Response Service
With queued calls in Windows Communication Foundation you can perform work in a disconnected manner by sending messages through Microsoft Message Queuing. Juval Lowy explains.
Netting C++ - Mapping Native C++ to the Common Type System
This month Stanley Lippman begins translating the Text Query Language Query class hierarchy from C++ to the .NET Common Type System.
C++ at Work - Rationales, Highlights, and a Farewell
What's the deal with const functions, and lots more on the reasoning behind the design of the C++/CLI.
{ End Bracket } - Let My People Code
Charles Petzold discusses why limiting resources can spawn great creativity.
Least Privilege - Teach Your Apps To Play Nicely With Windows Vista User Account Control
User Account Control in Windows Vista keeps the OS safe from intentional and accidental configuration changes.
Vista and Office - View Data Your Way With Our Managed Preview Handler Framework
Stephen Toub shows you how to write your own Preview handlers for Windows Vista and Outlook 2007.
SideShow Gadgets - Get Started Writing Gadgets For Windows SideShow Devices
SideShow Gadgets for Windows Vista are cool. Writing your own is even better. Find out how it's done.
Desktop Security - Create Custom Login Experiences With Credential Providers For Windows Vista
Why is a change to the Windows logon plug-in interface so exciting? Because with credential providers you can customize the logon experience for your users.
Worldly Windows - Extend The Global Reach Of Your Applications With Unicode 5.0
When using global applications, people want to communicate with others on their terms, in their own languages. Unicode 5.0 brings that ideal closer to reality.
Debug Leaky Apps - Identify And Prevent Memory Leaks In Managed Code
When is the .NET Garbage Collector unable to reclaim memory? The answer might surprise you. Stay tuned.
Editor's Note - A New Year—A New Vista
Josh Trupin revs the engine to get us all ready for Windows Vista.
Toolbox - Save Coding Time, Manage Compressed Files, and More
Save Coding Time, Manage Compressed Files, and More
CLR Inside Out - Introduction to COM Interop
The CLR allows seamless interactions between Microsoft .NET applications and COM. But how, exactly? The CLR team knows.
Data Points - Column Expressions, DataRelations, and Computations
This month John Papa fields some of his favorite questions regarding data manipulation with ADO.NET.
Cutting Edge - The Server Side of ASP.NET Pages
Where are the files generated by ASP.NET stored and how are they used to serve page requests? This month Cutting Edge explains.
Foundations - Using Templates to Customize WPF Controls
This month we welcome Charles Petzold to MSDN Magazine with his first column on building apps for Windows Vista and the .Microsoft NET Framework 3.0.
Team System - Team Foundation Server Version Control
In this new column, Brian Randell begins his long look at how to extend and enhance Visual Studio Team System.
Extreme ASP.NET - Client-Side Web Service Calls with AJAX Extensions
Microsoft AJAX Library and the ASP.NET 2.0 AJAX Extensions provide a number of compelling features ranging from client-side data binding, to DHTML animations and behaviors. Learn all about them here.
Security Briefs - Using Protocol Transition—Tips from the Trenches
Now that Windows Server 2003 iswidely deployed, Keith Brown addresses questions from readers who are trying to use protocol transition to build secure gateways into their intranets.
{ End Bracket } - From Bouncy Balls to Better Estimates
This month End Bracket explores the reasons why predicting the amount of development effort is extremely difficult early in a project.
Mobilize - Explore The New Features In Windows Embedded CE 6.0
Paul Yao presents an overview of Windows Embedded CE 6.0.
Graphics To Go - Make A Mobile Imaging App With The .NET Compact Framework 2.0
This article focuses on developing for Pocket PCs, a skill which can then be transferred to Smartphone application development.
Windows Workflow - Build Custom Activities To Extend The Reach Of Your Workflows
This article covers the core components required for building custom activities in Windows Workflow Foundation.
Extend ASP.NET - Simplify Data Binding In ASP.NET 2.0 With Our Custom Control
The wwDataBinder control addresses simple control data binding--binding simple form controls like textboxes, checkboxes, and the selected values of list controls to individual data or object values.
BizTalk Adapters - Integrate E-Mail Processing Into Your Business Solutions
Use BizTalk Server to monitor e-mail for new messages, trigger confirmations, and persist e-mail and attachments to a custom database.
Locale Hero - Enable Global Apps With Locale Builder And Windows Vista
Everything you need to know about locales in Windows Vista.
Editor's Note - A Look Into the Future
Josh Trupin takes a look at mobility, the theme of this month’s issue.
Toolbox - Issue and Defect Tracking, Automate IT Tasks, and More
In this issue, issue and defect tracking, automating IT tasks, and more.
Advanced Basics - TableLayoutPanels
This month Ken Getz writes a demo-creation system for Windows-based applications, which he calls a switchboard.
CLR Inside Out - Inside Diagnostic Tools for .NET
In this installment of CLR Inside Out, a look inside the CLR Profiling API and tools that use it.
Data Points - RSS Feeds on a Smartphone
John Papa builds a Windows Mobile 5.0 application that reads RSS feeds and loads them into an ADO.NET DataSet.
Cutting Edge - The Client Side of ASP.NET Pages
This month Dino Esposito dissects the client-side source code generated by ASP.NET pages.
Test Run - String Permutations
The ability to programmatically create and use string permutations is essential in software testing, as James McCaffrey explains.
Service Station - Web Service Software Factory
Web Service Software Factory is designed to help you build Web service solutions that follow known architecture and design patterns, as Aaron Skonnard explains here.
.NET Matters - Deserialization Progress, and More
Build a standard progress bar that indicates how much deserialization has completed and how much still remains. Plus, System.Collection.Generics performance.
Netting C++ - The Design Space of the Common Type System
Stanley Lippman moves Text Query Language to the Microsoft .NET Framework using the C++/CLI language extensions in Visual C++ 2005.
{ End Bracket } - And Along Came 10… (, the Channel 9 answer for the technology enthusiast who isn’t necessarily a programmer.
Secure Habits - 8 Simple Rules For Developing More Secure Code
Never trust data, model threats against your code, and other good advice from a security expert.
Threat Modeling - Uncover Security Design Flaws Using The STRIDE Approach
Whenever you build a new system you should consider how an in¬truder might go about attacking it and then build in appropriate defenses at design time.
Single Sign-On - A Developer's Introduction To Active Directory Federation Services
Use Active Directory Federation Services to allow other organizations to useyour Web applications without the need for you to grant access explicitly.
Smart Storage - Protect Your Data Via Managed Code And The Windows Vista Smart Card APIs
Smart cards are a compelling alternative to the reliance on passwords, which are the weakest link in authentication systems. Get the Windows smart card programming basics here.
Extending SDL - Documenting And Evaluating The Security Guarantees Of Your Apps
In this article, the author presents an extension to the Security Development Lifecycle Which could promote a better flow of information between users and designers of software security features.
SQL Security - New SQL Truncation Attacks And How To Avoid Them
Exploits using SQL injection have drawn a lot of attention for their ability to get through firewalls and intrusion detection systems to compromise your data layers.Whether it's a first-order or second-order injection, if you look at the basic code pattern, it is similar to any other injection issue where you use untrusted data in the construction of a statement.
Editor's Note - Healthy Printing
Why we use the paper we do.
Toolbox - Synchronize Files, Rich Textboxes, and More
Compare files and folders, create demo and support videos, add rich textboxes in your web apps, and more.
Basic Instincts - Server-Side Generation of Word 2007 Docs
This month, Office Open XML, which allows ASP.NET and SharePoint developers to read, write, and generate Word, Excel, and PowerPoint documents on the server without running an Office desktop application there.
Test Run - Using Excel For Test Data
This month see how to use Excel for test automation storage, whether you’rejust starting out with NET, or you’re an advanced programmer.
Data Points - Revisiting System.Transactions
The System.Transactions namespace of the Microsoft .NET Framework makes handling transactions much simpler than previous techniques.Read all about it this month.
CLR Inside Out - Investigating Memory Issues
Memory issues can manifest in a wide variety of ways. This column shows you how to collect the data you need to determine what types of mem¬ory issues you are experiencing.
Cutting Edge - A Tour of Windows Workflow Activities
Windows Workflow Foundation supports virtually any scenario where human opera¬tors are involved.Learn how to use it to tame your workflows.
Bugslayer - Minidumps for Specific Exceptions
This installment of Bugslayer covers the use of ADPlus to create a minidump of your Microsoft .NET Framework 2.0 pro¬cesses on specific exceptions.
Security Briefs - Limited User Problems and Split Knowledge

Concurrent Affairs - The ReaderWriterGate Lock

.NET Matters - Event Accessors
Creating events on classes by adding the event keyword to a delegate member variable declaration.
Netting C++ - Introducing Regular Expressions
This month Stanley Lippman introduces the support for regular expressions in the .NET Framework.
{ End Bracket } - Peripheral and Foveal Vision.
Considering human visual fields in software design.
WCF Essentials - What You Need To Know About One-Way Calls, Callbacks, And Events
Object and component-oriented programming have only one way for clients to call a method, but Windows® Communication Foundation introduces two more.In this article Juval Lowy explains how they work.
Peer To Peer - Harness The Power Of P2P Communication In Windows Vista And WCF
P2P applications face a number of barriers preventing their wide adoption as a productivity solution. Fortunately Windows Vista improves the situation, as you’ll learn here.
App Fundamentals - Build A Great User Experience With Windows Presentation Foundation
The Windows Presentation Foundation application model distinguishes between standalone and browser applications and between menu driven and hyperlink driven navigation, resulting ina more satisfying experience for your users.
Web Service Workflows - Deploy Distributed Business Processes With Windows Workflow And Web Services
Due to the distributed nature of a business process it makes sense for a workflow to be deployed as a distributed application.See how Windows Workflow and Web Services hold the key.
SQL Server 2005 - Jazz Up Your Data Using Custom Report Items In SQL Server Reporting Services
Custom report items in SQL Server 2005 Reporting Services address your needs for custom reports without the pain of doing it from scratch.
Editor's Note - Some Things Are Easier Said Than Done
Executive Editor Josh Trupin gets himself in trouble with live electrical current and a penchant for twiddling.
Toolbox - Protecting Code, Persisting Data, and More
This month obfuscating your code, persisting your data, and a good read on SQL Server 2005.
CLR Inside Out - IronPython
IronPython, the CLR implementation of the dynamic programming language Python is introduced this month.
Inside MSDN - Consuming MSDN Web Services
Get the inside track on how the MSDN team uses Web Services to power MSDN2.
Test Run - Competitive Analysis Using MAGIQ.
The goal of competitive analysis is to compare the overall quality of your software against similar systems. But it’s not easy. Here James McCaffrey accomplishes the goal with the help ofa little MAGIQ.
Cutting Edge - Simplify Task Progress with ASP.NET "Atlas"
Dino Esposito rewrites his task progress bar with the help of ASP.NET “Atlas.”
Extreme ASP.NET - Control Adapters
Control adapters let you provide alternate renderings of controls for mobile devices. But they can also be used to completely change the rendering of a con¬trol based on browser type, which can be useful in a number of situations.
Security Briefs - CardSpace, SqlMembershipProvider, and More
This month Keith Brown fields some reader questions on InfoCard turned CardSpace and passwords for SqlMembershipProvider.
Wicked Code - Running ASMX Web Services on STA Threads
Jeff Prosise describes performance problems in an ASMX Web service that relied on legacy COM and Visual Basic 6.0 to perform key processing tasks and the approach he took to find a fix.
C++ at Work - IRegistrar, Finding Submenus, and More
This month DLL problems, context menus, MFC strings to managed C++, and more.
{ End Bracket } - Is Programming an Art?
This month Stanley B. Lippman asks the question: Is programming an art? Find out what he concludes after some serious contemplation.
Smart Clients - New Guidance And Tools For Building Integrated Desktop Applications
Integrated Desktop is a loosely coupled hosting architecture and composite UI that runs on the desktop and is supported by a loosely coupled architecture on the back end. It collapses the number of applications a user must deal with when making decisions.
Enterprise Library - Take Exception To Critical Errors With Custom Application Blocks
Enterprise Library is a collection of application functionality blocks that you can re-use in your application for common functionality you'd otherwise have to write again and again. Here Jay Hilyard explains how to use them.
Earthly Delights - Code Your Applications To Deliver The World With Virtual Earth APIs
In this article, Chandu Thota highlights some of the most salient features of the Virtual Earth APIs and shows you how to build your own powerful mapping and local search applications using them.
Secure By Design - Your Field Guide To Designing Security Into Networking Protocols
If you were to build a new communications protocol from scratch, how would you address security? Here the authors take a look at that question and generate some valuable insights into secure protocols.
Editor's Note - It's Only the Beginning
MSDN Magazine Executive Editor introduces this issue
Toolbox - Create Help Docs, Automate Builds, and More
This month we look at creating documentation, guarding intellectual property, automating the build process, and a book on writing software.
Advanced Basics - Predicates and Actions
The System.Array and System.Collections.Generic.List classes provide methods that let you avoid writing code to loop through every element of an array or list to find the items you’re looking for. Ken Getz explains.
Test Run - Randomness in Testing
In this installment of Test Run, James McCaffrey discusses how you can generate random test case data.
CLR Inside Out - Using concurrency for scalability
Because of the popularity of multiprocessor machines, many concurrency articles focus on how to make concurrency safe in your code. However, they don't deal with how to get concurrency into your code in the first place.
Cutting Edge - Reporting Task Progress With ASP.NET 2.0
The progress bar is great for keeping users informed about the progress of a task. Unfortunately, there’s no progress bar element built into ASP.NET, so Dino Esposito solves that problem with his ProgressPanel control.
Service Station - What's new in System.Xml 2.0?
In this installment of Service Station, Aaron Skonnard takes a long hard look at System.Xml 2.0.
Concurrent Affairs - Concurrency and Coordination Runtime
What can a robot-programming toolkit do for you? Read on and find out.
.NET Matters - Scope and More
This month Stephen Toub explains how you can get some of the functionality found in the TransactionScope class in your own classes.
C++ at Work - Create Dynamic Dialogs, Satellite DLLs, and More
This month Paul DiLascia teaches readers the right way to create dynamic dialogs, explains satellite DLLs and discusses language resource DLLs.
{ End Bracket } - Dirty Rectangles.
Here Jon Schwartz discusses a programming environment designed just for kids.
Business Apps - What You Need To Know About Using Office As A Development Platform

Gathering MOSS - New Dev-Centric Features In Office SharePoint Server Keep Your Apps Rolling
Microsoft Office SharePoint Server (MOSS) 2007 provides great portal and search features and much more, and Ted Pattison puts them to good use here.
Add-In Power - Let Users Customize Your Apps With Visual Studio Tools For Applications
If you're looking to increase the usefulness of your applications by making them customizable,you'll want to read about these three technologies available from Microsoft.
InfoPath 2007 - Designing Form Templates With The New Features Of InfoPath
InfoPath 2007 is an XML forms designer and editor, and a fully featured and integrated member of the Office family. This article takes a sneak peek at some of its new features.
Use The Source, Luke - Source Server Helps You Kill Bugs Dead In Visual Studio 2005
The latest releases of WinDBG and Visual Studio know exactly how to use source server, so its benefits are available to both .NET and native C++ developers. See why this is so important in tracking down bugs.
Editor's Note - The Office-Driven Life
Josh Trupin introduces this month's issue.
Toolbox - Synchronize Data, Review Runtime Errors, and More
This month we bring you products that let you synchronize data, correct runtime errors, and more.
Basic Instincts - Resources and Localization in ASP.NET 2.0
In this installment of Advanced Basics Ted Pattison discusses the localization of Web sites in ASP.NET 2.0.
CLR Inside Out - CLR Hosting APIs
By using the CLR 2.0 hosting APIs, developers of native hosts can execute managed code in-process with complete knowledge and control over how the CLR behavior can affect their application.
Cutting Edge - All About Enums
Dino Esposito reviews the basics of enumeration types and their implementation in the Microsoft .NET Framework.
Design Patterns - Model View Presenter
The MVP pattern helps you separate your logic and keep your UI layer free of clutter. This month learn how.
Service Station - Serialization in Windows Communication Foundation
Windows Communication Foundation supports several serialization mechanisms and provides a simple, interoperable foundation for future service-oriented applications. Here Aaron Skonnard explains it all.
Security Briefs - Security in Windows Communication Foundation
Windows Communication Foundation provides three major protections— confidentiality, integrity, and authentication. This month Keith Brown explains what they can do for you.
Netting C++ - Resource Cleanup
Last time Stan Lippman did not consider the visibility of types and nondeterministic finalization in writing his TQL wrapper code. This month he rewrites the code.
C++ at Work - Addin a Combobox Cancel Feature
This month Paul DiLascia codes some Microsoft Office-style dialog box features.
{ End Bracket } - Deliver Beautiful Apps
Kevin Moore ruminates on the future of UI design in Windows Vista.
Atlas At Last - ASP.NET Atlas Powers the AJAX-Style Sites You’ve Been Waiting For

Code & Seek - Bring Windows Desktop Search Into Visual Studio With Our Cool Add-In

Beyond WinFX - Transactions, Aero Wizards, And Task Dialogs In Windows Vista

Web App Follies - Keep Sites Running Smoothly By Avoiding These 10 Common ASP.NET Pitfalls

WSS 3.0 Preview - Discover Significant Developer Improvements In SharePoint Services

Patterns & Practices - Speed Development With Custom Application Blocks For Enterprise Library

Editor's Note - GetReady for AJAX
If you’re fortunate enough to attend a developer conference this year, look around at the variety of people.There are all kinds out there, a diverse ecosystem as the marketing folks might say.Even within a relatively narrow group like programmers, you’ll find a wide range of goals and interests.
Toolbox - Networking, Rich UIs, and More
End users today expect a level of interconnectivity between applications that was unheard of a mere five years ago.Many applications periodically determine if a new version is available and, if so, offer to download and install it.
Advanced Basics - Monitor Your Apps with System.Diagnostics
It never fails. The application you just deployed ran great on your development machine—but stumbles in production. The problem might show up right away or maybe it creeps up over time. Now what?
CLR Inside Out - Using Strong Name Signatures
Strong name signatures (and signing in general) are a key facet of Microsoft® . NET Framework security.But regardless of how well designed . NET signatures may be, they won’t offer the maximum benefit if you don’t know how to use them properly.
Data Points - Report Controls in SQL Server 2005 Reporting Services
Reporting has always been one of the dark arts of development.The tools typically seem to do just enough to get you to a certain point, then leave you to find workarounds to solve more complex issues.
Cutting Edge - Context-Sensitive PictureBox Controls
Great ideas are timeless.A long time ago in Microsoft Systems Journal Paul DiLascia demonstrated a neat trick to display context-sensitive tooltips floating over pictures.As the user moved the mouse over the picture, the tooltip control updated its text to reflect the name of the pointed figure.
Inside MSDN - Building the MSDN Aggregation System
Have you visited msdn2. microsoft. com? It’s the new online face of the MSDN® Developer Tools and Enterprise Server documentation.The infrastructure behind it includes a system developed by my team at Microsoft for aggregating information related to our content.
Extreme ASP.NET - Asynchronous Web Parts
Building a customizable Web site complete with a collection of pluggable Web Parts is fairly easy with the portal infrastructure of ASP. NET 2. 0.This model is very flexible, allowing users to easily place your Web Parts anywhere on the Web page so they are free to customize your site.
C++ at Work - Controlling Balloon Tips, and More

{ End Bracket } - Refactor for Life
There are certain fundamental laws of the universe that we just can’t escape.One of these is the Second Law of Thermodynamics as it applies to the general branches of science.It says that everything moves to a state of equilibrium and an increase in disorder, or entropy.
Inside MSBuild - Compile Apps Your Way With Custom Tasks For The Microsoft Build Engine
Learn how you can use MSBuild to customize your builds. Since it ships as a part of the .NET Framework, you don't even need to have Visual Studio installed on your machine.
WCF Essentials - Discover Mighty Instance Management Techniques For Developing WCF Apps
Instance management refers to a set of techniques used by Windows Communication Foundation to bind a set of messages to a service instance. This article introduces the concept and shows you why you need instance management.
Configure This - Parameterize Your Apps Using XML Configuration In The .NET Framework 2.0
Thereare a number of ways to configure an application in the .NET Framework 2.0. This article explores the classes of the revamped System.Configuration namespace and explains how to use XML configuration files for your app configuration settings.
Class To Contract - Enrich Your XML Serialization With Schema Providers In The .NET Framework
The Microsoft .NET Framework 1.x provided minimal options for mapping classes to schemas and serializing objects to XML documents, making this sort of mapping quite a challenge. The .NET Framework 2.0 changes all this with Schema providers and the IXmlSerializable interface.
Share The Load - Report Visual Studio Team System Load Test Results Via A Configurable Web Site
This article discusses a new load test tool in Visual Studio 2005 Team System for performance and stress testing your Web sites, Web services, and other server components. Combined with its handy reporting capabilities, the load test tool provides some powerful options for sharing and managing test results.
Editor's Note - New and Improved Team
We've all been subconsciously conditioned through the years to turn a skeptical eye towards claims of being "new and improved. " After all, the phrase often means that some favorite feature has been turned into a new deficiency.
Toolbox - Generate Office Documents, Monitor Event Logs, and More
Most data-driven Web sites are used as interfaces to collect, process, and summarize information.Reports that summarize the data can be presented to the user in a variety of formats—the most common way is to display the report directly in a Web page.
Advanced Basics - Setting Word Document Properties the Office 2007 Way
The last time I wrote this column (March 2006), I shared an application that allows you to update all the Microsoft® Word documents in a folder and its subfolders.Each time the application finds a document in the specified path, it updates the document properties to match those you specified in the application.
CLR Inside Out - Windows Vista Globalization Features
Windows XP and the Microsoft .NET Framework both have APIs that support globalization. Windows Vista™ will further extend globalization support by introducing several new features.
Data Points - Designing Reports with SQL Server Reporting Services 2005
Many applications require some degree of integration with a reporting tool.A good solution, SQL Server™ Reporting Services 2005, provides Web-based reports and can be integrated into both Windows® Forms and Web-based applications.
Test Run - Five Ways to Emit Test Results as XML
The use of XML files in software testing has steadily increased over the past few years.Test case data, test harness configuration information, and test result data are now stored as XML.Recently I was writing some .
Cutting Edge - A Provider-Based Service for ASP.NET Tracing
When it comes to catching programming errors, the debugger is a developer's best friend.ASP. NET tracing, however, is a nice complement to the debugger and shouldn't be overlooked.It enables your ASP.
Service Station - WSE 3.0, SOAP Transports, and More
It's that time again. Time to answer some of the questions I get on a regular basis. This month I'll look at service orientation and policy-based compatibility, SOAP's transport-neutral design, and Web Services Enhancements (WSE) 3.0.
Wicked Code - Three Cures for Common Site Map Ailments
Data-driven site navigation is among the niftiest and most useful features in ASP. NET 2. 0.To get it working, all you do is create an XML site map file (or a SQL site map if you're using the MSDN®Magazine SqlSiteMapProvider), add a SiteMapDataSource, and bind a TreeView or Menu to the SiteMapDataSource.
Concurrent Affairs - Reader/Writer Locks and the ResourceLock Library
If multiple threads concurrently execute code that writes to or modifies a resource, then obviously the resource must be protected with a thread synchronization lock to ensure that the resource doesn't get corrupted.
.NET Matters - Parameterized ThreadStart, EventWaitHandle, and More
This month Stephen Toub answers readers questions that include: How do I pass data to a new thread? Why can't I convert from "ref string" to "ref object"? And what's the difference between EventWaitHandle, AutoResetEvent and ManualResetEvent?
Netting C++ - The .NET Wrap
This month, we are changing the column name from Pure C++ to Netting C++ to better reflect our focus on Microsoft® . NET programming using C++/CLI, the . NET extensions to Visual C++® that are supported in Visual Studio® 2005.
C++ at Work - Managed Code in Visual Studio 2005
Many of you are no doubt in the process of upgrading to Visual Studio® 2005, so I thought now would be a good time to relate some of my own experiences with the new compiler.What took me so long? Hey, I'm a retro kind of guy! Better late than never!.
{ End Bracket } - Singularity
When the C and C++ programming languages were invented, computers were slow, memory was limited, and compilers were simple and memory challenged, so a practical language could be little more than a veneer for assembly language.
Wrap It Up - Call Into The .NET Framework From Existing Visual Basic 6.0 Apps

x64 Primer - Everything You Need To Know To Start Programming 64-Bit Windows Systems

Mix And Match - Integrate Windows Forms Into Your MFC Applications Through C++ Interop

Bug Bash - Let The CLR Find Bugs For You With Managed Debugging Assistants
Managed Debugging Assistants are new to the .NET Framework 2.0 and help you to discover serious bugs quickly.Learn how to harness their power.
Analyze This - Find New Meaning In Your Ink With Tablet PC APIs In Windows Vista

Editor's Note -
We know what you're thinking.Visual Studio 2005 has been out for a few months now.You're getting your head around it, discovering its vast inner beauty.But still, there's a nagging voice inside your head taunting you, asking why you're content to work with a released product.
Toolbox - Database job scheduling, Browser Analysis, and More
From a developer’s perspective, once a database’s schema has been defined and the tables, stored procedures, and other database objects have been created, it can be forgotten, abstracted away into the data access layer of the application’s architecture.
Basic Instincts - Resources and Localization
There are two ways you can utilize resources such as strings, images, and text-based files from your Microsoft® . NET Framework-based application.You can embed them directly in the app or you can load them from an external file.
CLR Inside Out - The Performance Benefits of NGen.
T ypically, methods in managed executables are just-in-time (JIT) compiled.The machine code generated by the JIT compiler is thrown away once the process running that executable exits; therefore, the method must be recompiled when the application is run again.
Data Points - SQL Server 2005 XML Support, Exception Handling, and More
SQL Server 2005 includes several important improvements to the Transact-SQL (T-SQL) language.One added feature is a new kind of trigger that fires when data definition language (DDL) statements run.
Cutting Edge - Extending the GridView Control
Welcome to my100th consecutive installment of Cutting Edge.I've been writing this column since January 1998 in Microsoft Internet Developer.Looking back over the past eight years, I realize that I've touched on almost every subject in the Windows® SDK and the Microsoft® .
Test Run - Stress Testing.
Stress testing is a fundamental quality assurance activity that should be part of every significant software testing effort.The key idea behind stress testing is simple: instead of running manual or automated tests under normal conditions, you run your tests under conditions of reduced machine or system resources.
Extreme ASP.NET - Keeping secrets in ASP.NET 2.0.
Storing data securely in a configuration system is not an easy problem to solve.While I was on the ASP. NET team, this particular feature, secure connection string storage, looked as if it wouldn’t get done.
Security Briefs - Step-by-Step Guide to InfoCard
In my April 2006 column I began a discussion of InfoCard, the upcoming identity metasystem, which is being prepared for release in the Windows Vista™ timeframe.If you haven’t read that column, you should definitely start there because I’m going to assume you’re familiar with the basics I covered.
C++ at Work - Web Version Checking, Adding Sound to an App
This month: CWebVersion revisited using HTTP instead of FTP, and adding sounds to an MFC-based app.
{ End Bracket } - The Pay as You Go Model
How would you feel if you were having your dream house built, but when you inspected the house you found some fairly obvious flaws in the work—cracks in the foundation, support beams missing, crooked and leaning walls.
Managed Spy - Deliver The Power Of Spy++ To Windows Forms With Our New Tool
Spy++ displays Win32 information such as window classes, styles, and messages. Now you can get that same functionality for managed code using our ManagedSpy. Get it here.
No More Hangs - Advanced Techniques To Avoid And Detect Deadlocks In .NET Apps
You can combat deadlock using a combination of disciplined locking practices which Joe Duffy aptly explains in this article.
Mutant Power - Create A Simple Mutation Testing System With The .NET Framework
With mutation testing, the system under test is changed to create a faulty version called a mutant. Here James McCaffrey explains how to do this in .NET.
Built For Speed - Develop Turbocharged Apps For Windows Compute Cluster Server
This article explores the services provided by Compute Cluster Server 2003 and the tools provided by Visual Studio 2005 that will help you develop High-Perfomance Computing applications.
.NET Profiling - Write Profilers With Ease Using High-Level Wrapper Classes
Here Joachim H. Fröhlich and Reinhard Wolfinger show you how to get all the great functionality of the .NET Profiling API the easy way, with custom wrappers.
Editor's Note -
The returns are in. MSDN Magazine—or, we should say, the award-winning MSDN Magazine—has added a couple of trophies to the shelf.And in the spirit of sharing, we are also officially the award-giving MSDN Magazine.
Toolbox - Analyze HTTP Traffic, Synchronize Databases, and More
Debugging Web applications can be a difficult process due to the logical, physical, and temporal differences between the mishmash of technologies that comprise such an application. For bugs that arise from the HTML and script received by the browser or in the transfer or request of a page's markup, developers often adopt archaic debugging techniques, such as using View Source and Notepad to scrutinize the contents received by the browser.
Advanced Basics - IntelliSense Code Snippets
IntelliSense code snippets are one of the coolest new features in Visual Studio® 2005.Code snippets are highly customizable code fragments intended to accomplish simple to intermediate tasks quickly; they can be inserted into your code with just a few keystrokes.
CLR Inside Out - Extending System.Diagnostics
The System. Diagnostics namespace in the Microsoft® . NET Framework contains powerful tracing capabilities.This includes the main tracing API: TraceSource.As you will see, the tracing APIs in System.
Cutting Edge - Windows Workflow Foundation, Part 2
In last month's column, I presented a helpdesk workflow sample that focused on Windows® Forms client applications.This month I'll discuss ASP. NET workflow applications and the ability to expose a workflow as a Web service and invoke a Web service from a workflow.
Extreme ASP.NET - A New Solution to an Old State Storage Problem
State management in Web applications is a contentious issue.Should you store user data per session or should you persist it across sessions? You can easily store information temporarily while someone navigates your site by using session state.
Service Station - Migrating to WSE 3.0
You've probably heard that the new version of Web Services Enhancements (WSE) for the Microsoft® . NET Framework simplifies the process of building secure Web services.What you may not know is that most of these improvements derive from some core architectural changes made in WSE 3.
Security Briefs - A First Look at InfoCard
The Web can be annoying at times.I'm certain that I'm not alone in my frustration with filling out the same old forms on every Web site I visit.Like most other techies, I've acquired many tools over the years to help combat this repetition, and I even wrote my own password manager for my hundreds of different identities on the Web.
Pure C++ - How Templates and Generics Work Together
I'm closing out this series of columns on generic programming in the Microsoft® . NET Framework by showing how templates and generics do and do not work together, and pointing out a pitfall with the current implementation of templates under Visual C++® 2005.
C++ at Work - Implement Triple-Click, Subclass the Main Window

{ End Bracket } - The World-Wide Telescope
Someday all scientific literature and data will be online and accessible to everyone everywhere.The astronomy community has made unusually good progress toward this vision of online science in addition to addressing the associated challenges of data publication.
Winning Forms - Practical Tips For Boosting The Performance Of Windows Forms Apps
This article discusses techniques you can use to ensure that Windows Forms-based apps provide optimal performance to match the rich UI responsiveness they're known to provide.
Text Rendering - Build World-Ready Apps Using Complex Scripts In Windows Forms Controls
The System.Windows.Forms.TextRenderer class provides support for complex scripts in Windows Forms controls so you can render text the way you want and support international locales.
Outlook Add-Ins - Improve Your Outlook With Visual Studio Tools For Office
Microsoft Visual Studio Tools for Office 2003 supported only Microsoft Word and Excel. The new version, however, has the tools you need to create managed code add-ins for Outlook 2003.
Office Unbound - Bring Your Documents To Life With Data Binding In Visual Studio Tools For Office
Thanks to Visual Studio 2005 Tools for the Microsoft Office System, Windows Forms controls can be bound to databases, Web services, or objects and added to a workbook or document. Find out how.
Agile Development - Extend Team Foundation Server To Enable Continuous Integration
How does Visual Studio 2005 Team System and Team Foundation Server facilitate the process of agile development and continuous integration? Here Ben Waldron explains it all.
Reporting Services - Deliver SQL Server Reports To SharePoint To Enhance Team Collaboration
The solution covered here includes a custom SharePoint Web service that accepts SQL Server-generatedreport files and, through the WSS object model, stores the file in the appropriate library for enhanced collaboration possibilities.
The Perfect Host - Create And Host Custom Designers With The .NET Framework 2.0
The .NET Framework 2.0 introduces a set of classes that can be used to host designers right out of the box. With the understanding of designers you'll glean from this article, you'll be ready to host them in your own apps.
Editor's Note - When Did Clients Get So Smart?
This issue marks the sixth anniversary of our merger, when Microsoft Systems Journal and Microsoft Internet Developer combined to become MSDN Magazine.We've been around to witness the birth and growth of the Microsoft .
Toolbox - Automated Build Process, Real-World E-Mail Tasks, and More
While the Visual Studio® Build menu's Build Solution option is the usual way developers compile their current work on a project, the process of building the complete solution for testing, deployment, or production often requires many more steps.
Advanced Basics - Set Word Document Properties Programmatically
At the beginning of another lovely day of writing courseware in mad pursuit of unrealistic deadlines, I received a frantic call from a business partner.He was at the end of a long consulting project and had several hundred Microsoft® Word documents, all of which required their document properties to be set identically, except the Title property of the document, which was to be based on the document file name, minus the .
CLR Inside Out - Ensuring .NET Framework 2.0 Compatibility
If we learned only one thing about compatibility in the past few years, it is that compatibility is much more than avoiding breaking changes.On the Microsoft®. NET Framework and Visual Studio® teams, we do our part to ensure that the products we build are stable platforms that developers can truly rely on.
Data Points - Using XQuery, New Large DataTypes, and More
SQL Server 2005 introduces a lot of new features, but it also enhances the popular and oft-used Transact-SQL (T-SQL) language.Changes include the introduction of new datatypes to store large values using the MAX indicator, the integration of enhanced XML querying and data modification with XQuery, and the new XML datatype.
Cutting Edge - Windows Workflow Foundation
In the January 2006 issue, Don Box and Dharma Shukla introduced Windows® Workflow Foundation and discussed the overall architecture of the framework and its constituent components (see WinFX Workflow: Simplify Development With The Declarative Model Of Windows Workflow Foundation).
Test Run - Determining .NET Assembly and Method References
Before you can test any software system effectively, you must understand the system under test.If the system includes the Microsoft® . NET Framework, understanding the system under test includes understanding its assembly and method dependencies.
Concurrent Affairs - Build a Richer Thread Synchronization Lock
In my last column, I showed the various thread synchronization mechanisms employed by the Microsoft® . NET Framework (see Concurrent Affairs: Performance-Conscious Thread Synchronization).I then examined the performance characteristics of all these mechanisms and determined that the Interlocked methods performed the best because the calling thread never has to transition to kernel mode.
Bugslayer - Strengthening Visual Studio Unit Tests
Visual Studio 2005 brought so many new features to the table that it can seem almost overwhelming.One of the most exciting additions is the new unit testing features found in the Test menu on the main menu bar.
.NET Matters - Abortable Thread Pool

C++ at Work - Event Programming, Part 2
Last month I answered a question about implementing native events in C++ (see C++ At Work: Event Programming).I discussed events in general and showed how to use an interface to define event handlers for your class that clients must implement to handle events.
{ End Bracket } - Legal Doesn’t Think the Way You Do
If you develop software for a large company, you've undoubtedly experienced the joys of dealing with "Legal. " The meetings, the endless explanations, the long waits.I'm here to report from the other side.
Distributed .NET - Learn The ABCs Of Programming Windows Communication Foundation
Windows Communication Foundation unifies the existing suite of .NET distributed technologies into a single programming model to improve the developer experience. This article introduces WCF so you'll be prepared to take advantage of all the new capabilities.
UDP Delivers - Take Total Control Of Your Networking With .NET And UDP
UDP, the lesser-known sibling of TCP, is used for DNS resolution, SNMP network status, Kerberos security, digital media streaming, VoIP, and lots more. Learn how to put UDP to work for you.
Wandering Code - Write Mobile Agents In .NET To Roam And Interact On Your Network
In artificial intelligence, an agent is a logical entity that has some level of autonomy within its environment or host. A mobile agent has the added capability that it can move between hosts. In this article Matt Neely brings mobile agents from the halls of academia to a dev shop near you.
WSE Security - Protect Your Web Services Through The Extensible Policy Framework In WSE 3.0
This article describes the WSE policy framework, which allows you to describe constraints and requirements a Web service must enforce. Discussions include security scenarios in WSE 3.0 and extending the framework with custom constraints and requirements.
Smart Clients - Build A Windows Forms Control To Consume And Render WSRP Portlets
Smart client apps use local resources, provide a rich client experience, and support intelligent install mechanisms. Web services offer powerful interoperability and integration features. Find out how to combine them to develop integrated apps that incorporate data from disconnected sources.
Paste As Visual Basic - A Visual Studio Add-In That Converts C# Code To Visual Basic
Build a Visual Basic add-in that lets you copy C# code and paste it into Visual Studio as Visual Basic using the code converter of your choice. Scott Swigart shows you how.
Editor's Note - Code Name Confusion
We'd like to have a word about product code names this month.
Toolbox - User-Friendly UIs, Online Data Entry Controls, and More
Microsoft® Office is one of the most well-known and most-used consumer products.For many people, their only experience with a computer is when using Office, be it checking e-mail, creating presentations, or writing a document.
Basic Instincts - Introducing ASP.NET Web Part Connections
When you begin to work with the Microsoft® . NET Framework 2. 0 and ASP. NET, you discover that the new Web Parts infrastructure adds some very powerful functionality to the underlying platform.In the September 2005 issue of MSDN®Magazine, Fritz Onion and I have an article on programming Web Parts titled "ASP.
CLR Inside Out - Improving Application Startup Time
Visual Studio is a wonderful development environment, whose IntelliSense®, integrated debugging, online help, and code snippets help boost your performance as a developer.But just because you're writing code fast doesn't mean you're writing fast code.
Cutting Edge - Build Providers for Windows Forms
In ASP. NET and Windows Forms projects, some file types are treated differently than others.For example, ASPX and ASCX files are dynamically parsed and compiled to an assembly on the fly.The contents of an XML Schema Definition (XSD) file are used to create a new, strongly typed DataSet-based object at design time.
Wicked Code - The SQL Site Map Provider You've Been Waiting For
Now that ASP.NET 2.0 is a shipping product, it seems appropriate to revisit an issue that tops the new features wish lists of many developers: a SQL Server™ site map provider.
Pure C++ - Live Source Browsing in Visual C++
If you're wondering where Stan Lippman is, we're happy to report that he has graciously granted us the use of his column this month to talk about some of the recent work the Visual C++ team has been doing to improve developer productivity.
C++ at Work - Event Programming

{ End Bracket } - Building Voice User Interfaces
The GUI is the interface of choice for scenarios when the user has a large keyboard, mouse, and display.But most cell phones have just a keypad and a small display.Drivers want to get directions without taking their eyes off the road or their hands off the wheel.
WinFX Workflow - Simplify Development With The Declarative Model Of Windows Workflow Foundation
Windows Workflow Foundation allows you to write workflow-based programs in terms of domain-specific activities that are implemented in CLR-based programming languages such as C# and Visual Basic. Here Don Box and Dharma Shukla get you started.
Dazzling Graphics - Top Ten UI Development Breakthroughs In Windows Presentation Foundation
The Windows Presentation Foundation provides new techniques for UI-based developing applications and makes better use of current hardware and technologies. In this article, Ian Griffiths and Chris Sells explain 10 of the most significant advances that make WPF superior to its Win32 predecessors.
Talking Windows - Exploring New Speech Recognition And Synthesis APIs In Windows Vista
Windows Vista includes a built-in speech recognition engine exposed through a number of new APIs that will let your users interact with your app using speech rather than a keyboard or mouse. Here Robert Brown explains speech recognition and introduces you to the APIs to use in your upcoming Windows Vista applications.
XPS Documents - A First Look at APIs For Creating XML Paper Specification Documents
Windows Vista includes improved document technology called the XML Paper Specification that is designed to provide users with a consistent document appearance regardless of where and how the document is viewed, solving the age-old problem of document portability and display consistency. Here Bob Watson explains.
Visual Studio 2005 - Create Reusable Project And Item Templates For Your Development Team
Visual Studio 2005 introduces a new model that lets you define your own project templates and starter kits, something developers have been requesting for some time. Here Matt Milner shows you how to consume, create, and customize these templates.
Unit Testing Tips - Write Maintainable Unit Tests That Will Save You Time And Tears
Everybody's talking about unit testing and you want to get into the game too. But you don't want the tests to take up all your development time and energy. Fortunately Roy Osherove is here to dispel some testing myths and put you on the road to efficient unit testing.
Editor's Note - Back to the Future
As we head into the cold winter months, we've got great content to keep you warm! You might wonder why I started this Editor's Note with such a tired intro, but we have a reason.We're covering a lot of fresh, exciting new material this month, and we didn't want to upstage the good news.
Toolbox - Code Generation, A Charting Component, and More
Developers have a number of tools at their disposal, but which of these components do you really need to complete your project? Each month we'll analyze the latest software and books to see if they merit inclusion in your toolbox.
Dev Q&A - DataGridView
After receiving a late-breaking news bulletin at magazine headquarters early this month stating that the Web is just a fad that will never amount to anything, we have reluctantly decided to retire our venerable Web Q&A column and replace it with one we like to call Dev Q&A.
CLR Inside Out - Base Class Library Performance Tips and Tricks
The common language runtime (CLR) sits at the very heart of managed code. Indeed, it is the heart of managed code, so to understand managed code you need to understand the CLR.
Data Points - SqlConnectionStringBuilder, DataView, and More
Several significant enhancements have been made to ADO. NET 2. 0 in the areas of improved performance, increased flexibility, and added features.In my last column (Data Points: DataSet and DataTable in ADO.
Advanced Basics - The Sound of Music
So you've got a burning desire to accompany your application's splash screen with a rousing chorus of "Funky Cold Medina" (that's Tone Loc for those of you who aren't children of the 80s).Prior to working with Visual Studio® 2005, adding even simple tunes and system sounds to your application could be a challenge.
Cutting Edge - Custom Data Control Fields
In ASP. NET 2. 0, the GridView and DetailsView controls are designed to work together.They don't merely provide complementary services, they also share a number of helper classes and components.The output of the GridView control consists of a sequence of rows, each with a fixed number of columns.
Service Station - All About ASMX 2.0, WSE 3.0, and WCF
The release of the Microsoft® . NET Framework 2. 0 reshapes the Web services landscape in several interesting, and perhaps confusing, ways.So this month I'm going to field some of the most common questions related to ASP.
Extreme ASP.NET - Codebehind and Compilation in ASP.NET 2.0
As I write this column, the release candidates of the Microsoft® .NET Framework 2.0 and Visual Studio® 2005 have just come out, and by the time you read this, they will both already be on the shelves. It feels like it's been a long time coming.
Security Briefs - Encrypting Without Secrets
Do you have a Web site or other system that deals in secrets of any sort? It seems like every time I give a security talk, people ask how to deal with the sticky problem of storing secrets.Connection strings with passwords are an obvious problem.
.NET Matters - Iterating NTFS Streams

C++ at Work - Installing a Hook, Strings in Managed C++, and More

{ End Bracket } - Transactions for Memory
Injecting parallelism into your app is easy—managed code offers things like explicit threading and a thread pool for that.Ensuring your code remains correct when run in parallel, on the other hand, is not quite so simple.
Visual Basic - Navigate The .NET Framework And Your Projects With The My Namespace
The My Namespace is best described as a speed-dial for the .NET Framework. It provides an intuitive navigation hierarchy that exposes existing .NET functionality through easily understood root objects. Here Duncan Mackenzie explains it all.
Pure C++ - Hello, C++/CLI
C++/CLI is a self-contained, component-based dynamic programming language that, like C# or Java, is derived from C++. In fact, you can look at it as a natural step in the evolution of C. Stanley Lippman, who was there from the beginning, provides some insight.
C# - Create Elegant Code With Anonymous Methods, Iterators, And Partial Classes
In this article Juval Lowy describes how exciting new features in Visual Studio 2005, that will improve your overall productivity compared to the first version of C#, so you can write cleaner code faster.
.NET Column - Introducing Generics in the CLR
Generics are an extension of the CLR type system that allow developers to define types for which certain details are left unspecified. These details are specified when the code is referenced by consumer code, making for enhanced flexibility. Jason Clark explains how.
Smart Clients - Craft A Rich UI For Your .NET App With Enhanced Windows Forms Support
The System.Windows.Forms namespace has increased by approximately 134 percent over the .NET Framework 1.1. There are 446 new public types; 113 existing types have been updated with new members and values; 218 types have been carried over from the original namespace. Read about it here.
Web Apps - An Overview Of The New Services, Controls, And Features In ASP.NET 2.0
ASP.NET 2.0 aims to reduce the amount of code required to accomplish common Web programming tasks by 70 percent or more. New services, controls, and features make it almost as dramatic an improvement to ASP.NET 1.x as that was to ASP Classic. Here Jeff Prosise explores the new features.
Security Briefs - Security Enhancements in the .NET Framework 2.0
The.NET Framework 2.0 got quite a few security enhancements. This month Keith takes you on a whirlwind tour of the goodies you'll find there.
Team Up! - Get All Your Devs In A Row With Visual Studio 2005 Team System
In this article, Chris Menegay shows you how to use Team System throughout your software development lifecycle. He covers both the client tools available with Visual Studio Team Suite and the server features enabled by Team Foundation Server.
Editor's Note - Visual Studio 2005 Guided Tour
2005 was a truly exciting year for us here at MSDN Magazine.We launched a new magazine.We covered all sorts of amazing advances for the programmer, courtesy of Visual Studio 2005.We lost a couple of weeks, because of that dodgy falafel cart on 49th Street.
Power to the Pen - The Pen is Mightier with GDI+ and the Tablet PC Real-Time Stylus

Can't Commit? - Volatile Resource Managers in .NET Bring Transactions to the Common Type
Here Juval Lowy discusses the benefits you'll get when you implement transactions in your non-database applications, with a little help from volatile resource managers in the .NET Framework 2.0.
UI on the Fly - Use the .NET Framework to Generate and Execute Custom Controls at Run Time
Creating UI controls on the fly can be accomplished via run-time code generation. And there are lots of reasons to do so. Generating these controls once and then reusing them as needed is more efficient than generating the controls each time. Read on.
Got Directory Services? - New Ways to Manage Active Directory using the .NET Framework 2.0
System.DirectoryServices is a managed code layer on top of Active Directory Service Interfaces, and you can employ it to better manage Active Directory from your code. Here Ethan Wilansky helps you get started.
Ten Essential Tools - Visual Studio Add-Ins Every Developer Should Download Now
James Avery does it again with his popular list of developer tools. This time he covers the best Visual Studio add-ins available today that you can download for free.
Editor's Note - The Dark Side of Being a Guru
Back in the September 2005 issue of MSDN Magazine, we offered advice to our readers on how to become a guru.Perhaps "guru" is too strong a word, but it conveys the essence of our thoughts on the subject.
New Stuff - Resources for Your Developer Toolbox
Databeacon Smart Client software allows users to perform data analysis, turning relational data from any data source into online analytical processing (OLAP) cubes that can be explored and manipulated using one of three Databeacon viewers.
Advanced Basics - What's My IP Address?
If you're like me, you regularly do tech-support for family, friends, and neighbors.You can't go to a party without hearing the familiar refrain: "I've just got a quick question. " It's always something—their Internet connections get dropped, they've got a virus, they can't install some piece of hardware, or some file has gone missing.
Test Run - Software Testing Paradoxes
Paradoxes are fun. In this month's column I show you three interesting cases that can occur when you are performing software testing. They're fundamentally mathematical in nature, and they can be a useful addition to your troubleshooting arsenal.
Cutting Edge - Flexible Custom Data Views
ASP. NET 1. x introduced some powerful and useful data-bound controls.However, none were designed specifically to manage the view of a single record.When you build master/detail views, you need to display the contents of a single record.
Service Station - An XML Guru's Guide to BizTalk, Part 2
In my last column, I provided a brief introduction to BizTalk® Server 2004 for XML developers (see Service Station: An XML Guru's Guide to BizTalk Server 2004, Part I).I covered the product evolution, core architecture, and several aspects of the underlying messaging layer, all of which have helped make BizTalk Server 2004 the powerful integration technology it is today.
.NET Matters - BigInteger, GetFiles, and More

Pure C++ - Reflecting on Generic Types
A funny thing happened to templates on their way to the common language runtime (CLR)—they lost their {type} identity.This is analogous to what happens with macros under native programs.Just as the C/C++ compilers have no awareness of macro preprocessor expansions, the CLR has no awareness of template instantiations.
C++ at Work - Layered Windows, Blending Images

{ End Bracket } - Trustworthy Software
The Authenticode dialog box that users see when they download software from the Internet, asking them if they trust the publisher and want to install the software is, in my opinion, a useless and annoying waste of time that provides no safety whatsoever.
Are You in the Know? - Find Out What's New with Code Access Security in the .NET Framework 2.0
Unlike role-based security measures, code access security is not based on user identity. Instead, it is based on the identity of the code that is running, including information such as where the code came from. Here Mike Downen discusses the role of code access security (CAS) in .NET and outlines some key new features and changes in CAS for the .NET Framework 2.0.
Do You Trust It? - Discover Techniques for Safely Hosting Untrusted Add-Ins with the .NET Framework 2.0
When you allow your application to run arbitrary code through an add-in, you may expose users to unknown code, running the risk that malicious code will use your application as an entry point into the user's data. There are several techniques you can use to reduce the attack surface of your application, which Shawn Farkas discusses here.
Are You Protected? - Design and Deploy Secure Web Apps with ASP.NET 2.0 and IIS 6.0
Ensuring the security of a Web application is critical and requires careful planning throughout the design, development, deployment, and operation phases. It is not something that can be slapped onto an existing application. In this article, Mike Volodarsky outlines best practices that allow you to take advantage of the security features of ASP.NET 2.0 and IIS 6.0 to build and deploy more secure Web applications.
Who Goes There? - Upgrade Your Site's Authentication with the New ASP.NET 2.0 Membership API
Here Dino Esposito and Andrea Saltarello cover the plumbing of the Membership API and its inherently extensible nature, based on pluggable providers. To demonstrate the features, they take an existing ASP.NET 1.x authentication mechanism and port it to ASP.NET 2.0, exposing the legacy authentication mechanism through the new Membership API.
What Gives You the Right? - Combine the Powers of AzMan and WSE 3.0 to Protect Your Web Services
In this article, Niels Flensted-Jensen demonstrates how you can combine new and existing Microsoft technologies with minimal new code to provide flexible authorization for individual Web service methods. Windows 2003 Authorization Manager, Web Service Enhancements 3.0, and Enterprise Library all play a part.
How Do They Do It? - A Look Inside the Security Development Lifecycle at Microsoft
In this article, Microsoft security expert Michael Howard outlines how to apply the Security Development Lifecycle to your own software development processes. He explains how you can take some of the lessons learned at Microsoft when implementing SDL and use them in your own development process.
Editor's Note - Many Levels of Security
Every year at this time, we bring you our now-famous security issue.We recognize the vast importance of writing and deploying secure code—it affects so many areas of concern—which is why we devote an entire issue each year to the topic.
New Stuff - Resources for Your Developer Toolbox
Code refactoring is defined as the act of changing code without changing what it does.The actual work involved in refactoring—extracting methods from oversized modules, tidying up and unifying variable names, identifying unhandled exceptions, and all the other cleanup, simplification, and standardization chores—can be daunting, indeed, and risky too.
Web Q&A - ASP.NET Session State, Validation, DataGrids, and More

Data Points - DataSet and DataTable in ADO.NET 2.0
ADO. NET 2. 0 sports some exciting enhancements to the core classes found in ADO. NET 1. x and introduces a variety of new classes, all of which promise to improve performance, flexibility, and efficiency.
Basic Instincts - Programming I/O with Streams in Visual Basic .NET
If you are just now migrating from Visual Basic® 6. 0 to Visual Basic . NET, be prepared for a change, because the way you program file I/O is very different.The good news is that an idiosyncratic, proprietary approach has been replaced by an elegant and reusable one that has become an industry standard.
Cutting Edge - A Quick Tour of Themes in ASP.NET 2.0
It's much easier to build a rich user interface into your Web application in ASP. NET 2. 0 than it was in previous versions.Master Pages let you build pages based on existing templates of markup and code.
Service Station - An XML Guru's Guide to BizTalk Server 2004, Part I
Who would have believed that XML, such a seemingly trivial technology, could revolutionize an industry? It may have seemed like a long shot in the beginning, but the XML aficionados saw something special and pragmatic right away—a sort of duct tape for the world's information systems.
Bugslayer - SUPERASSERT Goes .NET
Those of you who have been reading this old Bugslayer column over the last nine years have branded into your frontal lobe a single word: ASSERT! Anytime you can have the code tell you about a problem instead of having to find it by slaving away with a debugger is a huge timesaver.
Security Briefs - Security Features in WSE 3.0
I've been spending a lot of time lately building secure Web services with the Microsoft® . NET Framework 2. 0, and Web Services Enhancements (WSE) 3. 0 has been a lifesaver for me, so I thought it would be appropriate to dedicate a column to security features in this new product.
C++ at Work - Disabling Print Screen, Calling Derived Destructors, and More

{ End Bracket } - Phoenix Rising
Phoenix is neither a compiler nor a JITer, but will eventually transform both.It is the codename for an internal Microsoft project that provides an extensible framework for the analysis, optimization, and modification of code during compilation.
Memory Models - Understand the Impact of Low-Lock Techniques in Multithreaded Apps
Because the use of low-lock techniques in your application significantly increases the likelihood of introducing hard-to-find bugs, it is best to use them only when absolutely necessary. Here Vance Morrison demonstrates the limitations and subtleties low-lock techniques so that if you are forced to use them you have a better chance of using them correctly.
High Availability - Keep Your Code Running with the Reliability Features of the .NET Framework
Reliability requires the capacity to execute a sequence of operations in a deterministic way, even under exceptional conditions. This allows you to ensure that resources are not leaked and that you can maintain state consistency without relying on application domain unloading (or worse, process restarts) to fix any corrupted state. Unfortunately, in the.NET Framework, not all exceptions are deterministic and synchronous, which makes it difficult to write code that is always deterministic in its ability to execute a predetermined sequence of operations. In this article Stephen Toub will show you why, and explore features of the .NET Framework 2.0 that help you to mitigate these situations and write more reliable code.
OpenMP and C++ - Reap the Benefits of Multithreading without All the Work
Having more than one CPU core on a single chip makes a system with a processor with two cores operate just like a dual-processor computer, and a system with a processor with four cores operate like a quad-processor computer, so you get much better performance. But if your application does not take advantage of these multiple cores, you may not reap the benefits. OpenMP helps you create multithreaded C++applications more quickly so the benefits of multithreading can be realized.
Custom Cultures - Extend Your Code's Global Reach With New Features In The .NET Framework 2.0
The upcoming Microsoft .NET Framework 2.0 adds a number of globalization features that address the important issues of extensibility, standards support, and migration. Here authors Michael Kaplan and Cathy Wissink explain what these features mean to your globalization effort.
Stay Alert - Use Managed CodeTo Generate A Secure Audit Trail
In today's security-conscious environments, a reliable audit trail is a valuable forensic tool The Windows Server 2003 operating system provides features that let you enable a wide range of applications to make use of auditing functionality. This article looks at auditing from the operating system perspective and describes a sample managed code implementation that will allow you to add auditing to your own server applications.
Editor's Note - Systems Programmers
In our first 20 years in print, we have covered a lot of new product releases.Back in the 1980s and 1990s it was a series of OSs that drove developer innovations.However, in the past five years the programming landscape has changed.
New Stuff - Resources for Your Developer Toolbox
ActiveReports for . NET 2. 0 by Data Dynamics is written in C# and integrates with the Visual Studio® . NET development environment to let you create dynamic reports and charts.Drop the Report Viewer control on your Windows® Form or Web Form, specify the data source and authentication information for the data connection wizard, and it builds the connection string for you.
Advanced Basics - A Match-Making Game in Visual Basic
My four-year-old son has decided that he wants to be like his dad when he grows up.He is planning to work in my office, and write computer programs just like I do.But there is one problem—he thinks I write games.
Data Points - The Enterprise Library Data Access Application Block, Part 3
E nterprise applications can have a wide variety of data update requirements.Sometimes you need to save multiple rows of changes at once within a single transaction.Other times, the user must be allowed to enter multiple rows of data, send them to the database in a batch; and if a row or two fails, only the rows that succeeded should be committed and remain committed.
Extreme ASP.NET - Page Navigation
In my childhood I spent several weeks a year in Holland with my extended family.As a young American boy I was fascinated with the electric Dutch trains, something we didn't see in my hometown of Dallas, Texas.
Test Run - Low-Level Web App UI Test Automation
As Web applications have become more complex, testing them has become more important.There are many testing techniques available to you.For example, in the April 2005 issue of MSDN®Magazine, I describe a simple JScript®-based system that can test a Web app through its UI by using the Internet Explorer Document Object Model.
Cutting Edge - Personalization and User Profiles in ASP.NET 2.0
Personalization is growing to be more and more of an essential ingredient in many types of Web apps, including portals and shopping sites.Without it, it's quite difficult to serve your customers efficiently.
Wicked Code - Asynchronous Pages in ASP.NET 2.0
ASP.NET 2.0 is replete with new features ranging from declarative data binding and Master Pages to membership and role management services. But my vote for the coolest new feature goes to asynchronous pages, and here's why.
Concurrent Affairs - Performance-Conscious Thread Synchronization
In my career, I have architected and implemented many thread synchronization techniques.This has provided me with a lot of experience that has shaped the way I now think about thread synchronization problems.
.NET Matters - NamedGZipStream, Covariance and Contravariance

Pure C++ - Invoking Generic or Function Templates
As I promised last time, in this month's column I'll walk through the process of defining and invoking a generic or template function under C++\CLI.A function template or a generic function begins with the template or generic keyword followed by its parameter list.
C++ at Work - Writing, Loading, and Accessing Plug-Ins

{ End Bracket } - Scheme Is Love
For the past few years, it has become fashionable to embrace a dynamic language such as Perl, PHP, Python, or Ruby.While I'll admit to having a short but pleasurable tryst with Ruby, I believe I have found true love in the dialect of Lisp called Scheme.
Best Practices - Fast, Scalable, and Secure Session State Management for Your Web Applications
ASP.NET provides a number of ways to maintain user state, the most powerful of which is session state. This article takes an in-depth look at designing and deploying high-performance, scalable, secure session solutions, and presents best practices for both existing and new ASP.NET session state features straight from the ASP.NET feature team.
ASP.NET 2.0 - Personalize Your Portal with User Controls and Custom Web Parts
ASP.NET 2.0 introduces a Web Part control that is designed to deal with the serialization, storage, and retrieval of customization and personalization data behind the scenes. In this article, the authors explain how you can put the WebPart control to work in your ASP.NET 2.0 applications.
Call MOM - Instrument and Monitor Your ASP.NET Apps Using WMI and MOM 2005
The current version of Windows Management Instrumentation (WMI) satisfies many current and future manageability requirements. In this article Michael Jurek demonstrates how WMI provides important system management capabilities and develops a WMI-aware monitoring solution you can use to instrument your ASP.NET applications. He then introduces the capabilities of MOM 2005 that allow you to monitor these instrumented applications.
SQL Server 2005 - Fuzzy Lookups and Groupings Provide Powerful Data Cleansing Capabilities
SQL Server 2005 offers a completely redesigned SQL Server Integration Services engine, formerly known as Data Transformation Services. It includes many new features such as built-in support for Fuzzy Lookups and Fuzzy Groupings, which help you build powerful data-cleansing solutions. This article provides an overview of fuzzy searching techniques and a dissection of the underlying fuzzy search technology implemented in SQL Server 2005.
Spice It Up - Sprinkle Some Pizzazz on Your Plain Vanilla Windows Forms Apps
With the .NET Framework and GDI+, you can easily add elements of style to your applications. You can use transparency, irregularly shaped windows, notification icons, toast pop-ups, different color schemes, and lots more. Designed well, these techniques can create much more compelling interactions between your application and your users. This article explains how.
Editor's Note - Becoming a Guru
Here in the pages ofMSDN Magazine, we cover a lot of topics that developers can use every day to further their careers.This month, however, we'll look at a more basic question: how does an average developer win fame and recognition as a guru on the programming scene?.
New Stuff - Resources for Your Developer Toolbox
From my first look at VG. net V2. 4b by Prodige Software Corporation, it seemed like just another typical graphics add-on, but as I discovered what a potent tool it is for Visual Studio® . NET graphical interface development, I became more and more impressed.
Web Q&A - Smart Navigation, ASP.NET Project Structure, and More

Cutting Edge - ASP.NET Forms
Forms are an essential piece of ASP. NET—the ASP. NET Web programming model itself wouldn't be possible without forms.The use of forms is not constrained in pure HTML, but it is subject to some restrictions in ASP.
Advanced Basics - Revisiting Operator Overloading
On the conference circuit recently, I was speaking about some of my favorite new features in the Microsoft® . NET Framework 2. 0, using the content of three recent columns in this series as fodder.In my talk I sped through generics, operator overloading, and the BackgroundWorker component, all in the space of an hour (for the columns, see Advanced Basics: Being Generic Ain't So Bad, Advanced Basics: Calling All Operators, and Advanced Basics: Doing Async the Easy Way).
Test Run - Low-Level UI Test Automation
There are several ways to test a Windows®-based application through its user interface.For example, in the January 2005 issue of MSDN®Magazine (Test Run: Lightweight UI Test Automation with . NET) I described a lightweight technique for testing .
Design Patterns - Dependency Injection
Today there is a greater focus than ever on reusing existing components and wiring together disparate components to form a cohesive architecture.But this wiring can quickly become a daunting task because as application size and complexity increase, so do dependencies.
Security Briefs - Credentials and Delegation
I get loads of security questions from friends and former students, and recently I've gotten a number of questions about building secure data-driven Web sites for internal enterprise systems.I've decided to answer them here to hopefully save you some headaches in your own projects.
.NET Matters - Stream Decorator, Single-Instance Apps

C++ at Work - Copy Constructors, Assignment Operators, and More

{ End Bracket } - Hacking the Immune System
HIV is a major global health problem, with over 40 million people infected worldwide.Biomedical researchers are working to create a vaccine that would be effective against many different strains, taking into account all the individual differences in people's immune systems.
Concurrency - What Every Dev Must Know About Multithreaded Apps
Multithreading offers lots of benefits, but it's not a technique you can employ willy nilly without first learning about all the potential pitfalls. To get you started, Vance Morrison covers multithreading and the shared memory threading model, race conditions and how concurrent access can break invariants. He also discusses how to use locks so you can understand the costs involved.
Proxy Detection - Take the Burden Off Users with Automatic Configuration in .NET
Proxy settings can be a real pain in the neck and very frustrating for users to configure properly. In this article, Durgaprasad Gorti discusses how you can use automatic proxy configuration via script and how it works in the Microsoft .NET Framework 1.1 and 2.0.
Data Binding - Give Your Everyday Custom Collections a Design-Time Makeover
In this article, Paul Ballard shows how you can provide data binding support for your custom collections to enable sorting, searching, and editing in as simple a manner as possible. In addition, he shows how to make all of these features available in the Windows and Web Forms Designers, just like an ADO.NET DataSet.
Winsock - Get Closer to the Wire with High-Performance Sockets in .NET
The Win32 Windows Sockets library (Winsock) provides mechanisms to improve the performance of programs that use sockets, and the Microsoft .NET Framework provides a layer over Winsock so that managed applications can communicate over sockets. To use all these layers to write a truly high-performance socket-based application requires a little background information, as Daryn Kiely explains here.
Easy UI Testing - Isolate Your UI Code Before It Invades Your Business Layer
The User Interface Process Application Block (UIP) from the Microsoft Patterns & Practices team can help you isolate your UI,write unit tests for your UI logic, and write a UI that really is the thin layer it was always meant to be. Mark Seemann shows you how it's done in this article.
Editor's Note - Connected Systems Developer Competition
Last month, we told you about a contest to help design the next-generation PC hardware and we know you're working feverishly on your entries for that.Well, this month we have news of an even more exciting competition—one that MSDN Magazine is proudly co-sponsoring.
New Stuff - Resources for Your Developer Toolbox
Tired of spending oodles of time trying to reproduce bugs so you can then fix them? RadViewSoftware Inc.has a new addition to their Web application function and load testing tools that captures everything that goes on at the client and the server in synchronized logs.
Extreme ASP.NET - Tools of the Trade: SQL Server Profiler and Query Analyzer
In my last column, I discussed Microsoft® Application Center Test and how it could be used to measure the performance of your Web application (see Extreme ASP. NET: Tools of the Trade: Application Center Test).
Basic Instincts - Reflection in Visual Basic .NET
In the May 2005 Basic Instincts column I wrote about the Microsoft® . NET Framework support for custom attributes and attribute-based programming (see Basic Instincts: Designing With Custom Attributes).
Data Points - The Enterprise Library Data Access Application Block, Part 2
Last month I explored the foundation of the Enterprise Library Data Access Application Block (DAAB) including how it all fits into an architecture (see Data Points: The Enterprise Library Data Access Application Block, Part 1).
Cutting Edge - DataSets vs. Collections
In software, five years is like a geological era.Five years ago, the Microsoft® . NET Framework had just been announced.Since then, the DataSet has emerged as the key object for performing a variety of data-related tasks in .
Test Run - Test Harness Design Patterns
The Microsoft® . NET Framework provides you with many ways to write software test automation.But in conversations with my colleagues I discovered that most engineers tend to use only one or two of the many fundamental test harness design patterns available to them.
Service Station - The Application Connection Designer
In some of my past columns on service orientation and contract-first development, I've mentioned the new suite of designers, formerly codenamed "Whitehorse," that are part of Visual Studio® Team edition for Software Architects Team System.
Pure C++ - Generic Programming: Template Specialization
As I discussed in my last column, a param-eterized type that does more than simple storage and retrieval is constrained as to the acceptable types that may be safely bound to it (see Pure C++: CLR Generics Versus C++ Templates.
C++ at Work - Dialog Templates, RegexTest

{ End Bracket } - Improving Managed DirectX Performance
It seems that at least twice a week, I am asked about poor performance in Managed DirectX®.This frequency is actually a big improvement over the 5-10 times a week I was asked a few years ago when the technology first came out.
XML Comments - Document Your Code in No Time At All with Macros in Visual Studio
Starting in Visual Studio 2005, XML documentation support will become available in Visual Basic and C++ as it has been for C#. However, making full use of the many comment tags will take a little extra work In this article, the author shows how Visual Studio macros can be used to automate the creation of XML documentation and creates macros that write large sections of comments with just a keystroke.
Smart Tags - Simplify UI Development with Custom Designer Actions in Visual Studio
Windows Forms 2.0 components expose smart tags by utilizing Designer Actions. By taking advantage of this feature, you can add smart tags to your own custom components to make setting their properties and other actions much easier and developer-friendly.
Reflection - Dodge Common Performance Pitfalls to Craft Speedy Applications
With reflection in .NET, you can load types, understand their members, make decisions about them, and execute, all within the safety of the managed runtime. But to use this power wisely, it's important to understand the associated costs and pitfalls to keep performance impact at a minimum. This article explains how.
Visual Basic - Simplify Common Tasks by Customizing the My Namespace
Underlying the My namespace's APIs is a fully extensible architecture you can leverage to customize the behavior of My and to add new services to its hierarchy to adapt to specific application needs. the My namespace is optimized to provide simple solutions to common problems. But if your requirements are different, you can use the My namespace's customization model to modify the behavior of individual My namespace members to meet specific application requirements.
Behind the Scenes - Discover the Design Patterns You're Already Using in the .NET Framework
In this article, the author presents a basic overview of several common design patterns and how they are used in the .NET Base Class Library and other areas of the .NET Framework. You'll discover some of the motivation for why the Framework is designed the way it is, and come away with a better understanding of the abstract concepts of the patterns themselves.
Debugging - Root Out Elusive Production Bugs with These Effective Techniques
Errors happen. But in production, error logs often provide little or no help in pinpointing the exact line of code in which the problem originates. You can't usually isolate the root cause by modifying code in a production environment because recreating the exact sameenvironment is very difficult due to the large number of potential software and hardware configurations. This article provides some concrete steps you can take to get at the heart of the problems in your production code.
Editor's Note - Designing the PC of the Future
While spending some idle moments poking around on the Web between working on articles the other day, we ran across a design challenge that Microsoft is co-sponsoring.Along with the IDSA (Industrial Designers Society of America), Microsoft is inviting all you designers out there to draw up plans for the next-generation PC.
New Stuff - Resources for Your Developer Toolbox
r.a.d.controls by telerik gives you an impressive set of great looking interface components, Visual Studio® .NET design-time support, cross-browser compatibility, keyboard support, and data binding.
Web Q&A - Web Page Layout, Quirks Mode, and More

Advanced Basics - Creating A Breadcrumb Control
Hansel and Gretel had the right idea when "they followed the pebbles that glistened there like newly minted coins, showing them the way. " The deeper you get into the forest or into your data, the more likely you are going to need help to find your way back out again.
Cutting Edge - DHTML-Enabled ASP.NET Controls
In the past, I've covered some core aspects of the interaction between DHTML behaviors, the browser, and ASP. NET runtime (see Cutting Edge: Extend the ASP. NET DataGrid with Client-side Behaviors and Cutting Edge: Moving DataGrid Rows Up and Down).
Data Points - The Enterprise Library Data Access Application Block, Part 1
A solid data access later (DAL) can benefit an application by hiding redundant tasks, helping handle exceptions more gracefully, helping clean up resources more efficiently, and providing a layer of abstraction from the database.
Bugslayer - Unhandled Exceptions and Tracing in the .NET Framework 2.0
By now, you've certainly heard about the big changes coming in Visual Studio® 2005, but when it's time to move your code over it will be the small things that trip you up.In this column, I want to cover two of the many excellent changes that you could easily overlook as you make the move to the new runtime and development tools.
.NET Matters - StringStream, Methods with Timeouts

C++ at Work - Enum Declarations, Template Function Specialization

{ End Bracket } - Experimenting with F#
After five years of guiding generics for the Microsoft® . NET Framework into Visual Studio® 2005, I've turned my attention to attempting to achieve a synthesis between type-safe, scalable, math-oriented scripting and programming for .
Hackers Beware - Keep Bad Guys at Bay with the Advanced Security Features in SQL Server 2005
Get a peek at the new security features in SQL Server 2005 from a developer's point of view. While there are lots of admin enhancements, there are also plenty of dev-specific security improvements you can take advantage of, such as endpoint authentication and support for the security context of managed code that executes on the server. Here Don Kiely elucidates.
Know Thy Code - Simplify Data Layer Unit Testing using Enterprise Services
If you want to employ unit testing and test-driven development techniques in your database application development process, you'll have different factors to consider than you do when you're not involving a database. For example, you have to maintain a consistent state within the database and be able to roll back transactions when necessary. This article shows you how to get the best of unit testing for your database apps in a safe, usable manner.
Say What? - Make Sense of Your Web Feedback using SQL Server 2005
By now, you're certainly collecting a variety of data from your Web site. But once you collect it, what do you do with it. For it to be meaningful, this data must be categorized and analyzed. The SQL Server 2005 data mining functionalities can help you get the most out of those reams of data you collect, as Peter Pyungchul Kim explains.
Mine Your Business - AMO Lets You Dig Deeper into Your Data from Your Own Applications
Analysis Management Objects (AMO) for SQL Server 2005 facilitates client-side custom programming as Decision Support Objects (DSO), the object model in SQL Server 2000 Analysis Services. With AMO, a whole range of data mining questions can be answered at the operational level. This means that sales and marketing departments get answers more quickly and thus can make informed decisions.
Make It Snappy - Juice Up Your App with the Power of Hyper-Threading
In this article, the author explores the hyper-threading technology found on newer Intel Pentium 4 processors and demonstrates how adding parallelism to your code can improve performance on hyper-threaded machines. He covers advanced optimizations for hyper-threading andshows a number of useful patterns. Code samples are in C#, but you can apply the same principles in other languages as they apply to both managed and unmanaged applications.
Get A Raise - Discover a Series of Fortunate Event Handlers in Visual Basic
You may use them every day, but how much do you really know about events? What's going on when you add an event handler to a class? In this article, Ken Getz demonstrates various ways to interact with events and event handlers, and shows how they can solve common problems. Along with the article, you can download two sample applications (one for Visual Basic .NET 2002 and 2003 and one for Visual Basic 2005) and follow along.
Editor's Note - Reader E-mail
Here at MSDN Magazine, we get a lot of mail from readers.As you can imagine, much of it involves fulsome praise for our content, our eye-catching covers, or the handsome photo that now graces this page.
New Stuff - Resources for Your Developer Toolbox
A few months ago I had a large SQL Server™ asset management database into which I had to import data from text files in daily batches.I needed to tweak the tables, add some queries, and generate new reports.
Web Q&A - Locking Pop-Up Blocker, Mixed Authentication, and More

Cutting Edge - Data Repeater Controls in ASP.NET
The ASP. NET Repeater is a basic container control that allows you to create custom lists from any data available to the page.It's a handy control, especially since most ASP. NET pages that display data need to repeat the same kinds of data over and over.
Advanced Basics - Scaling Up: The Very Busy Background Compiler
One of the features that distinguishes Visual Basic® from the other languages in Visual Studio® is its use of a background compiler (BC).The BC runs from the moment you start up a Visual Basic project until the time you close the last one down.
Data Points - XML Features in SQL Server 2000
SQL Server™ 2000 includes several XML features that let you transform relational rowsets into hierarchical XML documents, read XML documents, and bulk load data via XML.For example, you can pass an XML document to a stored procedure, join the XML to some tables and return a rowset, or even modify data in the database.
Service Station - Techniques for Contract-First Development
In my May 2005 column, I discussed contract-first development and appropriate times to use it (see Service Station: Contract-First Service Development).In this second part, I'm going to focus on some techniques for contract-first development within the ASMX framework.
Extreme ASP.NET - Tools of the Trade: Application Center Test
When you sit down to write an ASP. NET application, how much time do you spend thinking about performance? It's unfortunate, but for most developers performance is an afterthought.Performance planning and design really need to be front and center.
Test Run - The Analytic Hierarchy Process
Most software testing takes place at a relatively low level.Testing an application's individual methods for functional correctness is one example.However, some important testing must take place at a very high level—for example, determining if a current build is significantly better overall than a previous build.
Security Briefs - Customizing GINA, Part 2
GINA, the Graphical Identification and Authentication component, is a part of WinLogon that you can customize or replace.Last month I introduced GINA customization; this month, I'm going to drill down to implement each of the GINA entry points.
Wicked Code - Power Programming Tips for ASP.NET 2.0
In the February 2005 issue, I introduced five lesser-known features of ASP. NET 2. 0 that have the potential to make a significant impact on the security, performance, and robustness of your code (see Wicked Code: Five Undiscovered Features on ASP.
Pure C++ - CLR Generics Versus C++ Templates
Visual Studio® 2005 brings the type parameter model of generic programming to the Microsoft® . NET Framework.C++/CLI supports two type parameter mechanisms—common language runtime (CLR) generics and C++ templates.
C++ at Work - Counting MDI Children, Browsing for Folders

{ End Bracket } - It's Not Just Fonts
Creating a typeface that's truly readable on a screen is much more complex than people realize.The average core font in Windows®, for instance, has about 25,000 lines of executable code as well as the outline and other data.
JIT and Run - Drill Into .NET Framework Internals to See How the CLR Creates Runtime Objects
There's lots to explore in the .NET Framework 2.0, and plenty of digging to be done. If you want to get your hands dirty and learn some of the internals that will carry you through the next few years, you've come to the right place. This article explores CLR internals, including object instance layout, method table layout, method dispatching, interface-based dispatching, and various data structures.
Around the Horn - Engineer a Distributed System Using .NET Remoting for Process Intensive Analysis
Before the Microsoft .NET Framework, creating a distributed cluster of computers to perform scientific analysis was expensive in terms of hardware, programming and debugging time, and maintenance. You had to purchase expensive servers, spend time debugging network communication, design a distributed system completely different from a system deployed locally, and maintain a melting pot of error handling, data acquisition, networking, and analysis code. In this article, the author shows you how he was able to engineer a distributed computing system in C# to perform analysis of real-world data continuously acquired at high sampling rates, thanks to the .NET Framework.
Draft a Rich UI - Ground Rules for Building Enhanced Windows Forms Support into Your .NET App
In this article, the winning Windows Forms duo of Chris Sells and Michael Weinhardt team up again to explore lots of new features and additions to Windows Forms 2.0 that will let you build more flexible, feature-rich controls, get better resource management, more powerful data-binding abilities, and make your development life a whole lot more fun.
Safe! - Repel Attacks on Your Code with the Visual Studio 2005 Safe C and C++ Libraries
When Visual Studio 2005 ships, it will include a major upgrade to the Visual C++ Libraries that was the result of a complete security review of the functions contained in the C Runtime Library, Standard C++ Library, ATL, and MFC. From that extensive review came the Safe C and C++ Libraries, which can improve the security and robustness of your apps.
Touch All the Bases - Give Your .NET App Brains and Brawn with the Intelligence of Neural Networks
Pattern recognition is an increasingly complex field. Every day technologies like handwriting recognition, spam filters, and search engines must identify ever more complicated patterns. One way these complex relationships can be represented is through the use of neural networks. Find out what neural networks can do for your pattern recognition and prediction tasks.
Editor's Note - Under the Covers and Through the Words
There are some people who have little curiosity about the world around them.They drive to work without asking why their airbag light is on.They work all day, never once wondering why their computer goes through periods where it's slow as a snail.
New Stuff - Resources for Your Developer Toolbox
Visual Build Professional 5. 6 by Kinook Software is a management solution for developers writing programs for Microsoft® Windows® and the Web that lets you create an automated, repeatable process for building your software.
Web Q&A - ASP.NET Performance, Notification, Keeping Sort Order, and More

Cutting Edge - Collections and Data Binding
When it's time to design the Data Access Layer (DAL) of your distributed Microsoft® . NET Framework-based app, one of the key decisions you'll make is how you'll pass data to and from methods of DAL classes.
Data Points - Data Access Strategies Using ADO.NET and SQL
When your goal is a scalable and efficient enterprise solution, you need to develop an efficient data-access strategy.You can't just do some testing on your production machines and rely on the results.
Service Station - Contract-First Service Development
In one of my previous columns on Service Orientation (SO), I introduced the concept of "contract-first" service development (see Service Station: SOA: More Integration, Less Renovation).Over the next two installments of this column, I'm going to cover the topic in depth.
Extreme ASP.NET - A Little Bit of Control for Your Controls
Having worked for so many years designing and developing ASP. NET while at Microsoft, it's exciting now to have a venue in which to talk about it.In this new column, Extreme ASP. NET, I'll discuss and demonstrate time-tested techniques and approaches to implementing high-performance, reliable, secure, and user-friendly Web applications with ASP.
Basic Instincts - Designing With Custom Attributes
One of the most powerful aspects of the Microsoft® . NET Framework is its support for attributes.Attribute-based programming is extremely powerful because it adds a declarative dimension to designing and writing software.
Security Briefs - Customizing GINA, Part 1
Over the years I've had many people ask me to write about GINA, the Graphical Identification and Authentication component that serves as the gateway for interactive logons.This month I'll begin my coverage of this topic to help you get started if you're tasked to build such a beast.
.NET Matters - ICustomTypeDescriptor, Part 2
In last month's . NET Matters column, I answered a question concerning the PropertyGrid control, specifically about using it with classes that expose fields instead of properties.I demonstrated how the ICustomTypeDescriptor interface in the Microsoft® .
C++ at Work - Unreferenced Parameters, Adding Task Bar Commands, and More

{ End Bracket } - On Being Crew for Fantasia 2000
I was asked to reminisce about my experience as a software technical director on the Firebird segment of Disney's Fantasia 2000 in the special effects group.They're the group that puts the twinkle in Mickey's eyes, literally.
Wrappers - Use Our ManWrap Library to Get the Best of .NET in Native C++ Code
By now you're probably used to reaching into the .NET Framework using Managed Extensions with your C++ code. But what do you do if you have legacy apps that use older versions of the compiler, or if you want to avoid some of the CLR requirements? Well, you can wrap Framework classes in a native way so you can use them in any C++/MFC app without /clr. Paul DiLascia shows you how.
Security - Unify Windows Forms and ASP.NET Providers for Credentials Management
The .NET Framework 2.0 provides custom credentials management to ASP.NET apps out of the box. Using it, you can easily authenticate users without using Windows accounts. In this article the author presents a set of helper classes that let a Windows Forms application use the ASP.NET credentials management infrastructure as easily as if it were an ASP.NET application.
Speed - NGen Revs Up Your Performance with Powerful New Features
In the .NET Framework 2.0, NGen has been greatly improved and offers a number of compelling new features to make it easier and faster to deploy high-performance managed applications. This article introduces some of these new features and explains how and when you should use NGen to improve the performance of your apps.
Escape DLL Hell - Simplify App Deployment with ClickOnce and Registration-Free COM
DLL Hell that results from versioning conflicts is generally not a problem in .NET because components do not require registration, and are either totally isolated to an application or are managed in a well-defined side-by-side way with the help of the Global Assembly Cache. But if you're still using COM, wouldn't it be great if you could deploy your existing COM components using a model similar to the .NET Framework? In Windows XP, you can, and this article explains how.
Flex Your Data - Teach Old Data New Tricks with the Fully Loaded Advances in ADO.NET 2.0
ADO.NET 2.0 will streamline your data access development efforts. Its new features let you work better with XML and SQL Server, and they offer lots of other improvements as well. This article takes a detailed look at some of the more interesting enhancements and focuses on performance and flexibility.
Team Up! - Get All Your Devs in a Row with Visual Studio 2005 Team System
Visual Studio 2005 Team System includes tools to help project managers, architects, developers, testers, and even development managers. In this article, the author provides an overview of Team System using the Visual Studio 2005 December Community Technology Preview, shows you how to set up a development project, and explores the typical development process, from inception through testing.
Editor's Note - 20 Years and Still Going Strong!
Microsoft Systems Journal (MSJ) was founded in 1986.At the time, no other publication focused specifically on the needs of programmers who were using Microsoft tools and technologies.Two issues were produced in the first year, each with five articles.
New Stuff - Resources for Your Developer Toolbox
DbNetGrid. Net 2. 71 by DbNetLink Limited, is a Web-based grid component that works with DHTML behaviors that support both ASP and ASP. NET.The integrated DbNetGrid GUI designer application lets you create your grids without writing any code.
Web Q&A - Get Authentication Type, Get Screen Resolution, and More

Advanced Basics - Remembering User Information in Visual Basic .NET
Many applications need to store user-specific settings to be persisted between sessions.But how do you go about saving and restoring these settings in your Microsoft® . NET Framework-based application? It's not all that easy to find the correct answer.
Cutting Edge - A New Grid Control in Windows Forms
Grid controls are essential in many of today's apps.Until now, though, mostdevelopers using Visual Basic® have had to buy third-party components to get an effective, easy to use grid component.The Windows® Forms DataGrid turned out to lack too many features for the average developer.
Test Run - Lightweight UI Test Automation for ASP.NET Web Apps
The release of ASP. NET revolutionized Web development and made it easy to create full-featured Web applications.Visual Studio® 2005 and ASP. NET 2. 0 will let you add even more functionality to your applications, but the more features a Web application has, the more important testing becomes.
Service Station - Developing .NET Web Services with Beta 2
Version 2. 0 of the Microsoft® . NET Framework makes numerous improvements at various levels in the Web services protocol stack.In addition, better tool support and an increased focus on interoperability make your life easier.
.NET Matters - ICustomTypeDescriptor, Part 1

Pure C++ - Generic Programming Under .NET
Visual Studio® 2005 brings the type parameter model of generic programming to the Microsoft® . NET Framework.Parameterized types are, of course, standard fare for C++ programmers.So, for those who are unfamiliar with them, I'll give a brief introduction to generic programming in my next few columns.
C++ at Work - Form Validation with Regular Expressions in MFC
I thought I'd use this month's column to describe an interesting app I built using the RegexWrap library described in my article "Wrappers: Use Our ManWrap Library to Get the Best of . NET in Native C++ Code" in this issue.
{ End Bracket } - Creating a Custom Metrics Tool
Metrics play an important role in our lives.Even if we don't realize it or characterize it as such, many daily activities have the potential to be quantified to some degree.So it's not surprising that metrics play an even greater role in the workplace, where there are goals and a bottom line and where much of a day's activity can be summarized in numbers.
Web Services - Increase Your App's Reach Using WSDL to Combine Multiple Web Services
The very tools that have helped drive the growing adoption of Web services, and the enabling abstractions that they provide, can often prevent developers from peeking behind the curtains at the XML standards that make up the Web services stack. This article will offer a solution that enables type sharing between proxies created for complementary Web services, while at the same time providing an opportunity to examine the Web Services Description Language (WSDL) and its interaction with the Web services tools you know and love.
What is BPEL4WS? - Build Better Business Processes with Web Services in BizTalk Server 2004
In this article the author focuses on one critically important Web services specification that has been largely overlooked: the Business Process Execution Language for Web Services (BPEL4WS, or BPEL). He describes why BPEL is important and what it offers you if you are implementing Web services today or planning to in the future. Concrete examples using BizTalk Server 2004 are presented in the article.
ASP.NET - Combine Web and Windows Services to Run Your ASP.NET Code at Scheduled Intervals
If you want to schedule ASP.NET tasks, one solution is to use a Web service to provide an interface to your ASP.NET application and build a Windows service that calls to it at scheduled intervals. Thus the ASP.NET application doesn't have to own the scheduling logic. Here the author shows how to schedule your ASP.NET tasks using a Windows service to initiate the Web service call because Windows services can start themselves when Windows boots up.
WSE 2.0 - Give Your Web Services Consumers the Exact XML They Need to Succeed
Web services use XML to communicate with each other. But sometimes the XML your service emits is not the same XML that another service is expecting. If you want to avoid the problems that this kind of situation can cause, you need to get good control over your XML serialization. Here author Chris Dix shows you exactly how to tackle this problem.
Security - Manipulate Privileges in Managed Code Reliably, Securely, and Efficiently
When the author was faced with implementing support for changing a security descriptor on an object, he noticed there was not support for that operation in .NET. So he devised two solutions to the problem: the first, simpler one, is tailored to the .NET Framework 1.1 and can be used today. The second solution incorporates several advanced features available only in the .NET Framework 2.0. Both are presented here.
Go Global - Make the .NET World a Friendlier Place with the Many Faces of the CultureInfo Class
CultureInfo is a complex .NET class whose objects are used for resource loading, formatting, parsing, casing, sorting, and other conventions that change as the language, location, or writing system is changed. It can be tricky to use correctly in every situation. Here Michael Kaplan explains some common scenarios in which you will use CultureInfo and provides information about the behavior, best practices, and consequences of a wrong decision.
Editor's Note - There’s A Word For That…
This month in MSDN Magazine, we are looking at the world of Web services. But before we tell you all about this month's issue, we have a topic we would like to address. In fact, it's our civic duty to do so.
New Stuff - Resources for Your Developer Toolbox
XMLSpy 2005 by Altova is an XML development environment for modeling, editing, debugging, and transforming all XML technologies.It implements the W3C's new XSLT 2. 0 and XPath 2. 0 specs, and provides native support for XQuery 1.
Web Q&A - Data Integrity Over HTTP, IIS Credentials, DataGrids, and More

Advanced Basics - Doing Async the Easy Way
If you've been following Ted Pattison's excellent series of Basic Instincts columns on multithreading and asynchronous behavior, you should by now be an expert on handling the issues involved in working with multiple threads in Windows®-based apps.
Cutting Edge - Moving DataGrid Rows Up and Down
Imagine opening your Inbox one morning and finding a message that reads "Dear Mr. DataGrid, I urgently need an ASP.NET DataGrid that lets my users move rows on the client. You're my last hope. Will you please help me?"
Test Run - Automate Your ASP.NET Web Services Testing
It's no exaggeration to say that Web services are revolutionizing application-to-application communication.Web services are already being used extensively in corporate intranet environments and are making their way into commercial use, too.
Inside MSDN - Using InfoPath as a Reporting Solution
I love the part of my job that lets me write code and develop software.In addition to those responsibilities, however, I manage a development organization that's working on a number of large strategic projects.
Security Briefs - Access Control List Editing in .NET
Access control lists (ACLs) can be complex beasts, and user interfaces for editing them are incredibly tricky to implement properly.That's why I was really excited when Windows® 2000 shipped with a programmable ACL editor, shown in Figure 1.
Bugslayer - Mini Dump Snapshots and the New SOS
In debugging some large Microsoft® . NET Framework-based ap-plications over the last few months, I've been spending more time looking at mini dumps than at live processes.This is mainly because in those large applications problems surface when the apps are running in production and not on test systems.
C++ at Work - Making Static Links Keyboard-Capable, Launching URLs from Your App

{ End Bracket } - To Confirm is Useless, to Undo Divine
The common user interface technique of confirmation, popping a dialog box into the user's face and asking, "Are you really REALLY sure you want to do that?" is evil.It's unfriendly, it's distracting, and it's completely ineffective.
Office - Relive the Moment by Searching Your IM Logs with Custom Research Services
Often, IM conversations contain important information you'd like to keep and reuse. Fortunately, MSN Messenger 6.2 has a feature to keep a conversation history permanently in XML format. This article shows you how to leverage that conversation history by consolidating IM exchanges so they are indexed, searchable, and ultimately reusable using the Microsoft Office 2003 Research and Reference task pane.
Excel - Integrate Far-Flung Data into Your Spreadsheets with the Help of Web Services
Excel 2003 lets you dynamically integrate the data provided by different Web services. It also lets you take advantage of the latest capabilities in Office 2003 to customize list views, graphs, and charts, and to catalog bulk items online or offline. Find out how you can makle the most of the data returned from your Web services with the Office 2003 Web Services Toolkit API.
SharePoint - Add a Recycle Bin to Windows SharePoint Services for Easy Document Recovery
Windows SharePoint Services helps improve collaboration and workflow while protecting documents and intellectual property. But one feature is conspicuously missing - an easy way to back up and restore deleted files from document libraries. In this article, the authors take advantage of the extensibility of WSS and its server-side and client-side object models to build a restore feature that works like the Recycle Bin in Windows Explorer.
Smart Tags - Realize the Potential of Office 2003 by Creating Smart Tags in Managed Code
While you may well be excited about the prospect of building managed smart tags, there is little information available to help you create them using .NET. In this article the author fills in the blanks. Along the way he discusses the Microsoft Office Smart Tag List XML schema,advanced managed smart tags for Office 2003 and Office XP, and deploying these features in an organization.
SQL Server - Display Your Data Your Way with Custom Renderers for Reporting Services
SQL Server 2005 Reporting Servicesis a great tool that offers a centralized approach to storing and rendering reports. It also lets users view and download reports without installing additional software. Plus, reports can be saved in any number of different formats using custom report renderers. In this article, the author will develop one such report renderer that outputs HTML reports, but the skills you'll learn can easily be used to create a renderer for Microsoft Word documents or any other format of your choosing.
Testing - Get Your Customers Involved in the Testing Process with Functional Tests in Excel
For specification documents to be truly valuable, they need to give an accurate picture of all the requirements of a project. This article describes how the communication value of specification documents can be improved by permitting users to test the code under construction using the Framework for Integrated Test (FIT), an open-source tool. It also explains how you can build a Windows Forms application in C# (WinFITRunnerLite) that converts functional tests, as written by your customers using Excel, into a form that allows you to run them with FIT against the code you're developing.
Editor's Note - C++, Plus...
How long have you been reading MSDN Magazine? Did you start picking it up five years ago? Ten years ago when we were Microsoft Systems Journal? Even longer? If you've been reading our publication for a decade or more, you've seen a lot of changes in what's considered "cutting edge" development.
New Stuff - Resources for Your Developer Toolbox
Registry Medic 3.0, released by Iomatic, allows you to clean up your registry, improves PC performance, protects your machine from Trojans, and gets rid of those annoying start-up program artifacts that can be so hard to remove.
Web Q&A - ActiveX Privileges, Making Icon Files, Sticky Sessions, and More

Inside MSDN - Designing URLs for MSDN2
This is the first installment of a new column about MSDN® projects: what we're doing, how we're doing it, and what we're learning along the way.It will be written by MSDN staff with the goal of sharing the team's experiences in solving the real-world business problems MSDN faces.
Basic Instincts - Using the ReaderWriterLock Class
In several installments over the past year I have written about multithreading programming techniques in Visual Basic® . NET.In the September 2004 issue of MSDN®Magazine, I discussed the need for thread synchronization and how to write thread-safe code using monitors.
Data Points - ADO.NET and System.Transactions
The Microsoft® . NET Framework versions 1. 0 and 1. 1 represented major changes in software development.However, one important thing that did not change much was support for distributed transactions.
Cutting Edge - Adding a Context Menu to ASP.NET Controls
Although the context menu is a common element of most desktop applications, it is still fairly uncommon in Web application names because it doesn't map well to a server-based technology like ASP. NET.
Wicked Code - Five Undiscovered Features on ASP.NET 2.0
By now, developers everywhere have had the opportunity to download the first beta of the Microsoft® . NET Framework 2. 0.ASP. NET developers who have played with it are no doubt salivating at all the cool new features.
Service Station - SOA: More Integration, Less Renovation
Since the focus of this column is service-oriented architecture (SOA), I thought now might be a good time to step back and take a wide-angle look at the general concept and what it means to developers.
.NET Matters - File Copy Progress, Custom Thread Pools

Pure C++ - Hello, C++/CLI
Welcome to my first column for MSDN®Magazine.I had actually written a completely different first column—one on the new generic programming support in Visual Studio® 2005.Reviewing it, though, I realized that it left far too many unanswered questions.
C++ at Work - Persisting View State Update, Using Managed Extensions in a DLL
This month marks the 11th anniversary of my column and the inauguration of a new title: C++ At Work.We're also adding a new bimonthly column, "Pure C++," by my pal Stan Lippman, one of the great C++ Masters.
{ End Bracket } - C# and VBA: Like Oil and Water
Some things just don't mix as well as you would like.Take C# and Microsoft® Excel 2003 or Word 2003, for example.Not only are these applications huge productivity tools, but they both also provide access to large object models that you can program against from your own applications.
ASP.NET - 10 Tips for Writing High-Performance Web Applications
Writing a Web application with ASP.NET is unbelievably easy. So many developers don't take the time to structure their applications for great performance. In this article, the author presents 10 tips for writing high-performance Web apps. The discussion is not limited to ASP.NET applications because they are just one subset of Web applications.
C++ Rules - Power Your App with the Programming Model and Compiler Optimizations of Visual C++
Many programmers think that C++ gets good performance because it generates native code, but even if your code is completely managed you'll still get superior performance. In Visual Studio 2005, the C++ syntax itself has been greatly improved to make it faster to write. In addition, a flexible language framework is provided for interacting with the common language runtime (CLR) to write high-performance programs. Read about it here.
Memory Lane - Rediscover the Lost Art of Memory Optimization in Your Managed Code
Managed applications rely on the garbage collector in the .NET Framework to allocate and clean up memory. The little CPU time spent performing garbage collection (GC) is usually a fair trade-off for not having to worry about memory management. But for applications in which CPU time and memory are precious resources, minimizing the time spent garbage collecting can greatly improve application performance and robustness. Find out how to manage memory all over again.
CLR Profiler - No Code Can Hide from the Profiling API in the .NET Framework 2.0
The common language runtime (CLR) profiling API makes available information about the application domains, assemblies, and classes that are loaded and used in a process, just-in-time (JIT) compiler notifications, memory usage tracking, tracing of events, exception tracking, managed to unmanaged code transitions, and the state of the runtime. And if that weren't enough, you will find a nicely enhanced profiling API in the .NET Framework 2.0. Find out what's coming up in this next version.
Interop - Get Seamless .NET Exception Logging From COM Clients Without Modifying Your Code
Using .NET objects from ASP can help you gain experience with the .NET Framework before migrating to ASP.NET. Your ASP pages will make use of the new .NET components through COM-callable wrappers (CCW). But how will you handle exceptions? This article fills you in.
All About Statics - Get a Charge From Statics with Seven Essential Programming Tips
This article examines seven characteristics of statics that will help you in your development. The discussion will touch on static constructors and how the C# and Visual Basic compilers work together with the runtime to implement additional safety behind the scenes. By the end of the article, you will come away with best practices for the use of static members and static classes in your apps.
Editor's Note - Celebrating Our 20-Year Milestone
The world of software development is all about milestones.At the lowest level, a programmer has to create a certain set of functions in a fixed amount of time, and is then judged on this performance.
New Stuff - Resources for Your Developer Toolbox
Spices. VSIP. NET (Visual Studio Integration Pack), released by 9rays, is a set of plug-ins for Visual Studio® . NET that let you to add obfuscation, verification, modeling, and debugging to your assemblies built within the Microsoft® .
Web Q&A - Caching and Expiration, Connection Pools, and More

Advanced Basics - Creating a Five-Star Rating Control
I have to admit it; most of my Windows® Forms controls are an attempt to copy something that already exists.In my October 2004 column I showed you how to create a progress bar that mimicked the one shown during the Windows XP setup routine, and this month I'm at it again.
Data Points - Data Source Controls in ASP.NET 2.0
ASP. NET 2. 0 introduces a series of new tools that improve data access including several data source and data bound controls.The new assortment of data source controls can eliminate a ton of repetitive code that was required in ASP.
Cutting Edge - Custom Script Callbacks in ASP.NET
ASP. NET client callbacks represent a neat and elegant way to execute server-side code without posting and refreshing the current page.I discussed ASP. NET callbacks in the August and December 2004 installments of Cutting Edge, considering them from the perspective of rendered pages making background callbacks to the server, sending input data to the relevant page, and receiving a response.
Test Run - Lightweight UI Test Automation with .NET
Manual user interface testing is one of the most fundamental types of software testing and it's the kind of testing that most software engineers first experience.Paradoxically, automated user interface tests are probably the most technically challenging kind of test to write.
The ASP Column - Determining Browser Capabilities in ASP.NET
Web applications are different from applications that run in homogenous environments because they send their output to all kinds of platforms and Web browsers.Some browsers support client-side scripting, some support XHTML, and still others have limited screen real estate.
Security Briefs - Security Enhancements in the .NET Framework 2.0
As I write this column, version 2. 0 of the Microsoft® . NET Framework is at Beta 1.When I got my bits, I hacked together a little program to dump all of the public members of all public types in the entire Framework and ran it on version 1.
.NET Matters - Sepia Tone, StringLogicalComparer, and More

C++ Q&A - Sending Keystrokes to Any App, Calling .NET from an MFC App, and More

{ End Bracket } - Joining the Team
It's been more than a year since my words last floated across the pages of MSDN®Magazine. As readers of my blog probably know, my life's been interesting the past 12 months.
Tablet PC - Add Support for Digital Ink to Your Windows Applications
Check out the cool new features in Windows XP Tablet PC Edition, including a number of Ink types, and ink that's stored as ink. HerePaul Yao takes you on a tour of everything you need to know to get started.
Mobility - Optimize Your Pocket PC Development with the .NET Compact Framework
The .NET Compact Framework can be used to write great code and great applications. As long as you take a few things into consideration and are willing to bend a rule or two, you can have your performance cake and eat it too. In this article the authors present some neat tricks to make life as a programmer easier when using the .NET Compact Framework. Later they discuss techniques to increase performance, and decrease both load time and memory footprints. Sample code is provided.
Vrooooom - How .NET and C# Drove an Entry in the DARPA Grand Challenge
Find out how the .NET Framework, a team of programmers, and a bunch of people from Carnegie Mellon University built an automated car to compete in the DARPA Grand Challenge. Along the way you get some inside tips on building an extensible real-time control architecture based on a whiteboard metaphor and implementing an accurate GPS-synchronized timer component for .NET.
.NET Internals - Tailor Your Application by Building a Custom Forms Designer with .NET
The design-time architecture of Windows Forms in the .NET Framework has made development much more flexible than it had been with MFC. With Windows Forms, you can drag one of your custom controls from the toolbox and drop it onto the Visual Studio design surface and even though Windows Forms knows nothing about the control, it's able to host it and let you manipulate its properties—not possible in MFC. In this article, the author discusses what's going on under the covers as you design your forms and then walks through the creation of a bare-bones forms designer.
.NET Code Tuning - Make Your Apps Fly with the New Enterprise Performance Tool
Because the common language runtime (CLR) is a black box, it's pretty hard to divine what's going on when you want to track down performance problems. Microsoft will be delivering a brand new profiler, the Enterprise Performance Tool (EPT), as part of Visual Studio 2005 Team Developer Edition that's ideal for use on a production system because it offers some very lightweight means of collecting performance data. Here John Robbins takes you on a tour.
Editor's Note - Going Mobile
A couple of times a week, we are the recipients of advertising e-mail from a popular retailer of mobile products.Here at MSDN Magazine, we field a few dozen publicly available e-mail aliases, so it's easy for mail like this to get lost in the shuffle of our Junk E-Mail folder.
New Stuff - Resources for Your Developer Toolbox
There is more to fielding a mobile device than just putting a couple of company-specific applications on it. Here are some already written mobile applications that might be good to know about if you are tasked with deploying a mobile solution.
Web Q&A - Windowed and Windowless Elements, Cookie Characters, and More

Advanced Basics - Calling All Operators
This month I found an interesting question in my mailbag.It went something like this: "I am writing some code working with points and other drawing objects in Visual Basic® 2003, and I just want to add an offset to a point, effectively moving the point.
Data Points - Efficient Coding With Strongly Typed DataSets
Someone once said to me that the hallmark of a good developer is the desire to spend time efficiently.Developers are continually pursuing ways to make coding easier and faster, and to reduce the number of errors.
Cutting Edge - Implications of Script Callbacks in ASP.NET
Script callbacks in ASP. NET 2. 0 is a feature whose time has come.Script callbacks can significantly speed up an application by limiting server postbacks.They also allow you to execute small portions of server-side code without having to manage the view state for reading or writing.
Service Station - Run ASMX Without IIS
When the Microsoft® . NET Framework first shipped, it introduced a breakthrough Web services framework known as ASMX.The motivation behind the ASMX design was to simplify the process of developing Web services as much as possible so that even if you're not an XML expert, you can get a Web service up and running.
.NET Matters - Asynchronous HttpWebRequests, Interface Implementation, and More

C++ Q&A - Deleting Managed Objects, Wrapping a Library, and More

{ End Bracket } - Around the World with Visual Basic
The Visual Basic team at Microsoft has spent much of the past eight months out on the road as a part of the Visual Basic® . NET User Group Tour 2004.We've had a chance to visit 13 user groups in the U.
Attack Surface - Mitigate Security Risks by Minimizing the Code You Expose to Untrusted Users
In this article, Microsoft security expert Michael Howard discusses the cardinal rules of attack surface reduction. His rules - reduce the amount of code executing by default, reduce the volume of code that is accessible to untrusted users by default, and limit the damage if the code is exploited - are explained along with the techniques to apply the rules to your code.
App Lockdown - Defend Your Apps and Critical User Info with Defensive Coding Techniques
Whether you're storing database connection strings, user credentials, or logon info, you'll need to practice good defensive programming techniques to avoid those surprise situations in which your data is exposed. In this article, author Kenny Kerry shows you how.
Cryptography - Employ Strong Encryption in Your Apps with Our CryptoUtility Component
When storing sensitive data, you need to be able to identify threats, determine how these threats interact with each other, and how issues can combine to constitute a vulnerability that will leave your data exposed. With a good understanding of the various cryptographic algorithms, salt, hashes,ACLs, and other available techniques, you'll be in a better position to protect your critical data.
Trustworthy Code - Exchange Data More Securely with XML Signatures and Encryption
You can sign any kind of data using XML Signature, including part of an XML document, other XML documents, or other data of any format. However, in practice, XML signatures are most frequently used to sign other data represented in XML. In this article, the authors discuss the new standard and how you can benefit from it in your apps.
Safety in Windows - Manage Access to Windows Objects with ACLs and the .NET Framework
Until now, Microsoft did not provide explicit support in the .NET Framework for manipulating security settings. With the .NET Framework 1.x, access can only be granted to users via a series of cumbersome P/Invoke calls. By introducing the concepts of security objects and rules, the .NET Framework 2.0 allows developers to manipulate security settings of objects in a few easy steps using managed code. Want to know more? Read on.
Intrusion Prevention - Build Security Into Your Web Services with WSE 2.0 and ISA Server 2004
Once you've addressed security in your code, it's time to look at the environment it runs in. Firewalls stop unauthorized traffic from getting into your network, and smart Web service-specific firewalls, like the one that comes with Internet Security and Acceleration (ISA) Server 2004, bring XML intrusion prevention to your system for that added layer of safety.
Editor's Note - Vote Early and Often for MSDN Magazine
As this issueof MSDN Magazine goes to press, Election Day is drawing near.Like many candidates for office, this magazine sports some bold cover lines and bright, appealing pictures.Unlike those same politicians, however, we will keep working for you month after month, year after year, even after you elect to purchase the magazine.
New Stuff - Resources for Your Developer Toolbox
Jungo Software Technologies has announced the release of Go-HotSwap 6. 22, a complete off-the-shelf software package offering a solution for hardware vendors, system integrators, and operating system vendors, aiming to provide hot-swap capabilities to their users.
Web Q&A - ADO.NET Joins, HTML to XHTML, ASP.NET ViewState, and More

Data Points - Updating Data in Linked Servers, Information Schema Views, and More
Every day a developer somewhere needs to write code to iterate through SQL Server™ system objects, query and update tables in linked servers, handle optimistic concurrency, and retrieve column and stored procedure metadata.
Test Run - API Test Automation in .NET
The most fundamental type of software test automation is automated API testing.API testing essentially entails testing the individual methods that make up a software system rather than testing the overall system itself.
Advanced Basics - Digital Grandma
As a parent of a young child, I take a lot of pictures—many more than anyone would ever be interested in seeing.Well, anyone except my mother.This is her first grandchild and the one or two pictures I send to her each week only brush the surface of her grandmotherly needs.
Cutting Edge - The ASP.NET 2.0 Wizard Control
ASP.NET has a lot to offer to both the low-level programmer willing to control every little step of the code and the busiest of developers who needs to point-and-click his way through Web app development using just a few existing components.
Service Station - Improving Web Service Interoperability
If interoperability is the main promise of Web services, why is it that so many developers and organizations have a difficult time achieving it in practice? With all due respect to our hard-working standards bodies, the primary culprits are the imperfect specifications guiding today's implementations.
.NET Matters - ThreadPoolPriority, and MethodImplAttribute

C++ Q&A - Calling Virtual Functions, Persisting View State, POD Type

{ End Bracket } - A Tidal Wave of Change
I surf the Net somewhat obsessively when I have spare time, and I often read various discussion forums such as Slashdot and Neowin.Now, the journalism at those sites isn't always the highest quality, and I have noticed a marked lack of perspective on the level of changes that have occurred in this industry.
Bootstrapper - Use the Visual Studio 2005 Bootstrapper to Kick-Start Your Installation
There are plenty of times when you need to get information on running processes, not the least of which is during performance tuning. Using the techniques in this article and special .NET classes you'll see how to get a process' ID, name, priority, number of threads, kernel handle, and memory consumption, as well as its user-mode, kernel-mode, and total elapsed running time and put them to use in a custom app called AssemblyBrowser.
.NET Internals - Examine Running Processes Using Both Managed and Unmanaged Code
There are plenty of times when you need to get information on running processes, not the least of which is during performance tuning. Using the techniques in this article and special .NET classes you'll see how to get a process' ID, name, priority, number of threads, kernel handle, and memory consumption, as well as its user-mode, kernel-mode, and total elapsed running time and put them to use in a custom app called AssemblyBrowser.
ASP.NET 2.0 - Speed Up Your Site with the Improved View State in ASP.NET 2.0
View state is a wonderful thing. It allows the ASP.NET developer to maintain state for server-side controls that are not form elements.Used judiciously, it can improve the user experience. But in the wrong hands, it can cause your pages to grind to a halt. The release of ASP.NET 2.0 will include a variety of improvements to view state that will make it easier to use and less likely to slow performance.
Advanced Serialization - Format Your Way to Success with the .NET Framework Versions 1.1 and 2.0
While .NET offers adequate support for the simple serialization cases, issues arise when you're attempting to support delegates and subscribers, versioning, and class hierarchies. . In addition, the introduction of generics in The .NET Framework breaks new ground in the complexity of the serialization task and the power of serialization tools. This article discusses these issues and related pitfalls, suggests techniques and workarounds that address them, and recommends when and how to best use the new serialization abilities.
BizTalk 2004 - Automate Your Business Processes with Human Workflow Services and Visual Studio
BizTalk Server is an excellent platform for automating B2B and EAI workflows. Process-driven workflows send messages between machines and access data. Until now, such processes were very difficult to automate, but with the introduction of Human Workflow Services in BizTalk Server 2004, this class of workflow automation is a very real possibility. This article explains it all.
Unit Testing - Mock Objects to the Rescue! Test Your .NET Code with NMock
The problem: unit testing libraries, especially data access components, that have a complex set of dependencies. The solution: providing a dynamic mock implementation of your data access classes. Here the author explains just how to make testing easier and more reliable using NMock.
Editor's Note - Old, New, Borrowed, Blue
A traditional marriage "rule" is that the wedding should feature something old, something new, something borrowed, and something blue.The reasoning behind this escapes us.Why blue? Why have so many successful marriages (Britney Spears comes to mind) ignored this rule entirely? Can you borrow someone's new, blue thing? How long will this analogy go? In any event, this month we have news from all four of these categories.
New Stuff - Resources for Your Developer Toolbox
MKS Inc. , a provider of tools for porting Unix/Linux applications to Windows®, has just announced the availability of its new 64-bit products.MKS is shipping a beta version of MKS Toolkit for Enterprise Developers 64-bit edition with support for extended-architecture 64-bit platforms such as AMD64 running Windows 64-bit OS.
Web Q&A - Refreshing Web Pages, Spyware, Group Policy, and More

Data Points - Handling Data Concurrency Using ADO.NET, Part 2
Enterprise development has been moving towards a discon-nected model in recent years and ADO. NET development is no exception.While the disconnected model of the ADO. NET DataSet offers great flexibility, that adaptability also means looser control over data updates than you get with a connected data access model.
Advanced Basics - Building a Progress Bar that Doesn't Progress
In many situations, accurately estimating the length of a certain process (copying a large file, loading data from a server, retrieving files from the Internet) would be both difficult and inefficient.
.NET Column - P/Invoke Revisited
In the July 2003 installment of the . NET column I covered the basics ofWin32® interoperation with the Microsoft® . NET Framework (P/Invoke).Based on reader feedback, this topic is worthy of further coverage, so I have decided to revisit P/Invoke in this column.
Cutting Edge - Binary Serialization of DataSets
The ADO. NET DataSet object plays an essential role in most of today's distributed, multitiered applications.Instances of the DataSet class are used to move data across the tiers and to exchange data with external services.
Service Station - Securing Web Services with WSE 2.0
Beginning this month, The XML Files will run under the name Service Station. We have made this change so that the column can discuss broader topics such as Web services, service-oriented architecture, and the like.
Security Briefs - Password Minder Internals
In my last column I introduced Password Minder, the tool I use to manage all of my passwords.It generates a long, random password for each site I visit, and makes it possible for me to use the most complex passwords possible, without ever having to see the actual password material or type it in manually.
.NET Matters - ThreadPoolWait and HandleLeakTracker

C++ Q&A - Create Client Windows, Drag and Drop Between Listboxes

{ End Bracket } - Microsoft Java Virtual Machine Update
In a settlement agreement reached in January 2001 to resolve a dispute over the Microsoft distribution of its Java implementation, Sun Microsystems and Microsoft agreed to limit the duration of the time Microsoft would use Sun's source code and compatibility test suites to support the Microsoft® Java Virtual Machine (MSJVM).
Data Security - Stop SQL Injection Attacks Before They Stop You
To execute a SQL injection attack, a hacker writes a Web page that captures text in a textbox to be used to execute a query against a database. The hacker enters a malformed SQL statement into the textbox that causes the back-end database to perform operations the owners did not intend it to perform, like making unauthorized updates. This article explains how you can protect against the all too common SQL injection attack in your own database. The steps covered include data validation, proper exception handing, and much more.
SQL Server 2005 - Unearth the New Data Mining Features of Analysis Services 2005
In SQL Server 2005 Analysis Services you'll find new algorithms, enhancements to existing algorithms, and more than a dozen added visualizations to help you get a handle on your data relationships. Plus, enhancements to the Data Mining Extensions to SQL along with OLAP, DTS, and Reporting Services integration make it possible to create a new breed of intelligent apps with embedded data mining technology. Here the author explains it all.
Express Editions - Get a Lean, Mean Dev Machine with the Express Editions of Visual Basic and SQL Server 2005
The Express Editions of Visual Basic and SQL Server 2005 have lots of the features of the full-sized versions, but with a lot less of the overhead. Professional developer features such as full IntelliSense support, local debugger, Add Web Reference, and the improved Visual Data Tools will all be available in the Express products, so you don't have to leave your favorite features behind. In this article the author introduces you to these express editions and builds a sample app to get you started.
Data Deployment - Streamline Your Database Setup Process with a Custom Installer
Database setup can be a tough and time-consuming process and sometimes fall victim to human error. Microsoft Installer or InstallShield can help, as can your own custom installer. In this article, the author tackles one approach to writing database installers and demonstrates the process with a working code sample.
Design Patterns - Simplify Distributed System Design Using the Command Pattern, MSMQ, and .NET
Service-oriented architecture is a great framework when you need to perform distributed computing tasks over the Internet. But when you want to perform processing inside your local network, a different solution may provide a better fit. That solution, based on the Command pattern, uses Windows services and Microsoft Message Queuing to implement a queued system that meets your needs better than a service-oriented solution. This article explains how to build it.
Editor's Note - Camp MSDN Magazine
Welcome back to the autumn term! We hope you had a great summer.We've been hard at work roasting marshmallows, making gimp bracelets, and learning how to make a baked brie using only twigs and berries.
New Stuff - Resources for Your Developer Toolbox
MimarSinan International has released InstallAware Professional Edition, which generates script-driven, Web-based Windows® Installer setups with customized user interfaces.Installations run on all existing Win32® platforms and do not require the .
Web Q&A - Caching Transforms, Connection Sharing, and More

Data Points - Handling Data Concurrency Using ADO.NET
One of the key features of the ADO. NET DataSet is that it can be a self-contained and disconnected data store.It can contain the schema and data from several rowsets in DataTable objects as well as information about how to relate the DataTable objects—all in memory.
Test Run - Automate Testing of Your Stored Procs
Many Windows®-based applications have a SQL Server™ back-end component that contains stored procedures.Although techniques to automatically te