RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
[>] Re: Каждый программист должен написать свой редактор
std.hugeping
hugeping(ping,1) — vvs
2023-10-26 22:23:23


Про диалог тоже слышал. А вот твой пример не понял прям совсем. :) Даже специально паузу взял, думал изучу на досуге. Загадочно и непонятно. Как ФП :)

[>] Есть ли жизнь без Telegram?
std.hugeping
hugeping(ping,1) — All
2023-11-05 22:28:02


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

За это время пробовал разное, в том числе и matrix, но в итоге не был удовлетворён. А на днях почти случайно вернулся к "традиционным" irc и jabber. И был приятно удивлён! О чём и решил написать эту заметку.

Сначала по наводке посмотрел на ircv3 ( https://ircv3.net/ ). Как я понял это инициатива по развитию irc. Стандарт содержит расширения, которые приближают пользовательский опыт к тому, к чему привыкли люди сегодня. Попробовал. Вообще -- понравилось! Но к сожалению клиентов которые поддерживают набор нужных стандартов очень мало и они часто сырые.

Затем я вспомнил о Jabber, и... Оказалось, что и там тоже есть кое-какое движение. Не вдаваясь в подробности напишу, что следующая комбинация оказывается вполне годной и комфортной для "обычного" пользователя:

- Мобильное приложение: conversations (бесплатно в F-Droid, платно в google play);
// есть мнение, что бесплатный "c0nnect messenger PRO" в google play это тот же conversations, но я не проверял, я давно пользуюсь F-Droid;
- Linux/BSD приложение: dino (В Debian - назвается dino-im), на худой конец - gajim;
- Windows: gajim
- Веб приложения: https://github.com/movim/movim или https://conversejs.org
- Публичный сервер с нужными возможностями: 404.city

В такой конфигурации набор нужных расширений сервера + поддержка этих расширений клиентом создают комфортную среду для чат-комнат и обмена сообщениями. По крайней мере, вы не теряете сообщения когда уходите в оффлайн, можете обмениваться файлами/картинками, редактировать сообщения, подключаться одновременно с разных устройств итд. И получаете при этом современно выглядящий интерфейс (в том числе и web).

Понятно, что выбирая сервер 404.city мы меняем шило на мыло (я вообще не знаю, кто этот сервер поддерживает, с какими целями и т.д., и вообще - whois интересное выдаёт :))

> whois 404.city
> Registrant Street: REDACTED FOR PRIVACY
> Registrant City: REDACTED FOR PRIVACY
> Registrant State/Province: Capital Region
> Registrant Postal Code: REDACTED FOR PRIVACY
> Registrant Country: IS

И дальше подобное... А что, так можно было? :)

Но при реальном внедрении, например, на работе - стоит поднять свой сервер (тот же ejabberd или prosody), movim и... по идее наступает счастье. Осталось только самое сложное, убедить сослуживцев :)

Если вы тоже решите попробовать вернуться в jabber, то мой jid: hugeping@404.city

P.S. На jabber.ru есть проблемы с регистрацией аккаунтов, да и сервер не поддерживает нужные расширения, к сожалению.

[>] Re: Есть ли жизнь без Telegram?
std.hugeping
hugeping(ping,1) — btimofeev
2023-11-06 13:23:39


>>> REDACTED FOR PRIVACY

btimofeev> На моем домене в зоне org такое тоже появилось, а раньше там была личная инфа. Вот тут пишут что это из-за GDPR https://www.vice.com/en/article/vbpgga/whois-gdpr-europe-icann-registrar

Ничего себе! Куда катится мир. :)

[>] Re: Есть ли жизнь без Telegram?
std.hugeping
hugeping(ping,1) — hugeping
2023-11-06 15:01:43


Для тех, кто это прочитает.
Адрес нашей группы "Флудилка луддитов" в jabber: instead@chat.404.city

[>] Полёты к звёздам
std.hugeping
hugeping(ping,1) — All
2024-02-03 14:31:02


Ютуб подсунул эту лекцию и я её целиком послушал. В детстве я (как и многие в то время) бредил космосом. Надеялся что застану первый межзвёздный полёт. С возрастом, конечно, начал понимать, что не всё так просто. И в техническом и в социальном плане. Поэтому было очень интересно услышать свои озвученные мысли. Например, критика warp drive:

https://www.youtube.com/watch?v=ExdWAm3H65M&t=3355s

> Варп-драйв это... Ну это просто чушь собачья...

Идея путешествий быстрее света -- "заноза" в моём сознании, которая не даёт покоя. Причём не технически-инженерно, а -- философски. Я понимаю, что это путешествие даже невозможно помыслить. Оно просто не вписывается в рассудок, нашу логику. При условии, конечно, истинности второго постулата СТО (постоянство скорости света). А это ведь экспериментально подтверждено! В беседе с друзьями я понимал что эта "заноза", видимо, какая-то моя личная. Но, оказывается, всё-таки не только моя:

> Это (warp drive) -- не решение... Это .. релятивистская инженерия...
> Эта штука нарушает принцип причинности... Это очень мощная вещь -- принцип причинности...

И отличное заключение на тему "зачем":

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

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

И всё-равно, верю, что мечту так просто не украсть. Думаю, прямо сейчас её ростки прорастают в чьей-то детской душе. А как по-другому? По-другому просто не может быть...
P.S. Edited: 2024-02-03 10:38:13

[>] Трудная проблема сознания в фильме "Престиж" Кристофера Нолана
std.hugeping
hugeping(ping,1) — All
2024-04-14 12:12:54


