idec.talks HOME * norm/rev * NEW

Re: Изменения на syscall.ru Difrex to Andrew Lobanov

> Пробросил в таверну.

Тоже поставил на фетч в динамик.

21/04/20 14:49 UTCU8kszTXCJh1E9QAD3Aku * REPLY

* * *

Изменения на mira vit01 to All

Новую ноду md0 уже давно фетчу со всеми эхами. Дизайн вебморды стильный, очень зашёл, так держать

Изменения по эхам на syscall тоже оперативно прописал в конфиге, std.hugeping фетчится.
Все сообщения читаю, только отвечаю с запозданием

+++ IDEC Mobile в виртуальной машине
+++ GNU/Linux, Android, physics, MLP:FIM

21/04/20 22:02 UTCpwqUvK7sTkl8OV2YtQ4D * REPLY

* * *

Re: Изменения на syscall.ru Mirage to Peter

>> Пробросил в таверну.

Peter> Ага, фетчу назад тоже. :)

А как официально эха называется?

22/04/20 21:21 UTC6MZFMljPxBVVOVh6glzV * REPLY

* * *

Re: Изменения на syscall.ru Andrew Lobanov to Mirage

>>> Пробросил в таверну.
Peter>> Ага, фетчу назад тоже. :)
Mirage> А как официально эха называется?

Может, я не понимаю вопрос, но std.hugeping. Судя по описанию в инстед-клубе, "Блог hugeping'а" :)

23/04/20 11:03 UTCwRVRev8STBn4YO1kPaLk * REPLY

* * *

Re: Изменения на syscall.ru Mirage to Andrew Lobanov

Mirage>> А как официально эха называется?

AL> Может, я не понимаю вопрос, но std.hugeping. Судя по описанию в инстед-клубе, "Блог hugeping'а" :)

Да, про описание спрашивал. Спасибо. Тоже поставил на fetch.

24/04/20 20:58 UTCFWTdwEmwPKIpNrQsN7GA * REPLY

* * *

IDEC в Tor. Снова. Difrex to All


Привет!

Я вернул тороноду в онлайн. Теперь она смотрит на динамик и доступна по адресу: http://IDEClubzduruedpzzrxxbt2hk6apecuhni5vnjlsqg2t3gdet26fjyid.onion/

Логи запросов, если что, не ведутся.

22/05/20 08:18 UTC0LnTCAzWlPtc8CjZFKw8 * REPLY

* * *

Re: IDEC в Tor. Снова. Difrex to Difrex

Исходники из чего это все запущено можно посмотреть тут https://gitea.difrex.ru/lessmore/tor-node

22/05/20 12:05 UTCpIav4Tttclj6ZCR5Gwko * REPLY

* * *

Re: IDEC в Tor. Снова. Andrew Lobanov to Difrex

Difrex> Я вернул тороноду в онлайн. Теперь она смотрит на динамик и доступна по адресу: http://IDEClubzduruedpzzrxxbt2hk6apecuhni5vnjlsqg2t3gdet26fjyid.onion/

Нода это хорошо. Но нам бы поинтов :)

22/05/20 17:53 UTCzu7WSsgB3DPevuWXRavm * REPLY

* * *

Re: IDEC в Tor. Снова. Difrex to Andrew Lobanov

> Нода это хорошо. Но нам бы поинтов :)
А в факе это, кстати, есть :)

> А писать как?
> Для получения поинта пишите на difrex@lessmore.pw

22/05/20 19:32 UTC75vakXGInxAo2qjNTAbW * REPLY

* * *

Поломан архив на alicorn.tk Difrex to All


Сабж. Ругается на регекспы https://github.com/idec-net/ii-php/blob/master/iiweb.inc.php#L23

https://alicorn.tk/ii-old/?echo=to.lor.2014

28/05/20 13:12 UTCPdKHRvQqZZPkuYcU2Mep * REPLY

* * *

Re: Поломан архив на alicorn.tk vit01 to Difrex

Difrex> Сабж. Ругается на регекспы https://github.com/idec-net/ii-php/blob/master/iiweb.inc.php#L23

Спасибо за внимательность. Регэкспы пришлось менять из-за обновления на php 7.3, для основной станции я это сразу сделал и закоммитил в гит, а про архив забыл

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

29/05/20 13:26 UTC4q90FCjBfZuA2ddhW7ul * REPLY

* * *

Re: Баг в idec-mobile btimofeev to vit01

Выключаю в настройках встроенный редактор сообщений -> пробую ответить на любое сообщение -> приложение падает -> при попытке отправить отчет оно начинает падать циклически и эти крэши можно остановить только переустановкой.

17/06/20 09:20 UTCE3nrcss65zpYee67YFop * REPLY

* * *

Re: Баг в idec-mobile vit01 to btimofeev

btimofeev> Выключаю в настройках встроенный редактор сообщений -> пробую ответить на любое сообщение -> приложение падает -> при попытке отправить отчет оно начинает падать циклически и эти крэши можно остановить только переустановкой.

Дошли руки, починил баг с встроенным редактором, можно обновляться.
А циклические крэши, скорее всего, из-за того что Email-клиент не установлен. Обычно если раз 10 нажать "Отмена", то клиент, как правило, оживает.

+++ IDEC Mobile в виртуальной машине
+++ GNU/Linux, Android, physics, MLP:FIM

18/07/20 07:57 UTC2NJ6vUP8msqTJc2i9Gw1 * REPLY

* * *

... напал Difrex to All


Тут на меня вышел автор игры GRANDIOSE DELUSIONS и попросил удалить сообщения с упоминанием его имени - я удалил.
Удалил не сразу, сначала с ним попереписывался, он запруфал, что он действительно автор, я удалил.
Он пошел писать владельцам остальных узлов, если что.

Сообщения, которые он попросил грохнуть:

* KxywR6BzZ320THNHMj8e
* rS7Ezecbv31yD6VzV4e6


Нечто подобное, я помню, кто-то уже кому-то писал.

