The Loosely Coupled Show: Recent Episodes

James Hickey

The Loosely Coupled Show is where James Hickey and Derek Comartin share their strongly held opinions about topics relating to software architecture and design: HTTP REST design, asynchronous messaging patterns, distributed systems, microservices, SOA, Domain-driven design, etc.

From time-to-time, we chat with industry experts who have specific specializations within the field of software development & design.

View Details

James and Derek discuss various domains and projects that they have worked on in their careers.

softwarearchitecture #softwaredevelopers #softwarepodcast

View Details

We chatted with AsyncAPI founder Fran Méndez about what AsyncAPI is, where it came from, and its new partnership with Postman.

Fran Méndez

https://twitter.com/fmvilas

https://www.asyncapi.com

https://asyncapi.com/slack-invite

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

We talk a bit about CAP Theorem in regards to Microservices.  When partitions occur, do systems lean towards Consistency or Availability? With autonomy, should you even care?

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

Event Modeling is a method of describing systems using an example of how information has changed within them over time. Specifically this omits transient details and looks at what is durably stored and what the user sees at any particular point in time. These are the events on the timeline that form the description of the system.

Adam Dymitruk

https://twitter.com/adymitruk

https://www.adaptechgroup.com/

https://eventmodeling.org/

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

Just saying "event" doesn't mean much without context.  There's so many meanings and how you can use events in a distributed system.  Domain Events, Integration Events, Event Sourcing, Thin Events, Fat Events, Event Carried State Transfer.... the list goes on.

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

Are you on the Blazor train? Some of us are hesitant with scars from the past, even though they might not be warranted.

Andrew Lock

https://andrewlock.net

https://twitter.com/andrewlocknet

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

Andrew Lock talks about his experience with both RabbitMQ to Kafka.  The challenges with RabbitMQ and how they were solved by moving to Kafka.

Andrew Lock

https://andrewlock.net

https://twitter.com/andrewlocknet

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

Andrew Lock joins us to talk about testing.  We started out by talking about should you test API/MVC controllers?  The discussion then turned into testing for messaging, databases, and much more.

Should you unit-test API/MVC controllers in ASP.NET Core?

https://andrewlock.net/should-you-unit-test-controllers-in-aspnetcore/

Andrew Lock

https://andrewlock.net

https://twitter.com/andrewlocknet

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

Udi Dahan posted (per usual) a great graphic that points out latency scaled to how we comprehend it.  We add synchronous network calls to database, caches and other services without thinking of the latency it will add.

https://twitter.com/UdiDahan/status/1303694890992390144

🔔 Subscribe: https://www.youtube.com/channel/UCNX9EQV4aEfa6fa9o6qcdEQ?sub_confirmation=1

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

Monoliths don't need to be a big ball of mud. Microservices don't need to be a distributed ball of mud.  James and Derek talk about striking a balance and how using strictly defined boundaries and asynchronous messaging can go a long way.

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

James and Derek discuss the .NET Community and the state of OSS including the .NET Foundation.  

What do they do again?

View Details

Are there more junior developers using Node.js? Are .NET/Java Developers just old and writing boring line of business apps?

View Details

Uber Engineering released a blog post of their current architecture named "Domain-Oriented Microservices (which was removed, then re-posted).  There was quite the buzz on Twitter about it.  Here are our strong opinions about what they are doing in comparison to Domain Driven Design and SOA.

The day we recorded the article "Introducing Domain-Oriented Microservice Architecture" by Uber Engineering Blog was unavailable. It seems to be available again:

https://eng.uber.com/microservice-architecture/

Hosted By:

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

What is CQRS? Is it all about complex asynchronous processing or is it simpler than that? When should you consider using CQRS anyways? Are there different ways to achieve the benefits that CQRS offers?

Derek and James offer their strongly held yet loosely coupled opinions on these issues and more!

James Hickey:

  • https://twitter.com/jamesmh_dev

  • https://www.jamesmichaelhickey.com/

Derek Comartin

  • https://twitter.com/codeopinion

  • https://codeopinion.com

View Details

What's the state of third-party packages in the software development industry today? How do third-party packages affect security, maintainability & ownership?

James and Derek share their ideas on these issues and more!

James Hickey:

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin:

