RSS
Pages: 1 2 3 4 5 6 7 8 9
[>] Разработчик токсик или неоправданные ожидания
std.club
hugeping(ping,1) — hugeping
2024-02-03 09:08:23


# Оправдания

Я стараюсь не вступать в споры, особенно в сети. Я также стараюсь соблюдать правило: не отправлять сообщений вечером. Сегодня утром я на свежую голову всё-таки решил, что можно и ответить. :) Потому что получается сообщение на тему "Почему разработчик -- токсик"

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

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

# Откровенность за откровенность

Бесплатно, деньги, суд... Добро пожаловать в опенсорс! Что сказать? Я уже 1000 раз видел "перегоревших" людей, которые ожидали чего-то от меня, от сообщества или кого-то ещё. Так это не работает. Я делал INSTEAD для удовольствия и не ожидал "награды". Но и делать из меня "должника" -- не красиво.

Да, твой "багрепорт" бесполезен. Потому что:
1) Слишком много текста, иногда частично противоречивого. Описание бага должно быть:
- конкретным, лаконичным и формально точным.

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

2) Часть вещей о которых ты говорил оказались не тем, что я думал в начале.
- Начали с DPI которое в гноме 96, но оказалось что это всё-таки не так и масштабирование работает так, как написано. Для меня это "звоночек"-- проблема не в том, что что-то не работает технически, а в том, что тебе не нравится как это работает. А что именно не нравится - я так и не понял. Например "шрифт слишком мелкий" -- ну, что это значит конкретно? Я такое утверждение просто пропускаю, оно для _диагностики_ -- бесполезно. Наверное стоило бы хотя бы скриншоты ситуаций привести с размерами. Типа - размер этого изображения на моем мониторе AxB.

3) Навязывание своих правил игры при ведении дискуссии

Да, я оставляю за собой право не объяснять свои мысли и выводы. Во-первых -- чтобы не обижать. Во-вторых -- я знаю SDL2 и INSTEAD лучше, но чтобы объяснять свои выводы я должен написать кучу всего. Вопрос -- зачем? Если я считаю, что данных недостаточно - я никогда не гадаю -- я просто говорю -- версий нет. Что касается твоих репортов, я пробовал воспроизводить, конечно, нечто подобное. Я даже спрашивал в чате инстед. Но никто мне ничего такого не вспомнил. Я обязан был отчитаться тоже за проделанную работу, чтобы не получить порцию негатива? :)

4) Да, я потратил своё время. Которое мог бы отдохнуть, например. И я его ценю. Оно драгоценно.

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

# Гипотезы по тому, что я понял

Ты просил написать о том, что я думаю по проблемам. Чтобы это обсуждать. Думаю я вот что:

- масштабирование работает так, как задумано
- артефакты отрисовки -- проблема с системной SDL2 или зависимых библиотек
- 100% загрузка даже при движении мыши: либо неправильная диагностика (тормозит в "кнопке" во время кат сцен, но не в обычных играх), либо проблема с системной SDL2.
- ускорение мышки при прохождении окна инстеда. Воспроизвести не смог, возможно следствие смены экрана разрешения + работа SDL - но код инстеда тут не причём и контролировать это я не могу в любом случае (нет смысла вообще рассматривать этот "баг")

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

# Заключение

В общем, это -- я, а не ты разочарован нашим общением. :) Подумай тоже над этим. Собственно, и написал я это всё не для каких-то действий, а так... вдруг. :)

P.S. Давно подумываю о том, что Клуб себя изжил. Возможно, стоит оставить только станцию в gemini. Время форумов - ушло, пора и мне уже на покой.

P.S. Edited: 2024-02-03 09:13:22

[>] Полёты к звёздам
std.hugeping
hugeping(ping,1) — All
2024-02-03 10: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 09:12:54


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

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

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

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

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

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

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

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

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

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

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

[>] Re: Бездна Света
std.game
hugeping(ping,1) — Andrew Lobanov
2024-05-06 08:19:41


Василий, конечно, гигант. По-моему вообще аналогов его игр в ИЛ нет. Техническое исполнение - на высоте. Музыкальное оформление тоже атмосферное. На linux.org.ru в этот раз довольно благосклонная публика :) В общем, удачный релиз.

[>] Re: urlы
ping.local
hugeping(ping,1) — btimofeev
2024-10-01 18:23:59


btimofeev> К примеру, я хочу написать несколько ссылок через запятую https://linux.org.ru, https://opennet.ru(или так https://nethack.org), или пример с точкой https://crawl.develz.org.

Прикол в том, что в урлах могут быть и скобки и запятые и точки. И что угодно. Так что сделать регулярку которая сработает правильно всегда -- невозможно. Я начинал с регулярки, которая не включала в себя знаки препинания в конце и в итоге ссылки на вики отображались часто неправильно.

В итоге я решил что компромисс это включать всё до пробела или перевода строки и просто учитываю это когда размещаю ссылки. Вообще, я бы хотел чтобы стандартом форматирования idec был gmi :)

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


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

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

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


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

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

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

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

[>] Дракон и Башня
std.game
hugeping(ping,1) — All
2024-11-01 22:11:13


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

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

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

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

Дракон и Башня это фентезийная текстовая приключенческая игра.

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

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

https://instead-games.ru/game.php?ID=395

[>] Re: Дракон и Башня
std.game
hugeping(ping,1) — tuple
2024-11-02 07:19:05


