Сообщения в Пишу ноду ii/idec на go

Re: Пишу ноду ii/idec на go

Ответ на сообщение
> Главное, чтобы в x/c правильно отображалось :)
Очень надеюсь, что багов не будет. Хотя опыт показывает, что когда всё работает сразу, это означает наличие скрытых багов. :)
hugeping to Andrew Lobanov (2020-09-10 04:44:16) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
> Да. Все что после него это base64. Вообще, может быть стоит сделать по другому. Я сделал как было проще...
Вообще, я думал про начало/конец тега base64. И в веб версии это будет шикарно, в том числе и для картинок. Но если такое внедрять в консольные клиенты, всё-таки, одно сообщение - один base64 аттач - это более понятная и простая схема...

В любом случае, если назреет какой-то стандарт на эту тему, попробую поддержать. :)
hugeping to hugeping (2020-09-10 05:10:23) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
hugeping> В общем, я поднял свою ноду - персональный арт-проект: http://hugeping.tk
hugeping> Прошу всех, кто с меня фетчит, переходить на http://hugeping.tk и отписаться о возникновении проблем.
Так, я тут как всегда самый медленный по ответам. Фетч настроил на hugeping

С base64, спойлерами и остальным возитесь пока сами

Что касается гошной библиотеки и новой ноды как таковых:

1. Нужно всё-таки объединять усилия, приходить к некоторым компромиссам и пилить одну библиотеку на всех. А аргумент "хочу другую лицензию" хоть и имеет смысл на существование, но на благо проекта точно не пойдёт. Кому-то из вас двоих нужно от своей репы отказаться и идти мержить код в общий котёл

2. Лично мне хотелось бы не новой ноды, а нормального десктопного клиента. С избранными, с черновиками, с красивым современным интерфейсом. Прямо сейчас пишу сообщение с IDEC Mobile в андроид эмуляторе, и это некомфортно: нельзя менять размер окна, приходится писать не с клавиатуры, а с графического планшета (т.к. с русским языком тут проблемы), да и сам этот эмулятор занимает гигабайта 3. Пытался накидать похожий интерфейс на Qt+QML и залип из-за их сложности, пытался на Flutter (кстати, хорошая штука), но понял, что надо будет заморачиваться с базой данных, и отложил это дело. Потихоньку пытаюсь попиливать Python-библиотеку в приватном репозитории, чтобы реализовать какое-то подобие клиента на Jupyter Widgets, но прогресс идёт слабо

И да, шрифты говно. Не стал бы пользоваться новым интерфейсом просто из-за шрифтов с засечками. Так и людей распугать можно
+++ IDEC Mobile в виртуальной машине
+++ GNU/Linux, Android, physics, MLP:FIM
vit01 to hugeping (2020-09-12 15:05:11) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
vit01> 1. Нужно всё-таки объединять усилия, приходить к некоторым компромиссам и пилить одну библиотеку на всех. А аргумент "хочу другую лицензию" хоть и имеет смысл на существование, но на благо проекта точно не пойдёт. Кому-то из вас двоих нужно от своей репы отказаться и идти мержить код в общий котёл
Лицензионные вопросы важны.
vit01> 2. Лично мне хотелось бы не новой ноды, а нормального десктопного клиента. С избранными, с черновиками, с красивым современным интерфейсом. Прямо сейчас пишу сообщение с IDEC Mobile в андроид эмуляторе, и это некомфортно: нельзя менять размер окна, приходится писать не с клавиатуры, а с графического планшета (т.к. с русским языком тут проблемы), да и сам этот эмулятор занимает гигабайта 3. Пытался накидать похожий интерфейс на Qt+QML и залип из-за их сложности, пытался на Flutter (кстати, хорошая штука), но понял, что надо будет заморачиваться с базой данных, и отложил это дело. Потихоньку пытаюсь попиливать Python-библиотеку в приватном репозитории, чтобы реализовать какое-то подобие клиента на Jupyter Widgets, но прогресс идёт слабо
Всё от того, что ты хочешь пальцетыкательный интерфейс на десктопе, что, очевидно, моветон.
vit01> И да, шрифты говно. Не стал бы пользоваться новым интерфейсом просто из-за шрифтов с засечками. Так и людей распугать можно
Перепутал вкусовщину с объекьтивностью.
vit01> +++ GNU/Linux, Android, physics, MLP:FIM
Andrew Lobanov to vit01 (2020-09-12 16:36:51) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
> С base64, спойлерами и остальным возитесь пока сами
Так это относится только к Web части. С этим возятся поинты моей ноды.
> 1. Нужно всё-таки объединять усилия .... Кому-то из вас двоих нужно от своей репы отказаться и идти мержить код в общий котёл
Это не сработает. Мне нравится писать то, что мне нравится. Это наверное основная движущая сила "моего опенсорца". Но никто не мешает брать мой код, если он нужен. Мой замысел в принципе не компромиссный. Потому что я хотел сделать не "что-то усреднённо хорошее", а ноду своей мечты. И нода и либа и веб морда готовы - их можно просто брать и использовать, если нравится. Если нет - делать своё.
> И да, шрифты говно. Не стал бы пользоваться новым интерфейсом просто из-за шрифтов с засечками. Так и людей распугать можно
Шрифты вообще не заданы нигде. Никакие. Так что используется тот шрифт, что стоит у тебя в настройках. :)