https://twitter.com/codeopinion

https://codeopinion.com

View Details

Derek and James discuss their own experience in dealing with specifications. They then move on to chatting about what makes for a good specification, who is responsible, etc.

James Hickey:

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin:

https://twitter.com/codeopinion

https://codeopinion.com

View Details

Derek and James talk about their experiences with code reviews. What's been difficult, what's work well and what are the main benefits to code review... and... what are they NOT good for?

James Hickey:

https://twitter.com/jamesmh_dev 

https://www.jamesmichaelhickey.com/  

Derek Comartin:

https://twitter.com/codeopinion 

https://codeopinion.com

View Details

Derek and James chat about how they like to test software (unit, integration, etc) and what different reasons exist to test in the first place.

James Hickey:

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin:

https://twitter.com/codeopinion

https://codeopinion.com

View Details

Adam Ralph (https://twitter.com/adamralph) is a software developer and an open source advocate with a keen interest in distributed systems design, DDD, CQRS and event sourcing.

2:50 Microservices vs SOA

6:30 Technical vs Capabilities

11:00 Service Boundaries

18:50 Carving out a Monolith

26:00 Physical vs Logical

36:13 Service Communication

42:30 Pipes

47:50 4+1 Architectural View Model

James Hickey:

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin:

https://twitter.com/codeopinion

https://codeopinion.com

View Details

In this episode, James & Derek talk about Hypermedia used in HTTP APIs.  More specifically they discuss Hypermedia as the Engine of Application State and how it's useful in what type of systems.

3:55 Workflow & State Transitions

7:35 Hypermedia Clients

16:10 Driving the UI & Visibility

23:25 Opaque URIs

35:30 Tooling

40:20 State Machine

48:22 Downsides

James Hickey

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

This is is part 2 of our discussion with Nate where we talk more about Domain-Driven Design.

3:50 DDD in a Startup

8:50 Boundaries & Explicit

16:45 Entity Identification

26:55 API Design

32:05 Cross-Boundary & Consistency

43:30 Database First

James Hickey:

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

We chat about topics like:

0:30 Changes in Remote Work

2:30 Fully Remote vs Partially Remote

4:50 Krisp.ai

10:10 Struggles working remote

15:40 Interruptions

22:30 Group Reviews

24:10 Conventions

30:30 Vertical Slices

32:50 Communication & Documentation

38:10 Evolving Architecture & Design

46:30 Talking with the business

Links:

Krisp.ai

https://ref.krisp.ai/u/u40a218a54?utm_source=refprogram&utm_campaign=4584&locale=en-US

James Hickey:

https://twitter.com/jamesmh_dev

https://www.jamesmichaelhickey.com/

Derek Comartin

https://twitter.com/codeopinion

https://codeopinion.com

View Details

Nate is the co-founder and CTO of Cobbler and a former Microsoft MVP.  He previously worked at Okta as a developer advocate and is the author of the Little ASP.NET Core Book.

Links:

OAuth 2.0 and OpenID Connect (in plain English) 

https://www.youtube.com/watch?v=996OiexHze0

http://littleasp.net/book

https://twitter.com/nbarbettini

James Hickey:

https://www.jamesmichaelhickey.com/

https://twitter.com/jamesmh_dev

Derek Comartin:

https://codeopinion.com

https://twitter.com/codeopinion

View Details

Steve Smith (@ardalis) is an entrepreneur and software developer with a passion for building quality software as effectively as possible. He provides mentoring and training workshops for teams with the desire to improve. Steve has been recognized as a Microsoft MVP for over 10 consecutive years, and is a frequent speaker at software developer conferences and events. Connect with Steve at ardalis.com.

Links: 

https://weeklydevtips.com 

https://ardalis.com/new-is-glue 

https://deviq.com/explicit-dependencies-principle/ 

https://twitter.com/ardalis  

James Hickey: https://twitter.com/jamesmh_dev  

Derek Comartin: https://twitter.com/codeopinion

View Details

Welcome to the new Loosely Coupled Show by James Hickey and Derek Comartin.  We'll be covering topics around software architecture and design with various guests in the software industry. 

James Hickey: https://twitter.com/jamesmh_dev

Derek Comartin: https://twitter.com/codeopinion