RSS
Pages: 1 ... 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 ... 70
[>] Re: Трансляция моего блога в ЖЖ и в Telegram
std.hugeping
Andrew Lobanov(tavern,1) — boscholeg
2021-01-26 11:26:54


boscholeg> Ну что-то ты раскис совсем. Галстук завязывать - это как на велеке кататься.

Вот, кстати, не согласен. Галстук я последний раз завязывал перед свадьбой. Недавно возникла необходимость завязать, а не помню! А вот на велике помню отлично. Минуты две я повихляю и еду спокойно.

[>] МЕТАПАРСЕР 1.10
std.club
hugeping(ping,1) — All
2021-01-29 13:38:28


Обновлён модуль МЕТАПАРСЕР3.

Новое:
* mp:pager_mode() experiment;
* for_plural is documented;
* #Drop splitted in #Drop and #Insert;
* use less memory while compiling dict;
* all mp.msg.* can be functions;
* home/end keys while edit line;
* bugfixes.

https://instead3.syscall.ru/page/metaparser/

[>] Re: Трансляция моего блога в ЖЖ и в Telegram
std.hugeping
hugeping(ping,1) — hugeping
2021-01-30 00:15:48


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

[>] Re: Трансляция моего блога в ЖЖ и в Telegram
std.hugeping
vvs(ping,12) — hugeping
2021-01-30 02:13:12


А у меня блокировали мой единственный пост в reddit. Я там всего лишь поделился своим недоумением по поводу отказа от поддержки 32-битных архитектур, с моим мнением, почему этого не стоит делать. Первые несколько дней у меня было всего несколько процентов поддержки и масса хейтеров. Однако, через какое-то время процент поддержки внезапно вырос до 30 и пост сразу заблокировали. Обоснование модератора: мои высказывания о производителе ОС были недостаточно уважительны. Даже не знаю, что это означает - матом ругаться я не привык. На коленях надо было лобызать им сапоги? Я просто плюнул и ушел. Судя по тому, что я вижу в прессе, так сейчас везде. Свобода слова во всей красе. Ну и пес с ними.

[>] Переход с Atom на RSS
ping.local
hugeping(ping,1) — hugeping
2021-01-30 13:05:18


В связи с проблемами в некоторых читалках, заменил трансляцию лент с Atom на RSS.

Также добавил недокументированную фичу - лента с новыми топиками. Например:

https://hugeping.tk/echo+topics/std.hugeping

Если что, сообщайте. :)

[>] Re: Трансляция моего блога в ЖЖ и в Telegram
std.hugeping
hugeping(ping,1) — hugeping
2021-01-30 14:06:07


В общем, свобода свободой, но всё довольно-таки грустно.

1. В своё время, приложение для VK с приложением для метапарсера не прошло модерацию в формулировке "не интересно".

2. Товарищи из ЖЖ молча удалили трансляцию моего блога. API я их не мучал, залил все статьи в первый день и 4 дня трансляций не было.

3. В Zen для импорта RSS с сайта нужно, чтобы у каждой статьи была картинка минимум 300px. Но, это ладно, можно сделать (и даже - сгенерировать из банка). Но главное, трансляция невозможна без:
- монетизации;
- вставки js кода;
- одобрения "интересности" контента (тут смотрим на пп.1)

Теперь мне понятно, почему из сети пропали интересные мне материалы. Единственное, что остаётся, существовать в подполье (или закрываться).

[>] Re: Переход с Atom на RSS
ping.local
hugeping(ping,1) — hugeping
2021-01-31 00:38:52


Короче, ещё сильнее всё расколбасил. Надеюсь, ничего не сломал... :)

[>] Re: Переход с Atom на RSS
ping.local
hugeping(ping,1) — hugeping
2021-01-31 12:01:30


Теперь появился режим блога. В чём отличие этого режима?

- топики сортируются в порядке создания автором, а не последнего комментария;
- в виде ленты с небольшим фрагментом текста;

Сделал https://syscall.ru редиректом на мой блог.

[>] Re: Трансляция моего блога в ЖЖ и в Telegram
std.hugeping
hugeping(ping,1) — hugeping
2021-01-31 21:26:19


Сделал трансляцию своего блога в gemini. gemini://hugeping.tk
Не спрашивайте меня, зачем. Не спрашивайте -- что это такое.

Это просто факт. :)

[>] Re: Трансляция моего блога в ЖЖ и в Telegram
std.hugeping
Andrew Lobanov(tavern,1) — hugeping
2021-02-01 06:48:29


hugeping> Сделал трансляцию своего блога в gemini. gemini://hugeping.tk

Не открывается. Только gemini://syscall.ru доступен :)

[>] Re: Трансляция моего блога в ЖЖ и в Telegram
std.hugeping
hugeping(ping,1) — Andrew Lobanov
2021-02-01 07:53:36


hugeping>> Сделал трансляцию своего блога в gemini. gemini://hugeping.tk

AL> Не открывается. Только gemini://syscall.ru доступен :)

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

[>] Re: Трансляция моего блога в ЖЖ и в Telegram
std.hugeping
Andrew Lobanov(tavern,1) — hugeping
2021-02-01 08:34:49


hugeping>>> Сделал трансляцию своего блога в gemini. gemini://hugeping.tk
AL>> Не открывается. Только gemini://syscall.ru доступен :)
hugeping> В некоторых клиентах (амфора) и правда, ругается на сертификат. Вероятно, придется более сложный сервер поднимать, чтобы можно было несколько сертификатов использовать.

И правда. Lagrange просто ругается на сертификат, но ресурс открывает.

[>] Re: Трансляция моего блога в ЖЖ и в Telegram
std.hugeping
boscholeg(ping,5) — hugeping
2021-02-01 09:25:00


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

