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
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 rig...
Oct 15, 2015•1 hr
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 s...
Oct 14, 2015•1 hr
How much can a language do with only 25 keywords? Carl and Richard talk to Michael Van Sickle about Google's Go Language. The focus in Go is on simplicity and structure - it's amazing what you can do with so few keywords, plus fixed locations for braces, indentations, and so on. The benefit of Go is easy-to-read code that has great concurrency capabilities - the Actor model is a standard pattern of development for Go. Michael also digs into the tooling around Go, using Atom for an editor and var...
Oct 13, 2015•53 min
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 ...
Oct 08, 2015•1 hr 6 min
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 y...
Oct 07, 2015•53 min
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 h...
Oct 06, 2015•59 min
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 sema...
Oct 01, 2015•53 min
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 ev...
Sep 30, 2015•53 min
Document databases as a service? For sure! Carl and Richard talk to Ryan CrawCour about Azure DocumentDB. DocumentDB is a JSON store - with an amazing set of features, including SQL querying. What? Ryan talks about how DocumentDB provides a fast, scalable place to store objects and write your queries any way you like. You write the rules for how your data partitions between collections, as well as the performance of each of those collections, and you can change them on the fly. More sophisticate...
Sep 29, 2015•59 min