P.S. Edited: 2020-09-12 17:48:59
hugeping to vit01 (2020-09-12 16:48:04) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
vit01>> 1. Нужно всё-таки объединять усилия, приходить к некоторым компромиссам и пилить одну библиотеку на всех. А аргумент "хочу другую лицензию" хоть и имеет смысл на существование, но на благо проекта точно не пойдёт. Кому-то из вас двоих нужно от своей репы отказаться и идти мержить код в общий котёл
AL> Лицензионные вопросы важны.
Здесь я ничего не навязываю, а просто предложил дискуссию и вижу проблему в распылении ресурсов. Если юзкейс каждой из либ слишком специфичен, то мержить и правда не имеет смысла
vit01>> 2. Лично мне хотелось бы не новой ноды, а нормального десктопного клиента. С избранными, с черновиками, с красивым современным интерфейсом...
AL> Всё от того, что ты хочешь пальцетыкательный интерфейс на десктопе, что, очевидно, моветон.
Дело здесь не в пальцетыкальности, а в двухпанельности и "просмотре по одному". Когда ты читаешь сообщения с большим количеством текста, то с ними удобнее возиться по отдельности и отвечать на них по отдельности, а не скроллить сплошную стену текста. При этом держать перед глазами заголовки сообщений

На Андроиде это хорошо сделано в стандартном емейл-приложении (или в GMail, где тот же интерфейс). На десктопе - Thunderbird, Apple Mail, Outlook, и.т.п. Просто в плане общения IDEC слишком похож на Email, чтобы избежать такого сравнения
vit01>> И да, шрифты говно. Не стал бы пользоваться новым интерфейсом просто из-за шрифтов с засечками. Так и людей распугать можно
AL> Перепутал вкусовщину с объективностью.
Это, конечно, грубо сказано было (и весьма в лоровском стиле, к сожалению), но тут тоже проблема просматривается и как раз объективная.

Особенность шрифтов без засечек - это то, что они не замыливают глаза и делают возможность "чтения по диагонали", что очень важно для контролов и других вспомогательных элементов интерфейса. А шрифты с засечками используют в книгах, потому что текст с ними сильнее въедается в мозги и вроде как лучше усваивается, но зато напрягает глаза