[>] Re: Трансляция моего блога в ЖЖ и в Telegram
std.hugeping
hugeping(ping,1) — boscholeg
2021-02-01 09:48:51


boscholeg> Спрашивается, кто дал право решать, что кому интересно, а что нет.

Ну в случае VK, понятно. Парсерные игры "не радуют". :) Сегодня текст -- это не круто. На самом деле, грустное явление.

boscholeg> Надо искать единомышленников и дербанить Яндекс петициями.

На Яндекс Zen я в итоге не сунулся даже. Так что и петиции писать нет смысла. :) Там просто ориентация на коммерцию сразу же.

boscholeg> Появляется идея некоей "неподконтрольной" общественной площадки. Но вот как её организовать?

Мне не нравится слово "неподконтрольная". Все мы видим, какой контент в основном присутствует в даркнетах, например. Нет, я бы озвучил проблему так:

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

Ну, как бы, и ладно. Не очень то и хотелось. У меня есть "станция ping", этого достаточно.

[>] Re: Трансляция моего блога в ЖЖ и в Telegram
std.hugeping
hugeping(ping,1) — Andrew Lobanov
2021-02-01 09:49:39


AL> И правда. Lagrange просто ругается на сертификат, но ресурс открывает.

Сегодня сделал 2 сертификата, всё вроде заработало!

[>] Потерянный Internet
std.hugeping
hugeping(ping,1) — All
2021-02-01 11:35:34


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

Начал смотреть другие площадки и понял, наконец, простую истину. Все они ориентированы на коммерцию. Например, трансляция сайта в Zen предполагает монетизацию с самого начала. Кроме того, на свой сайт ты должен поместить js код. Для трансляции RSS в Facebook тоже нужно что-то вроде "бизнес" аккаунта. Для твиттера нужен телефон и перевод аккаунта в новый статус. В общем, везде я натыкался на вот это вот: "продвижение", "бизнес аккаунт", "маркетинг". Потом вспомнил ситуацию с моими парсерными играми в VK, которые не были одобрены с формулировкой "не привлекательны для пользователей"...

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

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

Тогда я снова обратил внимание на #fideverse. И лично для себя пришёл к выводу, к которому прихожу каждый раз, когда возвращаюсь к этой теме. А слежу я за ней давно, ещё с появления Diaspora. В общем, главная ошибка fediverse-движения -- это попытка копировать современный Web2.0. Смысл понятен. Смотрите, у нас мастодон как твиттер, только лучше! Беда только в том, что "обычным" и "нормальным" людям уютно находиться в золотой клетке. Технические особенности их не волнуют. А законы распространения и поддержки контента -- одинаковы и в fideverse и в коммерческом вебе! Только в твиттере "всплывает" одно, а в мастодоне -- другое. А так, ну то же самое: мемасики, мат, политические лозунги, прочий флуд... Формат способствует. Ориентироваться надо не на "обывателя".

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

В общем, в качестве жеста отчаяния я снова спустился в "подполье" и поднял "капсулу" в gemini. Что такое gemini? https://gemini.circumlunar.space/

Кратко, это "исправленный" до необходимого минимума gopher. В частности, UTF-8, разметка в виде упрощённого markdown и поддержка tls (хотя, лично моё мнение, tls -- это уже лишнее). Для просмотра страничек есть свои браузеры и web-прокси. Есть поисковая система.

gemini появился не так давно, но стремительный рост числа клиентов и серверов вдохновляет! Клиенты есть и под Plan9.

В общем, такой экстремальный дауншифтинг в сеть, в которой есть только информация. И честно говоря, мне это нравится. Я бы сказал, что станция ping пытается следовать тем же ориентирам. IDEC и gemini прекрасно дополняют друг-друга! Я предлагаю вам посмотреть на gemeni самим. По крайней мере это любопытно. А любопытство, надеюсь, у нас ещё осталось. :)

До связи!

А ниже я написал немного информации для старта.

# Браузеры

* lagrange -- изумительной красоты браузер с фронтендом на SDL2. Сейчас пользуюсь именно им. https://github.com/skyjake/lagrange
* amfora -- консольный браузер. Неплохо выглядит, но lagrange -- красивее и удобнее.
* deedum -- для Android. https://play.google.com/store/apps/details?id=ca.snoe.deedum&hl=en&gl=US

# Серверы

Смотрел серверы на go. Их много. Я запомнил два.

* brown-molly -- похоже, "стандарт" сервера. https://tildegit.org/solderpunk/molly-brown
* net-gemini -- очень маленький, использую его со своими изменениями https://github.com/jackdoe/net-gemini

# Сертификаты

Сначала боялся, что придётся морочиться с letsencrypt. Но нет, gemini признаёт самоподписанные сертификаты. Поэтому, просто:

openssl req \
            -x509 \
            -out somesite.tk.cer \
            -keyout somesite.tk.key \
            -newkey rsa:2048 \
            -days 3650 \
            -nodes \
            -sha256 \
            -subj '/CN=somesite.tk' \
            -extensions EXT \
            -config <( printf "[dn]\nCN=somesite.tk\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:somesite.tk\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth" )
somesite.tk заменить на FQDN своего ресурса.

# Разметка

