Articles

1. 6 things Reacters do that Re-framers avoid

Down on React? You should check it out from the ClojureScript perspective.

Read more.

2. Moving Average in Lodash

We write a clean, readable, functional implementation of Moving Average with Lodash.

Read more.

3. Why Re-frame instead of Om Next

I had to choose between Re-frame and Om Next when building a course. Here are the reasons why.

Read more.

4. Why Functional Programming?

There are many reasons to learn Functional Programming. I go over my 11 favorite reasons. Reason #1 is it's fun!

Read more.

5. Wrangling Clojure Stacktraces

Clojure error messages and stacktraces are the number one most complained-about feature of Clojure. We look at some tips and resources for dealing with them.

Read more.

6. Clojure’s unsung heroics with concurrency

People know about the immutable data structures and the STM. But there's something going on at a much deeper level that is really hard to get right in Java. It has to do with the optimizations the JIT will run on your code.

Read more.

7. JVM JIT Optimizations

The JVM JIT is a highly optimized compiler. I present some resources for learning what it does.

Read more.

8. JVM Deployment Options

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?

Read more.

9. How do Clojure Programmers Deal with Long Startup Times

Clojure startup times suck. Let's just be honest. How do Clojure programmers live with that? Maybe that's the wrong way to think about it.

Read more.

10. The Legend of Long JVM Startup Times

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.

Read more.

11. Problems with the JVM

The JVM is great but far from perfect. Here are some problems with the JVM that Clojure has to work around.

Read more.

12. Java Generational Garbage Collection

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.

Read more.

13. Tricks for Java interop

There are several features of Java that generate weird classnames. We look at how to refer to them from Clojure.

Read more.

14. Clojure is a better Java than Java

How is it possible that Clojure is better than Java at its own game? Hear me out, then decide for yourself.

Read more.

15. Clojure’s Hosted Legacy

Clojure was designed as a hosted language. So what is Clojure, the language, if it relies on the features of a host? And what are the disadvantages of choosing the JVM as a host?

Read more.

16. Functional Programming is Fun

One of many, many reasons to learn Functional Programming. Functional Programming is fun and you can make it a part of your life.

Read more.

17. Two Ways are Better than One

One of many, many reasons to learn Functional Programming. Functional Programming is a great tool and you can make it a part of your life.

Read more.

18. Functional Programming Makes You Look Smart

One of many, many reasons to learn Functional Programming. Functional Programming will make you look smart and you can make it a part of your life.

Read more.

19. You Will Learn Monads

One of many, many reasons to learn Functional Programming. Functional Programming will help you learn monads and you can make it a part of your life.

Read more.

20. Functional Code is Shorter

One of many, many reasons to learn Functional Programming. Functional code is shorter and you can make it a part of your life.

Read more.

21. Functional Code is Simple

One of many, many reasons to learn Functional Programming. Functional code is simple and you can make it a part of your life.

Read more.

22. Functional Programming Makes Concurrency Easier

One of many, many reasons to learn Functional Programming. Functional programming makes concurrency easier.

Read more.

23. Functional Programming Embodies Good Software Practices

One of many, many reasons to learn Functional Programming. Functional programming embodies good software engineering practices.

Read more.

24. Functional Programming has a Long and Storied History

One of many, many reasons to learn Functional Programming. Functional programming has a long history and you can make it a part of your life.

Read more.

25. Functional Programming is Growing

One of many, many reasons to learn Functional Programming. Functional Programming is growing and you can make it a part of your life.

Read more.