PurelyFunctional.tv Newsletter 276: Turing, Bottom-up Design, go blocks
Sign up for weekly Clojure tips, software design, and a Clojure coding challenge.
Please enjoy the issue.
PS Want to get this in your email? Subscribe!
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.
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.
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.
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.
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.