3 Great .NET Books for Developer Success

Everyone learns a bit differently. As a ski instructor, I was always told people learn by doing, learn by watching, or learn by thinking—doers, watchers, and thinkers. And while everyone has a dominant learning style (I am most definitely a doer), everyone also is some combination of all three.

When you’re attending sessions at Visual Studio Live!, you hear presentations and see the demos. If you like what you see, but wish you could carry some of that along when you get back to your office and back to coding on your own, fear not. Several of the Visual Studio Live! presenters, with whom you’re undoubtedly familiar, also have several leading .NET books to their credit.

.NET Test Automation Recipes: A Problem-Solution Approach by James McCaffrey

Dr. McCaffrey is a veteran and venerable presenter, and his latest title is just what you need if you develop, test, or manage .NET software. McCaffrey’s book provides practical techniques to help you write test automation software in .NET, as well as API testing, interface automation, and testing SQL stored procedures.

All the examples presented in the book have been fully tested, so you can rest assured you’re not being led astray. After reading this intermediate level book, you’ll have a good handle on writing production-quality combination and permutation methods. James has several other books on software testing and C# coding as well, including Software Testing: Fundamental Principles and Essential Knowledge, Neural Networks Using C# Succinctly, and Machine Learning Using C# Succinctly.

Professional Visual Basic 2012 and .NET 4.5 Programming by Billy Hollis

Billy Hollis is a popular presenter, and fortunately he writes like he speaks—lively and engaging.

This extensive text starts off with a quick introduction to some Visual Basic 2012 and .NET 4.5 basics. It also dives into more advanced topics, including data access with ADO.NET, ASP.NET web programming with Visual Basic, Windows workflow, security, and threading. The book also covers .NET and Visual Basic features such as LINQ, WCF, exception handling, and debugging. Billy’s co-authors on Professional Visual Basic 2012 and .NET 4.5 Programming include Bill Sheldon, Rob Windsor, David McCarter, Gastón C. Hillar, and Todd Herman.

Metaprogramming in .NET by Jason Bock

This book introduces the concept of metaprogramming, getting right into core concepts like code generation and application composition. It also takes a deep dive into tools and techniques you’ll need to implement those concepts into your .NET applications. Metaprogramming in .NET. includes:

  • metaprogramming concepts in plain language
  • creating scriptable software
  • code generation techniques
  • the Dynamic Language Runtime

You should be at least comfortable with C# and the .NET framework to get the most out of this book. You don’t need any experience with metaprogramming. Jason’s coauthor for Metaprogramming in .NET is Kevin Hazzard. The book features another name you’ll likely recognize. The foreword is written by Rockford Lhotka, a Visual Studio Live! Conference Co-Chair and Jason’s boss at Magenic.

Stay tuned for more posts on books written by our talented group of expert speakers!

Posted by Lafe Low on 03/04/20160 comments


Some of the Best Visual Studio Blogs to Follow: Part 2

We continue our series on the best Visual Studio blogs we’ve found to help you navigate the sea of available Microsoft resources. Thankfully, there is a small army of bloggers out there in the Visual Studio world looking things up and sharing their findings.

Visual Studio Extensibility: Carlos Quintero

Carlos Quintero has been a Most Valuable Professional (MVP) since 2004 and is a passionate specialist about Visual Studio Extensibility (VSX). A recent blog post of his discusses incorporating images into your apps to make them more consumer-friendly, resources to create high-DPI images with the new Visual Studio 2015 Image Service. He explains it’s relatively easy to become fully DPI-aware and use DPI images in your apps. He outlines and describes several of the Microsoft resources you have available.

He also points out that apparently, support for high-DPI images through a new image service was indeed present in the Visual Studio 2015 RTM release, but only recently did Microsoft publish the documentation for those services.

LockTar’s Blog: Ralph Jansen

Ralph Jansen, a developer and teacher who enjoys sharing his knowledge,  also takes us through a list of excellent resources in one of his recent posts Best Visual Studio extensions and applications. He lists extensions and NuGet packages he says he uses every day. Here are his top three in both categories:

Visual Studio Extensions

  • EnterpriseLibrary.Config: This is a handy tool for your Enterprise Library packages, and lets you can edit your config with an interface.
  • GhostDoc: This tool can generate summaries above your code. It will also generate documentation for parameters, properties, field, methods, and so on.
  • NuGet Package Manager: It ought to be quite clear what this is.

NuGet packages

  • StyleCop: This lets you create defaults about documentation and code formats.
  • StyleCop Checkin Policy: This is my own check-in policy for validating StyleCop rules.
  • Ninject:  This is an easy-to-use dependency container for fast building applications.

Marius Bancila’s Blog

And Marius Bancila, in his post Three New Features I Like in Visual Studio 2015, he outlines his favorite new features in Visual Studio 2015, starting off with the new Error Window.

One of the things that bothered me the most about the [previous] error window was the mixture of errors/warnings/messages from both MSBuild and IntelliSense,” he writes. “But I don’t usually care about the later and their presence in the error window is usually annoying me. This is now fixed and you can select to see messages from Build, IntelliSense or both.”

Next, he points out finding files in append. “I’m working with large source bases and I often need to do find in files, usually going from search to search until I find what I need. The problem was there were only two output windows for the search results and when you need to do a third you had to discard one of the previous searches while you might still needed the results.” In Visual Studio 2015, Microsoft has finally implemented an append feature. This lets you append your search results to one of the existing two windows.

Finally, he likes the new inline ability to create definition. “I’m not sure how this feature is actually called, but what it does is create a definition for a function in the source file from the declaration in the header and displays it in a boxed document inside the header document.” 

So the next time you run into something that makes you scratch your head with Visual Studio, remember you have a wealth of resources at your disposal in the blogosphere. Have a favorite blog you visit you’d like to share? Comment below!

Posted by Lafe Low on 02/22/20160 comments


4 Must-Read AngularJS Blogs

Angular has gained quite a bit of popularity as an open-source Web application development framework due to its intent to simplify application development and testing.

Given its flexible nature, there are a number of approaches and best practices for incorporating Angular into your apps. Whether you're a dabbling novice or a proficient expert, here are four content-packed, super-informative AngularJS blogs we found that are worth a read.

1. Google AngularJS Blog

Heading straight to the source is a great place to start with Angular. You’ll learn more about specific tactics for developing with Angular (or AngularJS as it’s sometimes called) and stay up-to-date on the newest releases (the Angular 2.0 Beta was just announced) on the official Google AngularJS blog.

An interesting recent post from the blog is that Google will be returning the license arrangement for AngularJS to the original MIT license. As Google states, “What we've heard from users in the Angular community is that you prefer the MIT license. It's more widely used within JavaScript projects, it's shorter, and it’s better understood.”

2. Deborah’s Developer MindScape

One of the best ways to work with Angular if you work with Microsoft technologies is to use TypeScript. TypeScript is an open source programming language that's actually a superset of JavaScript. It can transpile to plain JavaScript and provides class-based object-oriented programming techniques.