Посмотрел фильм Кристофера Нолана "Престиж". Сам фильм, как мне кажется, образец продукта для масс-культуры. Как комикс: захватывает, будоражит, развлекает. И в этом контексте даже фентезийный Тесла в фильме вполне уместен. Но меня заинтересовала не драматическая составляющая, а отсылки к трудной проблеме сознания. Ведь то что происходит каждый раз с фокусником (Энжиером) когда он заходит в машину Теслы -- интересный мысленный эксперимент.

Фокусник заходит в машину клонирования и в следующий миг (падая в резервуар с водой) умирает. Но созданная только что чудесным образом копия -- продолжает жизнь и как ни в чём не бывало выходит к публике с другой стороны сцены.

Сама идея не новая. Я, к сожалению, не могу вспомнить название старого фантастического рассказа, в котором кошмар ситуации состоял в том, что оригинал во время телепортации-путешествия не был уничтожен и пришлось "исправлять" ошибку... Но в фильме эксперимент подан даже более контрастно.

Фокусник, выполняя фокус с перемещением, не знает точно какой субъективный опыт его ждёт. Вот, он заходит в машину. Что будет в следующий миг? Мучительная смерть в закрытом резервуаре с водой или выход к публике под оглушительный гром аплодисментов?

Наивный ответ звучит так. Конечно, он испытает ужас смерти. Субъект -- это фокусник, заходящий в машину. Что тут думать?

Этот ответ (вернее, лёгкость с которой он был дан) разделит людей на тех, для кого трудная проблема сознания существует, и тех -- для кого никакой проблемы нет и "всё понятно".

Личность, что это? Память, чувства, устройство мозга? Всё это совпадает у создавшегося в результате эксперимента клона. Клон помнит как он заходил в машину и сразу же вышел к публике. Однако его субъективная реальность не пересекается со страшной реальностью оригинала. В точке клонирования есть два физически идентичных субъекта. Но не смотря на физическую идентичность мы верим, что это два не пересекающихся сознания. В мироздании есть что-то, какой-то специальный механизм, который обеспечивает работу квалиа для живого существа. Но почему клонирование материи должно было создать новый мир? Мир восприятия клона?

Словно адресные пространства процессов в операционной системе. Процессы могут быть порождены одинаковым выполняемым файлом, но у каждого -- своя виртуальная память, свой стек, свой указатель команд. За счёт механизма виртуальной памяти они изолированы друг от друга так, что каждый ощущает себя единственным. Очевидно, что "сознание" процесса -- не только содержимое памяти. Работу обеспечивает ядро операционной системы. Само ядро остаётся "за кадром". Процесс не замечает как его вытесняет другой процесс. И как устроено ядро он может лишь косвенно оценить по интерфейсу системных вызовов. Интересно, что если мы просто сделаем копию процесса, то это ничего не даст. Запустить процесс можно только с помощью специального системного вызова. А для работы виртуальной памяти нужна аппаратная поддержка.

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

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

Мир устроен удивительно. Кому-то для осознания этого достаточно увидеть падающую снежинку. Другому -- потребуется погрузиться в мир квантовой механики. Но не замечать этого -- невозможно.

[>] Re: Анархия хэшей
idec.talks
hugeping(ping,1) — shaos
2024-10-07 12:23:48


Кажется, что хеш-функция всё-таки должна быть строго задана в стандарте. Ну, или мы считаем что она задана, но не в части тех символов... Де факто, так ведь и получилось...

[>] Re: Клиенты ii/IDEC для ретрокомпьютеров
idec.talks
hugeping(ping,1) — shaos
2024-10-07 12:33:29


Я писал не для ретрокомпов, а для микропроцессоров. И не idec, а gemini клиента. :) В итоге есть прошивки для cardputer и еще одного неизвестного никому устройства... На самом деле, прикольно, я даже хотел заметку написать. Но руки не дошли. Такой прям "детокс" получается. )

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

Мне наверное больше хотелось бы видеть простой клиент для того же plan9... Хотя опять же, веб интерфейс простой без js решает задачу..
P.S. Edited: 2024-10-07 09:33:38

[>] Сигнал
std.hugeping
hugeping(ping,1) — All
2024-11-07 15:50:07


Очень часто простые в практическом смысле вещи (и понятия) оказываются совсем непростыми если попытаться осознать их чуть глубже. А то, что они привычные -- даже мешает.

Например, что такое точка? Электромагнитное поле? Я?

Или что значит "существует"? Существует ли стул, стол? А формула?

Когда начинаешь сомневаться в таких вроде бы привычных словах, то даже неудобно перед людьми становится. Например, у меня такой ступор случился на волне интереса к радио.

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

Например, что такое AM модуляция? Вроде бы просто. Есть несущий сигнал определённой высокой частоты который мы модулируем передаваемым сигналом (например, голос) просто умножая несущую на силу модулируемого сигнала. Амплитудная модуляция.

