PurelyFunctional.tv Newsletter 276: Turing, Bottom-up Design, go blocks

Sign up for weekly Clojure tips, software design, and a Clojure coding challenge.

Issue 276 - May 07, 2018 · Archives · Subscribe

Hi Clojurers,

Please enjoy the issue.

Rock on!
Eric Normand <eric@purelyfunctional.tv>

PS Want to get this in your email? Subscribe!

Bottom up vs Top Down Programming

In a recent episode of my podcast, I explored what it means to do top-down vs bottom-up programming. It seems that there is some confusion about this concept. People use the term "top-down" to refer to any kind of up-front thought about the problem whatsoever. But you can do "bottom-up design". I explore that idea in this episode.

Please subscribe if you're interested in exploration of these kinds of ideas.

The Annotated Turing Book

What a wonderful book. Charles Petzold guides us through Alan Turing's 38-page paper where he introduced the Turing Machine. I thought I understood the idea since we learned about it in University. But after reading this book, I realize that I probably wouldn't be able to get through the paper, even today. The paper is so full of wonderful insights into the nature of computing. Petzold will spend pages explaining the background and reasoning for a one-sentence snippet from the paper. And with Petzold's style and ability, it is totally welcome. I even think the ideas and their significance are explained so clearly that non-programmers will appreciate computing that much more.

Conversations about Software Engineering with Rich Hickey Podcast

This interview of Rich Hickey by Joy Clark discusses the design choices behind Clojure and Datomic.

Podcast.init with Gary Bernhardt Podcast

Tobias Macey interviews Gary Bernhardt about his views on the state of Computer Science education.

Dutch Clojure Days videos YouTube

I haven't watched any of these yet, but I'm looking forward to it.

ClojureScript: Good Ideas Never Die YouTube

The talks at IN/Clojure have been consistently good, and Antonio Monteiro's talk about recent developments in ClojureScript is no different. This one talks about the journey to integrating with npm modules, and how to do it.

Elegant Error handling for a More Civilized Age YouTube

Varun Sharma explores error handling, how it relates to business logic, and why we should leave some common Clojure idioms behind.

To block or not to block in go-blocks Clojureverse

This discussion about blocking inside of core.async/go blocks was too important to ignore.

Clojure Stacks

Stathis Sideris is calling for Clojurists to share their "stacks", meaning a description of what parts your app is built on. I think this could be a cool project, so read this post that gives you some prompts to help you share, then contribute to the repo.