tuple> Удивительно качественное сопровождение у игры: свой сайт, достойное описание, даже руководство есть и с инструкцией и прохождением! Пройти можно хотя бы ради этого. :)

Это вообще уникальная игра. Хотел вчера написать, да сил уже не было. Я играл ещё в бету, несколько лет назад. Уже тогда там было офигенное оформление, включая пиксельную (настоящую пиксельную!) графику и анимации... Но не всё было готово.

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

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

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


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

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

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

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

[>] Удалил канал в Telegram
std.hugeping.micro
hugeping(ping,1) — All
2024-11-03 13:42:57


Всё это время у меня шла трансляция сообщений из блога в Телеграм канал "станция пинг".
И всё это время я чувствовал, что это мне мешает. Потому, сначала убрал упоминание этого канала. А вот сейчас, после публикации заметки в gemini окончательно решил его удалить.

Если вы пользовались им, вдруг, прошу понять и простить. Меня он смущал.

[>] Re: Удалил канал в Telegram
std.hugeping.micro
hugeping(ping,1) — tuple
2024-11-03 20:19:44


hugeping>> Если вы пользовались им, вдруг, прошу понять и простить. Меня он смущал.

tuple> Чем смущал? Это из серии "Бегство от шума сети"?

Сложно сформулировать. Но попробую (даже для себя).

Телеграм - это что-то активное. Агрессивное. Навязывающее.

А мне не хочется навязывать свои тексты. Это как с радиоэфиром. Хочешь слушать? Включил приёмник и настроился, слушаешь. А забыл что это вообще существует -- значит забыл. Умер для тебя эфир. Не нужен он тебе. :)

И ещё эта обратная отдача. Я вижу людей: что на канал кто-то подписан, кто-то читает мои посты (счётчики прочитанного). И я неизбежно начинаю чувствовать вредную рефлексию. А интересно ли это? А вдруг надо где-то про канал рассказать? А вдруг надо играть роль? Хочется по другому. Послал волну и всё. Дальше куда дойдёт, туда и дойдёт. А все эти "личные аудитории" -- вроде как лишнее.

[>] Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — All
2024-11-06 07:06:26


# Почему?

Кратко напишу по поводу своего решения выйти из обмена.

Я всегда позиционировал станцию пинг как авторский проект: ii://rOf069UX8K24yAzvWa9N

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

Обмен с другими нодами - элемент "социальности" который, вроде бы, был только плюсом (и так было много лет) Но, ровно до того момента, пока "все друзья".

Федеративная суть idec делает бессмысленной модерацию. Конкретно, последней каплей стали сообщения с матом, которые потекли в сеть из станции https://ii.blcat.ru

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

# Решение

Я принял решение:

1) Оставить только свои эхи на станции
2) Снять фетч всех других станций
3) Сосредоточится на своих заметках/материалах.
4) Всё-таки оставить регистрацию (но теперь она имеет смысл только в рамках общения на самой станции ping)

# Взаимный фетч

Я готов включать взаимный фетч всех своих эх на следующих условиях:

1) В ответ на конкретную просьбу
2) Взаимный фетч я буду снимать при попадании в эху сообщений, которые противоречат политике станции пинг

Политику станции ещё предстоит написать. Но в общих словах, я думаю, будет что-то вроде:

1. Без мата и хамства
2. Без нарушения законодательства РФ
3. В тематических эхах необходимо придерживаться темы
4. Оверквотинг запрешён, в том числе систематическое создание нескольких ответов на одно сообщение

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

Приношу свои извинения поинтам. Надеюсь, что вы меня поймёте. Уверен, что станция shaos всех примет :)

P.S. Edited: 2024-11-06 07:08:36

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — tuple
2024-11-06 07:41:11


https://sprinternet.io/iii-web.php

Насчёт правил. Я не один день думал на эту тему. Даже собирался решать проблему чисто инженерно -- фильтруя fetch запросы. Но, это всё не сработает.

Чтобы правила работали, нужна иерархия. В фидо она была построена естественным образом, в idec она невозможна. В условиях, когда у каждого из нас своё понимание того, чем должна быть сеть - idec будет напоминать вавилонскую башню. Впрочем, я вот дропнулся и, возможно, теперь не буду "мешать" единомышленникам. :)

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — doesnm
2024-11-06 08:04:24


doesnm> [Репост из idec.talks]

Ну, грустно конечно немного. Я ведь тоже ii-go раздавал, когда в лс мне писали и спрашивали про idec. :)

Но, мне кажется, я все правильно сделал. По крайней мере сейчас так это ощущается. Вернусь к тому что я делал: писать код, статьи и игры. А эти "социальные" эксперименты видимо не для меня.

Еще хочу гемени капсулу довести до ума. Есть чем заняться.

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — tuple
2024-11-06 08:43:24


tuple> Не фильтровать, каждая нода сама модерирует своих поинтов по общим договорным правилам.
tuple> Спасибо за ссылку.

Правильно, но поинт пишет сообщение (например, с матом), которое идёт на другую ноду (фетчем) и... что делаем дальше?

Блеклисты, фильтры, редактирование? Это припарки.

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — tuple
2024-11-06 12:13:31


tuple> Так я веду речь о том, чтобы каждый нододержатель самостоятельно модерировал своих поинтов по общему для всех нод своду правил.

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

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — hugeping
2024-11-06 12:36:57


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

