Functional Design in Clojure artwork

Functional Design in Clojure

113 episodes - English - Latest episode: about 2 months 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 063: Web of Complexity

January 10, 2020 15:00 - 22 minutes - 31.2 MB

We launch a new series and immediately get tangled in the many layers that make up the web.

Ep 062: 2019 in Review

January 03, 2020 15:00 - 36 minutes

We look back at the past year and highlight our favorite episodes.

Ep 061: Transcendental Transformations

December 27, 2019 15:00 - 28 minutes - 39.7 MB

We unpack transducers and find a familiar pattern that enables freedom from collections.

Ep 060: Reduce Done Quick

December 20, 2019 15:00 - 26 minutes - 36.8 MB

We look at clojure.core.reducers and how it extracts performance by composing reducing functions.

Ep 059: Lining It Up

December 13, 2019 15:00 - 32 minutes - 44.2 MB

We examine the sequence abstraction and then ponder how it helps and hinders our data transformation.

Ep 058: Reducing It Down

December 06, 2019 15:00 - 28 minutes - 39.8 MB

We take a long hard look at reduce and find the first of many generally useful nuggets inside.

Ep 057: Clojure/Conj 2019 Recap

November 29, 2019 15:00 - 34 minutes - 48 MB

We go through our notes and recall the most memorable talks from the Conj last week.

Ep 056: Opt-in Complexity

November 22, 2019 15:00 - 28 minutes - 39.2 MB

We discuss complexity and try to come up with a simple explanation for why Clojurians avoid it so ruthlessly.

Ep 055: Sets! What Are They Good For?

November 15, 2019 15:00 - 28 minutes - 39.2 MB

We examine one of the lesser used data structures in Clojure and talk about its unique characteristics and uses.

Ep 054: The Forest in the Trees

November 08, 2019 15:00 - 21 minutes - 30.3 MB

We discuss three powerful libraries (Specter, Spectacles, and clojure.walk) and where they might fit into our Clojure programs.

Ep 053: How Can I Save My Data From Serialization?

November 01, 2019 15:00 - 30 minutes - 42.2 MB

We record our thoughts on the many trade-offs we have encountered preserving our data when it leaves our programs.

Ep 052: Functions! Functions! Functions!

October 25, 2019 15:00 - 37 minutes - 51.6 MB

We wonder how we could function without these critical building blocks, so we catagorize their varied uses.

Ep 051: Maps! Maps! Maps!

October 18, 2019 15:00 - 28 minutes - 38.6 MB

We discuss maps and their useful features, including a key distinction that we couldn't live without.

Ep 050: Parentheses! Parentheses! Parentheses!

October 11, 2019 15:00 - 27 minutes - 37.6 MB

We defend the lowly parentheses, and discuss the benefits of having this stalwart shepherd dutifully organizing our code.

Ep 049: Keywords! Keywords! Keywords!

October 04, 2019 15:00 - 25 minutes - 35 MB

We examine all the fascinating properties of keywords, how to use them, and why they're so much better than strings and enums.

Ep 048: Help! How Do I Fix My REPL?

September 27, 2019 15:00 - 27 minutes - 37.3 MB

We catalog the many ways we've broken our REPLs and talk through our strategies for getting back on track.

Ep 047: What Is "Nil Punning"?

September 20, 2019 15:00 - 28 minutes - 38.8 MB

We gaze into the nil and find a surprising number of things to talk about.

Ep 046: When Is Clojure Not the Right Tool for the Job?

September 13, 2019 15:00 - 25 minutes - 34.6 MB

We look at the varied forms that Clojure can assume and consider where it might not fit.

Ep 045: Why Have Derived Fields in Data When I Can Just Calculate Derived Data as Needed With a Function?

September 06, 2019 15:00 - 20 minutes - 28.9 MB

We take a focused look at the balance of using functions or derived fields and where each is preferable.

Ep 044: What's So Different About Clojure's REPL?

August 30, 2019 15:00 - 28 minutes - 38.9 MB

We evaluate what a REPL really is and show that it's much more about the developer experience than simply calculating values.

Ep 043: What Is 'Faking' a Resource?

August 23, 2019 15:00 - 23 minutes - 33 MB

We talk about the virtues of faking and then outline several real techniques for getting work done.

Ep 042: What Does It Mean to Be 'Data-Oriented'?

August 16, 2019 15:00 - 26 minutes - 36.9 MB

We merge together different aspects of Clojure's data orientation and specify which of those help make development more pleasant.

Ep 041: Why Do Clojurians Make Such a Big Deal About Immutability?

August 09, 2019 15:00 - 27 minutes - 37.5 MB

We cover several practical side effects of immutability and why we've become such big fans of data that doesn't let us down.

Ep 040: Should I Use Lein, Boot, or Tools.deps?