Подмножество маркдауна. Есть секции (#). Есть преформатированный текст (```). Есть список (*). Ссылки оформляются особым образом. По одной на каждой строке. Подробности: https://gemini.circumlunar.space/docs/specification.html

# Поднимаем статический сервер

Создаём каталог с файлами .gmi. Стартовый файл обычно называется index.gmi (может зависеть от сервера, но пока все серверы, что я смотрел, работали именно с index.gmi). Генерим ключ и сертификат и запускаем сервер. И это всё! Теперь свою "капсулу" стоит добавить в gemini://gus.guru

Вы можете раздавать картинки и другие файлы, просто создайте на них относительные ссылки в .gmi файле:

=> /images/cat.png Тут котик!

Картинки отлично смотрятся в браузере lagrange!

# Некоторые ресурсы

* gemini://gus.guru -- поисковик
* gemini://wp.glv.one -- Википедия (прокси?)
* gemini://hugeping.tk -- станция ping

P.S. Пока я писал это сообщение, от техподдержки ЖЖ пришёл ответ. В общем, кросспостинг возможен только с помощью "профессионального" пакета. Прекрасная иллюстрация, правда? :)

P.S. Edited: 2021-02-01 09:16:04

[>] Re: Потерянный Internet
std.hugeping
hugeping(ping,1) — hugeping
2021-02-01 12:15:58


Пока я писал это сообщение, от техподдержки ЖЖ пришёл ответ.
В общем, кросспостинг возможен только с помощью "профессионального" пакета.

Прекрасная иллюстрация, правда? :)

[>] Re: Потерянный Internet
std.hugeping
vvs(ping,12) — hugeping
2021-02-01 15:41:42


"Всякую революцию задумывают романтики, осуществляют фанатики, а пользуются ее плодами отпетые негодяи." Т.Карлейль

Это относится и к интернету тоже. Лучше общаться с конкретным человеком.

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

[>] Re: Интересные ресурсы
plan.9
hugeping(ping,1) — hugeping
2021-02-02 16:25:44


Описание rc на русском:

http://doc.cat-v.org/plan_9/translations/russian/papers/rc

[>] Re: Потерянный Internet
std.hugeping
vvs(ping,12) — hugeping
2021-02-02 17:24:01


hugeping> Мы отвыкли читать, думать. Отвыкли от тишины. Не знаю как вы, а я за собой это отчётливо замечаю. Современный веб разрывает сознание на околки, за каждый из которых ведётся отчаянная борьба маркетоидов.

А вот, кстати, в чем разница между публикацией в сети и в печати? Книга рассчитана на читателя, а пост в социальной сети - на комментаторов. "Чукча не читатель - чукча писатель" (бородатый анекдот). Я бы сказал, что подобная разница существует и между библиотекой и базаром. Ну, так и где вероятней появление торговцев и рекламы? Можно, конечно засунуть рекламу и на обложку книги, но эффект будет уже не тот - нет обратной связи, т.е. таргетирования аудитории. У меня есть несколько знакомых, вовлеченных в сетевой маркетинг. А раньше были нормальные люди. Такие площадки способствуют возникновению мотивов для вовлечения людей в потребительство и борьбу за власть, что не случайно, КМК.
P.S. Edited: 2021-02-02 14:24:37

[>] Re: Потерянный Internet
std.hugeping
hugeping(ping,1) — vvs
2021-02-02 19:24:34


vvs> А вот, кстати, в чем разница между публикацией в сети и в печати?
vvs> ... Такие площадки способствуют возникновению мотивов для вовлечения людей в потребительство и борьбу за власть, что не случайно, КМК.

Да, есть о чём подумать. :)

[>] Re: Потерянный Internet
std.hugeping
boscholeg(ping,5) — hugeping
2021-02-02 22:11:00


Будет еще полезная информация не забудь поделиться.

[>] Цензура на станции пинг
ping.local
hugeping(ping,1) — All
2021-02-03 16:24:00


Сегодня я заблеклистил одно сообщение. За всё время это 2-й или 3-й случай (не считая технических блокировок). Точно не помню.

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

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

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

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

К сожалению, я несу ответственность за присутствие ресурса в сети.

Если вам необходим доступ к сообщениям без цензуры и вас не устраивает данная ситуация, используйте другие узлы.
P.S. Edited: 2021-02-03 13:26:42

[>] Re: Цензура на станции пинг
ping.local
vvs(ping,12) — hugeping
2021-02-03 17:05:36


Прогрессивная общественность уже выехала в поисках твоего дворца, золотого унитаза и батона :)

[>] Запуск нового экземпляра acme в plan9port
plan.9
hugeping(ping,1) — hugeping
2021-02-05 00:48:59


Если запустить acme из plan9port, а затем попробовать запустить его снова, то получим ошибку, вроде такой:

> 9pserve: announce unix!/tmp/ns.peter.:0/acme: Address already in use acme: can't post service: 9pserve failed

Поэтому, у меня есть простой скрипт, который запускает acme если он ещё не был запущен. А в последующие разы открывает файл через plumber в уже существующем экземпляре acme. Выглядит скрипт так:

#!/bin/sh
9

PAGER=nobs
MANPAGER=nobs

# Default font for Plan 9 programs.
font=/mnt/font/GoMono/14a/font

# Equivalent variables for rc(1).
home=$HOME
prompt="$ "

# if you want to use rc instead of your shell within acme, uncomment the following line
shell=rc

user=$USER

export \
    font\
    home\
    shell\
    prompt\
    user\
    PAGER\
    MANPAGER

if ! pidof plumber >/dev/null; then
	plumber
fi

if pidof acme >/dev/null; then
	plumb -d edit "$@"
else
	acme -f /mnt/font/Iosevka/14a/font "$@" &
fi

Но иногда хочется все-таки запустить ещё один (или не один) acme! Оказывается, это возможно!

#!/bin/sh
export NAMESPACE=`mktemp -d /tmp/acmeXXXX`

9

PAGER=nobs
MANPAGER=nobs

# Default font for Plan 9 programs.
font=/mnt/font/GoMono/14a/font

