Combinators are an important part of functional programming. They are functions — usually small — that combine their arguments into new functions. They’re great fun and have a lot to teach about functional programming and the lambda calculus. They are an important part of any Clojure programmer’s toolkit.
Screencasts, Whiteboards, and Slides produced to help you learn
Learn the fundamentals of core.async, a concurrency library for Clojure and ClojureScript that gives you tremendous power.
You want to learn Clojure but it seems so daunting. Who has the time to read and read and then start yet another half-finished project? Clojure in One Hour is a series of short projects that you can do in one hour. No theory, just hands-on projects to get something done.
Protocols are a very cool and very important feature in Clojure. They are a great way to build polymorphism into your software, including extending existing Java classes without modifying them.
When you are looking at a variable, how do you know what it refers to? The rules that determine what variable names refer to are collectively called the scoping rules. Learning the three kinds of scope and when to use each will help you make your code more maintainable.
Learn the tricky corners of Clojure syntax, like for comprehensions and function definitions.
Pragmatic and in-depth guides to a topic.
So you want to know who’s using Haskell and where to find jobs? You’ve come to the right place.
Josh Doody (Salary Negotiator) and Eric Normand critique a functional programming résumé and give advice for making it better. They also talk about preparing for the interview and the salary talk.
Is functional programming a fad? We cut through the buzz cycle and answer the question once and for all.
A complete massive action plan to get a functional programming job.
Getting to know people who can help you get functional programming jobs.
How do we deal with that little bit of time between when the user clicks and the server confirms the change is saved? Well, like many things in life, there are two ways: optimistically and pessimistically.
The JVM’s garbage collector allows for Clojure’s persistent data structures to be practical. It’s one of the benefits of being a hosted language: you can take advantage of the millions of dollars invested into the JVM’s development.
When you’re working at a company, you usually inherit their deployment system. And that’s great because then you just do what they do. But what if you are on your own? What are the options for deploying a Clojure server?
The JVM JIT is a highly optimized compiler. I present some resources for learning what it does.
We write a clean, readable, functional implementation of Moving Average with Lodash.
The JVM is great but far from perfect. Here are some problems with the JVM that Clojure has to work around.
One of the most common complaints about the JVM is the long startup time. But what is really taking so long? We analyze some commands to find out.
Parts of courses on specific topics
You know those HTML components that show you some headers and let you expand the content underneath? Yeah! Let’s build one!
Let’s add a new ingredient, namely cocoa.
Now that we can bake recipes, let’s add the other recipes, cookies and brownies.
Let’s add an action for adding ingredients.
We modify the compiler to add static scope information. Even though we don’t know the value of variables until runtime, we do know the names of the variables at compile time. We can use that to make missing variables a compiler error.
Agents are another reference type. Each one has a queue of work to be run on it, and those bits of work get run in a thread pool. They’re great because each Agent is a unit of parallelization. Three Agents mean three things can run at the same time.
PDFs, code, and other downloads to help you learn
Guide to baking for the intrepid robot
How to install: Download the CSV file (click the thumbnail below). Install Anki. Run Anki. Click Import at the bottom of the window. Import the CSV file. Adjust the options like you see them below.
A printable PDF (double-sided) with the 100 most common Clojure expressions. One side has the function/macro, the other a quick explanation. This is for printing on Avery 5371 paper.
A printable PDF (double-sided) with the 100 most common Clojure expressions. One side has the function/macro, the other a quick explanation. This one has a grid for cutting by hand.
Events, Effects, Co-effects, and Subscriptions! This reference sheet shows you the most common forms of all of these so you can get started with Re-frame right away.
Learn the four important React Lifecycle methods you’ll need when using Re-frame, when to use them, and how. Get started with Re-frame right away.
We Interviewed Allison McMillan about her upcoming Curry On 2017 talk called Angelina Ballerina Learns About Memory Allocation.
We interviewed Alvaro Videla about his upcoming clojuTRE 2017 talk called Metaphors We Compute By.
We interviewed Anatoly Polinsky about his upcoming Clojure Remote 2017 talk about configuration.
We interviewed Andrew Mcveigh about his upcoming :clojureD 2017 talk.
We interviewed Annette Bieniusa about her upcoming Lambda Days 2017 talk.
We interviewed António Monteiro about his upcoming ClojuTRE 2017 talk called Lumo: Bootstrapping a Standalone ClojureScript Environment.
Issue 312 – February 04, 2019 · Archives · Subscribe Hi Clojurists, Please enjoy the issue. Rock on!Eric Normand <email@example.com> PS Want to get this in your email? Subscribe! Tims Gardner by defn Podcast An excellent interview with Tims Gardner, co-creator of Arcardia, the Clojure game programming system built on Unity. Clojure proves itself again […]
Issue 311 – January 28, 2019 · Archives · Subscribe Hi Clojurists, Please enjoy the issue. Rock on!Eric Normand <firstname.lastname@example.org> 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 310 – January 21, 2019 · 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 309 – January 14, 2019 · Archives · Subscribe Hi Clojurists, As I write this, I’m sitting in my hotel room in Bengaluru, India. Yesterday was IN/Clojure. I was so impressed with the organization, the speakers, and the attendees. I’ve had such a great time here. And it really proves that a community can […]
Issue 308 – January 07, 2019 · Archives · Subscribe Hi Clojurists, There is something about the end of the year that nudges us to reflect on the prior year and look forward to the next year. While I make resolutions (and fail on many of them) all year round, January 1 seems like a […]
Issue 307 – December 31, 2018 · Archives · Subscribe Hi Clojurtators, I’ve gotten a couple of questions on the status of the podcast. I will be continuing in the new year. Things got busy and I decided to call this a holiday break. I’m really looking forward to my travels to India for IN/Clojure. […]