Ep 111: Loopify!

Ep 111: Loopify!

Update: 2024-02-15
Share

Description

Each week, we discuss a different topic about Clojure and functional programming.


If you have a question or topic you'd like us to discuss, tweet @clojuredesign, send an email to feedback@clojuredesign.club, or join the #clojuredesign-podcast channel on the Clojurians Slack.


This week, the topic is: "trying again". We throw our code in a loop, and it throws us for a loop.


Our discussion includes:



  • Sportify continues!

  • When is it time to stop developing?

  • How do we handle retries?

  • What if you need to recur from catch?

  • How do we recover mid-process?

  • Where should the recovery logic go?

  • Is there a way to get all the critical context at the same level?

  • What should you preserve across a recur?

  • What does it mean to be "loop native"?

  • What is the basic structure for any automation?

  • What is a "single application state"?


Selected quotes




  • It's a lot like having a project on a workbench. You have all of the tools and all the information laid out before you on that workbench. Nothing is tucked in a drawer or inside a cabinet.




  • That's a very important lesson for any developer: you can always stop—at least after it's working.




  • Nothing in the world is solved except by adding another level of abstraction.




  • I was not expecting that level of mutation! I was expecting a Kafka log written in stone!




  • The positive is it has everything. The negative is it has everything.




  • We would like more loop-native code inside of our cloud-native application.




  • Are you suggesting that just because we can, it doesn't mean we should? We're programmers! If the language lets us do it, it must be a good idea!




  • One of the reasons why I like Clojure is because it specifically tells me that I can't do some things that are bad to do.




  • All of the context is in one map. It has everything in it. One map to rule them all!




  • Might this be the fabled "single application state"?




  • We have the thinking function, the doing function, and the assimilate function.




Links


Comments 
In Channel
Ep 118: Pure Parts

Ep 118: Pure Parts

2024-06-2728:28

Ep 116: The Main Focus

Ep 116: The Main Focus

2024-05-1622:44

Ep 115: The Main Event

Ep 115: The Main Event

2024-05-0928:42

Ep 113: Highlightify!

Ep 113: Highlightify!

2024-02-2927:13

Ep 112: Purify!

Ep 112: Purify!

2024-02-2233:20

Ep 111: Loopify!

Ep 111: Loopify!

2024-02-1528:54

Ep 110: Contextify!

Ep 110: Contextify!

2024-02-0823:22

Ep 109: Extractify!

Ep 109: Extractify!

2024-02-0126:35

Ep 108: Testify!

Ep 108: Testify!

2024-01-2522:42

Ep 107: Idempotify!

Ep 107: Idempotify!

2024-01-1831:53

Ep 106: Robustify!

Ep 106: Robustify!

2024-01-1130:37

Ep 105: Codify!

Ep 105: Codify!

2024-01-0425:42

Ep 104: Assembleify!

Ep 104: Assembleify!

2023-12-2135:03

Ep 103: Explorify!

Ep 103: Explorify!

2023-12-1432:15

Ep 102: REPLify!

Ep 102: REPLify!

2023-12-0728:11

Ep 101: Sportify!

Ep 101: Sportify!

2023-11-3017:03

loading
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

Ep 111: Loopify!

Ep 111: Loopify!

Christoph Neumann and Nate Jones