# Equivalent variables for rc(1).
home=$HOME
prompt="$ "

# if you want to use rc instead of your shell within acme, uncomment the following line
shell=rc

user=$USER

export \
    font\
    home\
    shell\
    prompt\
    user\
    PAGER\
    MANPAGER

plumber "$NAMESPACE"
acme -f /mnt/font/Iosevka/14a/font "$@"
for p in `pidof plumber`; do
	if cat /proc/$p/cmdline | grep -q "$NAMESPACE"; then
		kill $p
		break
	fi
done
rmdir $NAMESPACE

Скрипт запустит столько acme, сколько понадобится.

[>] Re: Обновления ii-go (движка узла ping)
ping.local
hugeping(ping,1) — hugeping
2021-02-05 15:57:48


В ii-go влиты внутренние изменения. Пристально смотрим на стабильность работы. :)

1) ii-gemini для генерации блога gemini
2) ii-tool sort и дополнительные ключи выборки
3) внутренние изменения, которые должны улучшить скорость.

[>] Re: Потерянный Internet
std.hugeping
hugeping(ping,1) — boscholeg
2021-02-05 22:07:35


Есть такой вот проект: https://flounder.online/
Это хостер gemini страничек для тех, кто не хочет/может поднимать свой сервер.
Странички смотрят в gemini:// и в web по https. Выглядят вполне симпатично:

Например: https://maple.flounder.online/

Так что, если кто хотел, но стеснялся, ленился или просто не мог -- можно создавать контент прямо сейчас. :)

P.S. Это не единственный хостер, но выглядит просто и симпатично.

[>] Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2021-02-08 11:49:55


Приём игр завершён.
Всего прислали 16 игр!

Игры опубликованы: https://forum.ifiction.ru/viewtopic.php?id=2593

На страницах игр можно играть, писать комментарии, отзывы, и ставить оценки. Голосование продлится до 21.02.2021 г.

[>] Бороздим интернет без браузера
std.hugeping
hugeping(ping,1) — All
2021-02-08 11:53:07


После погружения в gemini и создания своей "капсулы" в нём, мне стало интересно сделать какие-то свои сервисы. Сначала, я прикрутил прогноз погоды по данным METAR-станций. Потом -- добавил поиск по Библии. И тут я понял, что формат gemini просто идеален для использования его как простого интерфейса для личных сервисов!

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

В Plan9 нет (и не может быть) современного браузера. Почему его не может быть, хорошо описано здесь: https://habr.com/ru/post/541196/ Это сильно пересекается с моей заметкой о ненастоящей победе open source: ii://HZhphc84EsazyASVPck3 Поэтому, в Plan 9 я уже сталкивался с ситуациями, когда мне приходилось делать запросы к веб-ресурсам руками, чтобы авторизоваться, получить нужную информацию в удобном виде и т.д. Но каждый раз это была уникальная ситуация.

А что если совместить всё? Формат gemini -- как чистая выдача. Прямые запросы -- для получения той информации сети, которая нужна. Очищенная от тонн мусора. Оформление полученного инструмента как утилит командной строки, для применения их прямо в acme, а также в виде сервисов gemini! Это может быть интересно!

Есть ситуации, когда сайт предоставляет свой контент через rss. Здесь всё понятно. Но таких сайтов немного. Особенно тех, которые предоставляют в ленте статьи целиком. Есть ситуации, когда сайт отдаёт свои данные по общедоступному rest API. Но это тоже не является общей ситуацией и требует детального изучения этого API. Поэтому я начал с утилиты, которая бы делала GET запрос и вытаскивала из HTML только те узлы документа, которые мне нужны.

Написал, конечно же, на go: https://github.com/gl00my/clearweb/tree/master/htmlcut

Утилита крайне простая! Мы просто задаём тип элемента, одно из ключевых свойств и режим поиска: regexp/совпадение/нахождение подстроки. Если какой-то узел попал в выборку, то в неё же попадёт и все вложенные элементы. Не смотря на свою примитивность, оказалось, что таких функций достаточно. Добавив режим отрицания логики и запуская утилиту в UNIX-конвеерах я смог получать дистиллированный текст статей из: живого журнала, хабра, stackoverflow...

У нас есть текст статьи, но читать его с html тегами невозможно. На github я нашёл утилиту html2gmi и оказалось, что она отлично работает!

Я почистил её от лишних мне функций, и немного поменял для нужного мне поведения: https://github.com/gl00my/clearweb/tree/master/htmlgmi

В качестве примера работы утилит в связке, приведу пример чтения статьи на habr:

curl -s "$1" | htmlcut -val '(post\_full|comment\_\_message|user\-info\_inline)' -regexp | htmlgmi -m -n

А вот фрагмент выдачи для статьи, которую я упоминал выше:

Увидев вот эту публикацию [8] про браузерные войны, я хотел было написать альтернативное наблюдение за тем, как мы докатились до такой жизни. Но Дрю ДеВолт уже всё сказал за меня.

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

С помощью wget я скачал все 1217 спецификаций W3C [9], опубликованных на текущий момент 1. Существенная часть из них должна быть реализована в браузере, чтобы современный веб работал. Я подсчитал объём этих спецификаций. Как думаете, насколько сложен современный веб?

=> https://habr.com/ru/post/541180/ [8]
=> https://www.w3.org/TR/ [9] спецификаций W3C

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

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

Но сначала нужно было решить проблему с поиском. Мне нужно было искать в acme! Ну, или из консоли.

В gemini на капсуле Толстоевского gemini://rawtext.club/~tolstoevsky/ я узнал о таком метапоисковике как searx, который использует в своей работе google, duckduckgo и так далее. При этом, он не собирает телеметрию. SearX показался мне очень удобным и для начала я просто прогнал его выдачу через свои утилиты:

