#96 Steve Gordon, Http Client Factory in .NET Core 2.1

Summary
Steve Gordon and I talk about the new Http Client Factory in .Net Core 2.1. We cover what's new, what's different and how to use Polly, the .NET resilience framework with it.

Details
Who he is, what he does, meetup group, Humanitarian Toolbox. What is wrong with Http Client, exhausting sockets; using a singleton, DNS problems. Http Client Factory, creates a client pool, using DI to create the clients, named and typed clients, testing. Http Client Handlers. Using Polly with Http Client, differentiating between policies for a given endpoint, wrapping, calling delegates.

Links
Steve's homepage

Steve's series on Http Client Factory.
Steve's twitter

Steve's MS Doc's page

Scott Hanselman's post on Http Client Factory.

Download mp3 of podcast

#95 Ben Watson, High Performance .NET

Summary
Ben Watson, software engineer at Microsoft working on Bing and author of Writing High Performance .NET Code talks to me about his book and how to improve your code.

Details
Who he is, what he does, working on Bing lead to the book, Bing is probably the biggest C# app in the world. Why worry about performance, pay for play, serverless; sometimes more machines are the best solution. Where to start with the CLR, the garbage collector, JIT, be careful of enum flags. More on GC, using generations to improve efficiency, aim for very short lived or very long-lived memory, memory efficiency is as important as CPU efficiency. What about the network, async await all the way down, Ben likes TPL, "immutability is key". LINQ hides allocations, closures delegates. Be careful with Func and Actions, delegates cause allocations. Spans. Concurrent collections. Just in Time, small methods compile faster, Bing loads thousands of dlls. Readability and maintainability vs performance. for vs foreach.

Links
Ben's homepage

Ben's book

Download mp3 of podcast

#94 Todd Gardner, Building Your Brand

Summary
Todd Gardner, founder of TrackJS talks about building its and his own brands, speaking, and growing a company.

Details
Who he is, what he does, pub conf. What TrackJS is. Why having a good product is not enough, talk about it as much as building it, present at conferences. How he sold to the big companies like Google, StackOverflow and Microsoft, hiring sales people. Moving from developer to running the company. Todd's brand and the TrackJS brand. How to build a brand, minimum viable personality. Pitfalls as a company grows, don't start at web scale, don't focus on the tech. What Todd likes most about running a business. NDC conference Minnesota and pub conf are coming to Minnesota.

Links
Traction - book Todd recommends.

Download mp3 of podcast

#93 Ben Cull, From Developer to Startup Founder

Summary
Ben Cull tells be about his move from being a developer to the founder of a starup, why he decided to make the change and the success and failures along the way.

Details
Who he is, what he does. Starting a product, knowing what to build. How to transition away from the day job, become a free lancer, when did does the startup start paying. Finding the market fit for your product, target a small market, find advocates among your customers, figuring out your cash flow. Treating your dependencies as relationships, it's all about people.

Links
Ben's twitter

Ben's Youtube

Pinch Payments

Download mp3 of podcast

#92 Felienne Hermans, What is Programming?

Summary
Felienne Hermans has been asking the question "What is programming?", in this podcast she tells me why it is an important question and what she has found out.

Details
Who she is, what she does. Felienne's research into what programming is, why it is important. Her general findings. Excel as an intro to programming, Excel is functional. Programming with kids, code smells, code quality and how it affected understanding. It's hard to see beyond your own bad code. Programming as writing, making it appealing by comparing it to story telling. Transitioning to more formal programming. Programming Sucks article by Peter Welch. Encouraging people to learn programming, how can we help, some home work from Felienne.

Links
Felienne's twitter

Joy of Coding conference

Programming Sucks article by Peter Welch

Download mp3 of podcast

#91 Adam Ralph, NServiceBus, Microservices and SOA

Summary
Adam Ralph talks about the challenges of distributed systems, queues, coupling, and how NServiceBus helps with microservices, SOA and long running processes.