В современном веб-дизайне не просто так сложился консенсус, что шрифты без засечек лучше использовать по максимуму, а потому что это действительно читаемее. Кроме того, важен и размер шрифта, но это уже совсем другая история.
+++ IDEC Mobile в виртуальной машине
+++ GNU/Linux, Android, physics, MLP:FIM
vit01 to Andrew Lobanov (2020-09-12 18:38:05) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
>> 1. Нужно всё-таки объединять усилия .... Кому-то из вас двоих нужно от своей репы отказаться и идти мержить код в общий котёл
hugeping> Это не сработает. Мне нравится писать то, что мне нравится. Это наверное основная движущая сила "моего опенсорца". Но никто не мешает брать мой код, если он нужен. Мой замысел в принципе не компромиссный. Потому что я хотел сделать не "что-то усреднённо хорошее", а ноду своей мечты. И нода и либа и веб морда готовы - их можно просто брать и использовать, если нравится. Если нет - делать своё.
Окей, вопрос в каком-то смысле исчерпан
>> И да, шрифты говно. Не стал бы пользоваться новым интерфейсом просто из-за шрифтов с засечками. Так и людей распугать можно
hugeping> Шрифты вообще не заданы нигде. Никакие. Так что используется тот шрифт, что стоит у тебя в настройках. :)
Эмм, да, но у браузера даже для стандартных шрифтов есть опции.

Предлагаю прописать font-family: sans-serif в body-блок CSS-ки. Это сработает на всех платформах, и разница станет заметна невооружённым глазом. Попробуй хотя бы ради эксперимента
+++ IDEC Mobile в виртуальной машине
+++ GNU/Linux, Android, physics, MLP:FIM
vit01 to hugeping (2020-09-12 18:38:06) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
> Предлагаю прописать font-family: sans-serif в body-блок CSS-ки. Это сработает на всех платформах, и разница станет заметна невооружённым глазом. Попробуй хотя бы ради эксперимента
Вообще, я пробовал. Но тут такое дело. Я не хочу навязывать sans/sans-serif. Я сам из тех, кто долго верил в теорию вреда "шрифтов с засечками". А потом попробовал засечки, и мне понравилось. Поэтому я не хочу навязывать стиль шрифта. Пусть отображается дефултная настройка браузера. Те, если у тебя стоит в дефолте шрифты с засечками, ты их и увидишь. Есть вопрос с мобильными браузерами, там такой настройки нет... Ну, что поделать.
hugeping to vit01 (2020-09-12 19:22:00) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
>>>> @repto вместо @Repto
Difrex>>> Разве у нас в стандарте с большой буквы прописано? В тех же iing и ii-php реализованно с маленькой.
vit01>> Всегда было с маленькой. Глянул в документацию - оказалось, что Github стал неправильно рендерить Markdown, и там отображается с большой, хотя в исходнике осталось всё как надо
Наконец-то исправил, чтобы норм отображалось.
>>>> StdBASE64 вместо URLBase64 в get запросе
Difrex>>> Там ескейпится потом. Не помню уже почему именно так сделано было.
vit01>> Для кодирования самого сообщения вроде как раз urlbase64 и используется. Для хэшей же идёт полная подмена символов, чтобы избежать знаков препинания
AL> Из документации это не следует никоим образом.
Цитирую: https://ii-net.tk/idec-doc/?p=standarts
> Id сообщения (msgid) - уникальный номер, который генерируется станцией, как 20 первых символов base64 sha256-bin хэша сообщения.
> Примечание: production-реализации нод заменяют в полученной base64-строке плюс (+) и слэш (/) либо их аналоги (- и _) на буквы "A" и "Z" соответственно, дабы убрать из msgid спецсимволы.
+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM
vit01 to Andrew Lobanov (2020-09-13 13:36:04) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
>> Примечание: production-реализации нод заменяют в полученной base64-строке плюс (+) и слэш (/) либо их аналоги (- и _) на буквы "A" и "Z" соответственно, дабы убрать из msgid спецсимволы.
Это про msgid речь же. А вопрос вроде касался того, в каком формате поинт шлёт бандл на ноду (POST или GET, не важно). И в каком формате отдают/получают бандлы ноды.

В стандарте есть такая фраза: (все серверы обязаны принимать как обычный, так и urlsafe-словарь, генерируются же бандлы в формате обычного base64)

Для меня эта фраза непонятна. Бандлы вроде в обычном base64, но принимать я должен в любом? Надо детектить тип base?

