Logo

    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.
    en-us43 Episodes

    People also ask

    What is the main theme of the podcast?
    Who are some of the popular guests the podcast?
    Were there any controversial topics discussed in the podcast?
    Were any current trending topics addressed in the podcast?
    What popular books were mentioned in the podcast?

    Episodes (43)

    Episode 42 – Rinat's Clojure Tattoo

    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. (109 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    Episode 41 – Minimum Viable Doesn't Annoy Me Product

    Episode 41 – Minimum Viable Doesn't Annoy Me Product

    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:

    Episode 40 – Talk Of Atonement

    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. (33 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    Episode 39 – In Flux And Back To React

    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. (31 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    Episode 38 – Glenn Block Evolves APIs

    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. (67 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    Episode 37 – Variety Is The Spice of Pancakes

    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. (56 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    Episode 36 – Break It Down Again

    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. (57 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    Episode 35 – Totally Crossed Out

    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). (49 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    Episode 34 – Model View Who?

    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. (41 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    Episode 33 – Client-side Components

    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. (40 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    Episode 32 – Questionable Approach

    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. (54 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    Episode 31 – Cloud Clearing Events

    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. (62 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    Episode 30 – The 30 Thirty Experience

    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. (27 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    Episode 29 – Acting Like We Get The Message

    Episode 29 – Acting Like We Get The Message

    Share

    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 | Subscribe for free in iTunes

    Episode References:

    What do you think?


    Episode 28 – Learning Lokad CQRS

    Episode 28 – Learning Lokad CQRS

    Share

    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 authentication and authorization options.

    Download (mp3): Episode 28 – Learning Lokad CQRS – (49 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    What do you think?


    Episode 27 – Evolving Event Centric Infrastructure

    Episode 27 – Evolving Event Centric Infrastructure

    Share

    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:

    What do you think?


    Episode 26 – Rinat Gits Committed

    Episode 26 – Rinat Gits Committed

    Share

    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.

    Download (mp3): Episode 26 – Rinat Gits Committed – (47 minutes)

    Subscribe via RSS | Subscribe for free in iTunes

    Episode References:

    What do you think?


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

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

    Share

    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:
    • Adding the console “shell” command to enter it in the shell
    • Adding a View that allows you to list all Actions currently inside of a Project

    Episode References:

    What do you think?


    Episode 24 – Grambo’s Got A Shotgun

    Episode 24 – Grambo’s Got A Shotgun

    Share

    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 Shell, and try adding more Commands/Events and Console commands to make it work.

    Episode References:

    What do you think?


    Episode 23 – Spaghetti-Free Terminology

    Episode 23 – Spaghetti-Free Terminology

    Share

    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:

    What do you think?


    Logo

    © 2024 Podcastworld. All rights reserved

    Stay up to date

    For any inquiries, please email us at hello@podcastworld.io