Ep 058: Reducing It Down
We take a long hard look at reduce and find the first of many generally useful nuggets inside.
We take a long hard look at reduce and find the first of many generally useful nuggets inside.
We go through our notes and recall the most memorable talks from the Conj last week.
We discuss complexity and try to come up with a simple explanation for why Clojurians avoid it so ruthlessly.
We examine one of the lesser used data structures in Clojure and talk about its unique characteristics and uses.
We discuss three powerful libraries (Specter, Spectacles, and clojure.walk) and where they might fit into our Clojure programs.
We record our thoughts on the many trade-offs we have encountered preserving our data when it leaves our programs.
We wonder how we could function without these critical building blocks, so we catagorize their varied uses.
We discuss maps and their useful features, including a key distinction that we couldn't live without.
We defend the lowly parentheses, and discuss the benefits of having this stalwart shepherd dutifully organizing our code.
We examine all the fascinating properties of keywords, how to use them, and why they're so much better than strings and enums.
We catalog the many ways we've broken our REPLs and talk through our strategies for getting back on track.
We gaze into the nil and find a surprising number of things to talk about.
We look at the varied forms that Clojure can assume and consider where it might not fit.
We take a focused look at the balance of using functions or derived fields and where each is preferable.
We evaluate what a REPL really is and show that it's much more about the developer experience than simply calculating values.
We talk about the virtues of faking and then outline several real techniques for getting work done.
We merge together different aspects of Clojure's data orientation and specify which of those help make development more pleasant.
We cover several practical side effects of immutability and why we've become such big fans of data that doesn't let us down.
We assemble a list of build tool characteristics and talk about how each tool stacks up before giving our recommendations.
We examine the different categories of functional programming languages and distill out what differentiates Clojure and why we prefer it.
We recall our own experiences evangelizing Clojure and give practical advice from the trenches.
We trade off giving practical tips for intrepid learners reminisce about our own paths into Clojure.
We take turns sharing our favorite reasons, and we can't help but have fun riffing on how enjoyable Clojure is to use.
Christoph and Nate lift concepts from the raw log-parsing series.
Christoph finds exceptional log lines and takes a more literal approach.
Nate needs to parse two different errors and takes some time to compose himself.
Christoph finds map doesn't let him be lazy enough.
Nate finds that trouble comes in pairs.
Christoph's eagerness to analyze the big production logs shows him the value of being lazy instead.
Nate is dropped in the middle of a huge log file and hunts for the source of the errors.