August 02, 2019 15:00 - 28 minutes - 38.7 MB

We assemble a list of build tool characteristics and talk about how each tool stacks up before giving our recommendations.

Ep 039: Why Use Clojure Over Another Functional Language?

July 26, 2019 15:00 - 25 minutes - 34.9 MB

We examine the different categories of functional programming languages and distill out what differentiates Clojure and why we prefer it.

Ep 038: How Do I Convince My Coworkers to Use Clojure?

July 19, 2019 15:00 - 24 minutes - 34.3 MB

We recall our own experiences evangelizing Clojure and give practical advice from the trenches.

Ep 037: What Advice Would You Give to Someone Getting Started With Clojure?

July 12, 2019 15:00 - 25 minutes - 35.8 MB

We trade off giving practical tips for intrepid learners reminisce about our own paths into Clojure.

Ep 036: Why Do You Recommend Clojure?

July 05, 2019 15:00 - 19 minutes - 27.6 MB

We take turns sharing our favorite reasons, and we can't help but have fun riffing on how enjoyable Clojure is to use.

Ep 035: Lifted Learnings

June 28, 2019 15:00 - 27 minutes - 37.8 MB

Christoph and Nate lift concepts from the raw log-parsing series.

Ep 034: Break the Mold

June 21, 2019 15:00 - 26 minutes - 36.9 MB

Christoph finds exceptional log lines and takes a more literal approach.

Ep 033: Cake or Ice Cream? Yes!

June 14, 2019 15:00 - 21 minutes - 29.5 MB

Nate needs to parse two different errors and takes some time to compose himself.

Ep 032: Call Me Lazy

June 07, 2019 15:00 - 27 minutes - 37.6 MB

Christoph finds map doesn't let him be lazy enough.

Ep 031: Eager Abstraction

May 31, 2019 15:00 - 22 minutes - 31.5 MB

Nate finds that trouble comes in pairs.

Ep 030: Lazy Does It

May 24, 2019 15:00 - 30 minutes - 41.5 MB

Christoph's eagerness to analyze the big production logs shows him the value of being lazy instead.

Ep 029: Problem Unknown: Log Lines

May 17, 2019 15:00 - 35 minutes - 48.3 MB

Nate is dropped in the middle of a huge log file and hunts for the source of the errors.

Ep 028: Fail Donut

May 10, 2019 15:00 - 16 minutes - 23.4 MB

Christoph has gigs of log data and he’s looking to Clojure for some help.

Ep 027: Collected Context

May 03, 2019 15:00 - 33 minutes - 45.9 MB

Nate and Christoph reflect on what they learned during the Twitter series.

Ep 026: One Call to Rule Them All

April 26, 2019 15:00 - 29 minutes - 41.3 MB

Christoph thinks goals are data, not function names.

Ep 025: Fake Results, Real Speed

April 19, 2019 15:00 - 25 minutes - 34.8 MB

Nate wants to experiment with the UI, but Twitter keeps getting the results.

Ep 024: You Are Here, but Why?

April 12, 2019 15:00 - 34 minutes - 47.7 MB

Christoph needs to test his logic, but he must pry it from the clutches of side effects.

Ep 023: Poster Child

April 05, 2019 15:00 - 31 minutes - 43.2 MB

Nate gets messy finding ingredients for his algorithm cake.

Ep 022: Evidence of Attempted Posting

March 29, 2019 15:00 - 33 minutes - 46.6 MB

Christoph questions his attempts to post to Twitter.

Ep 021: Mutate the Internet

March 22, 2019 15:00 - 22 minutes - 31 MB

Nate wants to tweet regularly, so he asks Clojure for some help.

Ep 020: Data Dessert

March 15, 2019 08:00 - 28 minutes - 39.5 MB

Christoph and Nate discuss the flavor of pure data.

Ep 019: Dazed by Weak Weeks

March 08, 2019 08:00 - 29 minutes - 41.2 MB

Nate wants to see more than data structures in a REPL.

Ep 018: Did I Work Late on Tuesday?

March 01, 2019 08:00 - 28 minutes - 39.8 MB

Christoph wants to teach filter some vocabulary.

Ep 017: Data, at Your Service

February 22, 2019 08:00 - 28 minutes - 39.2 MB

Nate finds it easier to get a broad view without a microscope.

Ep 016: When 8 - 1 = 6

February 15, 2019 08:00 - 29 minutes - 40.8 MB

Christoph discovers that time creates its own alternate universe.

Ep 015: Finding the Time

February 08, 2019 08:00 - 26 minutes - 36.3 MB

Nate spends some time figuring out how to track his time.

Episode 014: Fiddle With the REPL

February 01, 2019 08:00 - 29 minutes - 40.6 MB

Christoph gets some work done by fiddling around.

Twitter Mentions

@clojuredesign 78 Episodes
@fetch 1 Episode