Я так и не понял, в каком варианте base64 я должен принимать и отдавать бандлы нодам и принимать бандлы от юзера. В итоге имеем такие варианты:

Мой:
1) Я принимаю и отдаю нодам бандлы в обычном base64 (не считая msgid, который подвергается преобразованию описанному в стандарте)

2) принимаю post/get запросы от поинтов в urlsafe base64

И вроде это работает, по крайней мере со станцией Андрея.

difrex:

1) принимает от поинтов обычный base64 но предварительно заэскейпченный

На мой взгляд, противоречит стандарту. Но я так и не понял, как правильно.
hugeping to vit01 (2020-09-13 14:48:57) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
hugeping> Это про msgid речь же. А вопрос вроде касался того, в каком формате поинт шлёт бандл на ноду (POST или GET, не важно). И в каком формате отдают/получают бандлы ноды.
Для поинтов политика такая: если пересылает через GET, значит обязательно urlsafe. Если через POST, то поинт может выбрать любой вариант, какой захочет, ведь нода обязана поддерживать и тот, и другой
hugeping> В стандарте есть такая фраза: (все серверы обязаны принимать как обычный, так и urlsafe-словарь, генерируются же бандлы в формате обычного base64)
hugeping> Для меня эта фраза непонятна. Бандлы вроде в обычном base64, но принимать я должен в любом? Надо детектить тип base?
Да, именно так, надо детектить, но это просто делается: всего лишь прогоняешь строку через замену символов, заменяя спецсимволы по словарю.

То есть ещё раз: принимать нужно оба формата одновременно, но генерировать на отдачу желательно (как необязательная рекомендация) в обычном base64
+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM
vit01 to hugeping (2020-09-13 16:00:05) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
> Да, именно так, надо детектить, но это просто делается: всего лишь прогоняешь строку через замену символов, заменяя спецсимволы по словарю.
Можно этот момент описать подробнее. Каким алгоритмом base64 декодировать и что на что заменять? Я немного посмотрел, разница в стандартах base64 не такая маленькая, как мне показалось, чтобы решить её заменой. Но похоже, я ошибся.

Можно рассказать алгоритм?
hugeping to vit01 (2020-09-13 16:26:04) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
Достаточно ли замены:
msg = strings.Replace(msg, "-", "+", -1) /* if it is URL base64 */
msg = strings.Replace(msg, "_", "/", -1) /* make it base64 */
И потом декодировать стандартным base64? Но там вроде еще есть заполнение в виде ===?
hugeping to hugeping (2020-09-13 17:03:07) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
hugeping> Достаточно ли замены:
hugeping> ====
hugeping> msg = strings.Replace(msg, "-", "+", -1) /* if it is URL base64 */
hugeping> msg = strings.Replace(msg, "_", "/", -1) /* make it base64 */
hugeping> ====
hugeping> И потом декодировать стандартным base64? Но там вроде еще есть заполнение в виде ===?
Должно быть достаточно. А заполнение как было знаками равно, так и должно вроде как остаться таковым
+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM
vit01 to hugeping (2020-09-13 23:59:21) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
Меня убедили начать комментировать код. :)

Так что постепенно буду это делать. На данный момент описал функции в msg.go -- это базовые функции для манипуляции бандлами (decode/encode) и приём сообщений от поинтов.

https://github.com/gl00my/ii-go/blob/master/ii/msg.go
hugeping to Peter (2020-09-18 07:16:08) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
hugeping> Меня убедили начать комментировать код. :)
hugeping> Так что постепенно буду это делать. На данный момент описал функции в msg.go -- это базовые функции для манипуляции бандлами (decode/encode) и приём сообщений от поинтов.
Ну что я могу сказать? Хоть я и был среди убеждающих, ты подал хороший пример всем нам. Надо будет заняться документированием idec-client :)
Andrew Lobanov to hugeping (2020-09-18 10:15:35) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
Там от меня ушли 7 сообщений из черновиков/неотправленных? мобильного клиента... Нужно их блеклистить:

