Being The Worst

Being The Worst

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

  1. Thumb 1453871069 artwork

    Episode 42 – Rinat's Clojure Tattoo

    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.

  2. Thumb 1450838475 artwork
  3. Thumb 1441934907 artwork

    Episode 40 – Talk Of Atonement

    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.

  4. Thumb 1441667040 artwork

    Episode 39 – In Flux And Back To React

    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.

  5. Thumb 1441666507 artwork

    Episode 38 – Glenn Block Evolves APIs

    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.

  6. Thumb 1441666930 artwork

    Episode 37 – Variety Is The Spice of Pancakes

    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.

  7. Thumb 1441667111 artwork

    Episode 36 – Break It Down Again

    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.

  8. Thumb 1441486171 artwork

    Episode 35 – Totally Crossed Out

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

  9. Thumb 1441486085 artwork

    Episode 34 – Model View Who?

    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.

  10. Thumb 1441486073 artwork

    Episode 33 – Client-side Components

    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.

  11. Thumb 1441485998 artwork

    Episode 32 – Questionable Approach

    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.

  12. Thumb 1441485986 artwork

    Episode 31 – Cloud Clearing Events

    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.

  13. Thumb 1441485860 artwork

    Episode 30 – The 30 Thirty Experience

    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.

  14. Thumb 1441485886 artwork

    Episode 29 – Acting Like We Get The Message

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

  15. Thumb 1441485795 artwork

    Episode 28 – Learning Lokad CQRS

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

  16. Thumb 1441485754 artwork

    Episode 27 – Evolving Event Centric Infrastructure

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

  17. Thumb 1441485689 artwork

    Episode 26 – Rinat Gits Committed

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

  18. Thumb 1441485664 artwork

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

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

  19. Thumb 1441485588 artwork

    Episode 24 – Grambo’s Got A Shotgun

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

  20. Thumb 1441485541 artwork

    Episode 23 – Spaghetti-Free Terminology

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

  21. Thumb 1441485499 artwork

    Episode 22 – Biohazard Blah Blah

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

  22. Thumb 1441485464 artwork

    Episode 21 – Linguistic Cartographers

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

  23. Thumb 1441485409 artwork

    Episode 20 – Staring At A Blank Page

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

  24. Thumb 1441485330 artwork

    Episode 19 – The Hermit: An Unexpected Journeyman

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

  25. Thumb 1441485324 artwork

    Episode 18 – Git Army Knife

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

  26. Thumb 1441485254 artwork

    Episode 17 – View Projections

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

  27. Thumb 1441485192 artwork

    Episode 16 – Adding Value

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

  28. Thumb 1441485183 artwork

    Episode 15 – The Bits That Keep On Giving

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

  29. Thumb 1441485099 artwork

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

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

  30. Thumb 1441485099 artwork

    Episode 13 – So, Uh, We Need Boundaries

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

  31. Thumb 1441485031 artwork

    Episode 12 – Now Serving DSL

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

  32. Thumb 1441484991 artwork

    Episode 11 – Specs Of The Living Dead

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

  33. Thumb 1441484879 artwork

    Episode 10 – Don’t Break The Chain

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

  34. Thumb 1441484912 artwork

    Episode 9 – Greg Young Has A Major Event In Store

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

  35. Thumb 1441484794 artwork

    Episode 8 – Frameworks Over Forms Is A Design Obsession

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

  36. Thumb 1441484808 artwork

    Episode 7 – Re-Factory

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

  37. Thumb 1441484715 artwork

    Episode 6 – Community Code and Questions 1

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

  38. Thumb 1441484745 artwork

    Episode 5 – Aggregating Stories

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

  39. Thumb 1441484652 artwork

    Episode 4 – Event Sourcing Basics

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

  40. Thumb 1441484605 artwork

    Episode 3 – Commanding Your Words

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

  41. Thumb 1441484515 artwork

    Episode 2 – Messaging Basics

    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 Direct Download link: Episode 2 – Messaging Basics – (32 minutes) Subscribe via RSS | Subscribe […]

  42. Thumb 1441484519 artwork

    Episode 1 – The Worst Welcome

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

  43. Thumb 1441484452 artwork

    S01E00 – Hello World

    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.

Back Home