И вот, когда смотришь передающие радиостанции на каком-нибудь websdr (например http://websdr.srr-76.ru/ ) ты видишь там спектр. AM сигнал станции виден в виде вертикальной черты (несущая частота) и... симметричной россыпи точек разной яркости слева и справа. И ширина этого столбика -- полоса пропускания. То есть, сигнал радиостанции представляет себя диапазон частот.

И вот тут я сразу перестал понимать. Постойте! Значит AM передача это много разных частот? Но когда мы читали про AM модуляцию мы видели там сигнал несущей частоты, который мы модулируем. Откуда же другие частоты? У нас что, несколько передатчиков с разными частотами?

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

Для начала, я решил упростить себе жизнь и представил себе звуковые волны. Тут всё понятно. Звуковая волна в воздухе - участки с разной плотностью. Звуковую волну можно оцифровать и передать динамиком. Проведём мысленный эксперимент.

Есть два динамика стоящих рядом. Один из динамиков издаёт частоту ноты Ля. Второй динамик издаёт частоту ноты Си. В метре от них стоит микрофон, который подаётся на вход звуковой платы.

На микрофон мы принимаем сложный сигнал, который представляет из себя сумму двух частот (ноты Си и Ля). Можем ли мы сказать что мы принимаем два сигнала? (Для простоты, фазового сдвига нет.) Так как мы знаем условия эксперимента, хочется сказать что ... да. Мы получили два сигнала. Две волны с разной частотой.

Оставляем один динамик. Берём запись с нашего микрофона двух нот, звучащих одновременно, и проигрываем на этом динамике звук. Смотрим на то, что получили на микрофоне. Мы получили снова сигнал который может быть разложен на две частоты. Вопрос. Это один сигнал или два сигнала? Одна волна сложной формы или сумма двух идеальных волн?

Теперь пусть вместо динамика говорит человек. Сложная звуковая волна его речи достигает микрофона. Мы оцифровываем звук. Мы применяем преобразование Фурье и получаем математическую сумму многих волн. Вопрос, эти волны действительно родились в недрах связок и мы можем считать эти сигналы в РЕАЛЬНОСТИ объективно существующими или это лишь наш математический аппарат?

Теперь пусть колонка передаёт запись речи. На микрофоне ровно то же самое. Но в этот раз мы точно знаем, что передаёт сложный сигнал один источник - динамик. При этом получается сложная звуковая волна, которую мы можем воспринимать как сумму идеальных волн математически. Но в реальности, можно ли сказать что эти идеальные волны _существуют_ на самом деле?

Я быстро понял, что в голове моей путаница. Волна. Частота. Существует. Это я ещё даже не говорю про ЭМ поле.

Возвращаясь к первоначальному вопросу с AM модуляцией. Я всё таки на этом мысленном эксперименте понял, что когда мы рассматриваем процесс моделирования сигнала мы получаем более сложный сигнал. И этот более сложный сигнал можно рассматривать как сумму идеальных простых сигналов с фиксированными частотами. Получается, что не смотря на то, что излучатель у нас один -- мы как бы "автоматически" получаем сложный сигнал занимающий полосу. С математической точки зрения - всё понятно. С философской - не до конца. Ширина канала пропускания объективно существует? Сигналы идеальной частоты из разложения Фурье - объективно существуют? С одной стороны - да. Потому что полоса пропускания объективно занимает "эфир". С другой стороны, вопрос напоминает "существует ли стул" для букашки? Или "стул" существует только тогда, когда есть кто-то кто понимает, что это стул?

Что такое вообще "существует"? Что такое волна? Мы можем рассмотреть её с точки зрения амплитуд (плотности воздуха или характеристик ЭМ поля), можем рассмотреть как суперпозицию частот. А на самом то деле, что это? А может и нет никакой волны вовсе _объективно_ и это просто наш математический аппарат описывающий флуктуации?

Интересно, что в интернете я всё-таки набрёл на обсуждение этой темы.

Вот это обсуждение: https://www.reddit.com/r/explainlikeimfive/comments/16mbnna/eli5_why_does_an_am_radio_channel_require_any/

Также очень интересно, что в "топе" ответы, которые не отвечают на суть моих вопросов. Вроде такого:

> The simple answer would be: because the information you're trying to transmit (generally voice or music) is, even without modulation, a waveform made of a lot of different frequencies. For example, you need at least a bandwidth of 4 kHz (from around 20 Hz to 4000 Hz) for voice to be intelligible.

Это не ответ на вопрос. Тот кто отвечает не понимает сути проблемы. Но если почитать дальше по ходу обсуждения находятся интересные рассуждения, которые немного меня "успокоили". В том смысле, что не я один такой непонятливый.

Электромагнитное поле. В школе нас учат что это форма материи. Наверное чтобы подчеркнуть, что _это_ существует на самом деле. Но что значит существует?

Молекулы воздуха объективно существуют? А функция которая описывает звуковую волну (плотность воздуха) в пространстве - существует ли на самом деле?

Самое близкое что я могу подобрать: взаимодействует, значит -- существует.

Но что такое взаимодействует? Взаимодействуем ли мы с формулой?

Иногда вопросы важнее чем ответы. Тем более что и ответов нет.
P.S. Edited: 2024-11-07 11:58:19

[>] Деды против mail.ru
std.hugeping
hugeping(ping,1) — All
2024-11-10 12:56:58


На днях пришло письмо от mail.ru. О том что "вечные" 100Гб облака подаренные ранее "заканчиваются" и нужно срочно оформить подписку.

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

Так или иначе -- свои данные я слил на винчестеры. Но возникла проблема с почтой жены. За эти годы там накопилось несколько десятков гигабайт(!!!) писем (с аттачами). Попытка скачки архивов через web ничего не дала. Сначала браузер задумался на несколько минут, потом начал выплёвывать диалог на каждый .rar аттач. А потом сервер вовсе отказался выполнять запрос.

Удалить старые ненужные файлы тоже оказалось проблемой, связанной с ограничениями веб-версии. Например, в выдаче отсутствовала сортировка по размеру. Работать одновременно можно только с 1000 файлами, при этом страничка подгружает по 50... Бррр... А постоянные баннеры со скидками на подписку намекали что и тут не обошлось без не слишком чистых ручек маркетоидов.

Я даже подумал было купить место и не тратить своё время. Но просто так купить услугу, оказывается, нельзя. Нужно именно оформить подписку, с передачей права mail.ru снимать со счёта деньги без спроса.

Ужасно. Ну что же, тогда пришло время mbsync...

Создаём файл mail.ru.conf:

IMAPAccount LOGIN
Host imap.mail.ru
User LOGIN@mail.ru
Pass PASSWD
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt

IMAPStore LOGIN-remote
UseUTF8Mailboxes yes
Account LOGIN

MaildirStore LOGIN-local
SubFolders Verbatim
Path ~/Downloads/Mail/
Inbox ~/Downloads/Mail/Inbox

Channel Login
Far :Login-remote:
Near :Login-local:
Patterns *
Create Both
Expunge Both
SyncState *

Потом:

$ mbsync -c mail.ru.conf LOGIN

И всё. Чтобы посмотреть свою почту, можно воспользоваться mutt или neomutt:

$ neomutt -R -f ~/Downloads/Mail/Inbox/

В очередной раз выручают протоколы "дедов". Удивительно, что почта продолжает работать по разработанным давным-давно технологиям и никакие vk, телеграмы, дискорды и прочие проприетарные "решения" не способны её заменить. Правда, это скорее исключительная ситуация именно с почтой. Почему так получилось? Наверное потому, что миру действительно нужна "федеративная" система обмена сообщениями, не привязанная технологически к каким-то конкретным корпорациям. Хотя тенденция когда тот же google (или сбер, или mail.ru, или Яндекс) пытается стать таким компонентом-"агентом" -- прослеживается. Искренне надеюсь, что у них ничего не получится.

[>] Re: Клиенты ii/IDEC для ретрокомпьютеров
idec.talks
hugeping(ping,1) — shaos
2024-10-08 02:13:19


А там есть упрощенная реализация tls1.2, по кр. мере для esp32. Её хватило. А для спектрума, конечно, нереально.

[>] Эха по rein
std.rein
hugeping(ping,1) — All
2022-12-25 00:05:29


Чтобы было место, где можно обсуждать вопросы движка, создал эху std.rein.

[>] Re: Первая коллизия???
idec.talks
hugeping(ping,1) — iiii
2024-10-10 00:52:21


Так кто-нибудь скажет, какой алгоритм использовать для хеширования? :)
У меня сейчас что-то такое. Где наш "стандарт" вообще почитать сейчас?
func MsgId(msg string) string {
        h := sha256.Sum256([]byte(msg))
        id := base64.StdEncoding.EncodeToString(h[:])
        id = strings.Replace(id, "+", "A", -1)
        id = strings.Replace(id, "/", "Z", -1)
        return id[0:20]
}

