What is your dream project?

If you could work on any project, what would it be? :upside_down_face:

2 Likes

Fully decentralized network with automatic replication and encryption, based on a web of trust concept. Meaning there would be almost no need for servers, as long as like 10% of the network keeps their computers on and with good connections to the upstream bigger network.

That would also include servers as well, of course ā€“ after all latency is a problem in decentralized nets (although periodic eager refreshes of content hashes and locations helps).

But I do dream of censor-proof and resilient network. And this becomes more and more important nowadays.

3 Likes

Sounds like a good topic for a dedicated thread - freedom and censorship on the internet :smiley:

1 Like

Thereā€™s a strong vested interest in preventing it however. Lately there has been a post about 23% of Tor exit nodes being malicious so this makes me think that even if a fully decentralized net effort is started it will likely be heavily sabotaged. :frowning_face:

2 Likes

At the moment, I wouldnā€™t mind building a site about music theory using Elixir. (if I had the timeā€¦)

2 Likes

Do it Josh :nerd_face::nerd_face::nerd_face:

2 Likes

Essay incoming

Making a software that, in essence, does distributed, automatically firewall-traversing, strongly encrypting, blending with white noise, data replication, so no data is ever lost. Think BitTorrent but for anything and everything ā€“ f.ex. you can tell that software ā€œhey, I want to backup my home directoryā€ and it just makes encrypted blocks of data and announces them to the world; and the software is of such kind that the network ends up automatically replicating it at least 5 times (or more).

That software should also be able to issue the announcement on the network that itā€™s no longer interested in the keeping blocks X, Y and Z and the nodes on the network can then proceed to delete and stop replicating those blocks (the default) or decide to hold on to them some more (what would state surveillance actors likely end up doing; hey, itā€™s their electricity, let them waste it trying to decrypt my stuff, I donā€™t mind).

And while weā€™re at all that, we should completely change how the internet works, and make new (or revive old, I donā€™t know, not informed enough) protocols that fix most of the past mistakes.

I donā€™t expect this to happen while I am alive, sadly. Thereā€™s no commercial interest in something like that so itā€™s doomed to remain an enthusiastā€™s journey. And until thereā€™s some sort of an universal social safety net (like universal basic income) then many of us will give priority to their paid work and free time with family and loved ones. Oh well, it is what it is.

(But I would work on that for life if I didnā€™t have to think about money!)


Failing thatā€¦ a statically and strongly typed BEAM language. Could be the next-gen Elixir, or the LISP-flavoured Erlang (LFE) with static typing. I really hope that efforts like Lumen succeed.


Something else Iā€™d volunteer working on, and which is far more realistic than the other two ā€“ but still very difficult ā€“ is more Elixir tooling, written in really fast languages like Rust (or Go, or OCaml when it finally becomes multicore friendly), that manages Phoenix projects and is able to intelligently parse and understand project structure and then modify it. Say, it would be able to execute a command like ā€œmove this action from controller X to controller Yā€ without human interference. Or ā€œupgrade the syntax of the OTP application structure of the app to the newer Elixir syntaxā€ (introduced a while ago but many projects still use the legacy syntax).

Projects like semgrep can be the beginnings of such tooling. I lately found out that @hauleth is involved in tree-sitter, the library semgrep is stepping on, implementation for Elixir ā€“ really happy that youā€™re there, man!


IMO languages like Elixir, Ruby, PHP, Python, are gradually peaking and would start to decline if some sort of a game-changer isnā€™t introduced there. One such thing is that there are people who are working on making static executable binaries out of JS projects. Crazy stuff, but it does show you that people would do absolutely anything and everything to keep working with their favourite language; they donā€™t care of its deficiencies or how many dollars of damage it might incur, or how much it holds the entire IT area back ā€“ they want to work with it so theyā€™ll just reach for the lower layers and make their dream come true.

And IMO those of us who love Elixir should do the same because Elixir ā€“ and the BEAM VM ā€“ do actually and in fact have several crushingly overwhelming advantages compared to most other dynamic languages (if not all of them even). Those advantages should be used and played to their strengths.

6 Likes