23/07/20 12:12 UTC13u6zDEAKkxTL3GOlAUC * REPLY

* * *

Re: ... напал vit01 to Difrex

Потёр упоминание, но там вроде никаких данных не было

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

24/07/20 01:47 UTCuVR1RWysXwI854WHTxYp * REPLY

* * *

Re: ... напал Andrew Lobanov to Difrex

Difrex> Тут на меня вышел автор игры GRANDIOSE DELUSIONS и попросил удалить сообщения с упоминанием его имени - я удалил.

Мне он тоже написал. Грохнул сообщения. Спасибо.

24/07/20 06:47 UTChUfntH1lLjpspgsMITfk * REPLY

* * *

Re: ... напал Difrex to Andrew Lobanov

Опять пишет. Уже хочет, чтобы мы снесли вот этот самый тред. Погуглил законы РФ. Так вот по ним хотя имя с фамилией и относятся к персональным данным, но физическое лицо не может требовать от оператора(т.е. нас) удаления их, т.к. это обезличенная информация. Если бы вместе с именем был бы еще и номер телефона или адрес домашний, тогда были бы обязаны. Сейчас нет. Попробовал ему это разъяснить.

27/07/20 08:32 UTCCTBCqXAOvnAiMHHFIU04 * REPLY

* * *

Re: ... напал Peter to Difrex

А где этот тред вообще? Я наверное эту эху не тяну?

27/07/20 10:19 UTCtG6AhLYAWc576rXBUmw7 * REPLY

* * *

Re: ... напал Difrex to Peter

Так вот же ты в него отвечаешь =)

27/07/20 11:24 UTCBmjAvSrwVAEk4NMB82M5 * REPLY

* * *

Re: ... напал Difrex to Difrex

Вот че спрашивает тепере:

> I see. But is there any way to hide that message? I mean not make those message display when I search my name?

Как с ним поступим?

27/07/20 12:13 UTCsG8uqIhD1YGUJnK1jn1N * REPLY

* * *

Re: ... напал vit01 to Difrex

думаю, что тред можно оставить, но сами мессаги в базе поправить, удалив имя

я у себя так сделал

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

27/07/20 13:51 UTCXfvhazGEXJeYzitZptZs * REPLY

* * *

Re: ... напал Difrex to vit01

Тогда нужно будет и id сообщений править, иначе он не будет вычисляться.

28/07/20 08:17 UTCRARUMcM8f7AD7ZgC1xP1 * REPLY

* * *

Re: ... напал vit01 to Difrex

Difrex> Тогда нужно будет и id сообщений править, иначе он не будет вычисляться.

По стандарту id не обязан напрямую вычисляться из сообщения, он лишь должен удовлетворять требованиям по длине, набору символов и уникальности в базе

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

30/07/20 00:01 UTCHlKl0GM5hyHeWWZpG6XM * REPLY

* * *

Re: ... напал Andrew Lobanov to vit01

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

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

30/07/20 04:20 UTCnMVIs3wiQMP6BUuqCn7E * REPLY

* * *

Re: Баг в idec-mobile btimofeev to vit01

vit01> А циклические крэши, скорее всего, из-за того что Email-клиент не установлен. Обычно если раз 10 нажать "Отмена", то клиент, как правило, оживает.

Да нет, установлено два клиента было.

01/08/20 06:35 UTCrDlOrMvFOT3YUtHfyzGf * REPLY

* * *

Re: ... напал vit01 to Peter

Теперь он мне пишет, потому что на сайте instead клуба мессаги ещё висят, а с тобой он не может связаться, потому что твоих контактов нигде нет

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

03/08/20 17:51 UTCmA7xlixFcPFuT0R39kgJ * REPLY

* * *

Re: ... напал Peter to vit01

> Теперь он мне пишет, потому что на сайте instead клуба мессаги ещё висят, а с тобой он не может связаться,
> потому что твоих контактов нигде нет

Мне нужны конкретные ID сообщений, потому что я честно говоря ничего не понял :) Некий чел хочет удалить упоминание в интернете о его имени? Но я не вижу у себя таких сообщений, тк не знаю что искать.

03/08/20 18:24 UTCGqx2dF6FUhaOAem7x4zs * REPLY

* * *

Re: ... напал Peter to Peter

Пока я поменял несколько сообщений, в сабжекте которых упоминался тот, чьё имя нельзя упоминать )

03/08/20 18:46 UTCpo39C56cmBpnX0y6m7Qm * REPLY

* * *

IDEC Mobile vit01 to All

В обновлении от сегодня починены краши из-за конфликта версий ACRA и AndroidX

+++ IDEC Mobile в виртуальной машине
+++ GNU/Linux, Android, physics, MLP:FIM

31/08/20 18:06 UTCA6DSunOc1GvSMk3y1fGa * REPLY

* * *

Пишу ноду ii/idec на go Peter to All

Вот и до меня добралось. :)
В общем, пишу ноду на go.
Цели:
- никаких внешних зависимостей;
- экстремальная простота настройки и переноса базы;
- поддержка умного (адаптивного) fetch

На данный момент черновик ноды готов: https://github.com/gl00my/ii-go
Пока нет никакой морды, нет документации. Но решил показать что есть, вдруг кто-то pr накидает. ;)

Как посмотреть:

git clone https://github.com/gl00my/ii-go.git

cd ii-go/ii-tool
go build

./ii-tool fetch http://idec.spline-online.tk (полный фетч в 6 потоков всех эх (нужна поддержка list.txt), запускается только если видит, что база ноды изменилась, по наличию последнего сообщения)

./ii-tool -lim=-32 fetch http://idec.spline-online.tk (адаптивный фетч, спускается вглубь истории постепенно, по мере необходимости)

./ii-tool -lim=32 fetch https://club.syscall.ru (неадаптивный фетч, просто последние 32)

В конце можно указать файл с эхами или - для stdin

cat std.club | ./ii-tool -lim=32 fetch https://club.syscall.ru -