Deborah Kurata, who frequently presents at the Visual Studio Live! events, agrees TypeScript works great with Angular. “If you are developing now in Angular 1.x with an eye toward Angular 2, the best thing you can do is to write your Angular code with TypeScript,” she writes in a recent blog post. “Angular 1.x code you write in TypeScript today will look very similar to code you will write in Angular 2 tomorrow.” (Click here to visit her blog and read more about her thoughts on Angular and C# development.)

3. Adrian Mejia’s Blog

Scalability is another potential issue for application development, and Angular works well there. If you’re developing with an eye toward continuous deployment or cloud platforms, this is particularly germane. Full-stack web developer Adrian Mejia, who specializes in MEAN stack (Mongodb, Expressjs, Angularjs, Nodejs), recently blogged 12 steps to take to ensure application scalability with Angular.

Visit AdrianMejia.com to learn more about this 12-step process.

4. Jason Watmore’s Blog

Another aspect of application development for which Angular is well-suited is unit testing. And that's where Jason Watmore's blog comes in.

In one of his recent posts, Watmore specified a number of libraries he uses when developing his own unit tests. Here’s a look at some of them (most of these have various alternatives and can be used in multiple combinations):

  • Mocha—testing framework
  • Chai—assertion library
  • Sinon—spy, stub and mock library
  • ngMock—module for injecting and mocking angular services

Read more about how to use these libraries in your own unit testing, along with other topics, at JasonWatmore.com.

What’s your favorite Angular blog? Got any feedback on the ones we listed here? Leave your comments below!

Posted by Lafe Low on 02/10/20160 comments


Some of the Best Visual Studio Blogs to Follow: Part 1

Visual Studio is such a powerhouse application development platform, that there's NO shortage of expert advice available in the blogosphere these days.

To help you navigate the resource waters, we dove head-first into this information ocean to find the best Visual Studio blogs for advice and guidance. Here’s part 1 of our findings, focused on ALM, TFS and VSTS.

A Developer’s Life: Jeff Bramwell

Jeff Bramwell, a Microsoft Visual Studio ALM MVP since 2008, penned a recent blog post on discovering Visual Studio Team Services APIs. “Building on our current theme of Visual Studio Team Services (VSTS) API calls, let’s take a look at discovering what APIs are available. The likely starting point for figuring out VSTS APIs is the REST API Reference for VS Team Services and TFS. Here you can view the various information and examples for the APIs currently exposed by VSTS (and TFS). The APIs are broken out into major categories with each category including links to the various resources provided by their respective APIs.”

He continues, “If you’re like me, however, you might enjoy viewing the available APIs just a little bit closer to the ‘metal.’ This is relatively simple with VSTS because Microsoft has implemented the HTTP OPTIONS method. While you wouldn’t necessarily want to use the OPTIONS method to programmatically build and call API URLs on-the-fly (you can read more about why you might not want to do this here) that doesn’t mean it isn’t a great mechanism for spelunking around a set of APIs to see what’s offered.”

Click here to check out this excellent blog.

Please Release Me: Graham Smith

Continuous delivery is a hot topic with Visual Studio application developers these days. If you want to read more about Continuous Delivery with TFS / VSTS, and Configuring a Sample Application for Git in Visual Studio 2015, then you’ll want to check out Graham Smith’s blog. He’ll take you through the process of configuring a sample application to work with Git in Visual Studio 2015. (It almost sounds as easy as filling in a form!)

“In order to start working with Git in Visual Studio there are some essential and non-essential settings to configure," Smith advises. "From the Team Explorer – Home page choose Settings > Git > Global Settings. Visual Studio will have filled in as many settings as possible. Complete the form as you see fit. The one change I make is to trim Repos from the Default Repository Location (to try and reduce max filepath issues) and then from Windows Explorer create the Source folder with child folders named GitHub, TFS and VSTS. This way I can keep repositories from the different Git hosts separate and avoid name clashes if I have a repository named the same in different hosts.”

See the rest of Graham Smith’s blog posts by visiting PleaseReleaseMe.net.

Regularly Expressing on .NET: Jesse Houwing

For a wealth of tips and tricks on TFS and ALM, you don't want to miss Jesse Houwing’s blog posts.

He recently compiled several of his older blogs posts on connecting to TFS from any version of Visual Studio into one central location. He mentions that there are three things to consider when connecting to TFS from an older version of Visual Studio:

  • The version of TFS you want to connect to
  • The version of Visual Studio you're connecting from
  • The version of Windows you're running

Stay tuned for more of the best of the best from down in the trenches with Visual Studio.

Have a favorite ALM/TFS/VSTS blog you’d like to share? Comment below!

Posted by Lafe Low on 02/03/20160 comments


NEW Content Added to the Visual Studio Live! Las Vegas Agenda

As 2015 comes to a close, it's been a great year in the Microsoft ecosystem when it comes to tools and technologies. Yet as a development team member, it can feel overwhelming when you have to keep up with all of that. As my fellow Visual Studio Live! conference co-chairs Andrew Brust and Rockford Lhotka and I started planning for the 2016 shows, we worked hard to make sure we had the right mix of cutting-edge tech, best practices, and topics you really need to know. As we did our advance planning, we left some openings in the Visual Studio Live! Las Vegas (March 7 – 11 at Bally's Hotel & Casino) agenda that we could fill later, so we could make sure we were prepared for the latest innovations coming from Microsoft and others in the industry.