Да! Если кто не знал, станция пинг поддерживает xpm :)



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


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

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

Но!

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

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

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

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — tuple
2024-11-06 15:32:56


tuple> Но можно же было не отключать станцию, а ограничиться замечанием для начала. Хотя бы поставить вопрос об общении. Народу-то тут пока не много всё-таки. Договориться всегда можно. Или всё-таки нет?

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

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


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

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

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


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

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

[>] Сигнал
std.hugeping
hugeping(ping,1) — All
2024-11-07 11: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

[>] Про ii
std.hugeping.micro
hugeping(ping,1) — All
2024-11-07 12:14:16


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

- возможность фетчить изменения сообщений (msgid:rev);
- без u/e и слайсов;
- критерий что что-то поменялось (время посл. изменения?);
- всегда полный фетч если хоть что то поменялось.

[>] gemini прекрасен
std.hugeping.micro
hugeping(ping,1) — All
2024-11-08 11:07:02


После долгого перерыва вернулся посмотреть на gemini.

Остался доволен. Пока, среди всего "подполья" -- самый удачный проект, на мой взгляд. Спасибо всем, кто не молчит! :)

Постараюсь чаще давать "контент". Есть мысли написать новую "станцию" gemini, но понимаю, что это очередная ловушка для программиста. Лучше просто подавать сигналы жизни.

[>] Re: Дракон и Башня
std.game
hugeping(ping,1) — tuple
2024-11-08 20:08:10


tuple> Меня - линуксоида - затроллили в этой вашей игре:

Там DOS команды, наверное? А rm работает? :)
P.S. не выдержал и глянул код, да.... (многозначительно)

[>] Re: Дракон и Башня
std.game
hugeping(ping,1) — tuple
2024-11-09 10:21:26


tuple> Но сделана игра хорошо, по-коммерчески качественно, но бесплатная.

Там на http://instead-games.ru отзыв написан под карточкой игры. В принципе, я с ним согласен. Правда я играл в бету ещё, планирую перепройти. Да, в игре нет конфликта но, она как-то умиротворяет. Хочу графику обновлённую заценить.

P.S. Edited: 2024-11-09 13:13:37

[>] Re: urlы
ping.local
hugeping(ping,1) — tuple
2024-11-09 12:46:08


tuple> Дописать в регулярку условие, что в конце ссылки запятой или точки быть не может.

Тогда перестанут работать некоторые ссылки на вики, например. И их вообще никак нельзя будет ввести. :(

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — doesnm
2024-11-09 12:50:30


doesnm> После тебя сегодня ливнул Андрей Лобанов (сисоп таверны)
doesnm> ii://6DaQfNsJWdW4jb9Qo8Ab
doesnm> Сеть потихоньку умирает или еще есть надежда?

Не знаю. С одной стороны, оно существовало последние несколько лет в виде нескольких человек, буквально 3-4. И 2-3 живых станций. Так что, оно вроде и умереть не может, в каком то смысле, ибо и так было мертво. :)

С другой стороны, кто знает?

P.S. А я решил почитать про то, как был устроен nntp... Просто стало интересно.

[>] Re: urlы
ping.local
hugeping(ping,1) — tuple
2024-11-09 12:52:17


tuple> А часто ли бывают ссылки на вики, у которых в конце ссылки запятая или двоеточие? Никогда таких не видел. В середине может быть, но не в конце же.

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

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — doesnm
2024-11-09 12:56:39


doesnm> *Пришел создатель ii
doesnm> Но да, грустненько

Ну моё личное решение это не "демонстративный" уход. Я просто реально понял что мне не по пути. И revoltech и Рома и shaos ... хотят видеть сеть такой, какой мне она не нужна. Я понял что эта "нагрузка" просто мне мешает. Это примерно как с zeronet и прочими "даркнетами". Только gemini стал тем, чем мне хотелось бы. И, что забавно, в том числе благодаря технологической простоте. На гемени сложно сделать "магазин" :) В общем, я просто решил "не мешаться под ногами".

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — hugeping
2024-11-09 13:03:32


hugeping> Ну моё личное решение это не "демонстративный" уход.

Кстати, за это время были люди которые интересовались idec, писали мне лично и даже поднимали свои ноды. Например, один человек из сообщества openbsd пытался сделать что-то на основе ii-go. Но, как я понял, народ просто выбрал "де факто" телеграм. :)

Так что я боюсь, что идея тематических малых сообществ в современном мире -- утопична. Радиолюбители седят в телеграм. Опенбсд сидят в телеграм. Хайку сидят в телеграм. В общем, назад всё это не повернуть. Я думаю, что если бы мы подняли просто nntp сервера в этом, возможно, было бы больше смысла... типа "реставрация".

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

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — doesnm
2024-11-09 13:32:44


doesnm> Весь материал это текстовый файл? А ты не смотрел на twtxt?

Слышал, но не смотрел. Но уже после того как сделал ii-go, так что уже не было большого смысла куда-то дёргаться.

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — tuple
2024-11-09 14:13:12


tuple> А почему не SMTP? Уже есть готовые вещи как mailing lists. Как пример: https://lists.sr.ht/~sircmpwn/sr.ht-discuss

Хочу посмотреть как там решаются похожие проблемы. mailing list немного другое.

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — tuple
2024-11-09 18:04:24


tuple> Но переводы строк немного странные, не каждый редактор их отобразить сможет. Фрагмент

