AI in the cloud dominates, but what can you run locally? Carl and Richard speak with Joe Finney about his work in setting up local machine learning models. Joe discusses the non-LLM aspects of machine learning, including the vast array of models available at sites like Hugging Face. These models can help with image recognition, OCR, classifiers, and much more. Local LLMs are also a possibility, but the hardware requirements become more significant - a balance must be found between cost, security, and productivity!
How has AI changed coding with Visual Studio Code? Carl and Richard talk to James Montemagno about his experiences using the various LLM models available today with Visual Studio Code to build applications. James talks about the differences in approaches between Visual Studio and Visual Studio Code when it comes to AI tooling, and how those tools continue to evolve. The conversation also digs into how different people use AI tools to answer questions about errors, generate code, and manage projects. There's no one right way - you can experiment for yourself to get more done in less time!
Razor Tooling is evolving! Carl and Richard talk to David Wengier about the changes coming for Razor Pages in the next version of Visual Studio. David talks about the realization that much of the new work in Razor ties closely to Roslyn, which has resulted in a new co-hosting model that means higher performance and reliability for your web pages! The conversation delves into how capabilities in Visual Studio Code are shared with Visual Studio and vice versa, as well as the role of the Language Service Protocol in making it easier to bring more powerful tools to you.
Ready for the next version of Visual Studio? Carl and Richard talk to Mads Kristensen about the long-awaited version of Visual Studio. Needless to say, artificial intelligence sits front and center. Mads talks about the deep integration of AI across the development lifecycle, including code completion, debugging, even natural language querying. The conversation also digs into the role of Visual Studio as a project management tool, and its integration with cloud, GitHub, and more!
What's coming in C#14? Carl and Richard chat with Dustin Campbell about the next version of C#, discussing what it takes to continue advancing software development in the Microsoft ecosystem. Dustin discusses how features are selected from version to version, including long-developed features like extension members, which have been in development for years. The conversation also turns to Razor Pages, which Dustin helps contribute to, and the dynamic of what should be language, what should be framework, and what should be tooling. And there's much more to come!
How do you build progressive web apps in 2025? Carl and Richard talk to Lemon about his experiences building all sorts of PWAs for customers and entertainment. Lemon discusses going beyond the icon in PWAs and leveraging more powerful features, including service workers. The conversation also digs into some of the crazy talks done over the years, as well as gaming from browsers and more!
How can AI tech help you write better code? Carl and Richard talk to Mark Miller about the latest AI features coming in CodeRush. Mark talks about focusing on a fast and cost-effective AI assistant driven by voice, so you don't have to switch to a different window and type. The conversation delves into the rapid evolution of software development, utilizing AI technologies to accomplish more in less time.
How will coding agents change your code? While at Build, Carl and Richard chatted with Scott Hunter about the announcements around coding agents at the keynote. Scott talks about the agent mode available in Visual Studio Code - and now in Visual Studio! Agent mode allows the LLM to evaluate the code across an entire solution, not just the file you're currently looking at. You can create a workflow where GitHub issues are assigned to the agent, which then generates code and provides a pull request for evaluation. The agents are here and helping us do more!
Do you understand how networking works in C#? Carl and Richard chat with Chris Woody Woodruff about his new book on networking with C#. Chris runs down the fundamentals of networking and then discusses the different approaches readily available in the C# world, including web sockets, gRPC, SignalR, and many more! The conversation also turns to the upcoming QUIC standards built into HTTP/3 that should simplify networking. Sure, you could go with the defaults, but why not explore all the options!
How do you balance architecture and code? Carl and Richard talk to Steve Smith about various architectural strategies and the swing back-and-forth against over-designing architecture and getting code written. Steve talks about how architecture changes depending on the size and number of teams, how the latest tools can help with architectural choices, and the challenge of effective refactoring when things need to change. Lots of great conversation!
Can tooling make implementing AI features in your applications easier? Steve Sanderson says yes! Carl and Richard talk to Steve about the Microsoft.Extensions.AI preview toolset for OpenAI and oLlama. Steve discusses ideas around useful places for AI technologies to appear in your application, not just chat. The conversation digs into more ambient ideas, like providing suggested cut-and-paste items when entering forms and even dynamic changes to UI based on how a user interacts with the application. Want to get started? Get the extensions on NuGet!
A visit from one of Scott Guthrie's Ninja Army! Carl and Richard chat with Rob Conery about his latest work with Microsoft technologies, including a VS Code extension for Copilot to understand Postgres databases! Rob talks about spending time in other programming platforms besides .NET to expand his horizons, which led him to create a tool called Viper.NET, similar to the tool from the Go platform, to help manage configuration. The conversation also visits and revisits the impact of GitHub Copilot, now with a free tier, and how it is helping software developers - and generating controversy!
How are Azure Static Websites evolving? Carl and Richard talk to Stacy Cashmore about her work with Azure Static Websites, including an update to her book, which is coming soon! Stacy talks about adapting to the latest version of .NET, taking advantage of some of the new features in Blazor, and new Azure Static Website capabilities, including the new Data API Builder. The conversation also explores some of the gotchas, like challenges with SEO and dealing with authentication and authorization strategies.
Let's talk about .NET 9 with one of the platform's leaders! Carl and Richard talk to Glenn Condron about his experiences building .NET 9. Glenn talks about the usual improvements in every version of .NET, including performance, security, and stability. But the new stuff is where the excitement is, starting with Aspire. The conversation digs deeper into the origin story of Aspire and what the team sees as the future of building cloud-native applications with .NET. Then, a dive into all things AI - tools to help developers create applications, as well as how to include AI capabilities in your applications. And there's more to come - .NET 10 is only a year away!
Ready for more Rockstar? Carl and Richard chat with Dylan Beattie about the programming language known as Rockstar. Dylan talks about a joke that got wildly out of hand - back when recruiters were all about rockstar developers, why shouldn't there be a programming language? And then it happened - a language where the code looks (and sounds) like glam rock lyrics! And now there's a new version coming - more rocking to be done!
What does it mean to build cloud-native applications? Carl and Richard talk to Chris Klug about his experiences building applications designed to operate effectively in the cloud. Chris pushes back on the fixation around Kubernetes - you can build cloud-native apps without it! The conversation digs into the various options available to take advantage of the cloud's ability to scale while also tolerating its occasional short-duration outages and shifting availability. Chris also talks about .NET Aspire and its ability to help you build .NET cloud-native applications.
Ready for a chat with the creator of Node? Carl and Richard talk to Ryan Dahl about his work creating NodeJS in 2009 and how he moved on after a few years, leading to the creation of Deno, an opinionated approach to building web applications. Ryan talks about the challenges of simplifying web development by combining all the important things into a single set of tools—saving you the effort of assembling those things yourself. The conversation also digs into how web development has evolved and one of Ryan's current efforts - convincing Oracle to surrender the JavaScript trademark to the world!
What's the latest with Playwright? Carl and Richard talk to Debbie O'Brien about her ongoing work with Playwright, Microsoft's open-source testing framework for web applications. While it is focused on web applications, you can write your tests in various languages, including .NET! Debbie talks about the new Playwright Testing service, which operates in Azure, so you don't have to stand up with your testing infrastructure - pay for what you use. The conversation ranges over the various features and challenges in testing that Playwright addresses. Now get out there and write some tests - your applications will be better for it!
How does good design pay off in software? Carl and Richard talk to Billy Hollis about his work designing software, both from a user interaction perspective and application architecture. Billy talks about saving time and money by working hard on design to get a clearer picture of what stakeholders want—because code rework is always more expensive! The conversation also digs into the institutional knowledge walking out of many companies through employees retiring—and how much work that is going to generate over the next few years to modernize!
How can a low-code solution help you deliver a .NET app? Carl and Richard talk with Serge Sarafudinov about his Xomega project. Serge describes how Xomega uses models and templates to generate .NET code for applications for Blazor clients, WPF, and even ASP.NET Forms and TypeScript! The conversation also digs into rehabilitating existing .NET applications where new features can be added with Xomega, and then gradually convert the existing application into the model approach - and then you can change out the client if you like! There are free and paid versions of Xomega; take it out for a spin and see if you can't deliver solutions faster!
What are the basics of building a decent user interface on a web page? Carl and Richard talk to Hilary Stohs-Krause about her experience helping folks build websites - you don't have to be a designer to make something useable! Hilary talks about steering clear of more complex UX libraries unless you know the site owner prefers them. Keeping things simple and consistent is best! The conversation also digs into accessibility and how accessibility needs are a great guide to a decent basic design - making a site that can help everyone understand the pages you've built a great path to a very useable website.
What's happening with WPF? Carl and Richard talk to Joseph Finney about the news from Build about WPF - it's back, baby! But did it ever go away? Joe talks about how WPF was made open source in 2018 and how minimal development was done there - enough so that the community started building frameworks to support it, including WPFUI and ModernWPF. But at Build, Microsoft announced a new focus on WPF, including creating support for a Windows 11 theme - with a line of code, you can make your WPF app look like a Windows 11 app. Where does this leave WinApp SDK? What about migrations? There's lots to talk about!
What's up with MAUI and Blazor? Carl and Richard chat with Beth Massi about the latest MAUI, including the new webview available on GitHub that lets you embed an existing web page into your MAUI app. Beth talks about making apps the way you want to - with a mobile, web, or desktop focus - or making them all! Mixing Blazor and MAUI means you can steer clear of XAML if you prefer. There's no right way to build your clients, and MAUI gives you many choices!
How do you build cloud-native applications in Azure? Carl and Richard talk to Scott Hunter about how Microsoft tooling is evolving to develop cloud-native applications - starting with the vital idea that all cloud-native apps are multiple applications! Scott talks about how most development tools focus on individual applications and how dealing with multiple applications, including cloud apps, can be challenging. Cloud apps need telemetry, resiliency, and service discovery - which brings the conversation to tooling like .NET Aspire, designed to lead developers down the path to cloud-native applications with all these features and more. And this is only V1 - Scott discusses many more features that could make it easier and easier to make great cloud-native applications!
GitHub Copilot has been out for a few years now - how is it going? Carl and Richard talk to Michelle Duke about what's been happening with GitHub Copilot. Michelle discusses the new features in GitHub Copilot, including Chat, which gives you more of a ChatGPT-like interface while still being focused strictly on code, including your code! Then, the conversation digs into the broader ideas around large language models and the perception of artificial intelligence affecting the entire world. A lot is going on!
How has Aspect-Oriented Programming changed? Carl and Richard talk to Gael Fraiteur of PostSharp fame about his new tool, Metalama. Gael talks about being able to move out of IL and into Roslyn Analyzers to help you get rid of boilerplate code and focus more on the value your application brings. The conversation dives into how AOP can help build higher quality code, to the point of being a testing platform for code compliance for your organization - used right, metalama can make your code reviews smoother! There's a lot of power inside metaprogramming; it's worth trying to understand what Metalama can do for you.
Another version of CSLA? Yes! Carl and Richard talk to Rocky Lhotka about his work keeping CSLA up-to-date with the latest .NET features. And now, with .NET 8, CSLA 8 has strong support for Blazor! Rocky talks about getting deep into Blazor for CSLA, the power of rendering the client or server side, and whether or not mixing the two is smart. Lots of great thoughts from one of the original .NET educators!
How do you improve your CSS skills? Carl and Richard talk to Martine Dowden about her new book, Tiny CSS Projects. The book is built around twelve progressively more complex CSS tasks - you can follow along to learn in general or pick a particular chapter for a specific skill you want to exercise. The conversation digs into thinking about the architecture of styling beyond the particular page and how those styles can be updated version-to-version without frustration. You can improve your CSS game!
What's the latest with gRPC? Carl and Richard chat with Irina Scurtu about her latest work with gRPC. Irina talks about the improved tooling with gRPC, including tools like Postman to help you see what's happening in a gRPC interaction, even decoding the binary data! The conversation also digs into the complexity of metadata with headers and trailers and the challenges of supporting multiple platforms and multiple type systems - but it works if you take the time to learn the details. And the results are fast and flexible communications!
How do you handle background tasks? Carl and Richard talk to Sergey Odinokov about Hangfire, his open source project for background job processing in .NET. Sergey talks about his experiences building applications that needed background processing and hoping to find a library similar to other platforms - and eventually creating Hangfire. The conversation dives into the array of different processing options, state management, and the challenging problem of building and maintaining an open-source project over a decade!
What can Uno do for you? Carl and Richard talk to Nick Randolph about the latest from the Uno platform. Nick talks about how Uno has continued to evolve into a broad and effective cross-platform client tool while also adding integrations for design and continuous integration. The conversation digs into the challenge of getting from design to development and how the Figma Plugin makes it easier to take designer Figma docs and make them into actual code in Uno. There are also wizards for helping you add Uno UX testing into your CI/CD pipeline and much more. It's an open-source project, so you can take Uno out for a spin today!
How do you migrate to .NET 8? Carl and Richard talk to Jimmy Bogard about his experiences helping teams migrate from .NET Framework 4.8 to more modern versions of .NET. Jimmy talks about the team wanting to be able to use ASP.NET Core in their applications as the incentive to make the migration in the first place. The conversation digs into landing on .NET 6 to make migration easier but then wanting to move quickly to later versions to take advantage of the latest features. And no dead-drop migrations - using a reverse proxy to operate the two applications side-by-side so that over months, everything moves across while remaining functional - a great story of migration!
Are you ready for .NET Conf? Carl and Richard talk to Jeff Fritz about the latest version of .NET coming out - and the online event that celebrates it! Jeff talks about his top ten favorite sessions in the show, the ones you definitely don't want to miss. And if you have folks that are new to .NET, you want to check out the pre-event day that can help folks get started! See you online Nov 13-15!
What can we do to make testing easier? Carl and Richard talk to Dennis Doomen about Fluent Assertions, an open-source set of extension methods to help write better tests. Dennis talks about working on Fluent Assertions for over a decade and the great team of folks that have helped it grow. With tens of millions of downloads, you should check it out! The conversation also digs into how these types of open-source projects don't make money, even though they help many people. Could we fix that?
How can OpenAI help you program faster? Carl and Richard talk to Mark Miller about his experiments with OpenAI and CodeRush. Mark talks about the power of building agents to analyze code to write comments and tests - in parallel so that multiple agents can run simultaneously. Then the conversation turns to the potential of a voice interface as an effective way to work with Visual Studio - you were talking anyway!
The power of .NET means PHP can run in the browser efficiently! Carl and Richard talk to Jakub Míšek about PeachPie using WASM. Jakub talks about how easy it was to deploy PeachPie, the .NET implementation of PHP, into WebAssembly, much like Blazor works. Then the tricky bit starts - PHP is a server-side technology, so many of the constructs are based on trips to a server. That doesn't mean there aren't solutions, but they need some thinking through. The question is, do we want to run WordPress in a browser?
Web Testing Evolved! Carl and Richard talk to Ely Lucas about the latest version of the Cypress Testing Framework. Ely talks about three significant versions shipping in 2022 - starting with version 10, a complete UI overhaul. Following the semantic versioning standards, versions 11 and 12 had some breaking changes, primarily around component testing and other great new features. Today Cypress is effective at end-to-end testing, component testing, and with an open source plugin, API testing. The product is free and open-source, with a paid version offering enterprise-class cloud services for scaling testing up. Check it out!
An MAUI version of Doom? Carl and Richard talk to Wesley Cabus and Nico Vermeir about their efforts to port the venerable game Doom to C# and .NET 6 with MAUI as the UI. Wesley did the base conversion of Doom over to .NET, while Nico focused on getting the UI working through MAUI. Converting code, graphics, music, and sound effects from the 1990s into modern solutions is challenging but fun! Primarily working on the PC, there's a concerted effort to get a version running on Android devices too - and they could use your help!
What if you didn't have to choose between client-side and server-side Blazor? Carl and Richard talk to Javier Nelson and Steve Sanderson about Blazor United in its early stages of development, providing flexibility at the web component level for client- and server-side rendering. At the simplest level, Blazor United offers server-side rendering when a site is first hit so that you can load the larger client-side components over time. But deeper is the idea that some elements on your web page benefit from being client-side, and some from being server-side, and why should you have to choose only one?
What's next for C#? Carl and Richard talk to Mads Torgersen about what the team is working on for C# 12. Mads talks about how the language design team is organized to take ideas for C# and explore them, considering all aspects before implementation. The conversation digs into a few of the new features coming and some of the considerations, like breaking changes, that might be necessary to make a feature as good as possible. With C# nearly 25 years old, there is lots of legacy to deal with, but the future looks bright!
What does web front-end development look like in 2023? Carl and Richard chat with Amy Kapernick about her work helping companies build web front ends with a vast array of tools. Amy talks about how client frameworks continue to evolve, extending the so-called "big three" of Angular, Vue, and React to focus on different styles. The conversation also ranges over testing web apps, building pipelines for automated testing, accessibility, and more!
MAUI is out! What's next? While at Swetugg in Stockholm, Carl and Richard chatted with David Ortinau and Maddy Montaquila about getting MAUI shipped and seeing how the world is using it! The conversation digs into what typical developers are doing with MAUI and other platforms in the plans for future MAUI. David and Maddy talk about how Blazor Hybrid is creating a lot of excitement for folks, balancing the reach of web development with the power of native development - it's a great time to be building cross-platform software!
Why write functional C#? Carl and Richard talk to Simon Painter about what happens when you apply functional programming approaches to your C# code. Simon discusses how some functional programming aspects are best served in a functional language like F#, but you can write C# in a more functional style. The conversation focuses on minimizing side effects - writing your code so that you can see what it does and how it would behave when changed. Functional code tends to be more testable as well!
As of December 13, 2022, IdentityServer 4 is archived - now what? Carl and Richard talk to Dominick Baier and Brock Allen about the long, winding road of IdentityServer growing up to become a commercial product. Dom talks about the challenges of open source and building a sustainable model for an enterprise identity product. Ultimately, it resulted in a transformation from open-source to source-open - so what does that mean? Growth and sustainability!
Why should you have high-level design in your applications? Carl and Richard chat with Billy Hollis about the concepts around high-level design and how it can help make better software. Billy talks about how high-level design addresses more than UX concerns, expanding into architecture and business workflow to think more deeply about how we use software. And of course, Billy digs into various applications we all use (looking at you, Teams!) and talks about how high-level design could help deal with the challenges around those kinds of applications. Is it needed everywhere? No - but more is needed!
How do you secure your existing applications from the security exploits out there today? Carl and Richard talk to Joylynn Kirui about the challenges developers face in making secure applications. Joylynn talks about understanding the threat landscape and staying up to date on the CVEs that can represent a zero-day vulnerability to your application. There are a ton of tools to help make you aware of the potential risks, check out all the links in the show notes. And check out Joylynn's webinar on shifting application security left at https://aka.ms/DevSecOpsDNR
Why should .NET developers build Power Apps? Carl and Richard talk to April Dunnam about the latest in Microsoft's Power Platform and why .NET developers should get involved. April talks about the fusion development methodology, where domain experts use the Power Platform tools alongside .NET developers using Visual Studio to build line-of-business apps. There are many opportunities in the cycle of building Power Apps where your skills as a .NET developer can make the process go faster, more reliable, and with more features! Also, check out April's upcoming workshops on building Power Apps online at https://aka.ms/PowerDNR and at the DevIntersection conference in Las Vegas in December!
How do you test your web applications? Carl and Richard talk to Debbie O'Brien about Playwright, Microsoft's new open-source web application testing tool. Playwright lets you build tests in an array of languages, platforms, and browsers. Debbie talks about how you can build atomic tests that will survive new versions, and test independently of other features. And when tests fail, Playwright generates a PWA of the test run showing exactly where the test fails!
GitHub Copilot is here! Are we all going to lose our jobs? While at NDC in Oslo, Carl and Richard talked to Michelle Mannering about how Copilot helps you write code - emphasis on help! Michelle explains that Copilot is able to take your explanations of what code needs to be written to find examples of that code for you to take advantage of. It's still up to you to break down the problem well enough, but you spend less time fussing with syntax. This is especially powerful when calling into unfamiliar APIs or coding in languages you have less experience with. The conversation dives into how the developer ecosystem continues to evolve with these new tools, so that we can do more faster!
What can AWS do for you? Carl and Richard talk to Isaac Levin about the experience of being a .NET developer working with Amazon Web Services. Isaac talks about the broader strategy of moving applications to the cloud and what Amazon offers to make your life easier, with various migration and validation tools that can help you understand how an existing application will behave on cloud services. The goal is to get beyond the virtual machine and into containers, serverless, and more!
How much do you need to know about design? While at CodePaLOUsa in Louisville, Carl and Richard talked to Kathryn Grayson Nanz about understanding application designers. Kathryn talks about knowing just enough about design to understand that, like software development, it is an iterative process, that takes user feedback and incorporates it into future designs. Oh, and we know why your custom icon sucks!
How do you test Angular forms? While at CodePaLOUsa in Louisville, Carl and Richard talked to Martine Dowden about her approach to building tests that are maintainable, and are best automated because they are tedious to test manually - like forms validation. Martine talks about a mix of automated unit testing and eyes-on manual smoke tests being the most efficient way to have a well-tested web application.
What's wrong with microservices? Carl and Richard talk to Shawn Wildermuth about his rant about microservices. Shawn talks about the intent of microservices in the first place, to try and break down the giant service balls of goo that get built over time. But is it necessary? The conversation explores the optimization problem, where having services together is efficient right up until it isn't - when you have a service that changes more often than others or needs to scale more. Only then does it make sense to carve it out. Lots of fun conversation!
How does Power Platform fit into your application lifecycle management? Carl and Richard talk to Kartik Kanakasabesan about his work on Power Platform to treat it like every other development approach. Kartik talks about how PowerApps create straightforward forms-over-data solutions that work well on phones, tablets, and PCs. The conversation digs into how developers in the C# and Visual Studio space can work with Power Platform developers, including building back-end services, creating front-end components, and working with existing source code and deployment pipelines. The result is what Kartik calls fusion development, where everyone works together to build solutions effectively!
What features do you want to see in C# 11? Carl and Richard chat with Kathleen Dollard about the work being done to the latest version of C# so far. But first - what about VB.NET? Starting with a question from a listener, Kathleen clarifies Microsoft plans for VB.NET - it's never going away! Then into the feature list of C# 11, including new generic math, static interfaces, initialization features, pattern matching, and more!
What is WebRTC, and why do you want to use it? While at NDC London, Carl and Richard talk to Liz Moy about WebRTC, the open-source library that is used by many of your favorite video chat applications. Liz talks about taking advantage of the hard work already done to control video and audio devices through the browser, as well as the various strategies for actually connecting to other people through firewalls and NAT routers. The conversation also explores where and when you would want to have integrated video, audio, screensharing, and data transfer capabilities.
How well does gRPC work with .NET? Carl and Richard talk to Irina Scurtu about her work with gRPC in .NET. Irina talks about the new features added in .NET 6 to support gRPC including client-side load balancing, fault tolerance, and improved performance. The conversation digs into the various uses of gRPC - Irina advocates for inter-microservice calls, but you can make gRPC work for a browser using gRPC Web. High performance and flexible - what more could you want?
How do you modernize a .NET application? While at NDC Porto, Carl and Richard talked to Mark Rendle about his work on Visual Recode, a tool for migrating WCF apps to gRPC, and dug into the broader story of what a modern .NET application looks like. Mark talks about why you would bother to modernize at all - because the standard framework isn't going anywhere. But if you want to take advantage of the latest features of .NET and the performance available to you with .NET 6 and the cloud, modernization is the way to go!
What can web components do for you? Carl and Richard talk to Jemima Abu about her work with web components. Jemima talks about the projects she is currently working on, and how UI web components make it easier to build good-looking front ends quickly. The discussion digs into how web components stay agnostic of different web frameworks - although often there are solutions within the framework for many component problems. If you're a fan of vanilla JavaScript, web components can be a big boost to development, but its up to you to do the right things with them!
How are extensions in Visual Studio changing? Carl and Richard talk to the extension master himself, Mads Kristensen. With over 150 extensions in the Marketplace, Mads has a lot of experience building tooling that can streamline your Studio experience. The conversation digs into why an extension makes sense rather than being built into Studio. Although in the case of the Markdown Editor, that does happen! Mads also as the VSIX Community space if you want to get into building your extensions, with libraries and tooling to guide you to the pit of success with your extension project. Check it out!
When should you pivot your startup? Carl and Richard talk to Phil Haack about his experiences with Abbot - the chatbot designed to work within Slack. Phil talks about starting with Abbot focused on ChatOps, where Abbot would help with automation around the deployment of applications. And while there were some customers, it wasn't enough. The pivot was to customer support that also depends on tools like Slack. The conversation digs into focusing on understanding where customers have challenges and learning to solve them, rather than trying to offer a platform for everything!
How do you make web apps into desktop apps? Carl and Richard talk to Otto Dobretsberger about Photino, a fork from Steve Sanderson's WebWindow project that will compile your web application into a cross-platform desktop application for Windows, macOS, and Linux. Otto talks about keeping Photino extremely lightweight, many times smaller than other desktop framework approaches. The typical approach is using the SPA of your choice - Angular, Vue, or React, and then compiling it into the desktop form. Great for making reliable off-line applications and onto dedicated kiosk-style hardware!
How do you debug asynchronous code? Carl and Richard talk to Isadora Rodopoulos about her debugging asynchronous code series of videos and the tools available today to help with debugging. Different people approach debugging in different ways - there's no one way to solve any given problem. But Isadora digs into the critical challenges of asynchronous code, not being sure of the order of execution, managing when messages get lost and detecting the transient problems that come from async code!
How do you build cross-platform UI? Carl and Richard talk to Dan Walmsley about Avalonia, a lightweight, cross-platform UI using XAML and C#. Dan talks about supporting an array of Linux GUIs, Windows, macOS, WebAssembly, Raspberry PI, iOS, and Android! Avalonia comes from the Linux and Mono world and now runs with .NET 6 - you should check it out!
Visual Studio turns 25! Carl and Richard talk to Julia Liuson, who has been working on Visual Studio since the beginning about her experiences building and leading the product. Julia talks about how Visual Studio got started, its evolution into .NET, with some great stories along the way. There's also Studio for the Mac and Visual Studio Code to talk about as well - all with different origin stories!
Another in the series of twenty years of .NET, this one with Scott Guthrie! Carl and Richard talk to Scott about the early days of ASP.NET, the recruiting of the ninja army of Scott Hanselman, Rob Conery, Phil Haack (and others), and much more! Scott has been part of .NET from the beginning and talks about bringing the ASP.NET web team with him when he joined the Azure group. The conversation digs into how to keep a 20-year-old product relevant, which does mean an occasional reinvention!
.NET is twenty years old - how has it changed? Carl and Richard talk with Mark Miller about how he moved from Delphi to .NET, and how .NET has continued to be relevant through the years. The conversation also digs into those pivotal moments of .NET and how it shaped the product into the open-source, cross-platform product of today!
C# is twenty years old! Carl and Richard chat with Anders Hejlsberg about how C# has evolved, and how it's continuing into the future. Anders digs into the origins of C# as the C-like Object-Oriented Langage aka COOL that he proposed when Microsoft could no longer build its own version of Java. The conversation gets into how all programming languages 'build on the shoulders of giants' and use features of languages past, with their own twists and innovations. Fun conversation with the father of C# !
Twenty years of .NET! Carl and Richard talk to Miguel de Icaza about his experiences working with .NET, going all the way back to 2001 with the announcement of the Mono Project. Miguel talks about those early days of Mono, creating MonoTouch to make C# run on iOS, Xamarin, and more! The conversation also dives into the evolution of open source, and the impact that tech companies have on open source projects, and what the future might hold for open source maintainers.
What's your UX strategy? Carl and Richard talk to Brian Lagunas about his work on Prism, the UX framework that works WPF, Xamarin, and now the Uno Platform to build good-looking, consistent UX experiences. Brian talks about the challenges around simplifying the UX experience enough to make it easy to do the right thing, while still having enough functionality to not limit what your applications can do. The conversation also dives into web UX challenges and some of the tools that Brian has been working on for Infragistics in the same space.
Ready to migrate from ASP.NET Web Forms? Carl and Richard talk to Veli Pehlivanov about his work helping organizations modernize their ASP.NET Web Forms applications. Veli talks about finding an appropriate migration strategy for the application, often keeping the existing app in operation while modernization efforts happen piece by piece. The challenging part in that scenario is aspects like security - can you share authentication from the older app with the newer? Sometimes it's necessary to build shims to keep things in sync, and while they seem temporary, often they are run for many years. Migration isn't easy, but the alternatives are worse - plan to take the time!
.NET 6 was huge for Blazor - what's next? Carl and Richard talk to Daniel Roth about how Blazor continues to evolve as a C#-centric way to build web applications. Daniel talks about a bunch of the key features from .NET 6, including smaller runtime, Hot Reload, and rending components from JavaScript. The conversation also digs into the evolution of Blazor Fluent UI and MAUI - which also leads to the futures conversation, taking advantage of multithreading, and other great features you can see in the road map on GitHub. More Blazor is coming!
What is DAPR, and why do you want it? Carl and Richard talk to Paul Yuknewicz about how DAPR helps you build better microservices by dealing with all the plumbing. We all need messaging, security, logging, and other services to make microservices work - and there are a ton of SDKs and libraries out there to help. DAPR helps glue all those pieces together with a nice layer of abstraction to make it easier for your tool selections to work!
How do you test .NET applications written for different browsers, different servers, and different platforms? Carl and Richard talk to Kendra Havens about the recent release of .NET 6, Visual Studio 2022, and all the great tools to make testing and debugging cross-platform .NET applications easier. Kendra digs into tools like Test Explorer, the Remote Debugger, and Hot Reload - all tooling to make your testing life easier, no matter where your code is running!
Is desktop development still relevant? Billy Hollis says yes! Carl and Richard talk to Billy about his work building desktop apps, primarily with XAML. Billy talks about how desktop development has evolved even though a lot of folks have steered clear of it for years, doing all development with web clients. What is better with a traditional desktop client? The conversation also swings to how users interact with software, how developers learn, and how we could all stand to take a step back, decrease our rate of interruption, and focus more!
How do you automate DNS changes? And why would you? Carl and Richard talk to Enrique Comba, the DNSimple Ambassador, about programming against the DNSimple API. Enrique talks about automating migration from other DNS services - in fact, there are community-created products for migrating from various 'popular' DNS providers to DNSimple. The conversation also ranges over other tasks that are difficult to do manually, like certificate generation and renewal. If you're creating multi-tenant applications, configuration of DNS is a normal part of the job, and it should be automated - there are lots of reasons to dive into the API!
Collaboration is key - how do you add it to your applications? Carl and Richard talk to Rickard Hansson about Weavy and their API for adding audio, video, and text to your application. Rickard talks about collaboration with context - making sure you can bring together the right people at the right time to get work done. The conversation also turns to various other approaches to collaboration, and making the distinction between business-to-consumer and business-to-business interactions. But when collaboration is done right, the productivity boost is huge!
What's coming for the next version of C#? Carl and Richard chat with Mads Torgersen about some of the new features in C# 10 shipping with .NET 6. Mads talks about how a year is not a lot of time for building language features - but it does create a steady stream of new language ideas explored and tested before being finalized into the language. While C# 10 is largely finished, we also get a peek into some of the new ideas coming for C# 11!
It's 2021, what can Uno do for you? Carl and Richard talk to Thomas Huber about the current state of Uno and the many other options for desktop and cross-platform client development. Thomas talks about how Uno offers a great path to pushing out applications to iOS, Android, MacOS, web, and Windows - and offering routes to platform-specific features. The conversation also digs into MAUI, Xamarin, WPF, and Blazor. There are lots of choices out there, have you seen what Uno can do?
What's been happening in the web development world and F#? Carl and Richard talk to Zaid Ajaj about his favorite tools for building web pages with F#. The conversation starts concerning the comment read on the show and the Giraffe library that works with ASP.NET Web Core, still going strong at version 5. Zaid also talks about the power of Fable to transpile F# code into JavaScript and how to interoperate with existing JavaScript libraries - pointing to the project that Zaid build for using React from within F# through Fable. F# transpiles to JavaScript well, and can help you create very sustainable web apps!
Learning by doing! Carl and Richard talk to Joseph Finney about his experiences building Text-Grab, a clever utility for extracting text from graphics using OCR built into Windows. Joe talks about how the 'search-with-screenshot' built into Windows 10 depends on Bing, but there is an OCR library inside Windows - why go to the cloud? The conversation dives into the challenges of handling multiple screens, screen resolutions, DPIs, language packs, and more... what seems like a simple tool is never that simple. And, as it turns out, building the app is the easy part: Now, how do you get it into the Microsoft Store? That leads to both Richard and Carl installing the app, showing that purchasing and installing an app is much harder than it needs to be!
How much more productive can Visual Studio get? Carl and Richard talk to Mika Dumont about some of the new features coming in Visual Studio 2022 to help shorten your development inner loop. Mika talks about some of the new code analyzer capabilities working within the Roslyn service that you can customize - and create your own! The conversation explores how these tools can add code automatically to save you typing, like adding using constructs on paste. It's a challenge to get the balance right between helping and interrupting, but the team works hard on it - and listens to your feedback to make it better. Take the VS2022 Preview out for a spin and help make it even better!
How do you speed up your development loop? Carl and Richard talk to Dmitry Lyalin about Hot Reload in Visual Studio 2022. Dmitry talks about how Hot Reload goes beyond Edit and Continue, where you can make changes in code without a breakpoint, and Hot Reload will insert it into the running code, wherever possible. It doesn't work in every scenario, but it does work for many, and across platforms and tools! Get more productive by being able to change code and see the results immediately!
How is Vue evolving? Carl and Richard talk to Shawn Wildermuth about the ongoing evolution of Vue, now at V3. Shawn talks about the culture of Vue and how the significant changes between versions two and three did NOT lead to a lot of breaking changes. There may have been some casual chatter between three old guys, but hey, there are worse things.
Why should form tags and submit events have all the fun? Carl and Richard talk to Carson Gross about htmx, a small Javascript library that extends HTML through attributes so that almost any element, on any event, can trigger a GET, POST, PUT, PATCH, or DELETE. Carson talks about building sophisticated web apps with HTML, rather than tons of JavaScript, and really getting into the original hypertext web metaphors - arguably the way Tim Berners Lee intended. With a simple learning curve, it doesn't take much effort to get started with htmx, just add a few attributes and start exploring what HTML really could be doing for your apps!
What if you could build a mixed reality app once, and run it on all kinds of different VR and AR headsets? Carl and Richard talk to Catherina Diaz about the Mixed Reality Toolkit (MRTK) on GitHub, which offers up a cross-platform deployment of VR/AR applications. Catherine talks about how MRTK abstracts the visualizations and interactions across different devices, including implementations for Hololens, Oculus, Vive, the Windows VR headsets, and even mobile devices! The conversation also dives into how VR and AR evolving, mapping existing user interface metaphors into the 3D realm, and also ideas on what pure VR/AR interfaces could be like!
It's 2021 - how has NodeJS evolved? Carl and Richard talk to Rob Richardson about NodeJS and much more. Rob dives into the current evolutionary process of JavaScript with the ECMAScript standards and the impact of transpilers to allow developers to use the latest concepts of JavaScript while still remaining compatible with existing browsers. The conversation dives into the Node philosophy of minimal footprint and surface area and the great libraries that help you get going quickly. And then there's WebAssembly!
What's being announced at Build? Carl and Richard talk to Scott Hunter about the latest from the Virtual Build conference. With .NET 5 out last November, and .NET 6 coming next November, this is a time for interim features - including some huge performance improvements! Scott talks about being able to modify code while running to shorten your development cycle, and the latest version of Upgrade Assistant to help move your existing .NET applications to the latest version. Lots of great stuff!
What's new in Visual Studio 2022? Carl Franklin and Richard Campbell talk to Simon Calvert, Anthony Cangialosi, and Andy Sterland about the upcoming version of Studio. First on the docket is 64-bit: While Studio has been able to build 64-bit applications for more than a decade, the devenv.exe itself has remained a 32-bit application. The team discusses why it makes sense to move to 64-bit and what that means for development going forward. But there's much more to Studio 2022, including improvement to debugging and diagnostics across platforms, being able to collaborate with developers in real-time using Live Share, and getting smarter about how you navigate and explore existing code. Cool new things are coming!
Xamarin Forms 5 is being replaced by .NET Maui - what's a mobile dev to do? Carl and Richard talk to Gerald Versluis about what to expect from .NET Maui and what to expect when migrating your Xamarin Forms apps. There are going to be some changes, and you can expect support for Xamarin Forms to end sometime in 2022. Gerald talks about how the skill sets are similar, so the move isn't too hard - and its still worthwhile to learn and build in Xamarin Forms today!
How do you test the security of your applications? Carl and Richard chat with Kim Carter about purpleteam, an open-source library for testing web applications as part of your CI/CD pipeline. Kim talks about OWASP in general and yes, SQL injection (and injection in general) is still the number one security risk - but there are plenty more. Don't be an easy victim, start making security testing part of your build and deployment process!
Do you have apps that need to move to .NET 5? Carl and Richard talk to Mark Rendle about his work on Visual Recode, which started out as a migration tool for WCF to gRPC, but has evolved to deal with the migration to .NET 5 challenges. Mark talks about how older WCF apps can often move to gRPC pretty easily, but moving the app has other problems, like out-of-date libraries, build practices, tests, and so on. There's also the possibility of migrating WebAPI and even WebForms apps - lots of possibilities!
Teams is extensible - wanna write some code? Carl and Richard talk to Hilton Giesenow about his work building Teams extensions - and there are a lot of options! The conversation starts out focusing on what Teams can do for you, which is to be the portal into collaboration at work. Hilton talks about the huge array of extensibility options for Teams to put more of the work in the tabs of Teams - from bots to PowerApps, there are a lot of choices!
What's a Blazor Static Web App, and why should you care? Carl and Richard talk to Jeff Fritz about how the new Azure Static Web App service can be combined with Blazor to do dynamic things on the client, without any client rendering on the server. The conversation ranges over a variety of web development technologies, including Web Forms, Angular, and more. Static doesn't mean boring!
.NET 5 is shipped! What happens now? As part of the .BLD() Tech Talks XXL event in the Netherlands, Carl and Richard streamed interviewing Scott Hunter about .NET 5. The conversation turns to how the scope of .NET 5 focused in on how to help projects move from the standard framework onto .NET 5. Scott also dives into the ever-improving performance of .NET, the latest version of Blazor, and the adoption of WinForms in .NET 5 - and what's coming for .NET 6!
What does it take to make a flight simulator in C#? On a smartphone? Carl and Richard talk to Laura Laban about her experiences building Infinite Flight - starting with the Windows Phone in 2011! The conversation follows the history of using C# in smartphones, from WinPhone 7 through to MonoTouch, MonoGame, and Xamarin! Laura discusses the challenges of tooling getting deprecated, platforms going away, and the vagaries of app stores!
What can you use Blazor for? Carl and Richard talk to Georgia Nelson about GifBot, a Twitch bot Georgia has built using a variety of tools and languages (including Java) and today is C# and Blazor. Georgia talks about evolving the bot from version to version, looking for ways to make it easier for Twitch streamers to use. From WinForms to WPF to Blazor, the UI has taken a few turns, but Blazor works great in the role of user interface!
With a new version of .NET out, it's time for a new version of Nuke! Carl and Richard talk to Matthias Koch about Nuke V5 - synchronizing the version number of Nuke with the version of .NET. Matthias talks about the philosophy of Nuke, focusing on creating builds using C# with package references and class inheritance. This leads to a conversation around build maintainability - making sure every developer on the team can contribute to the build, and that certain build classes can be used in multiple build projects!
Good user interface design makes your company money! Carl and Richard talk to Billy Hollis about his latest work around understanding the return on investment that exists with user interface design. Billy talks about a spreadsheet he's been using in presentations to actually look at the cost associated with bad UI designs, that require more keystrokes, more searching, more time and more frustration. Great UX design leads to users that work faster, consume less resources for each task and a happier work environment. Good UX is worth it!
Cake is shipping! Carl and Richard talk to Mattias Karlsson about Cake, aka C# Make. First on the show in 2016, Cake has been through a lot - all the twists and turns of .NET Core, becoming a cross-platform product - it's not easy to be a good build system! But things are stable now and version 1 is released. Mattias talks about how Cake fits into your build pipeline, working with many other components as needed. The conversation also turns to extensibility and the awesome community that has grown around it - have a slice!
The pandemic is sending a lot of work to the cloud - are you ready to move? Carl and Richard talk to Mike Richter about his work helping companies move .NET applications into the cloud. Mike starts out with the hard truth, that moving your virtual machines into the cloud can get expensive. Better to take advantage of the Azure platform, starting with AppService. There's a lot you can do with existing software, and even more if you're willing to recompile. Check it out!
Can a development environment be online? Carl and Richard talk to Anthony van der Hoorn about GitHub Codespaces - the consolidation of a number of online development solutions from Microsoft including Visual Studio Online. Anthony talks about unifying the online dev environment for Visual Studio and Visual Studio Code - recognizing that the two tools are very different! And there is the option to explore code directly in the browser as well. You have more choices than ever for writing code!
What happens when an open-source experiment becomes software people care about? Carl and Richard talk to Jamie Rees about his experiences creating Ombi - an open-source project that helps people managing Plex servers to handle requests from friends and family for more content. Jamie talks about creating Ombi as an experiment with NancyFX that soon evolved into something lots of folks needed and wanted. The conversation dives into the challenges of managing a popular open-source project, both from a technical, personal, and professional perspective.
Build better distributed apps with Dapr! Carl and Richard talk to Haishi Bai about his work on Dapr, the open-source framework for building microservices with an event-driven, portable runtime. Haishi talks about the challenges of building modern distributed apps, with elements running in the cloud, on PCs, mobile, and IoT devices. There's also a variety of languages, platforms, and patterns as well. Dapr sits in the middle, abstracting away specific services so that you can keep your app running where ever it needs to be. Check it out!
What do you do when COVID-19 cancels your internship? Write an app! Carl and Richard talk to Theodora Tataru about her experience creating an application using Xamarin to help with tracker her college grades. Theodora talks about learning the tools, the libraries, and the various techniques to making a Xamarin app - including asking for help! College Diary is just starting to arrive in the app stores - and Theodora is starting her career as a developer!
What are the Microsoft 365 APIs and what can you do with them? Carl and Richard chat with Glenn Block about his new role at Microsoft, working with Graph. Glenn talks about how Graph actually serves are a part of a larger "intelligent substrate" that covers all of Microsoft 365 and more. In the end, the substrate is a set of APIs that are used by Microsoft product teams and third-party developers alike. More to come!
F# turns five - not five years old (it's more than ten years old!) - but version five! Carl and Richard talk to Phillip Carter from the F# team about what's coming in F# 5. Phillip talks about the past few years of F# being focused on getting fully onboard with .NET Core - and now is the time to go further. The conversation dives into adding capabilities to interactive mode of F# including working easily in Jupyter Notebooks. More ability to manipulate data means more power for all of us, check it out!
What is the right way to secure your applications? Carl and Richard talk to Christos Matskas and John Patrick Dandison about the various security offerings made by Microsoft for application developers. Christos and JD talk about Azure Active Directory B2C and the upcoming Microsoft Identity Web libraries on GitHub. The conversation explores reasoning for rolling your own security - which is almost never the right solution. Let the existing tools make your life easier when it comes to recovering passwords, using multifactor authentication, and more!
Got Silverlight apps? Carl and Richard talk to Giovanni Albani about the OpenSilver project - building an open-source version of Silverlight that runs without a plugin, using WebAssembly. Giovanni talks about companies he has communicate with that have Silverlight apps with hundreds of thousands of lines of code - not a simple thing to rewrite. The goal of OpenSilver is to let you migrate those applications.
What's coming in C# 9? Carl and Richard talk to the Mads Torgersen, the leader of the C# team, about the rapidly approaching C# 9. Mads explains that with .NET 5 coming in the fall, he felt there should be a new version of C# as well - so in less than a year since C# 8, they're going to have another version! That being said, the feature set of C# 9 is not as aggressive as it was in C# 8, with a focus on making immutable coding easier. And the whole development process is being done in public, on GitHub. So if you want to check out the bits, go for it!
Ready to simplify and organize your MVC app? Carl and Richard talk to Steve Smith about his open-source project called ASP.NET Core API Endpoints. Steve digs into the problems around the controller part of MVC - as a project gets bigger, it gets harder to manage all of the elements associated with a controller. His Endpoints library cleans up this issue, to transform the MVC pattern into the Request-EndPoint-Response pattern, with simpler code and an easy project to manage. Check it out!
How do you do static testing in your applications? Carl and Richard talk to Patrick Smacchia of nDepend - one of the original testing products for .NET, stretching back to the very beginning! Patrick talks about how nDepend has grown over the years to provide a variety of tools for helping you to visualize the quality of your code, and to detect code smells - that is, aspects of code that may indicate a problem. The conversation dives into building out rules in projects to do static evaluation as code is created so you can catch problems early, to determine when its time to refactor older code!
Ready to go to Maui? Carl and Richard talk to Scott Hunter about the .NET Multi-Platform App UI or MAUI for short. Scott talks about how the next versions of .NET are focused on unifying the elements that go into .NET to make One .NET. And that includes the UI stacks - including Xamarin! The evolution of Xamarin into .NET means that all UI stacks will be treated equally. And that leads to the .NET Multi-Platform App UI, letting you make a single project that covers Windows, OS/X, iOS and Android. Coming soon to a .NET near you!
Is VB.NET dead? Kathleen Dollard says No! Carl and Richard talk to Kathleen about a recent blog post from Microsoft about VB.NET not coming to .NET 5. Kathleen talks through the decision-making process that led to the blog post - not the death of VB.NET, but keeping VB.NET stable while C# is going through such significant changes. No, VB.NET is not going into maintenance, the same team is continuing to work on it - it's just going in a different direction from C#!
How do you test your Blazor app? Carl and Richard talk to Egil Hansen about bUnit, an open-source testing framework designed to work with Blazor - both the server-side Razor components and the WebAssembly client. Egil talks about building bUnit to allow for robust testing, that is, tolerant to the normal changes that come to an application without breaking all the tests. The conversation also turns to growing the bUnit project with more contributors, a wider set of features, and perhaps being part of the .NET Foundation!
What's your cross-platform development solution? Carl and Richard talk to Kenzie Whalen about the Uno Platform, where you write C# and XAML for Windows and are able to deploy via Xamarin to iOS and Android... and to browsers via WebAssembly also! The conversation digs into how UWP is evolving, and the approaches you can take to keep your codebase as common as possible between all the platforms. But there are always variations from platform-to-platform. Kenzie also talks about how some of the new hardware, like Surface Duo, will impact development - more cool stuff is coming!
Jon Skeet is the first show recorded since the COVID-19 pandemic was declared - so its pretty far ranging! Carl and Richard discuss Carl's recovery from the virus, and then chat with Jon about what life is like for him in this new world. The conversation also digs into the Better Know a Framework around VB.NET going into maintenance, challenges with nodatime and versioning and more!
What's up with CSLA? Carl and Richard talk to Rocky Lhotka about his ubiquitous framework for managing business rules and user interfaces. Rocky talks about the latest version with support for Blazor, along with many other popular UI solutions including Web Forms, WPF even Silverlight. Rocky talks about the challenges of taking care of an open-source project for so many years, including some issues around NuGet. The conversation also dives into the power of Blazor and how CSLA makes it even easier to build great apps!
Still using jQuery? Chris Love asks why! Carl and Richard chat with Chris Love about modern web development; and the fact that what jQuery does today is largely built into JavaScript. Chris talks about the state of JavaScript back in 2006 when jQuery first came along and how the move to HTML 5 and more mature versions of JavaScript have moved the bar far enough that you can let it go. So why is adoption still growing? Often jQuery and other libraries are included by reflex, not thought. Time to do some thinking!
How and why would you mix Angular and Reactive Extensions? While at NDC London, Carl and Richard chatted with Sandi Barr about her work building reactive applications where the front-end is Angular. Sandi talks about how Angular has ReactiveJS built-in and why you want to use reactive in your applications where you have streams of data you need to look at, but not capture every bite of. Reactive is a cool pattern of development, you should add it to your repertoire!
How do you get started with vue JS? While at NDC London, Carl and Richard talked to Gwendolyn Faraday about how she teaches people to develop with vue. Gwen breaks down what makes vue distinct as a development framework, and how you go about building, testing and deploying web apps. Want to build a native mobile app? Vue does that too!
What if Visual Studio could help you write better code? Carl and Richard talk to Danny Simmons and Gustavo Soares about Program Synthesis Using Examples - aka, PROSE. PROSE uses machine learning to understand how you are changing your code and finds ways to help with those changes. Originally a part of Microsoft Research, PROSE has moved to the developer division at Microsoft and is part of the Intellicode extensions in Visual Studio. There are also examples and code on GitHub - check it out!
It's 2020 - how do you build client-side applications? Carl and Richard talk to Brian Lagunas about his work in client-side development, largely around XAML (don't worry WinForms, we still love you!) - WPF, UWP and Xamarin.Forms. Brian leads the Prism open-source project that helps to build XAML-based applications, specifically WPF and Xamarin.Forms. The conversation digs into the problems around UWP and even a mention of Silverlight - and then the challenges of the other client-side platform, mobile!
What if your development environment was in the cloud? Carl and Richard talk to Nik Molnar about Visual Studio Online - literally a version of Visual Studio running on Azure. Nik talks about the time it takes to set up each development environment for each development project you have, and what you could do to make that less painful. The conversation also dives into the differences between personal configuration options and project options - you can have a dark theme if you want! And even more interestingly - you can do remote development on your own dev machine at work while traveling through VS Online. Lots of cool possibilities!
How do you write XAML? Carl and Richard chat with Dmitry Lyalin about Microsoft's on-going efforts to make coding in XAML faster, easier and more reliable. Dmitry starts out talking about how there are different dialects of XAML, including WPF, UWP, Xamarin Forms and more - although there are concerted efforts to keep them more in sync. And that helps with tooling also! Dmitry dives into Blend, XAML Designer and the power of coding XAML directly with IntelliCode, hot-reload and more!
Memory Leaks in .NET? How is that possible? While at .NET Developer Days in Warsaw, Carl and Richard talked to Adam Furmanek about modern memory leaks - the things we can do in .NET that cause more memory to be consumed over time. Adam talks through various aspects of .NET that have a risk of causing memory leaks, how to detect them and then the hard part - how to fix them.
Containers sound like a good idea - but can you get your application live on them? Carl and Richard talk to Michele Bustamante about her on-going work migrating existing applications to microservices on containers, as well as greenfield development. Michele discusses the balance of complexity and flexibility that containers bring, and the challenges of getting an organization comfortable operating an entirely new architecture of applications. But the payoff is big - scalable, reliable and cost-effective software!
Do you Python? Carl and Richard chat with Michael Kennedy about the current state of Python and how .NET developers can learn it! Michael talks about the many flavors of Python out there today and the tremendous number of libraries available. The focus of Python on machine learning, scientific computation and more makes it great for all sorts of applications outside of regular dev. But if you wanna make a web site - it kicks butt there too! Check out Michael's course on Python for .NET Developers if you want to get started!
How do you improve the performance of your application? While at .NET Developer Days in Poland, Carl and Richard chatted with Steve Gordon about his work writing high-performance C#. The conversation digs into the larger picture of why and how you improve performance - don't guess, use method profiling, benchmarking and great measurements to know if you're fixing the right thing, the right way. That being said, there are a bunch of techniques available to improve performance - check out Steve's blog and the links in the show notes!
How can you be more productive with Visual Studio? Carl and Richard talk to Kendra Havens about all the built-in productivity gadgets in Studio - plus the ones you can build yourself! Kendra talks about putting those red and green squiggles, lightbulbs and screwdrivers to work communicating with developers about standards of development within your organization using Roslyn Analyzers, as well as taking advantage of the huge number of productivity features including regex completion, type recognition and many more!
How do you configure your cloud? Carl and Richard talk to Joe Duffy about Pulumi, a tool that lets you use your favorite programming languages to provide Configuration-as-Code. Joe Duffy talks about the new addition to Pulumi - .NET Core languages including C#, F#, VB.NET... even COBOL.NET if you really want to! The conversation then turns to the process of creating better code for managing configuration, getting real testing, building our modules. Configuration-as-Code is code, give it the love it needs!
What's happening with Windows client-side development? Carl and Richard talk to Ryan Demopoulous about WinUI 3.0, the next version of the WinUI stack, which represents a major shift in how Windows applications are going to be built and supported in the future. Ryan starts the conversation focused on the current WinUI 2, which is open source, but largely focuses only on UWP. WinUI 3 expands the horizons to support .NET Core and more - the alpha bits shipped at Ignite, check it out!
What does it take to move away from AngularJS? Carl and Richard talk to Jennifer Wadella about so-called legacy Angular apps, that is, web apps built using Angular 1.x - known as AngularJS. The discussion calls back to the issues around AngularJS, that its flexibility led to a huge array of programming approaches, making it difficult to manage projects in the long term. The opinionated approach of Angular from version 2 dealt with that issue, at the price of making upgrading hard - but today the change shows its value in a huge ecosystem that makes modernizing worthwhile!
Software-as-a-Service is getting more common, what does it take to make a good app in that world? Carl and Richard talk to Tom Kerkhove about building multi-tenant cloud apps today. While multi-tenant apps have been around for a long time, the cloud offers new ways to build, monitor and maintain them. The conversation starts out digging into the challenge of data - do you really want a database for each customer? Tom talks about the new data capabilities Azure offers and how that impacts your choices - along with monitoring, API controls and more!
What does client-side development look like today? Carl and Richard talk to Tim Corey about WinForms, WPF and other ways to build applications that live on a client. The conversation digs into the fear that client-side developers have around WinForms going away - which does not appear to be happening with a new version appearing in .NET Core 3. But Tim does dive into how you can spend time organizing your application in a way that tolerates changes to UI... but what to change to?
Ready for a tale of migration? Carl and Richard enjoy a tale by Elias Puurunen who tells the story of migrating a 90's era Delphi app to .NET. The application in question was an air quality simulation application with some serious math equations in it that was written in the 90's in Delphi. The original developer long gone, there is source code but no operating development environment for it. Elias describes the various tactics he used to get the application into .NET so that it could have a future - and new features!
The ASP.NET Core Ecosystem is thriving! What does that mean for you? Carl and Richard talk to Jeremy Miller about how the latest versions of ASP.NET Core are building an ecosystem of third-party tools in the open-source world. Jeremy talks about looking at different approaches to building web apps with ASP.NET Core, the variety of backend libraries available, and takes a short trip down memory lane to talk about ALT.NET, an open-source movement he was a part of going back to 2007!
.NET Core 3 has shipped - what did we get? Carl and Richard talk to Scott Hunter about the announcements at .NET Conf around .NET Core 3 and the cool stuff still coming from the latest version of .NET. .NET Core 3 continues to expand on the ability to work across platforms, while also adding the new Windows SDK that contains a new version of WinForms and WPF. More compiling options, installation features, monitoring and more - it's a great time to be a .NET developer!
Blazor is coming on strong - should you migrate to it? Carl and Richard talk to Jeff Fritz about what's happening with Blazor and how server-side Blazor is going to ship with .NET Core 3. But what about moving existing web forms apps to Blazor? The developer ecosystem seems to be building controls for Blazor, so perhaps there are options there, but first, make sure your web forms apps are using the latest .NET bits - then you'll have a better grasp of what's possible and where to go!
What is gRPC and why should you care? Carl and Richard talk to Shawn Wildermuth about the new hotness that is gRPC - or is it? Shawn talks about all the different approaches we've taken over the years to communicate over the wire, whether with SOAP, REST or all the other flavors in-between. What makes sense for your application? Shawn talks about how gRPC has a solid cross-platform solution for streaming connections and how that is probably the main reason you should consider gRPC at all - and if you aren't concerned about streaming, then there isn't much reason to move from where you are.
In the age of the cloud, does performance matter? Carl and Richard talk to JD Trask of Raygun software about his work making applications run fast - and knowing how to do it! JD talks about the various ways that you can measure the performance of different types of applications, especially in this modern day where you can instrument in production and actually see what your customers are experiencing. The trick is to not look at averages - individual experiences matter, and figuring out where and what to tune takes time and good tooling. A great geeky conversation on performance!
Server-Side Blazor is poised to ship at the end of September 2019 - are you ready? Carl and Richard talk to Shaun Walker, formerly of DotNetNuke fame, about server-side Blazor - starting with, how does server-side Blazor even make sense? Blazor has been a client-side technology using web assembly since Steve Sanderson showed off the prototype in 2017. But as the product matured, a server-side model from the Razor world emerged as a hugely powerful way to build forms-over-data web applications - and the component vendors have jumped on-board! Shaun talks about his new open-source project called Oqtane which promises to make building Blazor apps even easier!
How do you integrate accessibility into your applications? Carl and Richard chat with Elle Waters about her on-going work helping educate developers and organizations to include accessibility features as part of their user experience design. Elle digs into how accessibility should become part of your workflow - it takes time to learn, but once understood, it doesn't cost much in terms of routine work. The same applies to client-side and mobile tech. In the end, accessibility is user experience - you gotta do it!
What is Rust and why would you use it with C#? While at NDC in Oslo, Carl and Richard chatted with Ashley Mannix about he and the team at Datalust build Seq, a structured log server, using Rust on the back end and C# on the front. Rust looks a lot like C++, but with a great type safety system and a smart compiler that can help catch memory leaks before they happen. Rust is a modern language with modern capabilities and well worth the look!
WCF isn't coming to .NET Core 3 - what to do? While at NDC in Oslo, Carl and Richard chatted with Mark Rendle about his new project called Recode. Mark talks about how Microsoft came to the decision that they could not migrate WCF to the open-source, cross-platform .NET Core and what that means going forward. Mark's solution is a tool called Recode that can convert WCF code to gRPC - check it out!
What's your authentication solution? Carl and Richard talk to Vittorio Bertocci, now an architect at Auth0, about building pure identity solutions that work for all platforms and languages. Vittorio digs into why you want an authentication solution that stands independent of any given cloud vendor, and what capabilities you need to get authentication right!
Why should you build your website with Gatsby? Carl and Richard chat with Jason Lengstorf about the Javascript library built on top of ReactJS to automate the generation of static web pages from a variety of data sources with a focus on blogs and CMS sites. The conversation dives into this idea of higher layer abstractions making building multi-format web pages easier and highly performant by generating to static content. This lets you push your content closer to the customer on a CDN - the web development world continues to evolve.
Build is over - what did we learn? Carl and Richard talk to Scott Hunter about the various announcements at Build connection with .NET - including the delivery date of .NET Core 3 and what happens beyond! The conversation digs into switching to a routine delivery model for .NET, so that you can anticipate when you'll need to implement the new version of the framework. Scott also talks about new features coming in C# 8, including the fact that C# 8 is only for .NET Core 3 and above... things are changing, and it seems for the better!
What's the latest for Identity Server? While at NDC in Porto, Carl and Richard chatted with Dominick Baier and Brock Allen about their latest work on Identity Server. The conversation goes through the various current generations of attacks on web pages, how Single Page Apps behave differently, and more! Great conversation about the current state of web-based security and how you can do more.
Templates can make your life better! While at NDC in London, Carl and Richard chatted with Layla Porter about the power of Visual Studio Templates. Layla talks about trying to avoid repeating herself in code, and trying to document or remember best practices for the various projects she works on. The answer is templates - so that you can File-New a project with all that thinking already built in. And not just for new projects - you can template Visual Studio configurations as well!
What can Azure Functions do for you? While at NDC in London, Carl and Richard talked to Simona Cotin about Azure Functions. You can code Azure Functions in C#, Java, Python and JavaScript - but Simona prefers JavaScript. Use the language you're most comfortable with. Programming Azure Functions in JavaScript means using the NodeJS frameworks, building small chunks of code that do exactly what you want them to do without a lot of plumbing!
Build your web site in F#! While in London at the NDC, Carl and Richard talked to Anthony Brown about the SAFE Stack - a complete set of tooling for building back-end and front-end parts of your website in F#! Anthony talks about the various pieces needed to work together, how debugging works, and his preferred tooling, including VSCode as the editor and some great plug-ins that make F# coding easy!
Have you heard of CSS Grid? While at NDC in London, Carl and Richard talk to Amy Kapernick about one of the new features in CSS introduced in 2017 on all major browsers. CSS Grid is not tables - and tables aren't inherently evil, they can just be used badly. With Grid, you can define flexible layouts and formatting for a variety of elements. And there's nothing you're doing that can't be tweaked effectively by designers when the time comes - check 'em out!
What's up with Blazor? While at NDC in London, Carl and Richard chatted with Steve Sanderson and Daniel Roth about the latest efforts around running C# in the browser with Web Assembly. Since its first demo back in 2017 by Steve, Blazor has grown up a lot - part of ASP.NET Core but still nominally an experimental project, parts of Blazor are now appearing in the preview editions of .NET Core 3 as Razor Components. 2019 looks to be a big year for Blazor!
How do you migrate your .NET application to current standards? Carl and Richard talk to Rocky Lhotka about his approach to migrating existing .NET applications to .NET Standard. Rocky explains that many folks ask him about moving to .NET Core, but getting to .NET Standard is an easier move (but likely not easy) and offers more options in the long run, including .NET Core. The process starts with getting your .NET application upgraded to at least .NET 4.6.1, but it goes on from there - many organizations have a huge portfolio of older .NET applications - Rocky offers a plan to modernize!
Should developers care about search engine optimization (SEO)? Chris Love says yes! Carl and Richard talk with Chris about how SEO impacts consumer-facing websites and what developers can do to include SEO in their development process. The good news is, many of the things we do routinely in web development help with SEO, including mobile-first development, using HTTPS and focusing on performance. But there's more to be done, and Chris digs into important bits - check out the tools in the show notes for more ideas on how to make your website more SEO friendly!
User Experience Design is on the rise! Carl and Richard talk to Billy Hollis about his latest thoughts and efforts around getting developers to design UX as part of their development process. The conversation dives into the change of thinking it takes to really understand how users work with your software and the interfaces change as you think about what someone needs to see and when. Billy also brings up the advantage of great UX - happier users, more users and more profitability. Software is also cheaper to maintain and educate on as well! Whether its mobile, web or desktop, you need great UX!
How do you make .NET Core go even faster? System.Memory! While at the Update Conference in Prague, Carl and Richard sat down with .NET Core team member Adam Sitnik to talk about his work on Span of T and System.Memory. Adam talks about .NET Core 2.1 and C# 7.2 giving access to unmanaged heap and stack memory. Used right, you can get huge performance boosts and decreased memory footprints for certain classes of work - at the risk of a stack overflow! Great conversation about when and where you should take advantage of these new features!
How do you debug? Carl and Richard talk to Omer Raviv about OzCode Debugging, including its ability to do 'time travel' or 'reverse' debugging - rather than stepping through code forward line-by-line, you can go any direction you want with any rules that you need. Omer talks about the years of work in OzCode and the array of features including understanding what your LINQ queries are doing in detail, writing conditional breakpoints and more.
The .NET Foundation is changing! Carl and Richard talk to Jon Galloway and Beth Massi about the changes in the .NET Foundation and what it means to the average .NET developer. The first announcement is that the .NET Foundation is moving to an open membership model - if you have made a contribution to .NET in any way, be it code, documentation or other, you can apply for membership and expect to be accepted. Next up, the expansion of the .NET Foundation board to seven directors and open elections for those board seats - any .NET Foundation member can be a director! Nominations are happening in January 2019, so get on board today!
What's new in Node development? While at DevReach in Bulgaria, Richard moderated a panel of David Neal, Brandon Satrom and Tara Manicsic about their experiences with Node. There's a huge array of application types that make sense for Node, starting with IoT solutions, but also exploring the more traditional web applications. Node works great in the serverless role as well, it's low-ceremony approach works great with Azure Functions and AWS Lambdas. The continuing improvements to Javascript help also, and since you control the runtime environment, you get to use those language improvements in production!
How do you build a mobile app in 2018? Or should you? Richard moderates a panel from DevReach in Bulgaria with Sam Basu, Jen Looper and Jo Franchetti about their experiences with different tools building mobile apps. The conversation ranges over Xamarin, Cordova, NativeScript and good ol' fashion mobile web. Is the Progressive Web App good enough now to skip going to the app store? Or do you want your PWA to appear in the app store? How awful are app stores? Great thoughts around testing, accessibility and more!
Windows represents the single largest Git source control library in the world at 300GB - but what does it take to work on it? Carl and Richard talk to Ed Thomson and Jill Campbell about how Azure DevOps (formerly known as VSTS) functions under the load of 33,000 people working on the Windows project with 11 million work items. There are many things in Azure DevOps that can cope with that scale, but some aspects don't make sense to add directly, like moving millions of work items. For that, the team has built extensions available in the Visual Studio marketplace - check them out, maybe they can help you!
What's your dependency injection solution? Carl and Richard talk to Steven van Deursen about his work building SimpleInjector and why there seem to be so many different dependency solution options out there. Steven talks about how he came to build SimpleInjector and what makes different DI solutions valuable - including when the .NET Core team tried to build an abstraction over dependency injection that resulted in an anti-pattern! Dependency injection helps you code in a maintainable way, but the tooling you use affects everything. It takes time to make the right fit for you application.
Looking for some build automation options? Carl and Richard talk to Matthias Koch about his open source project called Nuke - as in Nu-Make. Matthias discusses building a domain-specific language in C# that focuses on building software using fluent syntax, but looking beyond those options for more ways to work with third-party software and not getting too tangled in the details. This leads to an entire add-on model for Nuke that lets you encapsulate functionality and complexity. Check it out!
Web performance is still important - what are you doing to keep your sites fast? Carl and Richard talk to Benjamin Howarth about his current approach to web site performance - with a focus on dealing with older smartphones and lower bandwidth. The conversation runs through a huge gamut of tools that help you understand what your customer experiences when accessing your website, and where to focus to make improvements. Not everyone has 4G connections and top-of-the-line phones - be kind to your users!
Functions are ephemeral and stateless - right? What if they weren't? Carl and Richard talk to Maxime Rouiller about durable functions in Azure. Maxime dives into the patterns that durable functions provide, starting with the chaining pattern, where you can declare a series (or chain) of function calls that only start when the previous function completes. And then onto the fan-out pattern that allows for an orchestrator to launch any number of simultaneous functions and then collect their results in whatever order they complete. There's more choices and a ton of possibilities in durable functions!
Is .NET ready for the Internet of Things? Carl and Richard talk to Bryan Costanich about the current state of IoT and how his startup Wilderness Labs is building next-generation hardware that runs .NET! Bryan talks about how microcontrollers have gotten much more powerful today, but the programming stacks are still back in the 80s. The expectations of customers today is cloud integration, auto-updating and mobile apps - which is expensive and time-consuming to write in C++! Enter Meadow, programmable with .NET Standard 2. Join the Kickstarter to get the first release of hardware!
Start programming quantum today! While at NDC in Sydney, Carl and Richard talked with John Azariah about Q# and the Quantum Development Kit that he has helped create. The conversation starts out with a refresher on quantum computing in general, including exploring a number of the myths and fallacies - John brings up the really important problems that quantum can tackle, including (no kidding!) world hunger and climate change. John dives into what Q# is all about, being able to abstract away from the quantum hardware and various emulators so that you can explore quantum functions. You may not have the hardware today, but some day you will!
How do you read other people's code? While at NDC Sydney, Carl and Richard talked to Patricia Aas about the fine art of studying code you haven't written - and even more challenging, understanding it! Code doesn't read like a novel, there really is no beginning or end, it's always an exploration. The conversation also turns to being respectful of existing code, recognizing that it is as good as it could be at the time and that there are always ways to make it better. And when you're writing code, the challenge is to write it so that it can be read and understood by others!
Can you build a neural net from scratch? While at NDC in Sydney, Carl and Richard talked to Joe Albahari about using LINQPad to create neural nets from scratch. LINQPad is an interactive development environment for .NET - originally focused on helping you build LINQ expressions. But as Joe explains, it can be used for all sorts of interactive coding experiences - including learning to build neural networks. Joe talks through the fundamentals of neural nets and what it's like to build neural nets yourself. Even if you move on to more advanced machine learning tooling, learning the fundamentals are useful!
SignalR is updated! Carl and Richard talk to Microsoft Cloud Developer Advocate Anthony Chu about the latest updates to SignalR - including a version of SignalR for .NET Core! Anthony talks about how SignalR has evolved since the first versions in 2011, today there is still the Standard Framework edition as well as the new .NET Core edition. And then there's also the Azure backend! You can run the back end in Azure with a free tier, and there's a paid tier as the scale gets larger. Anthony also dives into how Azure Functions can play a role. Socketed connections live on!
How do you test a single page application? Carl and Richard talk to Dan Wahlin about cypress.io, Dan's favorite new open source library for testing anything in the browser, including SPAs like Angular, React and Vue. The conversation dives into the various challenges around testing for web apps, trying to get beyond unit testing and into more functional testing that will let you know if you broke the UI. Dan talks about taking over existing projects that have chunks of code that everyone fears - and how testing helps mitigate that fear. As usual with Dan, he also compares and contrasts various web stacks - lots of great links in the show notes too!
Time to rub a little DevOps on it! Carl and Richard talk to Donovan Brown about the state of DevOps at Microsoft - including some important changes! The conversation starts out talking about the latest tooling making it easier than ever to get a great automated pipeline of continuous delivery. But that's not enough, there's a cultural shift that has to happen also. Donovan talks about how IT folks can resist the changes that come with rapid deployment, and Richard argues back about how IT roles struggle - the solution is to create common goals around value to the customer. Meantime, there's big news at Microsoft - Visual Studio Team Services is becoming Azure DevOps, and opening the door to a more diverse way to rub more DevOps on everything you do!
The Internet of Things keeps evolving! Carl and Richard talk to Suz Hinton about her on-going work in the IoT space, including joining Microsoft! It's been five years since Suz created the MeowShoes, and the combination of Moore's Law and the Cloud has made IoT more powerful and less expensive at the same time. Suz talks about coding in JavaScript via NodeJS to deploy code to all sorts of devices, along the way mentioning that operating systems just don't matter much, these days you can program what you want with whatever you want. Security continues to be a key issue, but things are looking up with smart ecosystems like Azure Sphere on the way. More IoT FTW!
How do you protect the source code you ship in your applications? Carl and Richard talk to Gabriel Torok, who has led PreEmptive Software for years and has provided code obsfuscation for .NET since the very beginning - for free! Today it's not enough to conceal your code, as Gabe says, it's about tamper-proofing. Not just to keep your code from being stolen, but to stop hackers from stealing data and exploiting your applications. With GDPR and other regulations, your responsibilities to protect your applications are growing - so check it out!
The Redux Dance Craze is on! Carl and Richard talk to Ward Bell about how Redux has becoming a key player in state management for UX stacks in modern Single Page Application development. Although Redux was originally a library to support the React component model, today there are implementations of Redux for almost any Javascript UI solution - including Angular! Ward talks about how Redux and reactive architecture makes a cleaner, tidier and more maintainable UI solution. And lots of great side conversations about various aspects of web development along the way!
Migrating .NET applications to .NET Core? The Windows Compatibility Pack can help! Carl and Richard talk to Immo Landwerth about the Windows Compatibility Pack, which is a NuGet package of NuGet packages to fill in over 20,000 APIs that aren't part of .NET Core. The goal, as Immo explains, is to make it easier for developers to deal with migration, by having more parts of the framework included. But you likely don't need them all, so breaking them down into separate packages makes them easy to remove also!
How should developers get started with Azure? Carl and Richard talk to Adam Cogan about his nine knights of Azure - in order, a set of services in Azure that developers should start with. Right off the bat, Adam suggests staying clear of the fancy cloud techs like containers and serverless. Start simple with Azure Web Apps, then start working on continuous integration and deployment. There are a ton of moving parts in Azure, and Adam has a great plan for getting your application and your skills gradually up to speed so that you can take them all on!
Xamarin keeps evolving - are you using the latest? Carl and Richard talk to James Montemagno about his on-going work making life easier for Xamarin developers. The conversation starts out referencing a comment from a listener about the code-compile-deploy time and what it takes to get going faster. James discusses the work Xamarin has done working with the different emulators out there to make things go faster and work in more configurations. And then it's on to Xamarin Essentials - combining all your favorite Xamarin plugins into one easy-to-install-and-manage package!
How are applications being built for Hololens? While on the Modern Web Tour in Munich, Richard chatted with Jimmy Engstrom about his work building software for Hololens. The conversation starts out with the frustration over the lack of new hardware on the Hololens front - but with hope for something new soon! Jimmy runs down a variety of different programming methods for Hololens, the most popular of which is Unity - and not just for writing games!
Back at the beginning of WPF, before Silverlight, there was MVVM Light. While on the Modern Web Tour in Zurich, Richard sat down with Laurent Bugnion to talk about his work creating the open source toolkit that helped developers build cross-platform applications using the Model View View-Model pattern. Laurent's story crosses much of the story of XAML itself, from WPF to Silverlight to Windows Phone and Xamarin Forms!
So many ways to build mobile apps - what works best for you? Carl and Richard talk to Matt Netkow about the past, present and future of PhoneGap and how the Progressive Web App is playing in the mobile dev world. Matt talks about the many JavaScript-based solutions for mobile cross-platform development including PhoneGap, Cordova, NativeScript and Ionic. But with Progressive Web Apps being supported by browsers on mobile devices, could you just be writing native Javascript for your web app? Lots of good discussion!
It's 2018, do you know where your C++ is? Carl and Richard talk to Kate Gregory about the resurgence she sees in C++ - but why? Kate talks about a number of factors, including the fact that C++ itself has evolved, the latest standard is from 2017 and there are plans for a 2020 edition! Anywhere that performance and resources are at a premium, C++ is there - you see it in embedded systems, all kinds of drivers and production code that cares how fast things go. There are lots of new developers on lots of new projects in the C++ world, check it out!
GraphQL continues to evolve - should it be in your toolbox? Carl and Richard talk to Cory House about how he's been working with GraphQL. Cory talks about how he appreciates the lack of ceremony around GraphQL and it's strengths in dealing with a diversity of clients and bandwidth availability. Comparisons with oData are inevitable, and the jury is kind of out on it - both technologies are viable. GraphQL has a great ecosystem growing up around it, and is well worth a look if you need web-callable APIs!
Azure loves Node! Carl and Richard talk to John Papa about running JavaScript on the server side, in the cloud and otherwise. John talks about the tooling around doing web development in Azure, including the Azure CLI and more. The conversation also digs into the client side of development with VS Code and the huge array of extensions available that allow you to personalize and automate your development experience - the right tooling makes all the difference!
Time for a chat with the leader of C#! Carl and Richard talk to Mads Torgersen about where C# has been and where it's going. Mads discusses some of the ideas being explored for what will become C# 8, including the on-going experiments with nullable reference types. The conversation dives into how language features are developed, the challenge of dealing with a huge diversity of developers in C# of varying skill levels and community engagement. Mads loves his role, and C# is better for it!
Serverless technology can extend your applications! Carl and Richard talk to Glenn Block about his work at Auth0 and building out WebHooks. Glenn talks about taking WebHooks to the next level with Extend, providing a SaaS offering for extensibility into other SaaS applications. This leads to a conversation about the architecture of extensibility in the cloud - rather than building a ton of features, let your customers extend your software the way they want!
Want to extend Visual Studio? Carl and Richard talk to Mads Kristensen about what its like to build Visual Studio extensions - and how he's now responsible for helping others build extensions too! Mads is the person behind Web Essentials, which used to be a big stand-alone download. Today it's a bunch of Visual Studio extensions. Today Mads is a program manager for Visual Studio extensions, and wants to help YOU be successful at building them too!
.NET Core in Action! Carl and Richard talk to Dustin Metzgar about his new Manning book, .NET Core in Action. Dustin talks about the challenge of writing faster than the .NET team can ship code - how do you get a book done? The conversation also digs into effective strategies for working with .NET Core, the kind of tooling you care about, approaches to debugging, internationalization and more!
Put machine learning into your .NET app! Carl and Richard talk to John Alexander about ML.NET - a set of libraries that Microsoft has been using internally for years, now available for you as a NuGet package that you can add to your application pretty painlessly. The conversation dives into what sorts of machine learning tasks make sense for ML.NET and your application, and there are a ton. From sentiment analysis to pricing prediction, machine learning has a ton of possibilities. ML.NET provides a .NET friendly layer over top of a number of machine learning technologies!
The .NET Framework continues to evolve! Carl and Richard talk to Kathleen Dollard about her work at Microsoft - helping to provide tooling and new features for maintaining existing applications and creating new ones. Kathleen is also responsible for Visual Basic .NET, and talks about how it's being maintained based on the needs of VB.NET developers - stability is a focus! The upcoming Core 3 offers some interesting opportunities for existing applications to get new features, and Kathleen talks about how the team will integrate the new features. The framework continues to evolve!
Microsoft acquires GitHub! What does this mean? Carl and Richard talk to Phil Haack about what's going to change and what isn't - starting with, at least for the foreseeable future, Phil is not a Microsoft employee! GitHub is going to be a wholly owned subsidiary of Microsoft, operated independently. But having Microsoft resources available does open some interesting doors - Phil talks about the vast amount of resources that Microsoft has to move quickly on cool features and projects around the open source world!
Where has Uno been all your life? Carl and Richard talk to Francois Tanguay and Jerome Laban about Uno - the open source cross-platform UX library based on the Microsoft Universal Windows Platform (UWP) - the other flavor of XAML! Francois and Jerome talk about using various versions of Uno the past four years to build cross-platform applications for Windows, Android and iOS - more than 200 of them! Now they have implemented a web assembly version as an experiment and are open sourcing the framework to broaden the community and explore more UX ideas - check it out!
C# is not done - there's more to come! Carl and Richard talk to Mark Michaelis about his work on Essential C# 7 which digs into the new bits in the 7.x version of C# - which is cool, but so is the conversation around what happened at the Build event and how that is reflected in C#. Mark talks about the new language features in C#, even going into some things that should appear in version 8 to deal with modern programming problems. And then there's Core 3 - what will it mean to have WPF and WinForms? Could they be cross-platform? Should they be? Lots of good thinking!
Azure is good - but tooling makes it great! While at Build in Seattle, Carl and Richard talked to Paul Yuknewicz and Andrew Hall about the latest tools available in Visual Studio for developers wanting to get the most out of Azure. The conversation starts out with a response to a listener about debugging services in Azure - the challenge of following an execution path through your software and the various service offerings of Azure that your application might depend on to understand where problems lie. Then a dive into the new bits - new container support, tooling around Kubernetes and more!
More news from Build - the release of Visual Studio for the Mac 7.5! Carl and Richard talk to Mikayla Hutchinson about the latest features coming for the former Xamarin product. The biggest news is support for Razor, JavaScript and TypeScript intellisense, which sounds simple, but involves a ton of changes and makes VS for Mac more than just that mobile development tool. There's plenty of improvements in the mobile dev space too, and the first steps to integrating with VSTS!
.NET Core is fast, but does how you write code in .NET Core help with performance? Carl and Richard talk to Ben Watson about the 2nd Edition of his HIgh Performance .NET Code book. The original edition came out in 2014 when .NET Core was just beginning (ASync/Await were brand new too!) and so an update is welcome. Ben explains that there is no one right way to write high performing code, every implementation is on a case-by-case basis. You need to benchmark and instrument to understand where bottlenecks are, then measure performance carefully before you start trying to improve. But there are a bunch of options available to improve performance!
MFractor grows up! Carl and Richard talk to Matthew Robbins about the progress he's made over the past 18 months (since his last show) on MFractor - now an extension for Visual Studio for the Mac to make building mobile applications with Xamarin easier. Matt talks about improving the mobile development cycle - the time it takes from writing code on your PC to it running on your smartphone, and recognizing that it's not just about compile and transfer times. It's also image sizing and copying, catching errors early and more - things that can be done while writing code!
Fresh from Build (actually recorded before Build) - a new version of .NET Core! Carl and Richard talk to Scott Hunter about the announcement of .NET Core 3. Scott leads off with a conversation around .NET Core 2.1, now a release candidate at Build. And then the big news, the next version of Core bringing love to the desktop side, at least for Windows. Versions of WinForms and WPF run against Core. It's a separate package because it's not cross-platform, but it certainly brings new Windows desktop development to Core! Check out the build.microsoft.com site for video on Core 3!
How do you build your web UI? Carl and Richard talk to Frank Krueger about his work on Ooui (pronounced whee), an open source project for implementing a Xamarin-forms like UI experience to the browser. The result is pretty amazing, including a web-based XAML editor that all runs in the browser... super fast! Frank talks about his experiences building code that runs with WebAssembly and the challenges of thinking through new UI experiences. The challenge is the variations in implementation - is XAML destined to fragment further, or can they all come together?
Blazor is getting some buzz, but is it really useful? Carl and Richard talk to Rocky Lhotka about his thoughts around how Blazor uses WebAssembly (WASM) to let C# run on the browser - and what that means for client-side development, both web-based and regular desktop client. Rocky talks about how WASM is an equal-opportunity feature for all sorts of languages, and covering the four big browsers: Chrome, Edge, Firefox and Safari. Could the future of enterprise apps be all in the browser? Between Progressive Web Apps and WASM, this might be the way forward!
What does it mean to have clean architecture? Carl and Richard talk to Steve Smith about his work on an e-book and template for clean architecture using ASP.NET Core. Steve describes the new tools that make life easier for following clean architectural principals as well as the separation of concerns, between business logic, infrastructure, and clients. The conversation also digs into Domain Driven Design, Test Driven Development and the ever popular Pain Driven Development. Great, common-sense thinking from Steve Smith!
Test Driven Development (TDD), good idea in theory, but in practice? Carl and Richard talk to John Callaway and Clayton Hunt about their success with TDD. At it's simplest level, TDD is about writing tests first, before coding. In practice, everything is more complicated than that. Writing testable code isn't as simple as it seems, and refactoring existing code to become testable can cause it to break - which is why you wanted tests in the first place. John and Clayton talk through their experiences getting things right and exploring the advantages that TDD brings - more reliable software that sustains for longer and can continue to evolve!
How do you do desktop deployment? Carl and Richard talk to Paul Betts about the open source project called Squirrel, which is all about making desktop deployment less painful. As Paul says, like ClickOnce, only doesn't suck! This leads to a discussion about the various installation tools out there and what they focus on. Paul talks about what makes Squirrel different - providing the tooling to make it easier for a developer to provide unobtrusive updating of applications - as in, not when they start up!
How productive are you with Visual Studio? Carl and Richard chat with Kasey Uhlenhuth about her work making Visual Studio even more productive for developers. The conversation focuses on the huge array of features that Visual Studio has, to support all sorts of different styles of programming. Kasey talks about balancing the needs of developers - some want lots of support and hints from Visual Studio, and some want it to just get out of the way while they program. There are a ton of options, you just have to discover them. Kasey points out a productivity guide that she has helped create to help you take advantage of the power of Visual Studio - check out the link in the show notes!
How do you do concurrency? Carl and Richard talk to Riccardo Terrell about his new book on concurrency in .NET. More than just ASync and AWait, there are still a ton of concurrency options available in .NET, you just need to know when and where to apply them. The conversation ranges over a bunch of different technologies, including a lot of discussion on functional programming as a whole, since it lends itself to concurrency far better. But you don't have to use F# to write functional code! Riccardo talks through a number of strategies for deciding when concurrency makes sense and how to do it safely.
What is coming up for .NET Core? Carl and Richard talk to Scott Hunter, who leads all of .NET at Microsoft, about the road ahead for .NET Core. But first, a quick look back at where .NET has come from, including a discussion around performance and the impact of the Meltdown and Spectre CPU security flaws impacting performance across the board. Then into a huge raft of features coming up in the next year in .NET Core, including compilation and performance enhancements, as well as some old favorites like lazy loading in EF Core and SignalR!
How do you know how your software is working? While at NDC in London, Carl and Richard talk to Jessica White about her experience building dashboards to instrument operations, management and development. The conversation dives into what needs to be measured as well as how to represent those measurements in ways that help people understand - do it wrong and you can actually confuse people, or have your dashboard ignored. Jessica talks about how dashboards have to evolve with business needs. With new goals come new metrics and new dashboards to show those metrics. Your dashboard is no more static than your business is!
Modern software development is complex, how do you teach it to beginners? While at NDC in London, Carl and Richard sat down with Maria Naggaga to talk about her approaches to teaching software development, both to children and adults, from the very beginning. Maria talks about using more approachable cause-and-effect type tools at the beginning to learn about procedural programming, and how the latest bits actually allow you to take that code forward into more advanced tools. Interactive documentation and minimal installation requirements are also important - check out Try .NET!
C# continues to evolve - there's more to learn! While at NDC in London, Carl and Richard talk to Jon Skeet and Bill Wagner about their on-going work on C#. For Bill, he's now part of the docs team helping people understand C#, and for Jon, it's his contributions via GitHub to ideas and features for C#. Both write great books and talk about the challenge of how C# is evolving as open source and in public. What features matter, and where does it all lead to? Will C# ever be finished, or is this an endless process? Is it getting easier to develop with C# or more complex? Great thoughts from two of the nicest thinkers on C#!
What if you could program in C# in your browser? Carl and Richard talk to Daniel Roth and Steve Sanderson about the evolution of Blazor - Steve Sanderson's amazing project using WebAssembly to put .NET In the browser. The big news is that Blazor is moving from a Sanderson research project into the ASP.NET GitHub repository - the team is going to work on it! Still experimental, the Microsoft team is keen to see what all of us will do with Blazor. If you want a C# experience end-to-end in web development, you need to check it out!
Another year goes by, time for an identity update! While at NDC in London, Carl and Richard talk to Dom and Brock about the latest updates to IdentityServer. A key aspect of the past year was two versions of .NET Core - both 1.1 and 2.0. Dom and Brock talk through all the twists and turns that it takes to keep IdentityServer up to date with the latest .NET Core pieces. So what about authentication? The conversation turns to the new PolicyServer available as both an open source and a retail product version. Identity continues to evolve!
Progressive Web Apps (PWAs) are here, and Chris Love has some thoughts! Carl and Richard talk to Chris about his view on PWAs and their impact on building great web applications. Chris talks about the power of service workers to increase the performance of a web application through pre-loading of caching, tolerating unreliable connections, even cool event features that allow web apps to light up when they are needed, especially in a mobile scenario. Graceful degradation of features means that you build to the ideal browser, but tolerate versions that don't have comprehensive support for all PWA features. And check out Chris' offer for a PWA Course, special to .NET Rocks listeners!
A new year, and new features for ASP.NET! Carl and Richard kick off the new year by talking to Jeff Fritz about his on-going work on ASP.NET - both the framework and core editions. The conversation naturally turns to web forms, the big exclusion from the core edition, but new features continue to be released in .NET Framework 4.7.1. Jeff talks about what modern development looks like for ASP.NET web forms, and the power of continued support for existing web applications, while providing approaches for adding new capabilities like mobile development and more. It's going to be an exciting 2018!
Mobile development continues to evolve in the Xamarin world! Carl and Richard talk to James Montemagno about the latest features coming out of the Xamarin team to make developing cross-platform native applications faster and easier. James digs into the new Xamarin Live tools that show your Xamarin app on your device with edit-and-continue capabilities. As you modify your Xamarin Forms code, the changes are immediately reflected in the device. This shortens the code-deploy-debug cycle so you can get more done in less time. The conversation also turns to XAML Standard and the challenges around bringing UWP, WPF and Xamarin Forms teams together to a common specification. James wraps up with a discussion on .NET embedding, letting you put your favorite .NET code into libraries that can be consumed by Objective-C, Swift and Java codebases!
Last show before Christmas - time for some rants! Carl and Richard talk to Billy Hollis about his frustrations around UX design. And Billy starts out talking about the complete lack of UX design he finds in many applications. The conversation digs into the differences between visual design and interactive design, where the interactive part is harder, but ultimately more valuable. Billy also discusses the costs around poor design and ultimately, poor quality software. Cloud and internet have made it easy to update software, but pushing bad software on your customers is never a good idea. Can you see the impact? Lots of great thinking as usual from Billy!
The new version of DotVMM is imminent! Carl and Richard talk to Tomáš Herceg about his on-going effort to build a great framework for creating web applications and migration paths away from web forms and other web pages bound to the .NET Framework over to .NET Core. Tomáš discusses the new features coming in the latest version and his solutions to various problems around building web pages where the JavaScript is taken care of. And everything is open source - you have the code, modify it as you will! There are commercial versions available as well if you want to support this great set of tools!
Developing in Salesforce? What's that about? Carl and Richard talk to Jay Janarthanan about the kinds of software being built today against the Force infrastructure that runs the Salesforce CRM SaaS product - and so much more! Jay talks about why you would want to do extensions to Salesforce, and how in the past few years enterprises have been building entire applications with the Force tools and infrastructure. The language of Force is Apex, and Jay is building an open source project called ApexSharp to let C# programmers use their favorite tools to build Salesforce applications. Check it out!
What does it take to implement a DevOps practice at Microsoft? While at Connect in New York, Carl and Richard talked to Lori Lamkin about the efforts of the VSTS team to deliver more value to customers faster. Lori talks about changing the tempo of deployment for TFS from 24 months to three weeks and the re-organization of the teams so that developers are responsible for features from conception to operations. The role of operations also evolves to one that focuses on monitoring, rather than deployment - it's a lot of change, but worth it!
Show 1500! What better to celebrate another aught-aught milestone of .NET Rocks than a look back. Richard has been working on writing a book on the History of .NET (maybe Christmas 2018?) but to celebrate a milestone show, he dives into the topic with Carl. .NET has had a lot of twists and turns through the years and .NET Rocks has been there the whole time - throughout the conversation, there are opportunities to point to specific shows that represent part of that history. Here's to another 1500 show and 15 years of .NET!
Ready for some AI tooling? While at Connect in New York, Carl and Richard sat down with Paige Bailey and Seth Juarez to talk about the newly announced Visual Studio Tools for AI. The conversation starts out talking about what we really mean by Artificial Intelligence, focusing on machine learning and deep learning. There are a variety of tools out there to make building the models of AI easier, and the Visual Studio Tools for AI bring all those tools together into one working environment. Tons of cool links below, check them out!
Where has Visual Studio come from and where is it going? While at Connect in New York, Carl and Richard sat down with Connect owner/organizer Mitra Azizirad to talk about her show and long career at Microsoft. Mitra comes from a technical world but moved into developer marketing - and she's a huge fan of developers! Lots of interesting historical references about Visual Studio and more!
Visual Studio Team Services continues to evolve! While at Connect in New York, Carl and Richard chatted with Brian Harry about the latest set of features coming out of the VSTS team. Brian talks about how Microsoft has been eating its own dog food and using VSTS everywhere, even with the development of Windows. Discussions also dig into the challenges of moving so fast with so many developers, managing testing at speed and more!
Ready to use GitHub beyond your browser? Carl and Richard talk to Phil Haack about his latest work at GitHub, where they are focused on expanding the audience that can rely on GitHub for social coding of all types. The discussion starts out focused on the rewrite of GitHub Desktop to Electron and the impact that has had for maintainability of code, and then moves to the latest work done to support game development in GitHub, specifically for Unity developers. Game development involves large digital assets like 3D models, movies and music - not the usual fodder for a Git repository. But Phil's team has build stuff to make life easier - check it out!
No anti-patterns this time - Steve is talking patterns! Carl and Richard chat with Steve Smith about various development patterns that can help you build software that is more reliable, scalable and robust. While Steve is famous for his anti-pattern calendars, this time around he's discussing a number of excellent patterns that are becoming more prevalent in the .NET development world, including the Builder pattern (which .NET Core relies on), Null Object Pattern, Strategy and Rules Patterns and more! If an hour isn't enough, check out Steve's books and Pluralsight videos!
Ready to experiment with containers? Carl and Richard talk to Kendra Havens about the on-going integration of container technology into Windows, Visual Studio and .NET. Kendra talks about moving existing applications into Docker containers, and how even when the underlying operating system is large (say, Windows), you only need to download it once to use it across any number of container instances. There's great tooling for Docker support in Visual Studio and VS Code, so you can use Docker the way you want to. And Microsoft uses containers extensively internally as well, so the tooling just keeps getting better!
How does Microsoft make Visual Studio Team Services? With Visual Studio Team Services! While at Ignite in Orlando, Carl and Richard sat down with Dan Hellem and Rogan Ferguson to talk about their work in the VSTS team building and deploying features on a three-week cycle. The discussion dives into the agile practices that the different teams use and how they come together to get new versions out on a regular basis as part of the Software-as-a-Service offering of VSTS. Great conversation about keeping developers productive!
Ready for a different vue on web pages? Carl and Richard talk to Shawn Wildermuth about his experiences with vueJS. The conversation starts out with a discussion about the endless range of JavaScript frameworks - do we need another one? Shawn compares his experiences with Angular, React and vue. They all have strengths and weaknesses, the question is, what is important to you when building websites?
Git for everyone! While at Ignite in Orlando, Carl and Richard talked to Ed Thomson and Dmitry Lyalin about the latest updates to Visual Studio Team Services that includes deep integration with Git - not just GitHub, but Git the repository technology. The conversation digs into the commitment Microsoft has to contributing to open source projects including Git itself - including moving Windows into the world's largest Git repository, a whole 300GB of source code! Git has penetrated deeply into Microsoft, is it the right choice for your projects?
.NET Core 2 is shipped - what comes next? While at Ignite in Orlando, Carl and Richard chatted with Scott Hunter about life after shipping .NET Core 2. The conversation ranges over what the .NET Standard really means, and the fact that there are no immediate plans to declare new standards - there's no need! Scott also talks about XAML Standard and hints at some interesting futures for WinForms and traditional client apps. .NET continues to evolve!
Why should open source developers consider the Microsoft stack? While at ProgNet in London, Carl and Richard sat down with Dylan Beattie to talk about his experiences working with developers that have written lots of code, but not in the Microsoft world. The conversation starts out focused more on the ongoing evolution of the Microsoft Stack with the recent release of Core 2 and the evolving ability to do mobile development. Dylan talks about .NET no longer being about Windows, but rather available to whatever platform you care about: OS/X, Linux, iOS, Android... what matters to you?
Core 2 is out, and with it, Entity Framework Core 2! While at ProgNet in London, Carl and Richard chatted with Julie Lerman about the latest version of Entity Framework Core. Julie talks about what's in, what's out and what's different - and it's a lot. The discussion digs into why you would use EF Core, including cases where you would use it with the regular Framework, not just with .NET Core. The team has taken the opportunity to do things differently, based on learnings from the original Entity Framework, giving EF Core some unique features and a pretty cool future. EF Core has more to come!
How would you make presentations better? While at ProgNet in London, Carl and Richard talked to Mark Rendle about his efforts to build a tool to make presentations more social - he calls it Shtik! The idea is to provide a cross-platform presentation tool using HTML so that it works on any platform (hence .NET Core) but also provides ways for the attendees to take notes and send feedback in real time. This opens the door to having the attendees of a presentation help direct it, offering a very different type of talk. It's early days, but everything is open source and Mark is looking for some help, so take Shtik out for a spin!
How do you diagnose problems in your applications? While at ProgNet in London, Carl and Richard sat down with Jon Skeet to talk through how he does diagnostics and understanding bugs. The conversation starts out with a discussion around a comment that Richard read about writing great Stack Overflow questions by breaking down the problem into the smallest possible reproducible version. Jon talks about humility and diversity as cultural aspects in development teams that leads to better diagnostics and sharing. In the end, it's not the tech, it's the people that solve problems!
.NET Core 2 is out - are you ready to migrate? Carl and Richard talk to Jeremy Likness about his experiences migrating his own projects over to Core 2 from .NET Framework. The latest version of Core has the vast majority of the base class libraries from the original framework implemented. Jeremy talks about his open source project called Sterling that hails back from the Silverlight days as a NoSQL data store. And it migrated fine! The conversation dives into other aspects beyond being cross platform, including performance benefits and what new technologies are on the horizon that may be Core-only. It's a great time to kick the tires on Core!
Struggling to get started with Universal Windows Platform applications? Carl and Richard talk to Clint Rutkas about the Windows Template Studio (WTS). WTS was first released into the Studio marketplace at Build in 2017 and has been updating every six weeks or so - with lots of community contributions. Clint talks about striking the right balance between generating code automatically that demonstrates best practices and getting in the way of you writing your own code - it's never simple, but when done right, hugely powerful. WTS is an open source project on GitHub, you can contribute to it as well!
New to ASP.NET Core 2 is Razor Pages - how is it different from Razor? Carl and Richard talk to Jess Chadwick about how Razor Pages takes Razor to the next level, getting away from traditional MVC (which is a funny thing to say) and into a more flexible model with a simpler code-behind approach. Jess talks about how this approach often ends up more closely coupled, but in a lot of cases, that's just fine. The different techniques are not mutually exclusive, you can mix-and-match as needed. This leads to a great conversation about state management, server-side rendering and more - web development continues to evolve!
Ready to try on F#? While at NDC Oslo, Carl and Richard chatted with Scott Wlaschin about what C# developers need to know to get started with F#. Scott talks a bit about his own history with development which ties in with the evolution of functional programming which in a way lost out to object-oriented programming back in the 1980s. Not that the two approaches are mutually exclusive, and Scott discusses how objects and functions live happily together in F#. It's a different way of thinking, but can be a very productive way to build applications - check it out!
How does security work in ASP.NET Core? Barry Dorrans knows, he's writing it! While at NDC Oslo, Carl and Richard sat down with Barry to talk about all his work in the security space at Microsoft. As Barry says, .NET Core represented a unique opportunity to reboot how security works on the web for the Microsoft stack, and he tried to do right by us all. Nothing is ever simple as you want it to be, especially when it comes to security, but there are good things available today if you spend some time to understand them. And a little scotch doesn't hurt either!
How do you make your applications accessible to everyone? Carl and Richard talk to Elle Waters about her working building applications for the visually and hearing impaired, on all sorts of platforms. The web dominates the discussions since so much can be built there. Elle talks about the array of tools that users have to help them understand a web page through audio, even touch solutions using braille! You can make your applications work well with these tools, but it takes empathy, effort and lots of testing.
How can ETW help you? While at NDC in Oslo, Carl and Richard talked to Dina Goldshtein about her work instrumenting applications. This leads to a conversation about Event Tracing for Windows, which Dina uses primarily to take measurements of different applications running on Windows machines - but you can have your app add to the ETW stream as well. Monitoring, profiling and debugging are all different tasks that can take advantage of the data provided by ETW, it depends on your needs at the time. Lots of discussion on the impact of measuring as well - nothing is free!
Is there more to logging? Yes! While at NDC in Oslo, Carl and Richard talked to Nicholas Blumhardt about his long running logging project called Serilog. Calling back to the earlier .NET Rocks episode on Serilog (2014!), Nicholas talks about how logging is one of those 'bicycle shed' problems - it looks simple on the surface, but the deeper you go, the more you find complexity that needs to be managed well. Don't do it yourself, use a great library like Serilog! The core implementation is simple, but a great abstraction allows you to push those logs wherever you need them, whether that be text files, databases or the huge diversity of existing log tracking.
MS Build is cooler than you think! While at NDC Oslo, Carl and Richard sat down with Daniel Plaisted to talk about the latest version of MS Build. But first, a quick conversation about the situation around the reversion back from project files using JSON rather than the traditional XML-driven MS Build files. The good news is that more of what made the JSON project files great is showing up in the MS Build files! The conversation also digs into building complex pipelines for MS Build and more importantly - how to debug them! Structured logging to the rescue!
It's summer in the northern hemisphere, are you ready to get hacking? Carl and Richard chat with the new executive director of the .NET Foundation, Jon Galloway. The conversation starts out talking about the Foundation itself, why it exists and what it does for the .NET open source community as a whole. The Foundation is where .NET Core, C# and more all live, as well as many awesome third party projects. Then to the Summer Hackfest, where the Foundation is providing support to get developers working on open source projects - if you've got one in mind, check out the links below and make a submission!
Core 2 is coming - are you ready? While at NDC Oslo, Carl and Richard talked to the amazing duo of Damian Edwards and David Fowler about the rapidly approaching release of Core 2. Expectations are huge, but Damian and David are confident that Core 2 will deliver. The conversation dives into the meta side of software development - what didn't make it into Core 2, what had to be pushed to the next version, and what will have to be added at the last minute. Lots of laughs and enthusiasm as the open source reality of .NET is coming true!
The father of C# and TypeScript drops by for a visit! While at Build in Seattle, Carl and Richard talked to the one-and-only Anders Hejlsberg about his work on C# and more recently, TypeScript. Anders in his inevitable style talks through why languages work the way they do, the evolution of both C# and JavaScript, and the role that TypeScript has to play in making web development a better place. Great words from the legend!
How are containers coming along in the Windows world? Carl and Richard talk to Steve Lasker about his work making containers easy to use from within Visual Studio. Most work on containers has been around Linux, but when Windows Server 2016 shipped, Windows containers became real. Should you be using containers in your all-Windows world? Steve talks about the advantages and challenges, it's not all simple, but it is very powerful and worth a look!
After years of waning, .NET is on the rise - is it time for a renaissance? Ian Cooper says yes! The first of the NDC Oslo shows for 2017 starts out focused on a blog post that Ian published in February 2017 calling for a .NET Renaissance, and what it takes for it to come true. The move to open source has helped a lot, as it opens the door to what people really look for in a thriving community - rather than being a product created by Microsoft, it is a set of tools supporting by Microsoft but with direct community involvement. There's a lot going right, it's time for a renaissance!
Ready to get fluent? While at the Build conference in Seattle, Carl and Richard talked to James Clarke about the Fluent Design System. Fluent represents the next generation of Windows UI elements, as part of the continuous updating process that Windows 10 is under going these days. James talks about how you can start to experiment with the latest Fluent bits and provide feedback directly to the team as the features evolve. Microsoft is implementing Fluent against Windows and the Microsoft Store, and you can be part of those experiments too - check it out!
What's up with .NET Standard and the new XAML Standard? While at Build in Seattle, Carl and Richard chatted with Mike Harsh and Joe Stegman about the importance of the new standards and how they will affect .NET development going forward. As Mike and Joe explain, the focus is on making sure that the different versions of .NET (and XAML) that are out there today converge on a common standard. This will make it easier for tool vendors to build tools that work everywhere, and for developers to be able to write code that runs across platforms. It's going to take some time, but standards should make our lives better!
Is Silverlight back? Carl and Richard talk to Steve Sanderson about a demo he did at NDC Oslo that blew some minds. The demo involved using WebAssembly to put a version of the .NET Runtime and C# into the browser. Yes, that's right, Steve found a way to write C# that runs in the browser with NO PLUGIN. It's only an experiment, and there's no XAML to be found, so it's not really Silverlight, but it certainly gets you thinking - what if you could run any language you wanted in the browser? What would your world be like then?
More analysis from Build - during Build! While at Build in Seattle, Carl and Richard talked to Holger Mueller about his impressions of the show, shortly after the first keynote. Holger runs the gamut, talking about .NET Core, Visual Studio 2017, Azure, DevOps, Containers and more. A lot happened at Build, here's a view from the early point in the event itself!
What happened at Build? Lots! Carl and Richard talk to Rocky Lhotka about his impressions around the various announcements at Build. The conversation ranges over how this Build was somewhat different from others - perhaps more aspirational? Topics covered included the amazing AI/vision system demos that were exciting and frightening at the same time, as well as the XAML and .NET Standards, Hololens, VR, Project Rome and more! So much happened at Build!
What can Azure functions do for you? Carl and Richard talk to Yochay Kiriaty about his work creating Azure Functions as part of the App Service Platform for Azure. Azure Functions get you focused on just building code, there is no virtual machine, no operating system and a minimal hosting environment. But that doesn't mean that they're simple. Yochay talks about the need to architect effectively for Azure Functions - you can get yourself in a corner where Azure Functions can't save you. But if you keep your Azure Functions lean and stateless, this is the most dynamic, fastest scaling cloud service you can imagine!
Is Angular ready for the enterprise? Carl and Richard talk to John Papa about the latest version of Angular and it's applicability in every day enterprise development. John discusses how the fast-moving updates of open source projects are a challenge for enterprise developers and the solutions available - you don't have to always use the latest bits! The role of the cloud (specifically Azure) is also explored, and John talks about Azure Functions as a great way to build server-side elements of your application quickly and painlessly, without a lot of ceremony and provisioning. And if you think that's cool, you want to come to AngularMix, Oct 10-12 at Universal Studios in Orlando, Florida!
Azure with no servers? Carl and Richard talk to Jeff Hollan about Azure's Serverless offerings. The idea is to stop worrying about virtual machines and operating systems and focus on the stuff you really need. Jeff talks about Logic Apps, which provide workflow and connectors between your code and a ton of other services, some coming from Azure and many coming from other service providers. Credentials for the services are kept in the Azure Key Vault rather than your code (or in the heads of your users), and there's some great instrumentation to understand what's going on. Is Serverless the future of the Cloud?
Angular or Aurelia? Carl and Richard talk to Brian Noyes about his experience building Single Page Application (SPA) style web sites using Angular and Aurelia. No, not both at the same time, but separately. Angular is all the rage these days, but Brian talks about the confusion around Angular caused by the breaking changes from 1.x to 2.x, the skipping of 3 and now settling on Angular 4. The discussion also digs into convention-over-configuration, Brian identifying Aurelia as a convention-driven framework, which leads to less code, but you have to understand how it wants to work. Lots of links in the show notes for tools and opinion pieces, take a look!
You can make a game in Xamarin Forms? Yes! Carl and Richard talk to Jonathan Peppers about his latest work on NBA Life, a role-playing game for iOS and Android built with Xamarin Forms. Jonathan talks about the process they went through to decide on this particular architecture for the game, having done prototyping with Unity and Xamarin Native. The conversation also digs into the back end using Azure Service Fabric and it's Actor Model support - yes, everything is an actor! Lots of discussion around testing, deployment, crash handling and dealing with app stores. Building mobile games isn't always a pure native experience - you have choices!
C# 7 and Visual Studio 2017 are shipped - now what? Carl and Richard talk to Kathleen Dollard about her experiences working with folks that are trying to dig into the latest version of Microsoft development tools. Kathleen talks about the various approaches she's taken to teaching both C# and effective use of Visual Studio, there are so many little things to know, it's hard to take it all in. The conversation dives deep into understanding async and await so that you actually get real benefit from them - it's not a simple thing to do right!
The whirlwind of DevOps is back! Carl and Richard talk to Donovan Brown about his on-going mission to get everyone into a DevOps practice - in fact, he talks about getting to a place where continuous delivery and monitoring are just the way you make software. Donovan talks about a session he has been giving where he creates four different delivery pipelines in an hour, with different programming languages, platforms, testing and deployment tools. And if he can make four in an hour, there's really no reason anyone can't build one pipeline in an afternoon. The conversation ranges over a spectrum of DevOps topics, including testing and monitoring - it's easier than ever to rub some DevOps on it!
What does it take to build great multi-tenant apps on the cloud? Carl and Richard talk to Joe Audette about his set of open source tools called cloudscribe to make multi-tenant apps easier to implement. The conversation starts out with managing IdentityServer, the great open source library for handling single-sign-on across multiple applications. Cloudscribe helps you manage the sites, users, roles and claims for IdentityServer. But there's more to multi-tenancy than just authentication and authorization, and Joe dives into the other elements of the suite to get your multi-tenant app running right!
MVVMCross has grown up! Carl and Richard chat with Martjin van Dijk about his work on MVVMCross. Past guest Stuart Lodge started MVVMCross way back in 2012 when it was focused on building MVVM apps in Silverlight, but today the focus is on Xamarin. Martjin talks about how MVVMCross works with Xamarin forms to make it easier to build, test and debug mobile apps, bringing inversion of control and dependency injection as part of the library. The conversation also turns to navigation being moved to the viewmodel, rather than the view, so you write less code. MVVMCross can be a key part of your mobile app development strategy!
Scripting with C++? Of course! Carl and Richard talk to Jason Turner about ChaiScript, his open source project that simplifies adding C++ as a scripting language to any application, but especially other C++ applications. The conversation turns to how C++ has evolved and some amazing tools available today to help you understand what C++ is doing, right down to the CPU level! Check out the links in the show notes for some of the cool tools that Jason and his associates have built!
Visual Studio on a Mac! Carl and Richard talk to Mikayla Hutchinson who's been with Xamarin since the very beginning, about her work on the preview of Visual Studio for Mac. The product comes from MonoDevelop, which is Xamarin's IDE that runs in Windows, Mac and Linux. Mikayla talks about how Visual Studio for Mac focuses on both the client side of mobile devices and Mac OS as well as the cloud - there are templates included that will generate a basic app for iOS, Android and the back end layer in Azure. It's still in preview, but Visual Studio for Mac looks great!
Ready for another actor framework? Carl and Richard talk to Roger Johansson about his work on proto.actor, and ultra-light-weight, easy to get into actor framework for .NET and Go. The conversation starts out with Akka.NET, the framework that Roger worked on a few years ago, and how it's origins in Java gave it a certain amount of ceremony that Roger thought could be simplified - hence proto.actor! With a focus on speed and simplicity, proto.actor uses libraries like Google's protocol buffers to work with other platforms and libraries well, check it out!
Visual Studio 2017 ships! Carl and Richard talk to Tim Sneath about his role in this version of Studio. Tim talks about speeding installation of Visual Studio by modularizing the various elements so you don't install things you don't need - but it's always easier to add more in! The conversation also digs into the extensibility model that makes it easier to build new features into Studio, and a great marketplace to share and sell them. Studio continues to evolve, the 2017 edition is awesome!
Visual Studio is twenty years old! Carl and Richard chat with Julia Liuson, who has been involved with Visual Studio since its very earliest days in the 90s. Julia talks about how Microsoft decided to build a unified IDE for all its various development products including Visual Basic, C++, FoxPro and their new web development tool, Visual InterDev. But following quickly on from the 1997 edition was .NET and the complete change that it created for Visual Studio. Lots of great stories from someone that has been involved since the beginning - here's to another twenty years of Visual Studio!
How do you evolve your team when it triples in size? Carl and Richard talk to Ryan Stelly about his experiences working at Rally Health when an acquisition grew the development team from eight people to 30. The conversation begins with a look at where they came from, building ASP.NET MVC apps. The new team used Scala and Angular together - how do you move forward? Cross team training, exploring new technologies and a lot of fun leads to React/Redux, a new DevOps stack and a culture that you'd want to be a part of!
Mixed reality is coming! While at NDC in London, Carl and Richard sat down with Jessica Engstrom to talk about her work with virtual reality, augmented reality and mixed reality. And yes, they are all different, with the conversation starting off with definitions of each. Jessica talks about some of the projects she's done using the mapping capabilities of the HoloLens to re-create 3D spaces. There's a new diversity of hardware in the space coming as well, with more vendors making augmented reality solutions and Microsoft opening up the Holographic OS for other vendors to make hardware with. The VR/AR/MR space continues to evolve!
What's the right way to make a Xamarin app? While at NDC in London, Carl and Richard sat down with Gill Cleeren to talk about using the MVVM pattern as part of an overall mobile development stack. As Gill describes, MVVM brings consistency to the plumbing of the mobile app so that you can focus on the important (hard) stuff, getting the UI right, and trying to get as much common code as possible. In the end, the views end up being more device/OS specific, while the model and view-model can be shared. The tooling is complicated, but it is possible to get going fast with mobile development!
The Chuck Norris of C# is back! While at NDC London, Carl and Richard sit down with the indomitable (and always humble) Jon Skeet to talk about what he's been working on in the past year. First up is nodatime, an open source library for doing date, time and timezones correctly. Why is time so hard? Because politics and science! Jon talks about crazy time zone challenges, solutions for leap seconds and more. Next up is Google Cloud Platform which has gone all C# friendly! Jon talks about building C# friendly APIs for various Google services to make it easy as possible for your .NET application to work in Google's cloud. Check it out!
So what's the right way to use ASP.NET Core? There may not be one right way, but there are plenty of opinions, and Scott Allen has some! While at NDC in London, Carl and Richard chat with Scott about his preferences for building ASP.NET Core apps. Scott digs into project organization, keeping projects and folder structures aligned, keeping elements related to features together and more. Many of the defaults around an ASP.NET Core project are arbitrary - you can do things the way you want to do them. The challenge is just putting some thought into it!
How do you rewrite critical code safely? Carl and Richard talk to Phil Haack about his work on Scientist.NET. Phil talks about the challenges of rewriting code, which means taking something that works (more or less) and trying to make it better, at the risk of breaking it. Yes, test suites would help, but who has those on legacy projects? The Scientist library makes it easier for you to build a new version of a function in your legacy application and run it in parallel to the old function, so that you can validate the results in production without breaking anything. The conversation also turns to the value of rewrites, how tooling, techniques and technology have changed to make it more feasible to do major rewrites, and all the other geeky goodness that comes from hanging with Phil Haack. Happy episode 1400!
Are there new C++ programmers, or just old people? Carl and Richard chat with Kate Gregory about her discovery of a whole new generation of C++ programmers, who just haven't had to go through the same pain that the old folks once did. Kate talks about going to cppcon, the premier C++ conference in the world, and seeing packs of young people getting into C++. The good news is that C++ has evolved and the coding techniques are very different than they used to be. Yes, you can still build drivers and embedded systems with C++ and it's still pretty tough, but for regular software development, the new language features make life much more fun - check it out!
Have you seen the new docs for C# (and many other Microsoft products)? Carl and Richard talk to Bill Wagner about his work with Microsoft getting great C# docs together on http://docs.microsoft.com. But first, a conversation about side projects, including Carl's work bringing the Polly library to the .NET Foundation as well as Bill and Richard's work on Humanitarian Toolbox. Then on to the docs - which are fully editable via GitHub, so anyone can help build the docs. Lots of interactive code options, the samples are real (and tested), video, great detailed descriptions and more. What if docs didn't have to suck? Because they don't!
How do you make your website progressive? Carl and Richard talk to Christian Heilmann about the latest approach in web development - the progressive web app (PWA). Christian talks about how PWAs really are progressive - you can add bits of these new capabilities to your existing web sites and see some benefit. It starts with the manifest that helps create an icon on a desktop or smartphone to get access to the website, so your user doesn't have to type the URL anymore. And it goes from there, adding offline capabilities, notifications and more. Different browsers are in different states of implementation with PWAs, but the movement is clear, doing more with web apps!
You need to markdown to make good markup! Carl and Richard talk to Rick Strahl about his work building Markdown Monster, which is a Windows-based editor for creating markdown code that ultimately becomes HTML. Or leave it as markdown, which is a popular format (going back to 2004) for blogs, readme docs in GitHub and more. Rick talks about his experiences putting together a desktop app (WPF!) but still keeping it open source. Pay for it if you use it, but try it for free, or fork it on GitHub! Lots of great conversation about modern development on the desktop, including updates, packaging and so on. You can still make desktop software make sense!
What happens when your college buddy decides later in life that he wants to switch to software development? Carl and Richard talk to Will Gant about his efforts bringing BJ Burns into his organization and apprenticing him as a software developer. What can you build with the earliest set of skills in modern development? How is an apprenticeship different from more traditional schooling? Will and BJ tell the story of how the apprenticeship came to be and where it is today - a great story of becoming a developer!
With the release of Visual Studio 2017 Release Candidate, the truth is out - no more web essentials! Carl and Richard talk to Mads Kristensen about his decision to stop making Web Essentials, but not to stop making all the Web Essentials goodness! Rather than make one big bundle of tools for web developers, Mads has broken down the package into individual add-ins that you can download separately and install. It all comes down to manageability - not everyone wants everything, so now you can pick and choose. Key to managing the add-ins is the Web Extension Pack, that will help you install the components you need. Web Essentials lives on!
What does it take to keep AngularJS moving forward? Carl and Richard talk to Jules Kremer about her work as the head of Angular Developer Relations at Google. Angular started out as an internal library at Google and is widely used all over the organization. But as it's popularity grew, the outside world became interested in it also. Jules talks about learning how the rest of the world uses Angular and the role that played in the significant shift that happened in Angular 2, including the move to TypeScript, becoming more opinionated, and so on. The conversation also goes to the future of Angular, including the focus on Progressive Web Apps and a great set of docs. Oh, and we give away $5000 worth of technology to one lucky member of the .NET Rocks fan club!
Ionic is growing up! Carl and Richard talk to Justin James about his work building mobile apps with Ionic Framework, now at version 2! Justin talks about the tight relationship between Angular and Ionic, including the significant changes from V1 to V2 - mostly due to Angular, but still. As such, Justin recommends sticking with Ionic 1 for existing apps but building new apps with Ionic 2. The conversation also digs into tooling choices (Visual Studio or not?) deployment options, emulators and side loaders and the fun that is app stores. Mobile development is never easy, but it is getting better with tools like Ionic!
There are more ways to go serverless! Carl and Richard talk to Glenn Block about his work with WebTask. WebTask uses nodeJS to build services that are unique units of work with their own scalability. Glenn also talks about using WebTask as a Webhook, allowing you to do call backs based on an activity - it's this tooling that can help you automated builds and deployments and more. Using the Webhook approach, Glenn digs into techniques for building custom commands for Slack and a bunch of other environments - WebTask can become cloud-driven glue for your apps!
How many different decisions do you need to make before starting web development? Carl and Richard talk to Cory House about picking out a JavaScript development environment. Cory talks about his own experiences getting into the groove with the React stack, but that is certainly not the only way to build a web application. When you think more broadly about building web apps, the number of decisions can be daunting, and hence the increase in starter kits and other tools like the JavaScript Services toolkit for making it easier to get all your tools together. Lots of great links in the show notes for different tools you can use!
How does security work in ASP.NET Core? Carl and Richard talk to Roland Guijt about the security features of ASP.NET Core - many of which are the same as the original .NET, but there are some significant changes! The conversation starts out dealing with the idea that retrofitting security at the end of a project is fraught with perils that ultimately endanger your application and users. It's worth taking some time to figure out how security is going to be part of your app from the beginning. Roland talks about what makes sense to build directly into your ASP.NET Core app and what can be externalized with tools like Identity Server. And there are claims - lots of claims!
What the heck is a Progressive Web App? Carl and Richard talk to Kirupa Chinnathambi about his experiences building at the edge of the modern web with Progressive Web Apps (PWAs). PWAs are trying to bridge the gap between traditional applications and web applications, starting with keeping a web app functional when there is an interruption in Internet connection. But it's more than that - how do you appear as an icon on a desktop or app surface, provide notifications and otherwise look and act like every other kind of application? Check it out!
.NET used to be all about Windows - but it's not anymore! How do you market something so diverse? Carl and Richard talk to Beth Massi about her new role as the Marketing Manager for .NET. Today .NET runs on all sorts of platforms, and you can develop .NET code on multiple platforms as well. Beth talks about reaching out to the new audiences that may have never considered .NET before because of it's former focus on Windows. Now .NET runs everywhere, on all sorts of devices, and into even more operating systems. Where would you like your code to run?
Functional programming for mobile development? Carl and Richard talk to Scott Nimrod about his experiences building mobile apps with Xamarin using F# as the primary programming language. Does functional make sense for mobile development? Sure, but F# can handle OOP problems too. Scott calls it "functional first". The conversation digs into the power of staying within Visual Studio - tools that you know and understand! But there are also features in Visual Studio that don't necessarily work well (or the same) with F#, so it does take time to learn your way around your new language. But worth it!
How do you get to coding quickly with the new web development frameworks? Carl and Richard talk to Steve Sanderson about JavaScriptServices, which is actually a set of templates for helping you set up your development environment for Angular, Knockout, React and/or React-Redux. Steve talks about all the bits and pieces necessary to actually get to your code-run-debug cycle of development. Along the way he mentions a number of tools involved to make life easier, including Yeoman and WebPack. The conversation also turns to this diversity of client development stacks and the philosophy behind them - more great thinking by a web leader!
Making mobile apps is never simple - but it can be made easier! Carl and Richard talk to Matthew Robbins about MFractor, a tool designed to help you build mobile apps using Xamarin across platforms more easily. Matthew talks about the challenges of trying to create common code (typically C#) in Xamarin that actually runs correcting in Android and iOS. A big part of MFractor is the code analysis tooling that helps you verify correctness for schema assignments, references, and so on. There's also help with code generations, navigation and a variety of other utilities. Check it out!
What does it take to make the web more accessible? Carl and Richard talk to Aaron Gustafson about his years of work helping to create and support standards for accessibility on the web - all kinds of accessibility. While supporting visual and hearing impaired is important, there are so many more aspects to accessibility, especially today where those capabilities translate into new devices that make focus on speech or other completely different UI paradigms. The good news is, the tooling is getting better (check the links on the web page) to make it easy for you to keep accessibility in your mind as you code - don't bolt on at the end!
Installation is in chaos! Carl and Richard talk to Rob Mensching about the crazy amount of change that has come to distributing and installing software. The conversation references a comment from a listener about the diversity of server installation solutions including MSDeploy. But what about the desktop? As Rob says, things have been pretty stable for a long time with the MSI - and Rob led the WiX Toolset project to make MSIs. But with AppStores, MSIs are looking long in the tooth. What does the new desktop installation look like?
How can you be successful with a product without good documentation? You can't! Carl and Richard talk to Ward Bell, who is serving as editor in chief for Angular docs. After complaining about the quality problems with the Angular documentation, Ward found himself in charge of the problem - and has taken it on in a big way. The docs themselves are developed in GitHub, so anyone can contribute. The challenge is making sure they're good - everything is driven by coding samples that are as simple as they need to be and follow strict standards. The result is docs you can trust - first and foremost they are correct, and hopefully effective at getting you productive with Angular!
Time for a Xamarin update - things are moving fast! Carl and Richard talk to James Montemagno, now a Microsoft employee since the Xamarin acquisition, about the on-going evolution of the Xamarin tools for building mobile and UWP applications. The conversation starts out with a comment about folks coming to mobile development for the first time: Less rocket science, more building data-over-forms apps for internal use. James dives into the expanding set of capabilities that Xamarin Forms has to make folks more productive building mobile apps that have to work across iOS, Android and UWP. And testing is getting better too - check it out!
Serverless is the new hot buzzword - but what does it really mean? Carl and Richard talk to Ben Godwin about his work building serverless applications - no servers, but lots of services! Ben talks about Amazon Lambda, which is similar to Azure Functions. Both these environments allow individual bits of code to run within them, written in a variety of languages, but often that language is Javascript in the Node style. The advantage of this approach is eliminating a lot of the ceremony around your services set, but at the price of some new working patterns and organization. Ben also mentions the Serverless Framework as a great free tool for getting started!
What role does distributed caching play in applications today? Carl and Richard sit down with Iqbal Khan to talk about nCache, an open source product built to do distributed caching in the .NET world. The conversation starts out with the traditional role of a distributed cache - state storage for a large scaling websites. It's never as simple as it sounds! From there, Iqbal dives into comparing caching to noSQL stores and RDBMS - they can all have a role in your application. The discussion then turns to more complex challenges around using distributed caches for map-reduce problems, and so on. Caching can do a lot!
Has voice control come of age? Carl and Richard talk to Austin Dimmer about his efforts to build a great voice control system - including for Visual Studio! The conversation digs into the complexity of recognizing a diversity of voices and being fast enough to get the words right. Then the hard stuff: How to keep words in context so that you can derive enough meaning from them to be useful. This isn't just about transcription, it's about control. Austin also talks about all the different voice-related products that Microsoft makes, it can be a confusing landscape. Is it time for voice to be part of your application?
Compiled PHP on .NET! Carl and Richard talk to Benjamin Fistein and Jakub Míšek about Peachpie, and open source project to implement PHP on the .NET Core. While the project isn't complete yet (you can help - it's open source!), the potential power is huge - taking existing PHP code and being able to compile it down to the CLR. Ben and Jakub talk about the challenge of mapping functionality across the languages, and the huge performance boost that compiled CLR code gets. How fast could WordPress be? The goal is to make PeachPie run on the .NET Core as well, so it can work on any platform you want. Check it out!
How does Microsoft maintain mature applications? Carl and Richard talk to Dustin Metzgar about his work at Microsoft maintaining applications and libraries like Windows Workflow, older versions of ASP.NET and Entity Framework and more. These products are maintained for a long time, typically without adding features, but rather to make sure new operating systems still work with them, security is maintained and bugs are fixed. There's a ton of cool stories in this space, it's the ultimate brownfield project challenge - rarely, if ever, do folks who created a product continue with it throughout it's life time!
Time to review the web application stack! Carl and Richard talk to Dan Wahlin about his current explorations into building web applications. The current stack for Dan is Angular 2 on the front-end, ASP.NET Core on the backend and Docker as the hosting environment. There are so many cool capabilities in this configuration that it can affect the way you build software as a whole, making it easier to automate deployment, accelerate testing, distribute sample versions, and so on. This could be the future of .NET development!
Version 6 of nServiceBus is imminent! Carl and Richard talk to Udi Dahan about his on-going efforts to build a great service bus in a sustainable business way. The conversation starts out talking about sustainable open source businesses and what has worked (and not). Udi then dives into the cool new features of the latest version of nServiceBus, with a strong focus on asynchronicity. Reliability across clouds and on-premise systems is also a key focus of this version of nServiceBus, so you can run your software where you want. Then a deep dive into the architectural models of services buses, including a great conversation on microservices and actor models. Check it out!
The rumors of the death of WebForms is greatly exaggerated! Carl and Richard talk to Jeff Fritz, who runs with WebForms team (yes, there is a team!) about what's happening in the WebForms world. While WebForms is not coming to ASP.NET Core, it is a part of regular Windows-centric ASP.NET Framework, and there are new features continuing to be built. Jeff talks about what a modern WebForms app looks like - ViewState is gone, and PostBack checking is obsolete - you can use ASync Model Binding in WebForms! The conversation also digs into how the relationship between the community and the ASP.NET team has evolved... so much more of what's being done is visible and can be discussed before decisions are made!
Can you build a line of business web application and not write any JavaScript? Carl and Richard talk to Tomáš Herceg about his open source project called DotVVM. With DotVVM, you write your ViewModel in C# and your View in HTML. The JavaScript is generated at run time, and you never need to look at it. While there are free open source elements to the project, there are also "pro" editions of some features that you can pay for to keep the project going. Lots of controls to make your pages look good with a minimum amount of code. And it works with ASP.NET Core!
Are you building XAML-driven applications yet? Carl and Richard chat with Billy Hollis about what it takes to get going with building XAML applications. As Billy says, XAML is a "compositional" platform, which is a very different way to think about how to build user interfaces. Ultimately, these design principles become platform-agnostic - you can use whatever tools you want to build them. Is it hard to think this way? It does take time, but the products you make stand out as just a better way to work with computers. Your customers will thank you!
How about no JavaScript libraries? Carl and Richard talk to Chris Love about his passion with making the smallest, fastest web applications possible. The conversation starts out with the idea that JavaScript libraries, like most code libraries, constantly grow - old code, support for things that don't matter any more, and features that you aren't using, all add up to a lot of bytes and compute time that you don't need to waste. Chris talks about how he doesn't write everything from scratch, he has built some very small libraries (check the links) that do only the things you absolutely need. You can be an HTML Native with just the code you need to make an application do what it needs to!
React comes to Windows! Carl and Richard talk to Matthew Podwysocki and Eric Rozell about using React for Windows to build native Windows applications while programming in JavaScript! Originally intended for mobile apps, React Native works equally well building Windows 10 apps that work on phone, tablet and desktop. The conversation also turns to the conjunction of all things react and reactive - why do they go together? Matt talks about how the philosophy of streaming and event response build a philosophy that makes highly scalable, resilient software. Yet another cool way to build cross-platform applications with JavaScript!
More cloud choices! Carl and Richard welcome Chris Sells back onto .NET Rocks after three years and a career change - Chris is now at Google! And he's been busy, excited to announce that Google is provided extensive support for .NET in the Google Cloud, including Visual Studio add-ins to make your implementation even easier. The conversation ranges over the modern cloud development pattern of building code, packaging it into containers (aka Docker) and then deploying into the cloud - for Google Cloud, that means Kubernetes. Meantime, Kubernetes is presumably coming to Azure also - could we be looking at a unified cloud world?
There has been lots of conversation about cross-platform mobile apps, but how about cross-platform desktop apps? Carl and Richard talk to David Neal about the Electron framework, letting you build cross-platform desktop apps using HTML, JavaScript and CSS. Electron is how visual Studio Code is built! The conversation also turns to Xamarin - would you rather code in C# and XAML? Lots of choices for cross-platform development, it's worth taking a few out for a spin!
Ready to move to .NET Core? Carl and Richard talk to Stackify's Matt Watson about their efforts to migrate their applications to the RTM editions of the .NET Core and ASP.NET Core. For better or worse, there have been a number of major changes between the two RCs and the RTM. But this is the version to stick to, so if you haven't started to move, now is a great time. Matt also talks about the challenges of losing certain libraries - projects that haven't been migrated to the Core editions yet.
What's a really modern web app look like? Carl and Richard talk to Qiming Liu about the Reactive Trader Cloud, demonstrating the synergy between the cloud, containers, microservices, the Reactive Extensions Framework and ReactJS on the client to make a real time currency trader application. The application is on GitHub, you can take it out for a spin for yourself and get a feel for this cool architecture. Qiming talks about treating all data as streams with the Reactive Framework for Javascript, passing messages to the various microservices to complete transactions. Packaging up those microservices in containers allows for resiliency and scalability - you just launch more instances using (in this case) Kubernetes. Check out the code!
How long does it take you to get an idea into a URL? Carl and Richard talk to Daniel Moore about HyperDev - a tool to make the shortest possible path between writing code and putting it online. Initially only implementing Node and HTML, you can use your Javascript skills to build a quick prototype that is easily shareable, even allow multiple people to work on the code together. At this point the system is relatively small, but it's easy to move off onto your own platform once you get your idea to a place where it needs to grow. But perhaps in the future HyperDev will be that place!
F# that transpiles to Javascript! Wait, what? While at NDC is Oslo, Carl and Richard chatted with Tomas Petricek about the Fabel project, combining F# and the Babel project to turn F# into some tight Javascript code. Tomas talks about the easy parts of Fabel first, because Javascript does have some functional elements, and it is possible to write immutable-style code in Javascript if you really want to. Then come the more difficult parts, like typing. There's a judgement call to make about what makes sense in Javascript and what doesn't. But with the choices in where to run Javascript, writing in F# offers some interesting possibilities!
Ready to learn R? While at NDC Oslo, Carl and Richard sat down with Jamie Dixon and Evelina Gabasova to talk about what .NET developers need to know to get conversant in R. Data science represents a huge opportunity for developers these days, helping businesses actually take advantage of the data the company has. Jamie comes at R from a traditional .NET developer perspective, talking about how there are some skills (like source control and testing) that developers have more experience with than most data science folks. Evelina talks about the academic side of using R, learning statistical modeling and how to talk to data science experts when you're a developer. There's a great community out there to help you learn more and focus on the right things - join in!
ASP.NET Core is released, now what? Carl and Richard talk to Shawn Wildermuth about his efforts to migrate to the RTM of ASP.NET Core. As Shawn points out, the framework is ready, but the tooling is still in preview, so more changes to how you build your web sites and services will happen before everything is said and done. Lots of digressions in the show too, talking about the road trip, being an old developer and trying to do things right - a fun conversation!
Quick, how long can a file path in .NET be? Carl and Richard talk to Jeremy Kuhne, who has taken on the challenge of breaking the 260 character limit on file paths in .NET. Why has this problem persisted for so long? Jeremy references some blog posts from Kim Hamilton back in 2007 when the issue came up big - at the time, .NET was deeply intertwined with Windows, and there were too many things to fix. But the creation of .NET Core presented an opportunity to fix the problem once and for all, and Jeremy jumped on it. What happens next?
The Hololens SDK edition is out - are you ready to write some code? Carl and Richard talk to Rene Schulte at NDC Oslo about his work building apps for the Hololens. The conversation explores the differences in virtual reality and augmented reality and the huge number of possibilities out there for Hololens. Rene talks about what it's like to develop for Hololens, discussing the relative merits between writing code in Unity3D and the Universal Windows Platform (XAML!) - it's all C# in the end! There's as much to discuss about the capabilities of Hololens as there is to talk about the potential solutions it can generate. There's a lot to think about!
How does testing contribute to the failure of a project? Todd Gardner chats with Carl and Richard at NDC Oslo about his experiences with failing projects and testing. More than just the usual case that a lack of testing led to unreliable software, Todd also talks about how testing the market is important too - what if you build software nobody wants? The focus has to be on relevant tests, because every test represents an overhead of computing and maintenance. This ultimately comes back to understanding the value proposition of your software: What does your software do that is valuable, and how do you assure that value with testing?
It's an exciting time for .NET! While at NDC in Oslo, Carl and Richard sat down with David Fowler and Damian Edwards to talk about the development of .NET Core, ASP.NET Core 1 and the Kestrel web server. The conversation digs into the challenges of writing a cross-platform web development framework, including some controversial pivots that have frustrated some developers - looking at you, RC2! Damian then discusses Kestrel, the cross-platform web hosting environment. This is a wide-ranging conversation and the excitement is palpable!
Time for a new version of CSLA! Carl and Richard talk to Rocky Lhotka about the latest incarnation of the venerable business object framework that started all the way back at Visual Basic 5! CSLA has always been about keeping business logic out of your user interfaces and databases - keep it in the middle where it belongs. And today that is clearly wise architectural design: The diversity on the client side means you have a lot more devices accessing your application, and CSLA supports most of them in one form or another. The same is true on the back end, it's not all about SQL Server anymore, and CSLA stays out of your way when it comes to data storage. The framework is open source and on GitHub, check it out!
Virtual Reality is here, and there are choices! Carl and Richard talk to Jason Weimann about the HTC Vive, the competitor to the Oculus Rift. Jason talks about how the two devices are similar and how they are different. And one place they are similar is the programming model - it's all about Unity3D. The conversation focuses in on what it takes to really learn Unity - you're working in Visual Studio with C#, but the platform and tooling are quite a bit different. And don't worry too much about 3D art, there are tons of free assets! VR is here, are you ready?
Even more new stuff from Xamarin! While at Techorama in Mechelen, Belgium, Carl and Richard sat down with James Montemagno to talk about all the goodness that came out of the Evolve conference. The conversation focuses first on the new edition of Xamarin Forms, building UI abstracts for your mobile apps to increase your code sharing across platforms. James also talks about data pages as a way to present data on your mobile apps, with some great styling options. Xamarin is continuing to build awesome things!
How can you keep your customer identity information safe? While at Techorama in Mechelen, Belgium, Carl and Richard talk to Vittorio Bertocci about Microsoft's offerings around Azure Active Directory. With all the data breaches going on these days, its wise to consider offloading the work of managing your customer's personally identifiable information to a service that has as much security around it as possible. Vittorio talks about the new B2C service on Azure offering the ability to store custom information, authorization tokens - everything you'll need to know who your user is and what they are able to do. That's half your security battle done, just gotta secure your transactions!
What is slowing your web site down? Carl and Richard talk to Matt Watson, CEO of Stackify, about their free product called Prefix. Method profiling has been around for awhile, but it takes a lot of time and tuning to get right - and running profilers on production servers can be a career limiting behavior. Prefix runs on your development workstation so that you can see what parts of your code are taking time - including how much is involved in communications time, query processing, and so on. Take a look!
Scott Hunter is back and managing the whole .NET platform! While at DevIntersection in Orlando, Carl and Richard sat down with Scott to talk about his new role as director of the entire .NET platform. That includes all the open source goodness - and Scott digs into his team's efforts to make ASP.NET the fastest web development platform on the planet (they're almost there!) and what it takes to bring all the incarnations of .NET into a common standard, both for the old school close source editions as well as open source across the platforms. One .NET standard is coming to you soon!
How do you manage the building, monitoring and maintenance of mobile apps? Carl and Richard talk to Donovan Brown about how all the pieces have come together in the Microsoft stack to make creating, testing, deploying, maintaining and monitoring of mobile apps better. Donovan talks about all the good stuff from Build in mobile, including Xamarin being part of the toolset, but also tools like HockeyApp and Release Management. While Microsoft provides a ton of tools, you can bring your own as well - everything is optional and changeable. Ultimately, it's the synthesis of all the parts into a whole that provides the greater value. Check it out!
Universal Apps are becoming more universal - arriving on the XBox One! Carl and Richard talk to Chris Gomez about the announcements at the Microsoft Build event around building software for the XBox One. Now, any developer can write code using the Universal Windows Platform (UWP) approach, which means you can code in C#, Javascript... pretty much any language you want in the CLR space. Chris explains that while you have limited access to all the resources in the XBox One, the UWP approach is a starting point to building bigger things if that's what you want to do - the XBox team is watching!
The Web is broken - time to fix it! While at DevIntersection in Orlando, Carl and Richard sat down with Douglas Crockford to talk about the problems the web has and what can be done about them. Doug rightfully focuses on how the web was never intended to do what its doing - it was meant for sharing academic papers, and has far outgrown that initial requirement. Security is the key, and security with the least amount of trust is best. How do we build something inherently secure and still easy to work with?
Ready to code for XBox One? Carl and Richard talk to Tom Spilman about his efforts to bring MonoGame to the XBox One. When the XBox One came out a few years ago, it did not support Microsoft's Indie game platform, XNA. MonoGame has stepped up to fill that role. And as an extra perk, it runs on everything - iOS, Android, Mac, Playstation and Nintendo devices. And of course, everything is coded in C#. Tom talks about how more and more, performance in games is not an issue, and the price of coding in C++ is just too high, without significant advantage. You want to make games? Make them in C# - with MonoGame!
Ready for JavaScript on the server? Carl and Richard talk to David Gatti about building the backend with nodeJS. The conversation starts out with why to use node - its not always an obvious answer! The philosophy of node moves away from the "do everything" web server of IIS and into turning on just what you want. With node you specify where you're listening and what you're listening for, and can construct exactly what your code should return as well. Templates make life easier - want to return a web page? There's a template for that. Just a service? You can do that too. David also talks about deploying through Heroku and automating the updating of your site with just a check in from GitHub!
Time for an Aurelia update from the man himself! Carl and Richard talk to Rob Eisenberg about the latest developments in the Aurelia project - and what a year it has been! Rob talks about the architectural decisions in Aurelia that allowed for rapid development and an ability to just grab the bits of the library that you need. Lean-ness is the new mantra in JavaScript libraries, and as few custom tags as possible. Aurelia has focused on efficiency from the outset, and Rob is taking it even further. The conversation also dives into the more component-based approaches to web development including ReactJS - there's more to come!
Microsoft buys Xamarin! While at Build, Carl and Richard chatted with Nat Friedman and Miguel de Icaza about what the acquisition of Xamarin means. The big news is that the Xamarin tools for making iOS and Android apps are now part of Visual Studio - all versions, right down to the Community Edition. And there's more (of course), so have a listen. Miguel digs into what this means for the average .NET developer going forward: .NET now runs everywhere you could possibly want to run code, and maybe a few spots you've never thought of. It's true, .NET really does rock!
MSDeploy can do it! Carl and Richard talk to Robert Schiefer about his experiences using MSDeploy to automate complex deployment solutions throughout the enterprise. Robert talks about the fact that MSDeploy is part of WebDeploy and includes a ton of features that are not always obvious - doing far more than just installing software, it can also modify security settings, update registry keys, even handle the deployment of databases using DACPAC. The documentation isn't great, but if you dig around, there's lots of capability there. If you're looking to save money, spend a little time understanding MSDeploy better!
Ready for the new Angular? Carl and Richard talk to John Papa about Angular 2 being in beta. And really in beta - John mentions that for the past few betas, updating his samples have only taken a few minutes, not hours. The conversation also dives into the controversy around the significant differences between Angular 1 and 2, although John sees it as simplification. A lot of ceremony that existed in Angular 1 has been eliminated, or implemented as part of standard tags. The role of Reactive Extensions for Javascript is significant as well: Everything is becoming asynchronous!
How is C# 7 coming along? Carl and Richard talk to Kathleen Dollard about her involvement in the very public process that is the open source development of the next C#. Kathleen talks about how there are issues in the GitHub repository for Roslyn that are actually design notes - summaries of the current thinking on the new features coming. Where things get really exciting is the comments on those notes. If you're interested in being part of what goes into C# 7, that's where decisions are being made. Kathleen digs into some of the new features coming, including local functions, sophisticated pattern matching and more... be part of the discussion!
How do you build cross-platform desktop applications? Carl and Richard talk to Curtis Wensley about eto.forms, an open source project he started back in 2006 to deal with cross-platform challenges. Originally focused on mobile, Curtis recognized that Xamarin was moving seriously into that space and pivoted to the desktop side, just in time for Silverlight to go into limbo. Under the hood, eto depends on various Mono related elements, although Curtis sees a day when it will all be .NET Core. The mobile stuff works too, so it is possible to build an app that works on desktop, tablet and phone. Is eto more universal than Universal Apps? Check it out!
Ready to transpile your Javascript? Carl and Richard chat with Craig McKeachie about BabelJS, an open source tool for transpiling Javascript. Why would you want to do that? So you can write in the latest version of Javascript and still have it run everywhere! Craig talks about how the rate of evolution in Javascript is increasing, and the jump that is ECMAScript 6, also known as ECMAScript 2015, makes the language a lot more, well C#-like. But the implementations in browsers is not as even, and that doesn't account for features coming in ECMAScript 7! Babel deals with this problem by transpiling into Javascript that runs everywhere. Check it out!
Where do development patterns fit into your world? Carl and Richard talk to Gael Fraiteur about the evolution of PostSharp into a library for implementing patterns. The combination of aspect-oriented programming and patterns is powerful - providing a means to implement a pattern while keeping it separate from your business code. Gael explores one particular pattern - multi-threading. Postsharp implements half a dozen different multi-threading strategies, so that you can apply the pattern as an aspect to your objects and make multi-threaded coding simpler and safer. Check it out!
How do you manage your software releases? Carl and Richard talk to Kevin Mack and Brandon Rohrer about the various tools that come together to help automate software releases. The focus on this approach is a product formerly known as InRelease by InCycle, which was acquired by Microsoft back in 2013. Now it's known as Release Management Services for VSTS and deeply integrated with the Studio toolset. The conversation also dives into the challenges around databases when it comes to release management - how do you get your database to be part of your release? Lots to think about here to up your VSTS game!
Have you used the biggest, most complex Single Page Application (SPA) in the world? It's the Azure Portal! Carl and Richard talk to Jakub Jedryszek, one of the folks building the framework that runs the Azure Portal. Jakub talks about the portal framework being built on TypeScript and Knockout so that all the different Microsoft teams building Azure products don't get delayed in delivery because they can't get on the portal. The challenge is to keep everything orderly so that folks using the Portal can actually make sense of it, and that takes a lot of negotiations and management within the teams. Software is hard, but expectation management is even harder!
What does Virtual Reality and XAML have to do with each other? Carl and Richard talk to Laurent Bugnion about his work around building virtual reality software. The challenge, as Laurent puts it, is the whole 3D issue. Building 3D software is tricky, and the tooling is hugely important. The conversation turns to tools like Unity3D, which is very popular in the 3D space. But can XAML do the job? What is the development experience like? What can you build and how do you test it? And what can we really do with virtual reality beyond gaming? Great conversation with a guy who's built a ton of awesome software!
Can React make your web pages more reusable? While on the Scot Net Rocks tour, Carl and Richard stopped in Edinburgh to chat with Chris Canal about his work with React. The conversation turns to a stack of tools you may never had heard of for building reliable, maintainable and testable JavaScript code - no really, check out the links! Chris talks about how React creates objects, mixing JavaScript, HTML and CSS together into something that can be reused effectively, but only if you know how to manage it. And that's where the tooling comes in. Check it out!
Service Discovery? Is UDDI back? While at NDC London, Carl and Richard talk to Ian Cooper about service discovery in the microservices world. Ian talks about the effect of microservices in making systems more complex - it's easy to end up with hundreds of services. And you don't want to be hard-coding service locations into your application, what happens when things change? While you could roll your own, Ian talks about a range of tools already out there to help your applications discover the services they need. Everything needs to be redundant and reliable - which is actually hard to build. Check out the links for all sorts of great tools!
Glimpse is moving to version 2! Carl and Richard chat with Anthony van der Hoorn and Nik Molnar about the latest version of Glimpse and what moving from version 1 to 2 really means. Still in beta, Glimpse V2 is very much a rethink of how you instrument a client while still keeping what you love about V1 - a great dashboard to understand what's going on with your web app. Anthony and Nik talk through the changes and the power of taking everything you've learned about a project to a clean slate. Glimpse is only getting better, you need to check it out!
Do you have a DevOps stack? Carl and Richard talk to Brian Randell about his experiences implementing tooling for DevOps practices using Visual Studio and other Microsoft tools. The conversation runs the gambit of elements in the DevOps stack, including continuous deployment, package management, configuration-as-a-code and instrumentation in production. The more automation the better when it comes to moving fast and reliably. While DevOps often focuses on the culture and process that goes into building software, great tools can make all of those things happen much more easily - you just have to figure out what stack is right for you!
When was the last time you thought about Windows Workflow? Carl and Richard talk to Blake Helms about the projects he's been building with Workflow - and they're awesome! Blake talks through how Workflow has evolved into the latest version for .NET 4.5, with better visualization tools and a consistent interface that is easy to work with. The conversation digs into how Workflow separates work from flow - activities are code and flows are the relationships between them. This separation lets you see where there are holes in your decision-making system and helps keep code organized and focused. The question is, when wouldn't you use Workflow? Wait. What?
So what can you do with Reactive Extensions (Rx)? You know, really? While at the Azure Tour stop in Tel Aviv, Carl and Richard sat down with Tamir Dresher to talk about Rx in the real world. Tamir is the author of Reactive Extensions in Action and he talks through the practical applications that Rx has, and where it can make your software better. This is not an all-or-nothing proposition, you can slide Rx into spots where you want to react to key bits of data while ignoring others, so where you want to focus on the relationship between two different bits of data - this is not just about high velocity streams of data!
It's only date and time, how hard could it be? Carl and Richard chat with Matt Johnson about the challenges of really managing dates, times and time zones properly. The world is a complicated place, and time zones are a relatively new invention that is as much driven by politics as geography. And then there's daylight saving time, which is even worse! Matt talks about the simple mistakes that developers can make assuming behavior around dates and time that can lead to significant failures in your application. He also digs into the tools to make your life easier, especially Noda Time, an open source library for doing dates, times, time zones and daylight saving time right. Time to check it out!
So how many shortcuts do you know in Visual Studio 2015? Carl and Richard talk to Joseph Woodward about his conscious efforts to learn more shortcuts and speed his development pace. Every time you take your hand off the keyboard, you slow yourself down, and more importantly, interrupt your flow! But not all shortcuts are created equal - the discussion focuses first on navigation shortcuts to move around your code more efficiently, and then into block editing and moving. Of course there are tools to take it further like Code Rush and Resharper - which ones are your favorites?
Time to revisit MassTransit! Carl and Richard talk to Chris Patterson about his work on MassTransit and more. MassTransit is an open source .NET service bus that is happy running on-premise or in the cloud. The conversation explores the evolution of MassTransit and the way the Enterprise Service Bus has evolved. SOA is a fine idea and SOAP works, but is there an easier way? Chris talks about better queuing with RabbitMQ, to the point that the latest version of MassTransit doesn't support MSMQ. And then there are microservices... does this make sense in the modern service-oriented application?
HTTP/2? No really! We're only now getting to the second version of HTTP! Carl and Richard talk to Robert Boedigheimer about the next version of HTTP. In truth, this will be the fourth version of HTTP. Robert talks about how long-in-the-tooth HTTP/1.1 has gotten and the need to update the protocol to reflect the reality of the web - much bigger pages with many more resources on them. While a portion of the change represented by HTTP/2 is plumbing - modern browsers already support it, the web servers are coming soon, eventually web page design will be affected, mostly simplifying performance tuning tricks. It'll make a better web!
How do you make the Single Page Application (SPA) better? Carl and Richard talk to Benjamin Howarth about his experiences with building SPAs and solving some of their limitations. Users love the look of a SPA, its responsiveness and styling are powerful. But SPAs have problems - they are very hard to test properly, they resist search engine indexing, are bandwidth hungry and not accessible to folks with visual impairments. Benjamin talks about his library RomanSPA (see what he did there?) that builds a normal MVC app behind the scenes and then can selectively render pages via MVC or the SPA approach as needed. Could this be the better SPA?
How is mobile development evolving? Carl and Richard talk to Lino Tadros about his current work building mobile apps with lots of different technologies. Lino talks about build mobile apps natively with Objective-C and Java as well as a variety of hybrid approaches: C# using Xamarin, Javascript/HTML with Cordova and even good old fashion responsive web design. So what works best for you? Lino highlights some strengths and weaknesses of the different platforms, recognizing that it mostly comes down to skillset - what tools are you most comfortable with? That's what ultimately makes the difference. No matter how good a tool is, your ability to use it has the largest impact on how well your mobile app turns out.
How does the .NET Foundation change the way you build software? While at the MVP Summit, Carl and Richard met with Martin Woodward and Beth Massi to talk about how the .NET Foundation was created and is evolving to carry .NET open source software forward. As Martin explains, even though key platform tools like the .NET Core, ASP.NET and MVC are all part of the foundation, Microsoft still makes a retail build of the products - so if you don't want to use open source, you don't have to! But if you and your organization are looking at open source, the .NET Foundation provides a certain level of coherence and structure to open source projects so that you can be sure the code will be there when you need it. Check it out!
When will ASP.NET 5 ship? While at the MVP Summit, Carl and Richard talk to Damian Edwards about his work getting ASP.NET 5 out the door. The answer to the question is the first quarter of 2016. Damian talks about the experience of building ASP.NET vNext out in the open, on GitHub, using YouTube to publish all of the standup meetings with the team about the product. It's a new Microsoft building software a different way!
Have you taken Visual Studio Code out for a spin yet? While at the MVP Summit, Carl and Richard talk to Sean McBreen about his work building Visual Studio Code. VSCode was released back in the Build time frame of April 2015, and has put out a major update almost every month since. Sean hints about some major announcements coming for Visual Studio Code coming at the Microsoft Connect() event in New York November 18 2015. The conversation also digs into the choices you can make in your development platform with a mix of VSCode, Visual Studio Online and all sorts of other tools.
Can you really built virtual reality apps in .NET? You bet! Carl and Richard talk to Matthew Wilson about his work with Novus-Res, building VR apps for businesses. The conversation ranges over the typical hardware set - primarily focused on the Oculus Rift. Matthew talks about the different skills and tools needed to build a VR space, including 3D modelling. But when it comes to programming, Unity 3D leads the way, and you can write C# with Unity! What makes sense as a VR app? How do you keep folks from getting motion sick, and really make the VR experience real? Lots of cool thinking here, and we're still at the beginning!
What does it take to make web pages that work in multiple languages? Carl and Richard talk to Diego Iastrubni about localization and internationalization. The conversation focuses first on the complexity involved - its very easy to forget how different languages and cultures apply to information being display. Does text go left-to-right, or right-to-left, left-aligned or right-aligned? And how does it apply to numbers? Diego goes on to explain core concepts in web localization, focusing on UTF-8 for character set and CSS for direction and alignment. There are frameworks to make this easier! Things get harder when you look at mobile and desktop apps, and every dev environment approaches it differently!
Ever heard of property-based testing? Carl and Richard talk to Mark Seemann about doing property-based testing with F#. As Mark explains, functional programming techniques work especially well for property-based testing, allowing you to define parameters (properties) that will generate ranges of values to test against. The conversation digs into tooling, specifically FsCheck, an open source library for doing property-based testing in F#. If you'd rather work in C#, Mark's project AutoFixture can do similar work in that language. But Mark talks up the advantages of F# from a functional perspective, creating very terse, easy to read tests. Check it out!
How do you handle credit card payments in your applications? Carl and Richard talk to Craig McKeachie about his work with different payment solutions, including Stripe. The conversation digs into the challenges of building your own payment system versus using a third-party system - starting with PCI compliance! Craig talks about different tooling for embedding payment, including the stripe.net library on GitHub for plugging into Stripe, and so on. Taking payments is important, so is doing it right - you have to think about security in a deep way. Don't build what you don't have to!
Hang on to your hats, here comes a ServiceStack update! Carl and Richard talk to Demis Bellot, who for the past couple of years has been full time on ServiceStack, and wow, a ton of development has been done! Demis (at very high speed) rattles through the feature list of ServiceStack, talking about the array of platforms it supports - which is pretty much everything from the phone to the cloud. While the focus has always been on providing web services, Demis also talks about running the entire stack inside a machine so that you can provide local services as well. Check it out!
There's more great stuff in Studio than you realize! Carl and Richard talk to Charles Sterling about the web performance testing tools built into Visual Studio 2015. Actually, the testing tools have been there since 2008, but only in the test edition, and after that they were moved to the Ultimate Edition - they were part of what made that product so expensive! But as of 2015, the testing tools are available as part of Visual Studio Online, which means they're free for teams of five or fewer as well as all MSDN subscribers! Chuck talks about what it takes to build really great load tests - the kinds of questions you can answer, and how to build those tests into your continuous deployment system. Check it out!
If you've been listening to the latest episodes, you've heard Omnisharp mentioned - time for a show on it! Carl and Richard talk to David Driscoll about his efforts contributing to Omnisharp. Omnisharp is a set of tools to bring .NET development to all sorts of different development environments, including Visual Studio Code. David discusses the impact that working on a dev tools project like Omnisharp has had on his own career, changing the way he thinks about development - for the better! If you're digging into open source web development in the new Microsoft stack, you really should know about Omnisharp!
Rob Conery has the Elixir bug! Carl and Richard chat with Rob about being on show 1200, and how Elixir has sucked him in. Elixir is the syntactically friendly language over top of Erlang that has gotten a lot of attention lately. The conversation digs into the strategies around learning a new language, starting with building a good old fashion forms-over-data application. Rob used the Phoenix MVC framework with Elixir to build web pages quickly. He also talks about changing your thinking - how his Elixir code rapidly evolved from an old way of thinking to new, with terser syntax and taking advantage of the language style to build in a new way!
Kathleen Dollard has been exploring different development environments and wants to tell the world! Carl and Richard talk to Kathleen about her experience using Python and Django with JetBrain's IntelliJ development environment. As Kathleen says, it's the whole development suite, not just a given language, that you have to evaluate as a whole. But if you're going to live in the dynamic language like Python, you need to take testing seriously - and Kathleen dives into her experience of doing semantic testing to build resilient tests that are easy to read and have comprehensive coverage. The conversation turns to the story of how all this came to pass - Kathleen's new job and new leadership role with a consulting firm has pushed her to try new things!
Ready to do some method interception? Carl and Richard talk to Ricardo Barbosa about CodeCop, his method interception library that you configure with JSON. The conversation starts out talking about why you would want to do method interception in the first place - aspect oriented programming, instrumentation, isolating plumbing code, and so on. There are a bunch of ways to address these problems, and method interception has some advantages. Ricardo talks about building the tool and its gradual evolution as he got a deeper understanding of the underpinnings of .NET. There's a free version of the product, take it out for a spin!
So what does a web development stack look like today? Carl and Richard talk to Dan Wahlin about his explorations with the new ASP.NET vNext stack, checking out Angular2 (as opposed to the separately developed Angular1) and getting into using containers for development. Containers take virtual machines to the next level, with lower resource requirements and detailed manifests. As Dan points out, container technology comes after the configuration-as-code movement, and is a key part of the container approach. The focus is on Docker, but there are other container solutions out there that are well worth exploring!
Universal Apps are all about XAML! Carl and Richard talk to the original XAML believer, Billy Hollis, about the new Universal App model and its focus on XAML. As Billy says, both Windows 10 and Office 2016 are using XAML now, so it's not going away. But first a quick digression on Windows Phone and Android - is the Universal App model going to save Windows Phone? Or should it all be Android in the end anyway? The conversation also ranges over some of the new opportunities coming in the future, like HoloLens, and the importance of XAML in that space as well. There has never been a better time to dive into this tech!
Heard of NativeScript? Carl and Richard talk to Sam Basu from Telerik about NativeScript, a dev stack using JavaScript to build native mobile applications. Sam describes how NativeScript is different from Cordova, since it doesn't use HTML or a runtime that essentially hosts a browser - instead it has a custom UI markup language that is rather similar to XAML and compiles into native code on iOS and Android (Windows Phone coming soon). So if you like working in Javascript but want native performance, you should take a look at NativeScript!
So what about building apps with Unity 3D? Carl and Richard talk to Brice Fernandes about what it takes to build using this cross-platform 3D framework. Brice talks about the important elements of gaming, including the art, user experience and game play itself. You need all three to some degree, great games do all of them well. The conversation digs into the variety of styles of games and the strengths and weaknesses of Unity in those different roles. Could you build things other than games in Unity? Yes, but would you want to?
Ready to React? Carl and Richard talk to Cory House about his experiences building applications using Facebook's React library. The conversation digs into the philosophical differences to web page design that React is focused on - and how they upset a lot of folks! Cory describes React as an approach for building UI components, which means combining HTML, Javascript and even CSS together! He also digs into the challenges of assembling the right tool stack - React is not an all-in-one library, you have some choices to make. The conversation also digs into Flux and it's alternatives as approaches to your overall web page architecture. Lots of options!
So what's it like to build web apps with ASP.NET 5? Carl and Richard talk to Rick Strahl about his experiences with the rapidly evolving open source project that is ASP.NET today. As Rick says, it might be called a beta, but it is acting more like an alpha at this point - new features and breaking changes are occurring regularly as the toolset develops. On the plus side is the server-side cross-platform of running on Linux and OSX, plus a design that is far more focused on what modern web development looks like. The original ASP.NET is nearly fifteen years old, this is an awesome update!
Web development is moving fast, and John Papa is in the race! Carl and Richard talk to John about his current views on Angular and other SPA frameworks - coming to Anglebrackets this fall! The conversation dives into the inevitable comparisons between Angular, Aurelia and others - but there is no one right way. Then John talks about the new Visual Studio Code, which really hasn't got much to do with Visual Studio at all - it's an editor, rather than an IDE. This leads to a conversation about development work styles in general - do you like having everything all in one place in the form of Visual Studio, or happier with a more roll-your-own solution with separate editors, debuggers, etc. So many choices for development today!
Roslyn is out - and it's awesome! Carl and Richard talk to Dustin Campbell about his work building Roslyn over eight years. Eight years is an awful long time, but when you're rebuilding a codebase from scratch, it's hardly unprecedented. Dustin talks about some the decisions made in the re-engineering of C#, including whether or not to keep in the bugs! Taking Roslyn open source is also a huge aspect of Roslyn and it's impact on the rest of the open source products Microsoft is making including the new ASP.NET. Great insight from someone who's been there!
How do you make a mobile web site go fast? The same way you make any web site go fast! Carl and Richard talk to Chris Love about his strategies for making fast web pages. The conversation starts out discussing how mobile apps are even more performance sensitive than regular web pages, because mobile devices typically have less bandwidth and more limited processing power for rendering. Chris points to one of his favorite tools - WebPageTest, as a great starting point for knowing where to look for performance gains on web pages. This leads to discussion on image compression, CDNs, time-to-live settings and more!
So what happens when you dive head-first into the latest Javascript libraries? Carl and Richard chat with Julie Lerman about her experiences playing with Rob Eisenberg's Aurelia library. Of course, it doesn't stop there: If you're going to learn Aurelia, you're going to change the whole stack - including node, expressjs and DocumentDB! Julie walks through the process of adding each of the bits into the stack, learning online through search engines and twitter, and what she brought back from this exploration that changed the way she works with C# and Entity Framework!
Messaging in browsers? Carl and Richard talk to Derick Bailey about messaging patterns in Javascript. Yes, browsers always use messages, that's what HTTP is about - but there are messages, and there are messages. Derick talks about using the publish/subscribe pattern with RabbitMQ to build a highly scalable system. These are patterns that are popular outside of the web, but the modern web can do anything any other system can do - so it's time to put these messaging patterns to work in your web applications!
How does Windows 10 change NuGet? Carl and Richard talk to Jeff Fritz about the new features being added to NuGet to support Windows 10 Universal Apps. The core feature is the ability to build a NuGet package that will run on all the Windows 10 universal platforms - PC, tablet and phone. The conversation then switches to the Visual Studio 2015 launch and the crazy three day hackathon preceding it that Jeff participated in, building the AllReady applications for Humanitarian Toolbox and the RedCross. The project is now open source on GitHub and ready for lots of contributors, check it out!
So what's happened with Glimpse? Carl and Richard talk to Anthony van der Hoorn and Nik Molnar about the latest developments with their web instrumentation library Glimpse. First news - Anthony and Nik have joined Microsoft's cross platform team! The conversation digs into the history of Glimpse, its support by the community and Red Gate, and how it has progressed to live as an open source project with Microsoft. If you haven't worked with Glimpse, you're missing out on a great way to understand what's happening with your web site. And it continues to evolve - check it out!
How much of a language is essential? Carl and Richard chat with Mark Seemann about what features are critical to a language, and which ones are redundant. Who would put redundant features in a language? Mark talks about how languages evolve, and how more advanced features can supercede older features, but the old features can never be removed without breaking existing code. And worst still, when building a language is your business, you'll add features whether they are needed or not - you need something new to sell! The conversation also digs into understanding languages more deeply - do you really need that if statement? Just because a feature exists doesn't mean you need to use it!
Peer-to-Peer is more than BitTorrent! Carl and Richard talk to Matthew Podwysocki about the Thali Project, using peer-to-peer technology to put more power in the hands of the users. Matthew talks about being able to communicate between your various devices using WiFi and Bluetooth while maintaining privacy and not bouncing off a cloud server. The cornerstone is security, using TLS to encrypt all traffic in and out of your device. Messaging strategy, data synchronization and more are all part of the Thali Project, making this great technology all open source for anyone to use!
How do the SOLID principles apply to .NET? Carl and Richard talk to Chris Klug about his experiences using SOLID to build reliable, maintainable and scalable project. The conversation walks through the five principles of SOLID with an eye to practical applications in .NET - what does a well implemented single responsibility look like? How does it work with patterns like MVVM? Chris shares his thoughts and coding approaches on a great debate about practical vs ideal implementations in SOLID.
How do you debug browser problems in your web apps? Carl and Richard talk to Kenneth Auchenberg about RemoteDebug, an open source tool to bring a common debugging solution across browsers. And Ken really means across browsers - you can connect Chrome, Opera, FireFox, Safari and Internet Explorer up simultaneously and see how your code changes affect the rendering of your page on all those browsers at the same time! Oh, and it works for mobile browsers also, so you can experiment with rendering on multiple phones at once, and see how the pages really look while you make changes. You need to check this amazing tool out!
So what does it take to develop ASP.NET web sites on Linux? While at NDC in Oslo, Carl and Richard sat down with Mark Rendle to talk through the ins and outs of ASP.NET on Linux. And we're not just talking servers either! Mark talks about what it takes to set up a desktop version of Linux and be able to do ASP.NET development with it, including debugging! The .NET framework is evolving for Linux beyond the Mono project, but there are a bunch of tools out there to help you be productive building ASP.NET on whatever client platform you want. Check out the links!
Why in the world would you want to build a compiler? While at NDC, Carl and Richard talked to Philip Laureano about why he makes compilers! Philip starts out talking how building compilers helps you think about parsers and how that can help your development in every day life. The conversation turns to building your own language, or your own interpretation of a language, such as LISP! Philip digs into understanding IL directly - using tools like ILDASM and PEVerify to manipulate the underlying code made by Visual Studio languages like C#. Get a deeper understanding of the tools you use!
Where will .NET go next? Carl and Richard talk to Rocky Lhotka (who happily is still alive after having his entire aorta replaced) about the resurgence in .NET. Between the open sourcing of .NET creating a common codebase for Windows, OSX and Linux. But that codebase is server focused - what does it take to get to the client? And to that idea, should XAML be open sourced? Rocky drills into the challenges of making cross-platform mobile apps - it's still not simple enough yet. But things are looking up, and there is only going to be more choice. Rocky is optimistic!
How do you extend C#? Carl and Richard talk to Simon Cropp about his open source project called Fody. Simon talks how Fody allows you do do "weaving" of .NET assemblies to add capabilities. Sounds simple, but it's not - it's hugely powerful and has to be handled carefully. To make it even more amazing, there are a ton of add-ins built for Fody to open the door to all sorts of aspect-oriented programming, simplifying testing, instrumentation and other sorts of coding extensions. So many possibilities, you should check it out!
Have you been building web apps with TypeScript? Carl and Richard talk to Steve Ognibene about his work with TypeScript projects. The discussion starts with dispelling myths about TypeScript - no, it doesn't exist just to make C# developers more comfortable in web development! Steve compares how development is different in the strongly typed world of C# where the compiler does a bunch of testing for you versus the dynamically typed space of JavaScript where you're responsible for managing type related errors - something that TypeScript can help with! In the end its all JavaScript, and that is evolving also - Steve talks about how ECMA 6 looks a lot more like C#... is there a middle point here we're all racing toward?
Do you fear the CSS? You're not alone! Carl and Richard chat with Elijah Manor about his experiences becoming a "real" front end developer and embracing CSS development. Elijah talks about making the leap from hiding behind Twitter Bootstrap and actually starting to think about CSS as its own thing. The conversation turns quickly to tools - LOTS of tools. Elijah explains his CSS stack of Sass, CSSLint and AutoPrefixer. But many other tools get mentioned along the way for the variety of services they provide. The tooling is getting better, now is a great time to dig into CSS!
What happens when a bunch of developers get in a room with a bunch of IoT devices? Carl and Richard talk to Josh Holmes about the amazing workshops he's been running to get people looking at the potential of small computing devices in the world of Internet of Things. Josh focuses in on the key bits of what it takes to make something useful in the IoT space - the difference between prototype and production hardware, the role of the cloud, and how critical the security situation is. Lots of great links!
So what has happened with the .NET Core? Carl and Richard talk to Jay Schmelzer about his involvement from the very beginning of the .NET Core infrastructure and the interesting future it has as an open source project. But first a call back to a project that Jay led for years - LightSwitch. So where has it gone and where is it going? Then the conversation turns to the .NET Core. Jay talks about how the development team at Microsoft is starting to do their development in public on the open source project that is now the .NET Core. And then there's OS/X and Linux! How do you separate off capabilities of .NET that are actually part of the operating system, rather than the .NET codebase? Lots of complexity to support cross platform like this, but it opens the door to .NET being everywhere!
Can biology inform computing? Or computing help biology? Yes! Carl and Richard talk to MSR scientist Colin Gravill about biological computing. Alas, the conversation is not about making computers out of biological materials, but there is some discussion about using DNA to do some kinds of computing as well as building synthetic life from modified cells. Colin talks about the tools they're building to be able to simulate cell generations and understand how stem cells evolve into specialized cells. A cool technology/biology Geek Out!
So where does BizTalk fit into your Azure application? Carl and Richard talk to Sam Vanhoutte about his work using BizTalk technology to integrate systems together with Azure in the middle. The conversation pokes a little fun at BizTalks's on-going battle for relevance - for the customers that really need it, it is awesome. But now it's available as a cloud product in Azure which can save a ton in hardware fees, enough to run the infrastructure for a long time. Sam also digs into Enterprise Service Buses and their role in the modern infrastructure. Good stuff!
Akka.NET ships! Carl and Richard talk with Aaron Stannard about Akka.NET, a toolkit and runtime for building highly concurrent, distributed and fault tolerant event-driven applications. Akka.NET is a port of the original Akka framework in Java/Scala. Aaron talks about the reactive manifesto as the driver for Akka.NET, to provide tools for responsiveness, resiliency, elasticity and message driven.
So what is the state of open source in the .NET community? While at the .NET Fringe conference, Carl and Richard moderated a panel of Ian Cooper, Amy Palamountain, Scott Hanselman, Sebastian Lambla and James Nugent as they explore the past, present and future of open source and the .NET stack. Obviously having Microsoft open source huge tracts of the .NET stack is a huge topic on its own, but so is the role the Microsoft should play in the open source community. What makes this community different from other open source communities? Are things moving in the right direction, is it getting better? Listen for some significant debate and thinking from a broad spectrum of open source folks!
So what JavaScript libraries are you focused on today? Scott Allen is back to talk about the latest bits he's excited about, including Rob Eisenberg's Aurelia! The conversation starts out focused on the on-going evolution of Javascript, with ECMA 6 and 7 picking up more and more features of modern programming languages - it's not the JavaScript you remember from the old days! This also impacts JavaScript libraries and opens the door for the on-going evolution of those libraries. Some change radically like AngularJS and some stick with their patterns so that new tools can get built, like Aurelia. While it's still early days for Aurelia, Scott is so keen that he's dived in as a contributor to the open source product. You should check it out!
So how do you track errors in production? JD Trask talks to Carl and Richard about raygun.io, a service for instrumenting your clients and servers in production and feed errors directly to your project tracking and bug reporting systems. The conversation digs into how to deal with errors in your application in a way that actually delights your users - sending emails letting them know you saw they had a problem and are working on it, and being able to see the details of the problems early and often without waiting for complaints. These are the tools for taking your application quality to a higher level!
The Three Ps: Passion, People and Participation. Carl and Richard talk to Mike Benkovich about his passion around the three Ps. The conversation starts first with a tour of favorite technologies, including a long conversation around the evolution of XAML and the challenges of modern development with a diverse set of clients. That impassioned discussion turns meta as Mike brings up the three Ps and what it means to work on things you truly care about with people that matter you. Can you really call it a job?
What does it mean to be a modern mobile developer? While at the Nebraska Code Camp, Carl and Richard talked to Heather Downing about her recent dive into mobile development. In only a few years, Heather has been involved in a number of cool projects and talks about learning on the fly to build native, hybrid, and web-based mobile applications. The conversation explores the advantages and disadvantages of each of the stacks, and the enthusiasm that comes from being effective and successful even without decades of experience. As Heather says, when a new framework comes out, everyone is a novice, no matter how much experience you have. There is no substitute for working hard to learn and understand what the framework brings to the table.
How did you learn to debug? While at the Nebraska Code Camp, Carl and Richard talked to Joel Kauffman about debugging practices. Rarely is debugging taught in classes, arguably because all school code is perfect. But code in the real world has bugs, and finding those bugs can be challenging. Joel talks about helping developers understand how debugging works, utilizing stack traces, working backward through code, using watches, and so on. The conversation also digs into various tools available for assisting in debugging production applications, including open source JavaScript libraries and much more expensive dedicated instrumentation products. But good debugging is worth a lot - it's a worthy skill to cultivate!
At the Nebraska Code Camp, Carl and Richard moderated a panel discussion with Mads Kristensen, Lee Brandt, Josh Broton, and Robert Boedigheimer exploring the state of web development on the Microsoft stack. Of course, the first topic is the upcoming ASP.NET vNext and its switch over to open source, along the way letting go of some legacy features including Web Forms. The panel also discussed various JavaScript libraries, when they should be used and when plain old VanillaJS is a better way to go. Conversation also explored design tooling and whether we all should be running Visual Studio or stick with dedicated design tools and editors. Lots of viewpoints from a great panel!
What's the difference between an Azure Web Site and Web App? Not at thing! Carl and Richard talk to Scott Hunter about the latest announcements from Microsoft about Azure App Service. Azure App Service brings together Azure Web Sites, Mobile Services and a whole bunch of other goodness. Scott explains how Microsoft has unified all of these services under one umbrella to make it easier to buy and use. If it speaks HTTP or HTTPS, it's an Azure App Service. Then on to the new stuff, including Logic Apps, which lets you manage your mashups using workflow and interconnection tools. You need to check out this great set of technology!
Are you building in WPF? Are you using PRISM? Carl and Richard talk to Brian Noyes and Brian Lagunas about the PRISM project, which is a set of tools for building WPF apps. As Brian Noyes says, PRISM is the AngularJS of WPF! The conversation dives into the on-going evolution of PRISM, including support for Windows Phone and Universal Apps. The point of PRISM is composability, helping you to organize the elements of your application into something more maintainable, easier to test and continue to evolve. Brian and Brian also announce that they are running the PRISM project now and have moved it to GitHub - they will take your pull requests!
Programming in Swift? Want to build Android apps too? Carl and Richard talk to Marc Hoffman of RemObjects about his Silver project - using Swift to program for Android. Swift is Apple's cool new language for developing iOS apps, making life easier than Objective C. Don't use Swift? No problem, how about Pascal - because RemObjects has Oxygene, which is a moderized version of Pascal. That doesn't work for you? Then how about C#? Because this tool set lets you write C# across all the platforms too. And you can use it in the development environment of your choice, including Visual Studio. Mind blown? Ours too!
So when do IT Pros become developers? Carl and Richard talk to Steve Evans about his operations folks writing code and dealing with all the challenges that everyone finds when they write, own and operate code. The code in question is primarily PowerShell, used to automate deployment. It needs testing, source control and everything else that code requires. Steve talks about how his operations folks have come to learn the same things that all developers need to learn, and for the most part, end up using the same tools. PowerShell may have its own IDE, but more than ever the IT Pros want to use Visual Studio for its richness of tools and integration with resources that they realize they need. Now all we have to do is convince Microsoft that just because you operate systems doesn't mean you don't program!
Like beer? Are you using Untappd? Carl and Richard talk to creator Greg Avola about the phenomenon that is Untappd. What started as a simple tool to keep track of what beer he liked and didn't like has turned into a super popular app with millions of downloads. Greg talks about what it took to keep the app working as the number of users grew immensely, and how he and the team built the app to work on all sorts of different phones. In the end, the cornerstone of Untappd is the back end with an amazing catalog of beers and user preferences that help the lovers of beer and the makers of beer connect together to make beautiful beery music!
What an amazing year for ScriptCS! Carl and Richard talk to Glenn Block about the latest developments in ScriptCS - comparing the state of affairs to the last time he was on a year previously. With Roslyn all but shipped, ScriptCS is going mainstream - perhaps it will even be bundled with Studio someday! In the meantime, Glenn and a host of other contributors have continued to extend ScriptCS to make it easier to deploy, share scripts and add additional functionality without having to work in Visual Studio if you don't want to. ScriptCS is putting C# into everyone's hands!
ASP.NET continues to evolve! Carl and Richard talk to Mads Kristensen about the many amazing things he's working on in the web space, starting with Web Essentials! Mads explains how Web Essentials is a way to experiment with new features for ASP.NET, and that success comes when the feature is pulled into Visual Studio itself - and you get to be part of that process, it's all open source! The conversation turns to Visual Studio embracing the web development ecosystem to use the best tools for the job, whether that is browser and performance testing, package management and workflow. Use whatever tools you want from whomever, and Visual Studio will work with them - 2015 is shaping up to be an amazing version!
So what IoT device have you built? Carl and Richard talk to Suz Hinton about her experiences building IoT devices. Suz starts out talking about Meow Shoes, a pair of shoes she added sensors and an Arduino too - and used cat meows to test with. All sorts of hilarity ensues, but there are a number of interesting applications can be made from capturing someone's movements, even through their feet. The conversation turns to the dev stack - all Javascript, front and back! There are all sorts of libraries and tools now for anyone to build low cost IoT devices. Suz also talks about her fascination with 3D printers and their relationship to IoT and the maker movement in general. It's becoming a Makers world!
How do you test your cross platform applications? Carl and Richard talk to Paul Mooney about building software in .NET and Java and wanting to use a common set of testing protocols. Tricky, but possible! The conversation focuses in on abstractions, which are key to creating sufficient separation of functionality to allow you to insert testing code regardless of what language you work in. And it turns out you can write tests for multiple languages if you're careful. Java and .NET are more similar than we care to admit, and it opens the door to other approaches to testing. TDD is not platform specific!
So how do you build your cross-platform mobile apps? Carl and Richard talk to Troy Miles about his experiences building mobile apps with the Ionic Framework. Built over top of Adobe Cordova, Ionic takes over a lot of the plumbing code that you find yourself building in every mobile app. Ionic brings controls to the table in two forms - pure CSS components and CSS/JavaScript. You could write the CSS yourself (or maybe you couldn't), but why would you? Troy talks about some of the applications out in the marketplace built with Ionic and how well they look and act like native apps, without having to write the app from scratch multiple times. Check it out!
Are you ready for ECMAScript 6? Carl and Richard talk to Jafar Husain about some of the great new features coming in ECMAScript 6 - the next version of JavaScript, at least for now. Jafar talks about the fun and challenges of participating in the TC39 committee that developed the ES6 standard which is now being implemented by browser developers. Jafar digs into Promises, Yields, Proxies and more - lots of discussion about features you've come to love in languages like C# appearing in JavaScript! And the process isn't done, the JavaScript 7 spec is already being developed!
Are you ready for C# 6? Carl and Richard talk to Bill Wagner about the latest changes to C# 6, with some features being dropped (perhaps to appear in a later version), some syntax changes, and digging deeper on some of the more complex features available. Now that everything around C# is open source, you can see the process of developing new features going on, and even participate in it! Bill and Richard also talk about Humanitarian Toolbox, their ongoing effort to build open source software for disaster relief organizations. And even a little discussion about C# 7!
So what comes after Durandal? Rob Eisenberg talks to Carl and Richard about Aurelia! The conversation starts out focused on AngularJS and Rob's role with the open source project and ultimate departure. But that was back in November 2014 - what happens next? Aurelia is Rob's vision of what web developers need to build effective browser-based client applications. Rob talks about implementing Aurelia to utilize ECMAScript 6 and 7 while still polyfilling back to ES5 - the Javascript you recognize. This leads to a whole discussion on transpiling and how its possible to move a language forward without breaking backward compatibility, even a language as diverse as Javascript!
Are you ready to build web pages with web components? Cory House is! Carl and Richard talk to Cory House about the web component specification and what that will look like in your modern web development. As Cory explains, the key idea behind web components is to provide a framework for Javascript library extensibility that doesn't force you to own the library yourself. While the standard is still being discussed, Cory mentions some libraries that have already gone ahead and implemented a variation of this extensibility, such as Steve Sanderson's amazing KnockoutJS. Web components make Javascript that much better to use!
Looking at moving from WinForms to WPF? Phil Japikse can help! Carl and Richard talk to Phil Japikse about the changes in thinking that have to happen to make WPF work for you if you're coming from a WinForms world. The conversation starts out discussing the strengths of WinForms and why they persist to this day - it just works! And there's no designer experience like it, including WPF. No matter where you go, after WinForms, you're going to spend more time looking at code for your UI. Do you have to learn MVVM? It depends! Phil talks about the different approaches to making WPF work for you, and taking your UI to it's full potential.
Time for a craftsmanship update from Uncle Bob! Carl and Richard talk to Bob Martin about the growth of developers, and how the number of new developers is overwhelming the available teaching and mentoring resources available today. The discussion turns to the fact that customers would rather have mentors writing code than teaching new developers - better to throw the new folks in a room and let them fend for themselves, maybe software will come out! Uncle Bob talks about the rise of professionalism, the need for professional associations or guilds, taking on the liability of software - the challenge is getting there.
Are you building mobile first? Carl and Richard talk to Chris Love about his work building mobile apps - in two styles! First Chris talks about working with a startup, with the latest tools and lots of experimentation. On the other side, there's the corporate development world, which is far more conservative and resisting change. Then the conversation turns to progressive enhancement, making new versions of web pages using modern tools and letting the old pages serve older browsers until its no longer needed. IE8 has one year of life left, its time to move!
Still resisting going to WPF? Billy is here to help! Carl and Richard chat with Billy Hollis about the ever-improving ability of WPF to build great looking desktop applications. Billy talks about techniques for getting the most from WPF and paths for new developers to take to be successful. There's a huge array of options out there in WPF, it can be terribly confusing to know where to get started. WPF is eight years old - as old as Visual Basic ever got! Shouldn't everyone be using it by now?
Duck punch your JavaScript lately? Todd Gardner talks to Carl and Richard about the practice of changing object behaviors in JavaScript for good or evil. After an explanation of how duck punching (or monkey patching, pick your favorite silly term) works, the discussion turns to the dark side of how hackers can intercept your Javascript library calls, capture keystrokes and otherwise subtly change your web pages. Could you tell? Then Todd dives into using your powers for good - strategies for testing, aspect-oriented programming and so on. Duck punching does have significant limitations, so use sparingly, but when it works, its amazing! (NOTE: no ducks were harmed in the making of this podcast)
Carl and Richard talk to Dominick Baier and Brock Allen about the new version of Thinktecture IdentityServer. As Dominick explains, as soon as you have more than one web application that needs authentication, you want to go to a centralized authentication and authorization scheme, and that's where IdentityServer comes into play. Working with oAuth2 and OpenID Connect, you can create identities for your users from Active Directory, other IMAP stores or just a plain old SQL Server. Take your authentication strategy to the next level!
Ready to think beyond the SPA? John Papa talks about the continuing evolution of HTML 5. Carl and Richard chat with John about web components, an evolving standard to make JavaScript libraries more extensible and organized. AngularJS comes out in the conversation as well, especially version 2 with its breaking changes - but you don't need to migrate if you don't want to. V1 will continue development. John also digs into his current suite of tools for building, deploying, and debugging web pages. The technology is maturing, and that means better tools!
Another great show from NDC London, Carl and Richard talk to Ben Hall about Docker. Docker has been taking the industry by storm, bringing a lighter-weight approach to virtualization by getting the operating system out of the package and focusing on automated configuration and implementation. Ben talks about the origins of Docker and its focus on the Linux world - but that is rapidly changing with Microsoft promising an implementation running on Windows. The potential of Docker for facilitating efficient development is obvious, but could this change how we use applications as a whole?
At the NDC London conference, Carl and Richard talk to Steve Sanderson about his work on the Azure Portal and building arguably the greatest Single Page Application (SPA) around today. Steve talks about the approach the Azure Portal team has taken to deal with memory management as well as a flexible plugin architecture that allows the various Azure related teams to plug into the common "shell" component of the Azure Portal. The conversation digs into the challenges of SPAs as the scale and utilization goes up. You can make it work, but it isn't always simple! Steve also discusses the choices you can make around SPAs, it's not just about AngularJS, there are many ways to build a SPA toolchain.
While at NDC London at the Excel Center, Carl and Richard talked to Phil Trelford about building your own compiler. First off, why would you do that? Phil talks about the various ways that compiler technology can be used and help improve your own understand of languages and tools. You probably don't need to replace the C# compiler for your applications, but you might want to use parsing technology to provide algorithmic support in your applications. The power of F# is apparent when you start working on compilers, with its amazing pattern matching and parsing capabilities. Phil also mentions some toolsets to make experimenting with compilers easier, check out the show links for more info!
While at NDC in London, Carl and Richard talk to Shay Friedman about the Chrome Developer Tools. The conversation starts out talking a bit about the state of web development, the jump in JavaScript performance, and the huge increase in the complexity of web applications - which naturally leads to the challenge of debugging said JavaScript-based applications. Enter the Chrome Developer Tools. Firefox was the original web developer browser, but Chrome has slid into that slot with more capabilities than ever. More than just element inspection, the Chrome Developer Tools let you look at your web application executing on the browser. Shay talks about tracking down memory leaks in complex Javascript code, where many variables are created, but few are destroyed. You need these tools in your kit!
Julie is back and all about the latest version of Entity Framework - version 7! The conversation starts out with a bit of a state of the union, with Julie describing how moving Entity Framework to GitHub has opened up an amazing level of communication between the EF team and regular developers. Which leads to the scarier part of the discussion: The breaking changes coming to EF7 from EF6. Like ASP.NET vNext, EF7 represents a substantial break. But Julie says you shouldn't worry, there are lots of solutions. Oh, and did she mention that they are planning on including support for non-relational (NoSQL) data stores? Really!
Carl and Richard talk to David Božjak about the Lumia Imaging SDK... or is it the Nokia Imaging SDK? Caught in the midst of a name change since the acquisition of Nokia phones, the SDK is called Lumia Imaging on the blog sites, but is still Nokia Imaging on NuGet. Certainly it'll all be Lumia some day. David talks about the huge array of features available in the SDK to take photos, apply filters and effects to them, and then render the images. The conversation digs into how to handle huge images when you have limited memory, so that thumbnails and partial renders keep the memory footprint down, and streamed rendering lets something phone size still render the full image. Cool stuff for your mobile app!
Carl and Richard talk to Rocky Lhotka about where universal apps in Visual Studio are really going. But first, a bit of a landscape discussion, especially a laugh about the "comeback" of .NET and C#. Did Xamarin save the day? Rocky talks about how universal apps aren't all that universal, but with Xamarin in the mix, you start to look at a common code base for desktop, laptop, tablet and mobile development. Almost. Maybe. It's always more complicated than you think! But Rocky is optimistic that things are going the right way, so that everyone can start building cross-platform applications for their customers really soon.
Carl and Richard talk to Itamar Syn-Hershko about adding search technologies to your application. The conversation starts out focused on what SQL Server can do for search... the LIKE operator. What about NoSQL? Itamar talks about the role that data stores like RavenDB can play as far as finding data. But then you get to dedicated indexing and search tools like Lucerne.NET, ElasticSearch and Solr. Itamar talks about the advantages of using these tools in terms of speed of indexing and search, as well as the ability to bring multiple data sources together under a common indexing strategy. How do you do search in your app?
While at the MVP Summit, Carl and Richard sat down with Pratap Lakshman, Peli de Halleux and Nikolai Tillman to talk about automating unit testing in .NET. Originally a Microsoft Research Project, PEX is now part of Visual Studio 2015, and digs deep into the IL of your application to generate a huge variety of unit tests. The team also talks about some of the other cool projects they've built using the PEX engine, including CodeHunt, a tool using testing to teach you to program. Check out PEX on Microsoft Research, and get ready for Studio 2015!
Carl and Richard talk to Michael Van Sickle about developing web applications using the Dojo Toolkit. Not heard of it? You're not alone, but Dojo has been around since 2006! Michael talks about Dojo's focus on backward compatibility, making sure that web applications built with the framework continue to function as HTML, Javascript and CSS evolve. Heck, Dojo started before HTML 5 browsers were even available! If you're concerned about the longevity of your web applications, you should check out Dojo.
Carl and Richard talk to Roger Johansson about Akka.NET, a library to help you build concurrent and distributed applications. Akka.NET is a port of Akka for Java, and is open source on GitHub. As Roger explains, Akka.NET uses the actor model to create a level of abstraction ideal for building concurrent applications. This is similar to the Orleans Framework from show 969, but with some distinct advantages. The conversation gets into how folks focus on object orientation can struggle with concurrency and Akka.NET solves these problems differently that TPL and reactive extensions.
Carl and Richard talk to Laurent Bugnion about Xamarin Forms. Now that the forms capability has been out for a few months, Laurent digs into the strengths and weaknesses of the approach. The goal of Xamarin forms is to simplify cross-platform mobile development between iOS, Android and Windows Phone. Has it delivered? Laurent focuses in on building one project, but different builds with different bits of code for each device. You can't have one code base run everywhere, nor do you want to - there's still a need for tailoring for each device, but Xamarin Forms makes that smaller and simpler.
Carl and Richard talk to Brian Randell about the latest on Visual Studio Online (VSO). As Brian explains, this isn't about putting Visual Studio itself into the cloud, but rather surrounding your copy of Visual Studio with services in the cloud that make development easier. The conversation goes down the list, starting with source control in general and TFS specifically. One huge advantage of VSO - you don't have to deploy TFS yourself! Beyond source control and task management there are deployment tools and testing, all of which can be run in the cloud, where you're only billed for what you use. This is modern development at it's finest!
Fresh from the keynote at Tech Ed Europe in Barcelona, Jeremy Thake talks to Carl and Richard about the latest announcements around Office 365. The development story in the cloud continues to evolve, and Jeremy talks about the Office 365 APIs going into general availability, along with an Android SDK. The iOS SDK is right behind it, currently in preview and ready for you to start building apps for iPhone and iPad that work with Office 365. The story is huge - new programming models for Exchange and Sharepoint in the cloud mean its easier than ever to create automation and make your company's Office experience even better!
Carl and Richard talk to Jen Myers about user interface design on the web. The conversation starts out with a broad focus on what has been happening on the web with HTML 5 - the emergence of the Single Page Application (SPA) and the improvements on separation of data, structure and formatting. Jen focuses in on the challenges of the least mature of the trifecta of web applications - CSS. CSS is only at version 3; HTML and JavaScript are older and more mature. And while CSS3 is a pretty good version, there are still challenges there and there are tools to address them.
Carl and Richard talk to Miguel Castro about his work building modern web pages for his clients. After a couple of years working hard on WPF applications, coming over to the web world was a challenge - but as Miguel discovered, the MVVM pattern he used in WPF apps works great on the web as well! Miguel talks about working with Knockout and other libraries on his way to discovering a comfortable pattern of development using AngularJS and ASP.NET MVC together. That's right, using ASP.NET MVC to do MVVM page design! Miguel talks about how his approach to web pages creates something testable and maintainable, which is what you look for in a great business web site.
Kate Gregory is back! Carl and Richard chat with Kate about the state of C++ today. The conversation starts out with a discussion about the recent C++ conference in Redmond that brought the best-and-brightest in the industry together to talk about how C++ is currently being used and how the standards can continue to evolve. Kate talks about the challenges of the language, how it is not typically used for CRUD apps, but rather applications that live on rovers on Mars, in games, in drivers, operating systems and a whole host of diverse platforms. That's what makes C++ amazing, it's everywhere! The discussion continues on how C++ does continue to evolve, adapt the best ideas from other language (looking at you, lambdas!) and today's code is dramatically different from just a few years ago. Check it out!
Carl and Richard talk to Jimmy Bogard about his experiences scaling an MVC web site to thousands of pages and thousands of users. The conversation starts out focused on why to use MVC - comparing original ASP with ASP.NET Web Forms and MVC. Jimmy talks about the early days of MVC and the challenges of making a very new product work, but in exchange for some substantial benefits - but perhaps not the ones you'd think! Jimmy also digs into scaling an MVC web site across multiple servers, dealing with state management (Session is evil!) and what you can do to web pages to keep them performing well with large numbers of users. The discussion also moves to managing huge number of pages and developing patterns for UI and object naming to simplify development and testing. Automation is key when you're working at scale!
Carl and Richard talk to Lino Tadros about his viewpoint on doing mobile development using the plethora of cross-platform development tools available today. First up - Xamarin's tools for building iOS and Android apps. Windows Phone also makes an appearance, especially with Xamarin Forms. The Xamarin stack continues to evolve and improve, and Lino is pretty impressed. Then it's over to the HTML/JavaScript world of Adobe Cordova, with implementations in Visual Studio as well as the Telerik Platform. Lino talks about its strengths around working beyond even the three top mobile platforms for when you really want to deal with the long tail, but the implementations vary a bit, leading to the ecosystem of plugins to fill in the gaps. Both these approaches work, Lino focuses in on the skillsets needed, and reminds of the reality - there is no cross-platform solution out there that doesn't demand you understand the platforms you're working with.
Carl and Richard talk to Ben Watson about his work around writing high performance .NET code. Ben talks about how the Bing team decided to use .NET code internally, which seems like an obvious choice for a Microsoft group, but it isn't really - when milliseconds count, does .NET makes sense? Ben says it does, and he's done the work to prove it. Ben's book "Writing High Performance .NET Code" focuses not only on coding techniques, but also the larger practice of having a deep understanding of how .NET works, and the processes that take place to turn .NET code into machine code. The conversation also digs deeply into the need for performance measurement, especially Event Tracing for Windows. .NET can be fast when you do it right!
Carl and Richard talk to Trevan Hetzel about writing CSS code to do JavaScript work in modern web pages. When you're a coder, you tend to code. When you're a designer, you're more likely to style. Trevan discusses the many things that CSS can do that most coders tend to write JavaScript for instead. And once you see what's possible in CSS, the question drills in on - is this a good idea? Are we writing JavaScript that is better served as a behaviour in a style? Where do you want your stuff to live? Trevan also digs into a bunch of great tools for taking your CSS to a higher level, check them out in the show notes!
Carl and Richard chat with Mike Hostetler about his work with Node.js and the Sails.js MVC Framework. The conversation starts out with a recap of Node itself, how it takes on the web services problem with a minimal footprint at first, and how you can add in the bits you need with the Node Packaged Manager. Then Mike digs into Sails.js, an MVC framework to help you build well-structure web pages in JavaScript against Node on the backend - JavaScript everywhere! The discussion also deals with the state of the Node community, including the announced departure of TJ Holowaychuk, one of the most prolific Node library developers out there. Node is moving into the mainstream, have you checked it out? Lots of links below!
Carl and Richard chat with IdeaBlade man Ward Bell about the latest in Breeze and the whole concept of building web clients that can function in a disconnected state. It's possible with modern browsers to store information locally, which can help your web app survive an intermittent connection. Ward talks about how Breeze, his open source tool for caching, validation and querying, helps solve the disconnected problem. The challenge is finding the right patterns of development so that you don't have to litter your code with connectivity testing, just handle failures when they come without losing the user's work. Easy, right?
Carl and Richard talk to Kathleen Dollard about her deep dive into Roslyn. The conversation starts out with a great question from a listener about using Roslyn to step into the compiler and understand how syntax trees would look... and what the potential for visualization is. Kathleen talks about her own open source project RoslynDom to help understand what's going on inside of Roslyn. The discussion also gets into some of the cool new capabilities coming in the next version of Visual Studio, and how Microsoft has changed the shipping process entirely - it's not the Studio you once knew!
Carl and Richard talk to Paul Sheriff about his work building mobile web apps using ASP.NET WebForms. Yeah, that's right, WebForms! Paul talks about the problems with WebForms and how they can be overcome with some careful configuration and understanding of how WebForms really works. The conversation digs into adding Responsive Web Design to a WebForms page to make it work well on a mobile browser using Twitter's BootStrap - and also how to use WrapBootStrap to make your pages not look like BootStrap pages. Not every mobile web app should be a WebForms app, but it makes sense in some cases - Paul compares approaches to help you choose!
Carl and Richard chat with Dan Wahlin about his latest open source project, building a Single Page Application (SPA) using AngularJS interfacing with Microsoft Azure Active Directory Services (MAAD) and Office 365 API. Called OfficeDev and published on GitHub, this project demonstrates interacting with Office documents, Sharepoint and traditional enterprise authentication systems from within a browser. Dan discusses the thinking behind the project and some of the more challenging parts to it - but you can check all that out for yourself on GitHub, the code is all published.
Time for some more IoT! Pete Brown checks in with Carl and Richard to talk about Microsoft's continuing announcements in the Internet of Things space. The conversation starts out with a discussion about Pete's work in the music side of things and the Windows 8 API for MIDI - helping musicians use a Windows 8 tablet as the hub of a music system. Then it's on to several important announcements, including the implementation of C# with the Intel Galileo board, and the announcement of two new hardware platforms: SharksCove, which is essentially a tablet-sized prototyping platform and MinnowBoard, a Arduino-sized board running actual Intel hardware and capable of running a full version of Windows and .NET! The hardware is getting amazing, and your .NET skills are even more valuable!
Carl and Richard talk to Bill Wagner about some of the features coming in C# 6.0. The conversation starts with the history - the internal Microsoft project known as Roslyn has become an open source project on Codeplex. Bill runs down a number of cool features coming in C# 6.0, including primary constructors, improvements to Await and more. No idea when the shipping date is, but C# 6.0 is in the Visual Studio 2014 CTPs and is available for download any time you like!
Carl and Richard talk to Chris Love about building mobile web apps for the enterprise. The conversation starts out with a reference to a comment made on a previous show about the problems with web apps not being built well enough for your device - that they feel too webby. And Chris agrees - it's very challenging to build a web app that feels great on a mobile device. So what's the problem? Chris digs deep into what it takes to make web pages render fast and clean on phones and the biggest bugbear of them all - building a great, compatible touch interface for a web app on a mobile device.
Carl and Richard chat with Scott Hunter about how Microsoft is working to evolve web development for ASP.NET developers. While the focus of the discussion is on ASP.NET vNext, you can't talk web without also talking cloud, and that means Azure. Scott digs into many of the new features in Azure that can make a web developer's life easier, before digging into ASP.NET vNext. No punches are pulled - vNext represents some breaking changes, especially for web forms developers. But web forms continues to be supported and added to in future versions of ASP.NET, just not at the rate that vNext is capable of. ASP.NET developers? Have a listen!
Carl and Richard chat with Rick Strahl about his latest efforts to build mobile web applications. The conversation starts out with a recap of the continuing debate about native vs web on mobile devices. As Rick says, there are no easy answers there. Every approach to cross-platform development (and different browsers on different phones represent different platforms) have compromises that need to be made. There is no "one size fits all" available. But the web continues to evolve, and Rick is optimistic that it is all coming together. Also, check out his open source, free-to-download web load testing tool!
Carl and Richard chat with Jeff Fritz about ASP.NET vNext - and yes, ASP.NET is now open source! So what does that really mean for ASP.NET developers? Jeff digs into the impact of taking open source on the development process of ASP.NET and how we can all get more involved! This leads to a discussion about the expanding reach of .NET into other platforms such as Linux using OWIN and Katana, and the Microsoft stack being a friendly place for developers of all kinds to hang out. Azure is also a big part of the future web story, and Jeff digs into the cloud-optimized stack and how you can get your web app there.
On the last day of the NDC 2014 Conference in Oslo, Carl and Richard assembled a panel of speakers: Robert Virding, Steve Sanderson, Venkat Subramaniam, and Anthony Eden. The discussion focused initially on the motivations around building software, but ultimately evolved into the best way to build sustainable software. Is the profit motive for software development a good one? What about open source? How do you know when your software is 'done?' How do you decide what features to add and what to leave out or even remove? Great thinking from a remarkable set of minds!
Carl and Richard talk to Rob Eisenberg about the crazy changes going on in his life - starting with joining Google! Rob talks about meeting the AngularJS folks at the ng-conf conference and deciding that upcoming versions of DurandalJS and AngularJS are on a collision course. So why duplicate effort? Rob talks about the significant rethinking going on with AngularJS 2.0 to be more effective in mobile environments, dealing with rendering performance and connectivity issues. The whole process is taking place in public on GitHub. You should check it out!
While at NDC, Carl and Richard chat with Troy Hunt about specific common web security breaches and things you can do about them. The conversation starts out with a continuation of an earlier show, talking about the vulnerabilities around open WiFi connections. From there, Troy talks about the most common breach of them all - SQL Injection. Yes, it's still a problem. Troy also digs into the importance of transport layer security, typically using SSL. There's a reason all the big web sites have switched to HTTPS all of the time. Maybe it's something you should consider also?
While at NDC in Oslo, Carl and Richard talked to Nik Molnar and Anthony van der Hoorn about instrumenting web application. Of course the conversation starts out with a catch-up on Glimpse, the awesome session-based instrumentation tool for your web pages. Then the conversation moves to looking at instrumentation end-to-end on web applications, in the aggregate, so that you can see where your pain points are and where to focus your attention on tuning. Nik talks about starting at the high level view point so that you focus on the right things - it's not always about the code!
Carl and Richard chat with Paul Stovell, one of the principals behind Octopus Deploy. Octopus Deploy is all about getting your organization to continuous delivery - by automating every step. Paul talks about how the product came to be, from the frustrations he was having with deployment using Word documents and remote desktop. Octopus Deploy is free to download and use for small projects. Once you're addicted to one-button deployment, you can pay for larger projects and teams. And under the hood, it's technologies like PowerSshell that make it all work. This is a great addition to your DevOps toolkit.
Celebrate the millennium with us in this special episode of .NET Rocks! We do a little looking back, a little looking around and a little looking forward. Jason Olson joins us for a mini-show about audio and MIDI in Windows - and an epic giveaway. Mary Jo Foley shares her story of how the world is a better place because of .NET Rocks!, as do you, our listeners! You told us your stories of success, and now it's your turn to shine.
While at NDC, Carl and Richard chat with Cory House about his experiences building Single Page Applications for the automotive industry. Cory talks about the challenges of the industry, including supporting both IE7 and IE8 running on Windows XP and iPad devices. Quite a span of technology there! The conversation digs into UI design, the integration of third party services and meeting the expectations of a customer that is not all that focused on technology. Cory digs into the idea of SPA as a classic desktop application replacement - it can be done!
While at NDC is Oslo, Carl and Richard talked to Chris Hardy about Xamarin's latest work - Xamarin.Forms. As Chris explains, Xamarin.Forms brings a XAML-like experience to building forms for iOS, Android and Windows Phone. The conversation focuses in on what Xamarin.Forms is best suited for, when you should stick to the standard class based tools for building clients, and what it takes to have 100% code sharing. Is it worth it? Depends! Chris also digs into the role of MVVMCross in Xamarin development as well as Xamarin Test Cloud and University. Cool stuff from the Xamarin team as usual!
Carl and Richard chat with Jonathan Peppers about his experiences building phone games for different languages and cultures. The conversation starts out talking about Jon's game Draw a Stickman, originally made for the US market. The game was also very popular in China, but as a pirated game. Jon tells the story of how they evolved Draw a Stickman to be a free game with in-game purchases and culturally oriented for China to make it profitable and successful there. Can your game be successful across multiple countries and cultures?
While at DevIntersection in Orlando, Florida, Carl and Richard chat with Douglas Crockford about the better parts of JavaScript. Douglas wrote JavaScript the Good Parts back in 2008 and was a key influencer in making JavaScript the important language it has become. The conversation digs into the strengths and weaknesses of JavaScript and how it is evolving. Douglas also talks a bit about JSON and the wonders of not recreating the wheel. Great thinking from one of the important minds of the Web today!
While at DevIntersection in Orlando, Carl and Richard talk to Billy Hollis about WPF. Having established that WPF is not dead a few weeks back at Build, Billy admits that he's never stopped developing for it. His work is all about client applications, and HTML just won't do. The discussion digs deep into user interaction patterns that WPF is strong at and how user interfaces and interactions continue to evolve. Touch is not the end of the road!
Carl and Richard talk to Francesco Balena about migrating VB6 applications to .NET. Yes, that's still happening! With Microsoft ending support for Windows XP in April 2014, folks that have been hanging onto old platforms and applications are taking another look at migrating. Francesco makes an amazing tool called VB Migration Partner that analyzes VB6 apps to identify what parts of an application can be converted into VB.NET (or C#) and what parts need to be rewritten. While migration is never simple, Francesco provides great advice on how to make it possible. Still got some VB6 in your life?
Carl and Richard chat with James Montemagno about his experiences building Xamarin applications. But first, a little history, James first getting involved in mobile development, finding Xamarin, culminating with being hired by Xamarin and going on the road trip with .NET Rocks! James talks about the kinds of apps he's been building using the tools, how he organizes his projects for cross-platform development, what's in his toolbox and what he's adding to the community-at-large to help developers be successful.
Carl and Richard talk to Udi Dahan about the state of NServiceBus. NServiceBus is Udi's on-going development effort to make the development and maintenance of complex, distributed systems easier. The conversation digs into how developers fall into the N+1 trap of adding more and more interactions between different applications until the system becomes unmanageable - or force the interaction to take place at the very back end of the system, like the database, leading to slow interactions and complexity in the database that shouldn't be there. Whether you use NServiceBus or not, Udi's thinking on bus-based application design will open your eyes!
While at DevIntersection in Orlando, Carl and Richard sat down to chat with Zoiner Tejada about his work instrumenting cloud-based web sites. Zoiner talks about using a wide variety of features in Google Analytics to instrument his Azure apps, including going directly to the Analytics APIs to do instrumentation of other kinds of apps, connecting up just about anything that can speak HTTP! The second half of the conversation dives into utilizing this analysis - with a long chat about what a real Minimal Viable Product means and how the Lean Startup principles can be abused. Great conversation from a brilliant guy!
Carl and Richard chat with Brian Noyes about the state of affairs with WPF, Windows 8 and the Prism project. Brian starts out the conversation talking about WPF is far from dead - Microsoft continues to invest in it, and lots of folks, including Brian's customers, are building great applications with WPF. This leads to a discussion about how the changes to Windows 8 at Build affect the WPF story and development in general - a huge topic area that warrants a bunch more shows. Finally, Brian digs into Prism, Microsoft Patterns and Practice group toolset for building great Windows apps for all sorts of versions of Windows, including Windows 8. Prism has moved beyond Silverlight, and is worth a serious look!
Carl and Richard talk to Burke Holland about building mobile apps. But the conversation starts out with an announcement - Telerik's KendoUI is going open source! Burke talks a bit about the history of KendoUI and how it has evolved over the years, including a KendoUI Mobile (which is also open source). That leads to a discussion about mobile development as a whole, including his preferred tools and styles for building apps across different mobile platforms, comparing native, hybrid and web development on the smartphone and where tablets fit into this story.
Carl and Richard chat with Richard Astbury about the Microsoft Research project known as Orleans. Orleans brings the Actor model of development to C# - the Actor model is typically found in functional languages, but you can write functional C#, so why not? Richard talks about Orleans being used to run Halo 4, where hundreds of thousands of players connected with each other between hundreds of Azure instances. Orleans was officially released into the wild at Microsoft Build. Looking at scalable software strategies? Take a look at Orleans!
Carl and Richard talk to John Papa about the current state of Single Page Application development. John digs into his latest focus on libraries, the constant evolution in the Javascript world, and how AngularJS is still a big pile of awesome. The conversation also turns a bit philosophical, with a discussion of Javascript being the assembly language of the web, and how languages like Dart, CoffeeScript and TypeScript create abstractions over assembly language to make web applications more maintainable.
The first of the new Tablet Shows as .NET Rocks episodes, Carl and Richard talk to Scott Allen about the continued evolution of JavaScript. The conversation starts out with a comment from a listener about a past show with Scott on Modernizr, and Scott talks about how things have changed since then - the focus on newer browsers (if IE9 counts as new) means that the tool needs change. Scott also talks about what new features are moving into the browser, reducing the library load your web page needs. Is the browser becoming a smart client platform?
Carl and Richard talk to Marcel de Vries about CodedUI - the test functionality built into Visual Studio that nobody knows about. CodedUI tests are tests built to automatically operate your UI so that you can test your application top-to-bottom, no short cuts. Marcel talks about how CodedUI tests are actually built using a test recorder and then tweaking the tests to increase coverage. You can build tables of data to use for entry to challenge boundary testing, add additional assertions and validations - it's very clever! If you own Visual Studio 2013, you need to check this out!
Carl and Richard chat with Micheal Learned about modern release management with Visual Studio. The conversation starts like many do when it comes to ALM: what's hard, and what's easy. And let's face it - releasing software properly is often hard! Micheal talks about the various pitfalls that folks fall into around releasing software and how today's environment just won't tolerate those mistakes any more. This leads to a discussion about release pipelines (check out the great doc in the show notes) and Microsoft's acquisition of InRelease by InCycle Software. If you've got an MSDN license, you have to take a look at Release Management! And if you don't, take the trial out for a spin, it's worth it!
While at the ModernApps2013 event in Mountain View, California, Carl and Richard got a chance to sit down with David Chappell and get his views on the changing landscape of software and software development. David talks about how applications have evolved into a devices+services model, where parts of the application live in the cloud, and the rest live in the various form factor devices that we all now use. Later the conversation turns to the evolution of Application Lifecycle Management, with concepts like Continuous Delivery and DevOps becoming essential skills for the modern developer. Great thoughts from an awesome thinker in our industry!
Carl and Richard talk to Benjamin Howarth about his experiences working with Umbraco. Umbraco is a CMS system built in ASP.NET. Benjamin discusses how Umbraco has become a key part of his work with Universal Music - and how its affected the entire development practice. After a digression into DevOps, the conversation comes back around to what you need to know to be successful with Umbraco - where it can save you time, where you need to write code, and why you'd want to. This is open source the way it should be!
Carl and Richard talk to Michael Kennedy about using Python with .NET. Michael talks about the nature of Python and what makes it great (like whitespace counting). The conversation digs into the many forms of Python, some Windows friendly, some not so much, and many with specializations. Don't miss the discussion about the Zen of Python, and check out the huge collection of links for various Python bits!
While at the Irvine stop of the ModernApps2013 road trip, Carl and Richard talk to Dan Wahlin about getting started with AngularJS. The discussion digs into the variety of JavaScript libraries out there today and how Dan has shifted his skills from a much more C# centric world into a more JavaScript world. The interplay of the libraries is an important discussion, as well as thoughts about when NOT to use technologies like AngularJS - as well as when there are times that these tools provide a huge advantage. And prepare for some CSS bashing!
At NDC-London, Carl and Richard moderated an amazing panel about Web API... panelists included Glenn Block, Darrel Miller, Pedro Felix, Christian Weyer, Dominick Baier and Daniel Roth. What's the future hold for Web API? Is it headed the way of WCF? Can anyone get a word in edgewise around Glenn Block? Some great questions from the audience toward the end of the show as well.
At the Houston #ModernApps2013 Road Trip stop, Carl and Richard talk to Justin Searls about using Javascript in the enterprise. Besides referencing an awesome number of tools around Javascript (check out the huge list of links!), Justin focuses in on how enterprise's often ignore the actual care and feeding of Javascript code within their organization. While he's certainly taken advantage of that ignorance, better that we all figure out how to treat Javascript like a first class language citizen with source control, testing and proper management. You know, like a real language!
While at NDC in London, Carl and Richard talk to Glenn Block, Justin Rusbatch and Adam Ralph about ScriptCS. Our first show with Glenn on ScriptCS was way back in March 2013, only a week after ScriptCS was first checked into GitHub. Nine months later, where is ScriptCS now? What are people doing with it? Justin talks about his contributions while Adam digs into how he's using ScriptCS in the field. ScriptCS represents some of the awesome potential of Roslyn!
At the St. Louis stop of the #ModernApps2013 road trip, Carl and Richard chatted with Kathleen Dollard about code generation and Roslyn. The conversation starts out talking about the relative acquiescence of code generation in recent years and the potential of Roslyn to rekindle the movement. Kathleen talks about her own efforts with code generation and where she sees this technology ultimately going. Long range thinking from an amazing mind!
While at NDC-London, Carl and Richard sat down with Mark Rendle about building Zud.io, a set of tools for handling storage in the cloud. The conversation starts out with a quick chat about TypeScript and it's role in development. Mark talks about the experience of working with BizSpark Plus to build a web-centric way to programmatically handle blobs, tables, queues and more. Also discussed is building a responsive web design web page that works well with desktops, tablets and phones. Next up for zud.io - series A funding!
Carl and Richard talk to Mads Torgersen about his work on C# and Roslyn. Mads talks about how old the Roslyn CTP has gotten - and how that may change in the future. There's also a hint about a form of Roslyn already seen in the wild (hint - it's CodeLens!). And the conversation gets crazier from there, but it comes down to one thing... is C# in Roslyn, or is Roslyn C#? Have a listen!
While at NDC-London, Carl and Richard talk to Steve Sanderson about his work with KnockoutJS, Azure and other goodies. Steve starts out talking about his role in Knockout and the MVVM pattern as well as his work building the admin consoles for Azure. The conversation then dives into Steve's latest project, using WebGL to take advantage of GPU processing inside a browser! Along the way the boys talk about the effects of plugins on browsing for mortals and some thoughts on what web apps will look like in the future.
The day before the US Road Trip started in Boston, Carl and Richard sat down with Bill Wagner to talk about the latest version of TypeScript. But first Bill talked about Humanitarian Toolbox, a charity building open source software for disaster relief organizations that he and Richard are deeply involved in. Then the conversation turned to TypeScript, a language for bringing types, classes and modules to Javascript. Originally a separate installation off of GitHub, TypeScript is part of Visual Studio 2013. Bill talks about the challenges of building maintainable Javascript and how TypeScript makes things better!
While at Øredev in Malmö, Sweden, Carl and Richard talk to Mads Kristensen about the amazing set of features that have been added for web development in Visual Studio 2013. First up is browser link, a method to automate the connection between your development environment and various browsers being used to test your app while you code. Auto-refresh and more! Mads also talks about Web Essentials and SideWaffle - tools and templates for helping you to build web applications the right way. Visual Studio 2013 is a must have for the web developer!
While at Øredev in Malmö, Sweden, Carl and Richard talk to Patroklos Papapetrou about Sonar. Sonar is an open source project for instrumenting your code quality, looking for various 'deadly sins' of programming, such as duplication, lack of documentation, etc. Patroklos talks about each of the 'deadly sins' and how Sonar can help you make better quality code.
Carl and Richard talk to Einar Høst, Jonas Winje and Bjørn Einar Bjartnes about their experiences using Reactive Extensions to control an AR Parrot Drone. The conversation starts out with a discussion on the fundamentals of reactive extensions, the idea of raising events around streams of data, and how that applies to something physical like a drone. Quickly, the core issue becomes time - we think about computing as instantaneous, and real life takes longer than that! A very geeky discussion about a cool way to program in real life.
While at DevReach in Sofia, Bulgaria, Carl and Richard moderated a panel on Javascript libraries with Phil Japikse, Dan Wahlin and Justin Searls. The conversation starts out exploring the panelists' favorite libraries and combinations of libraries hereafter referred to as 'tribes.' Lots of discussion on Single Page Applications, mobile web and library management.
While at the Belfast stop of the .NET Rocks Ireland Road Trip, Carl and Richard talked to the one-and-only Martin Woodward! Martin discusses the state of Team Foundation Server today and source control in general. The conversation ranges over the evolution of source control, the effects of the internet on creating distributed version control and how Git, SVC, HG and many other version control systems all get along. Great thinking from a guy who's spent years deeply immersed in source control!
Carl and Richard talk to Troy Hunt about hacking yourself - testing your web site's defenses before someone else does! The conversation starts out talking about FireSheep and the need to use SSL everywhere. If you log in, you should be using SSL! Troy runs down a list of the common exploits you should test against, like SQL injection and cookie spoofing. There's also a discussion around cross-site scripting and X-Frame-Options. There are some simple things that script kiddies can do to exploit your site - you should do them first, and then defend yourself!
Carl and Richard talk to Todd Anglin from Telerik about cross-platform development for mobile. The conversation focuses on Telerik's Icenium hybrid mobile development solution. Todd announces that Icenium now has a Visual Studio plug-in so that you can do your development in the environment of your choice. This leads to interesting possibilities with KendoUI, another library from Telerik that lets you build mobile web apps with native look-and-feel on different phone platforms - now you can turn them into hybrid apps!
Carl and Richard talk to Andrea Magnorsky and Andrew O'Connor about their experiences building games in .NET. The conversation starts out talking about the role of MonoGame and how Andrea and Andrew switched to Duality to build Honorbound. Andrea talks about working with artists and the need for visual editors that Duality provides. Andrew talks about the loss of XNA and the challenge of being an indie game developer - there are no good homes these days! Lots of discussion about the right way to distribute games. Game development in .NET is real! Make sure you activate your Windows Azure credits in your MSDN Subscription! You could win an Aston Martin!
Carl and Richard talk to Rob Eisenberg about DurandalJS. DurandalJS is a library for facilitating building Single Page Applications (SPAs). It works along side jQuery, Knockout and RequireJS as well as CSS libraries like Bootstrap and Foundation. Rob talks about how DurandalJS came to be as a logical path from his MVVM framework, Caliburn.Micro. Much discussion about interoperating with other libraries like RequireJS, jQuery, Knockout as well as comparisons with Angular and Ember. Rob builds great things! Make sure you activate your Windows Azure credits in your MSDN Subscription! You could win an Aston Martin!
Carl and Richard talk to Matthew Podwysocki about the latest news around Reactive Extensions. Matthew starts out talking about how Reactive Extensions has moved into open source in a big way, with lots of cross platform support - .NET, JavaScript, C++, Ruby, Python, even Java itself! The conversation digs into the thinking around the reactive approach to development, dealing with massive streams of data and tying event trapping over it. Lots of great thinking about modern development concepts! Make sure you activate your Windows Azure credits in your MSDN Subscription! You could win an Aston Martin!
Carl and Richard talk to Chris May about building applications for the Google Glass. The conversation starts out talking about the fundamental capabilities of Glass, how it works and when/where it makes sense to use - and apparently driving is NOT one of them! While the native programming environment is Android (and locked down for the time being), there is a cloud-centric REST model with programming support for almost anything including .NET! Lots of discussion around wearable computing in general - is this the next iPod or the next Newton? Make sure you activate your Windows Azure credits in your MSDN Subscription! You could win an Aston Martin!
Carl and Richard talk to Chris Williams about building and programming robots - all kinds of robots! After Carl opens with a conversation about the Internet of Things, Chris digs into the cool tiny computers that make it possible, like Arduino and Raspberry Pi. Communicating with small computers takes cleverness too, so don't forget about serial and serial's grown-up cousin USB. From there, the conversation turns to different robots, especially quadcopters. Chris brings up his focus on getting kids more interested in computing - and embracing that they will always think about computing differently than we do! Get out there and change the world!
Carl and Richard talk to Bob Uva about instrumenting production software with New Relic. New Relic works with Ruby, Java, .NET and more, able to instrument applications end-to-end in production. And there's a free version you can use forever - how cool is that? Bob talks about how the instrumentation system works, reporting back to New Relic servers to give you great visualization of what is actually going on in your web application. Listen also for a great digression on engaging kids with programming also - another passion of Bob's. It's time to get instrumented!
Carl and Richard talk to Jeremiah Peschka about implementing Hadoop in the .NET world. Jeremiah starts out the discussion pointing to a blog post he's done on the Basics of Hadoop (check the links) and how the focus of Hadoop is on the cloud - pre-configured Hadoop solutions in the cloud make life easier, but you have to get the data there. Jeremiah digs into the diversity of tools available to work with Hadoop - you can use SQL-like commands, or build your own controlling code in C#. And what about data mining? Big Data is here to stay! Don't forget to activate your MSDN Azure account and be automatically entered to win an Aston Martin V8 Vantage!
Carl and Richard talk to Chris Sells about his experimentation with TypeScript. The conversation starts out with a discussion about the pervasiveness of C# and how the Mono Project brought .NET to a wider audience than just Windows. From there, Chris talks about a variety of languages beyond JavaScript, including TypeScript and others (check out the links). Ultimately the conversation circles back to JavaScript and mobile development, talking about the use of WinJS and the Cordova-derived web-based development solutions including Telerik's Icenium. Great thoughts from one of the best in the industry! Don't forget to activate your MSDN Azure account and be automatically entered to win an Aston Martin V8 Vantage!
Carl and Richard talk to Joe Kuermerle and Alex Papadimoulis about automating deployment as the path to a DevOps world. The conversation starts out talking about the real impact of DevOps, bringing developers and operations folks closer together. A key part of the process is to automate everything you can, including deployment. Part of the conversation is BuildMaster, which is free for up to five seats, providing the glue to get automated deployment working effectively. You need the process and culture to have DevOps make sense, and then good tools can accelerate the process. This is the future of application development! Don't forget to activate your MSDN Azure account and be automatically entered to win an Aston Martin V8 Vantage!
Carl and Richard talk to Scott Stanfield about his experiences with Node. The conversation begins with a discussion on building software in the heterogeneous client environment of today. Scott also digs into his love of programming at the command line and how he configures his Mac in the CLI style. He also digs into his love of Node and the power of Node Package Manager (NPM) along with a number of other libraries (check out the links! Scott sees Node as a key ingredient in getting people engaged in development again - simple, clear and with immediate feedback. This show is as much a look forward as a look back!
Carl and Richard talk to Dan Wahlin about his experiences building web pages from a Silverlight perspective. The conversation starts out talking about how XAML isn't going away - there's lots of WPF development going on out there today. And Silverlight too! Microsoft has finally published some guidance around all of these technologies, check the links for the white paper. Dan also digs into how skills and expectations like data binding from technologies like Silverlight have changed web development - just look at the proliferation of libraries!
Carl and Richard talk to G. Andrew Duthie about his work with .NET Gadgeteer. The whole concept of .NET Gadgeteer is to make it easy to build small electronic devices without needing to solder anything together AND be able to program in .NET! Andrew talks about his projects, including a hand-controlled helicopter, and his experience building custom modules for .NET Gadgeteer. The conversation explores a bunch of projects, availability of hardware and the vast array of community built hardware available. You need to try this!
While at the Norwegian Developers Conference (NDC) in Oslo last week, Carl and Richard moderated a panel talking about the state of functional programming in mainstream development. The discussion reached back in time to languages like Haskell and Erlang, and looked forward at JavaScript and it's vector to seemingly take over the world. Even if you're not well versed in functional languages, this was a great discussion.
While at the Norwegian Developers Conference, Carl and Richard chatted with Jon Skeet about Async and Parallelism. The conversation starts out with a BKaF on parallel exception handling and a reader comment about F# and parallelism. Jon chimes in on both these subjects, talking about all the challenges around error handling, parallel or otherwise, and he knows (and doesn't know) about F#. Throughout the conversation there are short discussions on his effort to teach his sons programming as well. Great insights from Mr. Skeet!
At DevTeach, Carl and Richard talk to Kate Gregory about smart clients. As Kate says, quoting Don Box, 'they're not dead, they're done.' The conversation digs into WinForms, Silverlight and WPF. They aren't changing much, but they definitely work. Kate talks about the various projects she's working on that depend on smart clients - accessing different processes, specific hardware requirements, etc. It's old developer day!
Carl and Richard talk to James Kovacs about functional programming with JavaScript. Functional programming with JavaScript? What can't JavaScript do? James starts out talking about underscoreJS, a key library to simplify functional programming and provide some awesome features to keep your web pages running well. The conversation also digs into Single Page Applications in the context of functional programming, where you can go wrong, and why you want these tools in your toolbox to build the best web applications you can.
Carl and Richard talk to John Papa about Single Page Applications (SPA) - building web applications that operate on a single page for the duration of execution. John talks about the evolution of web design that has led to the SPA concept - the pros and cons of the approach as well. From there the conversation digs into the sets of open source libraries for making SPA easier to build and maintain. There is no one right way and lots of choice out there, check out the links below!
Carl and Richard talk to Derik Whittaker about his experiences migrating from being a XAML developer to being an HTML developer. The conversation starts out talking about the death of Silverlight - or at least the severe neglect! From there, Derik describes the group of tools he uses to bring MVVM design patterns to HTML development. Along with some weird digressions on WinForms, this is a fun show and a great starting point for anyone ready to leave Silverlight behind!
Carl and Richard talk to Mårten Rånge about Microsoft's Text Template Transformation Toolkit (T4). Don't call it code generation - Mårten talks about how T4 takes away code repetition and keeps you focused on the important stuff. The challenge is learning to build your own maintainable templates. The conversation explores a variety of examples of using T4 effectively for SQL, XAML as well as C# and C++. Mårten has a project on GitHub called T4Include to help you utilize them more effectively. The tooling isn't perfect, but there are alternatives - check it out!
Dominick Baier returns to talk to Carl and Richard about the current state of security in .NET 4.5. Dom starts out talking about how WebAPI has impacted the development of web services without much in the way of new security features - so he built some for everyone to use (check the links below). The conversation then digs into the challenges around OAuth 2 and the challenges of building specifications by committee when you're dealing with security. Also listen for a great dig into the real goals of identity technologies that largely haven't come to pass yet - there's still a ways to go!
Carl and Richard talk to Anthony van der Hoorn and Nik Molnar about their open source project called Glimpse. Glimpse provides instrumentation for the server and client side components of your web app, displaying it in a tabular format at the bottom of your browser. Anthony and Nik discuss the extensiblity model allowing additional components to be instrumented with Glimpse - and how they've only built five of the thirty packages available today! This is open source at its best, and an awesome way to understand what is happening in your web application.
Carl and Richard talk to Justin Beckwith about the recently released WebMatrix 3. Justin talks about the vision of keeping web development simple while still having access to all the latest features of the Web. And yes, sites built with WebMatrix can be worked on with Visual Studio as well! The conversation also digs into building mobile web sites and the various modules you can add into WebMatrix to extend functionality including Git integration, LessCSS and more... lots of links!
Carl and Richard talk to David Pitcher, part of Microsoft's internal IT team, about his experiences instrumenting applications. The conversation digs into the application in question, a Windows Phone app for allowing tech support personnel manage tech support problems on the go. Then David discusses the impact of instrumentation on the application in the form of PreEmptive Analytics, a free version of which is included with Visual Studio 2012. David describes how instrumentation has changed the way the team does error handling in general, prioritized features and bug fixes, and in some cases created whole other features to be designed! Instrumentation is a key part of the DevOps movement and it makes software better!
Carl and Richard talk to Amir Rajan about his Oak project on GitHub. Amir discusses his approach to building Single Page Applications (SPA) using an array of open source tools including Rake (from the Ruby stack), nSpec, Canopy, Growl and more. The conversation digs into how C# fits into the equation and how Oak provides the dynamic typing that C# needs to work well in the JavaScript driven world of SPA. Amir also talks about how this development stack works well with different editors since it is file focused for compilation, testing and deployment. There's a little taste of DevOps in this great conversation on modern web development!
Carl and Richard talk to Andreas Hakansson and Steve Robbins about NancyFX. NancyFX is an open source project to provide a lightweight framework for building web applications. Andreas and Steve talk about NancyFX focusing on the Super-Duper-Happy-Path of web development. The conversation also digs into the diversity that NancyFX supports, running in IIS, with ASP.NET (or not), WCF, Azure, OWIN, Umbraco, even Nginx on Ubuntu! Andreas and Steve also dig into how NancyFX handles testing, different view engines, authentication and cryptography. If you're considering WebAPI, you should look at NancyFX also!
Carl and Richard talk to Brian Summers and Dave Harrison of Columbia Sportswear about their work with Team Foundation Server. Brian and Dave discuss how TFS has allowed them to build a common work planning environment for almost all of the developers at Columbia, including .NET, Java and ABAP (SAP) programmers. The conversation dives into how the different teams are able to collaborate, how they've built a service bus based on Biztalk and the future of even more rapid application development with TFS 2012.
Carl and Richard talk to Jeff Fritz about how ASP.NET has evolved over the years. Jeff talks about the continued dominance of Web Forms in relation to MVC and how the different libraries can be used together. In fact, there's ONE ASP.NET, and everything - Web Forms, MVC, Web API, SignalR - all work together. It's a web stack of love!
Carl and Richard talk to Glenn Block about his open source project called ScriptCS. Glenn talks about his inspiration for the project, taking the principles of node.js and applying it to C#, using the RoslynCTP. The conversation digs into the speed at which ScriptCS has taken off - at the time of the recording it had only been around for a week and there were 18 contributors on GitHub! This is the non-subdued version of Glenn Block we all know and love!
At the MVP Summit, Carl and Richard talk to Steve Smith about the Software Craftmanship calendar. While filled with good messages like Separating Concerns and YAGNI, it also has hilarious images of why you should follow these principles. The conversation digs into each of the topics with different ideas and approaches to being successful. A fun Thursday show!
Carl and Richard host a now-rare telephone-based conference call (remember when these were cool?) with Glenn Block, Henrik Nielsen and Darrel Miller about Web API. But first the conversation has to deal with the reality of having Henrik Nielsen on the call - a former graduate student of Tim Berners Lee and a guy who worked on the very beginnings of the World Wide Web! But the main topic is Web API and the reasons, strengths and approaches to using Web API.
Carl and Richard talk to Demis Bellot about ServiceStack, a set of tools for building web services and MVC web sites with incredible performance. Demis talks about his thinking behind ServiceStack, its support for a diverse set of protocols and how it compares to WCF and WebAPI. The conversation also dives into Google's Protocol Buffers, an extremely lean protocol even faster than JSON for web services as well as Dart, Google's optionally typed, higher-level language that transpiles to Javascript. Awesome conversation with a hugely smart guy!
Carl and Richard talk to Martin Woodward about Microsoft's announcement of integrating Git into Visual Studio and TFS. Martin talks about Microsoft's thinking about why and how to add Git support to Visual Studio and TFS. Then the conversation digs into the different configuration options - the Git tools work even in Visual Studio Express! Martin compares the differences of using Git directly from Studio as well as via TFS. It's a cool time to be a Studio programmer!
Carl and Richard talk to Jamie Wright about what .NET Developers can learn about Rails.
While at CodeMash, Carl and Richard collected some great stories. First up is Evan Hauck, who digs into CUDAfy, a library on Codeplex that allows you to run C# code (any IL code actually) on your GPU. The second story is about Jessie Shternshus and her company The Improv Effect. Jessie talks about how she uses improv to help teams work together more effectively. Another awesome CodeMash!
While at CodeMash in Sandusky Ohio, Carl and Richard moderated a panel discussion on the death of agile. The panel quickly agrees that agile isn't dead at all - it's become so mainstream that it is discussed less and less. A bigger discussion is what exactly agile is - a topic addressed by audience member Jon Kern, who was part of the group that developed the agile manifesto.
Carl and Richard talk to Thiago Silva and Jeff Hewitt about building applications in Azure. The good? Scaling, deployment and costs. More good - great tools and information from Patterns and Practices. The bad? Getting coherent monitoring together. The conversation digs deep into Azure level monitoring, web level monitoring and application level monitoring. How do you relate the data together? What measurements matter? How do you get to the point where you have a dashboard that shows you the health of your application? Finally, there is the ugly - and it's called licensing. Thiago and Jeff talk about how some license models (like per-machine licensing) just don't work in Azure. Good stuff for getting serious about Azure!
At the inaugural DevIntersection conference in Las Vegas, Carl and Richard hosted a panel to discuss what developers should care about in 2013. The panel of Scott Allen, Kate Gregory, Michele Leroux Bustamante and Woody Pewitt covered a huge spectrum of topics, including web development, client development on multiple platforms, cloud technologies and mobile development. Did we cover everything? Write comments below!
At the San Francisco stop of the .NET Rocks! Visual Studio 2012 Road Trip, Carl and Richard sat down with Ward Bell in the GitHub offices to talk about his experiences creating breeze.js. Breeze.js focuses on the plumbing needed to make Single Page Applications (SPA) on the web work well. Ward talks about key pieces of Breeze including caching, validation, automated object mapping and more. He admits his inspiration is Silverlight and how it handled this plumbing so well. Now it's available in Javascript as well!
While at the Irvine stop of the .NET Rocks! Visual Studio 2012 Launch Road Trip, Carl and Richard chatted with Brian Randell about the DevOps movement and it's application in the Microsoft world. DevOps focuses on the concept of bringing developers and operations together to iterate software more quickly, so that your applications are continuously delivered with continuous feedback and continuous quality. That's a lot of continuity!
While at the Orlando stop of the .NET Rocks! Visual Studio 2012 Launch Road Trip, Carl and Richard stopped at the Better Software conference to have some conversations about fast development cycles. The first conversation is with Jesse Dowdle, who has a web app shipping new versions several times a day, with great visibility into the production environment to get feedback rapidly to developers. The second conversation is with Mathew Bissett, working for the UK Government, who participated in bringing an application that shipped a version every nine months down to 22 weeks, then to 6 weeks, and now daily and looking to go even faster! How fast can development cycles go, and what does it take to speed them up?
While at the Bentonville stop of the .NET Rocks! Visual Studio 2012 Launch Road Trip, Carl and Richard sat down with Matt Nunn to talk about his vision around Modern Apps and the Modern App Lifecycle.
At the Jacksonville stop of the .NET Rocks! Visual Studio 2012 Launch Road Trip, Carl and Richard sat down with former co-host of .NET Rocks! Mark Dunn to talk about his experiences with MVC. The conversation starts out talking about the old days - when Carl and Mark both taught .NET. Mark has continued to train, but these days focuses on MVC. He compares the modern web application approach of MVC with the old days, talks about strengths and weakenesses and how you can get the most out of your web application.
While on the .NET Rocks! Visual Studio 2012 Launch Road Trip stop in Orlando Florida, Carl and Richard stopped into the Better Software conference and interviewed Scott Ambler about his work helping companies implement agile development practices. The conversation starts out talking about the scalability of agile practices, how waterfall is hard to get rid of, and common mistakes that organizations make implementing agile. Scott also digs into the DevOps movement, talking about how all stakeholders in an application, including operations and tech support, need to be part of the process.
While at the Better Software show in Orlando during the Road Trip, Carl and Richard talked to Dan North about how development teams can manage uncertainty. Dan talks about how software planning can change to being more discovery based, knowing what is unknown. That process gets people talking and learning from each other and ultimately creates excellent plans.
While at the Tampa stop of the .NET Rocks! Visual Studio 2012 Launch Road Trip, Carl and Richard talked to John Papa about building Single Page Applications (SPAs).
At the Tallahassee Code Camp stop of the .NET Rocks! Visual Studio 2012 Launch Road Trip, Carl and Richard chatted with Udi Dahan about development practices, architecture and methodology.
While at the Louisville stop of the .NET Rocks! Visual Studio Launch Road Trip, Carl and Richard sat down with Alex Robson to dig deep on what it takes to be a successful polyglot programmer. Alex talks about the characteristics of different languages - not just their syntax, but also their idioms and culture, and how that affects their role in building software. He talks specifically about C#, Javascript (largely in the form of node.js) and Erlang.
While at the Charlotte stop of the .NET Rocks! Visual Studio 2012 Launch Road Trip, Carl and Richard sit down with Rocky Lhotka to talk about his latest incarnation of CSLA. Yes it's true, Rocky has gotten CSLA running on Windows 8 in the Windows Store (formerly known as Metro) mode. Rocky talks through the challenges of making CSLA work - how do you live without reflection? The conversation turns more philosophical about the direction of development as whole. Computing is undergoing a major inflection point!
While at the Philly stop of the .NET Rocks! Visual Studio 2012 Launch Road Trip, Carl and Richard talk to Glenn Block about Node.js, WebAPI and China. The conversation digs into the philosophical differences of Node, JavaScript outside the browser, and starting from a blank slate of services, rather than the 'everything-on' model of yester-year. Glenn also talks about his experiences in China, engaging the local development community in Shanghai, and the tools and preferences there.
While at DevReach, Carl and Richard hosted a panel on web performance with panelists Steve Smith, Kent Alstad and Paul Carvalho. The conversation starts with the challenge of good instrumentation, different techniques, and values for measuring performance. The panel also explores load testing, caching and other performance techniques - lots of deep dives into hard concepts!
Carl and Richard talk to Dr. Yngve Falck-Ytter about his efforts to understand programming. Yngve talks about the limitations of the software in the medical industry and how he's learned to work around it with some of his own programming. Ultimately the conversation digs into the idea that good software can make treatments more effective and less expensive and, in the end, save more lives.
Carl and Richard talk to Alex Robson about polyglot programming. Alex talks about various languages including Erlang. He focuses on the idea that different languages have different strength, and trying to function in a monoculture of only one programming language limits your ability to solve problems efficiently. The conversation goes on to talk about the different patterns of development available once you stop thinking about the limits of your language!
Carl and Richard talk to Chris Patterson about MassTransit, an open source enterprise service bus. The conversation starts out talking about service bus in general, how the patterns around a service bus make it easier to build large, multiversion applications with the fewest dependencies possible. Chris sets MassTransit in context with large, expensive service buses like Biztalk. He also digs into some of the other projects he's worked on, including TopShelf (for building Windows services) and Magnum (the mother of all toolkits). The boys also ask Chris about his focus on open source, the advantages and disadvantages around licensing, pricing and support. Amazing smart guy with some awesome code!
Carl and Richard talk to Mark Seemann about building web applications using Web API and REST. The conversation starts out with the hard part - so what is REST exactly anyway? Mark digs into the history and meaning behind REST and the challenges that those practices bring to real world web applications.
Carl and Richard talk to Chris Jackson of Microsoft about all the tricks and techniques he uses to make applications compatible from one version of Windows to another, or one version of Internet Explorer to another. Chris digs into the mistakes that developers make, such as checking what version of an operating system or browser a user has. He also points out the cool tools built into Windows to lie to applications to overcome these problems. The conversation also digs into moving your application to Windows 8 and Internet Explorer 10. A must if you're ready to upgrade!
Carl and Richard talk to Microsoft tech fellow Brian Harry about Application Lifecycle Management with Visual Studio 2012 and Team Foundation Server. Brian digs into the thinking around the latest version of Microsoft's ALM offering, including the new tools for gathering requirements using storyboards, video, audio and annotations around applications. The conversation also digs into the core 'lather-rinse-repeat' cycle of developers getting work assignments, building and checking in their code. Then onto the amazing new features in testing and providing early look versions of applications for gathering feedback. Finally Brian talks about Team Foundation Services, TFS-in-the-Cloud so to speak, which while not directly tied to Studio 2012, does point to Microsoft's future focus for ALM. A great conversation with a guy at the center of everything ALM at Microsoft!
Carl and Richard talk to Microsoft VP Jason Zander about the release of Visual Studio 2012 and .NET 4.5. Jason addresses many of the key points around building Studio 2012 - the deep integration with Windows 8, how the teams worked together to allow the C++/XAML, C#/XAML and HTML5/WinJS development approaches... even why the Studio 2012 UI looks the way it does! The conversation then jumps to developing for ARM, some time talking about cloud development, even a mention of Sharepoint and Office tools. Great insight from a guy who has been part of .NET since the beginning!
Carl and Richard chat with Julie Lerman about Entity Framework 5. EF5 ships with .NET 4.5 - yep, they broke the number synchronization this time around. Julie explains that the big number change is for a good reason - this is a big update to Entity Framework. The conversation digs into the new features, including performance improvements, enumerations and spatial datatype support. Julie also talks about a huge number of little things that are added to make EF a much more useable project. Has the magic version three happened again at Microsoft?
Carl and Richard talk to Jay Schmelzer and Chris Finlan about LightSwitch. Jay is one of the leaders of LightSwitch at Microsoft and talks about some of the new features coming in LightSwitch including HTML 5 clients. Chris works for SAP and builds line-of-business applications there, including building in LightSwitch.
Carl and Richard talk to Andrew Arnott about DotNetOpenAuth. DotNetOpenAuth is an implementation of OAuth, OpenID and InfoCard technologies is an easy-to-use-package for .NET developers. Andrew talks about the evolution, features and challenges of each of the respective technologies. DotNetOpenAuth is available today and will be bundled with Visual Studio 2012. Get on the identification and authentication bandwagon today!
Carl and Richard talk to Darth Vader, a.k.a. Jon McCoy who shows developers how to hack .NET apps in memory and on disk. This turns into a pretty dark discussion about how challenging it is to secure in depth - infiltration and exfiltration vectors, how protection tools (like anti-virus) are great mechanisms for spreading malware. And according to Jon, .NET is a great tool for hiding malicious code. He talks about how he can modify a .NET application while it is running and use it to manipulate and steal information. Not a happy show!
At NDC, Carl and Richard talk to Bruce Lawson about responsive web design. Responsive web design from Bruce's point of view is web pages that are able to adjust to the browser and device that they are being viewed on. From the huge displays on desktop PCs to the tiny screens of smartphones, you can make your web pages work effectively! Bruce talks about some of the tools and libraries available to simplify responsive web design, so check out the links from the show!
At NDC in Oslo, Carl and Richard talk to Lucian Wischik about using Async and Await in .NET 4 and 4.5. Lucian talks through some great scenarios of how you can use Async and Await effectively, as well as the mistakes developers can make. Method blocking and Async don't get along! The conversation also explores the differences between asynchronicity and parallelism, they aren't the same thing at all. Get ready for some awesomely lucid thinking about Async and parallelism!
While at NDC is Oslo, Norway, Carl and Richard talk to Hadi Hariri about MVC. Hadi talks about his experiences building MVC applications, starting with where WebForms taught some bad habits in web application construction, how some of the new Javascript libraries (like jQuery) made MVC more palatable and the performance advantages of well designed MVC. The conversation also digs into some of the mistakes novice MVC developers make, like putting far too much (and repeating) code in the controller. There's also a discussion about different data storage options as well as Hadi's position on utilizing REST.
While at the Norwegian Developers Conference in Oslo, Carl and Richard talk to an actual Norwegian! Sondre Bjellås sits down with the boys to talk about building applications in Facebook. The conversation starts off with discussion about oAuth, specifically authenticating with Facebook. Sondre talks about how Facebook provides information back to you as the developer about the users that log into your web site or application - provided the user gives permission. The conversation continues into the different species of Facebook applications you can build, running inside Facebook, separately and using the social graph. A great starting point for getting into Facebook programming!
While at NDC, Carl and Richard talk to Remy Sharp about HTML 5. Remy discusses the state of things, how the diversity of browsers is as much a strength as a problem. He digs into the idea that you need to build your web app for the audience you have - perhaps it needs more support for older browsers, or focus on the latest features for the newest browsers. Check out the great collection of links to different services and sites that Remy mentions in the discussion!
While at DevTeach, Carl and Richard hosted a panel discussion on development methodology. Panelists James Kovacs, Mario Cardinal, Charles Max Wood and Rob Daigneau explored the state of development methodology today. The discussion roamed over Waterfall, Agile, XP, Lean, Scrum But, Scrum And... and more.
At NDC Carl and Richard talk to Venkat Subramaniam about functional programming. Venkat digs into the idea that functional programming is less about language and more about practice, exploring how C# can build functional code just as well as F#. The conversation also drills into the advantages of functional programming for parallelism and the specific types of business applications that can benefit from this style of programming. Venkat's enthusiasm makes it hard to resist writing everything functional!
While at the Norwegian Developers Conference in Oslo, Norway, Carl and Richard moderated a panel of luminaries from the agile world about the state of the agile today.
Carl and Richard talk to Stephen Toub about how the beta of Studio 11 has impacted parallelism. The conversation starts with a solid discussion about the difference between asynchronous, concurrency and parallelism. From there, Stephen talks about how Studio 11 has matured async and await, largely under the hood, to take advantage of more hardware and better concurrency with no additional code. He mentions the ASync Targeting Pack bringing async and await to Silverlight 5. Finally Stephen talks about some of the new instrumentation in Studio 11 to understand how parallelism is working in your application to assist with debugging and performance. Parallelism is moving forward in Studio 11!
Carl and Richard start out talking to Scott Hunter about what's coming up in ASP.NET - but then he goes beyond! The conversation starts out talking about where the .NET Framework as a whole is going - Scott reveals some of the internal discussions they're having about how to evolve the .NET Framework. Scott also talks about Single Page Applications (SPA), which are part of the beta of ASP.NET 4.5 but will not be making the shipping version. SPA will be back in an update to ASP.NET after the Studio 11 ship date. The conversation then goes into some of the features coming in ASP.NET 4.5, including performance features for JavaScript and CSS, as well as implementing OpenAuth.
Carl and Richard catch up with Dominick Baier to talk about the changes to identity in the 4.5 Framework, Windows 8 and Server 2012. Dominick lets us know that claims-based security is everywhere in 4.5 - built right into the System libraries. No more separate WIF to install! The conversation also digs into the fact that Windows 8 and Server 2012 are rolling claims-based security into Active Directory, making implementation even simpler. Role-based security continues to function, but everything under the hood is a claim.
Carl and Richard talk to Joel Semeniuk about various styles of agile development. The conversation starts with addressing a comment from a listener on dealing with decomposition of user stories so that they fit into sprints and how to manage research spikes. Joel talks about splitting time in sprints between feature building, bug fixing and research. Next the topics of lean and Kanban and how they connect together with agile development. A great refresher on agile practices!
Carl and Richard talk to Beth Massi about the latest incarnation of LightSwitch. In 2011 LightSwitch shipped as a separate install, but the upcoming version of LightSwitch is part of every SKU of Studio 11. Beth talks about how LightSwitch has evolved to be an awesome consumer and creator of data, making it simple to create oData interfaces over anything. The conversation also digs into the role of Silverlight, the evolution of the client and how LightSwitch makes apps in the cloud much simpler.
Carl and Richard talk to Micheal Learned about the new ALM features coming in Visual Studio 11.
Carl and Richard talk to the one-and-only Rob Conery about CoffeeScript. Why would you use a language to generate Javascript? Rob talks about how CoffeeScript is designed to be human readable while JavaScript is much more machine-readable. Indents matter! No curly braces! Dogs and cats living together! It's chaos! But it's a happy chaos. Check it out!
Carl and Richard talk to Brian Noyes about the Single Page Application (SPA) feature coming in MVC 4. Brian talks about the similarities of the design patterns for SPA to the more classical Silverlight or WPF application with RIA or WCF services on the back end. While hardly new to the web space (SPAs can be traced back to Outlook Web Access circa 2002), SPAs are going to be part of Studio 11. Brian talks through the strengths and weaknesses of the approach.
Carl and Richard talk to Glenn Block about node.js on Azure. Glenn digs into how node.js has grown in popularity, and points to the Cloud9 IDE as a development environment in the Cloud as an example of a node.js application - which happens to be able to build node.js applications. And Cloud 9 can deploy node.js to Azure. The conversation digs into the Azure stack and the diversity of technologies (including node.js) that run great in the cloud.
Carl and Richard talk to Jeroen Hulscher about web accessibility. Accessibility challenges come in lots of different forms, and the way we build web pages can make it impossible for some to use your site. Jeroen talks about the tools and techniques to help developers understand what you need to do to make your site easy to use no matter what challenges you might have. As Jeroen says, at some point all of us are going to have some accessibility issues - the web site you make accessible may one day help you!
Carl and Richard have a discussion with a vegetable. Yeah, that's right, we interviewed a leek named Ricky Leeks. Beyond all the endless puns, is a great conversation about memory management in .NET. Ricky also lets us know about a free e-book on .NET Memory Management you can download from the links in the show. Check it out!
Carl and Richard talk to John Bennett and Colin Hicks from MSNBC along with Oren Eini about the role RavenDB has played in building applications. John talks about how MSNBC was using SQL Server essentially as a blob store, storing stories as XML documents inside of the database. The conversation digs into the challenges of running a web site with well over a billion page views a month, the impact of breaking news on traffic, and how RavenDB solves the document storage problem effectively for MSNBC.
A panel discussion at DevConnections in Las Vegas digs into different styles of web application development in 2012 - comparing web forms to MVC to the up-and-coming Single-Page style of web app. Carl handles questions from the audience while Richard causes trouble on the panel.
Carl and Richard talk to Bart de Smet about the beta of Reactive Extensions (Rx) Version 2. Currently in beta when the show was recorded, Rx 2.0 works with .NET 4.5, both for desktop and metro, as well as Silverlight 5 and Windows Phone 7.1. Bart talks about how Rx lets you write LINQ expressions over top of events, completely changing the way you think about responding to events. If you're tired of cluttering up your UI code with event handlers or you've got a back end process that needs to deal with millions of incoming events, you owe it to yourself to look at Rx!
While at the Prairie DevCon in Calgary, Carl and Richard moderated a panel discussion on the future of the web with panelists James Kovacs, Andrew Nurse, Bil Simser and James Chambers. The conversation ranged over the quality of web content today and a general push to try and improve it, discussions around monetization, the fragmentation of HTML 5, the role of mobile and some of the cool new technologies coming down the pipe to make the web an even more amazing place to build applications for.
While at the Prairie DevCon in Calgary, Carl and Richard chatted with Steve Rogalsky about User Story Mapping. Steve explains how User Story Mapping helps with visualizing beyond a serial list of features into categories of features in the product. The conversation also explores how Kanban, Scrum and other techniques work with User Story Mapping, as well as the struggles of using Microsoft Project.
Carl and Richard talk to Phil Haack about his life after Microsoft. Phil talks about his viewpoint on open source, both software and projects (not the same!). The conversation also digs into how NuGet works in the open source world and Phil's on-going role with it. Finally, Phil talks about his work at GitHub - he's all about making GitHub more appealing to .NET developers.
Carl and Richard talk to Rob Mensching about the WiX Toolset, a popular Open Source project for all your software installation needs. How good is WiX Toolset? Visual Studio uses it for installation of itself! Rob talks about different installation solutions and how he eventually came to develop the WiX Toolset as an XML-centric 'set of sets' hierarchy for managing installations. As Rob says, setup development is development!
Carl and Richard talk to Juan Campa about developing software using XNA. Juan discusses the challenges of building XNA games and shows how his product Gearset makes things simpler. Gearset is available as a Lite edition for free or the Pro edition for $35 USD. The discussion continues into building XNA applications for Windows Phone 7 and what the impact of Windows 8 will be for XNA developers.
Carl and Richard talk to Jason Kaczor about developing Sharepoint using HTML 5. Jason discusses the dangers of making web parts and how HTML 5 is a safer, easier solution to customization of Sharepoint. And yes - you can access all the features of Sharepoint using HTML 5. The conversation digs into how you manage your source, do deployments and consider the cloud in your Sharepoint plans.
Carl and Richard talk to Derick Bailey about JavaScript in general and JavaScript frameworks specifically. The conversation starts out with a discussion about the state of JavaScript in general, discussing the recent popularity of Node.js. Derick then digs into Backbone.js and how it works with jQuery to keep things far more organized. He also discusses utilizing MongoDB and RavenDB from JavaScript using JSON as the communication path. The discussion ends with some looks at the future of JavaScript in Windows 8 and the next generation of browsers.
Carl and Richard talk to Clemens Vasters about his work on the service bus. These days the service bus is called the Windows Azure Service Bus - part of Azure. Clemens talks about how the service bus makes building reliable applications easier as well as how making the service bus free for a few months has driven traffic up to record levels and the challenges that brought to the team.
Carl and Richard talk to Rob Labbe about the Security Development Lifecycle (SDL). After a quick detour down the SOPA discussion, Rob fills the boys in on how the SDL maps neatly to a regular development lifecycle, just including security every step of the way. Rob also introduces the tools of the SDL, providing support for every step of the development lifecycle, from requirements to design to implementation and verification.
Carl and Richard talk to Jeremy Likness about Silverlight 5. Is Silverlight dead? Not by a long shot. Jeremy talks about the great work going on the Silverlight today and how it still is the most efficient way to build applications that run on both Windows and OSX. The conversation drills into the new features of Silverlight 5 and dispels a lot of the myths around the future of Silverlight. Jeremy also talks about Jounce, his MVVM+MEF framework on Codeplex and the relationship between Silverlight and WinRT.
Carl and Richard talk to Troy Hunt about ASP.NET Security. Troy is an advocate of the Open Web Application Security Project (OWASP) and wrote a set of blog post applying the top ten exploits to ASP.NET. Troy walks through all ten exploits and how they apply to ASP.NET. He's also rolled the posts together into a PDF file - have a listen and a read!
Out of Microsoft and off to Telerik, what will Chris Sells say? Chris starts out talking about his last year at Microsoft, working on Javascript in Windows 8, culminating at Build. Now Chris has moved to Telerik, focusing on building controls for the Windows 8 world that developers will love. The conversation ranges over HTML 5, XAML, XBox, Windows Phone 7, Kinect, tablets and more!
Part of a group of shows recorded at DevConnections in November 2011, Carl and Richard talk to Scott Willeke about reporting technologies. The conversation explores the challenges of a widening set of data sources for reporting, including NoSQL. Scott then digs into the issues around embedding reporting solutions into your applications as opposed to web-based reporting. Reporting - love it or hate it, it never goes away!
Carl and Richard talk to the one-and-only Scott Hanselman, it's the all radio voice show! Scott starts off the conversation explaining the recent move of Scott Guthrie over to Azure - by pointing out that he hasn't moved anywhere, just added Azure to his repetiore. Then the focus goes to the MVC vs. WebForms debate, which isn't a debate at all in Scott's eyes. And then things take a turn for the worse (or is that silly) and Scott starts answering questions on twitter about his hair. Lots of laughs, but not a lot of technical content ensues thereafter.
Carl and Richard talk to John Papa about his views on the client development landscape. John has recently left Microsoft where he was a Silverlight and Windows 8 evangelist. The conversation starts off talking about the state of Silverlight now that Silverlight 5 has shipped and the ascent of HTML 5. John talks about his favorite HTML 5 libraries, including KnockoutJS and JS Render. Finally, the show wraps up with how Windows Phone 7 and Kinect will change the world.
Carl and Richard talk to the one-and-only Steve McConnell about the evolution of software development practices. The conversation digs into where Microsoft is at these days - Steve has been close to the company for many years. Then Steve talks about his focus on what a good software executive looks like, how they can support their team effectively and be part of the success of the development process. Along the way Steve talks about how Agile fits into his views in Code Complete, scrum practices, continuous integration and more! Great insights from one of the best minds in the business!
Another of the vignette shows from Oredev, Carl and Richard explore topics of communication. Up first is Udi Dahan, discussing his approach to domain driven design, focusing on communicating deeply with the stakeholders and domain experts to thoroughly explore the domain - even around something on the surface that seem simple like the concept of a customer. Next, Jim Benson digs into Kanban, including the idea of personal Kanban, which like the development and manufacturing methodology, focuses on being able to clearly see how much work is in progress and where things are being delayed from completion. Finally, the one-and-only Jon Skeet, talking about how his technical communication skills have evolved from answering thousands of questions on newsgroups and Stack Overflow.
Carl and Richard talk to Damian Edwards and David Fowler about SignalR. SignalR is a library for providing persistant connections between a web server and a browser by providing an abstraction over top of technologies like WebSockets or even AJAX polling. SignalR requires .NET 4.0 on the back end and jQuery on the front end... although non-browser clients are in the future!
Another set of stories from Oredev, this time around development practices. The first interview is with Dan North, where he discusses how development teams can move beyond just being able to ship software into something he calls hyper-productivity. He talks about teams that ship software twenty times a day! Next up, Jean Tabaka talks about how RallyDev uses Agile practices to make the entire company Agile. At RallyDev every person is involved in planning out the vision of the company quarter to quarter, from developer to executive. Finally, Gary Short digs into the challenges of technical debt - the idea that shortcuts in code increase the cost of development in the long term. Sometimes debt make sense, getting more features shipped in less time. But eventually the debt has to be repaid or the project goes bankrupt, unable to ship new features and ultimately cancelled.
Where is Windows 8 taking us? While at DevConnections, Carl and Richard participated in a panel discussion with Tim Huckaby, Billy Hollis, Dr. Neil Roodyn and Paul Sheriff about the new Windows Runtime. Also listen for a brief appearance of the one-and-only Mark Minasi.
The first of the vignette shows from Oredev, this show focuses on web development. The first conversation is with Peter Moskovits, talking about using HTML 5 WebSockets to build real bi-directional communicating applications in the browser. The second part of the show the boys talk to Troels Thomsen about building web applications in the cloud using AppHarbor. AppHarbor focuses on making it simple to take existing ASP.NET applications into the cloud. Finally, the last conversation is with Robby Ingebretsen talking about how closely related designers and developers actually are. A great group of stories and one of many sets from Oredev!
Carl and Richard talk to Scott Allen about Modernizr, an open-source JavaScript library that helps you build the next generation of HTML5 and CSS3-powered websites by reporting browser features. Scott talks about how Modernizr focuses on actually testing for the availability of features on a browser, rather than just relying on the browser useragent and a browser capabilities file. Along the way there is plenty of IE6 bashing.
Carl and Richard talk to Tomasz Janczuk about node.js. Node.js is all about building scalable network programs, typically using HTTP. Tomasz talks about how node.js can run as a standalone application that can completely replace a web server, as well as run within IIS as iisnode. iisnode is an implemenation of node.js as a native IIS module. Node.js has been around since 2009, and the community surrounding it is massive - it's only new to the .NET world. Ready to do something totally different on the web from ASP.NET?
Carl and Richard talk to Paul Lewis about doing 3D graphics in HTML 5. Paul has built a 3D engine in HTML 5 called A3. The conversation dives into the power of 3D rendering in the latest generation of browser and how it affects people. Paul talks about how he balances his time between his code monkey work and his undulating monkey work. Richard pops out an article about how physical textures, weight and size affect psychology and how that can impact your UX design. Lots of discussion about building LOB apps in HTML 5 vs. native, as well as how Windows 8 and mobile applications expand the challenge. A classic DotNetRocks conversation!
Carl and Richard talk to Philip Laureano about Nemerle. Nemerle is a multi-paradigm programming language for .NET. Similar to C#, it goes beyond C# to provide metaprogramming features, allowing you to write code that changes code on the fly. Phil digs deep into the idea that programming languages should change to reflect what we want to do and is not afraid to do the changes himself, rather than wait for Microsoft. Brain twisting? Wait til you listen to the show!
Carl and Richard talk to Greg Philpott about X++, the most popular language you've never heard of. X++ is the programming language for Microsoft Dynamics AX, an Enterprise Resource Planning product formerly known as Navision. Greg digs into how X++ allows programmers to extend Dynamics AX, adding whole new modules as well as customizing behavior in the existing system.
Carl and Richard talk to Guy Smith-Ferrier about the Emotiv EPOC neuroheadset. No really! Mind control for .NET! Guy talks about how the headset is wireless and works with 16 different sensors positioned around the head. The headset is able to detect expressions, head movements, cognitive thoughts and emotions. Guy discusses how the SDK makes it simple to capture the headset data into .NET. Its easy to program, the question is, what would you do?
Carl and Richard talk to Jeremiah Peschka about his project, CorrugatedIron, a .NET library that gives developers the ability to talk to Riak, Basho's highly-available Key-Value store. The conversation starts with understanding Riak, which is based on Amazon's Dynamo white paper for dynamic distributed storage. Along the way the topics of NoSQL as a whole, distributed data storage, load balancing and functional programming are explored.
Carl and Richard took thier recording rig to Tim Huckaby's epic party the night before Steven Sinofsky's keynote at the Microsoft BUILD conference September 13, 2011. They asked the industry insiders to speculate on what they would see. This is an interesting show simply because the veil of secrecy has finally been lifted.
Carl and Richard talk to Jay Schmelzer about LightSwitch. Jay talks about the launch of LightSwitch back on July 26 2011, and the new set of extensions available to help Visual Studio Pro developers support LightSwitch applications. He also reminds us that if you own Visual Studio 2010, you own LightSwitch, so take it out for a spin!
After Richard made some (somewhat) disparaging remarks about ColdFusion, Billy sent an email defending the platform. The outcome of that email discussion is this show - Carl and Richard get educated by Billy about what ColdFusion is about. ColdFusion goes back to 1995, and is still going strong at version 10! Billy talks about the similarities and differences between ColdFusion and ASP.NET.
Carl and Richard talk to Kate Gregory about the history of C, culminating in the latest version, C++0x (aka C++ 11). Kate points out that C++ is more popular than ever, no matter what the managed memory folks are saying. The conversation works through the various flavors of C, how the language has continued to evolve, even to the point of doing memory management! Along the way Kate digs into the new features of C++0x, many of which (like lambdas) seem awfully familiar... the conversation ends on a great discussion on massive parallelism. Could C++ solve the parallel problem?
Carl and Richard talk to Kerry Hammil about .NET Gadgeteer. The .NET Gadgeteer project comes out of Microsoft Research and is advancing the .NET Micro Framework with new hardware that does not require experienced electronics people to be successful with. Everything is plug-and-play! The conversation moves on to what would happen when everything in your house has an IP address and further on into the Internet of Things. Another good geekout show!
Carl and Richard talk to Emily Lewis about HTML5, CSS3, Microformats, and general web development topics. Emily calls herself a 'standardista' and demonstrates that in the conversation, talking about the advantage of using schemas to identify different types of data in your web pages. Could this be the return of XML schemas in a way that makes sense?
Carl and Richard talk to Loren Goodman from InRule Technologies about rule engines. Loren talks about how rule engines help applications organize rules so that non-developers can modify them. The goal is to reduce maintenance costs for software. The conversation moves over to concepts of complex event processing and how it applies to developing new rules dynamically.
Carl and Richard talk to JD Meier from Microsoft about leading an agile life. JD talks about how he learned to be effective as a product manager at Microsoft, and how that lead to developing the Agile Life book. It may have a developer undertone, but the Agile Life is aimed at everyone.
Carl and Richard talk to Shaun Walker about DotNetNuke. Shaun talks about the release of DotNetNuke 6, offering some substantial changes to DNN, including migrating to C# (from VB.NET). The conversation also digs into the lifestyle of having a dominant community (read: free) edition of your product vs. the commercial edition. Shaun also talks about how web development has evolved since the early days of ASP.NET. And it runs in Windows Azure!
Carl and Richard talk to Tatham Oddie about building web applications using HTML 5 and Silverlight. Tatham talks about the idea that the two technologies are not mutually exclusive - that you can take advantage of the mix of browsers and plugins to build the best experience possible for users. The conversation also moves into data and connectivity in general, ending up on cloud platforms. Tatham talks about how Azure can't scale down far enough, that technologies like AppHarbor are filling in the bottom end of the cloud story.
Carl and Richard talk to Cristian Libardo about N2 CMS. N2 CMS is an open source CMS system designed to be very light weight and allow developers to work with editors to build great web sites. Cristian talks about how N2 CMS focuses on strongly typed code to define structure to the web site and only content in databases.
Carl and Richard talk to Pete Brown from Microsoft about the cool things he's working on, including building a Commodore 64 emulator in Silverlight! Pete also touches on the fact that Silverlight is not dying at all - there's lots of good things going on! The conversation digs into Pete's favorite new features of Silverlight 5. Pete is the author of Silverlight 5 in Action, you can get a discount by using code s5ia38 at the Manning web site. Ultimately the conversation ends up on the .NET Micro Framework and MIDI - music and geekery collide!
Carl and Richard talk to Mark Rendle about Simple.Data. As Mark describes it, Simple.Data is not an ORM because there's no objects and no relational mapping. Simple.Data is a dynamic data utility to make your data persistence layer as light weight as possible. Mark also talks about Nancy, a light-weight web development framework. The conversation also moves to OWIN, the Open Web Server Interface. The show wraps up with Mark's insights on simpler, more open software.
Carl and Richard talk to Brad Abrams late of Microsoft, now at Google. Recently moved to Palo Alto, Brad talks about Google+, Google's social networking application for sharing thoughts, pictures and video. Brad has just joined the team to start developing API for developers to work with Google+. The conversation moves onto Google's Web Toolkit and App Engine, products Brad spent his first year at Google on. Brad digs into his thinking around building platforms, what it really means to compile, and his experiences in different company cultures.
Carl and Richard talk to Rey Bango from Microsoft about his web development career. Rey has deep ties into the Javascript community and talks about how Javascript development process has evolved. Today Rey takes care of the Script Junkies web site at Microsoft with some awesome cross browser content and code. The conversation also digs into the state of HTML 5 and it's potential in mobile development. Rey also walks through his tool kit of Javascript libraries. The show closes with a discussion about jsMentors, a site focused on helping Javascript developers improve.
Carl and Richard talk to Sebastien Lambla about OpenRasta and OpenWrap. OpenRasta is a framework for simplifying building resource-oriented web-based applications. OpenRasta can work with ASP.NET or directly with HTTP.SYS. OpenRasta will work side-by-side with ASP.NET MVC, Webforms and more. Sebastien also talks about OpenWrap, a package manager for .NET that helps OpenRasta stay lean but extensible. Sebastien also speaks passionately about the role of Open Source in the Microsoft community.
Carl and Richard talk to Geoff Smith and Howard van Rooijen about S#arp architecture. S#arp architecture provides guidance on how to build ASP.NET MVC applications with nHibernate. It follows Eric Evan's Domain Driven Design principles very closely. The conversation also jumped over to StyleCop, the CodePlex project for standardizing code standards and Templify, an open source tool for building T4 templates.
One more show from NDC - a silly one. Late in the conference, Carl and Richard talked to Uncle Bob Martin about professionalism, clean code and the Clojure language. Lots of jokes and giggling in this one - we were all getting a little punchy!
Fresh off his keynote at the Norwegian Developers Conference in Oslo, Norway, Scott Guthrie dropped into the fishbowl to talk to Carl and Richard about his new role with the Azure team. Scott digs into how Azure has evolved and his focus on improving the developer experience. The conversation wraps up with a chat about the upcoming Build conference.
While at the Norwegian Developers Conference in Oslo, Norway, Carl and Richard talk to Ingo Rammer about building 'native' HTML 5 apps. Ingo talks about PhoneGap, a wrapper over HTML for building applications that run on all mobile platforms. But then he goes further, talking about other variations on the idea of using HTML 5 as the presentation markup while still being able to connect to the native resources of the platform. Could this be the programming platform of the future?
While at the Norwegian Developers Conference in Oslo, Carl and Richard sat down with Dominick Baier to talk about claims-based security. Dominick walks through the entire claims-based security process, separating identity claims from resource claims, how to actually work with active directory in a sensible way and how the whole thing comes together in your code in a way that won't make you cry every time you need to make a change. The time for claims-based security is now!
Carl and Richard talk to Paul Bone about the Mercury Project. Mercury is a logic programming language designed to natually execute in parallel without requiring the programmer to understand much about parallelism. Get ready for some brain-twisting - this sort of programming is quite different from what you're use to!
While at DevTeach in Montreal, Carl and Richard sat down with a panel of mobile development experts to talk about where mobile development is at. The development process for iPhone, Android, Blackberry and Windows Phone 7 was explored. The conversation also dug into the potential of MonoTouch and Mono for Android, alternative ways of building applications for iPhone and Android respectively. Finally, the debate dug into HTML 5 and the dream of building an application once that runs on all platforms.
Carl and Richard talk to David Neilsen about doing cloud development. David digs into the various flavors of cloud, defining the differences between Platform-as-a-Service, Infrastructure-as-a-Service and Software-as-a-Service. David is one of the original organizers of CloudCamp, free one day events to help people get started with the cloud. The conversation then digs into the challenge of migrating existing .NET applications to Azure. David finishes by defining the core criteria of cloud computing: On-Demand, Self-Service, Scalable, Measurable. The acronym is OSSM, pronounced 'awesome.'
While at Tech Ed US in Atlanta, Carl and Richard talked to a variety of folks about the work they're doing in .NET. First up was Geert van de Horrik, talking about the Catel MVVM framework. Then Miguel Castro talked about MVVM. We also caught up with Stephen Rose who discussed Windows InTune. And finally, Tod Anglin from Telerik talked a bit about HTML 5. These are the stories from Tech Ed!
Carl and Richard talk to Michele Leroux Bustamante about identity. Michele starts the conversation with the state of the union on identity. She walks through the evolution of identity concepts and how the various peices are being implemented. Michele also talks about the rise of REST-based identity (as opposed to SOAP-based) and the efforts to simplify identity. She also talks about Access Control Services (ACS), which is part of Azure AppFabric. oAuth, OpenID, Claims-Based Identity... this show has it all!
Ignoring the unusual show number, Steve Smith talks to Carl and Richard about his experiences tuning ASP.NET for better performance. Steve tells three different stories from different eras of web development, also digging into situations where he's made mistakes, where he's found mistakes, and when he wished he'd called Microsoft tech support sooner. Don't let the number scare you, this is a great show!
Carl and Richard talk to Brian Lagunas about the Extended WPF Toolkit. The Extended WPF Toolkit goes beyond Microsoft's WPF Toolkit to add even more controls for WPF. Since September 2010, Brian has been adding controls to the library, as of April 2011 he's up to 21 controls!
Carl and Richard talk to Koen Zwikstra. Koen is the author of Silverlight Spy, a tool for inspecting the run time of a Silverlight application in browser, out-of-browser and even in Windows Phone 7. Think of it as Reflector or View Source for Silverlight!
Richard caught up with Glenn Block at Mix 2011 to find out what he's been working on since the MEF days. After a quick tour down memory lane about MEF and Brad Abrams, Glenn discusses WCF Web APIs. The Web APIs focus WCF onto pure HTTP, making it easier to build RESTful applications while not requiring your applications to use REST. WCF Web APIs are all about creating HTTP clients and servers that do not have to be browsers and web servers, opening HTTP to a whole new world of devices and simplifying testing of your HTTP applications.
While Richard is climbing a mountain in Nepal, Carl talks to the US regional winners of Imagine Cup 2011.
While at Mix 2011, Richard talked to Billy Hollis about XAML development. Billy talks about the balance between WPF and Silverlight work, how he chooses which approach to use. The conversation also digs into steering clear of the 'One Right Way' mindset, and how right now is a great time to be ready to experiment with new technologies - XAML, touch and even gesture.
Carl and Richard talk to Remi Caron about his project utilizing Enterprise Service Bus architecture to connect a huge number of applications together. Remi talks about using Microsoft Biztalk with the Enterprise Service Bus Toolkit to create a consistent mechanism for having different applications 'report-up' to a common infrastructure.
Carl and Richard talk to Brian Noyes about Prism 4. Prism is a combination of guidance and tooling from the Patterns and Practices team at Microsoft to help build WPF and Silverlight based applications. Brian digs into why Prism exists and what has been added to the latest version of Prism to work with Visual Studio 2010, Silverlight 4 and WPF 4. There's also a version for Windows Phone 7!
While at DevConnections, Carl and Richard talk to Dan Wahlin about the state of web client development. Dan talks about his experiences with Silverlight, HTML 5, MVC and jQuery.
Carl and Richard talk to Luca Passani about WURFL. WURFL stands for Wireless Universal Resource File. Originally, WURFL was an XML file containing the device capabilities of a huge variety of mobile devices. Today its available in a variety of database formats, including formats friendly to .NET.
Recorded in front of the DevConnection audience in Orlando, Carl and Richard talk to Brian Randell about virtualization. Brian also digs into Virtual Lab Manager, the extensions to Visual Studio 2010 that help testers capture tests that fail and communicate them effectively to developers.
Carl and Richard talk to Cory Fowler about running PHP on Azure. Cory digs into the challenges of getting PHP up and running in Azure, especially the evil popup dialog box. Cory also points out the Microsoft Web Platform Installer Command Line edition that allows you to install anything from the WebPI onto Azure. The conversation also digs into the differences between Amazon EC2 and Microsoft Azure. Microsoft runs open source software well on Azure, check it out!
Carl and Richard talk to Oren Eini, aka Ayende Rahein, about RavenDB. RavenDB is a NoSQL JSON document database. Oren explains how he came to the realization that he needed to build his own data store, and the advantages of document databases over relational databases. Is SQL dead? Not hardly, but RavenDB is an interesting addition to your data solution!
Recorded on PI day, Carl and Richard talk to the one-and-only Eric Lippert from the C# Compiler team. But we don't only talk about C#! The conversation wanders around all the languages, a little F#, a little IronPython, heck, even VB.NET! Eric talks about Project Roslyn, Microsoft's efforts to make the C# compiler available as a service. A little artificial intelligence, a little parallelism, and you've got one brain twisting show!
Carl and Richard talk to Jean Paoli, the General Manager of Interoperability Strategy at Microsoft. Jean Paoli was part of the team at the W3C that created the XML specification. Jean does a great job of helping us understand how huge the interoperability effort at Microsoft is. He also digs into the iterative (almost agile!) process of developing web specifications by building prototype code and taking that experience back to the working group.
Carl and Richard talk to Adam Driscoll of Quest Software. The conversation starts with a discussion around Adam's TFS plugin for Android. Then it moves into PowerGUI and the PowerGUI extensions for Visual Studio. PowerGUI is a UI for writing PowerShell scripts and PowerGUI VSX ties PowerGUI into Studio. Adam talks about applications can be built to be PowerShell driven with UI over top to generate the PowerShell commands.
Carl and Richard talk to Jonathan Snook about Cascading Style Sheets (CSS). Jon is a designer and developer, which makes him a rare creature indeed. He talks about the history and role of CSS in web development and how CSS3 makes significant strides in equalizing design and layout between browsers.
Carl and Richard talk to Scott Millett about SpecFlow, a free tool to help you implement Behaviour Driven Design. SpecFlow lets you build plain text requirements that actually connect with code and tests to help reinforce acceptance testing. The conversation also wanders over design patterns in general and ASP.NET specifically. Scott also talks through the various free tools he uses together to build better software.
Carl and Richard talk to Kent Alstad about the state of Javascript today. Kent admits that he has fallen in love with Javascript of late, that the newest browsers make Javascript incredibly fast and powerful. The conversation digs into how to keep Javascript fast, which is primarily focused on downloading the right bytes at the right time - when in doubt, delay! Kent is down in the nitty gritty of web site performance, his insight on what to do to make things go faster will blow your mind.
Carl and Richard talk to Mark Miller and Seth Juarez about their crazy experiments with Kinect. The boys discuss how they are building an interface with Kinect to do programming with Visual Studio 2010. A large part of this conversation ends up diving deep into the relative merits of machine learning in systems. Are we crossing the streams? You bet!
Carl and Richard talk to Bruce Lawson and Remi Sharp about HTML 5. Bruce and Remy have been involved with HTML 5 from the early days, although more as activists than movers-and-shakers. They provide some great insight into how HTML 5 has come to be and how regular developers can get involved and affect the outcome of an important specification. Bruce and Remy have one of the very first books out on HTML 5, creatively named Introduction to HTML 5.
Carl and Richard talk to Giorgio Sardo about the IE9 Release Candidate. Giorgio talks about his experience with Imagine Cup a few years back before diving into what's new in IE9. These features include geolocation and Web Open Font Format. Giorgio also digs into the test strategies of IE9 as well as performance. When will IE9 be released? Giorgio won't say!
Carl and Richard talk to Gael Fraiteur about the state of PostSharp and Aspect Oriented Programming (AOP). Gael talks about the advantage of AOP, modifying applications without changing source code by using post-compilation techniques. He digs into different examples of using AOP to add features without burying business code in the plumbing. Finally Gael talks about the evolution of PostSharp into community and retail versions and what is coming in version 2.1.
Carl and Richard talk to Udi Dahan about Command-Query Responsibility Segregation (CQRS). CQRS is an enterprise application pattern derived from the DDD movement, where responsibility for data integrity and consistency lies soley in the application itself. The conversation digs deeply into using caching intelligently - not just create and expire, but actual maintenance of caching with a publication approach. Udi is the software simplist and makes this potentially confusing pattern absolutely clear!
Carl and Richard talk to Rob Eisenberg about Caliburn.Micro, a MVVM framework available on Codeplex. Caliburn.Micro takes Convention-over-Configuration further, utilizing naming conventions to handle a large number of data binding, validation and other action-based characteristics in your app.
Carl and Richard talk to Josh Holmes about Microsoft's Web Matrix! Josh keynoted the launch of WebMatrix at CodeMash in January 2011. Web Matrix brings together great installer technologies with some of the latest Microsoft web application technologies to make it dirt simple to deploy and maintain web sites. The tool is free and the projects you make can be maintained with Studio Express or full blown Visual Studio. Enter the WebMatrix! You'll be glad you did.
Carl and Richard talk to Grant Skinner about Pirates Love Daisies, an HTML 5 game. The game runs on all of the HTML 5 browsers including IE 9 Beta. The conversation also digs into Easel JS, an open-source library that Grant helped create to make Pirates, simplifying the animation process on HTML 5 canvas.
Carl and Richard talk to Michael Doc Norton about how developers can grow their career. The conversation dives deep into techniques and approaches to practice in development, comparing it to music and katas. The reference sharpen the saw comes from Stephen Covey, and focuses on the idea of practice independent of work.
Carl and Richard talk to Stephen Toub from Microsoft about parallel development. Stephen digs into the Async-CTP, released in October 2010, to provide asynchronous keywords Async and Await. The conversation also digs into what's coming next in the parallel space from the team.
Carl and Richard participated in a panel discussion at Codemash 2011 on January 12, 2011 alongside the hosts of the popular Java Posse podcast. The discussion was moderated by Barry Hawkins. They talked about the differences and similarities between the Java and .NET ecosystems, the origins of their podcast (and ours), and more. Even if you're not a Java developer this is great stuff.
Carl and Richard talk to Joel Semeniuk about the state of Team Foundation Server (TFS) today. Joel digs into how TFS has moved into the cloud and is reaching a larger span of developers. The conversation digs into how to split the work of development up between cloud and premise - source code on the cloud, builds locally, etc.
Carl and Richard talk to Boris Scheiman about nKinect, a codeplex project to bring Kinect to .NET! Boris talks about what it takes to make nKinect work and the new features that are coming, while Carl and Richard geek out on the possibilities. Minority Report is here!
Rob Conery tells us why OpenID is a nightmare, and why he's stopped using it. Oh yeah, he's also given up Twitter. We also talked about the mind/body connection and the challenges of working at home. Also: whale watching, home brewing, music, barbeque, wine, and following your bliss.
Carl and Richard talk to Gus Issa from GHI Electronics, a company that makes small programmable boards, devices, controllers, and sensors that use the .NET Micro Framework to allow Visual Studio developers to program smart hardware devices.
Carl, Richard and Mark Miller chat about events that occurred in 2010 that affect the .NET world. From C# to F#, Studio to Lightswitch, Windows Phone 7 to Kinect. What a great year!
Carl and Richard talk to Shaun Walker, CTO of DotNetNuke Corp. Last time Shaun was on the show, the commercial version of DotNetNuke was just starting out. Shaun brings us up to date on the state of the business, the balance between community and commercial, and the evolution of the store front for the thousands of plug-in products for DotNetNuke.
Carl and Richard talk to Eric Falsken of db4o. db4o is an open source object database for Java and .NET. Object databases have been around since the 1980s, but recently have become part of the NoSQL movement. Eric discusses the NoSQL movement in general and how various products fit into the ecosystem, including db4o.
Carl and Richard talk to Miguel de Icaza about MonoMac and rest the of the Mono universe. MonoMac is a set of tools to let .NET developers build applications for the Mac using the Mac UI elements in Cocoa.
Carl and Richard talk to Shawn Wildermuth about Silverlight, Windows Phone 7, HTML 5, oData and more! Yes, a lot of topics, but it all holds together on how people are going to build applications in the future, for the desktop, the web and the phones.
Carl and Richard talk to John Waters and Walt Ritscher about the data access technologies available to work with Silverlight. The conversation wanders over all of XAML, including WPF and Windows Phone 7.
Carl and Richard chat with Microsoft Vice President and all around great guy, Scott Guthrie. Scott talks about some of the new features coming in Silverlight 5. The conversation jumps over to HTML 5 toward the end, focusing on what ASP.NET will support in the space. Apologies for Carl's phone track. We'll try to be better people. :)
This show is a collection of interviews with the keynote speakers at Oredev. First up is a conversation with Dr. Jeff Norris from NASA, who's keynote focused on the agility shown by folks like Alexander Graham Bell. Next, John Seddon talks about maturing management techniques to get management out of the way of productivity. Finally, Nolan Bushnell, the founder of Atari and Chuck E Cheese, talks about the future of education. Three amazing luminaries in one show!
Carl and Richard talk to Jon Skeet and Bill Wagner about C#. Both Jon and Bill have published books on C# and have reach each other's work. But C# is such a vast language, there are plenty of things that are subject to interpretation. We could have called this show a C# Smackdown, but these guys are too nice for such a thing!
While at DevConnections in Las Vegas, Carl and Richard talk to Tim Huckaby about his new company, turning the great innovations from Interknowlogy into products. Tim digs into his favorite NUI topics, as well as exploring the differences between services and product companies.
While at DevReach 2010 in Bulgaria, Carl and Richard talk to Scott Stanfield, Stephen Forte and Lino Tadros about the working relationship between developers and designers. The conversation explores a number of platforms, including iPhone, Android, Windows Phone 7, Blackberry, Silverlight, Flash and more.
While at DevCon in London, Carl and Richard hosted a discussion with guests Ted Neward and Dierk Konig about the differences and similarities between .NET and the JVM. The discussion ranges over the different languages that are implemented against the platform, how the ownership model of the platforms differs and how that impacts the evolution, right down to how to make the two platforms work and play well with each other.
Carl and Richard talk to Phil Haack. The conversation ranges over Razor, the MVC3 Beta, WebMatrix, NuPack and more!
From the .NET Rocks Live Weekend, Carl and Richard talk to Rocky Lhotka. What else is there to say?
While Carl and Richard were at Tech Ed New Zealand, Richard moderated a panel discussion on the future of web applications.
Carl and Richard talk to Steve Evans during the .NET Rocks Live Weekend. Steve and Richard totally geek out on living in the space between development and infrastructure.
While at TechDays in Vancouver, Carl and Richard recorded a .NET Rocks Live with Pete LePage, talking about IE9, which had just been released to public beta.
Holy cow, it's show 600! Carl and Richard look back on memorable moments from the last 100 shows.
While at TechDays Vancouver, Carl and Richard talk to Mark Relph from the Microsoft Windows team about building Windows applications.
From the .NET Rocks Live Weekend, Carl and Richard talk to Billy Hollis. Billy was last on the show during the .NET Rocks Road Trip, and it seems like the conversation just picked up from there...
In the first of a two-part series on the Windows Phone, Carl and Richard talk to developers in the field currently building Windows Phone 7 apps. A talk with Brandon Watson from the WP7 team kicks it off.
From the .NET Rocks Live Weekend, Carl and Richard talk to Charles Petzold about the old days of development and the new days - Charles is focused on WPF, Silverlight and Windows Phone 7.
From the .NET Rocks Live Weekend, Carl and Richard catch up with Rob Howard. Rob talks about how Telligent has changed and their new focus on a different customer base that has significantly refocused their product development efforts toward social media.
While at Tech Ed Australia, Carl and Richard did a variety of interviews with speakers and attendees.
A show from the .NET Rocks Live Weekend, Brian Noyes talks about what's coming up in the latest incarnation of Prism.
Carl and Richard talk to Scott Hanselman (yeah, that Scott Hanselman) about WebMatrix, a new set of tools added to the Web Platform Installer to make building and deploying web sites much easier.
Another great .NET Rocks Live Weekend show, Carl and Richard talk to Kent Alstad, Richard's partner in crime at Strangeloop. Kent talks about his latest thoughts on making web sites go faster.
During the .NET Rocks Live Weekend, Carl and Richard talked to Glenn Block - discovering he was no longer with the MEF team, but was still a MEF head.
Carl and Richard talk to Seth Juarez on his work with Machine Learning algorithms. Seth breaks it down into a simple process.
Steven Sanderson from the UK talks about Knockout, his open source library for doing databinding with Javascript using the MVVM pattern. The conversation goes from that to MVVM to HTML 5 and beyond.
As Carl and Richard hang out in their comfy chairs broadcasting to your cell phone, James Kovacs talks briefly about psake, his Powershell-based build tool then goes on to talk about XML readability, designing XAML graphically, JQuery, the functionalness of Javascript, and the potential success of HTML 5. This show was recorded live during the .NET Rocks! Live Weekend. See the links below for more information.
Clemens Vasters catches up with Carl and Richard at the Norwegian Developer's Conference to talk about the Service Bus, which Clemens is working on at Microsoft.
Daniel Simmons from Microsoft joins Carl and Richard on the DNR Live Weekend for an hour of Entity Framework goodness.
Kevin Hazzard talks about Code Contracts, which grew out of Spec# and now exists in the .NET Framework 4.0. He also gives us his take on F#.
Jackson Harper from the Mono team and Chris Hardy, an ASPInsider talk to Carl and Richard about the state of Mono, Moonlight, and Monotouch, which Chris swears is not dead.
Jon von Gillern talks about his passion for coding, which has culminated in two unique code analysis products: Nitriq and Atomiq.
Steve Milroy talks about the Silverlight 4 application his company, Onterra Systems, developed to track the DotNetMobile in real time as Carl and Richard drove across Ameria on the .NET Rocks! Visual Studio 2010 Road Trip in April, 2010.
David Miller talks to Carl and Richard about Clojure-CLR, a .NET implementation of the Clojure language.
We know, this was supposed to be that Atlanta road trip show. Turns out that show is on an SD card en route to New London. Meantime, enjoy this great show with Matthew Podwysocki about the Reactive Extentions.
Jesse MacFadyen and Filip Maj talk to Carl and Richard about PhoneGap, an open source project for supporting rich applications on a large variety of mobile devices.
Chris Sells joins Carl and Richard on the Road Trip at Microsoft in Cambridge, Massachusetts. Chris is working on guidance for when to use what Microsoft Technologies in the data stack: OData, EF, RIA Services, et al.
Rocky and Jay talk with Carl and Richard about the Visual Studio designer experience: XAML vs Cider, as well as ruminations on Silverlight and WPF.
Kate Gregory talks about programming for Windows 7. As well, we have a discussion about the lack of real-world preparation in University for software developers.
Tim Huckaby talks about his work with Interknowlogy, cancer research, fly fishing, Windows Phone 7, and the convergence of XAML platforms.
Carl and Richard catch up with MLB in Dallas. We find out what she's up to. An interesting question asked: What was the most challenging system you ever had to architect? And yes, of course she tells a joke at the end!
Carl and Richard talk to Dustin Campbell from the Visual Studio team about his work in Language UI and Intellisense. He also talks about his experiences with Mark Miller at Developer Express, and shows off his jazz guitar chops.
Richard and Carl talk to Alan Griver, Beth Massi, and Tim Heuer in front of a live audience on the 5th stop of the .NET Rocks! Visual Studio 2010 Road Trip in Phoenix, AZ.
Carl and Richard talk to Billy Hollis in San Diego on the third stop of the road trip. Billy always has something interesting to talk about.
Carl and Richard talk to Dan Fernandez about Channel 9, online community, Visual Studio Express, and more on the second stop of our Road Trip!
Phil Haack was our guest on the first Road Trip show! We talked about shipping VS2010, ASP.NET MVC, and Phil told us how he got into the business.
Carl and Richard talk to Anders Hejlsberg about languages, LINQ internals, high-levels of abstraction, VB, and a few other goodies. Not to be missed!
Lino Tadros of Borland and Falafel Software fame takes us back to when he worked for Anders Hejlsberg at Borland. Good stories from an old-school geek!
Christian Weyer and Ingo Rammer from Thinktecture talk with Carl and Richard about programming iPhone applications with MonoTouch, an open source iPhone development tool based on Mono.
Mark Brown talks about the Web Platform Installer, a free tool for developers from Microsoft that will sucessfully install everything your PC needs to develop web applications on the Microsoft platform.
Carl and Richard talk to Gabriel Torok and Joe Kuemerle about what it takes to really know what's going on in your enterprise in real time.
What do you get when you cross a hundered or so geeks, mountains of pizza, truckloads of energy drinks, and a mission to help the charities of the world beef up their online offerings? GiveCamp.
Carl and Richard talk to Daniel Norwood and Daniel Wood (I know) from Quest Software, makers of Toad - data tools for Oracle. Now providing Toad Extention for Visual Studio .NET, bringing all of the Datadude features of Visual Studio to Oracle developers.
Carl and Richard talk to Dave Mendlen and Sam Gazitt from Microsoft about the launch event April 12-14, 2010 at the Bellagio in Las Vegas where .NET 4.0 and Visual Studio 2010 will be officially launched.
Richard and Carl talk to Kent Brown and Ed Pinto about the new features of WCF (Windows Communication Foundation) 4.0, which will be released April 12, 2010.
Juval is back to talk to Carl and Richard. They get to the bottom of his "Every Object Should be a WCF Service" argument, and get his insights into the current state of .NET development.
What's new in the CLR? Jason Olson goes through some of the most important new features.
Carl and Richard talk to the father of UML and the Unified Process, Ivar Jacobson. He recently put forth the Essential Unified Process (EssUp). Not to be missed.
Stephen Walther talks about the latest version (4) of ASP.NET AJAX and all the associated technologies.
Carl and Richard talk to Scott Hunter to scratch the surface of the new features in ASP.NET 4.0
Eric Lawrence from Microsoft talks about Fiddler, a debugging proxy for HTTP traffic that you can use in your own applications.
Christian Weyer and Dominick Baier talk about real world Windows Identity Foundation. This show wraps up our three-part series on WIF.
Carl and Richard interview seven contestants in the My .NET Story contest. Enter a story about your .NET application online at www.mydotnetstory.com. The winner gets either a trip to the Galopagos Islands or a Smart Car.
Carl and Richard talk to Chris Bowen of Microsoft and Michael Cummings of Magenic on using XNA to develop games and applications for the PC, XBox and Zune.
I know! We can't believe it either. We went back over the last 100 shows and cherry picked a few of our favorite segments. Thank you for your continued support!
Lev Novik talks to Carl and Richard about the Sync Framework, a comprehensive synchronization platform that enables collaboration and offline access for applications, services, and devices with support for any data type, any data store, any transfer protocol, and any network topology.
Vittorio Bertocci goes over Windows Identity Foundation (Geneva) from a developer's perspective.
Carl and Richard catch up with Chris Sells at DevReach in Sofia, Bulgaria a couple weeks ago. Chris is all about Data Dude, the Visual Studio edition for Database Professionals. Great show on all counts.
Doug Seven talks to the boys about Visual Studio 2010. In particular, pricing, features, and the launch.
Francesco Balena talks about his groundbreaking work in migrating VB6 applications to VB.NET
Shawn Wildermuth talks about the importance and significance of declarative User Interfaces in the context of WPF and Silverlight.
Mark Miller and Billy Hollis go head to head on User Interface. The conversation ranges from WPF and Silverlight to Visual Studio and Blend to whatever else they felt like talking about...
Software Transactional Memory (shipping as part of .NET 4.0) represents the next generation in writing code that utilizes multiple cores. The best part is, the code gets much more simple!
Steven Borg talks about his experiences delivering solutions with Microsoft Team System, with a special focus on automated builds.
Philip Japikse talks about his experiences working on Hope Mongers, a volunteer-run asp.net-based website that brings charity projects together with donators.
Carl and Richard talk to Leon Gersing about his love affair with Ruby, which he so elequently spoke of as an audience member at DevLink in Nashville (show #476).
Ben Hall and Jeff McWherter talk with Carl and Richard about testing ASP.NET applications.
Emre Kiciman and Mark Friedman talk about bringing AjaxView to Visual Studio. Emre previously talked about AjaxView on .NET Rocks when it was a Microsoft Research project to enable developers to profile the behavior of JavaScript on the browser. Since then, AjaxView has been developed as the Microsoft Visual Studio AJAX Profiling Extensions. Mark as part of the Studio team focused on making AjaxView work in Studio. The conversation not only digs into what AjaxView can do for a developer, but the challenges of bringing a research project to the mainstream.
Ananth B talks about Brahma, an open-source library written for the .NET 3.5 framework (in C# 3.0), to provide high level access to parallel streaming computations on a variety of processors.
Carl and Richard talk to Roman Schindlauer on Complex Event Processing (CEP) and Microsoft's Platform for CEP using SQL Server.
Scott Ambler from IBM talks about the Agile Process Maturity Model, which defines three levels of Agile methodology.
TweetSharp is a .NET library for developing Twitter applications. Yeah, that's what I thought too until we talked to these guys! You'll want it.
Peter Vogel talks about code generation pros, cons, technologies, and strategies from Visual Studio to T4
Eric Lee from Microsoft talks about his experiences developing live demos for the likes of Steve Ballmer. Then he digs into his codeplex project, WinForms to WPF. Check it out on codeplex!
The .NET dudes talk to Nicholas Blumhardt about Autofac, an IoC container that uses lambda expressions in C# 3.0 to create components.
Attack of the Canadians!! In this show Kate gets hardcore, talking about C++, VC10, the Vista Bridge, and a few other technical gems.
Jonas Folleso of Norway talks to Carl and Richard about which User Interface we chose for our applications. ASP.NET Ajax, Silverlight 3, WPF, Windows Forms) and his insights into these technologies.
Patrick Hynds (our first guest) is back to talk about his experiences and research on why software projects fail. New statistics show that even with agile methodologies such as Test-Driven-Development, most software projects still fail.
Carl and Richard talk with Kathleen Dollard about MEF, the future of development, and more.
Recorded live at DevConnections Orlando 2009, Don Kiely is back to talk about AJAX old and new (ASP.NET AJAX 4.0 is just out), and a few other things on his mind.
There's some acronym soup for ya! Phil talks about the differences in the MVP and MVC patterns, some other patterns emerging out of MVP, and of course the ASP.NET MVC Framework, recently released to manufacturing by Microsoft!
Jim Duffy offers up the latest and greatest about Virtual Earth. You may be surprised about what you can do with it!
Carl and Richard talk to Tess Ferrandez about her experiences as an escalation engineer at Microsoft, focusing on debugging and memory management.
The always-thoughtful Brian Noyes shares his thoughts on the state of WPF, Silverlight, WF, and WCF.
Bryan Wilhite talks about his open-source projects, and his experiences in the trenches as a .NET developer. Great stories!
Mark Dunn joins Carl and Richard to review some of the interviews he did at TechEd EMEA in Barcelona, Spain in November, 2008. On board are Bob Beauchemin, John Flanders, Pat Helland, Richard Pawson, and Jay Roxe.
Carl and Richard talk to an esteemed panel of experts about Rich Internet Applications, focusing on web-based apps at CodeMash 2009 in Sandusky, OH.
Carl and Richard catch up with Bob Martin at Oredev in Malmo, Sweden. Topics range from debugging to software quality. Great show.
Anthony Cangialosi and Rico Mariani talk with Richard and Carl about Visual Studio Extensibility and the VS Ecosystem, and a little bit about IdeaBlade.
Oren Eini spoke to Carl and Richard at 0redev in Malmo, Sweden in November about the latest version of Rhino Mocks, Oren's mocking framework. Oren also talks about mocking in General.
Carl and Richard talk to author and developer Jon Skeet about his work with C# and Java at Google and elsewhere.
Carl and Richard talk to Steve Teixeira, Product Unit Manager for the Parallel Development Tools team within Developer Division's Parallel Computing Platform organzation at Microsoft. The conversation is mostly around the future of parallel computing highlighting offerings that Microsoft is currently working on.
Carl and Richard talk to Thiago Silva about the new features of Reporting Services for SQL Server 2008.
Carl and Richard talk to Chris Hart, Kyle G, and Zain Naboulsi about developing software for Second Life, and how the world of .NET intersects with the virtual world of SL.
Meet the guy who sold Microsoft Word to Bill Gates! Stories abound in this lively conversation with Les Pinter.
Carl and Richard talk to Tomas Petricek about Phalanger, a managed code PHP language compiler, as well as his thoughts on F# Web Tools, a toolkit which lets you write both client-side and server-side code at the same time, and the client gets converted to JavaScript.
Carl and Richard interview members of the Dot Net Nuke corporation and their partners in front of a live audience at the Connections conference in Las Vegas November, 2007.
Carl and Richard talk to Windows veterans Tim Sneath and Ian Ellison-Taylor about the olden days of Windows, how it has evolved, and how it may look in the future from a developer perspective.
Pablo Castro from the SQL Server Product Group at Microsoft talks about his work with Astoria, an infrastructure for bringing web technologies and data sources together. Astoria uses the Entity Framework, which Pablo is also involved with.
Venkat shares his passionate reasoning as to why dynamic languages (with good unit tests) are the way of the future.
Jack Herrington talks browser coding: everything from JavaScript to Flash to Silverlight, if it's done in the browser Jack does it. He brings his experiences from Macromedia to the discussion, but make no mistake. Jack loves .NET!
Larry O'Brien talks with Richard and Carl about how up and coming CPU architecture is going to invalidate current methods of concurrency programming, and what we can do about it.
In the last of the content from TechEd 2007 Carl and Richard host a panel on Identity issues with Ani Babaian, Michele Leroux Bustamante, Scott Golightly, and Richard Turner.
Carl and Richard talk with Frans Bouma, author of LLBLGen, a very popular ORM modeling and code generation tool for .NET
Rustan Leino discusses with Carl and Richard the features and functionality of the Spec # programming language.
Oren Eini, creator of Rhino Mocks, reprises his DNR tv appearance with discussions on the effectiveness and power of NHibernate, coding advantages and the joys of authoring open source work.
Jack Greenfield talks about software factories, or software that builds software. The conceptual and practical aspects of the future of software development, and implications for developers are discussed.
Pat Hynds checks in with us to talk ASP.NET security sharing his latest insights and telling stories from the field. As always, Pat brings his post-GI point of view to the conversation, which is always enjoyable.
Richard Costall and Andy Brown talk about two large scale production applications, one Smart Client and one ASP.NET app based on the beta 2 release of VS 2005 and the Framework 2.0. Hear about how they have dealt with compatability in a heterogenous client envyronment, some praise for the Microsoft Ascend program, how they utilize Web Services and ADO.NET, and more!
Russ Nemhauser talks to Carl and Richard about mobility via the Smart Phone platforms, including some model specifics, shortcomings, and differences versus the Pocket PC platform. Russ, Carl and Richard also touch on the issues with VB6 developers moving to VB.NET, and how VS 2005 could make the transition easier. They also get into some great detail about stress testing and tracking down sluggish code in Visual Studio Team System.
We return to Dot Net Nuke, with Jim Duffy and Shaun Walker, who talk about the amazing pluggability and skinability of Dot Net Nuke. We discuss the changes between 2.0 and 3.0, the philosophy of Open Source development, and even get a glimpse at what we might see in the future of Dot Net Nuke.
Microsoft Product Manager for Visual Basic.NET, Jay Roxe drops by to talk about his work on the .NET Framework including System.Object, System.String, and System.Text.StringBuilder. In the second half he talks about VB.NET 2005, about the decisions Microsoft made regarding features and ship dates, and about how he thinks VB.NET 2005 will go a long way toward making .NET accessible to the masses of business programmers worldwide.
Industry guru Richard Hale Shaw talks to the guys about what's on his mind. Namely, patterns, practices, anti-practices and anti-patterns, best practices, patterns in .NET, the future of C++ and managed code, VB6 as the ultimate anti-pattern, lack of OOP in ASP.NET 1.1, and looking forward to ASP.NET 2.0. We also listened to a bit of one of Richard's favorite tunes, What is Hip by Tower of Power. Mail, News, New music from Rory Blyth, Weird Wide Webb, and Richard the Toy Boy.
In this, the second installment in our ongoing ".NET Success Stories" series, Carl talks with Jesse Ezell and Chris Kinsman about projects they have developed and successfully deployed with Microsoft .NET languages, tools, and technologies.Chris talks about a huge project done for an insurance company that successfully uses ASP.NET and Windows Forms with autodeployment. As well, he talks about some applications he wrote for slot machine management at a casino.In the second half, Jesse Ezell discusses an application he helped develop for Articulate Software that utilizes Flash as a server application to convert Powerpoint presentations to Flash.
Carl and Mark talk to Robert about the new Visual Studio Tools for Office, VBA, XML, Office and DataSets, Scripting, and using Word and Excel as the User Interface layer for your .NET framework applications.
Robert also talks about some features of up-coming versions of these tools in the Whidbey timeframe. This is great stuff!
Carl and Mark chat with Scott about the new features of ASP.NET 2.0 (code-named Whidbey). Scott's keen understanding of the high and low-level features of Whidbey, Yukon, and IIS 6.0 really shine through in this interview where the topics include performance, caching and cache dependency, VS.NET tools, data access, using Yukon with ASP.NET 2.0, sharing session state, backward-compatibility, and code enhancements as well as a time-frame for when to expect alphas, betas, and the like.
This is a rare opportunity to have a conversation with people at Microsoft who are so closely tied to VB and VB.NET. They talked about new features in Whidbey, the next version of Visual Basic expected out in 2004 sometime, including some features that nobody knows about outside of the Alpha program! You'll have to listen to find out what they are!
Carl and Mark talked about the things they like and have disliked about VB in the past, and how VB.NET has really brought the language to the forefront of the serious development community. As well, they ask some interesting questions like, "what parts of the .NET Framework were written in VB.NET" and other goodies. There are plenty of laughs as well. If you're a VB programmer, you've got to hear this!
Her area of expertise is (obviously) the ASP.NET DataGrid. She talks with Mark and Carl about various aspects of the DataGrid. She talks about common mistakes, common solutions, workarounds, what is it best suited for, what is it not suited well for, etc.
Marcie also talks about Inheritance and web controls, managing viewstate, custom columns, blogging, and some of her favorite books on ASP.NET
This is the first of a series of shows we are going to do this year highlighting .NET Success Stories; companies that have implemented .NET applications successfully as either pilot projects or production projects. In this show we hear from two different companies
This, our second show was recorded live from the Microsoft Offices in Waltham, MA at the montly meeting of the .NET User Group of Greater Boston.
Carl and Mark interview Daniel Appleman of Desaware, Inc. Dan shares his insights into .NET and offers advice to shops looking at moving to .NET. Topics include Interop, obfuscators, assemblies and memory, performance, C# vs VB.NET, State Machines, and more.