[>] rein: ищу соратников
std.rein
hugeping(ping,1) — hugeping
2022-12-25 00:09:21


Опубликовано здесь: https://www.linux.org.ru/forum/talks/17069851

Привет! Хочу представить наш новый проект -- rein. Пока он находится в альфа стадии, поэтому пишу в надежде найти соратников. Сейчас, в целом, всё работает, но продолжает меняться, так что пока релиза нет, но уже нужна обкатка.

Что такое rein?

Если кто-то слышал о таком движке как INSTEAD (а может быть, и о "камерном" reinstead), то постепенная эволюция и тяга к минимализму привели к появлению очередной "игрушки" для экспериментов. Кратко - это переносимое "микроядро" на Си + SDL2 для графики + Luajit в качестве языка программирования + интересный синтез звука (синтезатор пишет true-grue). Так же, если вам интересны такие вещи как: PICO-8 и TIC-80/uxn/Decker/instead/reinstead - то rein имеет что-то общее с каждым из этих проектов, но всё-таки у него свой путь и своя философия.

Более развёрнуто: https://github.com/hugeping/rein/blob/master/doc/api-ru.md

Скриншоты: https://github.com/hugeping/rein

На данный момент есть демки, включая порт моей старой игры с pico-8 с ужасным кодом, но тем не менее:

Emscripten вариант в браузере: https://club.hugeping.ru/lib/uploads/rein/rein.html?aadv.lua) -- (возможно потребуется кликнуть по canvas для звука)

Приложения-инструменты пишутся на самом rein. Сейчас есть: редактор, irc клиент для связи с разработчиками, редактор инструментов и трекер.

Если возникнут вопросы, можно придти на irc канал irc.oftc.net #rein или на станцию ping: https://club.hugeping.ru/std.rein/

Или соберите rein (из зависимостей только SDL2 и luajit) и запустите: ./rein irc - клиент автоматически подключит вас к чату.

Страница проекта на github: https://github.com/hugeping/rein

[>] rein: Фаза 1
std.rein
hugeping(ping,1) — All
2023-01-14 14:06:12


Соратников найти не удалось, поэтому наполеоновские планы были скорректированы. Можно сказать, что проект сейчас находится на стадии "Фаза 1", которую я описываю так:

# Приоритет на личное использование

Средства разработки будут допиливаться не до состояния "продукта для всех", а до необходимого минимума. Например, не будет аналога splore pico8 (сетевого репозитория). Запуск "приложений" будет осуществляться из ком. строки (rein edit, например). Для создания игр этого достаточно, так как игра вместе с rein это приложение вида - распаковал и запустил.

Развитие инструментария - дело сообщества (инструменты пишутся на самом rein), но раз сообщество не удаётся собрать, то буду пользоваться чем есть.

# Андроид версии пока не будет

Для того, чтобы показать игру друзьям с телефонами есть emscripten вариант, который работает неплохо. Android версию собрать несложно, но опять же - на неё нужно время и силы. Зачем? Для личных нужд мне этого сейчас не требуется.

# Пиара не будет

