AstonJ

AstonJ

What role can Elixir play in reclaiming or building a better internet?

@Garrison’s comment in another thread reminded me of this post by Joe:

With the big five exerting more control than ever, new (AI) players entering the fray, and *increasingly draconian internet laws being passed all over the world more and more people want to take back control of the internet or to find an alternative - with the original promise of the net in tact and something fit for a modern free world.

*details/articles

So with the call for a new or freer internet being at an all time high, what kind of role do you think Elixir could play in its creation from a technical standpoint?

Maybe:

  • Peer-to-peer networks?
  • Local mesh networks?
  • Blockchain based domains with decentralized DNS systems?
  • Decentralised VPNs?
  • IPFS (InterPlanetary File System)?
  • Pluggable Transports?
  • Something else?

Is a free and open web important to you?

Can you think of ways in which Elixir can help?

Most Liked

derek-zhou

derek-zhou

I believe the future of a free internet lies with personal web applications. A personal web application is self hosted, often self-developed, has few power users other than the owner himself, yest still provide public access. Elixir is easier to get started (Phoenix generators), easier to reuse other people’s code (hex.pm), and easier to host (self-contained release, fly.io); it is a natural fit to develop you personal web applications.

sanswork

sanswork

You can’t really fix something with tech that most people don’t see as broken. There is a reason people flock to the biggest sites and its not because the technology for self hosting smaller sites and forums doesn’t exist.

When I was younger I modded a lot of forums and there was a pattern you’d see on most forums where at some point a group of people would get annoyed at the modding or some other rules and declare that they were leaving to start their own forum with better rules and they’d post a bunch about it then disappear for a few days to chat between themselves in their new forum. No one would follow though because of switching costs and because the conversations and people were already where they were and so after a week or two the people that left would inevitably come back.

We’re seeing the same thing with the push for web3 and distributed web apps now as that. The % of people that care about this stuff is a rounding error so their sites are dead and thus when people do decide to go have a look they see a wasteland and bounce quickly.

mudasobwa

mudasobwa

Creator of Cure

That’s absolutely correct save for several exceptions. Calendars work exactly the way self-hosting-people do propose. I host my calendar, G hosts yours, and yet they are both fully functional, because of handy interchange format. Oh, wait, even mail does work that way.

The issue, in my humble opinion, is not people are stuck to their facebooks, but the interchange which is broken (intentionally by bigcorps, but also because self-hosters are not always smart enough to understand what you’ve just said.) Fediverse tries to fix it. To some extent it even succeeded, and one might get to bluesky fellows from self-hosted mastodon instances.

But in general, unfortunately, nobody cares. Can I connect my blog (supporting fediverse shenanigans) to that forum?—Nah. Why?—Because nobody gave a shot.

That said, I think we need a working interchange before self-hosted-world. Then the migration of some of us happens and there might (or might not) be a snowball effect.

pawoc50825

pawoc50825

This is an exciting topic I meant to talk about in my original post!

inkandswitch.com/keyhive

  • Keyhive is a project exploring local-first access control. It aims to provide a firm basis for secure collaboration, similar to the guarantees of private chat but for any local-first application.

I highly recommend for anyone interested to read the whole linked article, I can’t really do it justice. Here’s some pretty pictures from the notebook :slight_smile:










plcholder

plcholder

The elixir comm is most definitely missing out on “web 3”, I understand many people dont like crypto and the usual languages used in this space are golang, java, rust & c#. Elixir can play in the c#, golang, java arena side of things and can help in some aspect for the rust side of things

For example in ethereum there is something called client diversity , the aim is that if you have the same protocol & vm programmed in different programming language’s, if one programming language has a glaring flaw in the future like an rce, since the control of the consensus is spread out between multiple implementations in different PL mitigation would be trivial. I always thought an elixir implementation would show the world how great elixir is at running network applications

Another point, some people in the evm community felt the “standard” golang implementation go-ethereum was slow at certain tasks and then attempted the herculean tasks of rewriting everything in rust, to fit there high performance checklist, I think it took them ~3 years to get to 1.0 and I thought if the standard implementation was written in a beam language and the high performance parts were brought in with rust NIFs how fast would there time to market have been?

I think elixir is perfect for the crypto/decentralized space, now granted ethereum is on the slower end of things with ~12s block times, you have something like solana that builds tx in 200ms, but again how much of the code could’ve been simplified if you handled all the network stuff to the beam and then rust NIFs for the heavy lifting stuff? Alot of decentralized protocols have slow build times

Where Next?

Popular in Discussions Top

garrison
The Elixir ecosystem is one of our biggest strengths, and the BEAM really lends itself to native implementations (e.g. Cachex over Redis,...
New
SyntaxSorcerer
This is the start of my Elixir learning journal/journey. I plan to share my journey in this thread and am open to all feedback, construct...
New
ryanrasti
Hey everyone – after coming off of 3 years building with Ecto, I’ve been working non-stop on Typegres, a new query builder that strongly ...
New
ashkan117
I’m wondering how do people structure their JSON Api’s with Phoenix. Using the blogs example, let’s say I have a blogs view like the foll...
New
dogweather
I’ve been brainstorming about ways to solve the N-dimensional code organization problem, and am thinking about developing a Smalltalk-lik...
New
dogweather
I realized I could really use something like this in my Phoenix project: I asked Claude 4 Sonnet if a port exists - it said no, and ga...
New
krainboltgreene
Today I noticed that when defining a embeds_many the new struct has a default of [] which is confusing since: You can have jsonb[] colu...
New
yordisprieto
I am trying to figure out a good architecture and implementation for authZ. Recently, I discover GitHub - open-policy-agent/opa: Open Po...
New
puemos
I’m working on a platform that allows users to add apps and use them in a writing assistant browser extension (https://anycursor.com). C...
New
gushonorato
Hey everyone, I’ve been working with Elixir for over 5 years and I’m a big enthusiast of the language. However, when starting new projec...
New

Other popular topics Top

JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1140 51847 244
New
peerreynders
Manning 2016 Halloween weekend sale via Deal of the Day Friday, October 28 - Half off all MEAPs - code WM102816LT Saturday, October 29 ...
326 29600 154
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 35421 110
New
Jim
As a follow up to my earlier question: I have the code compiling and running but not getting a successful login from the rest server. ...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list....
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
Nvim
Elixir appears to be a superior language to Python. I don’t see any advantage of Python over Elixir. Are there any?
New

We're in Beta

About us Mission Statement