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...
Posts by Nathan Marz
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?
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.
Read all of them here iiif.library.cmu.edu/file/Simon_b...
Wow, there are a lot of gems in Alan Perlis's "Epigrams on Programming" from 1982
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...
Arrived in London and looking forward to hanging out with the Clojure community here at reClojure!
Had a fun time showing my embarrassing editor setup and talking about Rama on the Apropos podcast www.youtube.com/watch?v=h8cd...
This is such a great sci-fi story
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...
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?".
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...
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
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.
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%
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...
2/ Just because Rama can build everything does not mean it has to be used for everything on day one. Rama easily integrates with any existing infrastructure. Some of our users rewrote their entire product on top of Rama, but others used Rama for building new features/applications.
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.
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...
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...
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...
Looking forward to speaking at reClojure in London on May 26th!
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.
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.
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.
Also launched a major revamp for the Red Planet Labs
website yesterday, with a lot more information on Rama and resources for learning redplanetlabs.com
Rama, the 100x developer platform, is now free for production use! You can download Rama from our website. The free version can run clusters up to two nodes, which is enough to comfortably run small/medium scale applications. More details in the blog post.
blog.redplanetlabs.com/2025/03/18/r...
One day until we release the free version of Rama, along with a fresh new website and enhanced docs!