Пока не будет никакого "выпуска rein". Потому что выпуск ничего не даст. В современном мире нужно заниматься работой с аудиторией, чтобы это принесло хоть какие-то плоды. На это у меня нет времени (да и желания). Пиар возможен, вероятно, после появления игр и появления хоть какого-то сообщества.

# Никаких новых фич до выпуска игры

Сейчас требуется обкатка движка на практике. Так что дальнейшее развитие будет целесообразным только после появления новой игры. Когда и кем она будет написана, я пока не знаю. :) Но, естественно, мне хочется опробовать инструмент самому.

# Готовность

Готов для личного использования автором rein и энтузиастами. :) В целом, все основные функции присутствуют и опробованы. Api меняться (значительно) не должно. github страничка доведена до "презентабельного" состояния: https://github.com/hugeping/rein

Эху std.rain я оставлю, пусть будет, если вдруг всё-таки будут обсуждаться какие-то вопросы.

# Мысли

В очередной раз стало понятно, что есть разные задачи. 1) сам движок 2) создание творческой группы людей, в которой этот движок мог бы занять своё место. В том числе и в статусе средства для обучения программированию. Тот самый "кружок программистов", ламповый уют и электронные журналы с подкастами :) И задача 2, возможно, даже гораздо сложнее, особенно если представить себе гипотетическую аудиторию rein :) В общем, сейчас я не вижу реальной "почвы", кроме собственного увлечения, а создать эту почву -- совсем другая история. Но, по крайней мере, часть работы проделана. :)

До связи!

[>] zvon в rein, встречи
std.rein
hugeping(ping,1) — All
2023-08-10 10:21:31


Пётр Советов (true-grue) записал 1й ролик о звуковой подсистеме zvon (используется в rein). Демонстрируется работа в редакторе голосов voiced.

https://www.youtube.com/watch?v=F5-IFaDAxXo
P.S. Edited: 2023-08-10 19:45:20

[>] zvon в rein, встреча №2
std.rein
hugeping(ping,1) — hugeping
2023-08-10 22:45:11


Встреча 2
Различные типы осциляторов
Работа в трекере

https://www.youtube.com/watch?v=dPi6Kq5McnU

[>] rein: Фаза 1.5
std.rein
hugeping(ping,1) — hugeping
2023-08-15 13:50:06


Вернулся к разработке rein. Поводом послужили записи true-grue по звуку ii://PwbZN2b4jRkK1XjVCoMd , которые выявили некоторые ошибки - недоработки. Из основных изменений:

- теперь редактор поддерживает вертикальное выделение блоков (alt модификатор);
- редактор поддерживает режиме вставки overwrite (ins);
- shift-f2 - в редакторе, "сохранить как";
- множество улучшений в voiced, в том числе работа с вертикальными блоками и проигрывание ноты во время вставки (не для режима ins);
- исправления ошибок;
- sys.window_size() - позволяет получать реальные размеры окна в системе и адаптироваться под них;
- в редакторе можно включить режим scalable. В этом режиме он будет использовать ttf шрифт (нужно положить в data/) и адаптироваться под размер окна при изменении размера окна;
- новый boot. Теперь при запуске rein он показывает доступные приложения, а также .lua файлы из текущего каталога. Каждый такой файл можно запустить (z) или открыть на редактирование (x)
- добавлен 07 tutorial (музыка).

P.S.
Последние 256 сообщений из irc #rein теперь можно смотреть в gemini: gemini://hugeping.ru/reinlog.gmi

[>] Re: zvon в rein, встречи
std.rein
hugeping(ping,1) — hugeping
2024-10-17 23:37:27


Перезалил ролики на rutube.

https://rutube.ru/channel/39535814/

[>] Re: Первая коллизия???
idec.talks
hugeping(ping,1) — shaos
2024-10-10 10:42:45


shaos> Вроде все доки тут:
shaos> https://github.com/idec-net/new-docs

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

Собственно, поэтому я так и сделал! Видимо, "стандарт" писался не очень аккуратно! Давайте зафиксируем всё-таки. Z или z? :)

[>] Re: Аналог tiled: более сложный редактор карт
std.rein
hugeping(ping,1) — tuple
2024-10-19 11:45:32


tuple> Есть такая штука как tiled

Да, пользовался им когда делал игру "Дровосек"

tuple> Собственно, появилась идея написать такое для rein с адаптированием под его простоту, то есть с возможностью экспорта в текстовый читаемый формат и минималистичный интерфейс.

Если речь про карты, то в sprited (входит в состав rein) есть такой редактор. Вызывается он по клавише m если не ошибаюсь.

Можно посмотреть его, например так:

./rein edit demo/aadv.lua

Нажать F8, затем m.

Это вроде бы есть даже в документации. Соответственно, можно поменять карту в игре и оно само вставит изменения в исходный код игры.

P.S.

Что касается rein/red и вопроса "нужно/не нужно".

Возможно, я уже старею. Но у меня абсолютно нет никаких амбиций. За многие годы работы с открытыми проектами я так устал от работы "вдохновителя" и "лидера", устал от быстро разочаровывающихся что мой текущий "манифест" попахивает мизантропией:

Rein: личный проект для души. Это мой инструмент. Я написал на нём red, которым пользуюсь на работе. Я хотел сохранить свои старые и иметь возможность писать новые простые игры в духе pico-8. Так как это фактически микро ядро на C + Lua, на нём можно писать свои инструменты, создавать своё Api и так далее. В нём есть прикольный синтезатор. И даже сеть. Делайте с этим что хотите. Пишите, показывайте (или нет). Меня не надо спрашивать. А идей, что можно сделать с rein - масса. Например, написать новый INSTEAD на нём, написать нормальные инструменты (sprited всё-таки совсем простенький), написать репозиторий игр (аналог splore). Да мало ли что.