В итоге сольётся db и создастся db.idx - индекс. db - это просто бандл, и только этого файла достаточно, чтоб переносить базу.

можно теперь положить его к ноде:

mv db ../ii-node/
cd ../ii-node
go build
./ii-node - и запустить ноду на 8080

Теперь можно пофетчить с 127.0.0.1:8080 и позамерять скорость.

Ну и посылка сообщений тоже есть, см. -h

Увлекательное занятие, должен я сказать. :)

01/09/20 21:14 UTCIAXXN7yBVRqHzb9iG4Af * REPLY

* * *

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

Это уже третья реализация годы на go будет :).

Опять предлагаю развивать библиотеку вместе: https://github.com/idec-net/go-idec

02/09/20 08:47 UTCqxbIsX4Z380zgVeNSXA8 * REPLY

* * *

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

> Опять предлагаю развивать библиотеку вместе: https://github.com/idec-net/go-idec

Я с неё начал, сейчас фактически моя реализация покрывает твою. Почему я это сделал.

1) Хочу другую лицензию (MIT)
2) Нашел некоторые странности (@repto вместо @Repto, StdBASE64 вместо URLBase64 в get запросе, точно не помню, может ещё что-то по мелочи, типа Subg вместо Subj...
3) Наличие внешних зависимостей (противоречит моей цели)
4) Субъективно, хотелось простоты =)

02/09/20 17:09 UTCCX4TgE90OauV2zUoEykP * REPLY

* * *

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

> 1) Хочу другую лицензию (MIT)
На этом можно было и остановиться на самом деле :D GPL не хочу менять на MIT точно.

> @repto вместо @Repto
Разве у нас в стандарте с большой буквы прописано? В тех же iing и ii-php реализованно с маленькой.

> StdBASE64 вместо URLBase64 в get запросе
Там ескейпится потом. Не помню уже почему именно так сделано было.

> Subg вместо Subj
Это у меня исторически сложилось еще с perl клиента :)

> 3) Наличие внешних зависимостей (противоречит моей цели)
Хм, но там только одна внешняя зависимость и только для тестов - httpmock. Сама либа полностью на стандартной либе написана.

02/09/20 19:03 UTCMlmBMgfdMgruG0WOgLCu * REPLY

* * *

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

Но вообще ты меня подбил на то, чтобы почитать код go-idec :). Нашел несколько мест, которые можно определенно улучшить. Ну, и коверадж надо бы добить до 99% =)

02/09/20 19:11 UTCXYSXHeBDbFwwj2xwHA4J * REPLY

* * *

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

> Разве у нас в стандарте с большой буквы прописано? В тех же iing и ii-php реализованно с маленькой.

Вот это интересный момент. В стандарте с большой вроде бы написано. Давайте определим, как именно правильно. А то я пока закодил и то и другое.

> Хм, но там только одна внешняя зависимость и только для тестов - httpmock. Сама либа полностью на стандартной либе написана.

Угу, ошибся.

> Там ескейпится потом. Не помню уже почему именно так сделано было.

Да я видел. Я в итоге сделал всё таки urlsafe для get варианта.

02/09/20 20:46 UTCrjRMXvzefhWy6XLmuO7u * REPLY

* * *

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

>> @repto вместо @Repto
Difrex> Разве у нас в стандарте с большой буквы прописано? В тех же iing и ii-php реализованно с маленькой.

Всегда было с маленькой. Глянул в документацию - оказалось, что Github стал неправильно рендерить Markdown, и там отображается с большой, хотя в исходнике осталось всё как надо

>> StdBASE64 вместо URLBase64 в get запросе
Difrex> Там ескейпится потом. Не помню уже почему именно так сделано было.

Для кодирования самого сообщения вроде как раз urlbase64 и используется. Для хэшей же идёт полная подмена символов, чтобы избежать знаков препинания

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

03/09/20 01:44 UTCt9MAQPBWXcHGhkW9SkrL * REPLY

* * *

Re: Пишу ноду ii/idec на go Andrew Lobanov to vit01

>>> @repto вместо @Repto
Difrex>> Разве у нас в стандарте с большой буквы прописано? В тех же iing и ii-php реализованно с маленькой.
vit01> Всегда было с маленькой. Глянул в документацию - оказалось, что Github стал неправильно рендерить Markdown, и там отображается с большой, хотя в исходнике осталось всё как надо

Прикольно :)

>>> StdBASE64 вместо URLBase64 в get запросе
Difrex>> Там ескейпится потом. Не помню уже почему именно так сделано было.
vit01> Для кодирования самого сообщения вроде как раз urlbase64 и используется. Для хэшей же идёт полная подмена символов, чтобы избежать знаков препинания

Из документации это не следует никоим образом.

03/09/20 04:00 UTCPg64MjwBQNTRacKr08vX * REPLY

* * *

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

> Глянул в документацию - оказалось, что Github стал неправильно рендерить Markdown, и там отображается с большой, хотя в исходнике осталось всё как надо
Походу дела нужно @ экранировать.

03/09/20 16:18 UTCzbItGWZs9oMtiy4uMH2y * REPLY

* * *

Re: Yet another idec client Andrew Lobanov to Andrew Lobanov

Давно я не трогал этот клиент, хотя и пользуюсь сейчас только им. Пётр вдохновил и я снова взял в руки шашку.

Список изменений:

* Исправлена ошибка на странице настроек, возникающая при неудачной попытке получить списки конференций с сервера.
* Добавлена страница списка сообщений в эхе.
* На главной странице и странице отдельного сообщения добавлена кнопка ответа.
* На главной добавлена ссылка на сообщение.

Из запланированных фич остались только избранные сообщения и карбонка. Потом, возможно, добавлю построение тредов в эхах. Не определился пока насколько оно нужно.

04/09/20 04:14 UTCt4cUPZvaeJ7BPQnGzDM7 * REPLY

* * *

Re: Yet another idec client Peter to Andrew Lobanov

