Functional Design in Clojure artwork

Functional Design in Clojure

113 episodes - English - Latest episode: 28 days ago - ★★★★★ - 16 ratings

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

Technology Education How To tech software design functional clojure immutable geek nerd development nate
Homepage Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed

Episodes

Ep 113: Highlightify!

February 29, 2024 08:00 - 27 minutes - 24 MB

We highlight the highlights of the Sportify! series.

Ep 112: Purify!

February 22, 2024 08:00 - 33 minutes - 29.2 MB

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

Ep 111: Loopify!

February 15, 2024 08:00 - 28 minutes - 25.1 MB

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

Ep 110: Contextify!

February 08, 2024 08:00 - 23 minutes - 20.9 MB

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

Ep 109: Extractify!

February 01, 2024 08:00 - 26 minutes - 23.6 MB

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

Ep 108: Testify!

January 25, 2024 08:00 - 22 minutes - 20.2 MB

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

Ep 107: Idempotify!

January 18, 2024 08:00 - 31 minutes - 28.2 MB

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

Ep 106: Robustify!

January 11, 2024 08:00 - 30 minutes - 27.3 MB

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

Ep 105: Codify!

January 04, 2024 08:00 - 25 minutes - 22.6 MB

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

Ep 104: Assembleify!

December 21, 2023 08:00 - 35 minutes - 31 MB

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

Ep 103: Explorify!

December 14, 2023 08:00 - 32 minutes - 28.2 MB

We peruse APIs to uncover the data hidden beneath.

Ep 102: REPLify!

December 07, 2023 08:00 - 28 minutes - 25.2 MB

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

Ep 101: Sportify!

November 30, 2023 08:00 - 17 minutes - 15.1 MB

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!

Ep 100: Thanks Overflow

November 23, 2023 08:00 - 35 minutes - 32.2 MB

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

Ep 099: REPL Your World

November 16, 2023 08:00 - 25 minutes - 23 MB

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

Ep 098: Composed Learnings

November 09, 2023 08:00 - 26 minutes - 23.3 MB

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

Ep 097: Application of Composition

November 02, 2023 07:00 - 28 minutes - 25.4 MB

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

Ep 096: Gaming Data

October 26, 2023 07:00 - 26 minutes - 23.7 MB

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

Ep 095: Composing Core

October 19, 2023 07:00 - 17 minutes - 15.4 MB

We venture toward the core of a solution.

Ep 094: Concrete Composition

October 12, 2023 07:00 - 15 minutes - 14.1 MB

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

Ep 093: Waffle Cakes

October 05, 2023 07:00 - 14 minutes - 12 MB

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

Ep 092: Freeing Limits

September 28, 2023 07:00 - 17 minutes - 14.2 MB

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

Ep 091: Combo Boost

September 22, 2023 07:00 - 12 minutes - 10.6 MB

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

Ep 090: Conditional Results

December 18, 2020 15:00 - 25 minutes - 34.5 MB

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

Ep 089: Branching Out

November 20, 2020 15:00 - 38 minutes - 53.4 MB

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

Ep 088: Do Dorun Run!

November 13, 2020 15:00 - 26 minutes - 36.8 MB

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

Ep 087: Polymorphic Metal

October 23, 2020 15:00 - 29 minutes - 41.2 MB

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

Ep 086: Let Tricks

October 20, 2020 15:00 - 32 minutes

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

Ep 085: For for the When

September 25, 2020 15:00 - 29 minutes - 40.6 MB

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

Ep 084: All Sorts

September 18, 2020 15:00 - 27 minutes - 37.4 MB

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

Ep 083: Sift Sans Sort

September 04, 2020 15:00 - 24 minutes - 33.8 MB

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

Ep 082: Filter and Friends

August 07, 2020 15:00 - 27 minutes - 38.5 MB

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

Ep 081: List No More

July 31, 2020 15:00 - 26 minutes - 36 MB

We talk about positive nothing and the proliferation of tuples.

Ep 080: Apply as Needed

July 24, 2020 15:00 - 22 minutes - 30.7 MB

We take time to unroll some examples of this function.

Ep 079: Compose Thyself

July 03, 2020 15:00 - 27 minutes

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

Ep 078: Impartial Thoughts

June 19, 2020 15:00 - 25 minutes

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

Ep 077: Thread Some

June 12, 2020 15:00 - 23 minutes - 32 MB

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

Ep 076: Multiple Views on Juxt

June 05, 2020 15:00 - 30 minutes

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

Ep 075: Merge With Fun

May 22, 2020 15:00 - 26 minutes - 36 MB

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

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

May 15, 2020 15:00 - 27 minutes - 38 MB

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

Ep 073: Silent Sockets

April 17, 2020 15:00 - 38 minutes - 52.7 MB

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.

Ep 072: Sea of Sockets

April 03, 2020 15:00 - 32 minutes - 44.3 MB

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

Ep 071: Socket Synergy

March 20, 2020 15:00 - 29 minutes

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

Ep 070: Socket Circus

March 13, 2020 15:00 - 29 minutes

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

Ep 069: Stuck in the Web

February 28, 2020 15:00 - 28 minutes - 39.7 MB

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

Ep 068: Static on the Line

February 21, 2020 15:00 - 24 minutes - 33.6 MB

We tease apart the layers involved in serving static assets and are surprised by how many we find.

Ep 067: Handling Handler's Handles

February 14, 2020 15:00 - 23 minutes

We manage to find a way to get our handlers the resources they need to get real work done.

Ep 066: Compose the Codec

January 31, 2020 15:00 - 28 minutes - 38.7 MB

We reinvent the wheel, and along the way discover a few reasons why you might want to do so as well.

Ep 065: Stuck in the Middle

January 24, 2020 15:00 - 30 minutes - 42.3 MB

We find that the middle is a very good place to start when almost everything is composed functions.

Ep 064: Put Ring on It

January 17, 2020 15:00 - 19 minutes

We focus on the bedrock abstraction for all Clojure web applications and marvel at its simplicity.

Twitter Mentions

@clojuredesign 78 Episodes
@fetch 1 Episode