Да уж, сделали бы тогда через escaping. Например \n - перевод строки. А \ -- \\.

[>] Re: Станция ping уходит из сети idec
ping.local
hugeping(ping,1) — doesnm
2024-11-09 22:11:51


doesnm> символ 10 (\n) используется для разделения постов. Для новых линий в посте используется \u2028

Символ 10 в текстовом редакторе виден как перевод строки. А символы \n - это два символа. Буквально бекслеш и буква n. Это эскейпинг. В таком случае, чтобы ввести бекспейс нужно будет два бекспейса.

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


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

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

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

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

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

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

Предварительно нужно создать на mail.ru пароль для imap: https://account.mail.ru/user/2-step-auth/passwords/

Затем создаём файл 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, или Яндекс) пытается стать таким компонентом-"агентом" -- прослеживается. Искренне надеюсь, что у них ничего не получится.

P.S. Edited: 2024-11-10 09:40:24

[>] Gemini на микроконтроллере
std.hugeping
hugeping(ping,1) — All
2024-11-24 13:37:00


Моим первым компьютером был БК0010-01. 16Кб памяти. 300 тысяч операций в секунду. Два бита на цвет. Он дал мне первое опьянение (чувство эйфории смешанное с деперсонализацией). С тех пор меня тянуло к компьютерам и ко всему, что было на них похоже.

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

Когда появились КПК, я собрал себе коллекцию КПК.

На ipod nano я написал прошивку, которая позволяла мне читать книжки на крошечном экране. Зачем? Потому что это тоже был компьютер.

А потом пришли смартфоны.

Сначала казалось, что это те же самые КПК только лучше.

Потом рынок решил что "маленькие компьютеры с клавиатурами" никому не нужны. Постепенно смартфоны превратились в устройства-экраны для "потребления". Привязались к онлайн "сервисам". Обзавелись банковскими приложениями. Стали обязательным атрибутом жизни. И я стал презирать смартфоны. Смартфоны больше не мои друзья. Скорее -- шпионы.

Хотелось вернуться к старым друзьям. Устройствам с простой прошивкой которые делают именно то, что ты говоришь им делать и не следят за тобой. К настоящим "компьютерам", которые не требуют твоего рабства как плату за мнимый комфорт.

В этой заметке я хочу описать те устройства с которыми я "поиграл" за последнее время.

# Technointeres Arduino клавиатура на ESP32 C3

Клавиатура для ардуино (UART) и ПК (bluetooth) на ESP32 C3. Русская + английская раскладка. -- так назывался лот на aliexpress.

https://aliexpress.ru/item/1005005764316991.html -- больше нет в продаже.

Можно сказать что это тот самый мини-КПК на контроллере с клавиатурой и маленьким (но всё же не крошечным) экраном 240x240. С wifi и bt. Питается от 18650. Прошивается напрямую через usb type-c. Отличная платформа для опытов!

Пока устройство ко мне шло я начал было читать даташит на контроллер, но быстро понял, что писать всё на низком уровне я не буду. Время БК0010-01 ушло. Современные микроконтроллеры - те же процессоры. В рамках экосистемы Arduino создан слой абстракции с которым действительно проще "сразу взять и написать" не занимаясь написанием ОС. Например, когда в Arduino IDE создаётся прошивка для ESP32 на самом деле в неё прошивается и FreeRTOS. А наша прошивка - лишь задача, запускаемая в этой ОС.

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

https://github.com/technointeres/V3-ESP_KEYBOARD_RU_EN

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

Код пишется на C++. Я много раз встречал упоминание, что это НЕ C++. Возможно, когда люди говорят подобное они имеют в виду отсутствие stl библиотеки и поддержки современных стандартов. Но для системного программиста это настоящий С++ в режиме "Cи с класами"... ;)

В итоге появилась прошивка, которая содержала в себе:

- клиент gemini;
- просмотрщик картинок с zx-art.ee;
- irc клиент.

https://github.com/hugeping/arduino-technointeres-fw

Кстати, пока писал клиента gemini столкнулся с различной интерпретацией стандарта разными серверами. Особенно в части относительных ссылок типа ../. Пришлось городить нечто "среднее". Ещё раз понял, что не надо бояться уточнять детали стандарта.

Вторая проблема - tls. Из коробки для esp32 был только tls 1.2. Большинство капсул работает и по 1.2, но, например gemini://gemlog.stargrave.org похоже жёстко требует 1.3. Впрочем, даже когда я собрал со сторонней библиотекой, которая поддерживает tls 1.3, капсула stargrave по-прежнему рвала соединение. Так что причина может быть в чём то ещё. Например, в каких то жёстких настройках. Не знаю.

Устройство интересное. Правда, я сразу же сжёг ему контроллер заряда. :) Но главным недостатком для меня оказалось то, что у него нет корпуса. Можно сказать что это фича. Но всё-таки, его уже не бросишь "просто в карман".

И тут на глаза подвернулся другой девайс...

# Cardputer

Устройство можно купить на aliexpress. Внутри ESP32-S3 контроллер. Хороший корпус. Игрушечная, но всё-таки клавиатура. И... экран в 1.14" :)

Я не буду описывать целевую аудиторию этого устройства и его возможности. Cardputer достаточно популярен и о нём можно почитать в интернете. А для меня это был просто очередной "маленький компьютер". Конечно, я его заказал...

Штатная прошивка полностью бесполезна и её можно воспринимать только как технологическую демку. Я начал портировать свою прошивку с прошлого устройства заодно пытаясь отвязаться от кучи ненужных библиотек и лишних слоёв. Сделал подобие многозадачности (например, можно запускать irc-клиента в фоне) и функции "органайзера" - когда по netcat можно заливать и считывать текстовые заметки. Добавил repl питона -- теперь устройство можно было использовать в качестве калькулятора. В целом, вышло симпатично.

https://github.com/hugeping/cardputer-fw

Кстати, тут я уже использовал arduino-cli чтобы не запускать Arduino IDE и просто вызывать make. Конечно, это не лучший способ разрабатывать под Arduino, но так было проще "сразу начать".

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

Потом я охладел к игрушке и многие функции остались нереализованными. Например, можно было сделать диктофон, тюнер, поддержку sd-карточки. Может быть я ещё вернусь к этим задачам (например, тюнер был бы полезен "в быту"). Но даже сейчас иногда читаю капсулы в gemini на cardputer и это приносит удовольствие и умиротворение. :)

Если бы только размер экрана был хотя бы в 2 раза больше...

# r36s

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

Меня эти консоли не сильно привлекают именно в плане retro-gaming. Эти устройства мне интересны с точки зрения любительского софта. Конечно, формат устройства предполагает, что это будут главным образом игры.

Когда я изучал ассортимент этих устройств я понял, что они не одинаковы именно с точки зрения любительской разработки. Например, miyoo mini очень неплоха с точки зрения потребительских свойств, но по определённым причинам для неё мало именно любительского ПО. С другой стороны, есть устройства которые работают под управлением ArkOS (фактически, Ubuntu для arm), что делает портирование игр крайне простой задачей. Существует проект, который предоставляет возможность грубо (но эффективно) делать сборки с "портируемым" ПО. Фактически, мы запускаем виртуалку, собираем проект и кидаем бинарник на устройство. Потом обвязываем его скриптом запуска.

https://portmaster.games/games.html

Я бы сказал, что по наполнению там уже больше портов, чем было в своё время для canoo и подобных устройств. Обратите внимание, что в разделе Devices нет miyoo.

Для miyoo тоже есть возможность создавать порты, но их гораздо меньше. Вероятно, это связано с особенностями портирования.

https://github.com/OnionUI/Ports-Collection

Конечно же, я сразу "портировал" свой движок rein и запустил на r36s свою игру.

https://github.com/hugeping/rein

Работает отлично. Изменений в кодовую базу практически не вносил, кроме мелких настроек в Lua части (более гибкий масштаб экрана к разрешению).

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

# Другие устройства

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

## playdate

Очень стильная игровая самобытная консоль с монохромным экраном. Но очень дорого.
https://play.date/

## arduboy

Забавная миниатюрная игровая консоль с монохромным экраном 128x64.
Как выглядят игры можно посмотреть здесь: https://arduboy.ried.cl/
Можно купить на aliexpress за вменяемые деньги. Предпочёл cardputer.

## uConsole

Прикольный маленький linux компьютер. Иногда можно купить на aliexpress. https://www.clockworkpi.com/uconsole
Не очень интересно, потому что там просто Linux. И не думаю что удобен в "практическом" смысле.

## T-Deck-ESP32 S3 Blackberry

Конструктор в виде контроллера + экрана + клавиатуры от BB. Интересный вариант. Если бы не заказывал до этого cardputer, возможно, поиграл бы с этой штукой.

https://aliexpress.ru/item/1005007938506565.html

# Заключение

Конечно, в интернете можно найти много DIY устройств, но в большинстве случаев они недоступны в формате "закажи и используй". Жаль что "компьютеры" больше никому не нужны. И даже смартфон с клавиатурой -- экзотика на которую придётся раскошелится. Я часто слышу, что экранная клавиатура в режиме набора свайпом -- более эффективна. Я даже не спорю с этим. Просто снисходительно улыбаюсь. Они не поймут.

А я _точно_ знаю -- мы должны чувствовать свои компьютеры.

P.S. Edited: 2024-11-24 15:02:57

cardputer.png
[>] О чтении
std.hugeping
hugeping(ping,1) — All
2024-11-30 12:07:34


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

Причём, кажется, что только если я начну, то скорее всего "разогреюсь" и чтение меня увлечёт как раньше. Но -- не начинаю. Сейчас я на втором томе "Дон Кихота", но прогресс почти стоит на месте. Причём сама книга мне нравится. Я сажусь в метро. Включаю читалку в смартфоне и ... выключаю. Усталость, невозможность сосредоточиться.

Неужели дело лишь в наличии более доступных "развлечений"?

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

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

Компьютерные игры стали нашей виртуальной жизнью (говорю в основном о MMORPG). Эскапизм приключенческих книг и даже игр вроде DOOM образца 1993 года и рядом не стоял по влиянию на нашу _реальную_ жизнь. Они прочно подсаживают нас на эндорфиновые качели и ты уже сам не понимаешь, нравится ли тебе эта "виртуальная жизнь" или ты -- её заложник, вынужденный подключаться снова и снова...

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

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

Когда в интернете стали появляться торренты (тогда ещё) либрусека, я был впечатлён объёмом. Мне казалось очень горьким, что такое количество книг невозможно прочитать за жизнь. Значит, надо не терять времени, искать! Искать лучшее и читать. Где лежит тот скачанный архив я даже не помню.

Надо всё-таки добить "Дон Кихота"...

donquixote.png
[>] Re: О чтении
std.hugeping
hugeping(ping,1) — boscholeg
2024-11-30 16:39:46


boscholeg> Как поживает твоя малина? Сколько она уже работает без перерыва?
boscholeg> 3 года или больше?

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

[>] Re: О чтении
std.hugeping
hugeping(ping,1) — boscholeg
2024-11-30 16:41:45


boscholeg> Мода прошла. Останутся только те для кого это действительно призвание. И те кто смогут состояться в жизни занимаясь этим.

Да, может и так. Выглядит вполне правдоподобно. Тем более, что молодых системщиков я встречаю. Но за судьбу тех же BSD* все-таки беспокоюсь. :)

[>] Снова про отладку
std.hugeping
hugeping(ping,1) — All
2024-12-07 07:29:05


На работе произошёл забавный случай во время отладки.

В какой-то момент работы с дебаг-прошивкой менялся файл /etc/passwd. Вернее, ссылка /etc/passwd ведущая в rw-область заменялась настоящим файлом /etc/passwd. И мы не понимали какой компонент это делает.

В итоге я решил просто поискать в бинарниках прошивки всё, что содержит строку "/etc/passwd".

Обнаружился elf-файл 'zellij' ( https://zellij.dev/ ) которого в прошивке быть не должно. Это разработчик положил для своего удобства. После запуска zellij действительно ссылка /etc/passwd заменялась файлом. Радости не было предела! Ведь zellij написан на Rust! Хотел тут же писать статью на эту тему (очерняющую Rust, естественно).

Но реальность оказалась прозаичней. Запуск zellij выполнялся скриптом с машины разработчика, скрипт помимо прочего делал по ssh sed на /etc/passwd (связано с особенностями удобства отладки прошивки). sed убивал ссылку, так как был запущен без параметра --follow-symlinks. То, что /etc/passwd находился в прошивке zellij - оказалось лишь совпадением.

Этот пример наглядно показывает пользу отладки, даже если она исходит из ложных предпосылок. Бывало у нас возникали споры с коллегами, когда я предлагал эксперимент не предоставляя гипотезу, которую эксперимент призван опровергнуть или доказать. Ведь правильная с виду идея состоит в том, чтобы сначала полностью проработать гипотезу, а потом уже делать эксперимент. Я с этим не согласен. Эксперименты в IT обычно дёшевы и приносят новые данные-улики которые в свою очередь могут вывести разработчика на верный след. Как в нашем примере, когда абсолютно ложная гипотеза стала толчком к исследованию, которое и привело к пониманию происходящего.

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

[>] Re: Снова про отладку
std.hugeping
hugeping(ping,1) — boscholeg
2024-12-09 07:50:06


boscholeg> У вас что-то на подобии OpenWrt? Очень интересно как устроены такие крохотные системы.
boscholeg> Можешь порекомендовать что почитать? Или может сам расскажешь чего или статью напишешь?
boscholeg> Было бы очень интересно почитать.

Что читать -- не знаю что посоветовать. Слышал, кто-то Linux From Scratch хвалил в этом плане. https://www.linuxfromscratch.org/ Позволяет понять как всё работает в Linux-системах вместе.

А так, существуют "готовые" конструкторы. Тот же buildroot, yocto и openwrt. Но в принципе, Linux и Linux. :)

[>] О systemd
std.hugeping
hugeping(ping,1) — All
2024-12-14 09:55:45


У меня была заметка про случай с systemd, но в блоге я её не публиковал. Кроме того, за последующие годы накопились другие случаи из практики. Поэтому решил собрать этот материал в одном месте.

Для начала, оригинальное сообщение из 2020 года.

## Удаление IPC при logout

Привет!

До последнего относился к деятельности Поттеринга с пониманием. Прогресс дело такое. Linux давно уже сложная система, systemd неизбежен -- думал я.

Пока не коснулось моей работы. Несколько лет у нас периодически падала сборка, в момент работы fakeroot. Отлаживали faked, пытались разнести во времени сборки -- результата не было. Наконец, когда за одну ночь сборка упала 5 раз я не выдержал и попытался в очередной раз найти причину.

Помог гугл. Оказалось, что systemd стирает объекты IPC при log-out пользователя из системы. А на систему сборки периодически ломились наши боты, проверяя статус сборки итд.

В общем, RemoveIPC=no в /etc/systemd/logind.conf помог. По крайней мере, три дня уже всё чисто.

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

Как вообще могло придти в голову стирать что-то там при logout? Удивительно, что /tmp не затирается...

В общем, признаюсь себе честно -- Linux больше не система моей мечты. Я разочарован и удручён. Похоже, Plan9 и BSD системы -- это мой удел на старости лет. Linux -- система для выполнения утилитарных вещей и это моя работа. Но сказать, что мне нравится выбранный курс развития -- категорически не могу. Linux стал слишком "взрослым". Sad but true...

## Удаление "временных файлов"

> "Удивительно, что /tmp не затирается..."

Как наивен я был!

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

Разрабатываемая embeded-система работала около месяца, а потом у неё отваливалась подсистема конфигурации. Когда это произошло во второй раз я сразу подумал о systemd. Ведь работало это удаление "как часы". Заглянул в /etc/systemd/tmpfiles.d и... чего только там нет! Я не помню что именно он стирал, но сам факт, что на работающей автономно системе какой-то компонент начинает вдруг стирать чужие файлы (например, в /var/tmp) по ему одному ведомой причине -- это просто за гранью добра и зла.

Если вы по прежнему считаете, что это "правильное направление" (ведь речь идёт о "временных" файлах) то... вот: https://www.opennet.ru/opennews/art.shtml?num=61403

> ... опция "--purge" удаляет все файлы и каталоги, созданные через настройки tmpfiles.d, но название "tmpfiles" в названии утилиты вводило в заблуждение и создавало впечатление, что удаление касается только временных файлов. При этом настройки tmpfiles.d не ограничиваются временными файлами и также используются для автоматического создания несуществующих каталогов с данными. В частности, удаление содержимого домашних каталогов объясняется тем, что при помощи файла "/usr/lib/tmpfiles.d/home.conf" создавался раздел "/home" и, соответственно, команда "systemd-tmpfiles --purge" приводила к его удалению.

То-есть, tmpfiles это уже не временные файлы. :)

Кстати, в 257 приладили "костыль" чтобы сгладить проявления своего архитектурного пути: https://www.opennet.ru/opennews/art.shtml?num=62380

> В systemd-tmpfiles во избежание ошибочного удаления не тех файлов опция "--purge" теперь применяется только к настройкам в tmpfiles.d/, для которых явно выставлен флаг "$"


## Встроенные fallback-сервера

Следующая проблема. По умолчанию в systemd встроены адреса fallback dns и ntp серверов. То есть, если вы ничего не настраивали система всё равно будет долбиться на какие-то сервера "из коробки". Казалось бы, должна быть опция отключить это. И действительно, в манах есть кое-что на эту тему. В том числе описание приоритетов каталогов systemd с конфигурационными файлами. Я сейчас не помню деталей, но полностью "выжечь" обращение к внешним серверам зашитым где-то внутри мне удалось только патчем на код. После нескольких безуспешных попыток решить это конфигурационными файлами. Вещь в себе.

## Старт с ro-раздела

systemd не рассчитан на старт с ro-раздела. В systemd есть код, который адаптирован к этой ситуации (например, делает bind /etc/machine-id на файл в /run), но в целом - он не готов. Причём просто так поменять-задать местоположение rw-данных мы не можем -- все эти "/etc" зашиты прямо в код. В итоге в embeded-среде принят подход (рекомендован Поттерингом) с монтированием rw-оверлея /etc/ в initramfs _до_ запуска systemd, что снова выглядит дикой дичью. Неужели сложно было параметризовать эти вещи с самого начала? Снова патчим systemd...

## Баги и эффект чёрного ящика

Баги в реализации. Я встречался с некоторыми багами, которые ведут в .c часть. Например, некорректное слежение за состоянием интерфейса по netlink (код не был рассчитан на "нестандартную ситуацию" и принимал один тип сообщений за другой). Не помню уже как именно это проявлялось, скорее всего что-то связанное с dns серверами и маршрутами полученными по dhcp. Понятно, что "C" код для администратора это чёрный ящик и исправить что-то "на месте" практически нереально. В отличие от систем, где каждый компонент может быть заменён и их взаимодействие прозрачно. Здесь же есть "вещи в себе" которые или работают или нет.

## Заключение

Не могу сказать что в systemd присутствует только плохое. Когда компоненты работают без ошибок (и сюрпризов!), в целом, пользоваться этим удобно. Сложность "запрятана" в сам systemd. Мне в целом нравится тот же journald -- возможностью выборки по unit, а не только по facility/priority.

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

Тем не менее, не зависимо от того любите ли вы systemd или нет, если вы работаете с Linux - вам придётся с ним познакомиться (рано или поздно).

[>] Re: О systemd
std.hugeping
hugeping(ping,1) — doesnm
2024-12-15 11:44:42


doesnm> Читая пост возник только один вопрос: а почему systemd вообще используется в embedded? Каких-то своих узкоспециализированных решений нет?

Смотря что понимать под embedded. Ведь часто это "обычный линукс" работающий на спец. железе. И там тоже нужен тот же udev, например. Который давно есть часть systemd. :) Вообще, systemd постепенно всё глубже проникает в экосистему и с определённого момента проще расслабиться и плыть в струе мейнстрима... ;)

[>] Re: О systemd
std.hugeping
hugeping(ping,1) — doesnm
2024-12-15 13:14:31


doesnm> Линукс-то обычный, но у меня ассоциации embedded с очень слабым железом и поэтому systemd кажется немного пушкой по воробьям. Да и вроде как есть тот же eudev

Слабое железо тоже уже давно не слабое... Ну взять хотя бы домашние роутеры. Нормальное там железо. И с systemd система будет быстрее скорее всего загружаться. :) Так что это даже довод ЗА systemd как это не парадоксально. eudev как не крути вещь вторичная. А так, конечно, можно. Но в целом, можно и systemd в какой-то части использовать. Вопрос - что выбрать. В том же https://buildroot.org/ systemd есть как опция.

[>] Коломбо
std.hugeping.micro
hugeping(ping,1) — All
2024-12-20 09:58:09


Когда бытовые проблемы переполняют стек нашёл для себя "умиротворяющие" фильмы. Как ни странно это:

- Наш Шёрлок холмс;
- Сериал Коломбо.