> Давно я не трогал этот клиент, хотя и пользуюсь сейчас только им. Пётр вдохновил и я снова взял в руки шашку.

Отлично! Надо будет заценить.

У меня тоже процесс идёт хорошо. Скоро будет нода моей мечты. :))

04/09/20 18:50 UTC3YadMfRxMAw52FPBR9SA * REPLY

* * *

Re: Yet another idec client Peter to Peter

Мой прототип можно пошатать здесь: http://club.syscall.ru:8080

Можно и нужно его пошатать, если кому-то есть на это время/интерес. )

05/09/20 10:34 UTCwBEcmu6OjB5FBdjfslSj * REPLY

* * *

Re: Yet another idec client Peter to Peter

> Мой прототип можно пошатать здесь: http://club.syscall.ru:8080

> Можно и нужно его пошатать, если кому-то есть на это время/интерес. )

Только, конечно, не подключайте фетч на свои боевые ноды! Сейчас там тестирование. Можно ломать. :)

05/09/20 10:44 UTCZJDzlNzNLczjZe6vEGE9 * REPLY

* * *

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

Что нового и вообще, что в ноде особенного на данный момент.

0) Ни одной внешней зависимости.
1) Вся база - это бандл. Бандлы легко мержить друг с другом, переносить и так далее. Индекс создается автоматически но он не является необходимым, так как при удалении создается заново автоматически.
2) Есть тулза для работы с базами если это понадобится
3) Нода - это фактически форум с видом по тредам
4) Можно редактировать сообщения. При этом ничего не меняется, а просто в базу добавляется новый вариант сообщения с тем же ID. Более актуальной считается всегда более новая версия. Blacklist делается так же.
5) Многопоточный фетчинг
6) Адаптивный фетчинг, это когда пробуем по одному сообщению с каким то шагом, постоянно умножая его на *2 и уходим в глубь до тех пор, пока не найдутся те сообщения, что у нас есть в базе. Например: -16:1 -32:1 -64:1 -128:1 (увидели, что сообщение есть в нашей базе!), Сделали: -128:128
7) Простая web морда, нормально выглядит и на мобильном и в eww
8) Никакого js!
9) Предпросмотр сообщений при редактировании и создании новых
10) Простота разворачивания

Продолжаю работать. То, что хочется сделать.

1) RSS
2) Возможно, активацию юзеров по почте или вручную
3) Карбонка
4) Поиск
5) Избранное

http://club.syscall.ru:8080 - демка для экспериментов,

05/09/20 16:17 UTCyAaSyjAz9vuOXqzewsB1 * REPLY

* * *

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

На ii-go завезли котиков!

Не знаю зачем, но теперь в теле сообщения детектятся xpm. Как это выглядит - можно посмотреть на стенде. Можно постить котиков, но помните: лучше всего котика делать с 1 символом на цвет. (64-цветные палитры, например).

Котики тут: http://club.syscall.ru:8080/t5KocgBVCe3m37eRsXjd/1

06/09/20 08:18 UTCyeAH2CAzSpUvJw2PzYpY * REPLY

* * *

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

Сырое сообщение, конечно, трэшовенько смотрится =)

07/09/20 13:37 UTCQQHZlkw49d3gWUY4gT9L * REPLY

* * *

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

Нормально смотрятся только небольшие. 32x32 или 64x64

Вот, например - ещё более менее: http://club.syscall.ru:8080/m/HUwMVOKfbms85NMXfkcy#HUwMVOKfbms85NMXfkcy

Короче, я на этом скоро сделаю аватарки :)

07/09/20 16:13 UTCNoPKVtpISGGewzTbO6dd * REPLY

* * *

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

Прикрутил автатарки. Их можно загружать тоже в xpm и хранятся они в points.txt в текстовой форме.

http://club.syscall.ru:8080/IAXXN7yBVRqHzb9iG4Af/1

07/09/20 17:50 UTCKZDUytMvZUPIzoUKDRnT * REPLY

* * *

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

Я бы предложил это как-то стандартизировать в расширениях.
Можно добавить текстовые теги. Типа,

====
-*- xpm; -*-
static char * x_xpm[] = {
"32 32 17 1",
" c None",
". c #18293E",
"+ c #112C39",
...
-*- xpm; -*-
====



Чтоб в клиентах можно было вырезать(или отрисовывать) это, например.

08/09/20 06:51 UTCbH9rMak6O1LWZEM1ODto * REPLY

* * *

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

> Я бы предложил это как-то стандартизировать в расширениях.
> Можно добавить текстовые теги. Типа,

Я только за! Сейчас у меня такие _нестандартные_ теги:

1) @base64: имя файла - всё, что после этой строки берется как base64 аттач демка тут: http://club.syscall.ru:8080/jaHRwm0sPfK2w6n8jqhm#jaHRwm0sPfK2w6n8jqhm

2) @spoiler: строка - показать спойлер (В веб версии это реверс-строки и бледный цвет

3) XPM2 и XPM3 как есть воспринимаются, в соответствии с их форматом

@ мне нравятся, так как это аналог @repto:

08/09/20 07:14 UTCbd9m27jrpiboB2rgxCB0 * REPLY

* * *

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

Аватарки - это круть же! Может апи серверный какой придумать в расширениях, чтоб можно было постом аватарку пропихнуть на свою ноду?

====
-XPOST /x/avatar -d "pauth=authstring&xpm=$(echo "$XPM" | base64)"
====


Правда это небезопасная штука может быть.

08/09/20 07:05 UTChhy3ChXxXV8lDOzAwQrj * REPLY

* * *

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

С аватарками есть проблема. Как именно идентифицировать пользователя?
Сначала, я сделал по адресу. Потом по полю From. Оба решения не ахти.
Мне кажется, пока у нас нет отдельных register серверов, аватарки можно делать только кустарно-индивидуально. А так, мне тоже аватарки нравятся. )))

08/09/20 08:25 UTC97qVslXMVJ2hp9reXV3S * REPLY

* * *

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

