А если вот так?
Apr. 9th, 2017 09:27 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Идея возрождения Чеширнета у читателей энтузиазма не вызвала. Ну не верят люди в то, что IP-connectivity иожет если и не исчезнуть, то стать слишком опасным медиумом для свободного обмена информацией.
Ладно, допустим. Тогда как вам такой проект - порвем большой ЖЖ на миллион маленьких журнальчиков.
Т.е. делается продукт, который обеспечивает следующее
Все это делается максимально портабельным и заточенным на устнановку на любой shared hosting или VPS, да даже и на домашную машину, если у нее есть достижимый извне IP.
Чего я точно не буду делать, но если кто законтрибьютит, то включу в репозиторий и дистрибутив:
Что может добавиться в перспективе
Вот в таком проекте кто-то поучастовать соберется?
Ладно, допустим. Тогда как вам такой проект - порвем большой ЖЖ на миллион маленьких журнальчиков.
Т.е. делается продукт, который обеспечивает следующее
- Ведение блога
- Комментирование (с авторизацией на базе OpenID с меньшим числом кликов, чем сейчас в ЖЖ)
- OpenID-сервер
- Аналог френдленты ЖЖ и Reading Page DW - RSS-агрегатор тоже с облегченным интерфейсом добавления туда ресурсов, поддерживающий доступ к подзамкам в DW и ЖЖ. Подразумевается наличие открытой френдленты из неподзамочных постов и требующей аутентификации (если у пользователя есть фиды, дял которых сконфигурирован аутентифицированный доступ).
- Предполагается поддержка несколькоих блогов на одном сервере (в смысле на одной файловой системе. Будет у них один IP, один домен или как - up to user). Отсутствия тормозов при числе блогов на одной виртуалке больше нескольких десятков - не обещаем. Колея эта только моя, выбирайтесь своей колеей.
- Естественно, rss и atom feed-ы постов для желающих втянуть к себе в ленту (в том числе и на такой же платформе).
- Поддержка кроспоста в ЖЖ и DW,
- Поддержка втаскивания файлов созданных ljdump. Т.е. можно заимпортировать журналы из ЖЖ и DW вместе с комментариями, и возможно, регулярно дотягивать комментарии из кросспостов.
- Поддержка втаскивания юзерпиков из жж/dw и gravatar/libravatar ежели openid комментирующего не ЖЖ-шный.
- Страница профайла со списком как минимум тех, кого человек включил в свою ленту.
Все это делается максимально портабельным и заточенным на устнановку на любой shared hosting или VPS, да даже и на домашную машину, если у нее есть достижимый извне IP.
- Не требуется клиент-серверных баз данных. Информация складывается на файловую систему
- сколько-нибудь заметная нагрузка на процессор только в момент обработки постингов и комментариев. А просмотры (которых обычно на несколько порядков больше) обслуживаются отдачей статических файлов. C фронтэнда, если он в данной конфигурации предусмотрен. А предусмотрен он будет, если данный блогодвижок не единственный ресурс на данном сервере, и этим другим нужен фронтэнд.
- Установка как self-contained (в виде virtualenv на большинстве систем), так и с максимальным задействованием пакетных менеджеров нижележащей ОС (для параноиков-сисадминов вроде меня).
Чего я точно не буду делать, но если кто законтрибьютит, то включу в репозиторий и дистрибутив:
- oAuth аутентифмкация для пользователей фейсбука и им подобных. Там даже для получения описания API требуется быть юзером фейсбука, а уж для подключения своего сайта - тем более.
- Механизм интересов с распределенным поиском по ним (мне абсолютно не понятно, ни зачем, ни как)
- Поддержка FOAF, (лично мне непонятно - зачем оно надо и какой софт его будет читать. Но если людям хочется, то пусть пишут).
- Поддержка OPML (кажется куда более осмыслвенной фичей, чем FOAF, но не настолько чтобы писать в первоочередной список)
Что может добавиться в перспективе
- Поддержка распределенного комментирования - для начала экспериментов требуется минимум два работающих сайта на этом движке. Ну либо желание авторов какого-то другого движка поэкспериментировать. Но лучше начинать с обеспечения работоспособности одной реализации, а потом уже подключать другие
- Автоматическое кэширование картинок, вставлеенных в посты через <img src="внешняя url". Чтобы при пропадании картинки с исходного сайта она не пропадала из блога.
- Сохранение копий комментариев, оставленных автором блога в других блогах. Чтобы не пропало, если тот блог выпилился.ъ
- Поддержка ЖЖ-подобного API для бэкапа журнала
- Поддеркжа ЖЖ-подобного АPI для кросспостов, а то и всяких semagic-ов
Вот в таком проекте кто-то поучастовать соберется?
no subject
Date: 2017-04-09 07:01 pm (UTC)no subject
Date: 2017-04-09 07:21 pm (UTC)no subject
Date: 2017-04-09 07:01 pm (UTC)no subject
Date: 2017-04-09 07:19 pm (UTC)Да еще чтобы задача "поднять копию на другой машине" была близкой к тривиальной.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-04-09 07:44 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-04-09 07:09 pm (UTC)И будем дружить семьями и ходить друг к другу в гости.
По утрам :)
no subject
Date: 2017-04-09 07:16 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-04-09 07:36 pm (UTC)Предложение интересное, но если в итоге никто, кроме разработчиков не захочет этим пользоваться (держать у себя дома и вывешивать в интернет через какой-нибудь VPS), то неохота время тратить.
no subject
Date: 2017-04-09 07:43 pm (UTC)DW (как и исходная codebase ЖЖ) это сайт, рассчитанный на миллионы пользователей.
Ему нужен целый датацентр с кластером серверов БД, пулом бэкэндов и фронтэндов.
Тяжеловато для индивидуального блогохостинга будет.
Плюс к этому там уже на момент форка DW от ЖЖ такие исторические напластования в коде были...
В общем, по данному ТЗ написать с нуля проще, чем разбираться в коде DW.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-04-09 07:42 pm (UTC)no subject
Date: 2017-04-09 08:01 pm (UTC)Что касается платформы, то возможны варианты. На самом деле и с языком возможны варианты, хотя по-моему сейчас альтернативы питону с точки зрения легкости вхождения разработчиков в проект нет. Ну то есть разве что php но ее я не рассматриваю по той причине что wordpress уже есть. И поэтому мне нужно решение, которое устроит php-хейтеров.
Для платформы пока рассматриваются tornado и Flask. Flask удобен тем, что он не привязан к собственному веб-серверу, и может устанавливаться как WSGI или FCGI в паре с nginx или apache. А может и с собственным веб-сервером. Впрочем если мне аргументировано докажут преимущества pyramid или еще чего-нибудь я с интересом выслушаю.
Требование номер раз - чтобы оно не было завязано на ОРМ и реляционные базы вообще (поэтому не django). Требование номер 2 - наличие готовой реализации openid. Ибо протокол замороченный и самому прикручивать туда низкоуровневый python-openid лень.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-04-09 10:12 pm (UTC)Ну и ты, кажется, в своём репертуаре. Раньше было "ненавижу либертарианцев - root@libertarium.ru" , а теперь "не используйте СУБД - vitus@postgrespro.ru" ?
no subject
Date: 2017-04-10 04:31 am (UTC)Кроме того, бэкапить удобнее.
Опять же, настроить вордпресс для того, чтобы он реализовывал всю описанную функциональность, нужно довольно много повозиться. Вордпресс это большой и универсальный конструктор. А в том, что ты можешь реализовать все это на хостинге где вордпресс предоставляет хостер, я вообще не уверен.
Впрочем если ты сделаешь и опубликуешь хаутушку как в вордпрессе сделать то, что народ ожидает от ЖЖ-подобного блога, т.е. древовидные комментарии, френдленту с удобным интерфейсом добавления rss, подзамочные записи и доступ к подзамочным записям аналогично настроенных блогов через френдленту, это будет здорово.
Вообще у меня тэглайн "База данных - не единственный способ организовать дурацкий поиск" существует уже больше 20 лет.
no subject
Date: 2017-04-09 10:15 pm (UTC)no subject
Date: 2017-04-10 03:28 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-04-10 06:26 am (UTC)Я заинтересован в таком движке (тёплый, но не LAMP’овый, self-hosted блог-движок на немного авторов, с лёгким комментированием через OpenID).
Умею Python, Flask, nginx, могу вычитывать тексты на английском. HTML5/CSS/JS — на уровне «достаточно, чтобы быть опасным».
no subject
Date: 2017-04-10 07:01 am (UTC)(Я случайно наткнулся буквально вчера, ещё не успел потрогать, но по описанию похоже на вашу идею.)
no subject
Date: 2017-04-10 07:07 am (UTC)(no subject)
From:no subject
Date: 2017-04-10 08:12 am (UTC)Англоязычный оригинал: steemit[dot]com
Рускаязычная франшиза: golos[dot]io
no subject
Date: 2017-04-10 08:18 am (UTC)А ставится задача - обеспечить максимальную связность с тем сообществом пользователей, которое с этих площадок не уйдет.
Поэтому все, кроме распределенного комментирования должно быть таким, чтобы им мог пользоваться пользователь ЖЖ, либо (если оно предназначено для пользования самим владельцем обсуждаемого движка) чтобы оно могло быть применено к журналу в ЖЖ.
(no subject)
From:(no subject)
From:no subject
Date: 2017-04-10 08:53 am (UTC)У меня была в свое время идея ЖЖ-подобного сервера, поднимаемого в один клик на собственой машине, но работающего через тор/i2p/своя некая p2p сеть, неважно. Запускается при старте, минимизируется у юзера в инконку и все. Полная неблокируемость и распределенность.
Но здесь другая ключевая проблема -- большинство юзеров не готово постоянно держать комп включенным. Увы. Если для тех же торрентов это некритично, то для вебсервера не годится. Плюс ко всему движок тогда придется писать без яваскрипта, а это значит ни один существующий фреймворк не взять, придется все делать с нуля.
no subject
Date: 2017-04-10 08:57 am (UTC)Большинство людей в блоги и не пишут. Блоги - для меньшинства, для тех, у кого есть чем поделиться с миром.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-04-10 11:29 am (UTC)no subject
Date: 2017-04-10 12:11 pm (UTC)no subject
Date: 2017-04-10 12:14 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-04-10 12:34 pm (UTC)no subject
Date: 2017-04-10 12:35 pm (UTC)(no subject)
From:(no subject)
From:Я уже давно говорил - вы как-то не поддержали
Date: 2017-04-10 01:02 pm (UTC)я уже сто лет как вам говорил (в ЖЖ), но
вы не поддержали.
Вся функциональность уже давно (для такого
проекта) профессионально написана
И распространяется как ОДИН небольшой файл,
который компилирован под (почти) любые платформы.
Кинул один файл в новую директорию - и получи
готовый распределенный блог
Это "система контроля версий" FOSSIL,
которую мы просто будем применять для ведения
блогов, а не обмена кодом и синхронизации его.
Все, что требуется дополнительно - некие скрипты,
минимальные, связанные в один псевдо-исполняемый
файл, который одновременно является и интерпретатором
языка этих скриптов (сам интерпретатор тоже где-то
один мегабайт, ничто).
Эти скрипты будут вести список друзей, "обзванивать"
их когда вы прикажете или по часам, обеспечат
распределенное комментирование с синхронизацией по
кругу друзей и т.д. и т.д. и т.д.
ЯДРО СИСТЕМЫ С КРИПТОГРАФИЧЕСКОЙ ПРОВЕРКОЙ неизменности
содержания, с системой authentication, с системой обмена
и синхронизации, с возможностью "вести" сборища тексстовых
(т.е. хтмл, маркап, текст и т.д.) файлов - которые понятно
НЕ НАДО обращать из текстовых файлов-заметок с комментариями
ни в какие идиотические "базы" и т.д. и т.д и т.д. --
ДАВНЫМ_ДАВНО УЖЕ ЕСТЬ.
Это супер-маленький и отличного качества FOSSIL
Re: Я уже давно говорил - вы как-то не поддержали
Date: 2017-04-10 01:11 pm (UTC)В той версии, которую использую почему-то еще комментировать можно все что угодно кроме записей в блоге.
В общем fossil, конечно, штука хорошая но не про то.
Кстати, нагрузку держать не будет, потому что там sqlite внутри.
опять вы не понимаете
From:Re: опять вы не понимаете
From:no subject
Date: 2017-04-10 02:05 pm (UTC)no subject
Date: 2017-04-10 02:52 pm (UTC)А нам нужен именно ЖЖ. С возможностью публикации больших текстов, их обсуждения, и сохранения всего этого на десятилетия.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-04-10 05:21 pm (UTC)Они не в это не верят. Они не верят в peer-to-peer протоколы для физически рядом расположенных активных устройств. Да ещё и для осуществелния чего-то, результат чего сразу не очевиден (не "скинь вот эту фотку", а "синхронизируй пулы"... а что там, в этих пулах?). То есть, ты хочешь перепрыгнуть пропасть шириной в два широких (то есть, даже один для большинства довольно труден) прыжка. Скажем, можно было бы обсудить peer-to-peer что-нибудь, если бы пользователь сразу знал, что он получает. Или синхронизацию пулов через флоппинет. И то и другое трудно, но решаемо (именно с точки зрения "пойдёт ли народ за нами"). Но вот оба сразу -- вряд ли. Так что новая идея распределённого ЖЖ мне нравится больше. Хотя первая теоретически интереснее.
... До основанья. А затем? ...
Вот!
Date: 2017-04-10 06:53 pm (UTC)no subject
Date: 2017-04-11 10:01 am (UTC)1. кросспост во все популярные сети
2. вытягивание комментариев к этим кросспостам
Все.
Т.е. человек ведет свой блог, а обсуждения происходят на внешних площадках, там где людям удобно. При этом читать обсуждения можно не уходя с с основного блога.
no subject
Date: 2017-04-11 10:30 am (UTC)Когда у меня были активные обсуждения фантастического сеттинга XXIII век я специально убирал текст постов под кат, чтобы прочитать пост можно было только зайдя на страницу с дискуссией. Потому что если там есть о чем дискутировать, то реплики тех, кто уже выскзалася и ответы автора на них, важны не менее, чем сам пост.
А вот реплик из других сетей пытающиеся дискутировать под кросспостом не увидят.
(no subject)
From:no subject
Date: 2017-04-12 05:51 pm (UTC)no subject
Date: 2017-04-13 04:34 am (UTC)Ну и фокуса на интероперабельность со сторонними сервисами нет. То есть очередная социальная сеть с lock-in-ом внутри сети. Ну не vendor, все свободное. но от этого не легче.
Я-то как раз не хочу делать свою социальную сеть. Я хочу делать инструмент, повышающий связность в существующей блогосфере.
Хотя, конечно надо бы у них почитать как они собираются использовать в качестве oAuth2-провайдеров узлы распределенной сети. Потому что основное, что мне не нравится в oAuth, это необходимость предварительной договоренности между двумя узлами, пользователь одного из которых хочет что-то делать на другом.
NNCP (Node to Node copy)
Date: 2017-05-01 08:24 pm (UTC)http://www.nncpgo.org/Ob-utilitakh.html#g_t_041e_0431-_0443_0442_0438_043b_0438_0442_0430_0445
NNCP (Node to Node copy) это набор утилит упрощающий безопасный обмен файлами и почтой в режиме сохранить-и-переслать.
Эти утилиты предназначены помочь с построением однораговых сетей небольшого размера (дюжины узлов), в режиме друг-к-другу (F2F) со статической маршрутизацией для безопасной надёжной передачи файлов, запросов на передачу файлов и Интернет почты по принципу выстрелил-и-забыл. Все пакеты проверяются на целостность, шифруются по принципу точка-точка, аутентифицируются известными публичными ключами участников. Луковичное (onion) шифрование применяется ко всем ретранслируемым пакетам. Каждый узел выступает одновременно в роли клиента и сервера, может использовать как push, так и poll модель поведения.
Поддержка из коробки offline флоппинета, тайников для сброса информации (dead drop) и компьютеров с воздушным зазором (air-gap). Но также существует и online TCP демон с полнодуплексной возобновляемой передачей данных.
Re: NNCP (Node to Node copy)
Date: 2017-05-02 05:22 pm (UTC)Чеширнет нацеливался на репликацию публично доступной информации. Поэтому в большинстве случаев там шифрования не было, и любой пользователь бмог все прочитать.