[>] Re: Аналог tiled: более сложный редактор карт
std.rein
hugeping(ping,1) — tuple
2024-10-19 12:23:02


tuple> Да, он есть. Но если я не ошибаюсь, то он такой же простой как аналогичный в PICO-8: один слой, объекты только по сетке?

Да, просто массив тайлов. sprited конечно скорее как демка был написан. Хотя и сыграл свою роль при портировании aadv с pico-8. Инструмент обычно пишут под проект. Если есть на уме какая-то игра, где этот редактор пригодится -- с удовольствием бы посмотрел!

tuple> Спешу сказать спасибо за rein. Эдакий младший брат love2d, но при этом в духе PICO-8, однако без ограничений "консоли".

Спасибо за отклик. :)

[>] Re: IDEC-клиент на rein
std.rein
hugeping(ping,1) — tuple
2024-11-02 17:24:31


tuple> А что насчёт сабжа? :))

Есть одна больная тема -- tls. Всё остальное - возможно. Но вот tls тянуть (даже упрощённые варианты) в rein как-то не очень. Была у меня мысль даже иметь что то вроде отдельного сервиса, который уже написан на каком-нибудь go и с которым уже может работать rein для работы по tls, но... Как-то это всё... Ну, хотя, может и норм. Надо думать.

В любом случае, я сейчас скажу страшную вещь (я надеюсь, что std.rein никто не фетчит), я не фанат idec! Не потому что она плоха технически (она достаточно хороша), а просто ... ну это просто технология. В плане контента мне интересней тот же gemini, там есть что почитать. А свой контент на своей станции мне читать не интересно. :) Социальный кипиш -- не интересен, даже если он внутри rein (idec). Так что по факту, мне лично idec клиент не нужен.

Но так или иначе, без tls это всё смысла не имеет. Нужно решать что-то с tls в rein.

[>] Re: IDEC-клиент на rein
std.rein
hugeping(ping,1) — doesnm
2024-11-06 19:29:20


doesnm> Так стоп
doesnm> Но ведь IDEC может работать по любому протоколу
doesnm> http - устоявшийся вариант

По http можно сделать, но меня удручает необходимость посылки authstr в открытом виде.
Вообще, я бы скорее смотрел на связку rein + ii-go. То-есть, на rein можно написать клиента, а забор отправку - всё делать через ii-tool из состава ii-go. Будет симпатично. И сделать это, вроде бы не сложно.

Но!

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

Во-вторых, мне всё время хочется сделать игру на rein но с элементами INSTEAD. У меня уже есть библиотека на lua в которой ядро инстеда, которое можно подключить в rein. Дальше нужна идея игрушки.

Но если кто-то другой напишет, я только за. :)

[>] Re: IDEC-клиент на rein
std.rein
hugeping(ping,1) — doesnm
2024-11-06 21:57:06


doesnm> Хочу написать реализацию парсера/конвертера в другой вид из ait/aio (сообщения в них по идее храняться одинаково, но в ait есть индекс)
doesnm> Я думаю перенести с питона на луа проблемы не будет. Или мб сразу на луа сделать

Я не знаю что это за форматы (в чём их ценность). В ii-go просто строчки бандлов + индекс для быстрой выборки и поиска. Так что по идее из него/в него конвертер не проблема сделать. Но не оч. понял что это даст. Есть какой-то софт что работает с этим форматом?

[>] Re: Первая коллизия???
idec.talks
hugeping(ping,1) — Andrew Lobanov
2024-10-10 19:00:54


AL> Но есть ли в этом смысл, если с некоторых станций идут сообщения, у которых msgid совсем не соответствует содержимому? :)

В данном вопросе я рассуждаю просто. Меня интересует мой код. :) Что творят другие -- не моя зона ответственности. Если будут коллизии, я не забираю просто сообщение.

[>] Re: IDEC-клиент на rein
std.rein
hugeping(ping,1) — doesnm
2024-11-06 22:57:03


doesnm> Это есть в мануале цезия, но продублирую здесь от себя:
doesnm> Есть несколько форматов для хранения эх: txt, aio, ait, ну и мб бандл

А, понял. В принципе, ii-tool если забирать по одной эхе и каждую эху помещать в свою базу (можно опциями этого добиться) - получится очень похоже на aio. Ну или наоборот, из общей базы ii-go можно выдернуть бандлы эх. Но что практически это даёт? Ведь цезий и так хорошо работает со своими базами? Или чисто утилитарная штука "на всякий случай"? Ну то есть, как этот конвертер применять и где?

[>] Re: Некорректные сообщения!
idec.talks
hugeping(ping,1) — shaos
2024-10-13 12:17:54


>> А ну тогда вообще ничего не страшно, это валидная эха old.pc

shaos> ну просто эти сообщения для old.pc пришли на запрос эхи oldpc.51t.ru и я уже понял, что это было нехорошо...

Да, именно. Видимо мне придётся добавить валидацию для такого случая, чтобы рассчитывать на ошибки тех, у кого забираю. А пока я откатил базу на вчерашнее состояние.

[>] Re: Некорректные сообщения!
idec.talks
hugeping(ping,1) — hugeping
2024-10-13 12:24:53


hugeping> Да, именно. Видимо мне придётся добавить валидацию для такого случая, чтобы рассчитывать на ошибки тех, у кого забираю. А пока я откатил базу на вчерашнее состояние.

Хотя сделать это, не так-то просто. Ведь когда я формирую список id он уже отвязан от эх... Мнда... Ладно, подумаю на досуге.