curl -s -X POST -F 'q='"$q" -F 'category_general=1' -F 'pageno='"$page" https://search.fedi.life/search | htmlcut -val '(result.content|external.link|result.header)' -regexp | htmlgmi -l 0 -m -n

Результат понравился:
INSTEAD [1]
http://instead-hub.github.io
Instead | Definition of Instead by Merriam-Webster [2]

=> http://instead-hub.github.io [1].

Просто абзац текста, ссылка. Абзац текста, ссылка. Где то на этом моменте я начал плакать от умиления. Но парсинг HTML вывода это всё-таки грубо. Почитав про API SearX я узнал, что можно получать выдачу прямо в RSS! И написал ещё одну примитивную программу на go, которая делает всю работу:

https://github.com/gl00my/clearweb/tree/master/searx

Итак, мечта сбылась. Я могу искать в интернете откуда угодно. Из консоли. Из acme. На сервере gemini. И мне не нужен браузер!

Теперь не составило труда оформить поисковик в виде gemini сервиса. Что я и сделал. gemini://hugeping.tk/searx

Я немного увлёкся, и проксировал вывод выдачи на stackoverflow.com так, что теперь можно искать статьи и читать их не уходя из gemini.

Скрипт вывода статьи на stackoverflow получился таким:
curl -s "$1" | htmlcut -val '(js\-post\-body|answers\-subheader)' -regexp | htmlcut -val '(js\-filter)' -regexp -not | htmlgmi -l 0 -m -n

Узнавать нужные элементы вёрстки удобно в инспекторе Firefox.

Что дальше?

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

Главное открытие, которым я хотел поделиться в этой статье, состоит в том, что победить интернет можно и это не так сложно, как кажется на первый взгляд! Да, в выдаче большинства ресурсов находится 99% шлака, но вырезать %1 нужного контента -- посильная задача. И вдруг оказывается, что доступ к нужной информации в веб не обязательно предполагает запуск браузера и приём тонн мусора в свою голову. Эта мысль вдохновляет и поощряет на дальнейшие эксперименты.

> Но на вершине самой высокой и неприступной скалы сидят золотой и красный дракон. Кто это? А это банковские сайты и госуслуги. Удастся ли приручить и их? Пока страшно об этом даже думать, правда? :)

P.S. Edited: 2021-02-09 06:27:39

[>] Re: Бороздим интернет без браузера
std.hugeping
vvs(ping,12) — hugeping
2021-02-08 16:10:54


youtube-dl же. Если удалось вытащить все из youtube, то можно все. Но какой ценой? Тот-же youtube-dl новые версии вынужден делать очень часто. И каждый раз надо реверсить все новые хитрости гугла. Столько усилий оправдано только большим спросом на видео. Стоит ли бороться с каждым отдельно взятым банком?

[>] Re: Бороздим интернет без браузера
std.hugeping
artur(ping,3) — hugeping
2021-02-08 19:32:00


>Главное открытие, которым я хотел поделиться в этой статье, состоит в том, что победить интернет можно и это не так сложно, как кажется на первый взгляд!

>победить интернет

Это современный жирный или вообще?=)

[>] Re: Бороздим интернет без браузера
std.hugeping
hugeping(ping,1) — artur
2021-02-09 16:05:14


>>победить интернет
artur> Это современный жирный или вообще?=)

Это я скорее, как фигура речи. :)

[>] Re: Бороздим интернет без браузера
std.hugeping
artur(ping,3) — hugeping
2021-02-09 21:41:30


А, понял.

С каждым месяцем всё больше убеждаюсь, что таскать "чисто текст" не так уж и неудобно. Вот и гемини удобный...
На подобные настроения подбивает слабый интернет, жирные популярные сайты (ВК, сервисы Google, например).
А пост в закладочки добавлю, лишним не будет=)

[>] INSTEAD 3.3.3
std.club
hugeping(ping,1) — All
2021-02-10 14:14:41


Выпустил INSTEAD 3.3.3.

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

* добавлен параметр темы scr.col.brd (цвет бордюра);
* поддержка RTL (при сборке с _USE_HARFBUZZ и новым SDL_ttf);
* добавлен флаг instead.tiny в минимальной версии;
* готовность сборки с emscripten 2.0.12;
* gtk3 сборка включается по умолчанию;
* параметр сборки APPIMAGE;
* новая реализация анимированных gif (из движка удалён LGPL код);
* возможность сборки с lua5.4;
* исправления ошибок.

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

Творите с удовольствием. :)

[>] Re: INSTEAD 3.3.3
std.club
artur(ping,3) — hugeping
2021-02-10 16:58:45


>добавлен параметр темы scr.col.brd (цвет бордюра);

Это, грубо говоря, рамочка вокруг картинок?

[>] Вирт о простоте
std.hugeping
hugeping(ping,1) — hugeping
2021-02-11 11:14:41


http://oberon2005.oberoncore.ru/paper/fatprog.pdf

Просто, чтобы не потерять.

[>] Re: INSTEAD 3.3.3
std.club
hugeping(ping,1) — artur
2021-02-11 13:15:36


>>добавлен параметр темы scr.col.brd (цвет бордюра);
artur> Это, грубо говоря, рамочка вокруг картинок?
Это облась, которая возникает при масштабировании всей темы. Например, квадратная тема на широком мониторе. Справа и слева будут полосы. Теперь этот цвет можно задать.

[>] Re: INSTEAD 3.3.3
std.club
artur(ping,3) — hugeping
2021-02-11 21:23:40


О, не зналь. Здорово=)

[>] Залечь на дно
std.hugeping
hugeping(ping,1) — All
2021-02-13 22:13:09


