Nathan Marz
nathanmarz.bsky.social
Nathan Marz
@nathanmarz.bsky.social
Founder of Red Planet Labs. On a mission to dramatically improve programmer productivity and software quality by reducing the complexity of software development.
New post: "Make Worse Software, Slower"

This is not satire.

I argue for:

– Rejecting functional programming
– Using ORMs to perfectly hide impedance mismatches
– Skipping event sourcing
– Other proven best practices

blog.redplanetlabs.com/2025/06/17/m...
Make Worse Software, Slower
Everyone’s always hyping some shiny new tool that promises to make better software, faster. But in practice, change introduces risk. Why chase the unknown when we have decades of battle-tested tech…
blog.redplanetlabs.com
June 18, 2025 at 9:33 PM
I still see this argument sometimes in the Clojure community:

1. Specter is great at manipulating deeply nested data
2. You shouldn't nest data very deep to begin with
3. Therefore, Specter is useless

Do you see the multiple flaws in the logic?
June 16, 2025 at 11:05 PM
This talk begins with homoiconicity as a simple idea with huge impact ("opens up a new dimension of programming") that most programmers initially perceive as useless or harmful.

It then explores four more simple ideas with that same dynamic that greatly simplify software dev.
Here's the video of my keynote "Simple ideas with huge impact from Clojure and Rama" from reClojure two weeks ago. The ideas only take a few seconds to express, but they will seriously challenge how you perceive programming.

www.youtube.com/watch?v=25lJ...
Simple ideas with huge impact from Clojure and Rama (by Nathan Marz)
YouTube video by London Clojurians
www.youtube.com
June 12, 2025 at 9:13 PM
Wow, there are a lot of gems in Alan Perlis's "Epigrams on Programming" from 1982
June 11, 2025 at 12:59 AM
Here's the video of my keynote "Simple ideas with huge impact from Clojure and Rama" from reClojure two weeks ago. The ideas only take a few seconds to express, but they will seriously challenge how you perceive programming.

www.youtube.com/watch?v=25lJ...
Simple ideas with huge impact from Clojure and Rama (by Nathan Marz)
YouTube video by London Clojurians
www.youtube.com
June 9, 2025 at 7:55 PM
Arrived in London and looking forward to hanging out with the Clojure community here at reClojure!
May 24, 2025 at 5:46 PM
Had a fun time showing my embarrassing editor setup and talking about Rama on the Apropos podcast www.youtube.com/watch?v=h8cd...
Nathan Marz guests on Apropos Clojure 2025-05-20
YouTube video by apropos clojure
www.youtube.com
May 21, 2025 at 6:09 PM
This is such a great sci-fi story
May 2, 2025 at 5:28 PM
Published "Next-level backends with Rama: personalized content moderation in 60 LOC"

This is a detailed line by line tutorial on using Rama for both Clojure and Java to implement a high-performance mute/unmute feature on a social network.

blog.redplanetlabs.com/2025/04/29/n...
Implementing a Mute Feature with Rama: A Step-by-Step Guide
Explore how to implement a mute feature in a social network using Rama, simplifying backend development with minimal code.
blog.redplanetlabs.com
April 29, 2025 at 4:49 PM
What I love most about this case study is how Rama enabled G+D Netcetera to greatly expand the market of their product. This is similar to what we saw in the Multiply case study: the mindset changes from "what does our tooling allow us to do?" to "what's our dream product?".
April 23, 2025 at 7:05 PM
Very excited to publish this case study! What Rama did for this product is incredible: "How G+D Netcetera used Rama to 100x the performance of a product used by millions of people"

blog.redplanetlabs.com/2025/04/22/h...
How G+D Netcetera used Rama to 100x the performance of a product used by millions of people
“Rama enabled us to improve the performance of two critical metrics for Forward Publishing by over 100x, and it reduced our AWS hosting costs by 55%. It sounds like a cliché, but learning Rama most…
blog.redplanetlabs.com
April 22, 2025 at 4:44 PM
Since I'm so used to Clojure, what drives me nuts about writing Java code is the crazy number of parens you have to type
April 18, 2025 at 7:12 PM
If you post anything about dynamic typing being superior to static typing, you'll soon find out from the incensed comments that many people don't know the difference between dynamic typing and weak typing and will fight you to the death over it.
April 17, 2025 at 7:49 PM
The Rama case study we're publishing next week is a doozy. This customer operates a product used by millions of people, and Rama:

- Improved the performance of their application on two critical metrics by over 100x
- Reduced their AWS hosting costs by 55%
April 16, 2025 at 8:25 PM
New post: "Next-level backends with Rama: fault-tolerant timed notifications in 25 LOC".

This is a detailed tutorial showing how to manage future work in an application. Examples on this site are features like scheduled posts or poll expirations.

blog.redplanetlabs.com/2025/04/16/n...
Next-level backends with Rama: fault-tolerant timed notifications in 25 LOC
This is part of a series of posts exploring programming with Rama, ranging from interactive consumer apps, high-scale analytics, background processing, recommendation engines, and much more. This t…
blog.redplanetlabs.com
April 16, 2025 at 8:24 PM
1/ Rama is uniquely able to build an entire backend at scale with diverse computation and storage needs. Some have misunderstood this to mean using Rama means you need to replace all existing infrastructure. That would be crazy.
April 14, 2025 at 7:29 PM
Published "Next-level backends with Rama: recommendation engine in 80 LOC"

This is a detailed line by line tutorial on using Rama for both Clojure and Java. As with all Rama apps, the example in the post is scalable, fault-tolerant, and ACID compliant.

blog.redplanetlabs.com/2025/04/08/n...
Next-level backends with Rama: recommendation engine in 80 LOC
This is part of a series of posts exploring programming with Rama, ranging from interactive consumer apps, high-scale analytics, background processing, recommendation engines, and much more. This t…
blog.redplanetlabs.com
April 8, 2025 at 4:55 PM
This post is a demonstration of why colocation is superior to locking/transactions for atomicity
New post: "Massively scalable collaborative text editor backend with Rama in 120 LOC"

blog.redplanetlabs.com/2025/04/01/m...
April 4, 2025 at 7:20 PM
New post: "Massively scalable collaborative text editor backend with Rama in 120 LOC"

blog.redplanetlabs.com/2025/04/01/m...
April 1, 2025 at 4:53 PM
The way this does parallel graph traversals by recurring a loop multiple times per iteration while also jumping around the cluster is really cool. It's only a couple lines of code but exemplifies what I mean when I talk about Rama making "where" and "what" composable.
Published "Next-level backends with Rama: storing and traversing graphs in 60 LOC". This is a detailed line by line tutorial on using Rama for both Clojure and Java. As with all Rama apps, the example in the post is scalable, fault-tolerant, and ACID compliant.
blog.redplanetlabs.com/2025/03/26/n...
Next-level backends with Rama: storing and traversing graphs in 60 LOC
This is the first of a series of posts exploring programming with Rama, ranging from interactive consumer apps, high-scale analytics, background processing, recommendation engines, and much more. T…
blog.redplanetlabs.com
March 27, 2025 at 10:07 PM
Published "Next-level backends with Rama: storing and traversing graphs in 60 LOC". This is a detailed line by line tutorial on using Rama for both Clojure and Java. As with all Rama apps, the example in the post is scalable, fault-tolerant, and ACID compliant.
blog.redplanetlabs.com/2025/03/26/n...
Next-level backends with Rama: storing and traversing graphs in 60 LOC
This is the first of a series of posts exploring programming with Rama, ranging from interactive consumer apps, high-scale analytics, background processing, recommendation engines, and much more. T…
blog.redplanetlabs.com
March 26, 2025 at 5:05 PM
Looking forward to speaking at reClojure in London on May 26th!
March 24, 2025 at 4:29 PM
This is a reminder that writing state in global variables is a horrible thing to do, and databases are just global variables by a different name.
March 21, 2025 at 6:25 PM
Now that the free version of Rama is out, you can directly test our claims of how much it improves backend development! I've found with our early users it takes a week or two to get through the initial learning curve.
March 20, 2025 at 5:55 PM
Starting a new blog series next week called "Next-level backends with Rama" where each post is a detailed tutorial of using Rama for a specific use case, with all code in both Java and Clojure. The first post will be about storing and traversing graphs.
March 19, 2025 at 5:29 PM