[>] Re: Некорректные сообщения!
idec.talks
hugeping(ping,1) — hugeping
2024-10-13 12:29:07


Насчёт запретить редактировать.

Я этого делать не буду, моя нода служит мне чисто утилитарно для моего проекта. Мне важно уметь редактировать сообщения. При этом не создаётся много сообщений, ID остаётся тем-же самым, но база хранит всю историю сообщений (но не отдаёт их наружу, всегда только последнее). Так же есть личные сообщения, но они тоже локализованы моей нодой.

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

Если это кого-то напрягает, снимайте фетч. Ну и я сам могу снять по просьбе.

[>] Re: Некорректные сообщения!
idec.talks
hugeping(ping,1) — iiii
2024-10-13 12:31:41


iiii> Это к вопросу о важности тэгов. Вообще обычно фетчеры ориентируются на то, какую эху забирают, но фетчер Петра, видимо, ориентируется на тэг. Поэтому получилась совершенно валидная эха old.pc, такая же, как оригинальная.

Не совсем понимаю, что за тег? Я просто забираю список id по всем эхам а потом забираю эти сообщения. Распаковываю и помещаю их в соответствии с содержимым в базу.

[>] Re: Некорректные сообщения!
idec.talks
hugeping(ping,1) — iiii
2024-10-13 12:35:37


iiii> да это единичный момент. всё равно мы же не фетчим что-то постороннее. для постороннего я бы вообще отдельную станцию поднимал, а потом уже с неё сам фетчил.

Я тоже считаю, что проблемы особой нет. А стандартов - чем меньше, тем лучше :)

[>] Re: Некорректные сообщения!
idec.talks
hugeping(ping,1) — Andrew Lobanov
2024-10-15 17:03:28


Iiii>> Чтобы не было больших эх. Im.14@@ каждый месяц по несколько тысяч сообщений собирали.

AL> Размер эхи влияет ни на что.

При использовании idec расширений. Если же говорить об ii, то придётся всегда синкать все сообщения. Так что тут смысл есть.

Ну и в теории, если реализация простенькая - большой размер базы может сильно нагружать. Но вот после введения расширений idec которые позволяют сделать адаптивный фетч (как я сделал в ii-go), вопрос по поводу "текучести" эх как часть стандарта - уже не так очевиден.

[>] Re: Некорректные сообщения!
idec.talks
hugeping(ping,1) — iiii
2024-10-16 21:28:55


iiii> В пнрвом случае 9 эх в архиве. Все нужны мало кому

Ты знаешь, мне нравится простота первоначальной ii и мне понятно то, что ты говоришь.

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

Но сейчас живые ноды -- это idec и там проблема ограниченного фетча решена. Я бы даже не побоялся сказать, что idec потерял в простоте и элегантности. Я даже думал о том, что именно можно было бы сделать в ii чтобы решить эту проблему без расширений? Ну например, отдавать список msgid в реверсном порядке. Хотя тоже тут изящность уходит и становится хаком....

Так вот, я это понимаю, но возврат на схему с эхами с датами мне кажется невозможен главным образом из-за орг вопросов. Ну, например. Одна нода сделала idec.talks.24, а прошлый talks убрала в архив. А остальные этого не сделали... Начинается разброд и шатание. То-есть, вся эта штука предполагает некую централизацию организации работы нод. Добиться этого, по-моему, утопия. Причём это было бы утопией даже в ситуации когда все ноды были бы на ii.

В idec, с другой стороны, проще и анархичней. Действительно все обмениваются так как им удобно и всё.

Но я вот ещё что хочу добавить. Технически сейчас можно обмениваться с idec нодами и по ii. Причём по современным меркам, если обмен делать пару раз в день, даже для больших индексов - это копейки. И главное не idec это или ii. Главное, что придя с работы я снова могу почитать нашу сеть! Пусть даже большинство сообщений о технической стороне работы нашей сети. Это здорово! Давайте просто не забрасывать сеть! А возврат к корням ii ты можешь сделать на своей ноде с новой эхой, и вполне возможно что я буду подтягивать её и подчиняться правилам которые ты определишь для этой эхи. Просто не бросай свою ноду. Мне кстати web интерфейс её в эстетическом смысле очень нравится.

[>] Новое лицо ii-go
idec.talks
hugeping(ping,1) — All
2024-10-17 21:46:47


Почему-то потянуло на перемены. В итоге влил сегодня много нового в ii-go репозиторий на github (ветка devel). В том числе и поменял "лицо".

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

[>] Re: Новое лицо ii-go
idec.talks
hugeping(ping,1) — doesnm
2024-10-17 22:41:13


doesnm> У остальных какой-то косплей морды ii
doesnm> -1 выходит?

Там ведь по топикам отображение осталось, как на форуме. Когда кликаешь на 1й странице на заголовок эхи - попадаешь в список топиков как раньше. Ну и сообщение внутри топика по прежнему можно смотреть. Поменял я не ради косплея, а ради путаницы которая была в прошлой реализации. Слишком много там было всего намешано.

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

Ну а так, может и -1 :)

[>] Re: Новое лицо ii-go
idec.talks
hugeping(ping,1) — hugeping
2024-10-17 22:53:17


А так, я наверное напишу что именно меня не устраивало в старом отображении.

1) Иногда сообщения в обратном порядке, иногда - в прямом. Это выносило мозг. Кстати, я понял что это темплейтом не делается. Это реально в коде уже изменил.

2) Когда видишь "форум" и тыкаешь на ссылку, попасть можешь в разных случаях на разное представление. Иногда на "ленточное" иногда на топик. И понять где ты сейчас находишься - тяжело. Это приводило к "пропусканию" сообщений. Например ты тыкаешь на сообщение, попадаешь в топик и не видишь других сообщений свежих в этой эхе. А на главной же сообщения видны только по эхам! Надоело.