Уже давно заметил, что после выпуска очередной игры, период подъёма и эйфории сменяется чувством полного опустошения. И ситуация с игрой "Луна-9" не стала исключением. Хотя мне и казалось, что на этот раз я работал относительно "спокойно" и вообще стал гораздо более толстокожим... Не сработало.

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

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

И мне нечего возразить ему, этому здравому смыслу. Творчество иррационально и убыточно.

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

В этот раз я решил ещё раз сбросить с себя ненужные мне сетевые связи. Покинул большинство чатов в Discord, Telegram. Ушёл из ФИДО. Закрыл проект "чат-метапарсер". Это были парсерные игры в виде чат-ботов для VK, Telegram, Discord. Кроме того, я не писал о своей игре на linux.org.ru, gamin.ru и dtf.ru... Но всё-равно, накрыло...

Сейчас мне кажется, что "Луна-9" моя последняя игра. Пора возвращаться в реальность. Убрать лишний мусор. Залечь на дно...

[>] Сергей Павлов
std.hugeping
hugeping(ping,1) — hugeping
2021-02-13 22:39:05


Чтобы не забыть: Прочитать "Лунная Радуга"

[>] Re: Залечь на дно
std.hugeping
vvs(ping,12) — hugeping
2021-02-14 00:12:52


Ну, эти вопросы многим знакомы :) Вот прямо только что я обсуждал похожую тему о смысле существования и о признании. Мой ответ такой: нам при жизни не дано правильно оценить свои усилия, поэтому надо следовать своей интуиции. Если ты считаешь, что это нужно *тебе*, а ты не дурак, то найдутся люди, которые, возможно, это оценят. Все равно, в процессе творчества ты сам чему-то учишься - это главное. А самое рациональное - это не забыть вовремя поесть. Но чему новому при этом можно научиться? Мозгу нужна непрерывная работа. Творчество - это процесс познания мира и самого себя. По-моему, важнее этого ничего быть не может. А понимают ли это абсолютно все люди, так ли это важно? Тут не следует смешивать сам смысл существования и понимание его другими людьми. Лично мне моя жизнь представляется вполне осмысленной, но это не означает, что я пребываю в постоянном самодовольстве. Но иногда можно почувствовать себя счастливым.

[>] Re: Залечь на дно
std.hugeping
hugeping(ping,1) — vvs
2021-02-14 00:36:09


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

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

[>] Re: Залечь на дно
std.hugeping
vvs(ping,12) — hugeping
2021-02-14 02:36:46


У меня в жизни тоже бывали периоды безразличия и депрессии. Что называется "выгорание".

Я вот заметил, что на мою мотивацию угнетающе действует однообразие. Поэтому, по мере возможности, стараюсь переключаться на разные занятия - так жизнь кажется полнее. Но тут встречается одна проблема: чтобы результат не получился слишком поверхностным и неудовлетворительным, требуется гораздо более широкое образование. Вот я и пытаюсь временами расширять свой кругозор, развлекаясь - заниматься самообразованием. Похоже главное при этом - не плыть беспорядочно по течению, а стараться как-то выстраивать все свои интересы последовательно. Так глядишь - они будут взаимно дополнять друг друга. А иногда достаточно и просто расслабиться, почитать интересную книгу ("Лунная радуга" подойдет) или даже найти необычную игру :) Мне вот когда-то понравилась логическая головоломка incredible.pm, но это на любителя.

[>] Re: Сергей Павлов
std.hugeping
boscholeg(ping,5) — hugeping
2021-02-14 10:53:00


Я как-то наблюдал такое явление в горах. На красной Поляне. Не скажу что очень уж завораживающее зрелище.
P.S. Edited: 2021-02-14 07:53:08
Это я про Лунную радугу

[>] Бороздим интернет без браузера #2
std.hugeping
hugeping(ping,1) — All
2021-02-14 20:30:21


В прошлый раз я погорячился, когда сказал, что раздача контента по RSS -- редкость. Конечно, не редкость. Если посмотреть на исходный код главных страниц многих веб-ресурсов, то очень часто можно найти заветную ссылку с типом application/rss+xml. Я начал с простой утилиты на go, которая бы забирала rss ленту и выводила её в формате gemini разметки. Утилита rss2gmi лежит там же, где и остальные утилиты: https://github.com/gl00my/clearweb/tree/master/rss2gmi

Я испытал её на некоторых ресурсах и понял, что придётся усложнять. Например, некоторые сайты отдают ленту в которой в полях description находится html-разметка. Кроме того, вместо UTF-8 могут использоваться другие кодировки.

После небольших доработок я успешно испытал rss2gmi на:

* linux.org.ru - https://www.linux.org.ru/section-rss.jsp?section=1
* opennt.ru - https://www.opennet.ru/opennews/opennews_all_noadv.rss
* hype.retroscene.org - https://hype.retroscene.org/rss/index/
* форуме ifiction.ru - https://forum.ifiction.ru/extern.php?action=active&type=RSS
* interfax.ru - https://www.interfax.ru/rss.asp
* hugeping.tk - http://hugeping.tk/echo/all/rss


Но была ещё одна проблема. В acme окно всегда прокручивается в конец вывода. Поэтому, после запуска скрипта показывающего ленту, нужно было отматывать текст назад. А это -- неудобно! Решение, конечно, лежало на поверхности. Добавить опцию -r для реверсного показа ленты. После добавления этой опции, просмотр лент стал именно таким, каким я его хотел видеть. Например, для просмотра новостей opennet я просто запускаю скрипт opennet из acme и вижу что-то вроде:

## Выпуск Wine 6.2, Wine staging 6.2 и Proton 5.13-6 [38]