This brings us to our first batch of added sessions, now available, where you'll find five of our top speakers, bringing you topics you need to know in 2016. First, there's Miguel Castro and his session, "End-to-End Dependency Injection & Writing Testable Software." Quality continues to be a hot topic in the industry and, while for some, dependency injection is old hat, many developers are still in need of a solid grip on how and when to use it, and understanding the correlation between it and increased testability/quality. Castro is an experienced software craftsman and this session will be filled with his hard-earned best practices.

Another topic that needs more attention from development teams in every organization is security. It seems we hear about security breaches almost daily, many of them rooted in bad programming practices. Naturally, the Web is one of the first lines of defense and Brian Noyes has a new session to help: "Securing Single Page Applications." In this session, Noyes will cover Angular and Aurelia -- two of the hottest JavaScript frameworks out there, while discussing security issues you need to be aware of and what you can do to mitigate them.

Jumping to the other end of most applications, we have Leonard Lobel's "Exploring T-SQL Enhancements: Windowing and More." Persistence in the data tier is the foundation of most applications, and SQL Server continues to be the go-to data store for companies who want the richest feature set on top of a rock-solid engine that's proven over and over in daily use. Lobel is an expert who works daily with SQL Server to find out how to get the most out of it. This session will bring those insights straight to you.

Continuing with the data theme, Walt Ritscher brings us a brand new session to VSLive!: "Pretty, Yet Powerful. How Data Visualization Transforms the Way We Comprehend Information." No area is hotter than data science. A critical part of that is how you present the enormous amounts of data gathered daily -- whether it's product data, customer usage data or even operational data -- to the consumers of the systems you build. Ritscher will provide you with insight on how to choose the right visualization technique for your data, in a clear and understandable fashion.

And, finally, our last session in this batch is from conference co-chair Rockford Lhotka. Lhotka is a pioneer in the Microsoft world having brought his CSLA Framework forward from its roots in Visual Basic and COM to the modern world of cross-platform .NET on the desktop, servers, and mobile devices including iOS and Android. In "Building Cross-Platform Apps Using CSLA .NET," Lhotka will show you best practices for sharing code across all the Microsoft .NET Framework stacks, how Xamarin enables you to use C# and .NET, and get reuse out of nearly 100 percent of your business-layer code.

So there you have it, just in time for the holidays, five great new sessions added to the already huge list at Visual Studio Live! Las Vegas 2016.

All of us at Visual Studio Live! wish you safe and happy holidays, and look forward to seeing you all in 2016!

Posted by Brian Randell on 12/15/20150 comments


Visual Studio Live! 2016: The Year Ahead

With so many new technologies and toolsets coming to the forefront, universal apps, collaboration, mobile apps -- you've got to stay on your toes just to keep up in the development world. There's increasing emphasis on "softer" skills like intuitive app design and drafting precision DevOps processes, as well as continued top-notch development with some of the newer tools and technologies like NoSQL, AngularJS and Roslyn. Whew -- that's a lot!

Fortunately, you'll have plenty of opportunities to catch Visual Studio Live! next year, no matter where you live or where you might want to visit. Here's a look at where and when you'll find Visual Studio Live! events in 2016:

  • Las Vegas, NV, March 7-11, Bally's Hotel & Casino
  • Austin, TX, May 16-19, Hyatt Regency
  • Boston, MA, June 13-16, Cambridge Hyatt Regency
  • Redmond, WA, Aug. 8-12, Microsoft Headquarters
  • Anaheim, CA, Sept. 26-29, Hyatt Regency
  • Washington, D.C., Oct. 3-6, Renaissance
  • Orlando, FL, Dec. 5-9, Loews Royal Pacific Resort (as part of Live! 360)

As always, if you need to find out more about Visual Studio Live! events, just check out the homepage. See you sometime next year!

Posted by Lafe Low on 11/05/20150 comments


2015: It Was a Very Good Year

As 2015 moves into our collective rearview mirror, this feels like a good to time to take stock of all the Visual Studio Live! goodness that has happened in the last 10 months.

Las Vegas, March 16–20
Our first event of the year, Las Vegas, always attracts a lively crowd, because, you know, it's Vegas. Oh, and St. Patrick's Day. But the attendees got their fill of learning, too, as the keynotes were hard-hitting, from John Montgomery's and Kieran Mockford's Visual Studio 2015 preview to the sharp-witted, eye-opening address from Billy Hollis.

Austin, June 1–4
Visual Studio Live! returned to Austin for the first time in eight years in June. Since that last time there, Austin has grown into a massive tech hub, which welcomed the attendees warmly with good weather, unforgettable "bat cruises" and engaging, relevant keynotes from Microsoft's Jay Schmelzer and natrual UI expert Tim Huckaby.

San Francisco, June 15–18
Hot on the heels of Austin, the Visual Studio Live! code trip pulled into another technological hotbed, San Francisco. Attendees enjoyed panoramic views of the City by the Bay atop our host hotel, The Fairmont, and were treated to a redux of Jay Schmelzer's Austin keynote on The Future of Application Development—Visual Studio 2015 and the Microsoft .NET Framework 2015 and were informed by Falafel Software's Kris Lankford and Visual Studio Live! Conference Co-Chair, Brian Randell that if they didn't get started in the cloud, they'd be left behind.

Redmond, Aug. 10–14
This event's always a special one, as it takes place right at Microsoft Headquarters in Redmond, Wash. An entire track was devoted to Microsoft speakers, which featured legends like Scott Hunter and Scott Hanselman. Attendees got to experience life as a "Blue Badge," dining at the Mixer with employees, visiting the company store and rubbing elbows with insiders at the Ask the Experts event. Daniel Moth took Visual Studio 2015 for a Test Drive in the Tuesday keynote, and Thomas Fennel dug into the Universal App Platform during the Wednesday keynote.

New York, Sept. 28–Oct. 1
With two tech heavyweights slated to keynote, Visual Studio Live! in Brooklyn didn't disappoint. Microsoft Technical Fellow and Product Unit Manager for Team Foundation Server Brian Harry kicked off the Tuesday keynote with a message about Embracing DevOps with Visual Studio. Mary Jo Foley joined the event on Wednesday with colleague and Visual Studio Live! Conference Co-Chair Andrew Brust for a Q&A on Microsoft 3.0: New Strategy, New Relevance.

Orlando, Nov. 16–20
Visual Studio Live! Orlando is in its fourth year of anchoring the Live! 360 event, which combines Visual Studio Live!, TechMentor, SQL Server Live!, SharePoint Live! and Modern Apps Live! under one roof for one price. By far the largest event of the year, attendees can join any conference session they wish, totaling more than 180 over the course of the week. Keynotes include Mary Jo Foley's Q&A with Andrew Brust on Monday evening and Conference Chairs Don Jones and Brian Randell discussing what DevOps means to you on Wednesday. More information about the event can be found at live360events.com.

Posted by Lafe Low on 10/29/20150 comments


Speaker Profile: Ted Neward

Ted Neward is one of the most popular speakers on the Visual Studio Live! circuit. You can usually find him, when not speaking, holding court with several attendees talking coding languages or recounting his latest adventures behind a barbeque grill.

We recently caught up with Neward, who's also The Working Programmer columnist for MSDN Magazine, and had a chance to find out what makes him tick.

Neward's "speciality" is languages of all forms, and that dates back to when he was a C++ developer and first got a glimpse of Java. At first, he discounted it—it looked like a crippled C++. No templates, no default parameters, no operator overloading, who'd want to work with a crippled C++? But after six months of playing with Java 1.0 and 1.1 beta, he realized the beauty of Java lay not in the language, but the virtual machine living underneath it. That opened up a whole new dimension to programming languages, and he's been chasing those "shaft of light from heaven" moments around different languages ever since.