Новое на стенде: Появились ЛС! Как реализовано?

Эха, которая начинается с . (.private - на сервере). Это такая эха, в которой пользователь видит только свои сообщения, сообщения написанные ему и сообщения адресованные All

Такие эхи отдаются на фетч только по строке: /point/authstr/u/e/список эх

Список эх может включать не только приватные эхи, но и другие

В веб это смотрится довольно гармонично!

Итого, из моих планов -- осталось только шлифануть порефакторить и написать документацию :)

08/09/20 12:09 UTC5zI8KNCP347oSybtD8El * REPLY

* * *

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

В общем, я поднял свою ноду - персональный арт-проект: http://hugeping.tk

Сейчас идёт синк с http://club.syscall.ru , но я буду его закрывать...
Прошу всех, кто с меня фетчит, переходить на http://hugeping.tk и отписаться о возникновении проблем.

Испытываю по живому. :)

За одно сливаю теперь свои материалы с разных источников. Хочу, чтобы хранилось всё в одном месте.

08/09/20 18:32 UTCgHs0QAEaaEiBZ4Cy3aBr * REPLY

* * *

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

Написал базовую документацию. На этом пока всё, буду потихоньку развивать ноду, но уже не так экстемально. :)

Если кого-то будут интересовать детали, расскажу или дополню доку.

https://github.com/gl00my/ii-go/blob/master/README.md

09/09/20 07:24 UTCp5HFhVFF78hDaisCU0Eh * REPLY

* * *

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

> @base64: имя файла - всё, что после этой строки берется как base64 аттач демка тут
Т.е. этот тег должен находится в конце тела сообщения?

09/09/20 06:02 UTCUTY6zy35o5HWhSikm8Qi * REPLY

* * *

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

> Прошу всех, кто с меня фетчит, переходить на hugeping.tk и отписаться о возникновении проблем.
Фетчу тебя. Пока все идет нормально.

09/09/20 11:02 UTCrloahdpZSyd4YU7anAxi * REPLY

* * *

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

У тебя почему-то в топиках количество сообщений выводится на одно меньше, чем сообщений в топике на самом деле, т.е. существуют топики с нулем сообщений. Я тебе об этом в чате писал, но ты наверное пропустил, либо это фича, а не баг.

09/09/20 19:11 UTCzK491ookW2hu3yEXRZnQ * REPLY

* * *

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

> У тебя почему-то в топиках количество сообщений выводится на одно меньше, чем сообщений в топике на самом деле

Не заметил в чате.

Я специально вычитаю 1. Как это сделано на punbb форуме. Типа это ответы на пост. Не считая заголовок. 0 - нет ответов.

В принципе, фича, но можно поменять в коде....

09/09/20 19:26 UTCHgc2RUspWtGfkhWVNGmB * REPLY

* * *

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


hugeping> Я специально вычитаю 1. Как это сделано на punbb форуме. Типа это ответы на пост. Не считая заголовок. 0 - нет ответов.

hugeping> В принципе, фича, но можно поменять в коде....

Просто тогда в колонке это надо назвать не посты, а ответы, наверное.

09/09/20 21:05 UTC5yS4HxK2BvOmsF8IIBtK * REPLY

* * *

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

> Просто тогда в колонке это надо назвать не посты, а ответы, наверное.

Согласен, завтра сделаю.

09/09/20 21:20 UTC5Er8gkrDB7QJmClgqVoK * REPLY

* * *

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

>> @base64: имя файла - всё, что после этой строки берется как base64 аттач демка тут
> Т.е. этот тег должен находится в конце тела сообщения?

Да. Все что после него это base64. Вообще, может быть стоит сделать по другому. Я сделал как было проще...

09/09/20 21:39 UTCstklcZv75ZVaH36FqK8d * REPLY

* * *

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

> Фетчу тебя. Пока все идет нормально.

Отлично! :)

09/09/20 21:40 UTCP3d2604nDhyuG9fxNW4E * REPLY

* * *

Re: Пишу ноду ii/idec на go Andrew Lobanov to btimofeev

btimofeev> У тебя почему-то в топиках количество сообщений выводится на одно меньше, чем сообщений в топике на самом деле, т.е. существуют топики с нулем сообщений. Я тебе об этом в чате писал, но ты наверное пропустил, либо это фича, а не баг.

Главное, чтобы в x/c правильно отображалось :)

10/09/20 03:54 UTC290mYIbxX3eB3VuBtzzq * REPLY

* * *

Re: Пишу ноду ii/idec на go hugeping to Andrew Lobanov

> Главное, чтобы в x/c правильно отображалось :)

Очень надеюсь, что багов не будет. Хотя опыт показывает, что когда всё работает сразу, это означает наличие скрытых багов. :)

10/09/20 04:44 UTCGCSFZMromtidw1J8eHtm * REPLY

* * *

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

> Да. Все что после него это base64. Вообще, может быть стоит сделать по другому. Я сделал как было проще...

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

В любом случае, если назреет какой-то стандарт на эту тему, попробую поддержать. :)

10/09/20 05:10 UTCgEAlGUb9NH4JODTrYOtn * REPLY

* * *

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

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

12/09/20 15:05 UTCr43YLnCiguakYqkLtRDh * REPLY

* * *

Re: Пишу ноду ii/idec на go Andrew Lobanov to vit01

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

Лицензионные вопросы важны.

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

Всё от того, что ты хочешь пальцетыкательный интерфейс на десктопе, что, очевидно, моветон.

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

Перепутал вкусовщину с объекьтивностью.
vit01> +++ GNU/Linux, Android, physics, MLP:FIM

12/09/20 16:36 UTCZnUsHAxzJezSHTzDX9qo * REPLY

* * *

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

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

Так это относится только к Web части. С этим возятся поинты моей ноды.

> 1. Нужно всё-таки объединять усилия .... Кому-то из вас двоих нужно от своей репы отказаться и идти мержить код в общий котёл