Состоялся экспериментальный выпуск открытой реализации WinAPI - Wine 6.2. С момента выпуска версии 6.1 был закрыт 51 отчёт об ошибках и внесено 329 изменений.

=> https://www.opennet.ru/opennews/art.shtml?num=54570 [38]

Если новость меня интересует, я нажимаю на ссылке и открывается браузер. Удобно! И в большинстве случаев -- никакого браузера! И никакой читалки RSS на qt или gtk. А в Plan9 это вообще единственный возможный способ для меня.

Сегодня многие пользуются для почты веб интерфейсом gmail/mail.ru и другими. Но это, конечно, не наш путь. Несколько последних лет я использую gnus в emacs. Забор почты может осуществляться mpop/imapsync. При этом письма просто помещаются в каталог в формате Maildir. Отправка -- msmtp. Для поиска нужных сообщений я использую mu. Mu позволяет делать выборку нужных сообщений и показывать их прямо из Maildir. И конечно, с помощью mu можно автоматизировать показ нужных писем прямо в acme!

Например, мне нужно следить за рабочим багтрекером. Я нажимаю на "кнопку" bugs в acme и получаю список последних ошибок! В теле писем есть ссылки. Я могу нажать на нужную и перейти к нужному багу. Скрип выглядит просто:

mu find from:Mantis --fields "l" -s "d" | tail -n $num | while read f; do mu view --nocolor "$f";done

Твиттер и mastadon я читаю скриптами, которые вызывают bti и toot -- консольные клиенты твиттера и мастадона.

Поиск, новости, чтение почты и твиттера... И всё это не выходя из acme. Жизнь налаживается! Acme -- действительно мощный интерфейс, легко настраиваемый под собственные задачи. И он очень помогает в борьбе с shit-вебом.

[>] Re: Бороздим интернет без браузера #2
std.hugeping
johnbrown(ping,9) — hugeping
2021-02-14 21:13:39


feed43.com создает рсс любой страницы, иногда даже лучше, чем родной. Серверный аналог (не проверял) https://github.com/shafihuzaib/hfeeds

Вообще, рсс много где есть: на гитхабе, хабре, яндексе.

[>] Re: Бороздим интернет без браузера #2
std.hugeping
vvs(ping,12) — johnbrown
2021-02-15 01:59:39


johnbrown> Вообще, рсс много где есть: на гитхабе, хабре, яндексе.

