A fun and gentle introduction to the Clojure language, functional programming, and data-drive programming, through the eyes of baking robot X5.
Screencasts, Whiteboards, and Slides produced to help you learn
This course teaches you the hands-on, nitty gritty details of the JVM and Clojure/Java interop that you would pick up after many years of programming Java. It combines videos with reference sheets to give you easy access to the accumulated skills of years of experience. With this course, you won’t have to worry about stack traces, JVM options, or the standard library again.
Clojure sequences are lazy by default. That gives you big benefits like separation of concerns, but it also brings with it some gotchas. This course is mostly about exploring those gotchas–problems that can bite you if you’re not ready for them–and techniques to work with each one. Being prepared is the best antidote to a bad bite. After dealing with the downsides, we explore the big benefits.
Leiningen is the *de facto* standard project tool in Clojure. This course gives an overview of `lein` commands, projects, templates, and dependencies.
Manipulating time is a difficult thing. Time was made for people. The rules are complicated and depend on where you are on Earth. Time units have varying lengths (how long is “one month”?; how long is a day when you change daylight savings?), daylight savings depends on the country you’re in, and formatting dates depends on the language. It’s complicated. Luckily, Joda Time does an excellent job. Joda Time is a date-time library that represents everything immutably. It’s what people use when they want robust date-time calculations. clj-time wraps up the types from Joda Time and makes it easy to use from Clojure.
Namespace declarations can be complicated. They manage all of the dependencies of one namespace on another. There are a lot of options. In this course, we go over how to make best use of them.
Pragmatic and in-depth guides to a topic.
What are some of the milestones that people hit when they’re learning functional programming?
Parts of courses on specific topics
We learn about the different locations that X5 can go to in the bakery. We learn about sets and what they can hold.
Let’s add a recipe for a new baked good, brownies.
Now we can rework our bake-cake function to use the variadic versions of our add functions.
We look at the basics of representing HTML with Hiccup, which is a very convenient way of embedding markup right in our code.
We replace our router with Bidi, a bidirectional routing library that plays well with the HTTP library Yada.
Learn how to manage Clojure dependencies using Boot.
We interviewed D. Schmudde about his upcoming Clojure/conj 2016 talk about the intersection of functional programming, clojure.spec, and art.
We interviewed Daniel Friedman about his upcoming Code Mesh talk with Jason Hemann.
We Interviewed Daniel King about his upcoming Curry On 2017 talk about Building Tools and Languages for Terabyte Scale Biology: A Call to Action.
We interviewed Dave Yarwood about his upcoming Clojure Remote 2017 talk about ZeroMQ.
We interviewed Dom Kiva-Meyer about his upcoming Clojure/West 2017 talk.
We interviewed Dr. Christian Betz about his upcoming EuroClojure 2017 talk called Tear down this wall – rethink distributed systems.
Issue 303 – December 03, 2018 · Archives · Subscribe Hi Clojurists, I’m still digging into Agile. There are more newsletter issues on that topic to come, along with some essays I’m writing. But I wanted to take a break to talk about the current drama going on in the Clojure community. I don’t have […]
Issue 302 – November 26, 2018 · Archives · Subscribe Hi Clojurists, This week, I’ve been really digging into Agile. I’ve worked in Agile environments at a few different companies and I’m still trying to digest the experience. In short, I’m not a fan. I want to put together some cogent descriptions of why I […]
Issue 301 – November 19, 2018 · Archives · Subscribe Hi Clojurnators, As many of you may know, I am writing a book. I just turned in Chapter 3, which means the early access is coming soon. The book is about functional programming. It’s targeted at programmers who are new to functional programming. It deals […]
Issue 300 – November 12, 2018 · Archives · Subscribe Hi Clojurnators, Well, folks. This is issue 300 of the newsletter! My goodness. Time flies. I thought I might do something big and exciting, but, no, it’s just another issue! Please enjoy the issue! Rock on!Eric Normand <firstname.lastname@example.org> PS Want to get this in your […]
Issue 299 – November 05, 2018 · Archives · Subscribe Hi Clojurists, Please enjoy the issue! Rock on!Eric Normand <email@example.com> PS Want to get this in your email? Subscribe! Announcement: No Clojure SYNC in 2019 I’m sorry to say it, but it won’t be happening in 2019. I’m deliberately leaving 2020 open. This post talks […]
Issue 298 – October 29, 2018 · Archives · Subscribe Hi Clojurists, I know a number of you are new to this newsletter, and even if you’ve been around a while, it never hurts to re-introduce my work. I primarily make video tutorials about Clojure. Some are free, but most are available for purchase on […]
Rich Hickey is the creator of Clojure and Datomic. He’s a prolific speaker and has a lot of great ideas about programming. His impact on the future of programming is ongoing and extends well beyond Clojure. This is a collection of his talks, interviews, and articles.
Robert Martin is an influential figure in the industry. He was one of the people who drafted the Agile Manifesto. He was instrumental in starting the software craftsmanship movement. And he blogs about and makes video courses on software design.