Functional Design in Clojure

PODCAST · technology

Functional Design in Clojure

Each week, we discuss a software design problem and how we might solve it using functional principles and the Clojure programming language.

  1. 118

    Ep 118: Pure Parts

    We look at pure data models we've created and see what they have in common.

  2. 117

    Ep 117: Pure Understanding

    We find a clear and pure heart in our application, unclouded by side effects.

  3. 116

    Ep 116: The Main Focus

    We turn our attention to the frontend, and our eyes burn from the complexity.

  4. 115

    Ep 115: The Main Event

    We look for a suitable place to dig into the code and find an entry point.

  5. 114

    Ep 114: Brand New, Again

    We find ourselves staring at code for the first time—even though we wrote some of it!

  6. 113

    Ep 113: Highlightify!

    We highlight the highlights of the Sportify! series.

  7. 112

    Ep 112: Purify!

    We loop back to our new approach and find more, and less, than we expected!

  8. 111

    Ep 111: Loopify!

    We throw our code in a loop, and it throws us for a loop.

  9. 110

    Ep 110: Contextify!

    Our downloads fail at random, but our dead program won't give us any answers.

  10. 109

    Ep 109: Extractify!

    We need to test our logic, but the I/O is getting in the way.

  11. 108

    Ep 108: Testify!

    We start testing our code only to discover we need the whole world running first!

  12. 107

    Ep 107: Idempotify!

    We discover when giving up is the way to get ahead.

  13. 106

    Ep 106: Robustify!

    We push our software to reach out to the real world and the real world pushes back.

  14. 105

    Ep 105: Codify!

    We grow beyond our REPL-driven pieces toward an end-to-end solution.

  15. 104

    Ep 104: Assembleify!

    We realize we're done exploring when all of the pieces fall into place.

  16. 103

    Ep 103: Explorify!

    We peruse APIs to uncover the data hidden beneath.

  17. 102

    Ep 102: REPLify!

    We find ourselves in a murky situation, so we go to our REPL-connected editor to shine some light on the details.

  18. 101

    Ep 101: Sportify!

    We tackle a new application, thinking it'll be an easy win—only to discover that our home run was a foul, and the real world is about to strike us out!

  19. 100

    Ep 100: Thanks Overflow

    We reflect on Clojure, the community, and how much we have to be thankful for.

  20. 99

    Ep 099: REPL Your World

    We free our REPL to explore and automate the world around us.

  21. 98

    Ep 098: Composed Learnings

    We reflect on keeping the necessary mess at the edges so our core can be composed together with beauty and simplicity.

  22. 97

    Ep 097: Application of Composition

    We get a handle on bringing I/O resources together in an application.

  23. 96

    Ep 096: Gaming Data

    We go back to start and play through a composition strategy to see where we land.

  24. 95

    Ep 095: Composing Core

    We venture toward the core of a solution.

  25. 94

    Ep 094: Concrete Composition

    We help our code through a breakup so it can find its true colors.

  26. 93

    Ep 093: Waffle Cakes

    We search for that sweet spot between full-featured mixes and simple ingredients when crafting your software recipes.

  27. 92

    Ep 092: Freeing Limits

    We bump into limiting constraints and learn to love their freedoms.

  28. 91

    Ep 091: Combo Boost

    We compose our thoughts on why Clojure expressiveness is so effective but can be so hard to learn.

  29. 90

    Ep 090: Conditional Results

    We devote some time to two functions that are indispensable when computations require variation.

  30. 89

    Ep 089: Branching Out

    We wander through the myriad ways of making decisions and listing choices in Clojure.

  31. 88

    Ep 088: Do Dorun Run!

    We eagerly discuss the times we need to interact with the messy world from our nice clean language.

  32. 87

    Ep 087: Polymorphic Metal

    We discuss polymorphism and how we tackle dynamic data with families of functions.

  33. 86

    Ep 086: Let Tricks

    Let us share some tricks to reduce nesting and make your code easier to understand.

  34. 85

    Ep 085: For for the When

    We talk about this data generating macro, while we remember situations when it was useful.

  35. 84

    Ep 084: All Sorts

    We lay out a list of ways to sort your data, ordered by their relative power.

  36. 83

    Ep 083: Sift Sans Sort

    We get a handle on big buckets of data by sifting elements into smaller buckets.

  37. 82

    Ep 082: Filter and Friends

    We talk about sifting data and marvel at the simple function that can turn two steps into one.

  38. 81

    Ep 081: List No More

    We talk about positive nothing and the proliferation of tuples.

  39. 80

    Ep 080: Apply as Needed

    We take time to unroll some examples of this function.

  40. 79

    Ep 079: Compose Thyself

    We create a whole episode by combining examples of useful uses of comp.

  41. 78

    Ep 078: Impartial Thoughts

    We cover some of the ways we use partial, without getting too literal.

  42. 77

    Ep 077: Thread Some

    We spend some time going through how these macros help keep our code nil-safe.

  43. 76

    Ep 076: Multiple Views on Juxt

    We take a turn with juxt, looking at all the ways it can help line up data.

  44. 75

    Ep 075: Merge With Fun

    We focus in on merge-with, a powerful function for aggregating data.

  45. 74

    Ep 074: Deploy, They Said. It'll Be Fun, They Said.

    We survey the myriad ways we've used to launch our code into production, and laugh about the various complexities we've found.

  46. 73

    Ep 073: Silent Sockets

    We worry about the health of our websockets and, after looking for help from the standards bodies, roll up our sleeves and handle it ourselves.

  47. 72

    Ep 072: Sea of Sockets

    We switch to using a component to manage our websockets, enabling ease of development and future growth.

  48. 71

    Ep 071: Socket Synergy

    We wander into the weeds, jumping through the myriad hoops required to deliver a simple notification.

  49. 70

    Ep 070: Socket Circus

    We talk about spontaneously sending data from the server to the client to address our users' insecurities.

  50. 69

    Ep 069: Stuck in the Web

    We examine our history writing web handlers and talk about all the ways we've broken them.

Type above to search every episode's transcript for a word or phrase. Matches are scoped to this podcast.

Searching…

No matches for "" in this podcast's transcripts.

Showing of matches

No topics indexed yet for this podcast.

Loading reviews...

ABOUT THIS SHOW

Each week, we discuss a software design problem and how we might solve it using functional principles and the Clojure programming language.

HOSTED BY

Christoph Neumann and Nate Jones

CATEGORIES

URL copied to clipboard!