How technical is technical debt? Carl and Richard talk to Einar Høst about how technical debt has more to do with your understanding of a system and the intentional shortcuts we take to make deadlines than anything specific to technology. The conversation dives into the domain driven design thinking of Eric Evans and the challenges of deeply understanding the domain of a system well enough to build great software to model it. As Einar puts it, some complexity is intentional, and some is accident...
Dec 24, 2015•54 min
So what's the story with Power Apps? While at the Tel Aviv stop of the Azure Tour, Carl and Richard chatted with Julia White about the on-going evolution of Azure and Office 365 including the introduction of Power Apps. Power Apps is a tool for building mobile applications for iOS, Android and Windows Phone without writing code or having to deploy to the store. While it may not be a tool that developers will be keen to use (or will it?), its certainly something to pay attention to - this might b...
Dec 23, 2015•43 min
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 ...
Dec 22, 2015•56 min
Time for the Smart Home Geek Out! Carl and Richard chat about what the house of the future is like. Future homes have been predicted for a long time, and the discussion dives into some of those earlier predictions from the 1960s. When thinking of what smart homes can become, it helps to think like a developer - have an array of sensors that measure the state of the home, its environment, contents and people. Then write code - get all those things talking to each other! Today we're starting to ha...
Dec 17, 2015•1 hr 1 min
So what does it take to make your web applications secure? Carl and Richard talk to Bill Sempf about his work educating developers on writing secure software. The conversation focuses on the Open Web Application Security Project (OWASP) and all the resources there for securing your web applications. Bill leads the .NET side of OWASP, providing tools, techniques and links for everything you need to build a more secure web application. You'd be amazed how many great security resources are built in...
Dec 16, 2015•59 min
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 you...
Dec 15, 2015•55 min
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...
Dec 10, 2015•57 min
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. A...
Dec 09, 2015•57 min
How do you build a tool that bridges data silos? Carl and Richard talk to Tim Ward about his work on CluedIn, a tool for connecting documents, email and other business resources together so that employees can see what everyone is working on with a minimum of fuss. Tim talks about using different data stores within CluedIn to leverage their strengths - the graph storage of neo4J maintains relationships between documents where ElasticSearch actually finds things. The art of tagging and cataloging ...
Dec 08, 2015•1 hr 2 min
The Software Craftsmanship Calendar is back for 2016! After a one year hiatus, Steve Smith and Brendan Enrick have made a new calendar with the help of .NET Rocks listeners and others via Kickstarter. The conversation starts out with the challenges of crowd funding a project like this, including some mistakes made... but overcome! And then the fun starts, talking through some of the hilarious anti-pattern software craftsmanship elements in the calendar - many that were suggested as part of the f...
Dec 03, 2015•58 min
So what does developing web apps with F# look like? Carl and Richard talk to Henrik Feldt about his efforts to use F# end-to-end when building web sites and web services. The conversation starts out with suave.io, a nodeJS-like web server written in F# that runs in a totally non-blocking fashion across Linux, OS X and Windows. Henrik also digs into WebSharper, a web framework for building functional and reactive .NET applications - a natural for F#, although WebSharper works fine with any CLR la...
Dec 02, 2015•50 min
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 serv...
Dec 01, 2015•59 min
How do you stop your data lake from being a data swamp? Carl and Richard talk to Tom Kerkhove about Azure Data Lakes. The conversation digs into the impact the cloud has had a data warehousing - when you have as much compute and storage as you need on demand, does it still make sense to jump through all the hoops that data warehousing requires? Tom talks about Data Lakes storing all data as it arrives from a huge variety of sources and leaving that data in its native format, so that it is availa...
Nov 26, 2015•52 min
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 b...
Nov 25, 2015•58 min
Microservices and Azure together! While at the Stockholm stop of the Azure Tour, Carl and Richard chatted with Corey Sanders in front of a live audience about the announcement at the Microsoft Connect event about Azure Service Fabric's direct support for microservices. Corey digs into the core concepts of microservices, focusing on single domain APIs that use HTTPS and REST to connect and communicate. The challenge of microservices is proliferation - between redundancy and scalability, a large a...
Nov 24, 2015•1 hr
So what does the future hold for commercial air travel? Carl and Richard chat about the on-going evolution of airliners, starting with the latest generation: the Airbus A380 and the Boeing 787. They represent the pinnacle of traditional airliner design so far. But is it time for a radical break? How can airliners be improved to lower costs, emissions and so on? Richard digs through the on-going evolution in turbofan engines, and looks to the future of more radical engines. Will supersonic flight...
Nov 19, 2015•1 hr 4 min
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 do...
Nov 18, 2015•56 min
So what are microservices anyway? Carl and Richard talk to Paul Mooney about his work architecting applications with microservice principles. Paul talks about getting granularity right, and keep services simple using REST. Gone are the monolithic, verbose and complex services from the SOA age, it's all HTTP and simple language. The conversation digs into key architectural elements like queuing - in this case, with RabbitMQ. This is a tricky design pattern, but allows for lots of scalability and ...
Nov 17, 2015•55 min
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...
Nov 12, 2015•58 min
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! Support this podcast at — https://redcircle.com/net-rocks/donations...
Nov 11, 2015•56 min
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...
Nov 10, 2015•53 min
Can you be a software craftsman and not test? Scott Nimrod says no! Carl and Richard chat with Scott about his experiences using TDD practices to build software and how that affected his approach to craftsmanship. Scott talks about how writing testing code to quickly test your app code is a far more efficient use of time compared to repeatedly compiling and running an application, then manually navigating to the feature in question and playing with it. Proper tests are faster, more accurate and ...
Nov 05, 2015•55 min
How can Azure change your business? Carl and Richard talk to Jason Zander, one of the original developers of .NET and now a corporate vice president, about the power of Azure to affect change in your business. Jason talks about the landscape of Azure today, and how the engineers are able to push out a feature almost every week - 500 new features in the past year! You may not need to move that fast, but it's nice to know if you build against Azure, that's what is possible. The conversation ranges...
Nov 04, 2015•57 min
How do you build a cloud-oriented application? Carl and Richard talk to Vishwas Lele about his views on making software that takes advantage of features of the cloud, including dynamic resource allocation, resiliency and reliability. Vishwas runs down a list of ideas, starting with error handling - how many failures can be recovered in the cloud with new resource allocation, etc? Next up, instrumentation and logging - the cloud offers a lot of tooling to make real-time instrumentation a possibil...
Nov 03, 2015•53 min
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 fo...
Oct 29, 2015•59 min
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...
Oct 28, 2015•51 min
Visual Studio 2015 came out in July 2015, and with it, a new version of F# - version 4.0! Carl and Richard talk to Lincoln Atkinson, late of Microsoft, about the cool new features and capabilities in F# 4. The conversation ranges through the thinking around functional programming and new very functional features added - like TryList, as well as the more hybrid capabilities that let F# be a more general purpose language. And most impressively, F# 4.0 was built out in the open, as an open source p...
Oct 27, 2015•51 min
Have you seen The Martian? Don't listen to this show until you do! WARNING: SPOILERS! But if you've seen it (or don't care), have a listen to this Geek Out about the movie and a deeper dive into the challenges of Mars, picking up where the last Geek Out on Manned Mars Missions left off. How is the movie different from the book? (they're both great, read or watch in either order) And how sciencey is the science? The movie is remarkably technically accurate, but there are some bits that are Hollyw...
Oct 22, 2015•1 hr 1 min
Test-Driven Development (TDD) is a mature methodology now, right? So how do you get it right? Carl and Richard talk to Justin Searls about his experiences helping teams implement TDD. As Justin says, TDD is just a tool in the toolbox for making long-lived software. In its maturity, different flavors of TDD have emerged, and Justin digs into the Detroit or Classical TDD versus the London TDD. It's all about testing, but with some style variations. How do you keep your tests resilient as software ...
Oct 21, 2015•55 min
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...
Oct 20, 2015•57 min