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


Automatically Sort C# Objects

Whenever you create a C# class definition, consider adding one extra method so you can automatically sort object instances. It's easy and well worth the minimal extra effort. For example, suppose you've defined:

public class Employee
{
  public string name; 
  public string title; 
  // methods here
}

If you enhance the class as follows:

 
public class Employee : IComparable
{
  public string name; 
  public string title; 
  // Methods
  public int CompareTo(Employee other) 
  {
    return String.Compare(this.name, other.name); 
  }
}

Then if you have a list of objects:

List list = new List();

You can automatically sort this list with the statement:

list.Sort(); 

Being able to automatically sort lists and arrays of objects really comes in handy for WriteLine-style debugging and display routines.

Dr. James McCaffrey works for Microsoft Research in Redmond, Wash. He has worked on several Microsoft products including Internet Explorer and Bing.

Posted by James McCaffrey on 05/18/20150 comments


Boost Business Apps with LightSwitch

The primary reason you might want to use WCF RIA Services with Visual Studio LightSwitch/Cloud Business Apps (SharePoint) is to:

  • Combine more than one entity into a single entity.
  • Eliminate unnecessary columns in an entity to improve performance (otherwise large amounts of data, such as pictures, will be transmitted even when they're not shown).
  • Implement calculated fields that let you search and sort resulting values.

Go to the LightSwitch Help Web site for more information.

Michael Washington is the founder of LightSwitchHelpWebsite.com. He's an ASP.NET, C# and Visual Basic programmer. He has extensive knowledge in process improvement, billing systems and student information systems.

Posted by Michael Washington on 05/12/20150 comments


Speaker Profile: Dr. James McCaffrey

If you've ever read MSDN Magazine or Visual Studio Magazine, or attended a Visual Studio Live! event, you've probably come across Dr. James McCaffrey. Dr. McCaffrey works at Microsoft Research in Redmond, Wash., but he spends a lot of time writing articles and presenting at developer events.

Dr. McCaffrey is fascinated by any form of activity that involves human interaction and combinatorial mathematics. Some examples of that include analyzing gambling games, such as "Blackjack Switch," and the study of betting behavior associated with professional sports. He enjoys examining software systems that have designs influenced by the behavior of biological systems, such as genetic algorithms and simulated bee colony algorithms, especially when applied to large-scale data mining and analysis.

"I really like attending Visual Studio Live! events," he says. "There are great speakers and I always pick up interesting and useful knowledge that I can apply to work. Additionally, I especially enjoy the impromptu, ad hoc conversations that spring up between session talks and scheduled events."

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

Posted by Lafe Low on 05/06/20150 comments


Speaker Profile: Laurent Bugnion

If you've read any materials on Model-View-ViewModel (MVVM), Windows Presentation Foundation (WPF) or Xamarin, chances are you've seen the work of Laurent Bugnion. Based in Zurich, Switzerland, he is a prolific writer and speaker in the software development world. He's the author of the well-known open source framework MVVM Light Toolkit for Windows Phone, Windows Store, WPF, Xamarin, and of the popular Pluralsight reference course about MVVM Light. He's also the senior director for IdentityMine, a Microsoft gold partner for technologies such as WPF, Xamarin, Pixelsense, Windows Store, Windows Phone, Xbox and, generally, UX.

In October 2010, he published the book, "Silverlight 4 Unleashed" (Sams Publishing). It was an advanced sequel to "Silverlight 2 Unleashed" (2008), which was published by the same company. He writes for MSDN Magazine and other publications, writes apps for Windows Phone, Windows Store, WPF, Xamarin (iOS and Android), and ASP.NET and his blog is on blog.galasoft.ch.

This is Bugnion's ninth year as a Microsoft Most Valuable Professional (Windows Application Development), his second year as a Microsoft Regional Director and his first year as a Xamarin Most Valuable Professional.

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

Posted by Lafe Low on 05/05/20150 comments


Diagnose Web Problems in Mobile Devices with Fiddler

Fiddler is a great help when diagnosing problems with Web sites, investigating performance concerns and modifying requests sent to Web servers. Because mobile devices are responsible for more traffic to Web sites, you should know how to use Fiddler for mobile clients, as well.

You can simply run Fiddler on your PC on its default port of 8888, configure it to "allow remote computers to connect" in Fiddler Options on the Connections tab, and ensure any firewall allows traffic on that port. Use ipconfig on the PC to determine its IP address. Then set the proxy server on the mobile device to point at the given IP address and port 8888.

In iOS, you'd set this on the Wi-Fi connection under the HTTP Proxy section by choosing Manual. Open the browser on the device and as you visit Web sites, you'll see all the traffic in Fiddler. Now use all the great features in Fiddler you’re used to for mobile clients.

Robert Boedigheimer works for Schwans Shared Services LLC providing business solutions with Web technologies and leads Robert Boedigheimer Consulting LLC. He’s been designing and developing Web sites for the past 18 years including the early days of ASP and ASP.NET.

Posted by Robert Boedigheimer on 05/01/20150 comments


5 Great Visual Studio Keyboard Shortcuts

Here are five of my favorite keyboard shortcuts in Visual Studio. There's a good chance at least one of them will be new to you.

Move Code Alt+Up/Down
This keyboard shortcut is new in Visual Studio 2013. If you put the cursor on a line of code and use the Alt+Up Arrow keys, the line of code you've selected moves up. If you use the Alt+Down Arrow keys, the line of code selected moves down.

Create Collapsible Region Ctrl+M+H/Ctrl+M+U
Chances are you've noticed the "+" and "-" symbols in the margins that let you collapse and expand your classes and functions. Did you know you can create your own collapsible regions? If you select a section of code and then use the key sequence Ctrl+M+H, you turn that region into a collapsible/expandable region. The key sequence Ctrl+M+U will remove the collapsible region. It doesn't delete the code, it just removes the icon that lets you expand and collapse.

Comment Code Block Ctrl+K+C/Ctrl+K+U
Whether it's because you're trying to track down a "but," or experimenting with code change, from time to time you'll want to comment and uncomment blocks of code. If you select a block of code and use the key sequence Ctrl+K+C, you'll comment out the section of code. Ctrl+K+U will uncomment the code.

Peek Definition Alt+F12
When you're going through your code and you want to examine the code in the method you're calling, many programmers will use the F12 key or the pop-up menu option Go To Definition. Go To Definition will navigate to the called method; however, many times you don't need to navigate to the code. Sometimes, you just want a quick look at the method. If you've installed Visual Studio 2013, there's a new keyboard shortcut -- Alt+F12 -- that will give you a preview of the method being called inline. You can use the Esc key to close the preview.

Navigate Forward/Backward Ctrl+–/Ctrl+Shift+–
When you have multiple files open at the same time, you might want a way to quickly move back and forth between two or three different locations in your code. If you've moved from one location to another you can use the keyboard sequence <Ctrl>+ to move to the previous location and then you can return using Ctrl+Shift+–.

Susan Ibach is a developer evangelist at Microsoft Canada. She loves to talk about Windows Phone, HTML5 and the cloud and has worked as a consultant doing programming, testing, data conversions, rollouts and also as a trainer teaching Oracle, SQL Server, SQL Server BI, and .NET programming. When she's not staring at an LCD screen, she's doing martial arts with her kids, out running or enjoying her husband's cooking.

Posted on 04/17/20150 comments


Keep Up-to-Date with Visual Studio Live!

Email address*Country*