И хочется в рай, да грехи не пускают... Если бы они еще и работали, цены бы им не было. А вот попробуйте найти RSS URL для PR и issues на гитхабе. Ан нету :(

Да, всегда можно использовать сторонние клиенты, API или сервисы, но они имеют привычку ломаться. Впрочем, как и поддержка RSS на самих серверах: сегодня есть, завтра глючит, послезавтра сдохла :(

Но голь на выдумки хитра, конечно :)

[>] Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2021-02-15 16:29:27


Срок голосования за игры продлён до 27.02.2021 г. (включительно; время московское).

[>] Мысли о Луне
std.hugeping
hugeping(ping,1) — All
2021-02-15 19:21:40


Я собирался написать заметку о процессе создания своей последней игры "Луна-9" после завершения конкурса ЗОК. Но вдруг заметил, что очень быстро стал забывать те интересные нюансы о которых собирался написать. Поэтому не стал тянуть и вот -- вы читаете эту статью. В этот раз я решил написать всё максимально честно. В том числе, затронув религиозные мотивы. Если вы атеист и вам неприятна эта тема -- не стоит читать эту заметку.

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

Игра доступна по адресу https://instead.itch.io/moon9 Дальше будут раскрыты нюансы сюжета, которые могут сильно испортить впечатление об игре.

# Мечты о Луне

Я не помню точно как именно я вышел на лунную тему. Ассоциативный ряд здесь может быть длинным. Название скриптового языка "Lua" (который используется в INSTEAD) переводится с португальского как "луна". Луна связана с ночью, тайной, снами, другой реальностью. Луна одновременно близкая и далёкая. Последний раз человек был на Луне в 1972 году. Прошло уже почти 50 лет -- время целого поколения. Почему так вышло? Неужели человек и здесь продал (и предал) свою мечту? В общем, я смотрел видеосъёмки лунной поверхности с телескопов, записи посадки Апполонов. Читал книги по лунной программе. Смотрел на Луну. Думал о ней. И начал записывать идеи в текстовый файлик, который редактировал в acme в ОС 9Front (форк Plan9).

Когда я читал книги по лунной программе, меня поразило одно из воспоминаний последнего астронавта на Луне. Что испытывает человек попавший в другой мир? Мир, который не видел ни один человек до тебя. А потом вернулся домой, чтобы остаться там навсегда. Как ты будешь существовать, пережив такой опыт? Зная, что самое значительное событие в твоей жизни навсегда осталось в прошлом.

Это наблюдение можно воспринимать в разных смыслах, в том числе и в духовном. Представляя в своём воображении унылый чужой пейзаж изрытый кратерами, видя в чёрном небе голубую Землю, я на яву чувствовал тоску, страх и трепет перед тайной.

# Сюжет

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

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

Мир снов и реальность связаны между собой. Для починки излучателя нужны действия как во сне, так и в нашем мире. Главный герой соглашается помочь и начинает действовать сразу в двух мирах. Собирая излучатель во сне, он выполняет реальные действия как "лунатик" и в нашем мире. Он довершает то, что не закончила прошлая вахта -- постепенно разбирает станцию на запчасти...

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

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

# ЗОК

Объявили ЗОК. Я не люблю писать игры на конкурсы и обычно не делаю этого. Но меня поразило совпадение: среди тем-якорей была "девушка в короне" и мне показалось это забавным. Вообще, начиная с этого момента игру начали сопровождать интересные совпадения. Например, совершенно случайно я назвал игру "Луна-9". Почему? Я изучал материалы по проекту лунной базы "Луна семь". https://spacelin.ru/luna-sem/prezentatsiya/ Учитывая время событий, я решил называть вахты по номерам: 7, 8, 9. По моим расчётам, экспедиция должна была стать 9-й вахтой. Поэтому "Луна-9". Но в этот период времени я увлёкся ОС Plan9! И в названии игры тоже была девятка! Потом, когда опубликовали игры конкурса, Луна-9 оказалась под номером... 9! После этого я просто решил расслабиться и ни чему не удивляться.

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

Начинал писать игру я на eee PC под управлением ОС Plan9, в консольной версии instead-метапарсера. Но потом перешёл на Linux-ноутбук помощнее. Правда, код игры всё-равно писался в acme из plan9ports. И это был интересный и полезный опыт, потому что я и сейчас пишу текст этой статьи в acme.

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

# Полёт

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

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

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

# Метаморфозы сюжета

Больше всего мне не давал покоя эпизод с ссорой. К чему он? Как пришло озарение я не помню. Но я вдруг осознал, что если это игра про сны, то герой должен встретиться не только с принцессой, но и с женой. Ситуация с сюжетом напомнила мне ещё одну игру -- "Проводник". "Проводник" начинался просто с ситуации и для меня самого раскрылся только к середине игры. Как это произошло -- я не знаю.

После этого, фрагменты начали складываться. Во-первых, я отказался от сложностей. Отрезал всё лишнее. Я понял, что газ (облако, которое мешало посадке) и есть причина странных явлений с сознанием. (Газ появился раньше, чем я понял зачем он нужен). Во-вторых, я понял, что лунная принцесса должна бить по слабым местам главного героя. Что она -- лишь инструмент действия злых сил, которые, кстати, называют себя в игре "легион". Это из Евангелия.

> Мк.5:8-9: Ибо Иисус сказал ему: выйди, дух нечистый, из сего человека. И спросил его: как тебе имя? И он сказал в ответ: легион имя мне, потому что нас много.

Чтобы показать тот факт, что герой сам создал принцессу и впустил её в своё сердце, появился постер.

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

По замыслу именно жена спасла героя. Помогла ему увидеть себя, увидеть "их" в своём сердце и сделать их существование невозможным. После этого, пройдя через метанойю, Лариса и Борис оказываются как бы в "раю". Этот "рай" их общий опыт. Он останется с ними навсегда и поможет им преодолеть кризис отношений. Цветочная поляна -- мой любимый момент в игре. Там описаны многие декорации, которые, вероятно пропускаются игроками. Но для меня эта сцена стала очень личной. Один из символов -- белый голубь. Аллюзия на Святого Духа. Чтобы подчеркнуть реальность сцены на поляне, она сопровождается единственной цветной картинкой из всей игры.

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

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

# Концовка

Было три варианта концовки. В первом варианте (он есть в истории git) после финального пробуждения героя, Александр отвечает на большинство вопросов прямым текстом. Концовка позитивна и не даёт большой свободы интерпретации. Меня эта концовка не удовлетворила.

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

Третий вариант отличается от второго тем, что из диалога Ларисы и Бориса мы узнаём, что они оба видели одинаковый сон. Именно этот вариант присутствует в релизе.

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

# Музыка

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

# Тишина

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

# Руководство

Зато в этот раз я сделал к игре настоящее руководство в pdf. С хорошей вёрстко и иллюстрациями. Правда, его всё-равно никто не читает. :)

# Интерпретации

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

# Выводы

Их нет. Я просто сделал то, что сделал. Надеюсь, "Луна-9" найдёт свою аудиторию. А мне остаётся -- лишь ждать и надеятся, что игра написана не зря.
P.S. Edited: 2021-02-15 17:12:34

[>] Re: Игра R01
std.game
Andrew Lobanov(tavern,1) — boscholeg
2021-02-16 07:26:20


Ох как здорово отвечать в прошлое :) Надеюсь, Олег это прочтёт.

boscholeg> Это прямо какой-то супер-блиц.

Это да.

boscholeg> Я думаю критикой Андрея не испугать. Он и так знает, что ему скажут и почему.

Критики бояться - игр не писать.

boscholeg> Все-же выскажу:

И это правильно.

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

Рисовать это не моё. Искать художника было некогда.

boscholeg> Отсутствует некая предыстория. Думаю тут просто не хватило времени.

Тут могу только предложить аналогию с литературным жанром. Формат рассказа зачастую не подразумевает наличие внятной предыстории.

Отвечая за одно и Петру, мне часто нравились такие обрубленные концовки в старых сборниках фантастических рассказов. Были такие советские альманахи НФ по годам.

boscholeg> Игра очень быстро кончилась я не успел даже разыграться как следует.

Нанотреш. Рассказ в форме игры. На несколько страничек буквально.

boscholeg> Наличие счета немного смутило. Не ясно зачем он и к чему мотивирует.

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

boscholeg> С музыкой получилось непонятно. Трек состоит из вдух музыкальных тем и вторая тема несколько противоречит по настроению первой.

Там просто два трека. Они как раз старательно подбирались под настроение частей :)

boscholeg> Андрей большой молодец его работы всегда заставляют игрока живо реагировать и испытывать целый спектр эмоций. Я к тому-же с удовольствием разглядываю исходники. Игра может войти в список игр для МШВ и вполне сгодится для первого знакомства с жанром у подрастающего поколения.
Я аж зарделся :)

Pages: 1 ... 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 ... 70