If you could work on any project, what would it be?
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.
Sounds like a good topic for a dedicated thread - freedom and censorship on the internet
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.
At the moment, I wouldnāt mind building a site about music theory using Elixir. (if I had the timeā¦)
Do it Josh
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.
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
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 )
A messaging platform with extensions, themes and games built in. Think of it as the vscode of messaging platforms with games haha
Initially, might be a system that has a really complex domain, using DDD and EventModeling/EventStorming/EventSourcing to build it
I would like to work on a project that will make the world a better place
Failing that, something that would:
- help people eat better
- bring peace to the world
- help save the planet
- be actually worth doing
You and me both Finner!
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.
That might indeed be the right start. Havenāt thought about it from that angle.
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.
But I guess Iāll invent it first and use it for free.
What about something like crowdfunding?
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.
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.
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?
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.
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.