Iā€™d probably agree that languages need to improve and continually evolve and perhaps even especially if they have an awesome feature that other languages donā€™tā€¦ because itā€™s only a matter of time before other languages catch up. Something weā€™re currently seeing in terms of concurrency and fault tolerance for example.

I know we often say use the best tool for the job, but even that is going to dwindle soon - because languages are continually being refined, and it may get to a stage where there will be many languages that are a good fit in many areas, meaning they can be used on both backend, front, mobile, embedded, etc and really well, too. Something thatā€™s certainly beginning to happen thanks to WASM :smiley:

I think that leaves the question tho - how can some languages compete when you know have languages and tools being created by huge companies with very deep pockets? (I have some ideas about this - someone please post a thread about it :laughing:)

3 Likes

A messaging platform with extensions, themes and games built in. Think of it as the vscode of messaging platforms with games haha

4 Likes

Initially, might be a system that has a really complex domain, using DDD and EventModeling/EventStorming/EventSourcing to build it

3 Likes

I would like to work on a project that will make the world a better place
:grin:

Failing that, something that would:

  • help people eat better
  • bring peace to the world
  • help save the planet
  • be actually worth doing
3 Likes

You and me both Finner! :smiley:

1 Like

As for Elixir tooling, could the first stage of your idea work as something like an improved ElixirLS? Maybe thatā€™s like wishing for ā€œfaster horsesā€ instead of an automobile but Iā€™d certainly pay for better tooling. I wonder how many other Elixir/BEAM users would also.

I suddenly find myself wishing these forums had something like group mock-upsā€¦ like wireframes.

3 Likes

That might indeed be the right start. Havenā€™t thought about it from that angle.

3 Likes

To expand on your interesting suggestion: I believe we should move to statically and strongly typed languages that compile to machine code for such tools. For all such tools.

Such tools have humble beginnings as LSP servers where startup latency isnā€™t an issue but fairly often evolve to full CLI apps where that startup latency can be a deal breaker.

To that end Iā€™d love to help rewrite the Elixir compiler in Rust (or OCaml, although its parallel story is still developing) and just take all other tooling to the same language from then on.

IMO if we would do something, it should make a big and impactful difference.

Extremely good analogy! And I would pay for better tooling myself.

But I guess Iā€™ll invent it first and use it for free. :smiley:

3 Likes

But I guess Iā€™ll invent it first and use it for free.

What about something like crowdfunding?

2 Likes

Thought of it many times but truthfully, this would be a labour of love. Bringing any external financing to it will inevitably pressure you and put you on a schedule which will immediately and effectively destroy all my passion for it. :slight_smile:

Plus I am not in a good situation finance-wise ā€“ no savings (although the job pays kinda sorta okay). So canā€™t really just stop working and go chase that dream.

Sadly, a lot of such good ideas get drowned and eventually killed by our needs for survival and stable home. My ideas will likely meet the same fate. At least it looks like that so far.

4 Likes

Totally hear you. Though the Californian in me canā€™t entirely suffocate some kind of a primal hyper-optimistic vibrating warble of the ā€œfar more is possible than we dare to imagineā€ variety. But labors of love can be pretty great as well, huh, and we can all think of examples that have grown to take on lives of their own. I guess Phoenix was one of those?

3 Likes

Most very quality products start off as a labor of love and thatā€™s not an accident.

But these people we have heard of definitely were in a bit more privileged positions than most of us.

Me personally, Iā€™ll just work on improving my health (going to the doctors in the next 15 days, FINALLY!) and just have more energy, because without that nothing else can happen.

3 Likes

My dream projects are always evolving ā€“ life happens and plans change shrugs.

Right off the top of my head now would beā€¦ a bookmarking tool thatā€™s profitable and dogfed ā€“ Iā€™d love to build a tool to rethink about how weā€™re browsing the web and the information contained within.

Iā€™ll be done with my 1 monthā€™s termination notice and should be able to get 1 monthā€™s break in before starting my next job. Iā€™ll see if I can get ahead on this idea during that 1 month.

Note: Iā€™m new to elixir and browser extensions (especially this) so itā€™ll be rather challenging.

2 Likes