Это не сработает. Мне нравится писать то, что мне нравится. Это наверное основная движущая сила "моего опенсорца". Но никто не мешает брать мой код, если он нужен. Мой замысел в принципе не компромиссный. Потому что я хотел сделать не "что-то усреднённо хорошее", а ноду своей мечты. И нода и либа и веб морда готовы - их можно просто брать и использовать, если нравится. Если нет - делать своё.

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

Шрифты вообще не заданы нигде. Никакие. Так что используется тот шрифт, что стоит у тебя в настройках. :)

P.S. Edited: 2020-09-12 17:48:59

12/09/20 16:48 UTCjQ71i3cRyjwRpzuakQCH * REPLY

* * *

Что с станцией lessmore? hugeping to All

Хотел было забрать блог difrex, но:

====
$ curl https://dynamic.lessmore.pw/idec/u/e/difrex.blog
difrex.blog
error: Internal error
====


12/09/20 17:55 UTCehRLadSELaPO4TbBEkm9 * REPLY

* * *

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

>> 1. Нужно всё-таки объединять усилия .... Кому-то из вас двоих нужно от своей репы отказаться и идти мержить код в общий котёл

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

Окей, вопрос в каком-то смысле исчерпан

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

hugeping> Шрифты вообще не заданы нигде. Никакие. Так что используется тот шрифт, что стоит у тебя в настройках. :)

Эмм, да, но у браузера даже для стандартных шрифтов есть опции.

Предлагаю прописать font-family: sans-serif в body-блок CSS-ки. Это сработает на всех платформах, и разница станет заметна невооружённым глазом. Попробуй хотя бы ради эксперимента

+++ IDEC Mobile в виртуальной машине
+++ GNU/Linux, Android, physics, MLP:FIM

12/09/20 18:38 UTC8yiM0yEOQjDVFIBzsYsM * REPLY

* * *

Re: Пишу ноду ii/idec на go vit01 to Andrew Lobanov

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

AL> Лицензионные вопросы важны.

Здесь я ничего не навязываю, а просто предложил дискуссию и вижу проблему в распылении ресурсов. Если юзкейс каждой из либ слишком специфичен, то мержить и правда не имеет смысла

vit01>> 2. Лично мне хотелось бы не новой ноды, а нормального десктопного клиента. С избранными, с черновиками, с красивым современным интерфейсом...
AL> Всё от того, что ты хочешь пальцетыкательный интерфейс на десктопе, что, очевидно, моветон.

Дело здесь не в пальцетыкальности, а в двухпанельности и "просмотре по одному". Когда ты читаешь сообщения с большим количеством текста, то с ними удобнее возиться по отдельности и отвечать на них по отдельности, а не скроллить сплошную стену текста. При этом держать перед глазами заголовки сообщений

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

vit01>> И да, шрифты говно. Не стал бы пользоваться новым интерфейсом просто из-за шрифтов с засечками. Так и людей распугать можно
AL> Перепутал вкусовщину с объективностью.

Это, конечно, грубо сказано было (и весьма в лоровском стиле, к сожалению), но тут тоже проблема просматривается и как раз объективная.

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

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

+++ IDEC Mobile в виртуальной машине
+++ GNU/Linux, Android, physics, MLP:FIM

12/09/20 18:38 UTCefBNscitMdxDzat40AGA * REPLY

* * *

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

> Предлагаю прописать font-family: sans-serif в body-блок CSS-ки. Это сработает на всех платформах, и разница станет заметна невооружённым глазом. Попробуй хотя бы ради эксперимента

Вообще, я пробовал. Но тут такое дело. Я не хочу навязывать sans/sans-serif. Я сам из тех, кто долго верил в теорию вреда "шрифтов с засечками". А потом попробовал засечки, и мне понравилось. Поэтому я не хочу навязывать стиль шрифта. Пусть отображается дефултная настройка браузера. Те, если у тебя стоит в дефолте шрифты с засечками, ты их и увидишь. Есть вопрос с мобильными браузерами, там такой настройки нет... Ну, что поделать.

12/09/20 19:22 UTCYClWRHHn88m6jvgTQVaP * REPLY

* * *

Re: Пишу ноду ii/idec на go vit01 to Andrew Lobanov

>>>> @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

13/09/20 13:36 UTC351pmahUfT3Lg5yxbFuE * REPLY

* * *

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

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

Это про msgid речь же. А вопрос вроде касался того, в каком формате поинт шлёт бандл на ноду (POST или GET, не важно). И в каком формате отдают/получают бандлы ноды.

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

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

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

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

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

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

difrex:

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

На мой взгляд, противоречит стандарту. Но я так и не понял, как правильно.

13/09/20 14:48 UTCrP0icdzstIvkB1zdUiqC * REPLY

* * *

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

hugeping> Это про msgid речь же. А вопрос вроде касался того, в каком формате поинт шлёт бандл на ноду (POST или GET, не важно). И в каком формате отдают/получают бандлы ноды.

Для поинтов политика такая: если пересылает через GET, значит обязательно urlsafe. Если через POST, то поинт может выбрать любой вариант, какой захочет, ведь нода обязана поддерживать и тот, и другой

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

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

Да, именно так, надо детектить, но это просто делается: всего лишь прогоняешь строку через замену символов, заменяя спецсимволы по словарю.

То есть ещё раз: принимать нужно оба формата одновременно, но генерировать на отдачу желательно (как необязательная рекомендация) в обычном base64

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

13/09/20 16:00 UTCwTKNNq6w7ZieixSofMF0 * REPLY

* * *

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

> Да, именно так, надо детектить, но это просто делается: всего лишь прогоняешь строку через замену символов, заменяя спецсимволы по словарю.

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

Можно рассказать алгоритм?

13/09/20 16:26 UTCWX7dADKYg951LLgabtra * REPLY

* * *

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

Достаточно ли замены:

====
msg = strings.Replace(msg, "-", "+", -1) /* if it is URL base64 */
msg = strings.Replace(msg, "_", "/", -1) /* make it base64 */
====