ii://2NszlFTgvhakzz7dIfvc
ii://Q03NcPZRuqeaOT5d6Tze
ii://v48ZAPJMiFbWl68YiFWU
ii://5JdRzlDtEJTfOtKCtTb4
ii://pEtdZQ4aPz7SAhFK3zwR
ii://SglNQOG3vyujcZLXjDtu
ii://flYuqUgR5SVgybdnYnVp

Извините. :)
hugeping to Peter (2020-09-26 11:05:55) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
Кстати, не было повода, а тут вдруг вспомнил. Это чуть ли не единственный ресурс интернета, которым я пользуюсь, где толково реализован RSS. Ну просто идеально, даже клиент не нужен если не надо ничего писать. Чего не скажешь о различных форумах. В groups.google.com недавно поменяли интерфейс и окончательно испортили ленту, дата больше не обновляется и непрочитанные сообщения больше не видно :( К тому же там только первые несколько строк и из-за цитирования ничего не поймешь. На других форумах еще хуже. Там есть только первый пост в новой теме и все. Вот и на instead-games.ru/forum тоже.

А так хотелось все ресурсы объединить в одну ленту и сидеть как за штурвалом - все приборы обозревать одним взглядом с высоты капитанского кресла. Но видно не судьба. Вообще RSS явно нынче не в моде. Firefox еще раньше отказался его поддерживать, теперь пользуюсь newsboat.
P.S. Edited: 2020-12-04 22:22:38
vvs to Peter (2020-12-04 22:22:16) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
vvs> А так хотелось все ресурсы объединить в одну ленту и сидеть как за штурвалом - все приборы обозревать одним взглядом с высоты капитанского кресла. Но видно не судьба. Вообще RSS явно нынче не в моде. Firefox еще раньше отказался его поддерживать, теперь пользуюсь newsboat.
Да. RSS нынче не в почёте. И теперь даже фиг знает как в idec заворачивать те ресурсы, где его нет и нет ему альтеративы. Только если писать сложные парсеры сайта на каждый ресурс отдельно. Но это сомнительное удовольствие.
Andrew Lobanov to vvs (2020-12-05 06:34:51) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
AL> Да. RSS нынче не в почёте.
Видимо RSS заменили всплывающие уведомления от сайтов в браузере. Кто-нибудь использовал такое? Мне кажется начнется бардак если включить хотя бы на нескольких сайтах.
btimofeev to Andrew Lobanov (2020-12-05 06:44:56) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
AL>> Да. RSS нынче не в почёте.
btimofeev> Видимо RSS заменили всплывающие уведомления от сайтов в браузере. Кто-нибудь использовал такое?
Принципиально не использую. Раньше когда-то случайно где-то нажал и сильно задалбывало.
hugeping to btimofeev (2020-12-05 07:54:26) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
btimofeev> AL> Да. RSS нынче не в почёте.
btimofeev> Видимо RSS заменили всплывающие уведомления от сайтов в браузере. Кто-нибудь использовал такое? Мне кажется начнется бардак если включить хотя бы на нескольких сайтах.
Всегда выключал их, потому что они ужасно надоедливые. А на новостных сайтах их никогда включать не стоит, потому что начинают заливать спамом и чернухой

// Вообще, для RSS не так сложно сооружать парсеры
+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM
vit01 to btimofeev (2020-12-05 08:11:59) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
В wordpress еще относительно неплохо сделано. И на github - серединка на половинку.
vvs to Andrew Lobanov (2020-12-05 12:39:39) [ссылка]

Re: Пишу ноду ii/idec на go

Ответ на сообщение
AL>> Да. RSS нынче не в почёте.
btimofeev> Видимо RSS заменили всплывающие уведомления от сайтов в браузере. Кто-нибудь использовал такое? Мне кажется начнется бардак если включить хотя бы на нескольких сайтах.
В принципе не переношу всплывающие уведомления. Особенно от сайтов.
Andrew Lobanov to btimofeev (2020-12-05 16:47:00) [ссылка]