Looking forward, he thinks we're going to see a proliferation of Ahead-of-Time compilation tools (similar to what Xamarin does to allow using C# to build iOS apps). That seems to represent a really nice best-of-both-worlds compromise between traditional compiled languages (a la C++) and runtime-based languages (a la Java or the Microsoft .NET Framework). He suspects Visual Studio will start exploring this already, pushing more of the ".NET Native" story as people warm up to the idea.

If he were a lead product manager right now, here's what he'd do:

  • For Visual Studio: Buy Xamarin.
  • For SQL Server: Ensure that Ruby, NodeJS, and Python all have Microsoft-blessed SQL Server drivers for better/easier access to Microsoft databases, and start looking at tools like Neo4J, FoundationDB, and MongoDB and see how/where/when we want to start thinking about non-relational storage in the SQL Server environment.

When asked what keeps him challenged and engaged, he says, "Have you seen how many languages there are out there? And despite all their similarities, they often hide really interesting idioms, features, or approaches that influence how I build and write software. And the beautiful thing is that's never going to end. For as long as we write software, we will be looking for better ways to write software, and incorporate them into our languages."

When asked if he thought anything was missing in programming today, he said, "Not a thing. As I said, have you seen how many languages there are out there?"

Happy coding!

Posted by Lafe Low on 07/21/20150 comments


Speaker Profile: Brian Noyes

Brian Noyes certainly didn't follow a typical entry into the world of software development. He didn't grow up programming and using computers. He didn't like typical geek things. In fact, he was quite the polar opposite for the first few decades of his life.

He grew up surfing in Carlsbad, Calif., and wasn't into traditional sports. He went to the Naval Academy, flew F-14 Tomcats, and graduated from Top Gun and the U.S. Naval Test Pilot School. He studied Aerospace Engineering both at the U.S. Naval Academy and at Naval Postgraduate School.

Somewhere along the way, he became fascinated by computers and software development and starting doing that. Initially, developing software was a hobby. It then became an area of increasing focus of his engineering jobs in the Navy. When he finally left active duty in 2000, he pursued a full-time software career. He stayed in the Naval Reserve and retired as a Navy Commander (O-5) in 2008.

From 2000 until now, he has consistently established himself as an expert software architect specializing in client application architecture, including XAML and HTML5 applications, services with ASP.NET Web API, Windows Communication Foundation and Microsoft Azure. He progressed from an initial focus on Web applications in the early days of the Microsoft .NET Framework, to Windows Forms, then Windows Presentation Foundation and Silverlight, as well as Windows 8. He later made the jump back to Web technologies with Single-Page Applications with Knockout, Angular and other JavaScript frameworks, as well as mobile technologies. These days, he spends a lot of time helping customers try to sort out the plethora of options and alternatives in the client space and get them on the path for success based on their requirements through consulting, training, mentoring and speaking at conferences.

Lafe Low is the editorial liaison for the Enterprise Computing Group Events team.

Posted by Lafe Low on 05/20/20150 comments


Don't Use Cookie-Based Authentication for Client Web API Calls Without CSRF Protection

For years, ASP.NET developers have used cookie-based authentication sessions (also called Forms authentication) to secure their Web pages. There's nothing wrong with doing that for your server-rendered pages, but as people start moving into developing Single-Page Applications with frameworks such as Angular, they need to realize that leveraging the cookie-based session for the client JavaScript Web API (AJAX) calls opens them up to a Cross-Site-Request-Forgery (CSRF/XSRF) attack.

The full details of how and why take a bit to understand. For a good background article on this, check out this blog post from Microsoft MVP Troy Hunt. The bottom line is you need to not use cookies for authenticating Web API calls and use something like OAuth tokens instead. You could also put additional protection in place for CSRF with separate correlated tokens that prevent code in another browser tab or instance from issuing calls to your Web APIs and hijacking your security session.

Brian Noyes is the CTO of Solliance Inc., a Microsoft regional director, MVP and Pluralsight author.

Posted by Brian Noyes on 05/20/20150 comments


Keep Up-to-Date with Visual Studio Live!

Email address*Country*