И потом декодировать стандартным base64? Но там вроде еще есть заполнение в виде ===?

13/09/20 17:03 UTCWIBsek9eh1iyNOFClA5o * REPLY

* * *

Re: Что с станцией lessmore? Difrex to hugeping

Хм. Это я сломал что-то в базовом протоколе :).

Работает только со смещением сейчас

====
curl https://dynamic.lessmore.pw/idec/u/e/difrex.blog/-250:250
difrex.blog
2fDZ67P8JkchA9Rh4If4
2NszlFTgvhakzz7dIfvc
ML8cpSyzyOKaFA6Lx1NF
8TtPHu5T7oo3GSXdDYc5
U6ZYZxgYz2sq01L96zZz
igt9lCsui5qE9AICtdgP
mTWsJXVOAljita3sgDOK
V0hj3Z0QjFxpluaaiKvI
b91aGfRgRLJWfB1q60bg
pNfzXBddGbSy7AW7slpz
4fmEizz5kjk4UcQf7VIJ
OxdmEiQJIZqrqjCUNp2i
ojRAXNp7wzVIF9GBetZn
z5UV57mUeyhAmFsaMUq0
====



Спасибо, поправлю.

13/09/20 16:26 UTCd1AnjcfIchvvAfw04rLC * REPLY

* * *

Re: Что с станцией lessmore? Difrex to hugeping

Fixed

13/09/20 19:37 UTCIxjYsC9rgtEqOZWahnEE * REPLY

* * *

Re: Что с станцией lessmore? hugeping to Difrex

> Fixed
Теперь есть другая проблема. Возможно, с моим фетчером.
В выводе у тебя нет последнего перевода строки. То-есть, на запрос -1:1, к примеру, приходит MsgId без \n. Как к этому относиться? Нужно ли мне переделывать?

13/09/20 20:53 UTCrSOQFHsYMr6rh6ORxnNJ * REPLY

* * *

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

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

13/09/20 23:59 UTCPdfmacHKv0Mp2xik8asz * REPLY

* * *

Re: Что с станцией lessmore? Difrex to hugeping

Хм, вот про newline в конце интересно. Это у нас нигде не описано, но и проблем ни у кого не возникало

14/09/20 05:54 UTC08bZNf7SkmBAoYmsfrM5 * REPLY

* * *

Re: Что с станцией lessmore? hugeping to Difrex

> Хм, вот про newline в конце интересно. Это у нас нигде не описано, но и проблем ни у кого не возникало

Нужно решение комитета. )
Мне не сложно подправить, но это именно будет хак. Дополнительный блок условный. Заметил только благодаря адаптивному фетчу, который делает пробы по 1 id. Так бы просто последнее сообщение бы не взял и всё.

14/09/20 06:40 UTC4BK8xzRIsLKmeJDlkYA2 * REPLY

* * *

Re: Что с станцией lessmore? Difrex to hugeping

> Мне не сложно подправить, но это именно будет хак. Дополнительный блок условный.
А почему так? Я код не хочу ща читать - лень, но ты разве не разбираешь ответ в слайс? Типа,

====
messages := make(map[string][]string)
echoList := strings.Split(getBody(resp.Body))
var currentEcho string
for i := range echoList {
if echoList[i] == "" {
continue
}
if isEcho(echoList[i]) {
currentEcho = echoList[i]
}
if isMessage(echoList[i]) {
messages[currentEcho] = append(messages[currentEcho], echoList[i])
}
}
====


14/09/20 07:57 UTC8m8HzQZEvAAIjT4lLBbO * REPLY

* * *

Re: Что с станцией lessmore? hugeping to Difrex

> А почему так? Я код не хочу ща читать - лень, но ты разве не разбираешь ответ в слайс? Типа,

Почему так, вопрос, который я тоже могу задать: "Разве ты не делаешь просто Printf каждого из id? Зачем вырезать последний \n?

Дело в том, что я старался писать строго. Строка с переводом строки - это однозаначность. Например, пустая строка - это тоже пустая строка и \n.

В системе, когда у нас последняя строка не содержит \n, мы не можем отличить ситуацию, прочиталась ли строка целиком?

Например, вот функция, которая используется везде при работе с сетью:

====
func http_req_lines(url string, fn func(string) bool) error {
resp, err := http.Get(url)
if err != nil {
return err
}
defer resp.Body.Close()
reader := bufio.NewReader(resp.Body)
for {
line, err := reader.ReadString('\n')
if err != nil && err != io.EOF {
return err
}
line = strings.TrimSuffix(line, "\n")
if err == io.EOF {
break
}
if !fn(line) {
break
}
}
return nil
}
====



Обрати внимание, что if err === io.EOF стоит ПЕРЕД fn(line).

А вот правка, чтоб сработало с твоей нодой:

====
                if err == io.EOF {

if line != "" { /* no eol in last line? broken node? */
fn(line)
}
break
}
====



Если же я перенесу fn(line) перед err == io.EOF, то fn(line) будет вызываться для последнего \n у других нод, которые делают \n в каждой строке.

Я лично считаю, что \n быть должен, но в как бы мы не решили, это должно быть прописано в стандарте, кмк.

14/09/20 09:11 UTCoppZDI1KzWYwOOcilznC * REPLY

* * *

Re: Что с станцией lessmore? Difrex to hugeping

Ну, в общем давай подождем остальных, что скажут. По мне так '\n' в конце списка эх необязателен, т.к. не относится к данным.

14/09/20 12:29 UTC1d3OC0QZZmNw8oItZd5d * REPLY

* * *

Re: Что с станцией lessmore? Difrex to Difrex

Т.е. я считаю, что "\n" - это разделитель списка и если в конец вносить его, то получится, что последний элемент списка - это всегда пустая строка.

Но в случае чего, я могу добавить перенос строки.

> В системе, когда у нас последняя строка не содержит \n, мы не можем отличить ситуацию, прочиталась ли строка целиком?
Это справедливо только для имен эх, а вот id сообщения всегда можно понять прочитался ли он полностью.