3) В текущем варианте (который наверняка ещё будет дорабатываться) такие решения:

- ленты всегда прямые (от старых к свежим), кроме rss лент которые человек не видит :)
- Первый клик на ссылку на сообщение всегда приводит нас на сообщение в "ленточном" представлении Эхи (не в топик), если только это не заголовок топика. И мы видим все новые сообщения вокруг нашего сообщения.
- Второй клик на [>] отправляет нас в топик, мы как бы "схлопываем" ленту. Назад можно выйти только кнопкой браузера или кликнув на эху в заголовке.

Мне пока явно удобнее, чем было. Но есть ещё вопросы. Например, стоит ли обрезать сообщения на главной до какого-то лимита как это сделано в "блог"-представлении.

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

[>] Re: Новое лицо ii-go
idec.talks
hugeping(ping,1) — hugeping
2024-10-18 12:18:52


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

На главной странице есть ссылка "Forum" которая переключит вас в этот режим. Назад вернуться можно только перейдя на главную страницу.

[>] Re: Новое лицо ii-go
idec.talks
hugeping(ping,1) — hugeping
2024-10-20 11:33:46


Новая версия ii-go влита в мастер ветку. Документация обновлена (хотя, конечно, она совсем куцая).

https://github.com/hugeping/ii-go

[>] Re: Новое лицо ii-go
idec.talks
hugeping(ping,1) — hugeping
2024-10-21 01:45:34


Что-то я увлёкся. Влил ещё пачку исправлений. В том числе исправил навигацию в режиме "форума".

Надеюсь, ничего не поломал...

P.S. Когда послылал это сообщение через web, обнаружил ошибку. :) Исправил. Если кто-то что-то заметит, пишите!

[>] Re: First test
idec.talks
hugeping(ping,1) — revoltech
2024-10-22 18:10:46


Сегодня на мою ноду зарегестрировался некий товарищ revoltech.
whois показывает Польшу по старлинку.
Почта: с disroot.org

Я написал на почту вопрос о том, кто это (честный пользователь или бот?) но ответа не получил.
Сейчас вижу что он зарегался на станцию tgi и отправил бессмысленное сообщение.

Я снял фетч со всех станций на всякий случай. Пока посмотрю как "раскроется" данный товарищ.

[>] Re: First test
idec.talks
hugeping(ping,1) — tuple
2024-10-22 18:26:15


tuple> А часто вообще делается такой анализ пользователей? Не флейма ради, а просто интересен администраторский опыт.

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

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

[>] Re: First test
idec.talks
hugeping(ping,1) — tuple
2024-10-22 18:34:54


tuple> Анализ прямо в ii-go есть что ли?

Ну, я настроил некоторое поведение станции на новых пользователей в зависимости от некоторых критериев. Эти критерии естественно я не буду тут раскрывать и в гит их нет.

[>] Re: First test
idec.talks
hugeping(ping,1) — tuple
2024-10-22 18:38:53


tuple> Звучит как вызов к ревёрс-инжинирингу. Шучу.

Там ничего сложного и интересного. :) Даже автобанилка IP-шников совсем не интересная. :)))
Ладно, может быть я и перебдел. Ну, посмотрим...

[>] Битые сообщения от revoltech
idec.talks
hugeping(ping,1) — All
2024-10-22 21:43:44


Вернул фетч и сразу получил пачку битых сообщений, которые сильно попортили отображение на ii-go.

Я откатил бд и снова снимаю фетч на неопределенное время. Видимо, пока не допишу фильтр для фетчера.

Считаю, что станция tgi несёт определенную угрозу в том смысле, что админ видимо совсем не следит за поинтами и эта станция может быть точкой через которую битые сообщения от кого угодно будут просачиваться в сетьт.

[>] Re: ловите теперь спам и набеги :)
idec.talks
hugeping(ping,1) — shaos
2024-10-22 21:25:58


shaos> Похоже таки с лора понабежал как минимум один человек - revoltech :)
shaos> Судя по всему это rebforce с лора:

Ага, ну последим, посмотрим.... (подозрительно косится на revoltech ;)

[>] Re: Битые сообщения от revoltech
idec.talks
hugeping(ping,1) — hugeping
2024-10-22 23:06:11


Добавил ещё пару проверок, часть сообщений теперь считаются инвалидными и просто не фетчатся. Например, битый repto. Часть сообщений заблеклистил. Слежу за ситуацией дальше. :) Фух.

[>] Re: ловите теперь спам и набеги :)
idec.talks
hugeping(ping,1) — doesnm
2024-10-22 23:11:49


doesnm> Кстати если tgi все таки "дефедерируют", то лучше взять поинта у тебя или hugeping?

У обоих. :) На самом деле тут все свои ноды пишут, тоже вариант.

[>] Re: First test
idec.talks
hugeping(ping,1) — shaos
2024-10-22 23:16:09


>> действует презумпция виновности по IP?

shaos> к сожалению интернет в основном населён ботами и спамерами...

К сожалению, ii довольно легко быстро "сломать" битыми сообщениями. Так что да -- я параноик. И конкретно странцию ping несколько раз атаковали. Мне пришлось довольно много всего дописать, чтобы было проще быстро перекрывать атаки. Моя нода - моя крепость. Довольно часто думал вообще убрать регистрацию. Но, как видим, любой узел сети с открытой регистрацией -- точка, через которую битые сообщения могут попасть в сеть и довольно быстро распространиться.

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16