Functional Design in Clojure
113 episodes - English - Latest episode: about 2 months ago - ★★★★★ - 16 ratingsEach week, we discuss a software design problem and how we might solve it using functional principles and the Clojure programming language.
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 MBWe 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 minutesWe look back at the past year and highlight our favorite episodes.
Ep 061: Transcendental Transformations
December 27, 2019 15:00 - 28 minutes - 39.7 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBWe 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 MBChristoph and Nate lift concepts from the raw log-parsing series.
Ep 034: Break the Mold
June 21, 2019 15:00 - 26 minutes - 36.9 MBChristoph 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 MBNate 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 MBChristoph finds map doesn't let him be lazy enough.
Ep 031: Eager Abstraction
May 31, 2019 15:00 - 22 minutes - 31.5 MBNate finds that trouble comes in pairs.
Ep 030: Lazy Does It
May 24, 2019 15:00 - 30 minutes - 41.5 MBChristoph'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 MBNate 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 MBChristoph 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 MBNate 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 MBChristoph thinks goals are data, not function names.
Ep 025: Fake Results, Real Speed
April 19, 2019 15:00 - 25 minutes - 34.8 MBNate 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 MBChristoph 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 MBNate gets messy finding ingredients for his algorithm cake.
Ep 022: Evidence of Attempted Posting
March 29, 2019 15:00 - 33 minutes - 46.6 MBChristoph questions his attempts to post to Twitter.
Ep 021: Mutate the Internet
March 22, 2019 15:00 - 22 minutes - 31 MBNate wants to tweet regularly, so he asks Clojure for some help.
Ep 020: Data Dessert
March 15, 2019 08:00 - 28 minutes - 39.5 MBChristoph and Nate discuss the flavor of pure data.
Ep 019: Dazed by Weak Weeks
March 08, 2019 08:00 - 29 minutes - 41.2 MBNate 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 MBChristoph wants to teach filter some vocabulary.
Ep 017: Data, at Your Service
February 22, 2019 08:00 - 28 minutes - 39.2 MBNate 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 MBChristoph discovers that time creates its own alternate universe.
Ep 015: Finding the Time
February 08, 2019 08:00 - 26 minutes - 36.3 MBNate 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 MBChristoph gets some work done by fiddling around.