Details
Who he is, being "a white space bigot"; what he does; working for Particular, evangelist and engineer. What NServiceBus is, infrastructure for distributed systems, queues, retires. History of NServiceBus, commercial and free versions. Main reasons to us NServiceBus - abstracts the message transport, retires, deduplication and the fallacies of network computing, insights into the flow of messages, monitoring on the transport system. Publish/subscribe. Sagas for long running processes, saving state, an example of a saga in action, sagas can run infinitely. Loose coupling, "pit of success"; different kinds of coupling - temporal, location, logical. an example of decoupled ordering service, thin events vs fat events, contract coupling, set an id very early. What scale do you need to be at to use NServiceBus. How to get started with NServiceBus. Monitoring what is happening. NServiceBus on containers. Adam is running a workshop in May at Micro CPH in Copenhagen.

Links
Adam's twitter

Micro CPH

Download mp3 of podcast

#90 Kjersti Sandberg and Charlotte Lyng, Norwegian Developer Conferences

Summary
Kjersti Sandberg and Charlotte Lyng of the Norwegian Developer Conference tell me what goes into organizing four major conferences around the world.

Details
Who they are, what they do. A little about how the conferences started. What is the Norwegian Developer Conference; spreading around the world, London, Oslo, Minnesota, Sydney. How they organize the conferences, finding local partners, crew, contractors, quality over quantity. How the conference grew. Balancing the content of the conference to suit attendees, choosing the conference tracks, choosing the speakers, new and established presenters. How NDC attracts the big names. Why attend conferences when there is so much content online. Timeline of a conference, planning starts a year out. An invitation to Minnesota, Oslo and Sydney.

Links
NDC Minnesota

NDC Oslo

NDC Sydney

Download mp3 of podcast

#89 Mark Eisenberg, Breaking the Monolith

Summary
Mark Eisenberg talks about the very long life of the software monolith, when it started, and how we have been trying to escape it since.

Details
Who he is, what he does. What is a monolith, tell-tale signs of a monolith, coupling and decoupling. Why we built monoliths. N-tiers and monoliths. Software is rarely a green field. Were we ever able to swap tiers. Advantages of a monolith, it's familiar. Companies need a visionary to effect change. Risk raises its head. SOA didn't work, client server didn't work, n-tier didn't work. Successful companies went from monoliths to microservices when they needed to. RPC is from the 1960s, are you running one piece of code on one machine or ten machines. How to get off the monolith, find a visionary. Time to respond to a challenge is very short. Microsoft is a good example of a large company changing.

Links
Mark's LinkedIn

Download mp3 of podcast

#88 Aaron Bedra, Threat Modelling

Summary
Aaron Bedra talks to me about threat modelling, why you should do and what to cover.

Details
Who he is, what he does. What is threat modeling and how he approaches it. Types of security, loss of money, loss of life. Should you secure something if it is not valuable. Are we in a post security world? How often your site is attacked. How to decide what to protect. Regulations and breaches. How to protect your system, watch for outgoing data. How to build secure software from the start (it starts with a hug from Aaron!). Hashed passwords are not as secure as you think. Encryption and input validation. How to check third party libraries. Better software practices lead to better security. How much security is enough, "if you are investing more than you could lose, you're doing it wrong".

Links
Aaron's homepage

Download mp3 of podcast

#87 Veronika Kolesnikova, Xamarin and Cognitive Services

Summary
Veronika Kolesnikova talks to me about Xamarin and Microsoft Cognitive Services.

Details
Who she is, what she does. What is Xamarin. What are cognitive services, why so many services; artificial intelligence vs machine learning vs deep learning, training models. He she got started in Xamarin; it's part of Visual Studio, SDKs and testing tools, Xamarin live player debugging on device. Why use cognitive services, examples of use. Types of cognitive services - labs, vision, face, speech, translator, language understanding intelligence service. Should I train my own model. Recommendations API. It started with Bing, how is it to use, examples. People to follow - Paige Bailey, Seth Juarez. Veronika is presenting at Visual Studio Live, Las Vegas.

Links
Veronika's twitter
Visual Studio Live, Las Vegas
Paige Bailey
Seth Juarez

Download mp3 of podcast