News for hackers. Stuff that matters.
Re:Membrane, Media Framework for Elixir by victorbjorklund on Tuesday May 13, 2025 @01:29PM (#43975454)
This is such a cool project. Haven't used it for any serious things but just the ability to have a high performance media streaming framework inside of Elixir is amazing. You literally could build Twitch just using BEAM and nothing else (a Postgres database is probably good to have though).
Re:Membrane, Media Framework for Elixir by clacker-o-matic on Tuesday May 13, 2025 @01:35PM (#43975500)
That would be the dream. Do you know of any major apps using elixir besides telecom?
Re:Membrane, Media Framework for Elixir by vishalontheline on Tuesday May 13, 2025 @04:10PM (#43977159)
OkNext.io is built using Elixir and Phoenix framework, if you're considering building a Web App and looking for examples.
Re:Membrane, Media Framework for Elixir by cultofmetatron on Tuesday May 13, 2025 @02:20PM (#43976017)
my startup is using elixir in production for the last 5 years. we are a cloud based restaurant POS.

no regrets. the ecosystem has been pretty solid for everything we've wanted to do. Stability/performance has been very good.

also: if you're looking for a high profile startup using elixir, supabase is almost entirely elixir and discord uses it for some critical parts.

Re:Membrane, Media Framework for Elixir by rched on Tuesday May 13, 2025 @04:05PM (#43977097)
Are you willing to share the name of your startup?
Re:Membrane, Media Framework for Elixir by cultofmetatron on Tuesday May 13, 2025 @04:46PM (#43977525)
Re:Membrane, Media Framework for Elixir by fridder on Tuesday May 13, 2025 @04:05PM (#43977098)
Cars.com did a pretty extensive rewrite to Elixir
Re:Membrane, Media Framework for Elixir by atonse on Tuesday May 13, 2025 @02:48PM (#43976286)
We’ve been running elixir in production since 2017.

During the pandemic, our elixir app sent/received 45 million text messages, helped schedule 1.5 million vaccination appointments, and a few million COVID testing appointments.

It all scaled and performed flawlessly. Any bugs were our fault :-)

Re:Membrane, Media Framework for Elixir by dlachausse on Tuesday May 13, 2025 @01:36PM (#43975526)
There are several companies that are known to use elixir in production...

https://elixir-lang.org/cases.html

Re:Membrane, Media Framework for Elixir by throwawaymaths on Tuesday May 13, 2025 @02:01PM (#43975813)
Tubi (relevant), Tvlabs, pagerduty, divvy

All not on the list.

There's also the legendary bleacherreport abandoning elixir and totally shooting themselves in the foot.

Several fintech companies moved off - brex, ramp. I think for brex they were told by VCs to hire XYZ CTO and the CTO couldn't elixir. Hilariously I ran into ramp people totally in the wild who complained that "they couldn't find elixir devs". I told them "you just randomly ran into one". I think their hiring processes were likely broken, but what's new in silly valley?

Re:Membrane, Media Framework for Elixir by jerf on Tuesday May 13, 2025 @02:29PM (#43976108)
You can always find stories of people moving off of stacks. Sometimes they just legitimately evolved in a direction the stack wasn't the best solution for. Sometimes they should never have picked the stack in the first place. Sometimes a new leader came in who had preconceived notions that the company needed to conform with. You really have to look at the specifics of the story to know if it's relevant to you.

In my very opinionated opinion, it's actually reasonably uncommon for me to read a story of someone leaving a stack and not classifying it as one of the things I listed above. Of the cases I would consider "legitimate", it's usually a performance issue; some languages and runtimes are just intrinsically slower than others, or at least, intrinsically slower without an unrealistic amount of effort. (Elixir would be middling here. BEAM is kind of between the dynamic scripting languages and the compiled languages. The interpreter is simple enough that it can run much faster than the dynamic scripting languages but it would be completely unacceptable performance for any compiled language. You can run out of performance in BEAM, but it does take a system that needs performance and some growth to get there.) The rest are probably complexity explosion of some framework, and this is almost always a UI framework problem.

Re:Membrane, Media Framework for Elixir by luckywatcher on Tuesday May 13, 2025 @02:45PM (#43976249)
Divvy still uses Elixir extensively. I use to work there and still have many contacts there.
Re:Membrane, Media Framework for Elixir by lytedev on Tuesday May 13, 2025 @03:02PM (#43976411)
Currently work here and we're definitely still building and supporting Elixir applications and enjoying it!
Re:Membrane, Media Framework for Elixir by throwawaymaths on Tuesday May 13, 2025 @03:18PM (#43976561)
Thanks. Updated. Something about the best way to find an answer is to write an incorrect answer on the internet! ;-)
Re:Membrane, Media Framework for Elixir by dlachausse on Tuesday May 13, 2025 @02:20PM (#43976014)
I don't understand the fixation on hiring $LANGUAGE devs. If you can't find any developers using your current stack, pay for a course or a book for them and train them on it. Training a competent developer to use a new programming language has to be easier, cheaper, and faster than rewriting your entire software stack.
Re:Membrane, Media Framework for Elixir by throwawaymaths on Tuesday May 13, 2025 @03:20PM (#43976588)
If you're a cto hired in to a company you need to make your mark somehow.
Re:Membrane, Media Framework for Elixir by paradox460 on Tuesday May 13, 2025 @05:41PM (#43978060)
PagerDuty, Pinterest, TheRealReal, Discord, Cars.com, Bleacher report
Re:Membrane, Media Framework for Elixir by giancarlostoro on Tuesday May 13, 2025 @07:53PM (#43979194)
Discord, Facebook Messenger iirc was ejabberd and I think Google Talk was at one point? WhatsApp was ejabberd too iirc.
Re:Membrane, Media Framework for Elixir by paradox460 on Wednesday May 14, 2025 @07:55PM (#43990444)
ESPN also uses it, iirc for their sportsbook system
Re:Membrane, Media Framework for Elixir by fouc on Sunday May 18, 2025 @10:51PM (#44026176)
Discord was Elixir (and some Python) from the beginning. WhatsApp started with ejabberd though.
Re:Membrane, Media Framework for Elixir by ettomatic on Tuesday May 13, 2025 @06:45PM (#43978609)
At the BBC we use Elixir quite extensively. I'll talk about this at ElixirConfEU in a few days if you are interested.
Re:Membrane, Media Framework for Elixir by victorbjorklund on Wednesday May 14, 2025 @07:58AM (#43983441)
Cars.com, Discord, Supabase are some of the top of my head. And of course Whatsapp is Erlang (which is same thing but with, imo, more ugly syntax)
Re:Membrane, Media Framework for Elixir by dlachausse on Tuesday May 13, 2025 @01:35PM (#43975510)
The BEAM even includes a database - Mnesia...

https://www.erlang.org/doc/apps/mnesia/mnesia.html

Re:Membrane, Media Framework for Elixir by jerf on Tuesday May 13, 2025 @02:32PM (#43976131)
Mnesia is not a database by any modern definition of the term and it should generally be avoided. It is at least 4 if not 5 orders of magnitude away from "being able to run Twitch". That is, yes, I'm serious, if you tried to run a Twitch clone "but 10,000x smaller" I would still expect Mnesia to completely fall over.
Re:Membrane, Media Framework for Elixir by toast0 on Tuesday May 13, 2025 @03:17PM (#43976553)
Mnesia worked well enough for us at WhatsApp while I was there; although we didn't use it to store messages; long term message storage is on the end points (generally sqlite), messages in transit (offline) were stored in a file per user with the import/export written in C IIRC. We did add redundant in memory storage of messages in transit; but I don't remember the storage there; may have just been ets.

We mostly used mnesia as a replicated key-value store, but we got a lot of value from having the data and the business logic colocated. Other nodes would send logical operations to processes on the mnesia node and those processes could run each operation one at a time on the data. Any concurrent logical requests for a given piece of data were implicitly serialized by the process mailbox. But almost all of our data was easy to shard, no high volume operations needed to address multiple tables.

We heard a lot of things about mnesia scalability limits that just didn't match up with our experience; so I don't know what other people were doing, but you can get a glimpse of what we were doing in the Rick Reed talks at Erlang Factory.

Mnesia doesn't (or didn't) include a good way to handle when two mnesia nodes sharing a schema disconnect and reconnect. We mostly solved that by ensuring our network was stable enough that that rarely happened. If your network is not stable, you will have a bad time with distributed Erlang in general, and Mnesia in specific.

If I were building Twitch but smaller, and on the BEAM, I would absolutely put account databases in Mnesia; but messages and media would probably live as files. I wouldn't tend to put those into a SQL database on a server either though.

Re:Membrane, Media Framework for Elixir by victorbjorklund on Wednesday May 14, 2025 @08:02AM (#43983476)
That is not true. I dont use Mnesia because it is so different and thus harder for me than sql. But it is used. Klarna uses it. They are a pretty big company. Would I recommend it for most? No, but I also would not recommend cassandra and a bunch of other databases for most apps
Re:Membrane, Media Framework for Elixir by schultzer on Tuesday May 13, 2025 @02:42PM (#43976217)
mnesia is great, and you can get very far before you would make the jump to anything else. And it can be way faster then any other database. For obvious reasons.

Although it would be great if it spoke SQL, maybe one day it will: https://github.com/elixir-dbvisor/sql since we can already pass it and get the AST.

Re:Membrane, Media Framework for Elixir by troupo on Tuesday May 13, 2025 @03:31PM (#43976706)
And when you do have to jump off, you'll be screwed. Because the jump off is usually from in-memory Mnesia with guaranteed sub-millisecond responses to a proper database with at least a magnitude higher latency. And you realize that your app is completely dependent on sub-millisecond responses :)
Re:Membrane, Media Framework for Elixir by schultzer on Tuesday May 13, 2025 @04:37PM (#43977433)
Low latency is addictive. And by the time when you think you might need to change you’re probably become such a skilled engineer that you realize that everybody that shit on mnesia does not know what they talk about. :)
Re:Membrane, Media Framework for Elixir by throwawaymaths on Tuesday May 13, 2025 @02:12PM (#43975927)
Honestly I think mnesia is one of those "don't use it unless you know what you're doing" things. Just use postgres.