logo
episode-header-image
Mar 2023
1h 10m

Comparers with Stephen Cleary

JAMIE TAYLOR
About this episode

This episode is sponsored in part by dotConnect by Devart. Whether you're a developer or a business owner, dotConnect has the database integration tools you need to succeed.

Remember: you can also always follow the show on Twitter @dotnetcoreshow, and the shows host on Twitter @podcasterJay or visit our Contact page.

Welcome to season 5 of the award-winning .NET Core Podcast! Check that link for proof.

Hello everyone and welcome to THE .NET Core Podcast. An award-winning podcast where we reach into the core of the .NET technology stack and, with the help of the .NET community, present you with the information that you need in order to grok the many moving parts of one of the biggest cross-platform, multi-application frameworks on the planet.

I am your host, Jamie "GaProgMan" Taylor. In this episode, I talked with Stephen Cleary about his Comparers library and how comparison and equality of objects in your code base mean different things to different people. For instance, one block of code may view equality as two different object instances with the same ID field, and a different block of code may view equality as a combination of other properties being equal. It's all different for different people, for different consumers, right.

We also talk about the importance of unit testing in the comparers library and how writing these unit tests has sort of unearthed some interesting corner cases in the .NET BCL. Along the way, we discuss our opinions and guesswork regarding a potential corner case in the .NET BCL. But please do remember that neither Stephen nor myself actually work for Microsoft or indeed were involved in writing the original BCL. As such, our opinions and guesswork are just that: guesswork and opinions.

The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at https://dotnetcore.show/episode-119-comparers-with-stephen-cleary

Useful Links from the episode:

Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend.

And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch.

You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast

Up next
Jun 27
Learning Azure with Jonah Andersson: A Developer's Guide to Cloud Computing and Development Fundamentals
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by RJJ Software's Software Development Services, whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that ... Show More
1h 14m
Jun 13
Dapr: The Secret Sauce to Simplifying Distributed Applications with Mark Fussell
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by RJJ Software's Software Development Services, whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that ... Show More
1h 9m
May 30
.NET Aspire: How Maddy Montaquila and the .NET Team Are Revolutionizing Development
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by RJJ Software's Software Development Services, whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that ... Show More
1h 2m
Recommended Episodes
Jun 2023
You Are What You Build: Making Your Code More Human | GitHub’s Christina Entcheva
The world is what we make it. Tech - and AI - follow the same principles. On this week’s episode of Dev Interrupted, we sit down with Christina Enchevta, a Director of Engineering at GitHub, to unravel the link between the values we hold and the things we build. We delve into how ... Show More
29m 37s
Oct 2021
Live From INTERACT: Microsoft's Developer Velocity Research
This week we have another episode from the 2021 engineering leadership conference INTERACT. In this live conversation, Conor Bronsdon, Community Lead at LinearB and the executive producer of the Dev Interrupted podcast,  interviews Henrik Gütle, GM of Azure for Microsoft Canada. ... Show More
15m 15s
Feb 2023
BDTP. Uncovering Customer Insights Using JTBD with Aggelos Mouzakitis
Today we have another episode of Better Done Than Perfect. Listen in as we talk to Aggelos Mouzakitis, a retention-focused B2B SaaS head of growth. You'll learn about the main metric that proves product-market fit, how they used customer segmentation in the process, how to improv ... Show More
51m 49s
May 2020
Episode 170: The Power of Workshops with Jonathan Courtney
How can you use workshops to level up your design practice? Why are they exponentially better than regular meetings? Our guest today is Jonathan Courtney, CEO of AJ&Smart and the author of The Workshopper Playbook. You'll learn how they transformed their business using workshops, ... Show More
42m 24s
Mar 2024
Episode 64: .NET Remoting, CDN Attack Surface, and Recon vs Main App
Episode 64: In this episode of Critical Thinking - Bug Bounty Podcast we talk about Justin and Joel delve into .NET remoting and how it can be exploited, a recent bypass in the Dom Purify library and some interesting functionality in the Cloudflare CDN-CGI endpoint. They also tou ... Show More
1h 8m
Feb 2023
Episode 259: Designing Services vs Products with Justin Zalewski
How can services improve and expand our product experience? Our guest today is Justin Zalewski, director of product design and strategy at Studio Science. You’ll learn their framework for figuring out customer pains, how to establish the balance between self-serve and done for yo ... Show More
38m 27s
May 2022
Bonus Episode: Originality, Writing and Career Fulfilment with Brandon Sanderson
Brandon Sanderson is my favourite author of all time. He writes incredible fantasy books, including Mistborn and The Stormlight Archive, and wrote the final 3 books of The Wheel of Time. Brandon's output is legendary - he writes books almost faster than we can read them, and he t ... Show More
52m 11s
Sep 2021
BDTP. Email Automation Data & Integrations with Colin Nederkoorn
Today we have another episode of Better Done Than Perfect. Listen in as we talk with Colin Nederkoorn, founder of Customer.io. You'll learn about the common mistakes companies make when setting up their email tools, how to best handle certain types of data, tips for providing “do ... Show More
37m 45s
Jan 2023
BDTP. Data Activation for SaaS with David Sepulveda
Today we have another episode of Better Done Than Perfect. Listen in as we talk to David Sepulveda, Head of Data at Kumospace. You'll learn why data analysts need to work closely with research and product teams, how to distinguish correlation from causation, how much data you nee ... Show More
33m 16s
Mar 2024
Contextual Safeguarding in practice with Clair Graham
In one of my most memorable conversations I speak to Clair Graham, from Birmingham Children's Trust. We talk about the importance of community, what contextual safeguarding really looks like in practice and the power of parents as partners in safeguarding. I can't wait ... Show More
44m 53s