14/09/20 12:35 UTCa5Cd0H913XxNt1LMdW7J * REPLY

* * *

Re: Что с станцией lessmore? hugeping to Difrex

> Т.е. я считаю, что "\n" - это разделитель списка и если в конец вносить его, то получится, что последний элемент списка - это всегда пустая строка.

Мой довод, в основном, будет таким.

В UNIX все текстовые файлы традиционно заканчиваются на \n.

https://stackoverflow.com/questions/729692/why-should-text-files-end-with-a-newline

Стандарт POSIX определяет строку так:

> 3.206 Line
> A sequence of zero or more non- <newline> characters plus a terminating <newline> character.

Зафиксируем это и не ошибёмся. :)

14/09/20 13:28 UTCJ8tmPAa8swejtHWYeArq * REPLY

* * *

Re: Что с станцией lessmore? Andrew Lobanov to Difrex

Difrex> Ну, в общем давай подождем остальных, что скажут. По мне так '\n' в конце списка эх необязателен, т.к. не относится к данным.

'\n' в конце это однозначное и ожидаемое поведение. Мне кажется, что делать стоит единообразно. У меня даже emacs в файлах в конце '\n' ставит :)

14/09/20 13:59 UTCz7EUlTurdQfIAo8fzzNY * REPLY

* * *

Re: Что с станцией lessmore? vit01 to Difrex

Difrex> Т.е. я считаю, что "\n" - это разделитель списка и если в конец вносить его, то получится, что последний элемент списка - это всегда пустая строка.

В стандарте вроде про newline ничего не сказано, поэтому предусматривается, что "\n" - это лишь разделитель списка, и в конце он необязателен

В нодах и клиентах принято использовать логику, по которой принимают и то, и другое. Но, думаю, для лучшей совместимости с unix-утилитами стоит явно закрепить в стандарте, чтобы newline в конце присутствовал

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

14/09/20 14:25 UTCUM06TvNuXOotGE0Usuzr * REPLY

* * *

Re: Что с станцией lessmore? Difrex to Andrew Lobanov

> У меня даже emacs в файлах в конце '\n' ставит :)
У меня тоже. Но это все таки данные не совсем для человека.

Ты же не будешь править тело сообщения поинта если оно пришло без \n в конце, а просто запишешь в базу.

// Newline в конце добавлю, но фетчер у меня умеет и так и так.

14/09/20 18:41 UTCwLrNwpZyWAbhTTBbFY6X * REPLY

* * *

Re: Что с станцией lessmore? hugeping to Difrex

> У меня тоже. Но это все таки данные не совсем для человека.

Ну как, curl можно автоматизировать. Я так и делал, когда переносил данные с ноды, генерировал скриптом запросы, парсил вывод. Удобнее с \n это делать.

> Ты же не будешь править тело сообщения поинта если оно пришло без \n в конце, а просто запишешь в базу.

Лучше я промолчу о том, что я делаю с сообщением поинта, а то вы меня тут заклюёте =)

> // Newline в конце добавлю, но фетчер у меня умеет и так и так.

Угу, отпишись тогда, я от тебя хочу взять fetch difrex.blog (ну и назад забирай тогда её у меня =)

14/09/20 19:21 UTCqxlzIBQjb0jYl3fiiTIC * REPLY

* * *

Re: Что с станцией lessmore? hugeping to Difrex

Сделал исправление тоже, поставил на тебя фетч (blog.difrex). Ожидаю взаимного фетча. ;)

14/09/20 20:34 UTCqyfU9AI55OSbu3KQOi3O * REPLY

* * *

Re: Что с станцией lessmore? Difrex to hugeping

Пофиксил, фетчу тебя :)

14/09/20 21:14 UTCZjb9QvJKZiakA8Sppuq8 * REPLY

* * *

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

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

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

https://github.com/gl00my/ii-go/blob/master/ii/msg.go

18/09/20 07:16 UTCVIsXGNiANuXLrWPmP6K2 * REPLY

* * *

Re: Пишу ноду ii/idec на go Andrew Lobanov to hugeping

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

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

Ну что я могу сказать? Хоть я и был среди убеждающих, ты подал хороший пример всем нам. Надо будет заняться документированием idec-client :)

18/09/20 10:15 UTCKSv8Xv2wp8V1F4D7DzPA * REPLY

* * *

Re: Настройки idec mobile johnbrown to All

Заметил довольно большой расход заряда - чуть больше 6% на дефолтных настройках.

25/09/20 05:10 UTC5BDGotNKignMRXDH8JP1 * REPLY

* * *

Re: Настройки idec mobile vit01 to johnbrown

johnbrown> Заметил довольно большой расход заряда - чуть больше 6% на дефолтных настройках.

Просьба отписаться всем остальным, кто пользуется клиентом, каков расход батареи

ну и доп. инфа, что за мобила, какая версия ОС и.т.п.

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

26/09/20 03:18 UTCaix5z1NyfAzwsvwpHCte * REPLY

* * *

Re: Настройки idec mobile vmg to vit01

vit01> Просьба отписаться всем остальным, кто пользуется клиентом, каков расход батареи
Расхода нет.
vit01> ну и доп. инфа, что за мобила, какая версия ОС и.т.п.
SM-n900, Android 7.1.2, LineageOS-14.1-20200911-unofficial-ha3g

26/09/20 07:33 UTCPhnB7OUgxA1ZiFs6cbzh * REPLY

* * *

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

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

2NszlFTgvhakzz7dIfvc
Q03NcPZRuqeaOT5d6Tze
v48ZAPJMiFbWl68YiFWU
5JdRzlDtEJTfOtKCtTb4
pEtdZQ4aPz7SAhFK3zwR
SglNQOG3vyujcZLXjDtu
flYuqUgR5SVgybdnYnVp

Извините. :)

26/09/20 11:05 UTCrwaziA9rV446FlbOobAu * REPLY

* * *

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31