Howdy readers, Lafe here. About once a month, my partner in crime, Rich Seeley, will be doing technical takeovers of this blog. Here's his first contribution, focusing on debugging in Visual Studio 2017.
Debugging isn’t the favorite part of the job for most developers, but the newest version of Visual Studio is at least trying to make it faster.
The release candidate that Microsoft tells us to get used to calling it Visual Studio 2017, makes debugging “faster now and doesn't cause delays while you are editing,” according to an article on the Microsoft website.
In an earlier version of Visual Studio, Microsoft added a hosting process for WPF, Windows Forms, and Managed Console projects to make debugging faster by spinning up a process in the background to use in the next debug session.
Then the law of unintended consequences reared its ugly head.
Or as Microsoft explained: "This well-intentioned feature was causing Visual Studio to temporarily become unresponsive for a few seconds when you stopped debugging or used Visual Studio after the debug session ended."
But Microsoft's never-say-die spirit kicked in and a fix has been made to Visual Studio 2017. The hosting process has been turned off and debugging has been optimized, so it is just as fast as it was with the hosting process but now it hopefully won’t glitch out on you.
Additionally, Microsoft says debugging is even faster for projects that never used the hosting process including ASP.NET, Universal Windows, and C++.
Plus, there is a new “Run to Click” feature.
"Now, while you are debugging, you can click the icon next to a line of code to run that line,” the Microsoft article on Visual Studio 2017 says. "You no longer have to set temporary breakpoints to perform several steps to execute your code and stop on the line you want."
Extended Debugging Support
There's more debugging news in 2017 as Microsoft shows off a new software development kit that coincides with the most recent Window 10 Insider Preview, as we learn in Windows 10 Devs Can Check Out Windows 10 Creators Update SDK in Visual Studio Magazine.
The Windows 10 Creators Update SDK Preview is a test-only version that contains a slew of updates and additions to the Windows namespace as well as some extended debugging support,” writes Michael Domingo, Visual Studio Magazine Editor in Chief.
So far Windows 10 Insider Preview version of the Windows 10 OS is only available to members of the Windows Insider program, he explains. To run it, developers need to have Visual Studio 2017 RC installed.
The Visual Studio Magazine article explains that the preview SDK offers these debug enhancements:
- Kernel-mode iHandle extension moved to debugger data model
- Debugger data model now contains PEB and TEB basic information
- Added a .dtx command for displaying extended symbolic type information when using the debugger object model
"In enhancing TACO for the new Visual Studio 2017 RC, Microsoft focused on two major problems it identified in discussions with Cordova developers: fast and reliable builds and faster edit-debug cycles," writes David Ramel in the ADT article.
For faster edit-debug cycles, he explained TACO gets a new simulator called Cordova Simulate.
The article quotes a Microsoft blog post touting the new features: "For those that have been using TACO for a while, Cordova Simulate replaces the Ripple emulator that we have been using for in-browser simulation of mobile apps. It provides for a local, fast, browser-based workflow that fits with modern Web developer practices that lets you do almost all your mobile development without touching an emulator or device."
Among other improvements, the team working on TACO made some bug fixes in the open source code itself, according to the ADT article. Good to know they practice what they preach as it were.
And for developers using TACO, especially those working on mobile apps where the pressure for faster and faster turnaround is growing, anything that speeds up debugging has got to be good news.
Posted by Lafe Low on 02/08/20170 comments
Visual Studio Live! Co-Chair Brian Randell caught up with Microsoft’s DevOps guy Donovan Brown to hear what he’s been doing and thinking lately.
You hear the phrase DevOps used a lot these days, but you may wonder what it really means, how important it is and what you should do about it for your development efforts. Donovan Brown can help. Brown is a Principal Program Manager at Microsoft. In that position, he is responsible for the DevOps vision for Team Foundation Server and Visual Studio. If you’ve heard him speak, you know he is clearly passionate about DevOps. And if you haven’t heard him speak, you’ll have another chance soon. He’ll be speaking again at Visual Studio Live! in Las Vegas this March 13-17.
Let’s go way back. How did you get started working with computers?
The first time I ever saw a computer was in the eighth grade. We had a class that taught us Q Basic. That was long before we had our own computer at home, so the only time I could use it was at school. I didn’t really use another computer until tenth grade. We had an elective called Computer Math, which again was all about Q Basic and I loved it.
Fast forward a few years and I forgot about computers. By then I had one at home. I saw this board game that I really wanted, but it was $60 and I was a starving college student. So I tried to build it with clay, which was a miserable failure. Then I tried to build it with wood, which was also a miserable failure. Then I remembered Q Basic and said, “I bet I can write this game inside this computer.” Once I started, it was the only thing I could think about. How do I get this to work? I had to figure out the algorithms. All I cared about was figuring out how to work with this computer and make it play this game with me. When it was done, it was this hideous vector based game, but it worked. I could actually play this game. So after doing that in Q Basic, I went and bought “Teach Yourself C in 20 days” and here I sit.
Can you define what DevOps means to you?
I was asked to define DevOps for Microsoft. When you have 200,000 people working in a company and you are the guy asked to define it, you take that very seriously. I’ve been writing software professionally for about 20 years, so I reflected on my career before just blurting out a definition for DevOps.
My first question was, “Why is DevOps the hottest topic on the planet right now?” Every conference has something about it. I did a search on Amazon today, and found 405 books on DevOps. This is not a flash in the pan. People are taking it seriously. But why now? How were we not talking about DevOps ten years ago? I was always taught that you’re supposed to fix what hurts most first. If I look back at my career ten or twenty years ago, deployment was so far out in the future that didn’t hurt. We were struggling just writing software. We were in waterfall, we always missed our dates. It was a nightmare. We had to fix developing software first. We had to get out of waterfall and start doing something different. What we came up with was agile and scrum, and what this allowed teams to do was produce value. But producing value and delivering value, those are not the same thing. And now all of a sudden, the fact that we’re able to produce value so quickly, it emphasizes the fact that we have a problem here. We can’t get this value to the hands of our users as fast as we can produce it.
It shines a light on what DevOps is here to solve, which is taking that value and continuously delivering it to the users. We’re talking about automation, change in the process, people’s mindset shifting. So once I figured out why it’s such a hot topic and what we’re trying to solve, I was able to define DevOps for Microsoft. I define DevOps as the union of people, processes, and product to enable continuous delivery of value to the users. It took me 30 days to write that sentence, because I can defend every word. People say why don’t you call it tools instead of products? A tool in my opinion has a specific purpose. However, if you put a product on top of that to orchestrate it, now you can do some magical things.
It’s like the analogy of a house. The house was not built by your hammer and your saw. It was built by a carpenter who used those tools to build your house. I feel the same way about my DevOps pipeline. It’s not the individual tools. It’s the product that sits on top of it that orchestrates all that and really is what enables DevOps for me. So it’s the products, not the tools that you need to focus on.
The process is the easiest part of that definition. We know how to go in and diagnose what’s wrong with a process and fix that. The hardest part is the people. They’ve been doing it the same way for 30 years. And now we’re telling them they need to change the way they’re doing things? Why fix something that’s not broken? You don’t realize it but your competition is already doing this, and by the time you realize it, it’s going to be too late. So the passion is there for me because I’ve been in the industry so long, I’ve seen all this stuff evolve and right now it’s all coming together where now we can continuously deliver value to our users. And it’s not just about delivering software. It’s about delivering value. I wanted it to be a definition that would be a spring board into a deeper conversation. That’s why it took me 30 days to write that definition. I labored over every word.
So building on your definition, why do you think DevOps has become so important to organizations?
If you don’t implement it, you lose. That’s the simplest way I can say it. Your competition is already doing it. I think mobile is the best example of this. In any mobile store, there are at least half a dozen apps that do the same thing as the app you’re currently working on. So if your app is not delivering value as fast as the others, it’s just a simple uninstall and reinstall and I’m back using someone else’s product. The world has changed drastically to where there’s instant gratification. I want it now, I expect it now, and if you’re not giving it to me, there’s a line of other vendors waiting to give me what I’m asking for.
It has become so critical because if you don’t do this, I will now uninstall you. I will give you a one star rating and I go to someone else. Negative feedback can spread over the internet in an instant if you do something wrong, so you have to be able to deliver value continuously. And DevOps is what enables that. Gone are the days where you could fail in silence. You fail in public now.
You’ve got your definition. You’ve also got this phrase “rub some DevOps on it.” How did you come up with that?
I think the first time I said that, I was making a joke. Because it’s almost like this dysfunction was sort of like a rash. It was something we needed to cure. About a year and a half ago, there’s was this ointment bottle and I put DevOps on the side of it so you could just squeeze a little DevOps on it and it would go away. The first time I did that publicly was at Build in 2016, and some guy in the crowd just lost it. And it just became a thing. It was just a joke, and it worked.
Can you give us a little preview of what you’re going to talk about at Visual Studio Live! Las Vegas? Why do they need to be there?
By then we’re going to have some more fun stuff to demo. I am also going to try to do the demos a lot quicker than I normally do. A lot of people have seen me speak already. You know what I’m going to say, you know my definition, so I’m not going to waste any time on stuff that they’ve seen already. I’m just going to try and pack it with some really cool stuff. I’m starting to fall in love with the command line, which is weird coming from a Windows guy. So I’ve been on this heavy Powershell kick lately. I’ve been working on Powershell module to VSTS and TFS, so I might preview that for you guys. I started working on a Powershell Provider, which helps you navigate your VSTS. That’s the kind of stuff I hope to bring in a demo pack.
I know you are very competitive, and you are quite an air hockey player. So what’s your current standing in air hockey?
I have not been to a world championship since I joined Microsoft. I was as high as 11 in the world. I brought a table to Redmond with me. To this day, my table is sitting in Redmond in the commons so I can go over there and practice. I haven’t made it to a world championship recently, but I am itching to get back. I can’t seem to find the time to go back to air hockey when I am having so much fun spreading the gospel of DevOps.
Click here for more info on Donovan's keynote at VSLive! Las Vegas!
Posted by Brian Randell on 02/02/20170 comments
There's certainly no shortage of resources on-line when it comes to ASP.NET. In fact, diving into all the ASP.NET blogs out there can be a bit overwhelming at first. There are so many individual bloggers and posts. Many are "official" Microsoft blogs or blogs run by Microsoft insiders, but that certainly doesn't mean they lack substance or value. Even the official Microsoft blogs mentioned here are more substance than sizzle, more source code than sales pitch.
Official ASP.NET Community
Here's where Microsoft hosts its official team ASP.NET blog, as well as some by ASP.NET insiders and independent bloggers. The list includes Scott Guthrie
(who has spoken at Visual Studio Live! events), Ricardo Peres
, Bertrand LeRoy
, and Nikolaos Kantzelis
. It also links you to ASP.NET Monsters
, Andrew Lock's .NET Escapades
, and Armen Shimoon's .NET Liberty
Recent posts include a Channel 9 presentation that dives deep into Azure Analysis Services programmability and automation. In this clip, Christian Wade and Scott Hanselman talk about some of the programmability APIs and automation opportunities in Azure Analysis Services. The intent is to help enable integration with DevOps processes and enhanced application lifecycle management.
Other posts on the site cover topics like Integration Testing with Entity Framework Core and SQL Server and Generic Repository Pattern In ASP.NET Core. Then of course there’s also content like Three FREE Training Courses on ASP.NET Core from Microsoft Virtual Academy, which comes from Scott Hanselman's blog.
.NET Web Development and Tools Blog
This too is an official Microsoft blog, but it still has some great detailed content on the ins and outs of ASP.NET. While there are product-related announcements like Announcing Microsoft ASP.NET WebHooks V1 RTM and New Updates to Web Tools in Visual Studio 2017 RC, there are also posts digging deep into specific topics like Client-side debugging of ASP.NET projects in Google Chrome and Bearer Token Authentication in ASP.NET Core.
Ode to Code
Scott Allen's Ode to Code is an excellent resource. Scott’s easy open style can help guide you through some of the more complex topics related to ASP.NET. Some of his recent posts have covered AddFeatureFolders and UseNodeModules on Nuget For ASP.NET Core, Updated Videos for ASP.NET Core and Database Migrations and Seeding in ASP.NET Core.
Fear and Loathing
I particularly like the tone of this blog, which describes itself as "Gonzo blogging from the Annie Leibovitz of the software development world." Perfect. Bil Simser, the blogger behind the "Annie" and "Hunter," dives deep into topics like automatically publishing NuGet packages from GitHub. While it appears he hasn’t posted too much recently, there’s still good content on there. Here's a sample of his tone: "There must be a better way. We have the technology. We have the capability to make this process easy."
I'll keep searching for more ASP.NET blogs, but if you have one you really like, shoot me an email at [email protected] and I'll add it to the list.
Posted by Lafe Low on 01/25/20170 comments
Being a developer isn’t easy. Learning new languages isn’t easy. Mastering your language of choice isn’t easy. Thankfully, for all these endeavors, there is help available. If you’re looking to start or beef up your library of C# books, here are a few you won’t want to miss.
C# 5.0 in a Nutshell: The Definitive Reference
While the word “definitive” gets thrown around a lot, this one seems deserving of the term. Throughout its previous editions, and indeed for this current fifth edition, the text has been extensively reviewed by C# experts both inside and outside Microsoft, including Eric Lippert and Jon Skeet. This edition has new and updated sections on concurrency, threading, parallel programming, and C# 5.0’s new asynchronous functions.
This book covers all the basics, such as syntax, types, and variables and other fundamental elements of C#. It covers the range and also gets into more advanced topics such as unsafe code and type variance. There are three chapters in this edition that cover LINQ, as well as in-depth coverage of code contracts, dynamic programming, parallel programming, and native interoperability. If you’re only going to have one C# book, this wouldn’t be a bad choice.
C# 6.0 and the .NET 4.6 Platform
So much has happened on the C# and .NET front, the authors of this text have completely rewritten and revised this edition as C# 6.0 and the .NET 4.6 Platform—now in its seventh edition. This edition reflects the latest changes to the C# language specification and new advances in the .NET Framework. There are new chapters covering the important new features of .NET 4.6, including:
- Refined ADO.NET Entity Framework programming model
- IDE and MVVM enhancements for WPF desktop development
- Updates to the ASP.NET Web APIs
This edition intends to provide a comprehensive foundation in the C# programming language and the core aspects of the .NET platform. There are also extensive overviews of technologies built on top of C# and .NET (including ADO.NET and Entity Framework, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), ASP.NET (WebForms, MVC, and WebAPI)). There’s complete coverage of the .NET 4.6 Platform and C# 6. You’ll also learn about XAML, Visual Studio 2015, and the new Windows Runtime. Incidentally, this edition was co-authored by Philip Japikse, a veteran Visual Studio Live! presenter.
The C# Player's Guide
This one is good if you’re just getting into coding with C#. It starts out with some of the basics of C#, but takes you all the way through into some of the more advanced aspects of the language. It opens with an introduction to C#, as well as a step-by-step walkthrough and explanation of coding a C# program.
Then the book gets into procedural programming, including variables, math operations, decision making, looping, methods, and an in-depth look at C#’s typing system. It also covers some fundamental aspects of object-oriented programming, such as inheritance, polymorphism, interfaces, and generics. It moves through some more advanced features of C#, including working with the .NET framework, managing compiler errors, and debugging. This edition of the book is updated to C# 6.0, .NET 4.6, and Visual Studio 2015.
And these three C# books, while all excellent references, clearly aren’t the only options. If you’re looking for a good place to start, there’s an impressively comprehensive Wikibook on C#. This one also takes you through the basics, and then gets into classes and advanced functions. There are also a handful of helpful links along with this entry.
Looking for some free C# books? Here’s a link where you can download them for free. The list includes Fundamentals of Computer Programming with C#, C# Essentials, and Object Oriented Programming Using C#. So there’s clearly no shortage of resources to help you delve deeper into C# programming. Take a look around and you’re sure to find one that suits your level.
Posted by Lafe Low on 01/11/20170 comments
The Visual Studio Live! events in 2017 are all part of an epic Rock Your Code Tour! We're highlighting each "tour" location's unique, iconic musical heritage with our theme this year. So here’s a look at where—and when—this tour takes us in 2017.
Viva Las Code: That's how Elvis would have said it if Elvis were a developer. You can’t miss this one; over 70 sessions and workshops to choose from, Modern Apps Live! is back as part of the event, at no additional charge, thanks to the long-standing partnership with Magenic, PLUS we've added a full day of pre-conference hands-on labs, featuring Azure, AngularJS and XAML, on Sunday, March 12. Join us for "a little less conversation," a little more code. Thank you, thank you very much.
Dev in the Heart of Texas: The code and good times are bigger in Austin. Come take in 4 days of intense, practical developer training AND experience the vibrant music culture and nightlight Austin has to offer.
The agenda will be available in January, 2017.
Take the Code Train: Our musical tour of the country stops in the nation’s capital, the birthplace of renowned big band leader Duke Ellington. Jazz up your development skills and swing into hot topics like AngularJS, Visual Studio 2017 and so much more!
The agenda will be available in February, 2017.
Code As You Are: Flannel shirts and grunge appreciation encouraged but optional; intense developer knowledge-share and networking required. We’re back at Microsoft headquarters again this year to hear from some of Microsoft’s best and brightest, while enjoying our regular cadre of expert presenters and enjoying some time on the legendary Microsoft campus. The agenda will be available in March, 2017.
Sweet 127.0.0.1 Chicago: We're on a mission to code, and thrilled to be back in the Midwest this fall. Chicago is synonymous with the blues and its brothers, Elwood and Jake. Visual Studio Live! is synonymous with the best in independent, unbiased developer training on the Microsoft Platform. The agenda will be released in the spring!
California Codin': The code is cool, the surf is up, and Disneyland is around the corner. Join us for a family-friendly conference this fall where you can learn by day, and enjoy all the sunny SoCal has to offer by night. More details coming soon!
Coding in Paradise: Grab your flip flops, laptop, and swim trunks for our biggest conference of the year! Live! 360 brings together Visual Studio Live!, SQL Server Live!, Office and SharePoint Live!, Modern Apps Live!, TechMentor and a surprise or two. If you aren't familiar with the conference, registering for any one events gets you access to all the others at no additional charge. You can pick and choose from each to customize an agenda suited specifically to your needs. More details coming soon!
Stay tuned for tour updates here! Rock On!
Posted by Lafe Low on 12/01/20160 comments
When you start talking about agile development, chances are Phil Japikse’s name will come up. Among other things, he's been heavily involved in the agile community since 2005, and has some strong opinions about what it means and how it can apply.
As a continuation to Part 1 of our recent Q&A session with him, here are Phil's thoughts on another current development trend, "Big A" agile vs. "Little a" agile framework.
"What are some of the most transformative trends going on in the development world today?"
We’ve got to talk about agile. About five years ago, one of the Gartner analysts declared agile mainstream. Once that happened, there were all these companies that felt they missed it.
Then there was a huge proliferation of agile—“big A” agile—frameworks. And I’m not knocking the frameworks. But in development, you pick the right tool for the right job. A lot of my customers found the first person they could find to implement agile just because.
What's been transformational about this is there are a lot more people trying to figure this agile thing out and examining their development practices and all that’s great. But the negative side of that is lot of people are just slamming it in because they read a book, or they found an expert in it and they’re not actually looking at core values or principles. They’re just trying to do agile because their colleagues or competition is doing it.
"Is Agile for everyone, or are there some situations and development scenarios where it's less suitable?"
I’m going to be picky here. The way you wrote this question is you’ve got the “Big A” agile. I don’t think that’s for everyone. You really have to understand the frameworks and be able to iterate change.
“Little a” agile is for everyone. If we look at what agile really is, it’s transparency. It’s collaboration. It’s continuous improvement and feedback. You can’t tell me you don’t want to try and be better at what you do. It’s incremental improvement, retrospecting, and bringing people in to collaborate.
It's for everyone, and not just in software. I'm a member of the Knights of Columbus, and I’m in charge of the poker tent for church festivals. So I run the poker tent the day of, but everything leading up to that we run in an agile manner. There’s incremental improvement and lots of feedback. We just had a retrospective the last night of an event last week to determine how we can make it better.
So agile is for everyone, but when you say “Big A” agile is going to transform your company, then it’s not for everyone. I've been thrown out by several customers because I brought up the word agile. But when I talk about how we can help you get better at what you do, we can help you cut costs and we can improve quality. Are those things of interest? Then the answer is different.
"What new things are you working on and learning these days, and why?"
I'm always talking to the different “agilists” out there. Tim Korson recently spoke at my conference (Day of Agile in Cincinnati, OH). LeSS is a framework (large scale SCRUM), and he's one of very few LeSS-certified instructors in the world.
I don’t know everything. I’ve been doing it for a long time, but it’s a journey, not a destination. I'm very passionate about it, so I want to keep honing my craft.
Want even more Phil? Follow him on Twitter (@skimedic) and read his blog by visiting http://www.skimedic.com/blog.
Posted by Lafe Low on 09/12/20160 comments
While he’s always looking at and learning new things, Phil Japikse is a C# guy at heart.
That’s how he does what he does. In fact, he's a co-author of the best-selling book, "C# and the .NET 4.6 Framework." You even can see him speak at the next Visual Studio Live! event from September 26-29 in Anaheim, CA.
We caught up with Phil during a recent webcast to get some of his thoughts on the state of the development world, including ASP.NET Core and other current web development trends. (Click here to watch the webcast on-demand.)
"What are some of the most transformative trends going on in the development world today?"
We’ve got to call out the elephant in the room, which is the Internet of Things (IoT). They just opened a driving range here in Westchester that is IoT-enabled. There’s a huge fence all the way around, with virtual targets all the way around the fence. There are chips in the golf balls so it scores it for you. I wish I would have thought of that, because I saw the prices they charge to do that. And out west, there’s a 4-H club that has an IoT-enabled test farm, so the soil knows when it needs to be watered.
"What is your preferred language and why?"
I was going to answer English! I'm actually a C# person, but I have nothing against VB.NET. I was once hired to teach developers .NET, so I was building design patterns in VB.NET. The VP who hired me looked over my shoulder and asked, “What is that?” I told him it’s VB.NET. He said, “We don’t do VB here!” I was a consultant. I wasn’t going to argue, but I asked why. His answer was ludicrous. “Because all those smart people came from Java and they won’t do VB.”
So I became a C# person because that’s what the market dictated. It’s what the market is asking for, but it’s not because I think it’s better or worse than any other language out there. I've toyed with F#, but at the end of day my fallback is C#.
"There are languages and extensions and frameworks and all sorts of different approaches – how does a developer arrive at the best combination of solutions for his or her needs?"
This is probably not the answer people will like, but it comes down to seat time, just time doing it. You’ve got to know a number of frameworks. Andy Hunt in “The Pragmatic Programmer” talks about learning a new language every year. You just have to see what’s out there. If you look at the .NET world, there are so many frameworks popping up. You’ve just got to keep working at it. You don’t know if one is going to work until you’ve worked with it. And that takes time.
So what I say is try new things, but don’t do, “Hello world.” When I sit down to learn a new framework, I think about what are three hardest things to think of with data access. So I tried to get those to work. And if I can get those things to work, then Hello World becomes easy. So as you’re looking at new frameworks, pick something hard. I can write hello world in any language out there. That doesn’t mean I would recommend that particular framework.
"What new things are you working on and learning these days, and why?"
At the end of the day, I sling code. So right now I am working on all the .NET Core stuff and ASP.NET.
Stay tuned for Part 2 of this Q&A, coming soon! In the meantime, be sure to follow Phil on Twitter (@skimedic) and read his blog by visiting http://www.skimedic.com/blog.
Posted by Lafe Low on 09/06/20160 comments
There continues to be a lot of change in the .NET world.
With Microsoft open sourcing your favorite framework with .NET Core and the companion ASP.NET Core, things are changing rapidly—even for the tech world. You might need some outside help keeping up with the changes and the new ways you can use .NET Core.
Luckily the .NET blogosphere always rises to the occasion. As a follow-up to Part 1 last month, here are some more of the best .NET blogs to follow:
1. Daily .NET Tips
I’m always a big fan of these types of things—the tip of the day or tip of the week. You can be reasonably certain you’ll have a steady flow of good stuff coming your way. The daily .NET tips from dailydotnettips.com will keep you smoothly and accurately navigating all aspects of .NET. The tips are divided into the following categories: how to, .NET FAQs, C#, Visual Studio, devices, and cross platform.
They cover things like customizing the ink toolbar in a Windows Universal app, understanding the navigation pattern for iOS mobile app development, and turning on/off Application Insights exception display for CodeLens in Visual Studio. Many of the tips build on suggestions made in previous tips, so be careful if you start following this blog. You just might get hooked! (And if you have any suggestions or comments, you can reach them at [email protected].)
2. Tom’s Blog: Thomas LeBrun
Thomas LeBrun runs a simple, straightforward blog called Tom’s blog that also covers a range of .NET-related topics. Much like the daily .NET tips page, Tom’s blog is laid out nice and neatly, with the posts running down the left side of the screen.
Tom covers an impressive range of topics, including implementing a shake detector in your Xamarin.Android mobile app. This cool routine can help you determine when a user has shaken their device. While he found a previous iteration of such an app, he says he adapted the Java code to clean C# code.
Another post covers creating your own spying camera system with Microsoft Azure and a UWP application. Now of course you would only use this for legitimate purposes, like keeping an eye on your front door while you’re away for the day. Armed with a Raspberry Pi, a USB camera and Windows 10, you can enter the world of the IoT and start monitoring your property. Cool!
3. Code Rant: Mike Hadlow
Mike Hadlow’s amusing and informative blog is entitled Code Rant, from the coast of England. Hadlow’s posts cover topics like running the Kestrel HTTP server on Linux with CoreCLR. Hadlow’s posts are wonderfully detailed, with code snippets and screen shots to show you precisely how to implement what he’s talking about.
He also dives into some lengthy social and industry commentary with a post entitled “Learn to Code. It’s Harder Than You Think.” That title is a play on a U.K. initiative from the Year of Code in 2014 that was designed to encourage young people to check out software development as a career. (That program was called “Start Coding This Year. It’s Easier Than You Think.”) The post goes on to examine the differences involved in getting into coding as opposed to other careers, and how many developers are indeed self-taught.
“Even programmers with [computer science] degrees insist that they are largely self-taught. Others complained that it was a hard question to answer since the rate of change in the industry means that you never stop learning. So even if you did at some point have formal training, you can’t rely on that for a successful career. Any formal course will be just a small element of the continual learning that defines the career of a programmer,” he writes.
“We are left with a very strange and unexpected situation. Formal education for programmers seems not to work very well and yet the majority of those who are successful programmers are mostly self-taught. On the one hand we seem to have people who don’t need any guided education to give them a successful career; they are perfectly capable of learning their trade from the vast sea of online resources available to anyone who wants to use it. On the other hand, we have people who seem unable to learn to code even with years of formal training.”
Let us know if you have any other favorite .NET blogs in the comments below!
Posted by Lafe Low on 08/24/20160 comments
When Visual Studio Live! lands at Microsoft Headquarters in Redmond, WA, August 8 – 12, the conference keynotes and select sessions will be live streamed on Microsoft’s Channel 9.
So if there’s something you need to review, or if you couldn’t bring your whole team to Redmond for the event, your colleagues can virtually attend many of the same sessions you’ll be seeing live.
The Channel 9 site for the Visual Studio Live! Redmond live stream is: https://channel9.msdn.com/Events/Visual-Studio/Visual-Studio-Live-Redmond-2016.
And for more details, here's an overview and schedule of the sessions you’ll be able to see on the live streaming feed:
1. Keynote: The Open Microsoft Developer Platform, by Amanda Silver
August 9, 2016 from 8:30 - 9:30 a.m.
As a Microsoft developer, you've built some great solutions for your customers. You've solved business problems and made the world better. But the Microsoft Developer Platform as you knew it is no more. It's better. It's faster. It's open. And it's cross platform. This keynote session will address some of those issues.
2. Go Mobile with C#, Visual Studio, and Xamarin, by James Montemagno
August 9, 2016 from 9:45 - 11:00 a.m.
Xamarin helps C# developers become native iOS, Android, and Windows mobile app developers overnight. In this session, you'll learn how to leverage your existing .NET and C# skills to create iOS and Android mobile apps in Visual Studio with Xamarin.
3. TypeScript for C# Developers, by Chris Klug
August 9, 2016 from 11:15 a.m. - 12:30 p.m.
4. Azure Portal: The Largest SPA in the World, by Jakub Jedryszek
August 9, 2016 from 2:00 - 3:15 p.m.
The Azure Portal is one of the biggest and most complex Single Page Applications (SPA) in the world. Are you curious to see what is under the covers? This session will look into the tools, frameworks, libraries and techniques that are available.
5. Building Solutions with the Microsoft Graph SDKs, by Robert Anderson and Paul Stubbs
August 9, 2016 from 3:45 - 5:00 p.m.
The Microsoft Graph is one endpoint to rule them all. Learn how easy it is to use the Microsoft Graph to build people and group centric applications that use the latest APIs from Azure AD, OneDrive, Outlook, Excel, OneNote, and more all under a single endpoint and enabling high impact business and consumer apps.
6. Windows for Makers: Raspberry Pi, Arduino & IoT, by Nick Landry
August 10, 2016 from 8:00 - 9:15 a.m.
Did you know that Windows 10 can run on a $35 Raspberry Pi 2 computer? Makers have taken the world by storm, creating countless gadgets and automated systems, connecting everything around them. This session is for makers – neophytes and veterans alike – who want to explore the capabilities of Windows to run IoT devices.
August 10, 2016 from 9:30 - 10:45 a.m.
Want to get good at DevOps, but deployments are getting you down? Is the code integration process just plain driving you crazy? Well, maybe it's time to try out feature flags (aka "feature toggles").
8. Keynote: Zero to DevOps with VSTS, by Donovan Brown
August 10, 2016 from 11:00 a.m. - 12:00 p.m.
DevOps is about people, process and products. Getting it all right requires effort but the benefits to your organization and customers can be huge. Microsoft has a fantastic set of products that can adapt to any language on any platform. In this demo-heavy keynote, Donovan Brown will show you how to put everything in place.
9. The Future of Visual Studio “15,” by Tim Sneath
August 10, 2016 from 1:30 - 2:45 p.m.
Visual Studio 2015 was a feature packed release with additional updates adding tons of value. But time waits for no one and the Visual Studio team knows it. Come to hear about the future of Visual Studio. This session will illustrate how Visual Studio is evolving for its next big release.
10. Using Universal Windows Platform and Azure to Build Connected Solutions, by Daniel Jacobson
August 10, 2016 from 3:15 - 4:30 p.m.
You've seen it time and time again - the true power with the Universal Windows Platform is being able to write applications that target various devices and form factors. But how can you use this great power to build a coherent end-to-end solution?
11. Build Real-Time Websites and Apps with SignalR, by Rachel Appel
August 11, 2016 from 8:00 - 9:15 a.m.
If you've ever wanted to build a highly responsive app that leverages a real-time communications library, then SignalR is for you! Real-time Web functionality is the ability to have the server push messaging aggressively to the client, rather than relying on the client to make multiple and frequent requests of the server.
12. Security and Authorization in .NET Core World, by Barry Dorrans
August 11, 2016 from 9:30 - 10:45 a.m.
ASP.NET Core has presented us with the opportunity to improve our security store, throw away or improve on of the mistakes of the past. ASP.NET now has a new authorization stack and different ways to load balance cryptographic keys. This session will demonstrate and walk you through the new features.
13. The Next Wave of Mobile Apps: TypeScript 2, Angular 2 + Ionic 2, by Ryan Salva
August 11, 2016 from 11:00 a.m. - 12:15 p.m.
14. Deep Dive into ASP.NET Core, by Daniel Roth
August 11, 2016 from 2:15 - 3:30 p.m.
In this talk we will dive deep into the guts of ASP.NET Core. We'll look at how the HTTP request pipeline is constructed and how HTTP features are exposed. We'll look at how ASP.NET Core hosting works and what best practices are for deploying and monitoring your application.
15. Making Sense of Mobile: A Panel Comparing Xamarin, Cordova and Native, by James Montemagno & Ryan Salva
August 11, 2016 from 3:45 - 5:00 p.m.
Are you wondering how to approach modern mobile development? Are you trying to decide whether to go native, web, Cordova, or Xamarin? Then you really need to attend this panel discussion. We have lined up experts on Xamarin, Cordova, and native mobile development to answer your questions about each option.
Posted by Lafe Low on 08/02/20160 comments
The world of .NET continues to evolve and expand. And, as such, that means there’s a lot to keep up with.
But you don’t necessarily want to just dive in without a "net," so to speak. (Hence, our other recent recommendation-based posts on must-read programming books, great C# blogs to follow, and more.)
So here’s a look at my occasional perusal of the blog-o-sphere, specifically on some of the best .NET blogs to follow. (There are definitely some good ones for you this month!)
1. Build Please: Nick Chamberlain
Nick Chamberlain runs a great blog he calls Build Please. Just from an organizational standpoint, it’s quite well laid out. You’ll find a running table of contents on the right side of the screen. You can easily scroll and scan to find topics that interest you.
Chamberlain knows all the angles of .NET. Some of the topics he has covered include Domain Driven Design, Command Query Responsibility Separation, and Event Sourcing. He covers the principles of each, and clearly feels your pain as “everything becomes a decision-making nightmare.”
He also covers diverse .NET topics like using delegates, testing time dependent code, mapping nested JSON objects to a .NET dictionary and changing a type within a class when you instantiate. He also provides weekly keyboard shortcuts. I love those types of things—quick tips and tricks you can put to use immediately. Check out the rest here at Build Please.
2. Thomas Levesque
Thomas Levesque also runs a slick .NET blog. This no-nonsense blog covers tips, workarounds and sneak previews. One of his recent previews took a look at some of the new C# 7 features in the forthcoming Visual Studio "15" (not to be confused with Visual Studio 2015). He particularly likes the new lightweight installer, which sounds like a great idea indeed. His real interest is the compiler and works in some of the C# 7 features like local functions, pattern matching, and binary literals.
The rest of his blog is very hands-on and how-to focused, with posts covering explicitly switching to the UI thread in an async method, retrieving dates as UTC in SQLite, creating an auto-mocking container with Unity and FakeItEasy, and customizing string interpolation in C# 6. I like the practical, clear instructional tone of Levesque’s posts. Another side note about Thomas Levesque’s blog—you can read it in French if you’d like. Visit thomaslevesque.com to learn more.
3. Tony Sneed
Another notable blog comes to us from Tony Sneed. The native Slovakian trainer and consultant delivers a nice straightforward educational blog covering germane and up-to-date subjects like using the simple MVVM toolkit, getting your Visual Studio code ready for TypeScript 3, using EF6 with ASP.NET MVC Core 1.0, and moving to MVC 6 from WCF.
The MVC 6 post does a good job reflecting Sneed’s tone and style. “The time has come to say goodbye to Windows Communication Foundation (WCF),” he writes. “Yes, there are plenty of WCF apps in the wild—and I’ve built a number of them. But when it comes to selecting a web services stack for greenfield applications, you should no longer use WCF. There are many reasons why WCF has lost its luster, but the bottom line is that WCF was written for a bygone era and the world has moved on.” You can find Tony’s words of wisdom by visiting blog.tonysneed.com.
So you don’t ever have to go it alone. You’ve always got help getting the most out of everyone’s favorite framework.
Stay tuned for more .NET blogs to follow in the coming weeks!
Posted by Lafe Low on 07/20/20160 comments