Being The Worst

Follow Being The Worst
Share on
Copy link to clipboard

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

Kerry Street and Rinat Abdullin


    • Jan 26, 2016 LATEST EPISODE
    • infrequent NEW EPISODES
    • 46m AVG DURATION
    • 41 EPISODES


    Search for episodes from Being The Worst with a specific topic:

    Latest episodes from Being The Worst

    Episode 42 – Rinat's Clojure Tattoo

    Play Episode Listen Later Jan 26, 2016 68:41


    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.

    Episode 41 – Minimum Viable Doesn't Annoy Me Product

    Play Episode Listen Later Dec 22, 2015 34:22


    Kerry and Rinat start a new development project from scratch. They discuss the plan, with caveats, then talk through the approach to getting started.

    Episode 40 – Talk Of Atonement

    Play Episode Listen Later Sep 10, 2015 32:55


    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.

    Episode 39 – In Flux And Back To React

    Play Episode Listen Later Jan 26, 2015 31:12


    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.

    Episode 38 – Glenn Block Evolves APIs

    Play Episode Listen Later Apr 18, 2014 67:10


    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? What are some common implementation mistakes? API security? What can your book help me with? UCWA? And much more.

    Episode 37 – Variety Is The Spice of Pancakes

    Play Episode Listen Later Mar 28, 2014 56:03


    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 “component-based” approaches that Rinat has experienced recently.

    Episode 36 – Break It Down Again

    Play Episode Listen Later Mar 6, 2014 56:45


    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.

    Episode 35 – Totally Crossed Out

    Play Episode Listen Later Jan 9, 2014 48:52


    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).

    Episode 34 – Model View Who?

    Play Episode Listen Later Oct 19, 2013 41:12


    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.

    Episode 33 – Client-side Components

    Play Episode Listen Later Sep 11, 2013 39:41


    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.

    Episode 32 – Questionable Approach

    Play Episode Listen Later Jul 23, 2013 54:05


    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.

    Episode 31 – Cloud Clearing Events

    Play Episode Listen Later Jul 5, 2013 62:28


    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.

    Episode 30 – The 30 Thirty Experience

    Play Episode Listen Later Jun 4, 2013 27:10


    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.

    Episode 29 – Acting Like We Get The Message

    Play Episode Listen Later May 15, 2013 63:06


    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 […]

    Episode 28 – Learning Lokad CQRS

    Play Episode Listen Later Apr 24, 2013 49:14


    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 […]

    Episode 27 – Evolving Event Centric Infrastructure

    Play Episode Listen Later Apr 12, 2013 41:19


    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 26 – Rinat Gits Committed

    Play Episode Listen Later Mar 27, 2013 47:15


    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. […]

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

    Play Episode Listen Later Mar 6, 2013 61:48


    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 […]

    Episode 24 – Grambo’s Got A Shotgun

    Play Episode Listen Later Feb 19, 2013 38:56


    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 […]

    Episode 23 – Spaghetti-Free Terminology

    Play Episode Listen Later Feb 9, 2013 35:32


    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) […]

    Episode 22 – Biohazard Blah Blah

    Play Episode Listen Later Jan 29, 2013 42:28


    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) […]

    Episode 21 – Linguistic Cartographers

    Play Episode Listen Later Jan 19, 2013 64:38


    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 […]

    Episode 20 – Staring At A Blank Page

    Play Episode Listen Later Jan 7, 2013 39:25


    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 […]

    Episode 19 – The Hermit: An Unexpected Journeyman

    Play Episode Listen Later Dec 28, 2012 33:39


    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 […]

    Episode 18 – Git Army Knife

    Play Episode Listen Later Dec 21, 2012 64:43


    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 […]

    Episode 17 – View Projections

    Play Episode Listen Later Dec 7, 2012 33:33


    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 […]

    Episode 16 – Adding Value

    Play Episode Listen Later Dec 2, 2012 36:20


    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 […]

    Episode 15 – The Bits That Keep On Giving

    Play Episode Listen Later Nov 24, 2012 38:39


    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 […]

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

    Play Episode Listen Later Nov 8, 2012 29:36


    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 […]

    Episode 13 – So, Uh, We Need Boundaries

    Play Episode Listen Later Oct 31, 2012 50:10


    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, […]

    Episode 12 – Now Serving DSL

    Play Episode Listen Later Oct 21, 2012 60:16


    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 […]

    Episode 11 – Specs Of The Living Dead

    Play Episode Listen Later Oct 13, 2012 56:58


    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 […]

    Episode 10 – Don’t Break The Chain

    Play Episode Listen Later Oct 5, 2012 27:51


    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) […]

    Episode 9 – Greg Young Has A Major Event In Store

    Play Episode Listen Later Sep 28, 2012 60:12


    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 […]

    Episode 8 – Frameworks Over Forms Is A Design Obsession

    Play Episode Listen Later Sep 23, 2012 22:27


    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 […]

    Episode 7 – Re-Factory

    Play Episode Listen Later Sep 13, 2012 44:12


    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 | […]

    Episode 6 – Community Code and Questions 1

    Play Episode Listen Later Sep 10, 2012 27:06


    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 […]

    Episode 5 – Aggregating Stories

    Play Episode Listen Later Sep 3, 2012 69:24


    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 | […]

    Episode 4 – Event Sourcing Basics

    Play Episode Listen Later Aug 30, 2012 66:40


    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 […]

    Episode 3 – Commanding Your Words

    Play Episode Listen Later Aug 27, 2012 43:35


    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 […]

    Episode 2 – Messaging Basics

    Play Episode Listen Later Aug 23, 2012 32:01


    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 […]

    Claim Being The Worst

    In order to claim this podcast we'll send an email to with a verification link. Simply click the link and you will be able to edit tags, request a refresh, and other features to take control of your podcast page!

    Claim Cancel