Being The Worst artwork

Being The Worst

43 episodes - English - Latest episode: about 8 years ago - ★★★★★ - 4 ratings

Audio apprenticeships for the aspiring software craftsman. Currently exploring DDD, Event Sourcing, CQRS, distributed systems, cross-platform, cross-cloud, & cross-language software delivery.

Technology Education How To development programming ddd event sourcing cqrs software design .net javascript erlang
Homepage Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed

Episodes

Episode 42 – Rinat's Clojure Tattoo

January 27, 2016 05:00 - 1 hour - 62.9 MB

Kerry and Rinat babble about a buffet of programming languages and some of their strengths and weaknesses. It soon becomes clear that Rinat has a crush on clojure, but still walks us through several of the programming languages he has explored the last couple of years. (109 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Erlang Basics on Rinat's Blog Golang Omni Sample on Rinat's GitHub Scala Sample Apache Spark Clojure Sample Rinat's gist Clojure.org ...

Episode 41 – Minimum Viable Doesn't Annoy Me Product

December 23, 2015 02:37 - 34 minutes - 31.5 MB

Kerry and Rinat start a new development project from scratch. They discuss the plan, with caveats, then talk through the approach to getting started. (34 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Microsoft Azure Service Fabric documentation Feedback and Finding Us @beingtheworst on Twitter, on GitHub, and http://beingtheworst.com/

Episode 40 – Talk Of Atonement

September 11, 2015 01:30 - 32 minutes - 22.7 MB

Kerry and Rinat discuss Rinat's recent blog post that covers all the things that he thinks he did wrong with his open-source Lokad.CQRS framework. Kerry asks for clarification on some of the topics in the post, and tries to get Rinat to see the good things that came from his, "big mistake", of a framework. (33 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Lokad.CQRS Retrospective Lokad.CQRS Sample Project Feedback and Finding Us @beingtheworst on Twitte...

Episode 39 – In Flux And Back To React

January 27, 2015 04:15 - 31 minutes - 21.5 MB

Kerry and Rinat return. The guys catch-up on some of the development that Rinat’s been doing while they were away and set their recording timer to 30 minutes. They discuss that their sample GTD domain, from past episodes, is being implemented with Facebook Flux and React.JS as they set the stage for future episodes. (31 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Rinat’s Talk on ReactJS and Facebook Flux at DDDBE in Belgium GitHub source code GTD Domain...

Episode 38 – Glenn Block Evolves APIs

April 18, 2014 19:35 - 1 hour - 46.2 MB

Kerry and Rinat welcome guest Glenn Block to discuss hypermedia Web APIs, and the new book he co-authored on the subject. They get into some of the differences between systems that are designed to take advantage of the constraints of the REST architecture style, with those that are not. What is hypermedia? Should you always adhere to REST constraints and use hypermedia when building a Web API? What are some ways to implement these concepts on the client and server and how do they interact? W...

Episode 37 – Variety Is The Spice of Pancakes

March 28, 2014 19:39 - 56 minutes - 38.5 MB

Kerry and Rinat discuss some of the learning that Rinat and the HappyPancake team did to evaluate their language and tool options for their new project. Rinat makes some observations about his long history with C#, and the benefits of looking at other languages and approaches. In Episode 38, they may even discover new ways that C# can do some things that Rinat says can be hard to do using traditional C# and .NET techniques. They finish up by getting into more of the “Microservices” or maybe ...

Episode 36 – Break It Down Again

March 06, 2014 17:47 - 56 minutes - 39 MB

In this episode Kerry and Rinat discuss some of the benefits of decomposing your software into even smaller components. Some may refer to this technique as “micro services” or “system-of-systems”. They end their conversation with a look at how this approach was applied to the Lokad codebase to result in a more evolvable design. (57 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Design, Composition and Performance Implementing Micro Service Architectures – ...

Episode 35 – Totally Crossed Out

January 09, 2014 06:09 - 48 minutes - 33.6 MB

This episode is the third of a three part series on client-side development. Kerry and Rinat discuss their initial experiment with applying the MvvmCross framework to the GTD sample’s cross-platform mobile application. They review why they selected this approach, the initial code in the solution, and plans to revise their Core Domain and Published Language into reusable Portable Class Libraries (PCLs). (49 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: BTW...

Episode 34 – Model View Who?

October 20, 2013 04:39 - 41 minutes - 28.3 MB

This episode is the second of a three part series on client-side development. Kerry and Rinat discuss the changes that were made to the sample’s WinForms client to make it easier to add new features. They review the three main contexts in their GTD sample, the benefits of passing around immutable state, and dig into graphical user interface architectures like MVC and MVVM. This sets them up for the next episode where they apply MVVM to the sample’s cross-platform mobile application. (41 min...

Episode 33 – Client-side Components

September 11, 2013 06:16 - 39 minutes - 27.3 MB

Kerry and Rinat return from their summer break to discuss their initial explorations into client-side development. This episode, and the two episodes after it, cover a two month period in which Rinat and Kerry went off to write some new client code for their Getting Things Done(tm) sample project. They start this three-part spike with a simple WinForms client, and end it with the beginnings of their cross-platform mobile application. (40 minutes) Subscribe via RSS | Subscribe for free in i...

Episode 32 – Questionable Approach

July 23, 2013 07:49 - 54 minutes - 37.2 MB

Kerry and Rinat answer listener questions about code syntax, differences between event sourcing and relational storage, and concrete examples of Domain-Driven Design (DDD) concepts. Along the way, your questions lead them to questioning themselves and to consider an alternate approach. (54 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Question #1 – C# dynamic syntax in sample code BTW sample code related to question #1 Question #2 – Event sourcing and r...

Episode 31 – Cloud Clearing Events

July 05, 2013 05:33 - 1 hour - 42.9 MB

Kerry and Rinat choose the event storage to use for their project. They’re using Windows Azure, so should they stick with Lokad CQRS event storage, or switch to Event Store from Event Store LLP? They discuss some of the pros and cons of their options, review some scaling approaches, and guess at what a transition may look like. (62 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Event Store LLP’s open-sourced EventStore product Lokad CQRS sample project Pa...

Episode 30 – The 30 Thirty Experience

June 04, 2013 18:53 - 27 minutes - 18.7 MB

Rinat returns home from his trip to the United States which was filled with milestones, memories, and marriage. The guys briefly catch-up on some of the insights that were gained from looking over the fence at the Java ecosystem, and how it has made more progress than .NET in specific areas. They wrap-up with an intro to the DDD Summit, and how the things learned there and along the way will shape the upcoming episodes and code. (27 minutes) Subscribe via RSS | Subscribe for free in iTunes...

Episode 29 – Acting Like We Get The Message

May 15, 2013 06:23 - 1 hour - 57.8 MB

Kerry and Rinat introduce the Actor in the Actor Model of Computation. They wonder if the Actor’s embodiment of communication (via messaging) may simplify the way that they reason about and implement their solutions. They discuss this potential use of the Actor Model in the context of their current usage of Domain-Driven Design (DDD), Application Services, Aggregates, and Event Sourcing. Download (mp3): Episode 29 – Acting Like We Get The Message – (63 minutes) Subscribe via RSS | Subscri...

Episode 28 – Learning Lokad CQRS

April 24, 2013 07:10 - 49 minutes - 33.9 MB

Kerry and Rinat dig into the Lokad CQRS project that laid the code foundation for their current projects. This open source sample provides a working slice of a production system’s registration and user management subdomains that were implemented with Aggregates and Event Sourcing. While they get into the details of its multi-Aggregate implementation, they cover the communication and workflow between these aggregates, how data storage and querying is achieved, and even get into some authenti...

Episode 27 – Evolving Event Centric Infrastructure

April 12, 2013 19:29 - 41 minutes - 28.4 MB

Kerry and Rinat review some of the lessons learned from the deployment of Lokad.CQRS. Then, they discuss Rinat’s blog post about those experiences, and some of his ideas for future improvement. This results in a sneak peek of the new event centric hosting infrastructure that will be used in their GTD sample project. Download (mp3): Episode 27 – Evolving Event Centric Infrastructure – (41 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Best Infrastructure fo...

Episode 26 – Rinat Gits Committed

March 27, 2013 17:04 - 47 minutes - 32.5 MB

In this episode, there is a lot of new code to dig into. Kerry and Rinat cover the newly added features, discuss how the console relates to future UIs and assists with ongoing maintenance, dabble in Event message design, and get into the CQS pattern that was used to implement some of the Entity classes. They wrap-up with how the current message-based approach can be applied synchronously or asynchronously depending on needs, and explain why there are hints of Redis in the code repository. ...

Episode 25 – These Aren’t The Projects You’re Looking For

March 06, 2013 09:38 - 1 hour - 42.5 MB

Kerry and Rinat discuss changes to the ubiquitous language, the characteristics of lists and projects, and lessons learned from using a similar productivity system. In between, they probably talk too much about some variable names and system implementation details. Download (mp3): Episode 25 – These Aren’t The Projects You’re Looking For – (62 minutes) Subscribe via RSS | Subscribe for free in iTunes Homework: Try adding a DefineAction command to the solution, this should include: Addi...

Episode 24 – Grambo’s Got A Shotgun

February 20, 2013 02:26 - 38 minutes - 26.8 MB

Kerry and Rinat dive into the GTD® code and discuss ways to choose words in the ubiquitous language. The new interactive shell allows them to use and shape the domain model as it evolves. In addition, an Event store is introduced to persist messages to disk, and they discuss ways to replay and view these state changes in the console. Download (mp3): Episode 24 – Grambo’s Got A Shotgun – (39 minutes) Subscribe via RSS | Subscribe for free in iTunes Homework: Go into the project, run the ...

Episode 23 – Spaghetti-Free Terminology

February 10, 2013 05:39 - 35 minutes - 24.5 MB

Kerry and Rinat revisit and correct some DDD terminology they used based on new learning and listener feedback. After they readdress Domain, Domain Model, Subdomains, Bounded Contexts, Published Language, Shared Kernel, and Anti-Corruption Layer, they try to relate these terms to real examples and code. Download (mp3): Episode 23 – Spaghetti-Free Terminology – (36 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Rinat’s ‘Essence of Domain-Driven Design – Re-...

Episode 22 – Biohazard Blah Blah

January 29, 2013 06:29 - 42 minutes - 29.2 MB

Kerry and Rinat discuss the problem space, Bounded Contexts within it, Subdomains, and the Core Domain of “Getting Things Done”(TM). After the DDD discussion, they dive into the initial approach to structuring the code, exploring the Published Language, and making sense of information flows. Download (mp3): Episode 22 – Biohazard Blah Blah – (42 minutes) Subscribe via RSS | Subscribe for free in iTunes Homework: Fork our GTD repository and explore branch for Episode E22 Add a local bra...

Episode 21 – Linguistic Cartographers

January 19, 2013 13:28 - 1 hour - 44.4 MB

Kerry and Rinat start the discussion with a Context Map that has several Bounded Contexts. They use their conversation to refine the Context Map and carve out the initial key words of the Core Domain’s Ubiquitous Language. Download (mp3): Episode 21 – Linguistic Cartographers – (65 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Context Maps and Initial Ubiquitous Language Published Language and Shared Kernel definitions We used Twiddla in this episode to...

Episode 20 – Staring At A Blank Page

January 07, 2013 11:49 - 39 minutes - 27.1 MB

Kerry and Rinat discuss approaches you can use to start the domain modeling process in various situations. This helps them determine the first step to take to start designing their new domain. Download (mp3): Episode 20 – Staring At A Blank Page – (39 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Getting Things Done book by David Allen OmniFocus, GTD, and You (pdf) – The Omni Group Feedback and Finding Us What do you think?

Episode 19 – The Hermit: An Unexpected Journeyman

December 29, 2012 05:09 - 33 minutes - 23.2 MB

Kerry and Rinat introduce the topics to be covered and the general direction for the next set of episodes. They discuss the new domain to be implemented, as they officially launch the next expedition. Download (mp3): Episode 19 – The Hermit: An Unexpected Journeyman – (34 minutes) Subscribe via RSS | Subscribe for free in iTunes Homework: Get familiar with the “Getting Things Done(R)” Domain and learn the most important concepts Capture behaviors and concepts that describe the actual h...

Episode 18 – Git Army Knife

December 21, 2012 10:56 - 1 hour - 44.5 MB

Kerry and Rinat dig into some of the development tools and practices used at Lokad. They specifically discuss Distributed Version Control Systems (DVCS) with a focus on Git’s familiar design and our usage of it. Direct Podcast Download Link: Episode 18 – Git Army Knife – (65 minutes) Subscribe via RSS | Subscribe for free in iTunes Homework: Create a free GitHub account if you don’t have one Fork the official Being The Worst sample repository or Lokad.CQRS Add or clarify some comments...

Episode 17 – View Projections

December 07, 2012 16:30 - 33 minutes - 23.1 MB

Kerry and Rinat wrap-up the Car Factory sample domain with an introduction to View Projections. The Event messages that we generate represent the state of our Aggregates. Projection classes can also listen for these Event messages and generate Views to provide query results to client applications. Direct Podcast Download Link: Episode 17 – View Projections – (34 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Episode 17 code sample on GitHub Feedback and F...

Episode 16 – Adding Value

December 03, 2012 03:43 - 36 minutes - 25 MB

A listener’s questions lead Kerry and Rinat into the details of Value Objects. They review several examples of Value Objects and cover some pros and cons of their usage. This very important concept is commonly used to represent the nouns in the sentences of our ubiquitous language. Direct Podcast Download Link: Episode 16 – Adding Value – (36 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Episode 16 code sample on GitHub Matthew’s Questions That We Discus...

Episode 15 – The Bits That Keep On Giving

November 24, 2012 12:05 - 38 minutes - 26.6 MB

Kerry and Rinat discuss new ways to reuse and benefit from our modeling efforts. This includes using our messages to test any serializer, auto-generating diagrams of our current design, and giving our domain its own command prompt. Direct Download link: Episode 15 – The Bits That Keep On Giving – (39 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Episode 15 code sample on GitHub Graphviz – Graph Visualization Software The Gift That Keeps On Giving clip f...

Episode 14 – Back In The U.S.S. caR Factory Tests

November 08, 2012 06:50 - 29 minutes - 20.4 MB

Kerry and Rinat continue discussing the Car Factory sample domain from Episode 12. Then, they cover its Domain.Test project and the updated specifications and testing approach within. Direct Download link: Episode 14 – Back In The U.S.S. caR Factory Tests – (30 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Episode 14 code sample on GitHub Lokad-codedsl utility on GitHub Feedback and Finding Us What do you think?

Episode 13 – So, Uh, We Need Boundaries

November 01, 2012 04:17 - 50 minutes - 34.5 MB

A homework question takes the conversation to unplanned places. Kerry and Rinat start with clarifying Application and Domain Services, but end up discussing many things. From system design, tactical options like CQRS (Command Query Responsibility Segregation) and SOA (Service-Oriented Architecture), to an attempt to influence a presidential election. Direct Download link: Episode 13 – So, Uh, We Need Boundaries – (50 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode Refer...

Episode 12 – Now Serving DSL

October 21, 2012 18:12 - 1 hour - 41.4 MB

Kerry and Rinat introduce Application Services that host our Aggregates, the Domain Services that they use, and a code-generating DSL tool to help along the way. Direct Download link: Episode 12 – Now Serving DSL – (60 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Episode 12 code sample on GitHub Lokad-codedsl utility on GitHub Feedback and Finding Us What do you think?

Episode 11 – Specs Of The Living Dead

October 13, 2012 17:49 - 56 minutes - 39.2 MB

Kerry and Rinat discuss the code updates that were made to correct the car factory sample. After that, they introduce the concepts of Value Objects and Strategic Modeling. Direct Download link: Episode 11 – Specs of the Living Dead – (57 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Episode 11 code sample on GitHub Zombies from the movie Night of the Living Dead Feedback and Finding Us What do you think?

Episode 10 – Don’t Break The Chain

October 05, 2012 17:48 - 27 minutes - 19.2 MB

Kerry and Rinat discuss when they will wrap up the car factory domain from previous episodes and then introduce the “Don’t Break The Chain” domain. That domain and sample project will be used for the next set of episodes and code samples. Direct Download link: Episode 10 – Don’t Break The Chain – (28 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Source Code for Productivity Project on GitHub Don’t Break The Chain Topic in Lokad Discussion Group on Google...

Episode 9 – Greg Young Has A Major Event In Store

September 28, 2012 05:17 - 1 hour - 41.4 MB

Kerry and Rinat welcome their first guest, Gregory Young. You may know Greg from his blog, training, or CQRS fame but in this episode we discuss software design, distributed systems, and the new open source Event Store product that Greg recently released. Direct Download link: Episode 9 – Greg Young Has A Major Event In Store – (60 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Event Store by Gregory Young Event Store Architectural Overview and source cod...

Episode 8 – Frameworks Over Forms Is A Design Obsession

September 23, 2012 05:41 - 22 minutes - 15.5 MB

Rinat covers some of his previous obsessions with certain tools and technologies [like composite UIs, Object-Relational Mappers (ORMs), and Inversion of Control (IoC) Containers] and reminds us that even the approach we have been learning is also, JUST A TOOL. The focus of your design should be on the essence of the domain that you are capturing and the problems you are trying to solve, not on specific tools or technologies. Direct Download link: Episode 8 – Frameworks Over Forms Is A Desi...

Episode 7 – Re-Factory

September 14, 2012 00:35 - 44 minutes - 30.4 MB

Kerry reflects on his homework experiences with Rinat. Then, they discuss ways to refactor the code to accurately capture the car factory’s requirements. A hint of how this ongoing refactoring will evolve us towards a more production-worthy implementation is also mentioned. Direct Download link: Episode 7 – Re-Factory – (44 minutes) Subscribe via RSS | Subscribe for free in iTunes Episode References: Episode 7 code samples on GitHub Kerry’s Episode 7 homework code on GitHub Feedback a...

Episode 6 – Community Code and Questions 1

September 10, 2012 07:51 - 27 minutes - 18.7 MB

Kerry and Rinat discuss community questions about naming messages, aggregate state, and event implementation. Direct Download link: Episode 6 – Community Code and Questions 1 – (27 minutes) Subscribe via RSS | Subscribe for free in iTunes Sample Source Code and Documentation: Being The Worst code samples on GitHub (E006 folder) Kerry’s Homework code on GitHub Feedback and Contacts: Feedback on current episode – in the comments to this episode post Discuss upcoming episodes – in trel...

Episode 5 – Aggregating Stories

September 03, 2012 12:36 - 1 hour - 47.7 MB

Kerry and Rinat introduce the concept of aggregates and their importance to the design of distributed systems. Then, they describe another way to express the story of an aggregate, through the use of specifications and the testing of use cases. Direct Download link: Episode 5 – Aggregating Stories – (69 minutes) Subscribe via RSS | Subscribe for free in iTunes Homework: CSharp developers: Several factory behaviors are missing from sample E005 that were in E004. Implement a few of these ...

Episode 4 – Event Sourcing Basics

August 31, 2012 03:13 - 1 hour - 45.8 MB

Event Sourcing Basics (a day in the car factory). Kerry and Rinat review questions about designing command and event messages and then introduce the new topic of Event Sourcing. We model one day at the Factory using event sourcing, domain language and concepts discussed in earlier episodes. Direct Download link: Episode 4 – Event Sourcing Basics – (66 minutes) Subscribe via RSS | Subscribe for free in iTunes Here’s the car factory implementation diagram, referenced in this episode: Home...

Episode 3 – Commanding Your Words

August 27, 2012 06:19 - 43 minutes - 30 MB

Kerry and Rinat discuss the importance of the spoken words we use and how they impact the messages we create in code. From there, they introduce two critical message types: commands and events. Direct Download link: Episode 3 – Commanding Your Words – (43 minutes) Subscribe via RSS | Subscribe for free in iTunes Here’s the factory plan, referenced in this episode: Homework: Write a short dictionary of words that reflect the names of the commands and events which could be used to descri...

Episode 2 – Messaging Basics

August 23, 2012 09:28 - 32 minutes - 22 MB

Kerry and Rinat start with the foundational topics of messages and messaging. What is a message? Why do we use them? How do you create them in code? Their conversation references our sample code that is available on GitHub.com. Direct Download link: Episode 2 – Messaging Basics – (32 minutes) Subscribe via RSS | Subscribe for free in iTunes References: Sample Code on GitHub ( E002 folder) Kerry’s Homework Code on GitHub ( E002 homework folder) Feedback on current episode – in the comm...

Episode 1 – The Worst Welcome

August 21, 2012 05:44 - 37 minutes - 25.6 MB

Audio apprenticeships for the aspiring software craftsman.  Kerry and Rinat introduce the show and describe the plan for the road ahead.  They are still figuring out how to produce and host a podcast so feel free to cut them a little slack on any episode quality issues. Direct Download link: Episode 1 – The Worst Welcome – (37 minutes) iTunes: Subscribe Free to Being The Worst Podcast References: Study plan Feedback on current episode – in the comments to this episode post Discuss upc...

S01E00 – Hello World

August 20, 2012 10:15 - 1 minute - 874 KB

This is the very first iteration of “Being the Worst” podcast. In this teaser we just check out how everything (including RSS feed and podcasting infrastructure) works out for a small sound sample. Download link: S01E00 – Teaser Intro podcast will be published soon.

Twitter Mentions

@beingtheworst 19 Episodes
@kcstreet 6 Episodes
@abdullin 6 Episodes
@gregyoung 3 Episodes
@mvvmcross 2 Episodes
@slodge 2 Episodes
@ericevans0 1 Episode
@geteventstore 1 Episode
@yreynhout 1 Episode
@gblock 1 Episode
@redth 1 Episode
@phatboyg 1 Episode
@cheesebaron 1 Episode
@gshackles 1 Episode