Email or username:

Password:

Forgot your password?
Dr. Quadragon ❌

I've been pondering the idea of super-minimalistic (but still HA-enabled) Fediverse engine that only supports text data of fixed size (customizable by the admin), and all the features like polls and interactions but no media like images or videos or emojis or whatever else, written in something like Go.

Something you can stick on a RPI3 with 32 gigs of SD card and it will last you for a decade. Or you can install it on a couple of servers at your workplace and it will run stealthily basically forever.

The point would be, - first - because limitations are fun, and second - to promote self-hosting. If you can't afford to host anything else, you can at least host this.

20 comments
Ténno Seremélʹ

@drq Text-only Fedi service would be fucking rad :blobcatcoffee:

Dr. Quadragon ❌

@tennoseremel Yes. I imagine people being able to shove this in their freaking router and have a functional social networking tool (provided, they have a permanent storage attached, like an SD-card or a flash drive)

Ténno Seremélʹ

@drq Speaking of emoji, Unicode has those, so they will be present, just not custom ones. Which is not bad either.

Aleksei � Matiushkin

@drq I could have joined if it was elixir, go is beyond my acceptance limits.

SignPainter

@mudasobwa we're talking about efficiency here. Go is small, fast and native. Deal with it @drq

Aleksei � Matiushkin

@SignPainter you are talking marketing bullshit here, benchmarks and the fact that 90% of the routers in the universe use Erlang vm speak for themselves.

@drq

SignPainter

@mudasobwa If we're sharing fun facts here, let me remind you that 72.17% of desktop computers use Windows and 76.4% of websites use PHP. What does it speak for? 😆
Show me some fresh benchmarks, because from what I can found, Elixir is no match for Go in terms of speed, memory consumption or CPU utilization
@drq

Aleksei � Matiushkin

@SignPainter I think you got it wrong, I am not to convince anyone in anything. Do whatever you want, I am fine with my own business.

@drq

Aleksei � Matiushkin

@SignPainter at least go is not as ugly as rust, so good choice, best luck.

@drq

Dr. Quadragon ❌

@SignPainter @mudasobwa Вот вы, блять, поцапались, жопу с пальцем сравнивая. Это вообще разные вещи.

Aleksei � Matiushkin

@drq Во-первых, мы не цапались. Во-вторых, мы говорим про engine, которой придется иметь дело со многими соединениями одновременно, поэтому как раз уместно выбирать из эрланга и го. Но в го нет нормальной многозадачности, и поэтому весь процес разработки на го упрется в войну с ситуациями «добавил 100500-ю подписку и все поломалось». Тут до бенчмарков именно производительности может вообще не дойти. А когда дойдет — окажется, что го и не быстрее на таких задачах.

I’ve been there.

@SignPainter

Aleksei � Matiushkin

@drq привет, попробуйте 100К горутин на распберри, потом поговорим снова.

Там шедулер приколочен сбоку к изначально спроектированной кооперативной многозадачности. Вытесняющая работает только на стенде с сотней-тысячей горутин максимум, потом начинаются нежданчики.

@SignPainter

SignPainter

@mudasobwa поинт понятный. Только из условий задачи я предположил, что 100K и не должно быть. Сколько подключений будет обсуживать такой инстанс? Как раз сотни максимум. А в этой ситуации гошечка всё равно будет жрать меньше памяти и проца.
@drq

Aleksei � Matiushkin

@SignPainter да пофиг сто раз на память и проц в этой задаче, Nerves nerves-project.org/ в холодильниках и чайниках работает без сучка и задоринки.

А вот обслуживать каждое подключение синхронно — это очевидный архитектурный проёб. По-хорошему, придется на каждое подлючение держать пул воркеров для обслуживания «связей». Сиречь, O(N²), пардон.

@drq

SignPainter

@mudasobwa да ну как это пофиг? :)
Тебе, как владельцу условного холодильника, как раз интересно, сколько физических ресурсов будет сжирать инстанс большую часть времени и не повлияет ли он на работу самого холодильника. Тебе немного пофиг на то, как оно внутри, лишь бы в фоне не слишком отсвечивало.
@drq

Aleksei � Matiushkin

@SignPainter 60 лет назад Кнут закрыл этот вопрос, казалось бы.

Мне все равно, расходуется 0.1%, или целых 0.5% ресурсов. Так-то, чистый си будет еще эффективнее. Хаскель тоже.

Тащить туда электрон — это лишнее, но говорить о преимуществах го перед nerves в данном контексте — смешно.

@drq

SakuMiHo

@drq This is an interesting idea. I'd like to see the implementation.
But, in my opinion, it is also worth adding support for I2P and Yggdrasil, but when using them, disable federation with instances located outside of these networks.

MrClon

@drq gotosocial + some configuration?

Go Up