Включаю и расслабляюсь! Надо бы ещё найти что-то подобное, но пока так и не смог. )

[>] Солярис
std.hugeping
hugeping(ping,1) — All
2024-12-21 08:42:05


"Солярис" который снял Тарковский очень не нравился Лему. Это хорошо известный факт. Принято считать, что Тарковский проинтерпретировал роман Лема "по своему" и фильм имеет мало общего с авторским замыслом. Причём, сам Лем это говорит открытым текстом:

> К этой экранизации у меня принципиальные возражения. Во-первых, я хотел бы увидеть планету Солярис, но, к сожалению, режиссёр не предоставил мне такой возможности, поскольку делал камерное произведение. А во-вторых ..., он снял совсем не «Солярис», а «Преступление и наказание». Ведь из фильма следует лишь то, что этот паскудный Кельвин доводит Хари до самоубийства, а потом его за это мучают угрызения совести, вдобавок усиливаемые её новым появлением...

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

Я охотно принимал это мнение, тем более что читал я роман очень давно (лет 20 назад) и помню, что он оставил после себя некоторое "суховатое" послевкусие материализма. Но недавно в одной из бесед на тему Соляриса я понял, что мне стоит освежить в памяти роман и перечитал его. И пришёл к интересным для себя выводам.

Я читал и не верил своим глазам:

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

Что это, как не рассуждения о совести? (Это не безумие, Крис. Тут что-то с совестью... -- цитата уже из фильма).

А это?

> — Ты не Гибарян.
> — Да? А кто? Может быть, твой сон?
> — Нет. Ты их кукла. Но сам об этом не знаешь.
> — А откуда ты знаешь, кто ты?

Как то неожиданно встретить такую "метафизику" в НФ произведении, в котором сам автор пытается откреститься от всякой "мистики". Да и драматическая часть с Хари в романе очень сильна.

Интересно, что после выхода Соляриса Содерберга (в котором, кстати, Солярис тоже показан скорее как бесконечный океан, а не планета), реакция Лема была ещё более жёсткой:

> Содерберг сделал «Солярис» — я думал, что худшим был «Солярис» Тарковского... Я не предполагал, что этот болван, извините, режиссер, выкроит из этого какую-то любовь, это меня раздражает. Любовь в космосе интересует меня в наименьшей степени. Ради Бога, это был только фон...

Только фон... Если это "фон", то что же "не фон"? Неужели соляристика и рассуждения о проблематике встречи с "непознаваемым"?

Кстати, пока читал книгу заметил, что с точки зрения сюжета Тарковский довольно близок к оригиналу! Я даже решил, что дело здесь именно в том, что я читаю книгу уже после интерпретации Тарковского. Но... разве это что-то меняет?

Так что вывод после прочтения я могу сделать только один: "В романе есть всё то, что ругает сам Лем". Вопрос только в акцентах.

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

В книге есть момент, когда Кельвин решает улететь с Хари со станции. Снаут напоминает, что вторая Хари всё ещё находится в ракете:

> Та ракета, которую ты запустил... она всё ещё на орбите. В свободное время я даже определил элементы её движения. Можешь полететь, выйти на орбиту, приблизиться и проверить, что стало с... пассажиркой.
> ... Кого хочешь осчастливить? Спасти? Себя? Её? Которую? Эту или ту? На обеих смелости уже не хватает? Сам видишь, к чему приводит это! Говорю тебе последний раз: здесь ситуация вне морали.

И вот здесь, возможно, мы видим эту "выколотую точку". Для Лема ситуация - повод показать "абсурд" морали перед "вещью в себе". Перед лицом "последнего предела" мы бессильны разобраться: где право, а где лево. Однако, для идеалиста "последний предел" может быть наоборот, утверждающим. Кто такая настоящая Хари? Та что умерла на Земле? Вторая -- в ракете? Или текущая? Хари - это всё. И прошлое, и будущее и настоящее. И в памяти Кельвина -- тоже настоящая. Тут нет проблемы, потому что утверждается бытиё в более фундаментальном смысле.

А вот разочарование от книги было вызвано "развязкой". С одной стороны, довольно высокий накал:

> — Ах, ты абсолютно не понимаешь, о чём речь. Скажи мне, ты... веришь в бога?

> Он быстро взглянул на меня.

> — Ты что?! Кто же в наши дни верит... В его глазах тлело беспокойство.

Тут даже это "беспокойство" вроде бы намекает на Адама, который скрылся от "лица Господа Бога между деревьями рая". С другой стороны, сразу после этого идут рассуждения, которыми Лем как буд-то бы "глушит" ту самую "мистическую" часть, от которой ему самому вдруг становится неуютно.

Очень необычное и глубокое произведение. В нём есть дуализм. Возможно, для самого Лема "Солярис" оказался неожиданным открытием.

> Все романы типа «Солярис» написаны одним и тем же способом, который я сам не могу объяснить... Когда Кельвин прибывает на станцию Солярис и не встречает там никого, когда он отправляется на поиски кого-нибудь из персонала станции и встречает Снаута, а тот его явно боится, я и понятия не имел, почему никто не встретил посланца с Земли и чего так боится Снаут. Да, я решительно ничего не знал о каком-то там «живом Океане», покрывающем планету. Всё это открылось мне позже, так же, как читателю во время чтения, с той лишь разницей, что только я сам мог привести всё в порядок.

solaris.png
Pages: 1 2 3 4 5 6 7 8 9