HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
josevalim
nested-map-reduce-traversal
Elixir2023–2023
josevalim / nested-map-reduce-traversal · Archived

nested-map-reduce-traversal

Discover this repository through its Hacker News conversations.

2Distinct people
2Mentions
0Explicit recommenders
33GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A public description has not been verified.

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week2 dated mentions

Observed mentions: 2023-02-25 13:09:57 UTC to 2023-05-01 10:26:45 UTC. Weeks start Monday, UTC.

012023-02-20 00:00:00 UTC to 2023-02-27 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsFeb 202023-02-27 00:00:00 UTC to 2023-03-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-03-06 00:00:00 UTC to 2023-03-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-03-13 00:00:00 UTC to 2023-03-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-03-20 00:00:00 UTC to 2023-03-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-03-27 00:00:00 UTC to 2023-04-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMar 272023-04-03 00:00:00 UTC to 2023-04-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-04-10 00:00:00 UTC to 2023-04-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-04-17 00:00:00 UTC to 2023-04-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-04-24 00:00:00 UTC to 2023-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-05-01 00:00:00 UTC to 2023-05-08 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMay 1

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Feb 202023-02-20 00:00:00 UTC2023-02-27 00:00:00 UTC101
Feb 272023-02-27 00:00:00 UTC2023-03-06 00:00:00 UTC000
Mar 62023-03-06 00:00:00 UTC2023-03-13 00:00:00 UTC000
Mar 132023-03-13 00:00:00 UTC2023-03-20 00:00:00 UTC000
Mar 202023-03-20 00:00:00 UTC2023-03-27 00:00:00 UTC000
Mar 272023-03-27 00:00:00 UTC2023-04-03 00:00:00 UTC000
Apr 32023-04-03 00:00:00 UTC2023-04-10 00:00:00 UTC000
Apr 102023-04-10 00:00:00 UTC2023-04-17 00:00:00 UTC000
Apr 172023-04-17 00:00:00 UTC2023-04-24 00:00:00 UTC000
Apr 242023-04-24 00:00:00 UTC2023-05-01 00:00:00 UTC000
May 12023-05-01 00:00:00 UTC2023-05-08 00:00:00 UTC101

What Hacker News says

2 sources
Developer happiness includes all facets of development IMO. The language, 3rd party packages, the overall ecosystem, the community, etc.. Elixir isn't really in the same ballpark as Python and Ruby for package support. Lots of 3rd party vendors don't have official SDKs for Elixir and having to recreate certain components of those SDKs manually can be very tricky. This is especially true for payment gateways like Stripe, Payal, Paddle and others since there's gory details about certain things aren't as easy as making an HTTP call with a token. So you end up having to recreate these things from scratch because most community versions are abandoned due to them being maintained by 1 or 2 people who stopped using it. Also, LiveView's APIs keep changing. The amount of churn was out of control for a few years where it felt like every few months
Read the rest
you had to make drastic rewrites to keep up with it all. At the same time the docs are very minimal and community support through blog posts weren't there in the same way they are for Rails and Flask. It felt like you were on your own to solve everything in a fast moving world with an ever growing API. Then for the language, Elixir didn't click for me, even after writing 10k lines of code. I felt like I could get pretty far and understood enough to get most things done but I felt like I was getting stonewall'd quite frequently and couldn't solve certain basic problems after exhausting all pre-existing resources (my brain, docs, blog posts, open source projects, etc.). I don't feel I have this same issue in Python or Ruby. There's such a big community that nearly everything can be found, or at least get you to the point where you can apply something to your domain without asking in chat for help. A good example is https://github.com/josevalim/nested-map-reduce-traversal which is something Jose and I worked on a few years ago. If he didn't step in and provide an example on how to do what's essentially a nested loop while modifying a counter in Elixir I would have had to stop developing my project. I still have to step back and spend a full 5 minutes trying to mentally parse his solution where as the Python and Ruby solutions are immediate with no effort. When trying to build a pretty big project, these routine blockers or having to spend 3 hours (or 3 days) down a rabbit hole vs just doing it in a few minutes make a big difference -- this is also after spending months learning the language and ecosystem already. You end up getting fatigued from having to build so many libraries to get to the point where you can work on your main's app goal and it's demoralizing getting hard blocked. There's also this pit in your stomach that's concerned at how quickly you can get stuck in a way that you can't self-resolve. When trying to build a business, these are all very dangerous things. You put all of that together and my happiness level for Elixir was kind of low. It's nothing personal, just my opinion. I think it has good ideas and concepts in places but it didn't feel like the juice was worth the squeeze for someone like me who didn't already have many years of functional programming experience beforehand. Flask and Rails are both fast enough where you can build a million dollar a year business on a single $40 / month server with tens of thousands of customers. You can still get p95+ <= 100ms response times from your back-end in this scenario and both tech stacks have a good story for using websockets nowadays. Thankfully Hotwire Turbo is back-end agnostic which means you can build really nice feeling front-ends with any tech stack with minimal JS. I'm really happy DHH pioneered this pattern with Turbolinks which evolved into something wonderful.
In The Magic of Rails: exploring the principles and techniques behind the framework
It is perhaps utopia but it would be nice if we could discuss those topics without falling into camps. For example, I could argue for hours about the benefits of immutability, but I still believe that imperative loops are clearer than functional ones. There is even a repository with solutions for nested traversals in different languages and the Python one is my preferred by some margin: https://github.com/josevalim/nested-map-reduce-traversal
In Elixir for Humans Who Know Python

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.