sherief

sherief

Hi there,

I am a Masters student (no-thesis option) and would like to give back the the community by writing a library in the next ~4-5 months as a graduation project.

Criteria: It would be lovely if it is based on a paper and the Elixir/Erlang community is missing that sort of functionality.

Thanks.

Showing Posts 1 to 7

ityonemo

ityonemo

If you did this it would be amazing:

Sorry, don’t have a link to the paper, but I’m sure it’s in the video somewhere.

krstfk

krstfk

Link to the json crdt paper A Conflict-Free Replicated JSON Datatype
Link to more information regarding potential applications and alternatives and more: Local first software
JavaScript official implementation by the author : Automerge
A rust port of the backend in rust (based on the work on the performance branche) Automerge-rs

It’s indeed a very cool and exciting field of research and it would indeed be nice to have an Elixir/Erlang version, although the research being cutting-edge could turn out to be impractical (but people working on this are much smarter than I am, and they seem confident).

If you’re into vm implementation there is an effort to have a beam running on top of web assembly, that may also be a worthwhile learning experience Lumen.

Whatever you decide, be sure to check with the teaching staff, so that you get proper support and don’t waste your time.

Good luck!

Edit: addendum, other potential relevant work in the crdt field :

https://replicated.cc/

There’s an elixir implementation, but it seems stalled.

ChaseGilliam

ChaseGilliam

Have you seen the Erlang Ecosystem Foundation’s Working Groups page? There might be something the community needs that you could build.

sherief

sherief OP

Thanks everyone for all of your suggestions and special thanks to @krstfk for your detailed reply. I will keep replying to this thread with updates and hopefully in 4 months we will have a new maintained library for Elixir.

krstfk

krstfk

Glad I could help somewhat.
Another area of research (but I doubt it would fit in a 4-5 month program) is static type checking.

As far as I know the first paper in that field is this one by Marlow and Wadler.

The Gleam project is exploring the topic. I may be wrong, but I believe people at emqx are exploring something in the same vein and the people at Facebook WhatsApp are working on some typed erlang thingy (but I know close to nothing about that).

Given your timeframe, I still think working on some nice CRDTs would be both realistic and nice for the community.

Again, please check with your teaching staff. The elixir community is great, but having in person advice from the people who will ultimately judge your work is better.

Also, while I certainly think you should strive for excellence, if you can’t provide a production ready library, it’ll still be a great addition for the elixir/erlang community if you document your motivation, hurdles, and choices.

All that to say don’t burn out as a student, have fun learning, it won’t be useless (even if whatever lib you decide to implement isn’t used). At the very least you’ll gain some expertise that you’ll be able to leverage to help the community in the future.

zkessin

zkessin

I for one would love to see some work done on logic programming, with either Robert Virding’s Erlog, or MiniKanren. I have some use cases that really could probably benefit from such a thing

sherief

sherief OP

Thank you again for your kind and supportive words.

I like the idea of having static typing in Elixir, but as you have guessed, the timeframe with a day job will make it hard for me to manage. I will suggest CRDTs to my professor and see how it goes. I will also try to find more ideas during the weekend.

As for the quality of the library: if somehow the library wasn’t production ready in 4 months time, then I will keep refining it to become one.

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
axelson
Hi there! :wave: @frigidcode and I (but mostly him) have been running an Elixir Book club, we’re almost done with Designing Elixir Syste...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
georgeguimaraes
Just published claude-code-elixir, a plugin marketplace for Claude Code with Elixir support. These are the plugins I’ve been using for my...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews